Check out the amazing little mascot that @rek designed for the Uxn VM.


@neauoire @rek y'all are making me want to go write my little VM-driven lang i've been thinking about for a few years now <3

· · Web · 1 · 1 · 5

@neauoire @rek totally. i studied parsing/lexing for Advent Of Code 2020 so it should be a little easier to come back to now

was thinking about tuplespace-oriented programming. back in school, i learned about the use of Linda as a synchronization primitive (with a data payload!), and thought a little later about how you could tie that idea into some sort of a micro-Erlang. Like...

("add1", x, y) -> ("catadd", x+y)
("add2", x, y) -> ("catadd", x+y)
("catadd", x) ("catadd", y) -> ("IO", [str x] ++ [str y])

...with inputs placed into the tuplespace:
("add1", 1), ("add1", 2), ("add2", 3), ("add2", 4)

...would indeterminately output either "36" or "63"

@nfd @rek I've considered doing a lisp like but never really nailed the parsing of parens depth stuff.. Forth was more realistic with my current skills.

@neauoire @rek oh, you ever checked out parser combinator libraries (e.g. i learned a bunch of stuff in 2020 but software-wise this might've been the best

@nfd @rek yeah but I don't wanna use anything I'm not building.. I have this curse you see huh..

@neauoire @rek NIH Syndrome, we call it :D

Some functional programming courses actually cover how to implement your own parser combinator libraries--and in fact, once you've got the basic connections to the data structures all together, these sorts of libraries can actually be made of highly generic components. Pedagogically, it probably is a pretty solid choice for a first sizable FP project, especially in a language at least like Haskell. might be worth revisiting if y'all ever poke around in that world

@nfd @rek anways, I hope you take the time to try implementing this. It's a ton of fun.

Sign in to participate in the conversation

cybrespace: the social hub of the information superhighway jack in to the mastodon fediverse today and surf the dataflow through our cybrepunk, slightly glitchy web portal support us on patreon or liberapay!