[Haskell-cafe] Existential quantification problem

Jonathan Cast jonathanccast at fastmail.fm
Sun Jul 13 19:50:50 EDT 2008


On Sun, 2008-07-13 at 18:28 -0500, Derek Elkins wrote:
> On Thu, 2008-07-10 at 10:59 -0700, Jonathan Cast wrote:
> > On Thu, 2008-07-10 at 14:53 -0300, Marco Túlio Gontijo e Silva wrote:
> > > Hello,
> > > 
> > > how do I unbox a existential quantificated data type?
> > 
> > You can't.  You have to use case analysis:
> > 
> >   case foo of
> >     L l -> <whatever you wanted to do>
> > 
> > where none of the information your case analysis discovers about the
> > actual type of l can be made available outside of the scope of the case
> > expression.  (It can't `escape').  This is required for decidable static
> > typing, IIRC.
> 
> It's not an extraneous requirement; it is part of the definition of
> existential types.

I know that.  I didn't know implementing existential types was an end in itself, though.

jcc




More information about the Haskell-Cafe mailing list