October 13th, 2009 by Levent Erkok
The October 20th Galois Tech Talk will be delivered by Thomas DuBuisson, titled “Writing Linux Kernel Modules with Haskell.”
Slides for this talk are now available.
Abstract: Current operating systems are developed and extended primarily with imperative languages that lack in expressiveness and safety. Pure and functional languages fill these gaps nicely but existing tools are not ideal fits and the language abstracts away important environmental information.
This talk will focus on modifications of the Glasgow Haskell Compiler to generate suitable code and nuances of binding to the Linux API. Short-comings of the language and tools will be identified along with known workarounds and potential engineering efforts.
Bio: Thomas DuBuisson is a PhD student in Computer Science at Portland State University, working with advisor Andrew Tolmach. Current research efforts revolve around the use of functional languages for systems programming and improving runtime system security.
Hi, are there slides for this talk?
Jimmy:
My fault, I forgot to give them my slides. I just sent it in so you should see a slides link soon.
Unfortunately for non-attendees, my theory on slides is not to explain to but prompt the right questions and discussion so they won’t be that useful stand alone.
Slides are now posted! See the link above..
Thanks, got the slides!. I see what you meant, about the slides, Thomas. But, I’m able to get the basic idea. One day I’m just going to have to fly to Oregon to hear these talks.
That “ricoh_stub.hs” in the “Compiling” diagram should be “ricoh_stub.c” – the stub is a C file and the manual edit mentioned is just adding “startupHaskell()” and “hs_exit_nowait(0, NULL, NULL)” to the locations you desire the RTS to start and stop. I suggest the module init and cleanup routines. This could have been done when generating the _stub, but I liked the increased control and decreased number of GHC modifications.
If you want to try going down this path I suggest you see the haskell.org wiki entry which has instructions on how to build the dev environment. Be warned it isn’t stable and isn’t quick to set up.
©2000–2010 Galois, Inc. All rights reserved. Terms of use. Contact Us