gpt4 book ai didi

purescript - 合并Purescript中的记录

转载 作者:行者123 更新时间:2023-12-04 05:37:09 25 4
gpt4 key购买 nike

鉴于我有以下纯文字记录:

let name = {name: "Jim"}
let age = {age: 37}

是否可以通过通用方式将这两个记录组合在一起?
就像是:
name 'comb' age

这样我得到以下记录:
{name: "Jim", age: 37}

Eff行类型似乎可以实现,但是我很好奇“正常”记录是否可以实现。我是purescript的新手,它是记录语法。

非常感谢。

最佳答案

note :接受此答案时,是正确的,但是现在我们确实具有提到的行约束,以及一个用于处理包含合并/联合的记录的库:https://github.com/purescript/purescript-record

目前无法执行此操作,因为我们没有办法说一行缺少某些标签或其他标签。可能有一个开放记录类型:

something :: forall r. { name :: String | r } -> ...

但是,这仅允许我们接受带有 name和任何其他标签的记录,如果我们想要合并,扩展或从记录中减去,就无济于事。

合并任意记录的问题是我们将具有如下类型签名:
comb :: forall r1 r2. { | r1 } -> { | r2 } -> ???

我们需要某种方式来表示结果( ???)是 r1r2的并集,但我们也可能想说 r1的标签与 r2的标签不重叠。

将来有可能通过 row constraints实现。

关于purescript - 合并Purescript中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35985693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com