|
|
|
|
|
by 9214
2446 days ago
|
|
You don't need macros in Red (but it's easy to roll out your own macro layer, if one so desires [1]), all code transformations can be achieved at runtime. A brief explanation of how this works is given in [2]. As for Red / Rebol vs. Racket content - I wrote an excessive post on that some time ago [3], in response to similar question. TL;DR from language creation perspective is that Racket has state-of-the-art macro system and all the necessary infrastructure, and Red has metaDSL (that is, DSL for creating DSLs) called Parse [4], which is basically PEG on steroids (think OMeta) + a different take on homoiconicity, compared to Lisps, which, most of the time, renders custom readers and tokenizers unnecessary. [1]: https://www.red-lang.org/2016/12/entering-world-of-macros.ht... [2]: https://github.com/red/red/wiki/%5BNOTES%5D-How-Red-Works---... [3]: https://www.reddit.com/r/redlang/comments/aebxct/contrast_re... [4]: https://www.red-lang.org/2013/11/041-introducing-parse.html |
|