我不明白爲什麼這個工程:記錄PureScript
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-rows是forall r. { firstName :: String, lastName :: String | r }
desugars讀 forall r. Object (firstName :: String, lastName :: String | r)
我仍然有點困惑,爲什麼你不能使用記錄糖來擴展記錄。
非常感謝。這解釋了一切:) 我認爲這將是非常好的關於維基中的記錄的條目。 就像'{value :: Number,values :: [Number]}'一樣。而一個例子你將如何擴展記錄將是非常有用的。 再次感謝 – Archaeron 2015-02-08 22:37:06
沒問題。如果您願意,可以隨意將其複製到wiki上。 – 2015-02-09 19:15:45