Neil Mitchell wrote:
Hi

How do you plan to implement unboxed types? AFAIK, implementing unboxed types requires a typed intermediate language. Maybe you could get away with boxing
all the unboxed types, but then Int would have an extra level of boxing.

Indeed, we intend to box everything. Plus there were compilers which
did unboxing before having unboxed types - as the paper said, it
wasn't as neat, but it was possible.

Right, but the problem is that if you box all of GHC's unboxed types, you end up with an extra layer of boxing compared to an implementation that just boxes everything. ie. it'll be worse than YHC is currently, so you'll need extra trickery to get back to where YHC is now.

I also have a design for a C
backend where the Int can be packed into the pointer, which removes
the boxes from all evaluated Ints.

Presumably you lose one bit of precision though, so GHC's Int# type would be 31 bits. We did at one stage have a GHC->OCaml translator with a 31-bit Int#, so it might be possible, but I think there will be some assumptions in the libraries that break (eg. Int32 will need to be implemented using Int64#).

Cheers,
        Simon

_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to