source, appeared in 2005, ❖ actually it’s good, ❖ well integrated with .NET ecosystem and Visual Studio, ❖ mostly Windows but other systems support, ❖ http://fsharp.org/
Javascript. ❖ Javascript to the rescue! ❖ supposedly good ❖ http://ocsigen.org/js_of_ocaml/ ❖ OCaml-java ❖ working but still lagging behind ❖ http://www.ocamljava.org/
❖ No killer app yet ❖ Commercial users (according to Wikipedia): ❖ Jane Street Capital, a proprietary trading firm, which adopted OCaml as its preferred language in its early days ❖ Citrix Systems, which uses OCaml in XenServer, a component of one of its products ❖ Facebook ❖ Bloomberg and others.
in pure OCaml ❖ Hack compiler, a new programming language created by Facebook, an extension of PHP with static typing ❖ 0Install, a multi-platform package manager ❖ Coq, a formal proof management system ❖ https://ocaml.org/learn/companies.html
❖ statically and strongly typed, with type inference ❖ user-definable algebraic data types and pattern matching ❖ cross-platform, but works the best in Linux/Unix ❖ open source
favourite editor, be it VIM, Sublime, Atom etc. ❖ Merlin -plugin to VIM, Emacs ❖ type inference ❖ autocompletion ❖ https://github.com/the-lambda-church/merlin
Fully available as HTML online. ❖ Free of charge. ❖ An extensive section on the runtime ❖ A whole section about tooling ❖ Focused mostly around JaneStreet core library
(all elements must have the same type) ❖ let xs = [1; 3; 23; 5; 77] ❖ let _ = [1, 2, 3] ❖ let _ = 132 :: xs (* Prepend elem onto a list "cons" *) ❖ let _ = [13; 54; 59] @ xs ❖ let _ = List.length xs
string; pages : int};; ❖ let ps = {author="Peter F. Hamilton"; title="Pandoras Star"; pages=1144};; ❖ Records are immutable by default ❖ let title b = b.title;;
related declarations like data types and functions the operate on them ❖ Signatures - are the interfaces for structures ❖ Functors - functions from structures to structures