On Jul30, Claus Reinke wrote:
> >>one could turn that promise into a type-checked guarantee by using
> >>explicit sum types (and thus structural rather than name-based typing),
> >>but that gets awkward in plain haskell.
> >
> >I don't think the choice of whether you label your variants with names
> >or with numbers (in1, in2, in3...) has anything to do with the choice of
> >whether you require your cases to be exhaustive or not.
> 
> i was talking about name-based (as in: this is the sum type named List) 
> vs structural (as in: this is the sum type build from Cons and Nil) typing.
> the former hides (in-)exhaustiveness from the type system, the latter
> exposes it. 
> 

I don't think the juxtaposition you're setting up here, between
"name-based" and "structural", is correct.  You could just as well
choose the elimination form for "name-based" sum types (i.e., datatypes)
to be an exhaustive case analysis.  It just happens that Haskell chooses
to permit non-exhaustive case expressions.  

-Dan
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to