iso-prolog

    2熱度

    1回答

    試圖打印大膽,在序言帶下劃線的文本,但不能寫出來 write('\033[1mbold\033[0m') ANSI轉義字符使這個(預期)錯誤: syntax error: \ expected in \constant\ sequence 什麼是正確的方式做它與gprolog?也許用format?

    13熱度

    2回答

    在舊課本一個經常遇到運營商的聲明如下所示: ?- op(1200,fx,(:-)). ^^ 使用這些圓括弧是必要的。但今天,他們不再需要: | ?- writeq(op(1200,fx,(:-))). op(1200,fx,:-) 他們爲什麼不再需要?標準如何應對這種情況? 第97頁MU-的Prolog3.2分貝參考手冊6.標準運算符聲明由Lee納什,LNCS 238,施

    2熱度

    1回答

    我正在構建一個DSL,它使用程序(基本上)必須是唯一的名稱。 目前還不清楚用什麼樣的錯誤術語來表示第二個定義。 exists_error sorta有點適合,但我不舒服。這似乎意味着缺少定義,而不是多重定義。 permission_error(修改,過程,名稱/ Arity)似乎很有前途,但似乎暗示「有些人可以做到這一點,但不是你」。沒有進一步的啓示,我會用這個。 syntax_error sor

    2熱度

    1回答

    鍵入 「序言」 時獲得的終端正確的答案,但錯誤的答案得: GNU Prolog 1.3.0 By Daniel Diaz Copyright (C) 1999-2007 Daniel Diaz | ?- 打字: | ?- member(2, [1,2,3]). 獲取: true ? 然後按Enter鍵獲取: yes 打字: | ?- member(4, [1,2,3])

    4熱度

    2回答

    我在七週內使用七種語言的Prolog教程,並嘗試使用Android Jekejeke Runtime執行一些示例。 例如,如果我從教程添加 likes(wallace, grommit). ,我得到。 Error: Undefined, private or package local predicate likes/2 我嘗試使用斷言,如How to create a fact in S

    3熱度

    1回答

    我剛開始學習有關prolog,我在想爲什麼它是dfs而不是bfs,爲什麼沒有簡單的方法來改變它。 ISO prolog的任務是嗎?

    1熱度

    1回答

    如何在SICStus中使用once? 在SWI Prolog的,下面的工作: test(X, Y, abc) :- once(X == 'true' ; Y == 'true'). 但在SICStus序言,once似乎是無法識別的。 SICStus中的once等效於什麼? 謝謝。

    14熱度

    1回答

    在ISO Prolog中測試不同變量列表的最簡潔和規範的方法是什麼?我們稱之爲元邏輯謂詞is_varset/1。 所以它應該成功,如果它的參數是一個變量列表都是不同的。請注意,列表始終包含一個[]。如果一個變量在最後,我們稱之爲部分列表(這不是一個列表)。如果一個非變量項作爲既不是[]也不是變量的後綴發生,那麼這就是既不是一個部分列表也不是一個列表。 該術語既不是部分列表也不是列表的一個值得注意的

    5熱度

    2回答

    在Prolog中,統一X = [1|X]是獲得無限列表的理想方式嗎? SWI-Prolog沒有任何問題,但是GNU Prolog只是簡單的掛起。 我知道,在大多數情況下,我可以 one(1). one(X) :- one(X). 更換名單,但我的問題是明確的,如果人們可以在「理智」的Prolog實現中使用的表達X = [1|X], member(Y, X), Y = 1。

    1熱度

    1回答

    想象一下,我有以下謂詞,其中指出ID loc1指定一個位置。 isLocation('loc1', 'Location 1'). 我想提供第二個文本(Location 1)的翻譯,即i。即鍵值對,如en='Location 1', de='Ort 1', ru='Местоположение 1'。 在Prolog中編碼這些數據的正確方法是什麼,特別是TuProlog(以及理想的標準化Prol