Unpacking sum types
Simon Marlow
marlowsd at gmail.com
Tue Sep 8 07:53:00 UTC 2015
On 07/09/2015 15:35, Simon Peyton Jones wrote:
> Good start.
>
> I have updated the page to separate the source-language design (what the
> programmer sees) from the implementation.
>
> And I have included boxed sums as well – it would be deeply strange not
> to do so.
How did you envisage implementing anonymous boxed sums? What is their
heap representation?
One option is to use some kind of generic object with a dynamic number
of pointers and non-pointers, and one field for the tag. The layout
would need to be stored in the object. This isn't a particularly
efficient representation, though. Perhaps there could be a family of
smaller specialised versions for common sizes.
Do we have a use case for the boxed version, or is it just for consistency?
Cheers
Simon
> Looks good to me!
>
> Simon
>
> *From:*Johan Tibell [mailto:johan.tibell at gmail.com]
> *Sent:* 01 September 2015 18:24
> *To:* Simon Peyton Jones; Simon Marlow; Ryan Newton
> *Cc:* ghc-devs at haskell.org
> *Subject:* RFC: Unpacking sum types
>
> I have a draft design for unpacking sum types that I'd like some
> feedback on. In particular feedback both on:
>
> * the writing and clarity of the proposal and
>
> * the proposal itself.
>
> https://ghc.haskell.org/trac/ghc/wiki/UnpackedSumTypes
>
> -- Johan
>
More information about the ghc-devs
mailing list