[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: dylan revival
Scott Ribe <scott_ribe@killerbytes.com> wrote:
>
> > This is an interesting idea. The main problem with implementing Dylan is
> > the Macro system. I've been toying with the idea of a macro-less "Dylan
> > Light" for Marlais and Mindy.
>
> Just curious, would the macro implementation be substantially easier
> if Dylan had stuck with S-exp syntax? Or are the problems deeper?
Implementing hygienic pattern-matching macros for Scheme is about 1000
lines of code. The d2c implementation is about 3000 lines of code. The
real problem is that no has implemented hygienic macros systems often
enough for it to become an off-the-shelf pattern. If you are writing a
conventional compiler, you can copy the general architecture right out
of a book. That's not yet true for macros.
\begin{halfjoking}
I think that there are only three languages that "everybody" knows how
to implement: Pascal, R3RS Scheme and Smalltalk. Nearly every popular
language is a linear combination of those three languages, and any
features not in those languages (macros, multimethods, type inference)
starts with two strikes against it. If you doubt me, look at Python,
Perl, Ruby, Visual Basic, C, or Java. The only exception to this rule
is C++, and all the parts that aren't from the three well-understood
languages are misdesigned.
\end{halfjoking}
Neel