2016-03-23 20 views
0

私は著書「ロジック、数学へのHaskellの道とプログラミング」を読んでいると私は第二章(http://homepages.cwi.nl/~jve/HR/)から自分のコードをダウンロードし、私はコードをコンパイルしようとすると、 、それは動作しません。構文エラー(変数予想される)

エラーメッセージは次のとおりです。

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) 

答えて

3

(私が使用していますそれは私のためにコンパイルが、私は(lequivが有効と同じレベルになるために必要な)インデントを修正し、

{-# LANGUAGE FlexibleInstances #-} 

を使用してFlexibleInstances言語拡張を追加する必要がありましたGHC、私はHUGSの等価が何であるかわからない)


追加情報:

Instance Show for functionの最後の答えは、あなたがどのように抱擁でFlexibleInstancesを使用することを示しています。

+0

申し訳ありませんが、私は85という数字が85だったことを意味しました。 – jvrn3

+1

ありがとう、私は今からGHCを使用しています – jvrn3

+1

ほとんどの人は.... – jamshidh

関連する問題