1. 重定义类型并不会出警告?(不对吧?)
2. int是31位,Int32才是32位。
3. bytecode模式才能debug
4. 不支持运算符重载,但能定义新运算符?(确实支持运算符重载的阿?)
5. 一个函数只能返回一种类型,注意有exception的时候。
6. 递归函数应该尽量用非递归函数封装起来以免计数参数外露
7. 尾递归判断的两个条件:1.递归调用不在try/with之中,2.返回值是确定的,不含递归调用
8. 一旦被label标识为命名参数就不能在按普通参数那样调用了(没办法,否则和curry冲突)
9. pattern match的as语法竟然没有讲,用了一种很难看的方式表达。。。
10. composing function是不好的?(其实可以用来pipeline,如:)
let (|>) x f = f x;;
[1;2;3] |> List.map (fun x -> x * x) |> List.fold_left (+) 0;;
不用的话代码就要lispy点了。。。
与F#的差别:
- F#的int是32位的
- ocaml允许递归定义无限序列:let x = 1::x;; 而F#限制这种形式
- ocaml允许定义任意类型的空数组:let a = Array.create 10 [] 而F#要明确声明类型为基本类型或函数
分享到:
相关推荐
ocaml-camlp4-devel-4.05.0-0.4.gitfc12d8c7.el7.x86_64.rpm
Ocaml-井字游戏用 Ocaml 编写的无与伦比的井字游戏设置为了运行包含的安装脚本,请确保您的计算机上安装了自制软件。 可以在找到安装说明。下载项目 git clone ...
ocaml-4.02.3-x86_64-mingw64-installer4-opam.exe ocaml-4.02.3 windows 64位/32位 安装包 Objective Caml(OCaml)是Caml编程语言的主要实现 截至2017.11.14 ocaml最新稳定版本 md5: 0402518b131f32e52cbf1b8457e...
asn1-combinator —在OCaml中嵌入类型化的ASN.1语法%%版本%% asn1-combinator是用于在OCaml中表达ASN.1的库。 跳过ASN.1的符号部分,然后将抽象语法直接嵌入该语言中。 这些抽象语法表示形式可用于解析,...
官方离线安装包,亲测可用
ocaml-compiler-libs-4.05.0-6.el7.x86_64.rpm
rpm安装包,rpm -i example.rpm
rpm安装包,rpm -i example.rpm
OCaml是一种功能强大的、静态类型的、面向对象的编程语言,以其高效的编译器和丰富的标准库而著名。在软件开发中,持续集成(CI)是关键的实践之一,它允许开发者频繁地将代码合并到主分支,并确保每次合并后代码仍...
离线安装包,亲测可用
为了能够轻松粘贴OCaml或ReasonML语法并获得目标语言语法中的等效内容 使用向下的按钮来… 为了能够轻松粘贴OCaml或ReasonML语法并获得目标语言语法中的等效内容。 使用右边的按钮选择目标语法,例如ReasonML,然后...
安装包,亲测可用
[奥莱理] OCaml 开发实战 (英文版) [奥莱理] Real World OCaml (E-Book) ☆ 图书概要:☆ This fast-moving tutorial introduces you to OCaml, an industrial-strength programming language designed for ...
离线安装包,亲测可用
This software can translate gcc to c99.
rpm安装包,rpm -i example.rpm
**ocaml-libuv** 是一个将 **libuv** 库绑定到 OCaml 语言的项目,使得 OCaml 开发者可以利用 libuv 提供的跨平台异步 I/O 功能。libuv 是由 Node.js 社区开发的一个库,旨在为多种操作系统提供一致的、高效的事件...
官方离线安装包,亲测可用
ocaml-sublimetext-模板在 sublimetext 中处理小型 ocaml 项目的简单模板用法将文件 ocamlbuild.sublime-build 放入您的 SublimeText 用户包文件夹。 这将为您提供一个执行脚本“./my_build.sh”的构建系统。 您可以...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装