Our latest research has been into the use of functional languages for operating system development, in particular for kernel construction.
While it may seem a strange idea to choose to write an operating system kernel in a functional language, there are some distinct advantages in using functional design for such a task. In the modern Internet, security has become paramount, and there has been a strong drive to build systems which can be proven to be stable and free from exploitation due to insecure operating system design techniques. Functional programming, if implemented and used properly, can eliminate a wide range of exploits used to bypass operating system security.
However, it is a big challenge for a functional language to operate efficiently at a kernel level where typically an imperative language would be used instead. At the core of the efficiency improvements being explored are those of garbage collection and language design, and there has been some constructive progress.
There have been some useful spin-offs from this research with some recently developed tools for heap analysis and leak detection for applications written in Delphi, as well as a conservative heap manager replacement for Delphi using techniques based on the Boehm–Demers–Weiser garbage collector. We will soon be making a release of our Debugulator tool, an external Win32 debugger that can debug Delphi applications, including exploration and analysis of the FastMM heap. The tool can also be used to analyse Windows Minidumps from fully deployed executables.
If you would like to donate towards this research, you can use the following link. Due to PayPal account limitations, we are only able to accept payments, not donations. For taxation and regulatory reasons, these payments are treated as regular income and will not be tax-deductible.