Я пытаюсь ознакомиться с Template Haskell, и, к моему удивлению, код ниже компилируется под ghc (версия 6.10.4).
main = do
let
y = [| "hello" + 1 |]
putStr ""
Это говорит мне о том, что в квазициклах нет никакой проверки. Это не то, что я ожидал после прочтения оригинального paper в Template Haskell. Кроме того, следующая программа не компилируется.
main = do
let
y = [| "hello" && True |]
putStr ""
Что здесь происходит?