[Haskell-cafe] RE: [Haskell] Re: Boxing (Day) Question

Simon Peyton-Jones simonpj at microsoft.com
Wed Jan 4 03:20:33 EST 2006


[Moving to haskell-café]

You'd still need several versions of the code for a polymorphic function, one for pointer values, one for 4-byte non-pointers, one for 8-byte non-pointers etc.

That's what .net does, I believe, but via runtime code generation.

Simon

| -----Original Message-----
| From: haskell-bounces at haskell.org [mailto:haskell-bounces at haskell.org] On Behalf Of Ashley Yakeley
| Sent: 29 December 2005 17:56
| To: haskell at haskell.org
| Subject: [Haskell] Re: Boxing (Day) Question
| 
| In article
| <036EAC76E7F5EC4996A3B3C3657D411604105AB8 at EUR-MSG-21.europe.corp.microso
| ft.com>,
|  "Simon Peyton-Jones" <simonpj at microsoft.com> wrote:
| 
| > The .NET CLR lifts the restriction by specialising code, so that it can
| > adapt to whether it is moving Int# or Double# values around.  In
| > Haskell, though, it's not possible to statically generate all the
| > instances you need, so you'd need run-time code generation to do this.
| >
| > It's a real restriction, and sometimes very tiresome, but I'm not
| > planning to fix it soon, unless I have a brilliant idea for how to do it
| > easily.
| 
| So you don't think having a different kind for each kind of storage
| (e.g. #4 for 4-byte values, etc.) would help you here?
| 
| --
| Ashley Yakeley, Seattle WA
| 
| _______________________________________________
| Haskell mailing list
| Haskell at haskell.org
| http://www.haskell.org/mailman/listinfo/haskell


More information about the Haskell-Cafe mailing list