Hacker News new | ask | show | jobs
by antipurist 1354 days ago
Lisps let you define macros. Racket lets you define languages.

https://docs.racket-lang.org/guide/languages.html

https://docs.racket-lang.org/guide/more-hash-lang.html

Example of a language-in-racket: https://github.com/soegaard/minipascal/tree/master

3 comments

Not to mention arc/anarki (hn is/was written in arc - anarki comes with a "news" example app/forum):

https://github.com/arclanguage/anarki/tree/HEAD#readme

The worst possible programming scenario is usually being locked in to an internal hacked together proprietary language. I don't think trying to make a new language for every program is a good idea and is almost the polar opposite of what I would consider good programming.
It lets you create languages like Pie which is designed to teach others about dependent types:

https://thelittletyper.com/

That seems like an extreme niche use that isn't suited for general purpose programming.
Racket's main use case is pedagogy and PL research.
this is so cool! Pascal code without the parentheses.