Skip to content

Failing monadic pattern matches have confusing error messages

Motivation

I was just trying to build basement with GHC head (8.9). I got this error message:

Basement/Block/Base.hs:398:9: error:
    Not in scope: ‘fail’
    Perhaps you meant ‘Data.List.tail’ (imported from Data.List)
    |
398 |         arr@(Block arrBa) <- makeTrampoline
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For those already in the know, it's pretty easy to discern the meaning of this. But for those who aren't, this message is nonsense.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information