gadt

    7熱度

    1回答

    何時在GHC中引入GADT? (版本+日期) 此外,它們仍然被認爲是語言擴展還是他們現在是Haskell標準的一部分?

    4熱度

    1回答

    我試圖在Haskell中實現組合邏輯,並且我想寫入語言的解析器。我無法通過Parsec解析器工作。基本的問題是我需要一種方法來確保解析器返回的對象輸入正確。有沒有人有關於如何做到這一點的創意? {-# Language GeneralizedNewtypeDeriving #-} import qualified Data.Map as Map import qualified Text.P

    2熱度

    2回答

    在Haskell,其直白地創建一個數據類型遞歸樹,像我們用XML文件有: data XML = Text String -- Text of text node | Elem String [XML] -- Tagname; Child nodes 及其相關褶皺: -- Simple fold (Child trees don't see the surrounding

    8熱度

    2回答

    F#是一個帶OOP的ML。最接近Haskell的廣義代數數據類型和類型類是什麼?

    1熱度

    2回答

    我正在爲Coursera的AI Planning課程編程Lispy PDDL解析器。 如何在Haskell中定義Lispy數據類型?

    2熱度

    2回答

    我創建了一個非常簡單的問題示例,我使用的是GADT和DataKinds。我的真實應用顯然更復雜,但這清楚地表明瞭我的情況的本質。我試圖創建一個函數,可以返回任何類型的值(T1,T2)的測試。有沒有辦法做到這一點,還是我進入依賴類型的領域?這裏的問題看起來很相似,但我無法從他們那裏找到(或理解)我的問題的答案。我剛剛開始瞭解這些GHC擴展。謝謝。 similar question 1 similar

    3熱度

    1回答

    我想知道是否有有這樣的一些方法: ​​ 這裏的問題是,我不能定義BinOp兩次,而我想這取決於參數類型。 PS:「canonical」的意思是「包含在表達式中的n個變量用範圍從0到(n-1)的整數」表示。這是一個不變的,我需要強制我的一些職能。

    4熱度

    1回答

    我有僅曾經與兩個不同的參數,ForwardPossible和()中使用的GADT: -- | Used when a forward definition is possible. data ForwardPossible = ForwardPossible deriving (Eq, Ord, Typeable, Data, Show) -- | GADT which accepts fo

    4熱度

    1回答

    說我有以下GADT: data Stage a b where Comb :: Stage a b -> Stage b c -> Stage a c FMap :: (a -> b) -> Stage a b 我現在想要的是這樣的一個功能: run (a `Comb` b) = (a,b) run (FMap f) = (FMap f,FMap id) 我將如何構

    3熱度

    3回答

    以下程序類型檢查和編譯: import Control.Arrow data Ns = Na | Nb | Nc | Nd deriving Show data Net a where Uni :: a -> Net a Serial :: Net a -> Net a -> Net a Branch :: Show a => Net a -> Net (Ne