@hackage / gore-and-ash-async

Core module for Gore&Ash engine that embeds async IO actions into game loop.

Latest1.1.1.0

About

Metadata

  • Last updated , by NCrashed
  • License BSD-3-Clause
  • Categories Game Development
  • Maintained by: ncrashed@gmail.com

  • Lottery factor: 0

Links

Installation

Readme

gore-and-ash-async

The module provides API for embedding concurrent IO actions into main game loop for Gore&Ash engine.

Installing

Add following to your stack.yml to packages section:

- location:
    git: https://github.com/Teaspot-Studio/gore-and-ash-async.git
    commit: <PLACE HERE FULL HASH OF LAST COMMIT> 

When defining you application stack, add AsyncT:

type AppStack = ModuleStack [AsyncT, ... other modules ... ] IO

And derive MonadAsync for your resulting AppMonad:

newtype AppMonad a = AppMonad (AppStack a)
  deriving (Functor, Applicative, Monad, MonadFix, MonadIO, MonadThrow, MonadCatch, MonadAsync)