Nub型クラス
rowsから重複しているlabelを消去する
code:purs(hs)
class Nub (original :: # Type) (nubbed :: # Type) | original -> nubbed
nub :: forall r1 r2. Nub r1 r2 => { | r1 } -> { | r2 }
nub $ union { x: 1, y: "y" } { y: 2, z: true }
-- { x: 1, y: "y", z: true }
Nub型クラス制約をつけることでlabelに重複がないことが明示されるということねmrsekut.icon
Nub r1 r2 => { | r1 } -> { | r2 }とかけば
r2には重複が含まれていないことが約束される
重複している場合は先のlabelが優先される
jsと逆なので注意mrsekut.icon