GHC - Haskell中的Infixl声明

VEL*_*ETH 3 haskell ghc accelerate-haskell

嗨,我正在构建自己的GPU编程Haskell DSL版本,称为Accelerate.问题是关于infixl声明:

这是代码片段:

infixl 3 :.
data tail :. head = tail :. head
    deriving (Eq, Show)
Run Code Online (Sandbox Code Playgroud)

我认为这个片段非常简单明了,但当我尝试将其加载到ghci时,它失败了:

它报告说:

Illegal declaration of a type or class operator ‘:.’
      Use TypeOperators to declare operators in type and declarations
Run Code Online (Sandbox Code Playgroud)

你对这个问题有什么看法吗?我正在使用的ghc版本是:

The Glorious Glasgow Haskell Compilation System, version 7.8.3
Run Code Online (Sandbox Code Playgroud)

谢谢!

Fra*_*nky 9

你需要

{-# LANGUAGE TypeOperators #-}
Run Code Online (Sandbox Code Playgroud)

在您的源文件中.这就是错误信息所说的.要在ghci中使用它们,您还必须在那里启用它们.请参见XTypeOperators扩展名不能用作pragma