/time-warp

Distributed systems execution emulation

Primary LanguageHaskellMIT LicenseMIT

Time-warp

Build Status

Time-warp is a library for emulating distributed systems.

Time-warp consists of 2 parts:

  • MonadTimed library, which provides time (ala threadDelay) and threads (ala forkIO, throwTo and others) management capabilities.
  • MonadTransfer & MonadDialog, which provide robust network layer, allowing nodes to exchange messages utilizing user-defined serialization strategy.

All these allow to write scenarios over distributed systems, which could be launched either as real program or as fast emulation with manually controlled network nastiness.

Work on emulation itself is yet WIP. For emulation support in old interface see version 0.3.

Build instructions

Run stack build to build everything.

Usage

You can find examples in corresponding directory.

Issue tracker

We use YouTrack as our issue tracker. You can login using your GitHub account to leave a comment or create a new issue.

For Contributors

Please see CONTRIBUTING.md for more information.

About Serokell

Time-warp is maintained and funded with ❤️ by Serokell. The names and logo for Serokell are trademark of Serokell OÜ.

We love open source software! See our other projects or hire us to design, develop and grow your idea!