On Wed, Jun 10, 2015 at 1:46 PM, Roman Cheplyaka <r...@ro-che.info> wrote:
> On 10/06/15 14:22, Johan Tibell wrote: > > On Wed, Jun 10, 2015 at 12:42 AM, David Luposchainsky > > <dluposchain...@googlemail.com <mailto:dluposchain...@googlemail.com>> > > wrote: > > > > I think there are two important consequences of MonadFail. First of > > all, we can > > all safely write failable patterns if we so desire. Second, the > > compiler can > > ensure other people's codebases do not lie to us (knowingly or > > unknowingly). > > > > > > The second is a bit overstated I think. Any function you call can still > > have partial pattern matches in all the other places Haskell allows them > > and you wouldn't know from the type. > > For most of them, at least you get a warning from GHC (not for patterns > inside lambda, sadly, although that should be fixable). But for > > do > Just x <- a > ... > > it's not possible in principle to give a warning, because it's not clear > whether the implicit call to fail is intended. > That's a good point. An alternative to changing fail would to add a warning for partial matches even in do-notation.
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs