hAthena
Game emulator written in Haskell.
...Key features by using functional programming:
- Concurrency and Parallelism
The server will spawn a light thread per client connected and script executed.
- STM
Memory is easy to share over all the threads, easy to keep apart and when needed to switch between the both.
- Strict typesystem
You can't send the wrong information to a function, and you can not possibly use it in a way not intended
- No side-effects
A function can't do anything else then what you want it to do. You provide a value, it returns a value. No fishy business.
Read the Readme.txt for more information on how to compile.