OCaml Learning Materials

OCaml is an interesting functional language. There are lots learning materials on the Internet. I compile a list of resources for OCaml learning and reference.

Recommended OCaml learning and reference material

Online book of Real World OCaml by Yaron Minsky, Anil Madhavapeddy, Jason Hickey.

A very good tutorial by Jason Hickey: http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf.

The OCaml system release 3.12 Documentation and user’s manual: http://caml.inria.fr/pub/docs/manual-ocaml/.

OCaml Style Guides

CS3110 OCaml Style Guide

Caml programming guidelines

Other OCaml learning materials

OCaml-Tutorial.org: mirror

OCaml Homepage: http://caml.inria.fr/

Introduction to OCaml on Wikipedia: https://en.wikipedia.org/wiki/OCaml

Introducing OCaml: http://www.ffconsultancy.com/products/ocaml_journal/free/introduction.html

The Harvard CS51 course which is introduced with OCaml.

A Concise Introduction to Objective Caml by David Matuszek

A good “why OCaml”: https://www.cs.ubc.ca/~murphyk/Software/Ocaml/why_ocaml.html

Blogs on OCaml from Jane Street, “where functional programming meets the real world”: http://ocaml.janestreet.com/

A very very good introduction to OCaml:

A C++/Java programmer’s introduction to Objective Caml

Different voices:

Some claim that OCaml sucks: http://sds.podval.org/ocaml-sucks.html

Similar Posts

  • Micosoft招聘部分算法题

    Micosoft招聘部分算法题 1.链表和数组的区别在哪里? 2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法? 3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 4.请编写能直接实现strstr()函数功能的代码。 5.编写反转字符串的程序,要求优化速度、优化空间。 6.在链表里如何发现循环链接? 7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。 8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?) 9.给出一个函数来输出一个字符串的所有排列。 10.请编写实现malloc()内存分配函数功能一样的代码。 11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。 12.怎样编写一个程序,把一个有序整数数组放到二叉树中? 13.怎样从顶部开始逐层打印二叉树结点数据?请编程。 14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? 来源:·日月光华 bbs.fudan.edu.cn Read more: Hashing Library for C How to install Scala on Linux Git Merging FAQs Notes for Beginners of Software Development on Linux Getting the running process’ own pid in Python How to iterate all dirs and files…

  • Specifying –no-print-directory within the Makefile

    The –no-print-directory option of make tells make not to print the message about entering and leaving the working directory. However, how to specify the –no-print-directory inside the Makefile itself? Add this line to the Makefile: MAKEFLAGS += –no-print-directory You can also set MAKEFLAGS in a makefile, to specify additional flags that should also be in…

  • ASCII Table and ASCII Code

    This post gives the ASCII table and ASCII code with ASCII control characters and ASCII printable characters and a tool to convert ASCII codes to ASCII characters. Introduction to ASCII table and ASCII code ASCII stands for American Standard Code for Information Interchange. An ASCII code is the numerical representation of a character since computers…

  • | | |

    How to Run a Command Upon Files or Directories Changes on Linux

    Doing actions upon changes of files and directories is very useful. Examples like compiling a project after the source code files are changed, sending emails after important configuration files are modified, building the PDF after a TeX file is modified. On Linux, the inotify-tools provide good support for trigger actions after changes. In this post,…

4 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *