Refine
[lambda.git] / _learning_ocaml.mdwn
index 01456db..5e9363b 100644 (file)
@@ -1,17 +1,80 @@
+*   [Try OCaml in your browser](http://try.ocamlpro.com/) (slow, bare-bones)
+*   This site's guide to [[Installing OCaml|/installing#ocaml]]
 
-*      [[!wikipedia Objective Caml desc="Wikipedia overview of OCaml"]]
+<!-- -->
+*   [What is OCaml?](http://ocaml.org/learn/description.html) <!-- includes [About OCaml](http://caml.inria.fr/about/index.en.html) and [An Overview of the Caml Language and Tools](http://caml.inria.fr/about/overview.en.html) -->
+*   [Code Examples](http://ocaml.org/learn/taste.html) <!-- includes [A Hundred Lines of OCaml](http://caml.inria.fr/about/taste.en.html) -->
+*   [A brief introduction to OCaml](http://www.cs.jhu.edu/~scott/pl/lectures/caml-intro.html)
+*   [Cheat Sheets](http://ocaml.org/docs/cheat_sheets.html)
+*   Wikipedia on
+[ML](http://en.wikipedia.org/wiki/ML_%28programming_language%29),
+[Caml](http://en.wikipedia.org/wiki/Caml), and
+[OCaml](http://en.wikipedia.org/wiki/OCaml)
 
-*      [A Concise Introduction to Objective Caml](http://www.csc.villanova.edu/~dmatusze/resources/ocaml/ocaml.html)
+<!-- -->
+Overviews:
+[A Concise Introduction to Objective Caml](http://www.csc.villanova.edu/~dmatusze/resources/ocaml/ocaml.html), David Matuszek from 2000 "gives a concise, yet broad, overview of the language and the standard library; it is rather old but most of what it says remains valid"; OCaml Wiki's Tutorial page links to this
+[OCaml Tutorial by Example](http://xahlee.org/ocaml/ocaml_basics.html), Xah Lee from 2009
 
-*      Here are [two](http://www.cs.jhu.edu/~scott/pl/lectures/caml-intro.html) [other](http://pauillac.inria.fr/caml/FAQ/stephan.html) brief overviews of OCaml, aimed at readers who already have some programming experience. Here are [two](http://pauillac.inria.fr/caml/FAQ/exemples-eng.html) [more](http://pauillac.inria.fr/caml/FAQ/qrg-eng.html), even briefer.
+BROKEN overview link: <http://pauillac.inria.fr/caml/FAQ/stephan.html>, aimed at readers who already have some programming experience.
 
-*      Here's a [more detailed tutorial](http://www.ocaml-tutorial.org/) for OCaml.
+BROKEN briefer: <http://pauillac.inria.fr/caml/FAQ/exemples-eng.html>
 
-*      The start of the [OCaml Reference Manual](http://caml.inria.fr/pub/docs/manual-ocaml/manual003.html) has another tutorial.
+BROKEN "Quick Reference Guide" <http://pauillac.inria.fr/caml/FAQ/qrg-eng.html> <http://mirror.ocamlcore.org/caml.inria.fr/pub/old_caml_site/FAQ/qrg-eng.html>
 
-*      Jason Hickey has posted a [draft of a nice book introducing OCaml](http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf).
 
-*      FAQs for [OCaml Beginners](http://pauillac.inria.fr/caml/FAQ/FAQ_DEBUTANT-eng.html), and [a few more](http://caml.inria.fr/resources/doc/faq/). Also FAQs for [OCaml Experts](http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-eng.html).
+<!-- -->
+*   [OCaml Wiki](http://ocaml.org/)
+*   [INRIA](http://caml.inria.fr/)
 
-*      Some more: [OCaml Basics](http://xahlee.org/ocaml/ocaml_basics.html); [Chapter 1 of OCaml for Scientists](http://www.ffconsultancy.com/products/ocaml_for_scientists/chapter1.html).
 
+## Tutorials ##
+*   The [start of the OCaml Manual](http://caml.inria.fr/pub/docs/manual-ocaml/coreexamples.html) has a tutorial
+*   [More Tutorials](http://ocaml.org/learn/tutorials/) <!-- seems to include <http://mirror.ocamlcore.org/ocaml-tutorial.org/>, last updated 2009 -->
+*   First 3 chapters of *OCaml from the Very Beginning*:
+[1](http://ocaml-book.com/s/11-17Chapter1.pdf)
+[2](http://ocaml-book.com/s/19-25Chapter2.pdf)
+[3](http://ocaml-book.com/s/29-33Chapter3.pdf)
+*   Chapter [1](http://www.ffconsultancy.com/products/ocaml_for_scientists/chapter1.html) of *OCaml for Scientists*
+*   Chapter [1](http://www.southampton.ac.uk/~fangohr/software/ocamltutorial/lecture1.html) of *OCaml for Scientific Computation* <!-- OCaml Wiki's Tutorial page links to whole text -->
+*   [Introduction to Objective Caml](http://files.metaprl.org/doc/ocaml-book.pdf)
+(284 pp. text from 2008, based on Jason Hickey's course at CalTech) <!-- also at http://www.cs.caltech.edu/courses/cs134/cs134b/book.pdf -->
+*   [Think OCaml](http://greenteapress.com/thinkocaml/thinkocaml.pdf) (142 pp. pdf)
+
+
+### Other ###
+
+*   [Comparing SML to OCaml](http://www.mpi-sws.org/~rossberg/sml-vs-ocaml.html)
+*   [Introduction to OCaml for Haskellers](http://foswiki.cs.uu.nl/foswiki/pub/Stc/BeyondFunctionalProgrammingInHaskell:AnIntroductionToOCaml/ocaml.pdf)
+
+
+## Advanced Docs, listed here for reference ##
+*   [User's manual](http://caml.inria.fr/pub/docs/manual-ocaml/index.html), including [standard library](http://caml.inria.fr/pub/docs/manual-ocaml/libref/index.html)
+*   [Latest release](http://ocaml.org/releases/latest/) <!-- also http://caml.inria.fr/ocaml/release.en.html -->
+*   OPAM package manager:
+[usage](https://opam.ocaml.org/doc/Usage.html) |
+[repository](https://opam.ocaml.org/packages/) |
+[issues](https://github.com/OCaml/opam-repository/issues)
+* [Style guidelines](http://caml.inria.fr/resources/doc/guides/guidelines.en.html)
+
+## FAQs ##
+
+*   [Beginner FAQ](http://mirror.ocamlcore.org/caml.inria.fr/pub/old_caml_site/FAQ/FAQ_DEBUTANT-eng.html), last modified 2004
+*   [Expert FAQ](http://mirror.ocamlcore.org/caml.inria.fr/pub/old_caml_site/FAQ/FAQ_EXPERT-eng.html), last modified 2004
+*   [INRIA's FAQ](http://caml.inria.fr/resources/doc/faq/)
+*   [OCaml.org FAQ](http://ocaml.org/learn/faq.html)
+*   ---
+*   [Glossary](http://mirror.ocamlcore.org/ocaml-tutorial.org/glossary.html)
+
+<!-- -->
+* [Tips for using the OCaml toplevel](http://mirror.ocamlcore.org/wiki.cocan.org/tips_for_using_the_ocaml_toplevel.html)
+* [Debugging](http://caml.inria.fr/resources/doc/guides/debug.en.html)
+* [Making code run fast](http://mirror.ocamlcore.org/caml.inria.fr/pub/old_caml_site/ocaml/speed.html)
+
+---
+
+*   [Reddit's r/ocaml](https://www.reddit.com/r/ocaml)
+*   [Stack Overflow](https://stackoverflow.com/questions/tagged/ocaml?sort=faq) questions tagged "ocaml"
+*   [Real World OCaml](https://realworldocaml.org/v1/en/html/index.html) (510 pp. text from 2013)
+*   [How to intercept stdout?](http://mirror.ocamlcore.org/ocaml-tutorial.org/newbie_faq.html)
+*   [What's the difference between Invalid_argument and Failure?](http://mirror.ocamlcore.org/wiki.cocan.org/cocan%27s_ocaml_faq.html)