There must be a crowd of people out there thinking that they would get into
kernel development, but only if they could do it in Haskell. Here is a
web site with instructions on how to do just that. “By making
GHC and the Linux build system meet in the middle we can have modules that
are type safe and garbage collected. Using the copy of GHC modified for the
House operating system as a base, it turns out to be relatively simple to
make the modifications necessary to generate object files for the Kernel
environment.” This leads to code which looks like:
hello = newCString "hello" >>= printk >> return 0
Just don’t try to merge it upstream.