curry

    4熱度

    1回答

    ,我得到這個: checking for Haskell 98 compiler... checking for ghc... ghc checking ghc version... 7.0 checking whether ghc supports Haskell 98... [1 of 1] Compiling Main (conftest.hs, conftest.o) yes

    3熱度

    4回答

    我遇到下面的代碼片段(函數定義): choose (x:xs) = choosep x xs where choosep x [] = x choosep x (_:_) = x choosep _ (x:xs) = choosep x xs 在 「標準庫」 0​​ -/usr/lib目錄/咖喱-0.9.11/Success.curry從Muenster Cu

    9熱度

    1回答

    我有一個標準的數據類型表示謂詞邏輯的公式。代表的脫節自然演繹排除規則的函數可能看起來像: d_el p q = if p =: (Dis r s) && q =: (Neg r) then Just s else if q =: (Dis r s) && p =: (Neg r) then Just s else Nothing where r,s free x

    3熱度

    2回答

    的相當迷人的2013的介紹後對Haskell的基礎KiCS2實施Curry由Wolfgang Jeltsch,A Taste of Curry,提供了inverse組合子定義如下: inverse :: (a -> b) -> (b -> a) inverse f y | f x =:= y = x where x free (注:這樣做之類的東西inverse (+1) 3 == 2和in

    0熱度

    1回答

    我剛剛開始與Argo解析我的json響應到對象中。我有下面的代碼(見下文),但它一直扔了以下錯誤: 類型「應用程序」不符合協議「可解」 不能援引「咖喱」用的參數列表類型 '((的applicationID: 字符串,接觸:字符串,狀態:字符串,JOBTITLE:字符串,面積: 字符串,付:字符串) - >應用程序)' import Foundation import Argo import C

    9熱度

    2回答

    我對Prolog的力量感到非常驚訝。花了一段時間才弄到頭,但對我來說,它似乎是最酷的聲明性語言。這就是爲什麼最近,經過兩年對Scala的一些函數式編程之後,我決定再次看看邏輯編程,以「訓練我的大腦」或更好的實際使用。 功能和邏輯編程相結合似乎對我學習/鞏固這兩個聲明範例的概念很有吸引力。我發現還有很強大的類型系統非常有用和引人入勝。 斯卡拉真的與interop閃閃發光。我們不要重新發明輪子。它應該

    0熱度

    1回答

    最近,我跟着通過A Taste of Curry,事後決定把瑣碎的算術解析器例子來測試,通過編寫一個較爲可觀的解析器:一種原始的,但正確功能性的HTML解析器。 我結束了一個工作node2string的函數,在Node操作(具有屬性和兒童),然後我inverse d以獲得parse函數,如在文章中舉例說明。 第一個天真的實現有錯誤,它解析任何東西,但例如將簡單的<input/> HTML代碼片段合

    17熱度

    4回答

    我想問一下,從零開始/逆向工程實現什麼樣的正式系統會更有趣。 我已經瀏覽了一些現有的和開源項目的邏輯/聲明式編程系統。我已經決定在我的空閒時間做出類似的事情,或者至少抓住實施的總體思路。 如果這些系統中的某些系統能夠提供邏輯中現代學術調查的大多數表達能力和簡潔性以及與計算模型的關係,那將是非常好的。 你會推薦至少在概念層面上學習什麼?例如,Lambda-Prolog尤其有趣,因爲它允許更高階的關係

    1熱度

    1回答

    下面是我在庫裏的第一個項目。它打印達到所需解決方案所需的步驟順序(穿過關閉的門)。 Evaluating expression: main Done (Just [Open,Walk,Close]) 如何在尋找Impossible時使其終止?我正在使用Kics2 0.3.1。 import List import AllSolutions import IO import ReadS

    2熱度

    1回答

    我試圖找出的f x y = 3 + y/x點遊離形式在Haskell。我認爲這將是f = (3.0+) . flip (/),但得到的答覆是f2 = curry $ (3.0+) . (uncurry $ flip (/)),這是一樣的f1 = curry ((3.0+) . (uncurry (flip (/)))),例如我得到的答案,但在開始之前翻轉和咖喱之前,uncurry。 我看到的版本是