這裏就是我有一個問題的代碼:要在任意多的參數定義 {-# LANGUAGE GADTs, LANGUAGE DataKinds #-}
-- * Universe of Terms * --
type Id = String
data Term a where
Var :: Id -> Term a
Lam :: Id -> Type -> Term b -> Te
(圖1) 的簡單類型λ演算的一部分(圖1),它是在Haskell如下面給出的實施。 evaluate expression = do
case expression of
(Application (Lambda x ltype term) value) | isValue value = True -> substitute term x value
(App
我需要驗證的lambda表達式類型類型: 我的方法給我: 我試着在Haskell來定義它(上擁抱),如這樣的: h= \f x -> f (f x)
當我致電:類型comamnd它給了我: (a -> a) -> a -> a
是否在Haskell中正確定義了mi函數?或者我的方法給了我一個錯誤的結果?