O'Caml is a Functional programming language
based on SML
. Its primary features that make it interesting are:
- it is a side effect free programming language, which means that calling a function ;
- it performs type inference;
- functions are first class objects;
- it has tunable garbage collection -- allowing you to choose your own speed/space trade-offs.
- You can compile either to portable byte code, or to machine optimised native code
If nothing else, it's worth looking at to learn a new way of looking at problem solving -- it requires a certain purity of programming techinque, yet offers performance that is within par of C and C++ code in terms of both speed and memory consumption.