algebraic-data-types

    2熱度

    1回答

    我有一個GADT定義如下(略), {-# LANGUAGE StandaloneDeriving #-} data D t where C :: t -> D t R :: D b -> D (Either a b) deriving instance Show t => Show (D t) 編譯器正確地抱怨說,它不能獲得顯示R.在這種情況下,我們有(無論是AB)是類

    40熱度

    4回答

    甲recent blog post on William Cook's Fusings提到: 的關鍵點是,在ENSO結構整體上看作是曲線圖,而不是作爲單獨的數值或傳統總和和產品數據結構。 他指的是什麼傳統的總和和產品數據結構?

    2熱度

    1回答

    我製作了這種數據類型,其中有很多重複。 data JobState = UnsanitizedData Handle | SanitizedData Handle | VerifiedData Handle | JobFail Handle 我不希望任何這些JobState在沒有Handle的情況下使用。但重複讓我懷疑我沒有正確表達這一點。有沒有

    4熱度

    4回答

    是否有描述數據類型 恰好有兩個構造一個字;和 不遞歸? 即描述了這些類型的 data Bool = False | True data Maybe a = Nothing | Just a data Either l r = Left l | Right r ,但不包括這些類型 data Ordering = LT | EQ | GT -- too many constructors d

    0熱度

    2回答

    我有CSV數據(繼承 - 這裏沒有選擇),我需要用它來在Haskell中創建數據類型實例。解析CSV是沒有問題的 - 教程和API比比皆是。 這裏是「秀」產生我簡化精簡的測試用例: JField {fname = "cardNo", ftype = "str"} (string representation) 我能夠做一個讀這個字符串轉換成JField數據記錄。我的CSV數據字段的只是值,因此

    1熱度

    5回答

    其他然後內存鑄造技巧是有什麼辦法可以使用無標記的工會 (數據類型,明確持有一組類型不是一個標籤聯合之一, 即,一個是被編譯器強制保存關聯的類型標記,並且可能只有該語言才允許獲得正確類型的值) 沒有在容納它的容器中的關聯類型標記? 未標記的工會對類型化工會有什麼其他優勢嗎? 編輯:顯示我的意思例如在Haskell標籤聯合 data U = I Int | S String 手動在C標籤聯合 en

    7熱度

    2回答

    我正在嘗試製作一些Haskell類型,這些類型不是通過類型而是通過類型的元素(特別是整數)進行參數化。例如,R^2中的(線性代數)向量和R^3中的向量是不同類型的對象。具體來說,我正在Haskell編寫一個K-D樹,我想用正整數參數化我的數據結構,因此三維樹和四維樹具有不同的類型。 我試圖通過元組來參數化我的樹,但它似乎沒有去任何地方(似乎有點不太可能這可以通過,特別是因爲它似乎並不是三倍或更大的

    4熱度

    1回答

    我有一些代數數據類型A,B和C各實現類: class Dog a where dog :: a -> Bool 如果我創建一個新的代數數據類型: data D = A | B | C 是有一個簡單的方法讓D實現Dog,而不必爲A,B和C重新定義每個實例? 感謝

    9熱度

    2回答

    如果我有一個Haskell ADT如: data Foo = A Int Double | B Bool [Integer] | C (Maybe String) Float 的A,B,和C被稱爲數據構造;有時可以看作價值構造函數。但是什麼是正確的名稱: 「行/備選」:例如, B Bool [Integer];和「行/備選」的「字段/元素」:例如, Double in A或 [Integ

    13熱度

    5回答

    我剛開始學習Haskell。我想我已經掌握了基礎知識,但我想確保我實際上也在強迫自己在功能上進行思考。 data Dir = Right | Left | Front | Back | Up | Down deriving (Show, Eq, Enum) inv Right = Left inv Front = Back inv Up = Down 無論如何,我想要做JIST是創建一個