OCaml公司

一种工业级功能编程语言注重表现力和安全性

#  广场x=x*x
val平方:int->int=<fun>
#方形3
-:int=9
# 让rec fac公司x个=
如果x≤1然后1其他的x*fac(x-1)
val-fac:int->int=<fun>
#传真:5
-:int=120
#方形120
-:整数=14400
              
杯子的插图

这个OCaml编译器已经是确认通过信号平面图他们享有盛誉的编程语言软件奖

14名核心OCaml开发人员为他们的对项目的重大贡献

受到行业领导者的信任

这些公司和组织每天都依赖OCaml,以及数千名其他开发人员。请参见成功案例
脸谱网
微软
码头工人
简街
彭博社
特佐斯
Ahrefs公司

为什么选择OCaml?

可靠性

强大的类型安全性使其变得简单

OCaml的轻量级但表达能力很强的类型系统在编译时捕获了更多的错误,而垃圾收集允许您关注应用程序逻辑而不是内存管理。大型、复杂的代码库变得易于维护和重构。OCaml使您能够使用在具有不断变化的需求!

定义OCaml中嵌套列表的OCaml程序示例。终端输出还显示编译器捕捉到一个类型错误,其中模式匹配并不详尽。
生产力

一流的编辑器和工具

OCaml为VS代码、Vim或Emacs提供了深度集成,以提供类型检查、自动完成等功能。在流行的包管理器Opam之间;Utop,强大的交互式REPL;奥多克,作为一个易于使用的文档生成器,OCaml程序员可以获得完整的现代开发体验。

VS代码
维姆
Emacs公司

性能
快速编译器和应用程序

OCaml在不影响开发人员体验的情况下提供了出色的运行时性能:字节码编译器以极快的速度生成小型、高度可移植的可执行文件;本机代码编译器生成高效的机器代码。尽管如此在性能方面,OCaml编译器一直非常可靠和稳定

异常坚固可靠

尽管进行了所有这些测试,但我们从未报告过来自内部测试或可追溯到OCaml运行时或编译器。(在开发过程中,我们确实发现了一个小的编译器错误,在编译带有许多函数参数的自动生成OCaml代码时触发,但在我们报告时,开发部门已经解决了这个问题因此,不需要与INRIA的维护人员进行交互。)
--Scott,D.&Sharp,R.&Gazagnaire,T.&Madhavapedy,A.(2010年)。在工业产品组中使用函数编程:观点和看法。ACM SIGPLAN通知。45. 87-92. 10.1145/1863543.1863557.

发布

最新版本

5.1.1(2023-12-08)

  • 马歇尔。从标准库中删除压缩标志
  • 5.1.0的错误修复

5.1.0(2023-09-14)

  • 许多运行时性能回归和内存泄漏修复(dynlink、弱数组、弱哈希集、具有空闲域的GC、GC预取)
  • 恢复了对RISC-V和s390x体系结构上本机代码生成的支持
  • 恢复的Cygwin端口
  • 减少安装尺寸(减少50%)
  • 压缩编译工件(.cmi、.cmt、.cmit、.cmo、.cma文件)
  • 19条错误消息改进
  • 14个标准库函数使用tail-Recurion-Module-Cons(TRMC)实现了尾部递归,例如列表.附录列表.map
  • 57个新的标准库函数
  • 标准库文档中的更多示例
  • 42个错误修复
查看所有版本

变更日志

发布和更新

编译器和平台工具

上周,我们合并了编译器libs“shape”API的更新,用于查询定义信息。。。

查看完整的更改日志
MDX 2.4.1型

此版本恢复了Mdx 2.4.0中引入的更改,允许执行包含的OCaml。。。

查看完整的更改日志
opam 2.2.0~β2

_欢迎在[讨论]上对此帖子进行反馈(https://discussion.ocaml.org/t/ann-opam-2-2-0-beta2/14。。。

查看完整的更改日志
查看完整更改日志

OCaml的用户

OCaml被数千名开发人员、公司、研究实验室、教师等使用。了解它如何适合您的用例。

对于教育工作者

凭借其数学根基,OCaml始终与学术界有着紧密的联系。它在世界各地的大学里教授,并积累了越来越多的研究成果。进一步了解定义OCaml文化的学术严谨性。

了解更多信息

针对工业用户

OCaml强大的编译时间保证和高性能增强公司提供可靠、快捷的服务和产品。进一步了解OCaml如何在行业中使用:探索成功案例并发现使用OCaml的公司。

了解更多信息

OCaml包

探索数千个开源OCaml包及其文档。

浏览程序包