![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ocaml
chenyulancn
python、golang、c/c++、linux、虚拟化、大数据
展开
-
Ocaml 疑难杂症--从快捷键启提示"Impossible to find ocaml.exe"
Ocaml各种小问题(非编程类)和解决方法的搜集,应该会一直更新。 解决方法:Go to your registry, go to HKEY_CURRENT_USER/Software Add a key called "Objective Caml" and inside of it, add the value "InterpreterPath" "C:\Program转载 2012-05-03 14:31:57 · 1187 阅读 · 0 评论 -
帮助深入理解ocaml中functor 的实例
假设我们已经有啤酒与威士忌两个模块: module Beer = struct type t = BEER let pour () = let () = Printf.printf "... a nice head ... " in BEER let consume t =Printf.printf "Ha! No转载 2012-05-09 08:35:27 · 1021 阅读 · 0 评论 -
OCaml中的“协变”与“逆变”
概略地说,子类型是类型间的一种二元关系。如果t1是t2的子类型,那么使用t2的地方就可以使用t1。在OCaml中,子类型起因于多态变体(polymorphic variants)。比如,[`A ]是[ `A |`B ]的子类型,因为能处理`A或`B的代码,一定能处理`A。 你可以使用表达式 (e : t1:> t2) 强制OCaml检查子类型。这个表达式有两层含义:首先核实t1是t2的子转载 2012-05-09 08:46:27 · 869 阅读 · 0 评论 -
Ocaml编程速览
一旦你了解了OCaml便会感到它是一门非常神奇的语言,不过学习它的第一步却是非常困难的。希望这个小小的教程可以让事情变得简单些。 首先OCaml不是一个结构化语言,它属于函数语言家族。纯粹的函数语言没有提供循环机制(你需要使用递归来完成循环),变量也不可改变,以及其它的一些限制。幸运的是OCaml不是一个纯粹的函数语言因此可以使用循环与更改变量。现在让我们开始OCaml的探险历程吧:) 首转载 2012-05-09 12:55:26 · 1399 阅读 · 0 评论 -
OCaml与C的互操作
本文总结OCaml与C的交互:在C中如何分配和修改ocaml value,如何将ocaml value转换为C struct, 以及异常处理。 章节目录 OCaml中调用C函数示例 value类型 C中表示OCaml数据类型 C中操作Ocaml values 与垃圾收集器和谐相处 从C到OCaml的回调 完整示例:Win32下的kill OCaml中调用C函数示例 先以转载 2012-10-26 15:54:23 · 2878 阅读 · 0 评论