[plt-scheme] DSLs: anyone want a good cry?

From: Thomas Chust (chust at web.de)
Date: Fri Mar 20 05:27:49 EDT 2009

2009-03-20 Marek Kubica <marek at xivilization.net>:
> [...]
> I'm not sure. Ruby is getting more and more mainstream and can be used
> to build DSLs just fine.
> [...]
> C# does support operator overloading and thats IMHO a good thing after
> all.
> [...]

Yet, neither of these languages has anything that comes close to the
power of Scheme's macro system. Since C# even has a Code DOM API in
its standard library it is really a shame that isn't used to enable
some macro magic :-)

Concerning operator overloading I'm unsure whether it is really a good
feature in a language with non-uniform syntax and with dynamic method
dispatch on only one or even none of the operator's arguments. The
implementation of operators in these languages quickly becomes clumsy
and breaks the modularity of the object system. I still like operator
overloading best in Dylan.


When C++ is your hammer, every problem looks like your thumb.

Posted on the users mailing list.