Haskell.org
Sign In
Sign Up
Manage this list
Sign In
Sign Up
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
Libraries
Thread
Start a new thread
Download
Threads by
month
----- 2025 -----
May
April
March
February
January
----- 2024 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2023 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2022 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2021 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2020 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2019 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2018 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2017 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2016 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2015 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2014 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2013 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2012 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2011 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2010 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2009 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2008 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2007 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2006 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2005 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2004 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2003 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2002 -----
December
November
October
September
August
July
June
May
April
March
February
January
----- 2001 -----
December
November
October
September
August
July
June
May
April
March
February
libraries@haskell.org
December 2022
1 discussions
Proposal: add laws to MonadError
by Alexandre Esteves
06 Jul '23
06 Jul '23
I ran into a scenario where the use of MonadError would only be valid if catchError (pure a) h = pure a was a law, so I looked up the laws in
https://hackage.haskell.org/package/mtl-2.3/docs/Control-Monad-Error-Class.…
but surprisingly found none. One would expect to see 1. catchError (pure a) h = pure a 2. catchError (throwError e) h = h e 3. throwError e >>= f = throwError e which would rule out silly instances like instance MonadError () Maybe where throwError () = Nothing catchError _ f = f () Searching for "monad error laws" gives me no haskell results, only
https://typelevel.org/blog/2018/04/13/rethinking-monaderror.html
which suggests the same laws. I propose adding these 3 laws to MonadError haddocks. AFAICT the IO/Maybe/Either/ExceptT instances in
https://hackage.haskell.org/package/mtl-2.3/docs/src/Control.Monad.Error.Cl…
all obey the laws.
3
7
0
0
Results per page:
10
25
50
100
200