3 ms·
Homoiconicity makes writing macros easy. If you don't like it, you can try https://rhombus-lang.org/ https://rhombus-lang.org/ that is build on Racket and also
by gus_massa 2mo ago
Homoiconicity makes writing macros easy.
If you don't like it, you can try https://rhombus-lang.org/ https://rhombus-lang.org/ that is build on Racket and also has macros but uses a Python-like syntax.
- Zambyte 2mo agoEasy is an understatement. Macros and dynamic programming (often done using runtime reflection in other languages) are so trivially easy in Lisps that one can stumble into it without realizing they're even doing it. Anyone who has done these things in more "modern" languages knows these features are not something one can accidentally start doing. They take a lot of deliberate effort relative to standard, static programming.
- soegaard 2mo ago> Easy is an understatement. Macros and dynamic programming (often done using runtime reflection in other languages) are so trivially easy in Lisps that one can stumble into it without realizing they're even doing it. Well, getting the interaction between modules and syntax transformations (macros) right is not an easy task. "Composable and Compilable Macros: You Want it When?" Matthew Flatt http://dl.acm.org/authorize?24908 http://dl.acm.org/authorize?24908
- spdegabrielle 2mo agoBicameral, Not Homoiconic https://parentheticallyspeaking.org/articles/bicameral-not-homoiconic/ https://parentheticallyspeaking.org/articles/bicameral-not-h...
- GregBuchholz 2mo agoIs Prolog bicameral? Because it has a `read` predicate? Is bicameral then just a matter of implementing a `read` function which returns a tree of tokens, which you could implement for C or Python? Which makes bicamerality a property of a library rather than a property of the language?