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 -- 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 'typed-fsm' generated by -- 'cabal init'. For further documentation, see: -- http://haskell.org/cabal/users-guide/ -- The name of the package. name: typed-fsm -- The package version. -- 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.3.0.1 -- A short (one-line) description of the package. synopsis: A framework for strongly typed FSM -- A longer description of the package. description: FSM stands for [Finite State Machine](https://en.wikipedia.org/wiki/Finite-state_machine). The typed-fsm is used to define and execute FSM. Advantages of type-fsm: * Focus on the right message. * Top-to-bottom design for easy refactoring. * Conducive to building complex state machine systems: ** Type guarantees will not produce incorrect function calls when written. ** With the help of the type system, we can define many state processing functions and then call each other recursively with confidence. * There is a sanity check. If you miss some items for pattern matching, the compiler will issue a warning, and there will also be a warning for invalid items. -- The license under which the package is released. license: MIT -- The file containing the license text. license-file: LICENSE -- The package author(s). author: sdzx-1 -- An email address to which users can send suggestions, bug reports, and patches. maintainer: shangdizhixia1993@163.com -- A copyright notice. -- copyright: category: Control 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 library -- Import common warning flags. import: warnings -- Modules exported by the library. exposed-modules: TypedFsm , TypedFsm.Core , TypedFsm.Driver.Common , TypedFsm.Driver.Op , TypedFsm.Driver.General , Data.IFunctor -- Modules included in this library but not exported. -- other-modules: -- LANGUAGE extensions used by modules in this package. -- other-extensions: -- Other library packages from which modules are imported. build-depends: base >=4.20.0.0 && < 5 , dependent-map ^>= 0.4.0.0 , dependent-sum ^>= 0.7.2.0 , mtl ^>= 2.3.1 , singletons-base ^>= 3.4 -- Directories containing source files. hs-source-dirs: src -- Base language which the package is written in. default-language: GHC2021 source-repository head type: git location: https://github.com/sdzx-1/typed-fsm