這給了我下面的錯誤 不在範圍:數據構造Blah 爲什麼?我以爲我可以使用類型同義詞,我到處都可以使用Person data Person = Person { weight :: Int, height :: Int }
type Blah = Person
person1 :: Blah
person1 = Blah 80 187
是否一些標準的Haskell庫這樣定義 data ListWithEnd e a = Cons a (ListWithEnd e a)
| End e
這是一個列表,其端接元件中攜帶的指定類型的值的數據類型? 所以ListWithEnd()與[]是同構的,而ListWithEnd Void是同構於無限流。或者,不同的觀察,ListWithEnd e a非常接近ConduitM
嘗試在具有類型級別列表的GADT上基於 定義模式同義詞時出現錯誤。 我設法熬下來到這個例子: {-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE PatternSynonyms #-}
mo
我已經設法構建了下面顯示我的問題的「最小」示例。 倘若PatternSynonyms擴展啓用 data Vec = Vec Int Int
pattern Ve x y = Vec x y
f :: (Vec, Vec) -> Vec
f ([email protected](Ve a b), Ve c d)
| a > b = Vec c d
| otherwis