What is OCaml? OCaml is a general purpose industrial-strength programming language with an emphasis on expressiveness and safety. It is the technology of choice in companies where a single mistake can cost millions and speed matters, and there is an active community that has developed a rich set of libraries. It's also a widely used teaching language. Read more.
- Structure of OCaml Programs
- Maps (Dictionaries)
- Hash Tables
- Comparison of Standard Containers
- Frequently Asked Questions
There are a number of excellent books, with two new titles published in 2013.
A massive open online course (MOOC) entirely centered around OCaml is now available, and runs once a year!
Learn more, and register now on the FUN platform!
<iframe src="//www.slideshare.net/slideshow/embed_code/43836300" width="340" height="290" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>
<p>An invited talk by Xavier Leroy explaining the current state of OCaml at the <a href="/meetings/ocaml/2014/" >OCaml Users and Developers Workshop 2014</a> in Gothenburg, Sweden (<a href="/meetings/ocaml/2014/OCaml2014-Leroy-slides.pdf" target="_blank">PDF slides</a>, <a href="https://www.youtube.com/watch?v=DMzZy1bqj6Q&list=UUP9g4dLR7xt6KzCYntNqYcw" target="_blank">Video</a>). </p> <p class="documentation-video video16-9" style="padding-bottom: 50%"><!-- Adjust => avoid horiz bars --> <iframe src="//player.vimeo.com/video/14313378?portrait=0&color=ff9933" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> </p> <p>A guest lecture given by Yaron Minsky of Jane Street about how to program effectively in ML. The talk was given as part of the intro computer science class at Harvard, CS51, where the students had spent much of the semester programming in OCaml.</p> <footer> <p> <a href="/community/media.html">See more slides and videos</a></p> </footer> </section> <section class="span4 condensed"> <h1 class="ruled"><a href="companies.html">Industrial Users</a></h1> <p><a href="http://janestreet.com"><img style="float: left; margin-right: 10px; margin-bottom: 10px" src="/img/users/jane-street.jpg"></a>Jane Street is a quantitative proprietary trading firm with a unique focus on technology and collaborative problem solving. Almost all of our systems are written in OCaml: from statistical research code operating over terabytes of data to systems management tools to our real-time trading infrastructure. And those systems are deployed at real scale: on an average day, our trading represents between 1% and 2% of US equity volume. </p> <p><a href="https://www.facebook.com"><img style="float: left; margin-right: 10px; margin-bottom: 10px" src="/img/users/facebook.png" ></a>To handle their huge PHP codebase, Facebook developed <a href="https://github.com/facebook/pfff/wiki/Main" >pfff</a>, a set of tools and APIs to perform static analysis, dynamic analysis, code visualizations, code navigations, and style-preserving source-to-source transformations such as refactorings on source code. They also designed <em>Hack</em>, a new statically typed programming language for HHVM, a fast PHP runtime. See Julien Verlaguet's <a href="http://www.youtube.com/watch?v=gKWNjFagR9k" >CUFP talk</a> and <a href="http://cufp.org/2013/slides/verlaguet.pdf" >slides</a>.</p> <footer> <p><a href="companies.html" >See more companies using OCaml</a></p> </footer> </section> <section class="span4 condensed"> <h1 class="ruled"><a href="success.html">Success Stories</a></h1> <p><a href="/img/unison.png" ><img style="float: left; margin-right: 10px; margin-bottom: 10px" src="/img/unison-thumb.jpg" alt="Screenshot" title="Screenshot of Unison's main window"></a> <a href="http://www.cis.upenn.edu/%7Ebcpierce/unison/" >Unison</a> is an innovative <em>two-way</em> file synchronizer stemming from the <a href="http://www.cis.upenn.edu/~bcpierce/papers/index.shtml#Synchronization" target="_blank" >latest research</a>. It is resilent to failures and runs on Windows as well as most flavors of Unix, including MacOSX. OCaml helped the authors to “organize a large and intricate codebase”. </p> <p><a href="/img/lexifi.jpg" ><img style="float: left; margin-right: 10px; margin-bottom: 3px" src="/img/lexifi-thumb.jpg" title="Screenshot of Lexifi's application"></a> Developed by <a href="http://www.lexifi.com/" >LexiFi</a>, the Modeling Language for Finance (MLFi) is the first formal language that accurately describes the most sophisticated capital market, credit, and investment products. MLFi is implemented as an extension of OCaml. </p> <p><img src="/img/fftw-thumb.png" style="float: left; margin-right: 10px; margin-bottom: 3px" title="FFTW" /> <a href="http://www.fftw.org/" >FFTW</a> is a very Fast Fourier Transform library developed at MIT that competes with vendor-tuned codes while remaining platform independent. The code is generated by <code>genfft</code>, written in OCaml, that <a href="http://www.fftw.org/pldi99.ps.gz" >“discovered” algorithms that were previously unknown</a>. It was awarded the <a href="http://www.mcs.anl.gov/about-us/j-h-wilkinson-prize-numerical-software" >J. H. Wilkinson Prize for Numerical Software</a> that rewards software that "best addresses all phases of the preparation of high quality numerical software." </p> <footer> <p><a href="success.html" >See more success stories</a></p> </footer> </section> </div>