[Haskell-cafe] Where is the hole?

Baa aquagnu at gmail.com
Fri Aug 11 15:25:11 UTC 2017


Hello, Dear List!

I have code (this is the fragment only):

  {-# LANGUAGE CPP                 #-}
  ...
  ...
    let user' = ...
    ...
    else defect $ logger # ("authentication failure (user: " ++ user' ++ ")") #: __LINE__
    ...
  ...

and I get compilation error:

        • Found hole: __LINE__ :: Int
          Or perhaps ‘__LINE__’ is mis-spelled, or not in scope
        • In the second argument of ‘(#:)’, namely ‘__LINE__’
          In the second argument of ‘($)’, namely
            ‘logger # ("authentication failure (user: " ++ user' ++ ")")
             #: __LINE__’
          In the expression:
            defect
            $ logger # ("authentication failure (user: " ++ user' ++ ")")
              #: __LINE__
        • Relevant bindings include...
        ... etc ...

But if I change variable name to `userx` (from user'), all is compiled
succesflully, no any holes. Where is the hole?

---
Best regards, Paul


More information about the Haskell-Cafe mailing list