2 ms·
>Does Racket support non-Lisp-like syntax for DSLs written in it? Yes! You can override the reader so that it parses anything, and there are modules for writin
by iitalics 9y ago
>Does Racket support non-Lisp-like syntax for DSLs written in it?
Yes! You can override the reader so that it parses anything, and there are modules for writing grammers[1][2]. Still, it is usually much easier to just use the built in s-expression parser, and if you're writing a lot of lisp, you probably don't mind s-expressions anyways :)
Hackett has interested me too, I hope that progress can continue to be made, it would be a nice alternative to Typed Racket (which is great, but very complex).
I'm working with the author of the "Type Systems as Macros" paper right now, we're working on implementing a linear language (along the lines of Rust) using Racket's macro facilities and the turnstile[3] package. Being able to embed arbitrary type systems in Racket really shows the insane power of the macro system.
[1] http://docs.racket-lang.org/parser-tools/LALR_1__Parsers.html http://docs.racket-lang.org/parser-tools/LALR_1__Parsers.htm...
[2] http://docs.racket-lang.org/ragg/ http://docs.racket-lang.org/ragg/
[3] https://github.com/stchang/macrotypes https://github.com/stchang/macrotypes