[Yhc] instance Monad IO bug

Malcolm Wallace Malcolm.Wallace at cs.york.ac.uk
Mon Mar 12 06:49:07 EDT 2007


> > >   data _E a = _E a
> >
> > Yes, that seems about right. BTW, why is it called "_E"?
> 
> The 1 element tuple (which is what this is) has no syntax in Haskell.
> It has many names all over the place

And more specifically, 
  (a) the leading underscore in _E means it is not a legal Haskell'98
      type or data constructor, so cannot clash with any user-defined
      constructor;
  (b) the E stands for "evaluate", which is rather unintuitive since
      the constructor means _don't_ evaluate, but you can blame me for
      that thinko.

Regards,
    Malcolm


More information about the Yhc mailing list