type Foo = {
x :: Int,
y :: Int
}
type Bar = {
x :: Int
}
foo :: Foo
foo = {x:1,y:2}
bar :: Bar
bar = foo
无法匹配类型
()
带类型
( y :: Int )
为什么这不可能?
我不能使用
type Bar a = {
x :: Int | a
}
并且不想重新创建记录
bar = {x : foo.x}
是unsafeCoerce
唯一的选择吗?
使用 可能有什么问题unsafeCoerce
?