
Hobbes is a Haskell-family programming language on LLVM - gok
https://github.com/Morgan-Stanley/hobbes
======
kthielen
Hello,

I made this project for Morgan Stanley. We've just recently open sourced it,
and lately I've been working on porting it to new platforms and working with
people outside of the firm to show how it can be useful in their
infrastructure.

At MS, we use this to augment and implement features in low-latency trading
systems (where latency budgets are very tight). We also use the storage
features to efficiently record high volumes of internal trading data, which we
analyze out-of-process in real-time and historically (in this use-case, it
functions like a basic time-series database).

The net.H and storage.H headers here are actually themselves self-contained
header-only libraries for type-safe network queries against hobbes processes
and low-latency structured logging to shared memory (respectively). So with
these two headers, we get a lot of processes to interact with or feed data to
hobbes processes very easily.

There are some very interesting things that we're able to do with this JIT
compiler and PL. I hope to write about it in more detail in the coming weeks,
but the short version is that structural/algebraic data types and type classes
have allowed us many creative options for analyzing and querying large volumes
of trading data efficiently in real-time.

