lambda-calculus

    8熱度

    2回答

    我試圖用lambda演算定義一個stack數據結構,使用了定點組合器。我試圖定義兩個操作,insertion和removal的元素,所以push和pop,但我已經能夠定義的唯一一個插入,無法正常工作。刪除我無法弄清楚如何定義。 這是我在push操作方法,和我一stack的定義: Stack definition: STACK = \y.\x.(x y) PUSH = \s.\e.(s e)

    0熱度

    1回答

    我對lambda微積分相當陌生,我正在嘗試做下面的練習,但我無法解決它。 uncurry(curry E) = E 任何人都可以幫助我嗎?

    0熱度

    2回答

    我正在學習函數式編程和lambda微積分,但是我想知道 如果閉合項也出現在教會的原作中,或者它是一個更嚴格的語言的現代 術語。 我記得在教會的工作中有一些術語:自由變量,關閉到..., 等等。

    1熱度

    1回答

    考慮下面的表達式範式: ((λx.λx.xx) (λx.xzx)) (λy.yy) 我想用公測減少查找其正常形態。 我的計算: ((λx.λx.xx) (λx.xzx)) (λy.yy) -> ((λx.xzx)(λx.xzx)) (λy.yy) -> ((λx.xzx)z(λx.xzx)) (λy.yy) -> (zzz (λx.xzx)) (λy.yy) -> ? 但我怎麼能繼續從

    1熱度

    2回答

    假設的Haskell或演算呈現以下功能類型: A - >乙 - 「ç (A - > B) - 」ç 這兩個不同?

    1熱度

    1回答

    我對函數式編程,lisp和lambda微積分很新穎。我試圖用Common Lisp Lambda Calc風格實現AND運算符。 維基百科: AND:=λp.λq.pqp 到目前爲止,這是我的代碼: (defvar TRUE #'(lambda(x)#'(lambda(y)x))) (defvar FALSE #'(lambda(x)#'(lambda(y)y))) (defun OPAND

    1熱度

    1回答

    我正在嘗試實施教會對Lambda Calc。風格與CLisp。 維基百科據: pair ≡ λx.λy.λz.z x y 到目前爲止,這是我的代碼: (defvar PAIR #'(lambda(x) #'(lambda(y) #'(lambda(z) (funcall (funcall z x) y))))) 這是我

    3熱度

    1回答

    我試圖用clisp Lambda Calc實現一個Division功能。風格 我從this站點讀取的分割的lambda表達式爲:(。λgqabLT AB(PAIR QA)(克(SUCC Q)(SUB AB)b))的 ÿ0 這些真假 (defvar TRUE #'(lambda(x)#'(lambda(y)x))) (defvar FALSE #'(lambda(x)#'(lambda(y)y))

    1熱度

    1回答

    我做了這個IF-THEN-ELSE演算代碼 (defvar IF-THEN-ELSE #'(lambda(con) #'(lambda(x) #'(lambda(y) #'(lambda(acc1) #'(lambda (acc2) (funcall (funcall (funcall (funcall co

    2熱度

    2回答

    我想評估下式:使用β減少 (λx.y)((λz.zz)(λw.w)) 。 答案是: (λx.y)((λz.zz)(λw.w)) -> (λx.y)((λw.w)(λw.w)) -> (λx.y)(λw.w) -> y 但我不明白的第二階段: 從這裏:(λx.y)((λz.zz)(λw.w))到這裏(λx.y)((λw.w)(λw.w)) 我們在做什麼呢?根據我的理解,我需要使用α等價規