Saturday, 30 January 2010

MLState release their first product: OPA

The One Pot Application (OPA) from MLState is a complete development platform for web applications and services:

Development in OPA requires no plumbing. Applications developed with OPA are automatically checked for safety and security before they are executed. Applications developed with OPA are automatically (and provably) immune to cross-site scripting, to SQL injections and to most existing forms of attacks. And OPA provides language support for storage, communication between client and server (Ajax and Comet), concurrency, distribution, mobility, etc.

Read more from MLState or watch the video.

Tuesday, 26 January 2010

High-performance parallel programming with HLVM

The OCaml Journal just published an article about HLVM:

"This article describes how a global adjustment of the calling convention brings the performance of the multicore-capable HLVM within 17% of its original single-threaded performance. A simple parallelization of the new ray tracer benchmark is then described that obtains a substantial 6.3× speedup on 8 cores, demonstrating the potential of the new design for high-performance parallel computing..."

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

More OCaml jobs

The world's second largest OCaml employer (Citrix) have announced that they are hiring more OCaml programmers in the UK to maintain and develop their code base that has grown to hundreds of thousands of lines of OCaml code.

Martin Jambon also announced recently that MyLife (formerly Wink) are also looking for an OCaml developer.

Wednesday, 20 January 2010

Low-level optimization tips and tricks: part 4

The OCaml Journal just published an article about optimization:

"The OCaml programming language is unusually well suited to high-performance computing among functional programming languages because it provides a highly efficient code generator with a performant run-time and garbage collector. This makes it feasible to write high performance programs entirely in OCaml without having to drop to lower-level languages like C and Fortran for performance-critical sections of code. This article focuses on the internal representation of data structures. An overview of OCaml's data representation strategy is given. Tools to examine values in the heap, including OCaml's own Obj module, are described. Then several approaches to optimization that are related to data representations are covered, including closures, polymorphic variants, bounds checking, functors and integer arithmetic..."

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

OCaml Batteries included 1.0.0 released

The Batteries Included project that has intended to provide an extensive defacto-standard library for OCaml for over two years has finally reached version 1!

This library includes a wealth of indispensable features with extensive documentation covering topics such as:

  • Mutable and immutable data structures (reusable AVL trees, bit sets, string buffers, extensible arrays, lazy lists, polymorphic sets and maps, ropes).
  • Mathematics (extensive complex number support).
  • Abstractions (enumerations).
  • File and IO related helper functions.
  • Pretty printers and functional unparsers.
  • Memory management helper functions.
  • Consistent interfaces/signatures.
  • Unicode support.

Download your copy here!

Sunday, 3 January 2010

Garbage collecting multithreaded programs

The OCaml Journal just published an article about HLVM:

"Executing threads in parallel is the cornerstone of efficient parallel programming on shared-memory machines including today's multicores. This article describes how a simple stop-the-world garbage collector can be implemented in HLVM, allowing code generated from an OCaml program to leverage multicores easily..."

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

Parsing and visualizing binary Geographic Information System data

The OCaml Journal just published an article about parsing binary data:

"Detailed vector descriptions of worldwide geographical data are freely available in the Shapefile format. This article describes how polygonal data can be parsed from the binary Shapefile format and visualized using OpenGL and GLU easily and efficiently with OCaml. The result is a simple program that can be used as the basis for a wide variety of Geographic Information System (GIS) applications from cartography to climatology..."

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