Unlifted data types
dan.doel at gmail.com
Fri Sep 4 16:57:42 UTC 2015
All your examples are non-recursive types. So, if I have:
data Nat = Zero | Suc Nat
what is !Nat? Does it just have the outer-most part unlifted?
Is the intention to make the !a in data type declarations first-class,
so that when we say:
data Nat = Zero | Suc !Nat
the !Nat part is now an entity in itself, and it is, for this
declaration, the set of naturals, whereas Nat is the flat domain?
On Fri, Sep 4, 2015 at 4:03 AM, Edward Z. Yang <ezyang at mit.edu> wrote:
> Hello friends,
> After many discussions and beers at ICFP, I've written up my current
> best understanding of the unlifted data types proposal:
> Many thanks to Richard, Iavor, Ryan, Simon, Duncan, George, Paul,
> Edward Kmett, and any others who I may have forgotten for crystallizing
> this proposal.
> ghc-devs mailing list
> ghc-devs at haskell.org
More information about the ghc-devs