Skip to content

YoEight/lambda-database-experiment

Repository files navigation

Lambda Database Experiment (LDE)

Experimental event store database entirely written in Haskell. The main goal is learning. Database programming is full of interesting algorithms and challenges. There is no plan for going production ready but it will be definitely cool if it happens someday.

This project is comprised of:

  • lambda-bus: In-memory message bus. It's used in lambda-node and lambda-client and helps to implement a Staged Event-Driven Architecture.
  • lambda-client: TCP client of lambda-node.
  • lambda-logger: Logging infrastructure used by lambda-bus, lambda-client, lambda-node and lambda-prelude.
  • lambda-node: Eventstore database server.
  • lambda-prelude: A prelude specific to LDE project.
  • lambda-protocol: Gathers all the type declarations common to lambda-client and lambda-node.

How to build this project ?

This project assumes a 64bits Unix system and the build tool stack installed. The project is developped mainly on Mac OSX and Linux based distributions. For now, nothing prevents the project from being built on Windows. That being said, Windows will never be officially supported.

To build the entire project:

$ stack build

You can also build a specific package by appending its name to the build command.

$ stack build lambda-node

Notes

Contributions and bug reports are welcome!

MIT License

-Yorick Laupa

About

Experimental event store database entirely written in Haskell

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published