2011-10-24 11 views
0

私は次のコード行を実行したときに、私は次のエラーにパースエラー(おそらく間違った字下げ)

TyInfer.hs:115:0: parse error (possibly incorrect indentation) 

を取得し、誰もが問題が何であるかを私に説明することができます。

type Subst = [(TyVar, Type)] 

    -- --------------------------------------------------------------------- 
    -- Unification 
    -- 
    unify :: Type -> Type -> Subst 
    unify t1 t2 = error "substBnd: implement me" 
    -- --------------------------------------------------------------------- 
    -- Replace variables in the type with the types in the Subst 
    -- 
    line: no 115: substitute :: Subst -> Type -> Type 
    substitute [(_ , t2)] tv = tv <- t2 
    -- --------------------------------------------------------------------- 
    -- Replace variables in the type annotations of a Bind, Expr, or Alt 
    -- 
    substBnd :: Subst -> Bind -> Bind 
    substBnd _ _ = error "substBnd: implement me" 

ありがとうございます。

+0

全体が実際に2〜3スペース分インデントされていますか? –

+2

トップレベルの定義をインデントしないでください。また、 'tv < - t2'は有効な構文ではありません。 – hammar

+1

代替の目的は何ですか?あなたのコメントは不明です。 –

答えて

1

substituteを定義する行は、他の値を定義する行よりもインデントされています。それらをインデントする。

1

代替のインデントとその定義は正しくありません。テレビ< -t2は意味をなさない。代用機能で何をしようとしているのかをもっと明確にしてください。

関連する問題