help from the community?

Andres Loeh loeh at
Tue Jan 30 17:09:50 EST 2007

> > The only reasons that I could see in favor of allowing empty "forall"s
> > is that it might be easier to automatically generate code. Haskell
> > seems to be a bit inconsistent in how it treats empty constructs. For
> > example, empty let and empty where seems to be allowed, but not an
> > empty case?
> Just a little remark on the side: 'If' and 'case' demand exactly one
> expression. In such cases allowing zero expressions is not a generalization
> but an unnecessary complication. 'Let' and 'where' allow any number of
> bindings, so allowing zero bindings (instead of demanding at least one) is
> a simplification.

I meant the branches of a case (the report specifies at least 1). Similarly,
the report specifies that lambdas must have at least one argument, infix
declarations must not be empty and datatype declarations must not be empty
(the latter will definitely be fixed).


More information about the Haskell-prime mailing list