Source code art in the Rivulet language
github.com
github.com
I’m completing a book of these esolangs for MIT Press this fall including this; not much info yet online yet but here’s the link: https://mitpress.mit.edu/9780262553087/forty-four-esolangs/
In the "Data Strands" -> "Value Strands" section, you describe it as "Value strands (and other data strands), begin with a hook that points up (as in the third strand below) or to the left (as in the first two)" for the following example:
1 ╵╰──╮╭──╯╶╮
2 ─┘└─ └─╮
3
5 ╷
but the way I was parsing it was that the hook is '╰' or '╯', in which case both of those are hooks pointing up? It looks like a fairly innocuous typo, but I'm never sure with an esolang so wanted to ask.I forgot to mention that you can run the interpreter with -p to convert the program to pseudo-code. This makes it much easier to tweak the examples and experiment. I'll add that to the readme, along with more pseudo-code for the example programs.
And thanks so much!! Very excited to publish (Sept 2025).
The CLI tool is fantastic. I never thought that I'd see an esolang where "ergonomics of using it" was something the author would work on. I'll play around with that some more later, thanks again!
For languages like Rivulet, see the non-textual category https://esolangs.org/wiki/Category:Non-textual or the two-dimensional category https://esolangs.org/wiki/Category:Two-dimensional_languages
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?)
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.
Looking forward to seeing this in graffiti form, sprayed all over some government building, giving the OCR-using hackers code to enter the (physical) backdoors that these scribbles are inevitably going to be indicating ..
https://www.reddit.com/r/tokipona/comments/hlpvx0/sitelen_mu...
With all the AI focus on coding, it feels like we're going to end up sticking with a few languages because that's what it's good at or trained on.