clojure-core.logic

    2熱度

    1回答

    我在interview with Rich Hickey中讀到他對「使用邏輯系統代替Clojure類型系統」感興趣。我也在SO回答中碰到了這個聲明,https://stackoverflow.com/a/6324228/380587我看不出邏輯和類型系統是如何相關的。

    3熱度

    1回答

    最近切換到Rails 3.1.0.rc4,並且我無法讓我們的CI構建版運行。它歸結爲以下簡單情況: -bash-3.2$ echo $RAILS_ENV test -bash-3.2$ bundle exec rake db:drop db:create db:test:prepare You have 21 pending migrations: 20100628174219

    4熱度

    2回答

    似乎clojure.core.logic有問題走集。 最小故障例如: (run* [q] (== q #{})) 產生 在clojure.core.logic.Substitutions.walk(logic.clj:344) java.lang.StackOverflowError的 在clojure.core 。邏輯$ walk_STAR_ $ FN_ 2633.invoke(logic.cl

    2熱度

    1回答

    我正在使用Clojure的core.logic CLP(FD)庫(core.logic版本0.8.3)的樸素平方包裝算法。 正方形表示像這樣: [[[x11 y11] [x12 y12]] [[x21 y21] [x22 y22] ...]] 與表示爲它的左上角和右下角的座標的每個正方形。 座標是FD變量,在一定的時間間隔內。 我想定義一個解決方案,到原點的最近和最遠的正方形的右上角和右下角

    2熱度

    2回答

    我試圖在clojure.core.logic中執行membero的反義詞,但它返回兩個值而不是一個值。否則,它工作正常(當值在列表中時不返回任何內容,而當它不在時則返回任何內容)。 (defne nonmembero "A relation where l is a collection, such that l does not contain x" [x l] (

    5熱度

    1回答

    我與core.logic試驗,並希望實現自己的自定義數據類型來參加邏輯表達式: (deftype Expression [node vars] ....) 基本上,這代表了一個數學表達式樹中的節點,包含一個節點樹和一組使用的未綁定變量。 node是一個常數,一個符號或一個(Operator Expression Expression....)樹節點。我希望能夠使用core.logic

    1熱度

    1回答

    我想知道是否有其他人需要,因此編碼,如membero謂詞,但散列映射。當然,我可以在散列圖上使用(seq),但是如果它已經是LVar,它將不起作用。 如果我們把它叫做keyvalo,它會像工作: (run* [q] (fresh [m kv] (== m {:a 2 :b 3}) (keyvalo kv m) (== q kv))) => ([

    3熱度

    2回答

    我想了解爲什麼以下product-pluso函數返回意外的結果。我發現了一個錯誤,或者我誤解了它的工作原理嗎?我在CLP/FD上使用core.logic。我仍在學習,所以我可能只是做錯了。函數應該採用兩個因子,一個數字和一個和。總和應該是因素加上數字的乘積。它的效果很好,除非這兩個因素都是新鮮的。然後我得到奇怪的結果。 core.logic v0.8.2發生這種情況。 (ns strang-res

    1熱度

    1回答

    我明白,core.logic中的project不是關係型的。 然而,似乎我可以在裏面conda兩個方向投影獲得的關係類似的行爲,例如: (defn lifto-with-inverse "Lifts a unary function and its inverse into a core.logic relation." ([f g] (fn [& vs]

    1熱度

    1回答

    所以我一直在試圖教自己clojure和core.logic,並決定嘗試和實施一個解決方案,產品總和問題(http://en.wikipedia.org/wiki/Impossible_Puzzle)。 到目前爲止,我已經實施了前兩個步驟。 (ns sum-product-problem.core (:refer-clojure :exclude [==]) (:use cloj