Email or username:

Password:

Forgot your password?
Devine Lu Linvega

Can't Modal without matching parens it turns out. 🤦‍♀️

7 comments
datarama

@neauoire Out of interest (and I know Modal isn't Lisp); how much Lisp experience do you have?

(I came into "weird languages" by way of Lisp.)

Devine Lu Linvega

@datarama I used to be really into lisp, I made a few implementations, my wiki used to be written entirely in scheme(from outer space) and has a lisp templating language that I was pretty happy with, I've always had a bit of a weakness for LISP 1.5, I maintain this little lispkit runtime that I play with built on top of the SECD virtual machine.
wiki.xxiivv.com/site/lisp
wiki.xxiivv.com/site/secd

Devine Lu Linvega

@datarama For a few years I used this lisp interactive notebook/playground, you might get a kick out of it: wiki.xxiivv.com/site/ronin

bx

@neauoire ive been doing allot of wierd C preprocessor usage lately and reading gur page for modal, its wild to see a system that is so similar yet so much nicer and more flexible (gur way paren matching works / getting around it is a large bit of my cpp efforts rn), really curious how much would need to be done to add hex/binary escapes to modal to allow it to do unmatched parens + potentially allow it to operate on binary data (a dissassembler in modal would be REALLY cool)

Devine Lu Linvega

@bx that should be fairly small a change to add, you could add to the escape code so it can handle 0x28 and 0x29: git.sr.ht/~rabbits/modal/tree/

bx

@neauoire i was thinking more at a higher level to allow it to work in rules as well, itd be really fun to match against an op code name and ouput gur binary for it in a sequence along side its length in bytes, then have a higher level pattern that takes instruction sequences and converts labels into addresses to make a function.
or rules that move parens around without them matching, like if you wanted to write a program to transform "do"/"end" into "("/")"

Devine Lu Linvega

@bx Oh, you can already do this transformation with the ?* register :), I have a couple of string rules if you need a hand with that bit. Hop on irc or discord if you can.

Go Up