lambda-calculus

    1熱度

    1回答

    我想表達序列操作使用委託構建lambda表達式在C# public delegate Lambda Lambda(Lambda x); 問題 g*f = λz.(g z = error) -> error, (f o g)z 其中 f o g = λz.f(g z) 是我不不知道如何編碼錯誤術語。 是否有任何的方式來表達它像真假術語或教會的數字嗎?

    1熱度

    2回答

    我正在嘗試爲處理lambda微積分的語言編寫一個小型編譯器。這是語言的模棱兩可的定義,我發現: E →^v . E | E E | (E) | v 符號^,(,)和v令牌。 ^表示lambda,v表示變量。 形式^ v.E的表達式是一個函數定義,其中v是函數的形式參數,E是它的主體。如果f和g是lambda表達式,那麼lambda表達式fg代表函數f對參數g的應用。 我試圖寫這個語言的明確語法

    4熱度

    1回答

    給定一個Haskell表達式,我想執行alpha轉換,即。重命名一些非自由變量。 我已經開始實現我自己的這個功能,它在haskell-src-exts Exp樹上工作,但事實證明這是令人驚訝的不平凡,所以我不禁想知道 - 是否有一個既定的easy-這種類型的源轉換可用的庫解決方案嗎?理想情況下,它應該與haskell-src-exts集成。

    6熱度

    1回答

    我已經定義了以下函數用於beta測試,但我不確定如何考慮自由變量受限的情況。 data Term = Variable Char | Lambda Char Term | Pair Term Term deriving (Show,Eq) --substition s[M:x]= if (s=x) then M else s AB[M:x]= (A[M:x] B [x:M]) Lambda

    1熱度

    1回答

    我發現邁克戈登的功能性編程介紹Notes在網絡上,我試圖通過它。第9頁有這樣的疑問: Find an example to show that if V1 = V2 , then even if V2 is not free in E1, it is not necessarily the case that: (λ V1 V2 . E) E1 E2 = E [E1/V1][E2/V2]

    4熱度

    1回答

    我想測試一下Lambda微積分解釋器,我已經寫了一個相當大的Lambda微積分表達式測試集。有誰知道我可以使用的Lambda Calc表達式生成器(在Google上進行初始搜索時找不到任何內容)?這些表達式顯然必須適當形成。更好的是,儘管我自己創建了各種示例並制定瞭解決方案,以便檢查結果,但是有誰知道一個好的(和很大的)一套解決Lambda Calculus減少問題的方法嗎?我可以自己輸入表達式,

    1熱度

    1回答

    您好我無法證明這些組合子S K'= K我 用括號[]中的步驟只是告訴你步驟我在做什麼。例如λyz.xz(yz)中的[λxy.x/ x]表示我將用表達式λyz.xz(yz)中的每個x代替(λxy.x) 我到目前爲止所嘗試的是減少SK和我得到這個: S K (λxyz.x z(y z)) (λxy.x) [λxy.x/x] in λyz.x z(y z) (λyz. (λxy.x) z(y z)

    1熱度

    2回答

    我知道這可能很簡單,但我在解決如何減少這個問題時遇到了問題。以下是我的等式。 (λx λy . y x) z 我只是需要一個想法,從這裏開始,因爲我完全失去了。

    12熱度

    2回答

    在OCaml中,它是合法的,在.mli: val f : 'a -> 'a val g : 'a -> 'a 和.ml: let f x = x let g = f 在F# 然而,這個被拒絕: eta_expand.ml(2,5): error FS0034: Module 'Eta_expand' contains val g : ('a -> 'a) but its

    0熱度

    1回答

    假設函數將不同類型的兩個變量(例如,一個變量是C語言中的int,一個變量是C語言中的char)作爲其輸入,並且返回Int中的一個變量。 如果此函數被編碼爲Haskell或lambda微積分代碼,函數的類型如何? 因此,假設函數的類型爲Int -> (Char -> Char) -> Int。這意味着什麼?這是否意味着它收到int變量作爲輸入並運行(Char -> Char)的函數並輸出Int變量?