This is a reading/resource list for my honours project. It contains articles, books and tutorials related to ML, Haskell, compilers and programming language design.
- ocaml to js http://code.google.com/p/ocamljs/
- ocaml bytecode to js http://ocsigen.org/js_of_ocaml/
- OCaml top level in JavaScript http://try.ocamlpro.com/. The source resides at https://github.com/OCamlPro/tryocaml
- ocamljs https://github.com/jaked/ocamljs
- Lex and Yacc tutorial http://www.scribd.com/doc/8669780/Lex-yacc-Tutorial
- Writing a compiler in Lex, Yacc and Memphis http://memphis.compilertools.net/interpreter.html
- OCamlLex tutorial http://plus.kaist.ac.kr/~shoh/ocaml/ocamllex-ocamlyacc/ocamllex-tutorial/
- OCamlYacc tutorial http://plus.kaist.ac.kr/~shoh/ocaml/ocamllex-ocamlyacc/ocamlyacc-tutorial/
- How to parse anything video http://www.infoq.com/presentations/Parser-Combinators
- Functional Parsers aka parser combinators lecture by Erik Meijer [video] http://www.youtube.com/watch?v=4Z6BlLqAqt8
- Monadic parsing in Haskell http://www.cs.nott.ac.uk/~gmh/pearl.pdf
- Tail call optimization by trampoline http://stackoverflow.com/questions/189725/what-is-a-trampoline-function
- Tail call recursion and trampoline in Python http://web.mit.edu/kmill/www/programming/tailcall.html
- Programming in Standard ML http://www.cs.cmu.edu/~rwh/introsml/
- OCaml tutorial wiki style http://mirror.ocamlcore.org/ocaml-tutorial.org/
- Developing applications with OCaml http://caml.inria.fr/pub/docs/oreilly-book/html/index.html
- Unix System Programming in OCaml http://ocamlunix.forge.ocamlcore.org/
- Introduction to OCaml by Jason Hickey http://files.metaprl.org/doc/ocaml-book.pdf
- How to Think Like a Computer Scientist in OCaml http://thinkocaml.com/
- OCaml cheat sheet http://www.ocamlpro.com//blog/2011/06/03/cheatsheets.html
- OCaml github repo https://github.com/ocaml/ocaml
- Resources for learning camlp4 http://www.wisdomandwonder.com/link/5302/resources-for-learning-camlp4
- A (meta-)guide to CamlP4: Metaprogramming in OCaml http://andreiformiga.com/blog/?p=99
- How to customize the syntax of OCaml, using Camlp5 (for the legacy Camlp4 but still useful) http://mjambon.com/extend-ocaml-syntax.html
- Reading Camlp4 http://ambassadortothecomputers.blogspot.sg/p/reading-camlp4.html
- Tutorial to add a python-like for-each syntax to OCaml http://ocaml.org/tutorials/camlp4_3.10/foreach_tutorial.html
- Types and classes in haskell lecture by Erik Meijer [video] http://www.youtube.com/watch?v=4Z6BlLqAqt8
- Type classes lecture 1 by Philip Wadler [video] http://www.youtube.com/watch?v=zYhkmMLEr18
- Type classes lecture 2 by Philip Wadler [video] http://www.youtube.com/watch?v=qvvMhxAuPx8&playnext=1&list=PL4C1D41CB47EED318&feature=results_video
- Implementing type classes http://web.cecs.pdx.edu/~mpj/pubs/pldi93.html
- Type Classes in Haskell https://github.com/jsyeo/Research-Papers/blob/master/jason_fyp/type_classes/type_classes_in_haskell.pdf?raw=true
- ML modules and Haskell Type Classes https://github.com/jsyeo/Research-Papers/blob/master/jason_fyp/type_classes/ML_modules_haskell_classes.pdf?raw=true
- GADTs for dummies http://www.haskell.org/haskellwiki/GADTs_for_dummies
- All About Monads, a monads tutorial http://www.haskell.org/haskellwiki/All_About_Monads
- Haskell course by Philip Wadler [video playlist] http://www.youtube.com/playlist?list=PL4C1D41CB47EED318
- CS421 Yale: Compilers and Interpreters http://flint.cs.yale.edu/cs421/
- Cornell CS3110: Data Structures and Functional Programming http://www.cs.cornell.edu/courses/cs3110/2012sp/lecturenotes.php
- Coursera Programming Languages Course https://www.coursera.org/course/proglang
- Caltech CS134b Programming languages and compilers http://main.metaprl.org/jyh/classes/cs134/cs134b/2005/public_html/syllabus.html