我不太明白为什么会这样:
module Records where
type Element e = { element :: String, label :: String | e }
type Sel = ( value :: Number, values :: [Number] )
type Select = Element Sel
虽然这说Cannot unify # * with *
。
module Records where
type Element e = { element :: String, label :: String | e }
type Sel = { value :: Number, values :: [Number] }
type Select = Element Sel
(注意 Sel 右侧的 '()' 而不是 '{}'。)
我在这里读过https://leanpub.com/purescript/read#leanpub-auto-objects-and-rowsforall r. { firstName :: String, lastName :: String | r }
去糖
forall r. Object (firstName :: String, lastName :: String | r)
我仍然有点困惑,为什么你不能使用记录糖来扩展记录。