[Mono-devel-list] Extending mcs

Michal Moskal malekith at pld-linux.org
Tue Nov 16 15:05:03 EST 2004

On Tue, Nov 16, 2004 at 05:47:31PM -0800, Matthijs ter Woord (meddochat) wrote:
> Hi Everybody
> When browsing the internet some time ago, i saw Extensible C#
> (www.resolvecorp.com). I really like that idea, but the Extensible C#
> compiler isn't opensource/freeware, so it's not possible to use it for
> free. also, i saw (in an old version) some limitations. i think it's
> really interesting to have something similar in mcs or a different
> project. the only project is, i'm not experienced enough to write
> compilers or even to understand compiler's working.
> Does somebody knows something for this?

We have plans of extending the Nemerle[1] compiler with a C# parser,
which would allow using powerful compile time macros[2][3]. IMHO Nemerle
macros are far more powerful then the resolvecorp thing, as you, the
macro writer, have access to all the internals of the compiler. It's also
easier to use due to the meta-quotation and pattern matching support.

In the meantime, if you can use a similar language instead of C#, you can
try out Nemerle. Otherwise wait for the C# parser, but it'll take some
(long?) time.

[1] http://nemerle.org/
[2] http://nemerle.org/macrouse.html
[3] we have more examples, like asynchronous execution macros, also
some language features (if instruction, while, for, foreach loops etc.),
are implemented as macros, which should tell something about their power.

: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: ::: Logic is a nice contrast to the Real World. :: UL++++$ C++ E--- a?

More information about the Mono-devel-list mailing list