WARNING pragmas in `Prelude.undefined` and `Prelude.error`

Andreas Abel andreas.abel at ifi.lmu.de
Mon Dec 23 11:36:51 UTC 2019


I am missing some context of this discussion, but if this is the 
question of whether using `undefined` and `error` can be legitimate, yes 
they can.  If you know your invariants, you might want to write

   fromMaybe undefined $ lookup key map

or

   Map.findWithDefault undefined key map

knowing you put the key into the map and the lookup cannot fail.

On 2019-12-22 13:15, Zemyla wrote:
> The most common legitimate usage for undefined I have is strictness:
> 
> func x y | x `seq` False = undefined
> func x y = ...
> 
> There's nothing else that would go there, and when it's compiled, the 
> reference to undefined disappears.
> 
> On Sun, Dec 22, 2019, 05:50 chessai . <chessai1996 at gmail.com 
> <mailto:chessai1996 at gmail.com>> wrote:
> 
>     Right, it's been discussed before IIRC, and i know I've certainly
>     given it passing thoughts. I think this isn't worth it because of
>     breakage. Many people use -Wall -Werror, so I see this as a no-go.
> 
>     Thanka
> 
>     On Sun, Dec 22, 2019, 6:45 AM Vilem Liepelt
>     <vliepelt at futurefinance.com <mailto:vliepelt at futurefinance.com>> wrote:
> 
>         Has there been any discussion about adding WARNING pragmas to
>         `Prelude.undefined` and `Prelude.error`, as done in some custom
>         preludes?
> 
>         I suppose this hasn't been done yet to avoid breaking existing
>         code which makes "legitimate" use of those helpers?
>         _______________________________________________
>         Libraries mailing list
>         Libraries at haskell.org <mailto:Libraries at haskell.org>
>         http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> 
>     _______________________________________________
>     Libraries mailing list
>     Libraries at haskell.org <mailto:Libraries at haskell.org>
>     http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> 
> 
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> 


More information about the Libraries mailing list