algebraic-data-types

    9熱度

    1回答

    是否有可能定義平等的一個簡單的語法概念(類似於GHC可能會自動導出爲Eq實例哈斯克爾98型),沒有明確地證明每個數據構造函數都是內射的,或者做了類似的事情,比如定義每個構造函數的縮回以及使用cong? 換句話說,是否有可能更直接地利用數據構造函數的注入性,而不是必須爲每個構造函數引入一個輔助函數? 以下以自然數爲例。 module Eq where open import Functi

    1熱度

    1回答

    我想編寫一些可以處理Haskell中的所有數據類型的函數(至少Data.Data中的所有Data實例)。我遇到的一個普遍問題是根據構造函數是否遞歸來選擇做什麼 - 通過遞歸構造函數我的意思是數據類型是D,並且存在構造函數C,其中一個參數是D. 我可以通過解決一個更簡單的問題來解決上述問題:給定一個數據,確定最外層的構造函數是否是遞歸的。 這裏是嘗試數1: data B a = T | F gIs

    3熱度

    2回答

    什麼數據類型做二進制(1的和0的)有?在一個例子中,我將它們看作具有字符串作爲數據類型。 從這我知道字符串不用於執行計算的變量。 因此,當兩個二進制變量的數據類型爲字符串,並且它們可以互相操作時,該怎麼做?

    3熱度

    2回答

    我想描述的整數: data Integer : Set where Z : Integer Succ : Integer -> Integer Pred : Integer -> Integer ?? what else 以上沒有定義的整數。我們需要Succ(Pred x)= x和Pred(Succ x)= x。但是, spReduce : (m : I

    0熱度

    1回答

    我正在寫一個nodejs的東西,並嘗試Pacta promise library的樂趣。 Pacta的界面是「代數」的,但我對這個範例沒有任何經驗。 我想知道什麼是「約定必須的方式」來完成同樣的事情 $.when.apply(undefined, arrayOfThings) .then(function onceAllThingsAreResolved(thing1Val, thing2Val

    12熱度

    1回答

    是否一些標準的Haskell庫這樣定義 data ListWithEnd e a = Cons a (ListWithEnd e a) | End e 這是一個列表,其端接元件中攜帶的指定類型的值的數據類型? 所以ListWithEnd()與[]是同構的,而ListWithEnd Void是同構於無限流。或者,不同的觀察,ListWithEnd e a非常接近ConduitM

    1熱度

    2回答

    我試圖建立一個使用Coq的cobordism的歸納類型,以便可以證明cobordism(1-groupoid和2-groupoid)的某些屬性。我使用下面的代碼勒柯克: Unset Automatic Introduction. Inductive Topo : Set := t | nt. Definition F (i j : Topo) := match i, j with | t,

    1熱度

    1回答

    我很好奇,爲什麼scala.util.Try有異常的類型像 abstract class Try[+E <: Throwable, +T] { recoverWith[U >: T](f: PartialFunction[E, Try[E, U]]): Try[E, U] ... } 沒有類型參數會和文檔幫助,如 仍然無法表達不相交的異常類型,如throws Securi

    1熱度

    1回答

    data BoolLit = T | F instance Eq BoolLit where b1 == b2 = True data BExp = BoolLit | Or BExp BExp bEval :: BExp -> BoolLit bEval T = T 我得到以下語法錯誤: Couldn't match expected type 'BExp

    1熱度

    2回答

    只包含節點的考慮下面的簡單Tree data Tree = Leaf | Node Tree Tree deriving (Eq, Show) 是有辦法恢復使用遞歸節點的無限量(一個Tree只有Nodes,無葉)? 到目前爲止,我只知道如何返回數據類型,如Boolean和Integer。我該如何着手返回Tree?