cost 185 ms
如何像在 Prolog 中一樣在 Mercury 中生成新變量列表?

[英]How to generate lists of fresh variables in Mercury like I can in Prolog?

在 SWI Prolog 中, list(Xs):- length(Xs, _). 是“純粹的”,因為我可以將具有任何類型實例化的變量傳遞給它,並且它將不確定地將它與特定長度的所有最通用的統一符統一起來。 是否可以在 Mercury 中編寫純list/1 ? 該手冊似乎暗示可以做到這一點,但我在 ...

使用本地模塊時出現 Mercury“未定義引用”編譯錯誤

[英]Mercury “undefined reference” compilation error when using local module

我有一個模塊導出nat/1來測試/生成自然數: 和同一目錄中的主模塊進行嘗試: 我運行mmc --make-int nat.m成功生成了接口文件,但是當我運行mmc main.m時出現以下錯誤: 我version 20.06.1, on x86_64-pc-linux-gnu 。 我錯過了一些明顯的 ...

2021-04-04 19:18:37   1   40    mercury  
我可以在運行時添加謂詞嗎?

[英]Can I add predicates at runtime?

上下文是一個謂詞系統:規則和事實,它們根據客戶的情況共同決定支付給客戶的金額。 大多數規則和事實在編譯時是已知的,但有關特定情況的事實僅在運行時處理支付請求時才知道。 我知道如何在 Mercury 中對系統進行編程,以防所有謂詞在編譯時都已知(即是源代碼的一部分),但我不知道如何在運行時引入謂詞。 ...

2021-01-16 13:55:38   1   61    mercury  
從術語/目標列表中查找成功次數

[英]Find number of successes from a list of terms/goals

如果列表L中的N個數字恰好等於 1,我已經編寫了以下謂詞exactly/2 : 例如,調用exactly(X, [1, 0, 0, 1, 0, 1])會將X綁定到3 。 我想創建類似的東西,但對於謂詞:我想編寫一個謂詞,如果列表L中的N個目標成功,則該謂詞成功。 例如,調用exactly(X ...

Det中的汞含量

[英]Mercury nondet in det

在Mercury中,假設您處於det謂詞中,並且想要按以下方式調用nondet謂詞。 如果沒有解決方案,則需要Result = [] ; 如果有一個或多個, Result = [FirstSolution]想要第一個,例如Result = [FirstSolution] 。 nondet謂 ...

2019-05-21 04:09:31   2   57    mercury  
汞約束求解

[英]Mercury Constraint Solving

我知道一點 Prolog,經常使用 CLP(FD) 等。這篇論文(顯然是 2006 年寫的)表明 Mercury 現在也有約束求解。 我在圖書館參考手冊中發現了一些關於它的提及。 但是,我找不到如何使用它。 例如: 給出編譯器錯誤 但是在 Prolog 中,使用 clpfd, 工作正常, ...

2019-05-02 02:49:32   1   181    clp / mercury  
如何在Mercury中指定編譯時間定義?

[英]How do I specify compile time defines in Mercury?

如何在Mercury中指定編譯時間定義? 我希望構建系統從配置文件中讀取版本號,並將其傳遞到模塊中,以供謂詞和函數訪問。 例如,在C語言中,我將執行以下操作:gcc -DVERSION =“ 1.2.0”,然后在源代碼中使用新定義的宏VERSION。 ...

2019-03-15 13:49:28   1   26    mercury  
水星:此謂詞在頂層聲明時有效,但不能作為lambda聲明

[英]Mercury: This predicate works if declared at the top level, but not as a lambda

(以下摘錄來自該測試套件 ,它是此處找到的兩個文件程序的一半。) 我用兩種方式定義了一個輔助謂詞:一次是在頂層(稱為helper ),一次是作為lambda(稱為Helper )。 在下面的代碼的最后三行中,我使用了該輔助謂詞。 如果使用helper程序,則可以使用,但是如果使用Hel ...

水星清單統一

[英]Mercury List Unification

我正在努力學習Mercury 。 我一直在處理列表,但我無法獲得看似簡單的統一工作。 這是我簡化的示例案例: 在List = [1,2]我收到以下錯誤(已格式化並稍作編輯): 不過,這似乎不對; 特別是[1,2]的實例化。 這是一個字面意思; 它的實例化不應該像list.'[|]'( uni ...

2018-09-26 15:23:47   1   127    mercury  
Windows將mmc誤認為應該是Melbourne Mercury Compiler的Microsoft管理控制台

[英]Windows mistakes mmc for Microsoft Management Console when it should be Melbourne Mercury Compiler

我采取了以下步驟: 但是Windows會彈出一個Microsoft管理控制台對話框。 如何在.m文件中調用Melbourne Mercury 14編譯器? 先前的stackoverflow問題是針對Mercury 11.07.1的,它引用了Mercury 14中沒有的README ...

2018-09-20 01:39:13   1   44    mercury  
水星是否支持代數謂詞?

[英]Are algebraic predicates supported in Mercury?

我對Mercury和邏輯編程很新。 我沒有在文檔或示例中找到這樣的數字示例...... 以示例謂詞為例: 有了這個,A必須被磨削,B是自由的。 如果我希望A自由並且B要被接地(例如,添加mode diffThirtyFour(out,in) is det. ) mode dif ...

2017-12-19 04:39:20   1   105    mercury  
需要安裝Mercury編譯器

[英]Need to install Mercury compiler

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

2017-07-15 23:19:36   1   178    mercury  
如何檢查變量是否在 Mercury 中實例化

[英]How to check if a variable is instantiated in Mercury

我是 Mercury 語言的完全初學者,雖然我之前學習過 Prolog。 水星的新方面之一是真皮主義。 main函數必須是確定性的。 為了做到這一點,我必須檢查一個變量是否統一/綁定到一個值,但我找不到如何做到這一點。 特別看代碼: 這樣的main不會失敗,即它會(我猜)滿足確定性約束。 所以 ...

2016-10-15 21:41:17   3   182    mercury  
使用子目錄中的子模塊構建Mercury程序

[英]Building a Mercury program with sub-modules in a subdirectory

我有一個從其他文件導入模塊的汞程序。 我希望能夠將此文件放在子目錄中。 我怎樣才能做到這一點? 我正在使用mmc -E --make --trace deep filename來制作程序。 我看過構建多模塊Mercury程序,但它似乎沒有處理子目錄問題,盡管我可能錯了。 ...

2016-06-02 15:56:08   1   51    mercury  
需要一個水銀記錄語法的例子

[英]Need an example of Record Syntax in mercury

我是水銀的新手,我正試圖圍繞記錄語法 ,但參考手冊是我遇到它的唯一地方,它讓我感到神秘: 術語^ field1(Arg1)^ field2(Arg2,Arg3)等同於field2(Arg2,Arg3,field1(Arg1,Term))。 有人可以幫助一個真實世界的例子嗎? ...

2015-08-31 05:04:04   1   120    mercury  
如何顯示長整數列表? (水銀語言)

[英]How do I display a list of long integers? (Mercury language)

在io.write_list(List(integer),“,”,OutputPred,!IO)中,什么是OutputPred? 我正在嘗試顯示整數類型的列表。 該列表最初從不為空。 ...

2014-12-05 17:08:10   2   114    mercury  
如何在Mercury中將文本行繼續到下一行?

[英]How continue line of text to next line in Mercury?

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

2014-12-01 17:21:53   1   58    mercury  
如何為導入或輸出列表的謂詞聲明謂詞?

[英]How to declare a pred for a predicate that imports or outputs lists?

尋找幫助來聲明謂詞的謂詞,該謂詞可以導入或輸出列表。 我試過:-pred name(list :: in,integer :: out)是多的。 並且編譯器錯誤消息說無法識別list / 0。 檢查了庫模塊列表,發現我應該寫類似...(list(T):: in .....)的東西,但是並沒 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM