Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>OCaml is the only functional language with <a href="https://llvm.org/svn/llvm-project/llvm/trunk/bindings/" rel="noreferrer">bindings in the LLVM distro itself</a> and documentation on llvm.org such as the <a href="http://llvm.org/docs/tutorial/" rel="noreferrer">Kaleidoscope tutorial</a>. If you have OCaml installed when you build and install LLVM then it will automatically build and install the LLVM bindings for OCaml as well. Moreover, these OCaml bindings have been <a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-December/011937.html" rel="noreferrer">in use for years</a> so they are mature and reliable. </p> <p>I have been developing <a href="https://forge.ocamlcore.org/projects/hlvm/" rel="noreferrer">HLVM</a> in OCaml using the standard LLVM bindings and found OCaml+LLVM to be an extremely powerful combination. HLVM provides tuples, arrays, unions, TCO of all tail calls, generic printing, FFI to C, JIT compilation and parallel garbage collection with a VM weighing in at under 2kLOC of OCaml code that took only a few man-weeks to develop from scratch. <a href="http://flyingfrogblog.blogspot.com/2009/03/performance-ocaml-vs-hlvm-beta-04.html" rel="noreferrer">HLVM's numerical performance already far exceeds that of today's fastest open source FPLs including OCaml itself</a>. I have published <a href="http://ocamlnews.blogspot.com/search/label/llvm" rel="noreferrer">articles in the OCaml Journal</a> describing how LLVM can be used from OCaml for everything from basic expression evaluation to advanced topics such as parallelism and garbage collection. You may also like this <a href="http://groups.google.com/group/fa.caml/msg/5aee553df34548e2" rel="noreferrer">mini example</a>.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload