gore-and-ash-async: Core module for Gore&Ash engine that embeds async IO actions into game loop.

[ bsd3, game, library ] [ Propose Tags ]

Please see README.md


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 1.0.0.0, 1.0.1.0, 1.1.0.0, 1.1.1.0
Change log CHANGELOG.md
Dependencies async (>=2.0.2), base (>=4.7 && <5), containers (>=0.5.6.2), deepseq (>=1.4.1.1), exceptions (>=0.8.2.1), gore-and-ash (>=1.1.0.1), hashable (>=1.2.4.0), mtl (>=2.2.1), resourcet (>=1.1.7.1), transformers (>=0.4.2.0), transformers-base (>=0.4.4), unordered-containers (>=0.2.5.1) [details]
License BSD-3-Clause
Copyright 2016 Anton Gushcha
Author Anton Gushcha
Maintainer ncrashed@gmail.com
Category Game
Home page https://github.com/TeaspotStudio/gore-and-ash-async#readme
Uploaded by NCrashed at 2016-11-19T14:22:30Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3481 total (15 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for gore-and-ash-async-1.1.1.0

[back to package description]

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)