mercury

    1熱度

    1回答

    如何繼續下去太長線的下一行?我嘗試使用反斜槓,但Mercury編譯器不接受該約定。一直無法找到這個平凡問題的答案。

    2熱度

    2回答

    在io.write_list(List(integer),「,」,OutputPred,!IO)中,什麼是OutputPred?我試圖顯示一個整數類型的列表。該列表最初從不是空的。

    0熱度

    1回答

    我需要安裝Mercury編譯器,才能找到汞網站上共享的鏈接。您能否請分享鏈接下載汞編譯器。

    5熱度

    1回答

    我已經開始尋找Mercury語言,這看起來很有趣。我是一個新的邏輯編程,但在Scala和Haskell的函數式編程方面非常有經驗。我一直在思考的一件事是,爲什麼當你已經有了至少應該和類型相同的謂詞時,你需要邏輯編程中的類型。 例如,什麼樣的好處是有在下面的代碼片段(來自水星教程拍攝)使用類型: :- type list(T) ---> [] ; [T | list(T)]. :- pred f

    1熱度

    1回答

    在Mercury中,我可以聲明一個lambda具有與包含lambda的謂詞模式相同的決定性嗎? 這是我正在嘗試做的。我寫了一個摺疊函數(下面),它適用於array2d類型。 fold爲數組中的每個元素調用一個調用者提供的謂詞。它工作正常,只要它只接受一個det謂詞作爲參數。 :- pred fold(array2d(T), pred(T, int, int, A, A), A, A). :

    2熱度

    2回答

    當描述狀態變量時,水星reference manual表示:「!X可能不會作爲函數應用程序中的參數出現,因爲考慮到狀態變量和函數的通常解釋,這是沒有意義的」(第14頁)。我希望更好地理解這個推理:什麼是狀態變量和函數使得組合無意義? 我的一部分混亂來自下面的代碼,我可以使用狀態變量的形式!.X, !:X,但不能使用!X形式。如果我可以使用前者,爲什麼不使用後者? 此代碼編譯並運行按預期: % Ch

    2熱度

    2回答

    問:構建雙模塊汞程序的簡單模板是什麼? Module_1定義並導出一個簡單的函數或謂詞。 Module_2導入函數/謂詞來計算有用的結果並輸出結果。

    2熱度

    1回答

    在Ubuntu 14.04上使用Mercury 14.01.1。從源代碼安裝了四個等級,包括調試等級。嘗試以下每個沒有成功(文件/目錄丟失) $ MMC --debug名 $ MMC --decl調試文件名的 問:我應該我已經輸入呢?

    6熱度

    3回答

    我想知道一個序言,其中可能包括一個內置的通話是這樣的: accum(generator, filter, accumulator) Calculates all solutions to generator. For each one, if filter can be proved, accumulator is proved. Backtracks to find all solutio

    9熱度

    2回答

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