lambda-calculus

    2熱度

    2回答

    我試圖寫一些讀取Lambda表達式並輸出一個測試版縮小版。 Lambdas將按如下方式鍵入:\ variable - >表達式和應用程序的形式(表達式)(表達式)。所以,如果「\」是在字符串的開頭找到它知道來處理Lambda和如果「(」發現它知道處理申請 我已經定義爲Lambda表達式類型: data Expression = Variable String | Lambda Ex

    -9熱度

    1回答

    我在問原因或原則。 我發現,在Java8界面中的「流」的大多數方法不聲明爲「默認」,所以他們body.For例如,沒有方法: 布爾anyMatch(作謂語); boolean allMatch(Predicate predicate); 流圖(功能映射器); 正如您在源文件Stream.java中所見。 但是這些沒有機構的方法似乎能夠在java程序中執行。 你知道爲什麼嗎? 謝謝。

    1熱度

    1回答

    我正在學習lambda微積分,只有它的基本知識。我閱讀了許多網站和論文,並理解邏輯(T/F /和/或),謂詞和後繼者的工作方式,但我不知道如何通過使用lambda演算來完成編程中的其他事情。 我想知道我怎麼會用自然數的對和有理數成對的演算整數的定義正,負整數。 謝謝你的幫助。

    0熱度

    1回答

    我正在計算lambda Term的正常形式。我也有解決方案,所以我知道我的步驟直到「結束」是正確的。 給定的期限是 (\a.\b.(\x.a b x)(\y. b y x) a) (\f. f f)g 和該normalform是 g g (\y. g y x)(\f. f f) 我也得到了這一點,但後來我繼續,我不明白爲什麼這是最後期限。我繼續 g g g (\f. f f) x 然後

    2熱度

    2回答

    如何在不使用lambda演算遞歸的情況下編寫階乘函數?意思就是數學符號不能在任何特定的編程語言中實現。

    1熱度

    1回答

    我想了解lambda微積分。但是,我有點卡住這個表達式:TRUE和TRUE。我無法弄清楚如何才能得到 ((\T F -> T) (\T F -> T)) 到 (\F T F -> T) ,不 (\F -> (\T F -> T)) \是λ-簽名

    1熱度

    1回答

    目前我正在爲我的考試做準備,這是我從來沒有真正理解的關於Haskell的內容。 類型規則如下 「UND」 手段 「和」 德語。 所以給定功能 f :: ([a] -> b) -> a -> [b] g :: c -> Int -> c 現在我必須使用上述類型的規則來確定類型(f g)。有人能解釋我如何在這一點上進行?

    2熱度

    1回答

    銀鴻描述爲馬爾可夫鏈的一個特性: 未來是獨立給出本 https://www.youtube.com/watch?v=lfHX2hHRMVQ(4分鐘到視頻)過去 這引起了共鳴的因爲我目前正在學習函數式編程(FP)。 在FP你也可以忽略過去,因爲你的函數只需要以執行一些動作,並輸出一個新狀態的當前狀態。這並不一定適用於面向對象,因爲您的輸出可能取決於不同地方的多個州。 有沒有我不知道的FP和馬爾可夫鏈

    0熱度

    2回答

    我寫的什麼我嘗試做一個簡單的例子: class Test: @staticmethod def mul(x,y): return x*y FUNC1 = staticmethod(lambda y: Test.mul(y,2)) FUNC2 = staticmethod(lambda y: staticmethod(lambda x: Test.

    1熱度

    3回答

    fac n = if n < 2 then 1 else n * fac (n-1) main = do putStrLn "Enter a number: " number <- getLine print $ number >>= fac 我不知道如何編寫沒有if語句的遞歸階乘函數。我們的教授說了一些關於lambda微積分的話。