swarm-0.7.0.0: swarm.cabal
cabal-version: 3.6
name: swarm
version: 0.7.0.0
synopsis: 2D resource gathering game with programmable robots
description:
Swarm is a 2D programming and resource gathering
game. Program your robots to explore the world and
collect resources, which in turn allows you to
build upgraded robots that can run more
interesting and complex programs. See the
<https://github.com/swarm-game/swarm/blob/main/README.md README>
for more information and instructions on how to
play or contribute!
== Module organization
For developers getting oriented, Swarm's modules are organized into
sublibraries. Roughly in order from inner to outer, they are:
* swarm-util: miscellaneous utilities
* swarm-lang: parsing, typechecking, etc. for the Swarm language
* swarm-topography: working with location in 2D (sub-)worlds
* swarm-scenario: scenario descriptions, parsing, & processing
* swarm-engine: game simulation
* swarm-doc: generating documentation
* swarm-tui: textual user interface
* swarm-web: web interface
* swarm: the swarm executable
<<docs/image/sublibrary-graph.svg>>
See the [Swarm module guide](https://github.com/swarm-game/swarm/wiki/Module-guide)
for a more in-depth guide to the codebase.
license: BSD-3-Clause
license-file: LICENSE
author: Brent Yorgey
maintainer: byorgey@gmail.com
bug-reports: https://github.com/swarm-game/swarm/issues
copyright: Brent Yorgey 2021
category: Game
tested-with: ghc ==9.6.6 || ==9.8.2 || ==9.10.1 || ==9.12.1
extra-doc-files:
CHANGELOG.md
extra-source-files:
editors/emacs/*.el
editors/vim/*.lua
editors/vim/*.vim
editors/vscode/syntaxes/*.yaml
example/*.sw
extra-doc-files: docs/image/sublibrary-graph.svg
data-dir: data/
data-files:
*.txt
*.yaml
scenarios/**/*.sw
scenarios/**/*.txt
scenarios/**/*.yaml
test/language-snippets/**/*.sw
test/saves/*.yaml
test/standalone-topography/*.png
test/standalone-topography/*.yaml
worlds/*.world
source-repository head
type: git
location: https://github.com/swarm-game/swarm.git
flag ci
description: Make warnings error
default: False
manual: True
common common
if flag(ci)
ghc-options: -Werror
ghc-options:
-Wall
-Wcompat
-Widentities
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wno-star-is-type
-Wpartial-fields
default-language: Haskell2010
common stan-config
ghc-options:
-fwrite-ide-info
-- Harmless extensions from GHC2021
common ghc2021-extensions
ghc-options:
-Wprepositive-qualified-module
-Wunused-packages
default-extensions:
-- Note we warn on prequalified
-- Not GHC2021, but until we get \cases we use \case a lot
BangPatterns
DeriveAnyClass
DeriveDataTypeable
DeriveFunctor
DeriveGeneric
DeriveTraversable
ExplicitForAll
FlexibleContexts
FlexibleInstances
GADTSyntax
ImportQualifiedPost
LambdaCase
MultiParamTypeClasses
NumericUnderscores
RankNTypes
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
TypeOperators
common base
build-depends: base >=4.18 && <4.22
common AhoCorasick
build-depends: AhoCorasick >=0.0.4 && <0.0.5
common JuicyPixels
build-depends: JuicyPixels >=3.3 && <3.4
common QuickCheck
build-depends: QuickCheck >=2.14 && <2.16
common SHA
build-depends: SHA >=1.6.4 && <1.6.5
common aeson
build-depends: aeson >=2.2 && <2.3
common array
build-depends: array >=0.5.4 && <0.6
common astar
build-depends: astar >=0.3 && <0.3.1
common boolexpr
build-depends: boolexpr >=0.2 && <0.3
common brick
build-depends: brick >=2.1.1 && <2.9
common brick-list-skip
build-depends: brick-list-skip >=0.1.1.2 && <0.2
common brick-tabular-list
build-depends: brick-tabular-list >=2.2.0 && <2.2.1
common bytestring
build-depends: bytestring >=0.10 && <0.13
common clock
build-depends: clock >=0.8.2 && <0.9
common colour
build-depends: colour >=2.3.6 && <2.4
common commonmark
build-depends: commonmark >=0.2 && <0.3
common commonmark-extensions
build-depends: commonmark-extensions >=0.2 && <0.3
common containers
build-depends: containers >=0.6.2 && <0.8
common cookie
build-depends: cookie >=0.4 && <1.0
common data-fix
build-depends: data-fix >=0.3 && <0.4
common deriving-compat
build-depends: deriving-compat >=0.6 && <0.7
common directory
build-depends: directory >=1.3 && <1.4
common dotgen
build-depends: dotgen >=0.4 && <0.5
common either
build-depends: either >=5.0 && <5.1
common exceptions
build-depends: exceptions >=0.10 && <0.11
common extra
build-depends: extra >=1.8 && <1.9
common filepath
build-depends: filepath >=1.4 && <1.6
common free
build-depends: free >=5.2 && <5.3
common fused-effects
build-depends: fused-effects >=1.1.2.5 && <1.2
common fused-effects-lens
build-depends: fused-effects-lens >=1.2.0.1 && <1.3
common fuzzy
build-depends: fuzzy >=0.1 && <0.2
common generic-data
build-depends: generic-data >=1.0 && <1.2
common githash
build-depends: githash >=0.1.6 && <0.2
common hashable
build-depends: hashable >=1.3.4 && <1.6
common hsnoise
build-depends: hsnoise >=0.0.3 && <0.1
common http-client
build-depends: http-client >=0.7 && <0.8
common http-client-tls
build-depends: http-client-tls >=0.3 && <0.4
common http-types
build-depends: http-types >=0.12 && <0.13
common lens
build-depends: lens >=4.19 && <5.4
common linear
build-depends: linear >=1.21.6 && <1.24
common lsp
build-depends: lsp >=2.4 && <2.8
common megaparsec
build-depends: megaparsec >=9.6.1 && <9.8
common minimorph
build-depends: minimorph >=0.3 && <0.4
common MissingH
build-depends: MissingH >=1.4 && <2
common monad-logger
build-depends: monad-logger >=0.3.0 && <0.4.0
common monoidmap
build-depends: monoidmap >=0.0.3.0 && <0.1
common monoidmap-aeson
build-depends: monoidmap-aeson >=0.0.0.1 && <0.1
common mtl
build-depends: mtl >=2.2.2 && <2.4
common murmur3
build-depends: murmur3 >=1.0.4 && <1.1
common natural-sort
build-depends: natural-sort >=0.1.2 && <0.2
common nonempty-containers
build-depends: nonempty-containers >=0.3.4 && <0.3.5
common optparse-applicative
build-depends: optparse-applicative >=0.16 && <0.19
common ordered-containers
build-depends: ordered-containers >=0.2.4 && <0.2.5
common palette
build-depends: palette >=0.3 && <0.4
common pandoc
build-depends: pandoc >=3.0 && <3.7
common pandoc-types
build-depends: pandoc-types >=1.23 && <1.24
common parser-combinators
build-depends: parser-combinators >=1.2 && <1.4
common prettyprinter
build-depends: prettyprinter >=1.7.0 && <1.8
common quickcheck-instances
build-depends: quickcheck-instances >=0.3.17 && <0.4
common random
build-depends: random >=1.2.0 && <1.4
common scientific
build-depends: scientific >=0.3.6 && <0.3.9
common servant
build-depends: servant >=0.19 && <0.22
common servant-docs
build-depends: servant-docs >=0.12 && <0.14
common servant-multipart
build-depends: servant-multipart >=0.11 && <1.0
common servant-JuicyPixels
build-depends: servant-JuicyPixels >=0.3.1 && <0.3.2
common servant-server
build-depends: servant-server >=0.19 && <0.22
common split
build-depends: split >=0.2.3 && <0.3
common sqlite-simple
build-depends: sqlite-simple >=0.4.19.0 && <0.4.20
common syb
build-depends: syb >=0.7 && <0.8
common tagged
build-depends: tagged >=0.8 && <0.9
common tasty
build-depends: tasty >=0.10 && <1.6
common tasty-bench
build-depends: tasty-bench >=0.3.1 && <0.5
common tasty-expected-failure
build-depends: tasty-expected-failure >=0.12 && <0.13
common tasty-hunit
build-depends: tasty-hunit >=0.10 && <0.11
common tasty-quickcheck
build-depends: tasty-quickcheck >=0.10 && <0.12
common template-haskell
build-depends: template-haskell >=2.16 && <2.24
common terminal-size
build-depends: terminal-size >=0.3 && <1.0
common text
build-depends: text >=1.2.4 && <2.2
common text-rope
build-depends: text-rope >=0.2 && <0.4
common text-zipper
build-depends: text-zipper >=0.10 && <0.14
common time
build-depends: time >=1.9 && <1.15
common transformers
build-depends: transformers >=0.5 && <0.7
common unicode-show
build-depends: unicode-show >=0.1 && <0.2
common unordered-containers
build-depends: unordered-containers >=0.2.14 && <0.3
common utf8-string
build-depends: utf8-string >=1.0 && <2.0
common vector
build-depends: vector >=0.12 && <0.14
common vty
build-depends: vty >=6.1 && <6.5
common vty-crossplatform
build-depends: vty-crossplatform >=0.4 && <0.5
common wai
build-depends: wai >=3.2 && <3.3
common wai-app-static
build-depends: wai-app-static >=3.1.8 && <3.2
common wai-extra
build-depends: wai-extra >=3.1 && <3.2
common warp
build-depends: warp >=3.2 && <3.5
common witch
build-depends: witch >=1.1.1.0 && <1.4
common witherable
build-depends: witherable >=0.4 && <0.6
common word-wrap
build-depends: word-wrap >=0.5 && <0.6
common yaml
build-depends: yaml >=0.11 && <0.11.12.0
library swarm-lang
import:
stan-config, common, ghc2021-extensions,
aeson,
base,
commonmark,
commonmark-extensions,
containers,
data-fix,
deriving-compat,
extra,
free,
fused-effects,
generic-data,
hashable,
lens,
lsp,
megaparsec,
monoidmap,
monoidmap-aeson,
mtl,
parser-combinators,
prettyprinter,
split,
syb,
template-haskell,
terminal-size,
text,
text-rope,
unicode-show,
vector,
vty,
witch,
yaml,
visibility: public
-- cabal-gild: discover src/swarm-lang
exposed-modules:
Swarm.Effect.Unify
Swarm.Effect.Unify.Common
Swarm.Effect.Unify.Fast
Swarm.Effect.Unify.Naive
Swarm.Language.Capability
Swarm.Language.Context
Swarm.Language.Elaborate
Swarm.Language.Format
Swarm.Language.JSON
Swarm.Language.Key
Swarm.Language.Kindcheck
Swarm.Language.LSP
Swarm.Language.LSP.Hover
Swarm.Language.LSP.VarUsage
Swarm.Language.Parser
Swarm.Language.Parser.Comment
Swarm.Language.Parser.Core
Swarm.Language.Parser.Lex
Swarm.Language.Parser.QQ
Swarm.Language.Parser.Record
Swarm.Language.Parser.Term
Swarm.Language.Parser.Type
Swarm.Language.Parser.Util
Swarm.Language.Parser.Value
Swarm.Language.Pipeline
Swarm.Language.Pipeline.QQ
Swarm.Language.Requirements
Swarm.Language.Requirements.Analysis
Swarm.Language.Requirements.Type
Swarm.Language.Syntax
Swarm.Language.Syntax.AST
Swarm.Language.Syntax.CommandMetadata
Swarm.Language.Syntax.Comments
Swarm.Language.Syntax.Constants
Swarm.Language.Syntax.Loc
Swarm.Language.Syntax.Pattern
Swarm.Language.Syntax.Pretty
Swarm.Language.Syntax.Util
Swarm.Language.TDVar
Swarm.Language.Text.Markdown
Swarm.Language.Typecheck
Swarm.Language.Typed
Swarm.Language.Types
Swarm.Language.Value
Swarm.Language.Var
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends: swarm:swarm-util
hs-source-dirs: src/swarm-lang
ghc-options:
-hiedir=.hie/src/swarm-lang
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
library swarm-topography
import:
stan-config, common, ghc2021-extensions,
AhoCorasick,
JuicyPixels,
aeson,
array,
either,
base,
containers,
extra,
hashable,
lens,
linear,
nonempty-containers,
servant-docs,
split,
text,
transformers,
unordered-containers,
vector,
yaml,
visibility: public
-- cabal-gild: discover src/swarm-topography
exposed-modules:
Swarm.Game.Location
Swarm.Game.Scenario.Topography.Area
Swarm.Game.Scenario.Topography.Grid
Swarm.Game.Scenario.Topography.Modify
Swarm.Game.Scenario.Topography.Navigation.Waypoint
Swarm.Game.Scenario.Topography.Placement
Swarm.Game.Scenario.Topography.ProtoCell
Swarm.Game.Scenario.Topography.Rasterize
Swarm.Game.Scenario.Topography.Structure
Swarm.Game.Scenario.Topography.Structure.Assembly
Swarm.Game.Scenario.Topography.Structure.Named
Swarm.Game.Scenario.Topography.Structure.Overlay
Swarm.Game.Scenario.Topography.Structure.Recognition
Swarm.Game.Scenario.Topography.Structure.Recognition.Log
Swarm.Game.Scenario.Topography.Structure.Recognition.Precompute
Swarm.Game.Scenario.Topography.Structure.Recognition.Prep
Swarm.Game.Scenario.Topography.Structure.Recognition.Registry
Swarm.Game.Scenario.Topography.Structure.Recognition.Static
Swarm.Game.Scenario.Topography.Structure.Recognition.Symmetry
Swarm.Game.Scenario.Topography.Structure.Recognition.Tracking
Swarm.Game.Scenario.Topography.Structure.Recognition.Type
Swarm.Game.Scenario.Topography.Terraform
Swarm.Game.Universe
Swarm.Game.World.Coords
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends:
swarm:swarm-util
hs-source-dirs: src/swarm-topography
ghc-options:
-hiedir=.hie/src/swarm-topography
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
library swarm-scenario
import:
stan-config, common, ghc2021-extensions,
JuicyPixels,
aeson,
array,
base,
boolexpr,
bytestring,
clock,
colour,
containers,
directory,
either,
extra,
filepath,
fused-effects,
hashable,
nonempty-containers,
hsnoise,
lens,
linear,
megaparsec,
monad-logger,
monoidmap,
monoidmap-aeson,
mtl,
murmur3,
palette,
parser-combinators,
prettyprinter,
random,
servant-docs,
tagged,
text,
vector,
vty,
witch,
yaml,
visibility: public
-- cabal-gild: discover src/swarm-scenario
exposed-modules:
Swarm.Constant
Swarm.Game.Achievement.Definitions
Swarm.Game.Device
Swarm.Game.Display
Swarm.Game.Entity
Swarm.Game.Entity.Cosmetic
Swarm.Game.Entity.Cosmetic.Assignment
Swarm.Game.Ingredients
Swarm.Game.Land
Swarm.Game.Recipe
Swarm.Game.Recipe.Graph
Swarm.Game.Robot
Swarm.Game.Robot.Walk
Swarm.Game.Scenario
Swarm.Game.Scenario.Objective
Swarm.Game.Scenario.Objective.Graph
Swarm.Game.Scenario.Objective.Logic
Swarm.Game.Scenario.Objective.Validation
Swarm.Game.Scenario.RobotLookup
Swarm.Game.Scenario.Style
Swarm.Game.Scenario.Topography.Cell
Swarm.Game.Scenario.Topography.Center
Swarm.Game.Scenario.Topography.EntityFacade
Swarm.Game.Scenario.Topography.Navigation.Portal
Swarm.Game.Scenario.Topography.WorldDescription
Swarm.Game.Scenario.Topography.WorldPalette
Swarm.Game.State.Config
Swarm.Game.State.Landscape
Swarm.Game.Terrain
Swarm.Game.World
Swarm.Game.World.Abstract
Swarm.Game.World.Compile
Swarm.Game.World.Eval
Swarm.Game.World.Gen
Swarm.Game.World.Interpret
Swarm.Game.World.Load
Swarm.Game.World.Parse
Swarm.Game.World.Render
Swarm.Game.World.Syntax
Swarm.Game.World.Typecheck
Swarm.Util.Content
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends:
swarm:swarm-lang,
swarm:swarm-topography,
swarm:swarm-util,
hs-source-dirs: src/swarm-scenario
ghc-options:
-hiedir=.hie/src/swarm-scenario
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
library swarm-engine
import:
stan-config, common, ghc2021-extensions,
SHA,
aeson,
array,
astar,
base,
boolexpr,
clock,
containers,
directory,
extra,
filepath,
fused-effects,
fused-effects-lens,
lens,
linear,
megaparsec,
monoidmap,
mtl,
nonempty-containers,
ordered-containers,
prettyprinter,
random,
servant-docs,
text,
time,
hashable,
transformers,
unordered-containers,
witch,
yaml,
visibility: public
-- cabal-gild: discover src/swarm-engine
exposed-modules:
Swarm.Effect
Swarm.Effect.Time
Swarm.Game.Achievement.Attainment
Swarm.Game.Achievement.Description
Swarm.Game.Achievement.Persistence
Swarm.Game.CESK
Swarm.Game.Exception
Swarm.Game.Popup
Swarm.Game.Robot.Activity
Swarm.Game.Robot.Concrete
Swarm.Game.Scenario.Objective.WinCheck
Swarm.Game.Scenario.Scoring.Best
Swarm.Game.Scenario.Scoring.CodeSize
Swarm.Game.Scenario.Scoring.ConcreteMetrics
Swarm.Game.Scenario.Scoring.GenericMetrics
Swarm.Game.Scenario.Status
Swarm.Game.Scenario.Topography.Navigation.Util
Swarm.Game.ScenarioInfo
Swarm.Game.State
Swarm.Game.State.Initialize
Swarm.Game.State.Robot
Swarm.Game.State.Runtime
Swarm.Game.State.Substate
Swarm.Game.Step
Swarm.Game.Step.Arithmetic
Swarm.Game.Step.Combustion
Swarm.Game.Step.Const
Swarm.Game.Step.Flood
Swarm.Game.Step.Path.Cache
Swarm.Game.Step.Path.Cache.DistanceLimit
Swarm.Game.Step.Path.Finding
Swarm.Game.Step.Path.Type
Swarm.Game.Step.Path.Walkability
Swarm.Game.Step.RobotStepState
Swarm.Game.Step.Util
Swarm.Game.Step.Util.Command
Swarm.Game.Step.Util.Inspect
Swarm.Game.Step.Validate
Swarm.Game.Tick
Swarm.Game.Value
Swarm.Log
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends:
swarm:swarm-lang,
swarm:swarm-scenario,
swarm:swarm-topography,
swarm:swarm-util,
hs-source-dirs: src/swarm-engine
ghc-options:
-hiedir=.hie/src/swarm-engine
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
library swarm-web
import:
stan-config, common, ghc2021-extensions,
aeson,
base,
bytestring,
colour,
commonmark,
containers,
http-types,
lens,
nonempty-containers,
palette,
servant,
servant-docs,
servant-server,
text,
wai,
wai-app-static,
warp,
dotgen,
witch,
visibility: public
-- cabal-gild: discover src/swarm-web
exposed-modules:
Swarm.Web
Swarm.Web.GraphRender
Swarm.Web.Worldview
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends:
swarm:swarm-engine,
swarm:swarm-lang,
swarm:swarm-scenario,
swarm:swarm-topography,
swarm:swarm-tui,
swarm:swarm-util,
hs-source-dirs: src/swarm-web
ghc-options:
-hiedir=.hie/src/swarm-web
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
library swarm-tournament
import:
stan-config, common, ghc2021-extensions,
SHA,
aeson,
base,
bytestring,
commonmark,
containers,
cookie,
exceptions,
extra,
fused-effects,
http-client,
http-client-tls,
http-types,
lens,
mtl,
JuicyPixels,
servant-JuicyPixels,
servant-docs,
servant-multipart,
servant-server,
sqlite-simple,
text,
time,
transformers,
utf8-string,
wai,
wai-app-static,
wai-extra,
warp,
yaml,
visibility: public
-- cabal-gild: discover src/swarm-tournament
exposed-modules:
Swarm.Web.Auth
Swarm.Web.Tournament
Swarm.Web.Tournament.Database.Query
Swarm.Web.Tournament.Type
Swarm.Web.Tournament.Validate
Swarm.Web.Tournament.Validate.FailureMode
Swarm.Web.Tournament.Validate.Upload
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends:
swarm:swarm-engine,
swarm:swarm-lang,
swarm:swarm-scenario,
swarm:swarm-util,
hs-source-dirs: src/swarm-tournament
ghc-options:
-hiedir=.hie/src/swarm-tournament
default-language: Haskell2010
library swarm-util
import:
stan-config, common, ghc2021-extensions,
aeson,
array,
base,
boolexpr,
clock,
containers,
data-fix,
directory,
either,
extra,
filepath,
free,
fused-effects,
hashable,
lens,
megaparsec,
minimorph,
mtl,
prettyprinter,
servant-docs,
template-haskell,
text,
transformers,
vector,
witch,
witherable,
yaml,
visibility: public
-- cabal-gild: discover src/swarm-util
exposed-modules:
Data.BoolExpr.Simplify
Swarm.Failure
Swarm.Language.Syntax.Direction
Swarm.Pretty
Swarm.ResourceLoading
Swarm.Util
Swarm.Util.Effect
Swarm.Util.Erasable
Swarm.Util.Graph
Swarm.Util.JSON
Swarm.Util.Lens
Swarm.Util.OccurrenceEncoder
Swarm.Util.RingBuffer
Swarm.Util.UnitInterval
Swarm.Util.WindowedCounter
Swarm.Util.Yaml
other-modules: Paths_swarm
autogen-modules: Paths_swarm
hs-source-dirs: src/swarm-util
ghc-options:
-hiedir=.hie/src/swarm-util
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
library swarm-doc
import:
stan-config, common, ghc2021-extensions,
aeson,
base,
containers,
directory,
dotgen,
extra,
filepath,
fused-effects,
lens,
mtl,
pandoc,
pandoc-types,
scientific,
servant-docs,
text,
transformers,
vector,
visibility: public
-- cabal-gild: discover src/swarm-doc
exposed-modules:
Swarm.Doc.Command
Swarm.Doc.Gen
Swarm.Doc.Keyword
Swarm.Doc.Pedagogy
Swarm.Doc.Schema.Arrangement
Swarm.Doc.Schema.Parse
Swarm.Doc.Schema.Refined
Swarm.Doc.Schema.Render
Swarm.Doc.Schema.SchemaType
Swarm.Doc.Util
Swarm.Doc.Wiki.Cheatsheet
Swarm.Doc.Wiki.Matrix
Swarm.Doc.Wiki.Util
build-depends:
swarm:swarm-engine,
swarm:swarm-lang,
swarm:swarm-scenario,
swarm:swarm-util,
hs-source-dirs: src/swarm-doc
ghc-options:
-hiedir=.hie/src/swarm-doc
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
library swarm-tui
import:
stan-config, common, ghc2021-extensions,
aeson,
array,
base,
brick,
brick-list-skip,
brick-tabular-list,
bytestring,
clock,
prettyprinter,
colour,
containers,
extra,
filepath,
fused-effects,
fuzzy,
generic-data,
githash,
lens,
linear,
mtl,
murmur3,
natural-sort,
nonempty-containers,
palette,
servant-docs,
split,
tagged,
text,
text-zipper,
time,
transformers,
vector,
vty,
warp,
witch,
word-wrap,
yaml,
visibility: public
-- cabal-gild: discover src/swarm-tui
exposed-modules:
Swarm.TUI.Border
Swarm.TUI.Controller
Swarm.TUI.Controller.EventHandlers
Swarm.TUI.Controller.EventHandlers.Frame
Swarm.TUI.Controller.EventHandlers.Main
Swarm.TUI.Controller.EventHandlers.REPL
Swarm.TUI.Controller.EventHandlers.Robot
Swarm.TUI.Controller.EventHandlers.World
Swarm.TUI.Controller.SaveScenario
Swarm.TUI.Controller.UpdateUI
Swarm.TUI.Controller.Util
Swarm.TUI.Editor.Controller
Swarm.TUI.Editor.Json
Swarm.TUI.Editor.Masking
Swarm.TUI.Editor.Model
Swarm.TUI.Editor.Palette
Swarm.TUI.Editor.Util
Swarm.TUI.Editor.View
Swarm.TUI.Inventory.Sorting
Swarm.TUI.Launch.Controller
Swarm.TUI.Launch.Model
Swarm.TUI.Launch.Prep
Swarm.TUI.Launch.View
Swarm.TUI.List
Swarm.TUI.Model
Swarm.TUI.Model.Achievements
Swarm.TUI.Model.DebugOption
Swarm.TUI.Model.Dialog
Swarm.TUI.Model.Dialog.Goal
Swarm.TUI.Model.Dialog.Structure
Swarm.TUI.Model.Event
Swarm.TUI.Model.KeyBindings
Swarm.TUI.Model.Menu
Swarm.TUI.Model.Name
Swarm.TUI.Model.Repl
Swarm.TUI.Model.StateUpdate
Swarm.TUI.Model.UI
Swarm.TUI.Model.UI.Gameplay
Swarm.TUI.Model.WebCommand
Swarm.TUI.Panel
Swarm.TUI.View
Swarm.TUI.View.Achievement
Swarm.TUI.View.Attribute.Attr
Swarm.TUI.View.Attribute.CustomStyling
Swarm.TUI.View.Attribute.Util
Swarm.TUI.View.CellDisplay
Swarm.TUI.View.Logo
Swarm.TUI.View.Objective
Swarm.TUI.View.Popup
Swarm.TUI.View.Robot
Swarm.TUI.View.Robot.Details
Swarm.TUI.View.Robot.Type
Swarm.TUI.View.Shared
Swarm.TUI.View.Structure
Swarm.TUI.View.Util
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends:
swarm:swarm-engine,
swarm:swarm-lang,
swarm:swarm-scenario,
swarm:swarm-topography,
swarm:swarm-util,
hs-source-dirs: src/swarm-tui
ghc-options:
-hiedir=.hie/src/swarm-tui
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
executable swarm
import:
stan-config, common, ghc2021-extensions,
aeson,
base,
brick,
bytestring,
containers,
extra,
fused-effects,
githash,
http-client,
http-client-tls,
http-types,
lens,
optparse-applicative,
text,
vty,
vty-crossplatform,
yaml,
build-depends:
swarm:swarm-engine,
swarm:swarm-lang,
swarm:swarm-tui,
swarm:swarm-util,
swarm:swarm-web,
main-is: Main.hs
autogen-modules: Paths_swarm
other-modules:
Paths_swarm
Swarm.App
Swarm.Version
hs-source-dirs: app/game
ghc-options:
-hiedir=.hie/app/game
default-language: Haskell2010
ghc-options: -threaded
default-extensions: ImportQualifiedPost
executable swarm-scene
import:
stan-config, common, ghc2021-extensions,
base,
optparse-applicative,
main-is: Main.hs
build-depends:
swarm:swarm-scenario,
swarm:swarm-topography,
hs-source-dirs: app/scene
ghc-options:
-hiedir=.hie/app/scene
default-language: Haskell2010
ghc-options: -threaded
default-extensions: ImportQualifiedPost
executable swarm-docs
import:
stan-config, common, ghc2021-extensions,
base,
optparse-applicative,
text,
build-depends:
swarm:swarm-doc
main-is: Main.hs
other-modules:
hs-source-dirs: app/doc
ghc-options:
-hiedir=.hie/app/doc
default-language: Haskell2010
ghc-options: -threaded
default-extensions: ImportQualifiedPost
executable swarm-host-tournament
import:
stan-config, common, ghc2021-extensions,
base,
optparse-applicative,
sqlite-simple,
transformers,
warp,
yaml,
main-is: Main.hs
build-depends:
swarm:swarm-engine,
swarm:swarm-tournament,
hs-source-dirs: app/tournament
ghc-options:
-hiedir=.hie/app/tournament
default-language: Haskell2010
ghc-options: -threaded
default-extensions: ImportQualifiedPost
test-suite swarm-unit
import:
stan-config, common, ghc2021-extensions,
QuickCheck,
aeson,
base,
boolexpr,
containers,
data-fix,
filepath,
hashable,
lens,
megaparsec,
mtl,
quickcheck-instances,
tasty,
tasty-hunit,
tasty-quickcheck,
text,
time,
vty,
witch,
yaml,
main-is: Main.hs
type: exitcode-stdio-1.0
other-modules:
TestBoolExpr
TestCommand
TestContext
TestEval
TestInventory
TestLSP
TestLanguagePipeline
TestNotification
TestOrdering
TestOverlay
TestParse
TestPedagogy
TestPretty
TestQQ
TestRepl
TestRequirements
TestScoring
TestUtil
build-depends:
swarm:swarm-doc,
swarm:swarm-engine,
swarm:swarm-lang,
swarm:swarm-scenario,
swarm:swarm-topography,
swarm:swarm-tui,
swarm:swarm-util,
hs-source-dirs: test/unit
ghc-options:
-hiedir=.hie/test/unit
default-language: Haskell2010
ghc-options: -threaded
test-suite swarm-integration
import:
stan-config, common, ghc2021-extensions,
base,
containers,
filepath,
fused-effects,
lens,
mtl,
tasty,
tasty-expected-failure,
tasty-hunit,
text,
witch,
yaml,
main-is: Main.hs
other-modules:
TestFormat
TestRecipeCoverage
type: exitcode-stdio-1.0
build-depends:
swarm:swarm-doc,
swarm:swarm-engine,
swarm:swarm-lang,
swarm:swarm-scenario,
swarm:swarm-tui,
swarm:swarm-util,
hs-source-dirs: test/integration
ghc-options:
-hiedir=.hie/test/integration
default-language: Haskell2010
ghc-options: -threaded
test-suite tournament-host
import:
stan-config, common, ghc2021-extensions,
SHA,
base,
bytestring,
http-client,
http-types,
nonempty-containers,
tasty,
tasty-hunit,
warp,
main-is: Main.hs
type: exitcode-stdio-1.0
build-depends:
swarm:swarm-engine,
swarm:swarm-tournament,
hs-source-dirs: test/tournament-host
ghc-options:
-hiedir=.hie/test/tournament-host
default-language: Haskell2010
ghc-options: -threaded
test-suite standalone-topography
import:
stan-config, common, ghc2021-extensions,
JuicyPixels,
MissingH,
base,
bytestring,
filepath,
tasty,
tasty-hunit,
yaml,
main-is: Main.hs
type: exitcode-stdio-1.0
other-modules:
Lib
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends:
swarm:swarm-scenario,
swarm:swarm-topography,
swarm:swarm-util,
hs-source-dirs: test/standalone-topography/src
ghc-options:
-hiedir=.hie/test/standalone-topography/src
default-language: Haskell2010
ghc-options: -threaded
benchmark benchmark
import:
stan-config, common, ghc2021-extensions,
base,
containers,
extra,
lens,
mtl,
tasty-bench,
text,
main-is: Benchmark.hs
hs-source-dirs: test/bench
ghc-options:
-hiedir=.hie/test/bench
type: exitcode-stdio-1.0
build-depends:
fused-effects,
swarm:swarm-engine,
swarm:swarm-lang,
swarm:swarm-scenario,
swarm:swarm-topography,
swarm:swarm-util,
default-language: Haskell2010
ghc-options:
-threaded
-with-rtsopts=-A32m
-fproc-alignment=64