[Fwd: F#]
Fergus Henderson
fjh@cs.mu.oz.au
Sat, 1 Jun 2002 00:56:24 +1000
On 31-May-2002, Simon Peyton-Jones <simonpj@microsoft.com> wrote:
>
> General remarks about targetting .NET from GHC.
>
> * There is no reason in principle why one can't write a back end
> for GHC to generate .NET IL.
>
> * Generating *verifiable* IL is noticeably harder: you have to
> take much more care; to deal with parametric polymorphism you
> need Generic IL, which isn't "out" yet;
You don't _need_ Generic IL. You can deal with parametric polymorphism
by translating polymorphic types to "System.Object".
> and even then, higher kinded type variables are a serious problem.
I think System.Object helps here too.
> Being verifiable almost
> certainly requires some runtime checked type casts, which hurt
> performance -- and reducing them to a minimum complicates the
> compiler.
It's certainly true that being verifiable is likely to cost some
performance. But I don't think it would be difficult to implement.
For the Mercury compiler's .Net back-end, there's a --verifiable
option which controls whether the generated IL code is verifiable or not.
--
Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.