cabal-version: 3.0 -- The cabal-version field refers to the version of the .cabal specification, -- and can be different from the cabal-install (the tool) version and the -- Cabal (the library) version you are using. As such, the Cabal (the library) -- version used must be equal or greater than the version stated in this field. -- Starting from the specification version 2.2, the cabal-version field must be -- the first thing in the cabal file. -- Initial package description 'mischief' generated by -- 'cabal init'. For further documentation, see: -- http://haskell.org/cabal/users-guide/ -- -- The name of the package. name: mischief-ecs -- The package version. -- See the Haskell package versioning policy (PVP) for standards -- guiding when and how versions should be incremented. -- https://pvp.haskell.org -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 0.0.0.0 -- A short (one-line) description of the package. synopsis: An opinionated archetype ECS engine built in Haskell. -- A longer description of the package. description: The ECS at the core of the Mischief game engine. It is mainly focused on ergonomics and accessibility. Check the "Learn You an ECS for Great Mischief" book in the haddock documentation to learn about using it. The high-level API is quite opinionated compared to other Haskell libraries. -- The license under which the package is released. license: BSD-3-Clause -- The file containing the license text. license-file: LICENSE -- The package author(s). author: Damon -- An email address to which users can send suggestions, bug reports, and patches. maintainer: pvdoriginal2019@gmail.com -- A copyright notice. -- copyright: build-type: Simple -- Extra doc files to be distributed with the package, such as a CHANGELOG or a README. extra-doc-files: CHANGELOG.md -- Extra source files to be distributed with the package, such as examples, or a tutorial module. -- extra-source-files: common warnings ghc-options: "-Wall," -Wno-name-shadowing library -- Import common warning flags. import: warnings -- Modules exported by the library. exposed-modules: Mischief.ECS Mischief.ECS.App Mischief.ECS.App.Plugins Mischief.ECS.App.Scheduler Mischief.ECS.App.Schedules Mischief.ECS.App.SystemConfig Mischief.ECS.App.SystemDef Mischief.ECS.App.Systems Mischief.ECS.Archetypes Mischief.ECS.Archetypes.Graph Mischief.ECS.Collectable Mischief.ECS.Components Mischief.ECS.Components.Bundle Mischief.ECS.Components.BundleTypes Mischief.ECS.Components.Common Mischief.ECS.Components.Hooks Mischief.ECS.Components.HooksDef Mischief.ECS.Components.Required Mischief.ECS.Components.Runnable Mischief.ECS.Components.Spawn Mischief.ECS.Entities Mischief.ECS.EntityDef Mischief.ECS.EventDef Mischief.ECS.Events Mischief.ECS.Graph Mischief.ECS.Hooks Mischief.ECS.Interval Mischief.ECS.Log Mischief.ECS.Mappable Mischief.ECS.Messages Mischief.ECS.Observer Mischief.ECS.Observers Mischief.ECS.Prelude Mischief.ECS.Relationships Mischief.ECS.Relationships.ChildOf Mischief.ECS.Relationships.Graph Mischief.ECS.Relationships.Order Mischief.ECS.Relationships.Tree Mischief.ECS.Resources Mischief.ECS.Schedules Mischief.ECS.Stdin Mischief.ECS.Stdout Mischief.ECS.Systems Mischief.ECS.Tables Mischief.ECS.Time Mischief.ECS.Timer Mischief.ECS.Tutorial.App Mischief.ECS.Tutorial.Components Mischief.ECS.Tutorial.Dungeon Mischief.ECS.Tutorial.Events Mischief.ECS.Tutorial.Queries Mischief.ECS.Tutorial.Relationships Mischief.ECS.Tutorial.Startup Mischief.ECS.Tutorial.Systems Mischief.ECS.Utils Mischief.ECS.Vec Mischief.ECS.World Mischief.ECS.World.Change Mischief.ECS.World.Defer Mischief.ECS.World.Insert Mischief.ECS.World.Modify Mischief.ECS.World.Par Mischief.ECS.World.Prefs Mischief.ECS.World.Query Mischief.ECS.World.Query.Queryable Mischief.ECS.World.Query.QueryFilter Mischief.ECS.World.Query.QueryType Mischief.ECS.World.Query.TH Mischief.ECS.World.Query.TH.QD Mischief.ECS.World.Query.TH.QF Mischief.ECS.World.Query.Val Mischief.ECS.World.Query.Validation Mischief.ECS.World.Remove Mischief.ECS.World.Spawn Mischief.ECS.World.Systems Mischief.ECS.World.Utils -- Modules included in this library but not exported. -- other-modules: other-modules: Mischief.ECS.Hidden -- LANGUAGE extensions used by modules in this package.z default-extensions: DefaultSignatures DeriveAnyClass DuplicateRecordFields FunctionalDependencies ImportQualifiedPost MagicHash NoFieldSelectors OverloadedRecordDot OverloadedStrings QuasiQuotes RequiredTypeArguments TemplateHaskell TypeFamilyDependencies UnboxedSums UnboxedTuples UndecidableInstances UnliftedDatatypes UnliftedNewtypes -- other-extensions: -- Other library packages from which modules are imported. build-depends: ansi-terminal >=1.1.5 && <1.2, async >=2.2.6 && <2.3, base ^>=4.21.0.0, binary >=0.8.9 && <0.9, bytestring >=0.12.2 && <0.13, clock >=0.8.4 && <0.9, co-log >=0.7.0 && <0.8, containers >=0.7 && <0.8, data-default >=0.8.0 && <0.9, hashable >=1.5.1 && <1.6, hashtables >=1.4.2 && <1.5, haskell-src-meta >=0.8.16 && <0.9, megaparsec >=9.8.1 && <9.9, mtl >=2.3.1 && <2.4, primitive >=0.9.1 && <0.10, stm >=2.5.3 && <2.6, template-haskell >=2.23.0 && <2.24, text >=2.1.2 && <2.2, time >=1.14 && <1.15, transformers >=0.6.1 && <0.7, vector >=0.13.2 && <0.14, -- Directories containing source files. hs-source-dirs: src -- Base language which the package is written in. default-language: GHC2024 ghc-options: -fno-omit-yields test-suite mischief-test -- Import common warning flags. import: warnings ghc-options: -fno-omit-yields -- Base language which the package is written in. default-language: GHC2024 -- Modules included in this executable, other than Main. -- other-modules: -- LANGUAGE extensions used by modules in this package. default-extensions: DeriveAnyClass DuplicateRecordFields NoFieldSelectors NoGeneralizedNewtypeDeriving OverloadedRecordDot OverloadedStrings QuasiQuotes RequiredTypeArguments TypeFamilyDependencies -- other-extensions: -- The interface type and version of the test suite. type: exitcode-stdio-1.0 -- Directories containing source files. hs-source-dirs: test -- The entrypoint to the test suite. main-is: Main.hs other-modules: Relationships -- Test dependencies. build-depends: base ^>=4.21.0.0, containers, data-default, mischief-ecs, primitive, random, transformers, executable example-dungeon main-is: Dungeon.hs hs-source-dirs: examples build-depends: base ^>=4.21.0.0, containers >=0.7 && <0.8, data-default >=0.8.0 && <0.9, primitive >=0.9.1 && <0.10, random >=1.3.1 && <1.4, transformers >=0.6.1 && <0.7, default-language: GHC2024 default-extensions: DeriveAnyClass DuplicateRecordFields NoFieldSelectors NoGeneralizedNewtypeDeriving OverloadedRecordDot OverloadedStrings QuasiQuotes RequiredTypeArguments TemplateHaskell TypeFamilyDependencies benchmark bench-spawn type: exitcode-stdio-1.0 main-is: bench-spawn.hs hs-source-dirs: benchmarks default-language: GHC2024 build-depends: base >=4.21.0 && <4.22, containers >=0.7 && <0.8, criterion >=1.6.5 && <1.7, deepseq >=1.5.1 && <1.6, primitive >=0.9.1 && <0.10, time >=1.14 && <1.15, transformers >=0.6.1 && <0.7, default-extensions: DeriveAnyClass DuplicateRecordFields NoFieldSelectors NoGeneralizedNewtypeDeriving OverloadedRecordDot OverloadedStrings QuasiQuotes RequiredTypeArguments TemplateHaskell TypeFamilyDependencies benchmark bench-insert type: exitcode-stdio-1.0 main-is: bench-insert.hs hs-source-dirs: benchmarks default-language: GHC2024 build-depends: base >=4.21.0 && <4.22, containers >=0.7 && <0.8, criterion >=1.6.5 && <1.7, deepseq >=1.5.1 && <1.6, primitive >=0.9.1 && <0.10, time >=1.14 && <1.15, transformers >=0.6.1 && <0.7, default-extensions: DeriveAnyClass DuplicateRecordFields NoFieldSelectors NoGeneralizedNewtypeDeriving OverloadedRecordDot OverloadedStrings QuasiQuotes RequiredTypeArguments TemplateHaskell TypeFamilyDependencies benchmark bench-update type: exitcode-stdio-1.0 main-is: bench-update.hs hs-source-dirs: benchmarks default-language: GHC2024 build-depends: base >=4.21.0 && <4.22, containers >=0.7 && <0.8, criterion >=1.6.5 && <1.7, deepseq >=1.5.1 && <1.6, primitive >=0.9.1 && <0.10, time >=1.14 && <1.15, transformers >=0.6.1 && <0.7, default-extensions: DeriveAnyClass DuplicateRecordFields NoFieldSelectors NoGeneralizedNewtypeDeriving OverloadedRecordDot OverloadedStrings QuasiQuotes RequiredTypeArguments TemplateHaskell TypeFamilyDependencies