unification

    0熱度

    1回答

    我正在做一個證明正則表達式的一些屬性的項目。 這裏是我的代碼 ⇨這裏單元導出部分,Regexp ⇨ word表示正則表達式可以推導出一個字 Σ : Set Σ* : List Σ 下面定義的情況下,當串聯e₁ ∙ e₂可以得到一個字w如果e₁ ⇨ w₁,e₂ ⇨ w₂和w ≡ w₁ ++ w₂ data _⇨_ : RegExp Σ → Σ* → Set where con : {e₁ e

    0熱度

    1回答

    GHC在某些類成員的默認實現中不解析/傳播約束。這種行爲真的很奇怪,在我看來,這是一個錯誤。 有人可以幫我/向我解釋什麼是錯的? 我怎麼能告訴GHC統一從類的聲明中a和a從類方法,這樣的定義也不含糊 有什麼我不明白? 代碼: module Foo where import Data.Proxy data Stuff a = Stuff {content :: String} c

    0熱度

    2回答

    likes(alice, sports). likes(alice, music). likes(carol, music). likes(david,animals). likes(david,X) :- likes(X,sports). likes(alice,X) :- likes(david,X). ?- likes(alice,X). 我一直在試圖學習prolog幾天了

    1熱度

    1回答

    我對Prolog相當陌生。無論如何,我試圖編寫一套遞歸規則,返回給定字符代碼列表中每個單詞的平均字符數。我的代碼如下。 medellangd(Text,AvgLen) :- medellangd(Text,T,1,0,0), AvgLen = T. medellangd([],AvgLen,Space,Words,Chars) :- T is (Chars/Wor

    2熱度

    2回答

    我有一個函數可以從2個列表重建樹。我在所有分支上返回一個列表,但是我收到了一個我不明白的錯誤。但我認爲它與返回類型有關。 的錯誤是這樣的: Can't unify ''a with ''a list (Type variable to be unified occurs in type) Found near recon (::(preoH, preoT), ::(inoH, ...)) Ex

    2熱度

    1回答

    繼suggestion使用嵌套結構的遞歸數據類型就像樹一樣,我嘗試使所述rechaurive datatyep在測試程序中工作,但遇到(又一個,對我來說很神祕)錯誤。 我的計劃是這樣的: datatype 'a tree = Leaf of { value : 'a } | Node of { value : 'a, left: 'a tree, right: 'a tree }

    1熱度

    1回答

    如何驗證兩個列表是否表示它們的變量之間的任何給定順序之間的相同關係,然後統一相應的變量? 例如列表: [#=(_G13544,_G13547+1),#=(_G13553,_G13554),#=(_G13559,2),#>(_G13559, _G13544)] 將相當於: [#>(_G13453,_G13430),#=(_G13409,_G13355),#=(_G13453,2),#=(_G13

    3熱度

    1回答

    試圖實現匹配,這是一個有限的形式 的統一。 試圖匹配兩個公式匹配,如果我們可以找到替代 公式中出現的變量,使得這兩個在語法上是 等效。 我需要編寫確定對應於一個接地術語如兄弟(喬治)一個 常數的函數,並且對應於一量化公式如兄弟(x)的匹配一個 圖案。如果它們匹配,則函數返回一組稱爲綁定 的替換映射變量的術語。一個常量如果他們 是相等的匹配另一個常數。未綁定變量(當前沒有綁定的變量)匹配 任何公式。

    1熱度

    1回答

    check(Departure, Destination, [(D, S)|T1], [H|T2]):- check(Departure, Destination, T1, T2), ((Destination = D, H = D); H = ''). 我有上面的代碼,我想跳過分配H.我得到一個逗號列表,當我這樣做。

    0熱度

    2回答

    我得到一個問題,我有fun a類型的值,用fun是一個功能和a不得到的類型檢查和計算拋出一個價值無法計算功能的應用程序統一錯誤,當我強制它是該功能應用程序的結果。 特定的錯誤是這樣的: When checking right hand side of testRec2 with expected type Record [("A", String), ("C", Nat)] Typ