Haskell 实例头中的语法错误(应为变量)
我正在读《Haskell通往逻辑、数学和编程之路》这本书,我从第二章()下载了他们的代码,但当我试图编译代码时,它不起作用 错误消息是:Haskell 实例头中的语法错误(应为变量),haskell,Haskell,我正在读《Haskell通往逻辑、数学和编程之路》这本书,我从第二章()下载了他们的代码,但当我试图编译代码时,它不起作用 错误消息是: TAMO.hs:85 - Syntax error in instance head (variable expected) 预期的变量是什么?我以前从未使用过Haskell,也不知道编译器(Hugs)希望我做什么来修复它 class TF p where valid :: p -> Bool lequiv :: p -> p ->
TAMO.hs:85 - Syntax error in instance head (variable expected)
预期的变量是什么?我以前从未使用过Haskell,也不知道编译器(Hugs)希望我做什么来修复它
class TF p where
valid :: p -> Bool
lequiv :: p -> p -> Bool
instance TF Bool
where
valid = id
lequiv f g = f == g
instance TF p => TF (Bool -> p)
where
valid f = valid (f True) && valid (f False)
lequiv f g = (f True) `lequiv` (g True)
&& (f False) `lequiv` (g False)
它为我编译,但我必须修复缩进(
lequiv
需要与valid处于同一级别),并使用
{-# LANGUAGE FlexibleInstances #-}
(我使用的是GHC,我不确定拥抱的等价物是什么)
其他信息:
中的最后一个答案向您展示了如何在Hugs中使用
FlexibleInstances
。它是为我编译的,但我必须修复缩进(lequiv
需要与valid处于同一级别),并使用
{-# LANGUAGE FlexibleInstances #-}
(我使用的是GHC,我不确定拥抱的等价物是什么)
其他信息:
中的最后一个答案向您展示了如何在拥抱中使用
FlexibleInstances
。对不起,我的意思是数字“85”是第85行。谢谢,我将从现在开始使用GHC。对不起,我的意思是数字“85”是第85行。谢谢,我将从现在开始使用GHC