gpt4 book ai didi

syntax - 模块缩写

转载 作者:行者123 更新时间:2023-12-01 08:54:24 24 4
gpt4 key购买 nike

在 Lua 中有一个将“self”发送给函数的简短表示法,所以 a.withdraw(a, 100.0) 可以写成 a:withdraw(100.0)。难道不应该对 OCaml 做一个类似的扩展,让 List.length l 写成 l::lengthList.map (fun e -> e + 1) l 写成 l::map (fun e -> e + 1)?

最佳答案

这是 Fabrice Le Fessant 几个月前在 ocaml bugtracker 上提出的问题:PR#6012 object-like notation for module functions ,灵感来自他在 wxOCaml 上的工作库(请参阅您的设计说明 in this PDF)。

功能请求引发了讨论(请参阅 PR#6012 链接以获取讨论),但我认为共识是这不是一个好主意。人们不喜欢添加特定的语言功能来支持使模块编程类似于对象编程。

我认为您可以将这个想法分解成更小的部分,每个部分单独起来都很有趣,但需要做更多的工作才能被充分理解,以便集成到成熟的编程语言中。例如,您在暗示某种形式的代码推断。

关于syntax - 模块缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19461624/

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