嗨,我正在构建我自己的 GPU 编程 Haskell DSL 版本,称为 Accelerate 。问题是关于 infixl
声明:
这是代码片段:
infixl 3 :.
data tail :. head = tail :. head
deriving (Eq, Show)
我认为这个片段非常简单明了,但是当我尝试将其加载到 ghci 时,它失败了:
它报道:
Illegal declaration of a type or class operator ‘:.’
Use TypeOperators to declare operators in type and declarations
你对这个问题有什么想法吗?我使用的 ghc 版本是:
The Glorious Glasgow Haskell Compilation System, version 7.8.3
谢谢!
最佳答案
你需要
{-# LANGUAGE TypeOperators #-}
在您的源文件中。这就是错误消息所说的。
要在 ghci 中使用它们,您还必须在那里启用。见 XTypeOperators extension doesn't work as pragma