關於 OCaml 的書籍 (16)

免費
初學者

OCaml 程式設計:正確 + 高效 + 優美

Michael R. Clarkson

一本關於 OCaml 中函數式程式設計和資料結構的教科書,重點在語義和軟體工程。

本書用於康乃爾大學的第三學期程式設計課程。大多數學生已經有過一學期 Python 入門程式設計,然後是一學期 Java 的物件導向程式設計。因此,經常會與這兩種語言進行比較。學習過類似語言的讀者應該可以輕鬆跟上。本書不假設任何函數式程式設計的先備知識,但假設讀者有使用主流命令式語言程式設計的經驗。也假設具備標準第一學期電腦科學課程的離散數學知識。

本書中嵌入了 200 多個 YouTube 影片。它們可以獨立於閱讀本書觀看。

免費
中級

真實世界的 OCaml

Anil Madhavapeddy, Yaron Minsky

學習如何使用 OCaml 多範式程式設計語言解決資料處理、數值計算、系統腳本和資料庫驅動的 Web 應用程式中的日常問題。這本實用的書向您展示如何利用 OCaml 的函數式、命令式和物件導向程式設計風格,並提供許多現實任務的範例。

您將從 OCaml 的基礎知識開始,包括如何設定開發環境,然後轉向更進階的主題,例如模組系統、外部函式介面、巨集語言和 OCaml 工具。快速學習如何使用 OCaml 編寫簡潔易讀的程式碼。

本書中的程式碼範例使用 Jane Street 的 核心函式庫

進階

OCaml 科學計算

Liang Wang, Jianxin Zhao, Richard Mortier

本書是關於函數式程式設計和數值計算的和諧結合。它展示了 OCaml 的表達能力如何實現快速且安全的資料科學應用程式開發。作者逐步建立起從資料科學、機器學習和人工智慧的許多領域中提取的用例,然後深入研究如何使用平行、分散式和加速框架進行大規模部署,以獲得雲端運算環境的所有優勢。

本書的目標讀者是任何具有函數式程式設計基礎知識並渴望探索科學計算領域的人,無論是為了全面探索該領域、為特定主題建立應用程式,還是深入研究數值系統的建構方式。本書不假設嚴格的閱讀順序,讀者可以簡單地跳到他們最感興趣的主題。

免費
初學者

使用 OCaml 函數式程式設計和程式設計語言結構入門

Gert Smolka

本教材向初學者教授函數式程式設計和程式設計語言的結構。它是為薩爾蘭大學電腦科學學生的程式設計 1 課程編寫的。我們假設入學學生熟悉數學思維,但不假設有程式設計經驗。該課程旨在佔用第一學期約三分之一的學習時間。

在函數式程式設計方面,我們涵蓋了高階遞迴函式、多型別型別,以及列表、樹狀結構和抽象語法的建構子型別。我們強調正確性敘述的作用,並實踐歸納正確性證明。我們還涵蓋了二元搜尋(對數)、插入排序(二次)、合併排序(線性對數)和其他演算法的漸近執行時間。

在程式設計語言的結構方面,我們以理想化的函數式程式設計語言 Mini-OCaml 為例,研究語法和語義的不同層次。我們用語法描述語法層次,用推論規則描述語義層次。基於這些正式描述,我們編寫遞迴下降剖析器、型別檢查器和評估器。

初學者

OCaml 語言程式設計基礎教程

G. Chen
初學者

OCaml 函數式程式設計入門

Mohammed-Said Habet

函數式程式設計是一種將電腦程式視為數學意義上的函式的程式設計風格。這種風格在許多古老和最新的程式設計語言(如 OCaml)中都有提供。

本書的目的是引導讀者使用 OCaml 語言了解函數式程式設計風格。因此,本書主要針對電腦科學初學者。它也可以讓有經驗的人發現 OCaml 程式設計語言。

讀者將在 OCaml 語言中找到函數式程式設計概念的逐步介紹,並以範例、大量已解答的練習題和一些由讀者自行處理的習題加以說明。

中級

更多 OCaml:演算法、方法與其他

John Whitington

在「更多 OCaml」中,John Whitington 帶領讀者以漫遊的方式探索 OCaml 的函數式程式設計,介紹各種語言功能並描述一些經典演算法。本書的結尾是一個關於產生 PDF 檔案的大型範例。每章都有問題以及解答和提示。

「更多 OCaml」將吸引希望提高技能的現有 OCaml 程式設計師,以及渴望探索 OCaml 等函數式語言的有經驗程式設計師。希望每位讀者都能發現新事物,或以新的角度看待舊事物。對於比較隨意的讀者,或那些習慣使用不同函數式語言的讀者,本書的前面提供了基本 OCaml 的摘要。

初學者

學習使用 OCaml 程式設計

Jean-Christophe Filliâtre, Sylvain Conchon

學習電腦程式設計並不容易。成為一名熟練的程式設計師需要想像力、預期能力、演算法知識、程式設計語言的掌握,最重要的是經驗,因為困難通常隱藏在細節中。本書總結了我們作為教師和程式設計師的經驗。

程式設計風格至關重要。給定一種程式設計語言,同一演算法可以用多種方式編寫,其中一些方式既優雅又高效。這正是程式設計師必須不惜一切代價追求的目標,這也是我們選擇使用程式設計語言(而不是虛擬程式碼)來編寫本書的原因。我們的選擇是 OCaml。

本書分為三個部分。第一部分介紹 OCaml 並針對初學者,無論他們是程式設計初學者還是剛接觸 OCaml。透過小型程式,向讀者介紹程式設計和 OCaml 的基本概念。第二部分和第三部分致力於演算法的基本概念,並應使讀者能夠以結構化且高效的方式編寫程式。演算法概念直接以 OCaml 的語法呈現,本書中的任何程式碼片段都可以在線上取得。

免費
初學者

從頭開始學 OCaml

John Whitington

在《從頭開始學 OCaml》中,John Whitington 採用無需預備知識的方法來教授現代通用程式設計語言。每個小的、獨立的章節都會介紹一個新主題,並逐步建構,直到讀者可以編寫相當大的程式。本書提供了許多問題,最重要的是,還提供了解答和提示。

《從頭開始學 OCaml》將吸引新程式設計師,以及渴望探索 OCaml 等函數式語言的有經驗程式設計師。它既適用於大學或研究所課程的正式使用,也適用於感興趣的業餘人士。

免費
初學者

思考 OCaml:如何像函數式程式設計師一樣思考

Nicholas Monje, Allen Downey

本書仍在編寫中。這是一本基於 OCaml 語言的入門程式設計教科書。它是 Allen Downey 的《思考 Python》的修改版本。它適用於程式設計新手,也適用於了解一些程式設計但想學習以函數為導向的程式設計範式的讀者,或只是想學習 OCaml 的讀者。

中級

プログラミング in OCaml ~関数型プログラミングの基礎からGUI構築まで~

A. Igarashi (五十嵐 淳)
初學者

入門OCaml ~プログラミング基礎と実践理解~

OCaml-Nagoya
中級

由右至左及由左至右的程式設計

Pascal Manoury
初學者

使用 OCaml 學習程式設計

Catherine Dubois, Valérie Ménissier Morain

程式設計是一門利用電腦優勢的學科:大量的可靠記憶體、不懈地執行重複任務的能力,以及高速的運算速度。為了編寫出符合指定需求的正確程式,必須理解程式語言的精確語意。本書的目標讀者為程式設計初學者,並為所有希望學習函數式程式設計風格的程式設計師提供教學材料。本書介紹的程式設計功能在 ML 語言的所有變體中都可用,特別是 Caml-Light、OCaml 和 Standard ML。其中提出的概念和 OCaml 中的範例可以輕鬆地轉換到其他程式語言。

初學者

函數式程式設計入門

Carla Limongelli, Marta Cialdea
免費
中級

使用 Objective Caml 開發應用程式

Emmanuel Chailloux, Pascal Manoury, Bruno Pagano

一本關於 OCaml 的綜合書籍(742 頁),不僅涵蓋核心語言,還涵蓋模組、物件和類別、執行緒和系統程式設計,以及與 C 的互操作性。

「Objective CAML 是一種程式語言:你會說,又多一個!它們確實已經很多了,但新的程式語言仍然不斷出現。儘管它們之間存在差異,但每個程式語言的設計和起源都源於一個共同的動機:抽象化的意願。」

如果您想新增一本新書,請查看 GitHub 上的貢獻指南