4 ms·
I'm not sure how easy it is to do DSLs. You don't see this popup in the Red or Rebol docs for a reason. It is homoiconic like Lisp, so it should be feasible. I'
by throwaway7645 9y ago
I'm not sure how easy it is to do DSLs. You don't see this popup in the Red or Rebol docs for a reason. It is homoiconic like Lisp, so it should be feasible. I'd love to hear some of the core devs like doc respond.
- 9214 9y agoIt might get hairy if DSL is non-trivial, IIRC Doc has plans to implement meta-DSL wrapper (a la Rascal) sometime after 1.0 launch to ease the process.
- throwaway7645 9y agoI hope Red puts up a couple of really simple examples on how to build DSLs. It's one of the great things Red/Rebol has to offer, but it isn't obvious how to do it.
- 9214 9y agoI guess you can start with [1] and ask people in community, there may be a couple of simple examples to show. [1]: https://github.com/red/red/wiki/Red---Rebol-Dialects:--Selected-Articles-and-Links https://github.com/red/red/wiki/Red---Rebol-Dialects:--Selec...
- throwaway7645 9y agoI've tried asking the community before and the response wasn't good. With that being said, the links you sent were pretty nice, so thank you!
- 9214 9y agoYou're welcome! I actually rather interested in DSL creation myself and want to dabble my feet in this topic sometime. And I also feel that creation of dialects is rather obscure art for old-timers, and that there's a need for learning material. With that said, I would appreciate if you'd listed what would you like to see in "How to bake DSL with Parse" guide of some sort, that would be really helpful when the time will come for writing tutorials and documentation.
- throwaway7645 9y agoSorry, I guess what I'm trying to say is I'm aware what a DSL is (like View dialect), but no clue how to start creating one other than it has something to do with blocks and Red's homoiconicity. There needs to be a specific spot on the documentation page that gives a good overview with simple examples and finally a more complicated one. In fact, I hope they do that with all the planned additions of erlang like concurrency...etc. You know what I mean?
- greggirwin 9y agoHow hard it is all depends on the DSL. I just found another article on HN and whipped one up as an example. See: https://news.ycombinator.com/item?id=16010971 https://news.ycombinator.com/item?id=16010971 It's not black magic, by any means, but it's also not yet point and click. We'll build more tools, higher level pieces, and more in the future.