BSD-3-Clause licensed by Jonas Carpay
This version can be pinned in stack with:apecs-stm-0.3@sha256:8eaa71c59fe1a03f729ea0618d35dca2835467aa3172767d7b1e5443079a1e43,1684
Module documentation for 0.3
apecs-stm
Experimental STM stores, allow apecs to be run in the STM monad.
atomically . cmap $ \(Position p, Velocity v) -> Position (v+p)
[0.3]
The package is now fully subordinate to vanilla apecs,
reusing its EntityCounter, makeWorld etc.
While it can still be used as “put everything into STM”
this is quite inefficient.
- Renamed Map, Global, Unique to TMap, TGlobal, TUnique.
They now can be used alongside vanilla Map/Global/Unique
and only where it matters.
- TMap.explMembers is not atomic under IO.
Using stm-containers’ listTNonAtomic escape hatch for
single-threaded/non-atomic membership tests.
[0.2]
Removed
- Removed custom
EntityCounter, newEntity, and makeWorld.
Changed
- (#118) Use
makeWorld, EntityCounter and entity functions from core.
[0.1.5]
Changed
- Bumped the minimum apecs version to 0.9.3, since we need
makeMapComponentsFor
[0.1.4]
Add
- (#74)
makeWorldAndComponents, similar to how it exists in apecs proper
[0.1.3]
Changed
- (#60) Add
Component type names in non-existent component errors
- Increased upper bound
apecs dependency
[0.1.2]
Changed
[0.1.0]
Added
- Split out the STM parts of the main apecs package