Wednesday, 24 June 2009

HLVM documentation now on-line

To celebrate HLVM entering the top 10 most downloaded projects on OCamlForge, we have created a new home page for the project that includes a description of the motivation behind the creation of HLVM and a link to the ocamldoc-generated documentation for the HLVM virtual machine and well as references to the growing number of articles about HLVM.

We are also starting a consortium of industrial users to provide financial backing for the HLVM project in order to accelerate its development and we are offering technical support at competitive rates.

Tuesday, 23 June 2009

Compiler development: part 1

The OCaml Journal just published an article about compilers:

"This article is the first in a series describing the design and implementation of a complete compiler for a non-trivial language using the freely-available HLVM project described in previous articles. The representation of types, patterns and expressions, the lexer, parser and Read-Evaluate-Print-Loop (REPL) with JIT compilation are described in this article..."

To read this article and more, subscribe to The OCaml Journal today!

Sunday, 21 June 2009

New HLVM examples

The High-Level Virtual Machine (HLVM) project aims to combine the expressiveness of functional programming languages, the performance of C and the interoperability and libraries of an industrial-strength virtual machine. This project was recently updated to include two new example programs built upon HLVM:

  1. A calculator that JIT compiles arithmetic expressions in order to evaluate them, written in only 28 lines of OCaml!
  2. A compiler for a tiny caml-like language that handles unit, char, int, float and tuple types along with some example programs written in only 228 lines of OCaml!

These working examples should help HLVM users. In particular, the design and implementation of the second example, a complete compiler, will be described in the next OCaml Journal article.

Check out HLVM's SVN repository now with:

svn checkout svn://

Monday, 8 June 2009

Visualizing the Singular Value Decomposition

The OCaml Journal just published an article about the illustration of matrix computations:

"Singular Value Decomposition (SVD) is an important algorithm from linear algebra that decomposes a matrix into the product of three simpler matrices. The resulting decomposition has several applications. This article describes the design and implementation of an OCaml program that computes the SVD of an image and uses it to create a lossy compression algorithm with controllable quality. This involves numerical methods for computing the eigenvalues of real symmetric matrices and interactive visualization of the result as a GTK application using the camlimages library to load images from file..."

To read this article and more, subscribe to The OCaml Journal today!