OCaml

一種著重於表達力和安全性的工業級函數式程式語言

# let square x = x * x
val square : int -> int = < fun >
# square 3
- : int = 9
# let rec fac x =
if x <= 1 then 1 else x * fac (x - 1)
val fac : int -> int = < fun >
# fac 5
- : int = 120
# square 120
- : int = 14400
              
illustration of a cup

OCaml 編譯器 因其傑出的貢獻榮獲 SIGPLAN 的程式語言軟體獎 肯定

十四位 OCaml 核心開發人員 因他們對專案的重大貢獻而受到表揚

受到產業領導者信賴

這些公司和組織每天都依賴 OCaml,還有成千上萬的其他開發人員。請參閱成功案例
Facebook
Microsoft
Docker
Jane Street
Bloomberg
Tezos
Ahrefs

為何選擇 OCaml?

可靠性

強大的型別安全,化繁為簡

OCaml 輕量級但高度表達的型別系統可在編譯時捕獲更多錯誤,而垃圾回收則讓您可以專注於應用程式邏輯,而不是記憶體管理。大型複雜的程式碼庫變得易於維護和重構。 OCaml 使您能夠在不斷變化的需求環境中建立具有最高安全性要求的關鍵任務軟體!

An example OCaml program defining nested lists in OCaml. A terminal output also shows the compiler catching a type error where a pattern-match was not exhaustive.
生產力

一流的編輯器和工具

OCaml 為 VS Code、Vim 或 Emacs 提供深度整合,以提供型別檢查、自動完成等功能。在流行的套件管理器 Opam、功能強大的互動式 REPL Utop 以及易於使用的文件產生器 odoc 之間,OCaml 程式設計師可以獲得完整且現代化的開發體驗。

VS Code
Vim
Emacs

效能
快速的編譯器和應用程式

OCaml 提供出色的執行時效能,同時不損害開發人員的體驗:位元組碼編譯器可快速產生小巧、高度可攜式的可執行檔;原生程式碼編譯器可產生高效的機器碼。儘管專注於效能,OCaml 編譯器一直以來都非常可靠和穩定

極其穩固可靠

儘管經過了所有這些測試,我們從未收到任何來自內部測試或現場報告的 XenServer 缺陷,可以追溯到 OCaml 執行時或編譯器中的錯誤。(在開發過程中,我們確實發現了一個輕微的編譯器錯誤,該錯誤在編譯具有許多函數引數的自動產生 OCaml 程式碼時觸發,但在我們報告時,該錯誤已在開發分支中修復,因此不需要與 INRIA 的維護人員互動。)
-- Scott, D. & Sharp, R. & Gazagnaire, T. & Madhavapeddy, A. (2010). 在工業產品群組中使用函數式程式設計:觀點和認知。 ACM SIGPLAN Notices. 45. 87-92. 10.1145/1863543.1863557.

版本

近期版本

5.2.0 (2024-05-13)

  • 重新引入 GC 壓縮
  • 還原 POWER 64 位元的原生後端
  • 執行緒清除器支援
  • 新的 Dynarray 模組
  • 用於隱藏包含目錄的新 -H 標誌
  • 適用於開發人員工具的專案範圍發生中繼資料支援
  • 原始識別碼
  • 型別表達式中的局部開啟
  • 標準函式庫中約有 20 個新函數
  • 執行時的許多修復和改進
  • 許多錯誤修復

5.1.1 (2023-12-08)

  • 從標準函式庫中刪除了 Marshall.Compression 標誌
  • 5.1.0 的錯誤修復
查看所有版本

變更日誌

版本與更新

編譯器和平台工具

OCaml 5.2.1 - 發佈候選版本

OCaml 5.2.1 版即將發佈。OCaml 5.2.1 是一系列安全但重要的運行...

查看完整變更日誌
OCaml 5.3.0 - 第一個 Beta 版

在 OCaml 5.3.0 的第一個 alpha 版本發佈一個半月後,OCaml 5.3.... 發佈了。

查看完整變更日誌
opam 2.3.0~rc1

歡迎在 [討論區](https://discuss.ocaml.org/t/ann-opam-2-3-0-rc1/1553...) 對此貼文提出回饋

查看完整變更日誌
查看完整變更日誌

OCaml 的使用者

OCaml 被成千上萬的開發人員、公司、研究實驗室、教師等使用。了解它如何符合您的使用案例。

適用於教育工作者

OCaml 具有數學根基,一直與學術界有著密切的聯繫。它在世界各地的許多大學都有教授,並且累積了越來越多的研究。進一步了解定義 OCaml 文化的學術嚴謹性。

了解更多

適用於工業使用者

OCaml 強大的編譯時保證和高效能,使公司能夠提供可靠且快速的服務和產品。進一步了解 OCaml 在產業中的使用方式:探索成功案例並發掘使用 OCaml 的公司。

了解更多

OCaml 套件

探索數以千計的開放原始碼 OCaml 套件及其文件。

探索套件