[Mono-list] Making a ruby.net compiler

Paolo Molaro lupus@ximian.com
Fri, 9 May 2003 09:53:17 +0200

On 05/09/03 Fergus Henderson wrote:
> > But if you want bits to flag types, you might as well just use those
> > bits and pointers and deal with those in the same way a traditional
> > computer would.
> Doing that would lose verifiability, garbage collection, and conformance
> to the CLS.  So you'd be discarding most of the advantages of the .NET CLR.

Well, I guess that's better than not targeting the CLR at all:-)
Anyway, you're correct that with the current spec for the CLR there are 
tradeoffs to be made between speed and verifiability.
Do you think you could come up with a list of extensions to the CLR
(new opcodes, changes to some existing ones, new fundamental
types or internal calls) that would address the issues of using tag bits
or other features mercury may need to better integrate in the CLR?
What would be the performance impact (for example on the GC subsystem)
of the proposed changes, especially for langauges that wouldn't use them?
How would you expose tagged values to other languages (if it's really a
good idea to expose them)?
Basically, if you have a well-defined set of changes that address the
issues, we'd love to help people to change mono to implement them
so that mono can be used as a test bed for changes to the specification
that, if it turns out they are good, could be submitted for



lupus@debian.org                                     debian/rules
lupus@ximian.com                             Monkeys do it better