views:

605

answers:

5

After learning the basic syntax, reading some non-trivial code is a fast way to learn a language. We can also learn how to design a library/software during reading others' code.

I have following lists.

  1. A Chess program in OCaml by Tomek Czajka.

  2. Hal Daumé has written several machine learning libraries in Ocaml. Including decision trees, logistic regression and SVM. All of them are near-production-quality code.

  3. A Chess Game Analysis program in F# in Microsoft Research.

The above three are my favorites. Will you suggest some other sources? General purpose open source software are good, specialized open source like the three I list here are even more welcome.

+1  A: 

Well, Unison has been recommended to me to have a look at, as well as solving various problems from Project Euler, but personally I get more done by writing my own practical programs, so I'll probably be adapting one of those into OCaml, to see how it goes.

Noon Silk
+8  A: 

Jean-Christophe Filliâtre's page has numerous programs and libraries in OCaml.

Pascal Cuoq
this is a great source!
Yin Zhu
+1  A: 

You have the source of the ocaml standard library which is in o'caml.

I guess you've already looked at it, but the caml hump is a good source too: Here

LB
+2  A: 

Janes Street has released several libraries here. They're actually using OCaml in an industry setting. If anything, I'd check these out.

wheaties
+2  A: 

Check out these series of blog entries on Bookworm problem, they are light-hearted and show F#'s multiparadigm-ness very well. The last one looks like most "functional."

Chang Chung
Chris Smith and Brian McNamara can eat my shorts...
Jon Harrop