[Mono-devel-list] New compiler--CIL/CTS questions
chris at iBankTech.NET
Sat Feb 14 13:00:56 EST 2004
> Have you looked at Hot Dog Scheme compiler? Maybe they come out with
> something better.
You'd think so, eh? But I checked the source--it appears it's just an
interpreter. Of course, I only gave it a quick scan--I could be mistaken--but
I didn't see a single Reflection.Emit related statement, nor any file i/o.
As to your suggested solution: the problem is that Lisp doesn't have a
run-time/compile-time distinction. The compiler and library are the same,
and linked to the final executable. The compiler, to be a real Lisp, has to
assume that any function definitions are being done at run-time. I'm not sure
I understood what you were aiming for--the compiler generating C# code?
I assume that you meant I would emit these types at runtime. Even still,
(though I appreciate your example) your code is little more than mapping
lisp primitives through a consideribly dense layer of object-oriented code,
which goes against the purported point of the CLI, which is to allow lots of
different languages to be implemented in a common runtime environment,
not to be built on top of each other, or even the CTS itself, according to the
spec. Though just what power it offers outside of the CTS is questionable.
> BTW: your question (as well as my reply :-) can be considered off topic
> here, as this list is devoted to discuss mono, not .NET in general.
Oh, I dunno. It's debateable. Developing a new compiler for mono could be
considered mono related. The fact that it would work on any CLI compliant
runtime is incidental. Besides, I didn't see any more appropriate mono-* list,
and I figure you people have implemented a runtime, so you must be pretty
familiar with it.
> Take a look at the DynamicMethod class from Net 1.2
Thanks, Zoltan. Do you know if this class performs well enough to be used
as the primary function-calling mechanism of a language?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list