packages feed

apecs 0.9.3 → 0.9.4

raw patch · 4 files changed

+20/−4 lines, 4 filesdep ~template-haskelldep ~vectorPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: template-haskell, vector

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+## [0.9.4]+### Changed+- (#86) Add support for GHC 9.2 and Template Haskell 2.18+ ## [0.9.3] ### Added - `newEntity_ = void . newEntity`
README.md view
@@ -13,12 +13,14 @@  ### Links - [documentation on hackage](https://hackage.haskell.org/package/apecs/docs/Apecs.html)-- [tutorial](https://github.com/jonascarpay/apecs/blob/master/examples/Shmup.md) and other [examples](../examples/)+- [tutorial](https://github.com/jonascarpay/apecs/blob/master/examples/Shmup.md) and other [examples](https://github.com/jonascarpay/apecs/tree/master/examples)  ##### Games/articles - [An Introduction to Developing Games in Haskell with Apecs](https://aas.sh/blog/making-a-game-with-haskell-and-apecs/) - [mallRL](https://github.com/nmaehlmann/mallRL) - a _grocery shopping roguelike_ - [An implementation of the Unity tutorial project using apecs](https://github.com/mewhhaha/apecs-unity-tutorial-haskell)+- [SpaceMar](https://gitlab.com/dpwiz/spacemar)+- [Achtung die haskell](https://github.com/mewhhaha/achtung-die-haskell) - [(Your game here)](https://github.com/jonascarpay/apecs/pulls)  ##### Packages
apecs.cabal view
@@ -1,5 +1,5 @@ name:               apecs-version:            0.9.3+version:            0.9.4 homepage:           https://github.com/jonascarpay/apecs#readme license:            BSD3 license-file:       LICENSE@@ -13,8 +13,8 @@   apecs is a fast, type-driven Entity-Component-System library for game programming.  extra-source-files:-  README.md   CHANGELOG.md+  README.md  source-repository head   type:     git
src/Apecs/THTuples.hs view
@@ -91,13 +91,18 @@        -- s, ety, w arguments       sNs = [ mkName $ "s_" ++ show i | i <- [0..n-1]]-      sPat = ConP tupleName (VarP <$> sNs)       sEs = VarE <$> sNs       etyN = mkName "ety"       etyE = VarE etyN       etyPat = VarP etyN       wNs = [ mkName $ "w_" ++ show i | i <- [0..n-1]]+#if MIN_VERSION_template_haskell(2,18,0)+      sPat = ConP tupleName [] (VarP <$> sNs)+      wPat = ConP tupleName [] (VarP <$> wNs)+#else+      sPat = ConP tupleName (VarP <$> sNs)       wPat = ConP tupleName (VarP <$> wNs)+#endif       wEs = VarE <$> wNs        getN     = mkName "ExplGet"@@ -130,8 +135,13 @@        explExistsAnd va vb =         AppE (AppE (VarE '(>>=)) va)+#if MIN_VERSION_template_haskell(2,18,0)+          (LamCaseE [ Match (ConP 'False [] []) (NormalB$ AppE (VarE 'return) (ConE 'False)) []+                    , Match (ConP 'True [] []) (NormalB vb) []+#else           (LamCaseE [ Match (ConP 'False []) (NormalB$ AppE (VarE 'return) (ConE 'False)) []                     , Match (ConP 'True []) (NormalB vb) []+#endif                     ])        explMembersFold va vb = AppE (VarE '(>>=)) va `AppE` AppE (VarE 'U.filterM) vb