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