Block a user
ref
-> box
all the way through the parser, interpreter
df85be3c1e
ref->box everywhere
60106d10f0
consider turtle-reported vs. expected-calculated state
Language-independent testing
I tried getting Janet to do this, but it won't work. Ian Henry's Judge's test-stdout
only captures in-Janet stdout
, not anything printed to the console. So (os-exec ["echo" "foobar"] :p)
,…
Update Lezer and Tree-Sitter grammars: remove
loop
and recur
Closing, as we are keeping loop
/recur
in the language.
Update Lezer and Tree-Sitter grammars: remove
loop
and recur
Turtle graphics protocol
Current set of things to do:
- Rework Ludus's output to be only its I/O protocol
- Rewrite all the logic from Prelude in
apply_command
,render_turtle
, andstate/call
in JS. - […
Turtle graphics protocol
@matt Any thoughts about this?
Two specific hesitations, which I'm happy to bracket for the time being (or quite a while):
- We're repeating the "proto" section with every message. On the…
Turtle graphics protocol
A simple example:
{
"stdout": {
"proto": ["text-stream", "0.1.0"],
"data": []
},
"stderr": {
"proto": ["text-stream", "0.1.0"],
"data": ["oops, I…
Turtle graphics protocol
A few thoughts, notes here:
- This is really a version of a complete I/O protocol for Ludus.
- This means that all of these are, in some sense, streams, not static objects.
- Each output of…
Disallow shadowing?
Validator now disallows shadowing of any name in any context. Next up: develop logic in validator to only check names that are explicitly bound in a script, and not names that are in Prelude.
2ec95c8f33
add loop & recur back into the language: we do actually need it!--just not *pedagogically*