From: Todd Gillespie Date: 2002-02-21T15:18:29+09:00 Subject: Re: REBOL vs Ruby Robert Feldt wrote: : This is interesting. What do you think of Lisp-style macros? I've only : used them very briefly but from my understanding they seem very powerful : and can be used to simplify programs (since you can describe your : problem/solution in a language dialect tailored to it) and even make them : more readable. But its a two-edged sword since the language is no longer : "pure"/core so that you (or you-at-a-later-date or your : followers/maintainers etc) must now understand a new dialect (or whole : new language) to understand what the program does. If you look at that 'problem' in the larger scope, you see that the same tool that lets Lisp programmers write their own variants of Lisp, the macro, allows Lisp as a language to evolve quickly. When a new language abstraction of technique comes around (like OO), Lisp can and does implement the new idea overnight -- they don't need to step down a level for the implementation language, like Ruby must step down to C. So the full power of the language is available for that language's extension. As for readability, doesn't every code shop have their own collection of in-house hacks and libraries? Don't you need to understand their API (a dialect, if you will) to understand their programs? : I've been playing with the idea of introducing macros to Ruby (I : guess something in the style of Dylan's hygienic macros or the OOPSLA I say, rock on. What do you think about Dylan macros, BTW? I have heard that Dylan syntax is directly convertible to s-expressions, which makes macros either easy or possible. How would you apply them to Ruby?