[GHC] #12160: MonadFail instance for (Either String)?

GHC ghc-devs at haskell.org
Mon Jun 6 21:14:40 UTC 2016


#12160: MonadFail instance for (Either String)?
-------------------------------------+-------------------------------------
           Reporter:  lexi.lambda    |             Owner:
               Type:  feature        |            Status:  new
  request                            |
           Priority:  normal         |         Milestone:
          Component:  libraries      |           Version:  8.0.1
  (other)                            |
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I think one of the cool things about breaking out `MonadFail` would be the
 opportunity to introduce an instance for `Either String`, which isn’t
 possible to do with plain `Monad` without overlapping instances. The
 instance itself would be completely trivial:

 {{{#!hs
 instance MonadFail (Either String) where
   fail = Left
 }}}

 The only possible reason to ''not'' do this, as far as I can tell, would
 be because it requires `FlexibleInstances`. This already seems to be used
 for a few instances in `base`, and it seems like it would be extremely
 useful, so I would really appreciate if such an instance was defined. I’d
 be happy to submit a patch to add it, but I wasn’t sure if this would be
 an uncontroversial change or not.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12160>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list