giacomocavalieri / fork-join

Bare bone example of fork join DSL in Scala

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fork-join DSL

A bare bone fork-join DSL in Scala developed with @vitlinda as a funny exercise. It uses the "free operational monad" encoding to get a nice syntax for the DSL for free (pun intended).

Our goal was to create a basic DSL for describing distributed programs and later give them semantics by interpreting them. This is 100% just an experiment and far from being complete. The end goal would be to have a minimal library that would allow one to implement a fork-reduce distributed computation.

Future work:

  • Create an interpreter to draw a graph of the distributed computation (à la Unison Remote Ability)
  • Create an interpreter that can simulate network failure (for example given a chance the failure could occur) (Fiber.getResult should return an Either to model possible failure, so this is a change we would have to implement)

About

Bare bone example of fork join DSL in Scala


Languages

Language:Scala 100.0%