Haskell notes

Since the Heartbleed bug, I’ve been pondering what language a library OpenSSL should be written in. C is a disaster and C++ is no better. But a component like OpenSSL needs to be buildable into a linkable library, into a .so or .a file that other projects like Apache, Python, etc can then incorporate. And most modern programming languages really don’t work well with the C linker. Javascript, Python, Ruby, Lua, Java, Go … none of these are suitable langauges for building reusable object code libraries because they either have massive runtime libraries or else toolchains that don’t work with the linker.

Enter Haskell. My friend K.K. recommended looking at it because it’s a modern safe language and is good at linking libraries. I’m not actually going to learn Haskell now, but I did want to collect some of the links and notes he shared with me.

I’m very, very skeptical of bringing new languages into practical software engineering. But the community desperately needs a C replacement, something with safe memory access. Rust is a new effort for this but there’s a lot of work to do. D seems to stand for dead-end.