mischief-ecs-0.1.0.0: mischief-ecs.cabal
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.1.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.
category: Game Engine, ECS, Game, Control, Data, Framework
-- 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.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.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.Markers
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.Common
Mischief.ECS.World.Query.TH.QD
Mischief.ECS.World.Query.TH.QF
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