Programming

Some articles and links related to programming. The programs I wrote are under /software/ , with things targeted at Ocaml developers are under /software/ocaml/ .

Articles

Exploring the limits of multicore acceleration

Giving an embarassingly parallel algorithm, how much speed will a 20-core CPU buy you? A lot less than you would want.

Monads are a class of hard drugs

I've been doing functional programming (FP) for about twelve years now, first with Scheme, and then with Ocaml, professionally for nearly three years now. I'm a big fan of FP and a big fan of static typing. So I have no prejudice against FP languages and I have tried many FP languages over the years, including, of course, Haskell.

Serializing universal types as S-expressions using Sexplib

Universal types do not serialize properly using serialization libraries such as Sexplib. A property list, for instance, needs to take serializers and deserializers each time a property name is created. Here is an example implementation.

The TIOBE index is meaningless

The TIOBE index ranks programming languages. It claims to be based "on the world-wide availability of skilled engineers, courses and third party vendors". But how can they reliably and automatically mine such infomration using just search engine results?

Transparent performance

The practical performance of a program is not just a technical detail but a crucial component of its correctness. Therefore, programming languages that make reasoning about the asymptotic performance of a program too difficult, unfeasible or depending on compiler specifics are dangerous.

Links

Ocaml

The Objective Caml programming language. One of the better programming languages in this world.

Ocamlcore

A place for the Ocaml community.

Ocaml Alliance Network

Essentially a nice wiki (written in Ocaml) including how-tos, etc.

PLT Scheme

(MzScheme or DrScheme) is a good Scheme implementation, which includes a nice module system, a fine cross-platform GUI and a statically typed variant.

Lambda The Ultimate

Of course I have to link to the big Lambda-site.

2009-02-08