jmoenig
fc256e9e72
Remove terminated processes from expired clones
2014-12-17 09:41:21 +01:00
jmoenig
0a239b703c
yield after each cycle in the experimental “forEach” primitive
...
thanks, Bernat, for reporting this bug!
2014-12-11 14:17:29 +01:00
jmoenig
ad1fe34d1e
Experimental “ForEach” primitive (hidden in dev mode)
2014-12-04 15:45:18 +01:00
jmoenig
17b6ae839b
Improve edge-collision detection of default sprite “arrow” shape
2014-12-03 12:48:31 +01:00
jmoenig
320bfd0c99
Fixed #656
...
make sure to always evaluate the “report” block’s input, even if used
inside a custom command definition, because hardware extensions (and
other reporters with side-effects) rely on it.
2014-11-26 16:26:53 +01:00
jmoenig
723c232f3d
Full TCO (tail-call-elimination)
...
now Snap! really *is* Scheme :-)
2014-11-25 17:51:04 +01:00
jmoenig
75849a59a2
Evaluator optimizations
...
reducing the stack size for reporters
2014-11-25 12:24:20 +01:00
jmoenig
4be96bb240
tail-call-elimination for reporters - experiment
...
(commented out, under construction)
2014-11-24 16:02:21 +01:00
jmoenig
bd37771334
allow recursive reporters to be stopped by user
2014-11-24 14:38:27 +01:00
Jens Mönig
f99962c161
Merge pull request #619 from cycomachead/split
...
Improvements to Split block for whitespace and line options
2014-11-24 13:32:55 +01:00
jmoenig
68c4d2d291
fixed #131
...
and display an error if a reporter or a “called” ring is missing a
“report” statement
2014-11-24 12:59:02 +01:00
jmoenig
e48eda6cc0
Fixed #644
2014-11-24 10:48:49 +01:00
jmoenig
8814b61a32
Fixed #318
2014-11-24 09:28:45 +01:00
jmoenig
781144aa3c
Fix “stop this block” primitive for tail-call-elimination
2014-11-23 13:53:34 +01:00
jmoenig
9e91a93ac0
Fix "stop this block"’s lexical awareness
...
“stop this block” when used inside a custom block definition now always
returns out of the lexically enclosing script (the definition), even if
it is used inside other nested, C-shaped custom blocks in the
definition code. Previously it only stopped the nearest encompassing
“for” block, now it always stops the block whose definition it is in.
I don’t expect this fix to break any existing projects.
2014-11-21 16:55:25 +01:00
Michael Ball
3e8146d043
Merge in recent changes (split block improvements #619 )
2014-11-21 03:08:41 -08:00
jmoenig
f2d0c2eba5
integrate translation update
2014-11-20 15:53:14 +01:00
Jens Mönig
10ade6421b
Merge pull request #614 from MMSequeira/master
...
Add missing localizations and add Portuguese translations
2014-11-20 15:45:20 +01:00
jmoenig
ce93fe8da7
fix ‘line’ option in ‘split’ block for Windows files
...
thanks, @brianharvey!
2014-11-20 15:16:12 +01:00
jmoenig
f37e90436a
renamed Process::callback to "onComplete"
2014-11-20 14:40:13 +01:00
Jens Mönig
63a1d2ee3a
Merge pull request #641 from bromagosa/contribution
...
Added callback to Process
2014-11-20 14:26:56 +01:00
jmoenig
5771e93fa1
Fixed #364 avoid “freezing” when calling LAUNCH on empty ring
2014-11-20 14:21:56 +01:00
Bernat Romagosa
91690adb29
callback is only executed when the outmost block returns a value
2014-11-19 09:34:59 +01:00
Manuel Menezes de Sequeira
8e992dcaa8
Add localization to number of arguments error and temporary watchers
2014-11-18 18:11:14 +00:00
Bernat Romagosa
f537f62ace
Added callback to Process
2014-11-17 14:05:13 +01:00
jmoenig
ea05f7859f
Treat REPORT blocks inside custom command definitions as STOP THIS BLOCK / IGNORE INPUTS
...
this also enables all existing FINCH blocks and other hardware
extensions again, which used the REPORT (HTTP://) pattern
2014-11-17 10:22:39 +01:00
jmoenig
b36a358173
Fix reporting out of nested custom C-shaped blocks
...
REPORT now reports to the nearest lexical element expecting an input
(which may not be the block holding the REPORT statement, this lets you
REPORT out of nested FOR loops).
STOP THIS BLOCK behaves as it used to.
If you’ve been using REPORT instead of STOP THIS BLOCK, you should
migrate.
2014-11-14 12:49:01 +01:00
Michael Ball
dbf2e6665b
Improvements to Split block for whitespace and lines:
...
* Split by whitespace now uses the built-in definition of whitespace \s
This catches all characters definted as whitespace, see below:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
* Split a line by all unicode compliant line breaks. The biggest impact here is
that OSX and Windows files will now split the same way.
The cr option is still around, but ther's no longer a need for it, IMO.
2014-10-18 23:00:11 -07:00
Manuel Menezes de Sequeira
dda2d48f16
add localization to unknown variable error
2014-10-14 17:58:57 +01:00
jmoenig
c6815c11d4
workaround for some REPORT / STOP BLOCK issues
...
enables reporting and stopping a bock from within a C-shaped slot in a
custom block, but not (yet) out of nested C-shaped custom blocks (but
that’s coming up, too)
2014-10-01 09:50:56 +02:00
jmoenig
8b5fa7f23c
fixed #591
...
fully copy local variables for sprite duplicates and (Scratch-like)
clones
2014-09-29 09:50:16 +02:00
jmoenig
5695dd141b
fixed #174 , eliminate UpvarReferences in evaluator
...
replace UpvarReferences with references to Variable objects, fixes
upvar scope issues
2014-09-18 14:26:28 +02:00
jmoenig
04168220bd
Refactor variables handling
...
introducing Variable objects, all functionality stays the same at this
time
2014-09-17 14:40:39 +02:00
jmoenig
130e105ea3
enable Zombiefication of JS-Functions
...
you can now redirect “this” in a JS function by binding it to another
sprite using the OF block
2014-08-13 17:43:49 +02:00
jmoenig
61dd479a2b
export script pic with result bubble
...
hidden option in the shift-context-menu of reporter scripts
2014-07-30 16:28:01 +02:00
jmoenig
c0b91b5fa2
enable “JS function” block to create custom control structures and HOFs
2014-07-28 14:41:15 +02:00
jmoenig
e362730a0c
JS function tweak, thank, @nathan!
2014-07-27 15:06:50 +02:00
jmoenig
3aae7c3ce4
new “JavaScript function” primitive
...
Go figure…
2014-07-25 14:35:36 +02:00
jmoenig
54fec68d78
Display “empty” Contexts as empty rings
...
(e.g. continuations). Brian was complaining about empty continuations
“sucking” up the watchers and value bubbles.
2014-07-24 12:24:19 +02:00
jmoenig
df25b4dc73
fixed #521
...
deleting variable watchers by dropping them on the palette resulted in
wrong ones to be created when showing them again
2014-07-22 12:33:26 +02:00
jmoenig
15a751ad85
fixed #518
2014-07-21 08:23:14 +02:00
jmoenig
f09a717719
rename "character" to "letter" in delimiter list
...
of “split” block
2014-07-18 15:36:56 +02:00
Michael Ball
80d1e25bee
Lint: fix missing semicolon
2014-07-17 12:08:30 -07:00
Michael Ball
440cd340a5
Split Block: Add a character option for clarity
...
This also allows the split block to be used more easily in a HOF
2014-07-17 12:02:07 -07:00
jmoenig
37d82524f9
fixed #506 , thanks @haritop!
...
thanks @haritop, for both the report and for also providing the fix for
it!!
2014-07-11 12:54:02 +02:00
jmoenig
cd416bc9a9
revert changes made for JSLint’s sake
...
after the issue was fixed in JSLint
2014-07-08 17:04:15 +02:00
jmoenig
e0289f8c41
show error messages for custom blocks (sorta)
...
(propagating to the script’s top block)
Also adjust to Doug Crockford’s latest infuriating nitpickings
(“unexpected ‘[‘) in JSLint
2014-07-08 13:12:45 +02:00
jmoenig
9f690fbfa3
initialize new variables with zero (instead of null)
2014-06-05 17:16:27 +02:00
jmoenig
295de115a3
Threads: new Variable data structure
...
for refactoring upvar references, not yet used anywhere
2014-05-20 09:34:37 +02:00
jmoenig
f9989ad7cf
checkpoint - release
2014-05-02 11:08:30 +02:00