3 ms·
Lisps let you define macros. Racket lets you define languages. https://docs.racket-lang.org/guide/languages.html https://docs.racket-lang.org/guide/languages.h
by antipurist 4y 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/languages.html
https://docs.racket-lang.org/guide/more-hash-lang.html https://docs.racket-lang.org/guide/more-hash-lang.html
Example of a language-in-racket: https://github.com/soegaard/minipascal/tree/master https://github.com/soegaard/minipascal/tree/master
- behnamoh 4y agothis is so cool! Pascal code without the parentheses.
- CyberDildonics 4y agoThe 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.
- nequo 4y agoIt lets you create languages like Pie which is designed to teach others about dependent types: https://thelittletyper.com/ https://thelittletyper.com/
- CyberDildonics 4y agoThat seems like an extreme niche use that isn't suited for general purpose programming.
- nequo 4y agoRacket's main use case is pedagogy and PL research.
- e12e 4y agoNot 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 https://github.com/arclanguage/anarki/tree/HEAD#readme