I'm trying to become familiar with Template Haskell, and to my surprise the code below compiles under ghc (version 6.10.4).


    main = do
       let
           y = [| "hello" + 1 |]
       putStr ""

This suggest to me that there's no typechecking inside quasi-quotes. This is not what I'd have expected after reading the original paper on Template Haskell. Moreover the following program does not compile.


    main = do
       let
          y = [| "hello" && True |]
       putStr ""

What's going on here?

Edit
Report