TopHat is a formalisation of Task Oriented Programming. This is the Haskell implementation of the language.
The language is specified as a GADT in Data.Task. Semantics, including all observations, can be found in Data.Task.Run.
Main includes a couple of examples which can be executed.
Clone the repository and build it by running Cabal's new
commands:
git clone https://github.com/timjs/tophat-haskell.git
cd tophat-haskell
cabal new-build
cabal new-run
You'll need GHC-8.6 or newer.