doodpants 5 days ago

Agreed; needs a tutorial.

2
thechao 5 days ago

I think each "line" is a stack expression, where one direction marks what value the stack pushes at that point, and the other direction (or index on the canvas? it's really unclear) marks the operation? So, maybe going down two lines is the number "two", then going right "one" pushes; now if we continue "right" three steps that means "add"?

There's no conditional operator on a single line. Instead, if two lines come "near" each other there's an alternate denotation that compares the values and either terminates (or rolls back?) the line's behavior to some earlier point (perhaps dependent on the value in the stack?)

rottytooth 5 days ago

The glyph start marker ╵ also marks a block of code; if several consecutive glyphs start with the same number of them, they are part of the same block.

When the question strand executes, it looks at whether a list element (or entire list) is zero or below. If so, the entire block is rolled back to its previous state.

So all branching is done as rollbacks. And loops end by rolling back their last iteration.

metalliqaz 5 days ago

It needs some fully commented programs as examples.