为什么 OCaml/F# 中的函数默认不是递归的?
为什么 F# 和 OCaml(可能还有其他语言)中的函数默认情况下不是递归的? 换句话说,为什么语言设计者认为在如下声明中显式地输入 rec 是个好主意: l…
OCaml 中的中介者设计模式
我试图在 OCaml 中实现两个类之间的相互绑定(中介模式),但在编译时出现错误。 class virtual ['mediator] colleague mIn = object val m = mIn met…
OCaml 中的访问者设计模式
我正在尝试使用 OCaml 的 OO 构造和类型系统来实现访问者设计模式,但在实例化元素时遇到了问题。 class virtual ['hrRep] employee = object method …
SML 和 OCaml 有什么区别?
Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题吗?通过编辑这篇文章来更新问题,使其…
如何在 OCAML 类中声明记录
我想在类中声明一条记录,如下所示: class player (x, y)= object(self) type gun = {x:int y:int active:bool} val guns = Array.create 5 {x=0 y=0…
在 OCaml 中操作列表
我在以下上下文中操作 OCaml 中的深层嵌套列表时遇到问题。 class foo (pIn:int)= object (self) val p = pIn val even = if (pIn mod 2) = 0 then tr…
OCaml 对象中的递归函数
我试图在对象方法的上下文中找出 OCaml 的递归。 我已经尝试过以下代码,但似乎无法编译它。 class foo = object (self) method loopTest = let rec d…
在 OCaml 的 OOP 构造中动态确定类型
我正在学习 OCaml 的 OOP 构造,并今天部分实现了这一点,直到我意识到我不知道如何在不使用对象外部的 type 关键字的情况下表示多态匹配语句。 class…