packages feed

exchangealgebra-0.6.0.0: exchangealgebra.cabal

cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.39.6.
--
-- see: https://github.com/sol/hpack

name:           exchangealgebra
version:        0.6.0.0
synopsis:       Exchange Algebra for bookkeeping and economic simulation
description:    Exchange Algebra is an algebraic description of bookkeeping developed by Hiroshi Deguchi. This package represents bookkeeping entries as elements of a redundant algebra, where increases and decreases are expressed by Hat and Not bases rather than by sign. It provides journals with notes, accounting operations such as closing, transfers, trial balances, and financial statements, CSV input and output, and a state-space framework for economic simulation. See the README for a guide and the changelog for migration notes.
category:       Accounting, Finance, Math
homepage:       https://github.com/yakagika/ExchangeAlgebra#readme
bug-reports:    https://github.com/yakagika/ExchangeAlgebra/issues
author:         Kaya Akagi
maintainer:     yakagika@icloud.com
copyright:      2018-2026 Kaya Akagi
license:        OtherLicense
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md
    docs/migration-0.5-derived-metrics.md
    docs/EDINET-TAXONOMY-NOTICE.md
    test/fixtures/account-algebra-behavior/presentation.tsv
    test/fixtures/account-algebra-behavior/projection-membership.tsv
    test/fixtures/account-algebra-behavior/semantics.tsv
    test/fixtures/account-semantics-050/account-info.tsv
    test/fixtures/account-semantics-050/metadata.tsv
    test/fixtures/account-semantics-050/README.md
    test/fixtures/account-semantics-050/suggest.tsv
    test/fixtures/admission-baseline-p1/equivalence.tsv
    test/fixtures/admission-baseline-p1/README.md
    test/fixtures/consolidation-worksheet-050/minimal.tsv
    test/fixtures/consolidation-worksheet-050/README.md
    test/fixtures/example-numbers-p1/README.md
    test/fixtures/example-numbers-p1/ripple-analysis.tsv
    test/fixtures/export-surface-p2/counts.tsv
    test/fixtures/export-surface-p2/ExchangeAlgebra.Accounting.PostingPolicy.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Accounting.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.Base.Account.JcciAliases.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.Base.Account.Registry.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.Base.Account.Types.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.Base.Element.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.Base.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.Internal.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.Transfer.Rule.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.Transfer.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Algebra.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Assist.Descriptions.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Assist.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Bookkeeping.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Consolidation.Worksheet.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Convert.Checked.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Convert.Csv.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Convert.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.IO.Input.Admission.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Journal.Transfer.Rule.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Journal.Transfer.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Journal.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Optimize.Annealing.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Optimize.GA.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Optimize.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Posting.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Render.Bookkeeping.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Render.Csv.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Render.Simulation.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Reporting.Group.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Reporting.Metric.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Reporting.Presentation.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.Analysis.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.Engine.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.Lite.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.Network.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.Policy.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.Random.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.Spill.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Simulate.Visualize.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.TrialBalance.Balance.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.TrialBalance.Validation.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.txt
    test/fixtures/export-surface-p2/ExchangeAlgebra.Value.txt
    test/fixtures/export-surface-p2/orphans.txt
    test/fixtures/export-surface-p2/README.md
    test/fixtures/jcci-2022/queries.tsv
    test/fixtures/jcci-2022/README.md
    test/fixtures/jcci-2022/source.tsv
    test/fixtures/post-vocab/account-info.tsv
    test/fixtures/post-vocab/ordinals.tsv
    test/fixtures/post-vocab/README.md
    test/fixtures/post-vocab/semantics.tsv
    test/fixtures/post-vocab/suggest.tsv
    test/fixtures/pre-vland2/ordinals.tsv
    test/fixtures/readout-baseline-p1/alg-decimal-f-dec2.tsv
    test/fixtures/readout-baseline-p1/alg-decimal-f-int.tsv
    test/fixtures/readout-baseline-p1/alg-double-f-cancel.tsv
    test/fixtures/readout-baseline-p1/alg-double-f-dec2.tsv
    test/fixtures/readout-baseline-p1/alg-double-f-exp.tsv
    test/fixtures/readout-baseline-p1/alg-double-f-int.tsv
    test/fixtures/readout-baseline-p1/alg-double-f-sub.tsv
    test/fixtures/readout-baseline-p1/alg-keyed-decimal-f-dec2.tsv
    test/fixtures/readout-baseline-p1/alg-keyed-decimal-f-int.tsv
    test/fixtures/readout-baseline-p1/alg-keyed-double-f-cancel.tsv
    test/fixtures/readout-baseline-p1/alg-keyed-double-f-dec2.tsv
    test/fixtures/readout-baseline-p1/alg-keyed-double-f-exp.tsv
    test/fixtures/readout-baseline-p1/alg-keyed-double-f-int.tsv
    test/fixtures/readout-baseline-p1/alg-keyed-double-f-sub.tsv
    test/fixtures/readout-baseline-p1/journal-decimal-f-dec2.tsv
    test/fixtures/readout-baseline-p1/journal-decimal-f-int.tsv
    test/fixtures/readout-baseline-p1/journal-double-f-cancel.tsv
    test/fixtures/readout-baseline-p1/journal-double-f-dec2.tsv
    test/fixtures/readout-baseline-p1/journal-double-f-exp.tsv
    test/fixtures/readout-baseline-p1/journal-double-f-int.tsv
    test/fixtures/readout-baseline-p1/journal-double-f-sub.tsv
    test/fixtures/readout-baseline-p1/README.md
    test/fixtures/registry-aliases/alias-resolution.tsv
    test/fixtures/statement-presentation/presentation.txt
    test/fixtures/wire-format-p2/decode-boundaries.tsv
    test/fixtures/wire-format-p2/README.md
    test/fixtures/wire-format-p2/wire-format.tsv
    test/fixtures/write-rows-0510/ebex6-compound-trial-balance.tsv
    test/fixtures/write-rows-0510/ebex7-compound-trial-balance.tsv
    test/fixtures/write-rows-0510/ebex8-account-ledger-journal.tsv
    test/fixtures/write-rows-0510/ebex8-account-ledger.tsv
    test/fixtures/write-rows-0510/ebex8-compound-trial-balance.tsv
    test/fixtures/write-rows-0510/ebex8-journal.tsv
    test/fixtures/write-rows-0510/ebex9-post-closing-trial-balance.tsv
    test/fixtures/write-rows-0510/ebex9-worksheet.tsv
    test/fixtures/write-rows-0510/README.md
    test/compile-fail/AdmissionFailureConstructor.hs
    test/compile-fail/AlgConstructor.hs
    test/compile-fail/AlgHiddenConstructor.hs
    test/compile-fail/AlgRecordUpdate.hs
    test/compile-fail/Coerce.hs
    test/compile-fail/Constructor.hs
    test/compile-fail/DeprecatedTransfer.hs
    test/compile-fail/HiddenModule.hs
    test/compile-fail/PublicClient.hs
    test/compile-fail/PublicExplicitImportClient.hs
    test/compile-fail/RawDerivation.hs
    test/compile-fail/RecordUpdate.hs
    test/compile-fail/check.sh
    test/compat-clients/CompatInstance.hs
    test/compat-clients/InstanceMain.hs
    test/compat-clients/MixedPath.hs
    test/compat-clients/NewPath.hs
    test/compat-clients/OldPath.hs
    test/compat-clients/check.sh
    test/compat-clients/README.md
    tools/check-export-surface.py
    tools/check-orphans.py
    docs/admission-api-design-notes.md

source-repository head
  type: git
  location: https://github.com/yakagika/ExchangeAlgebra

flag visualize
  description: Build ExchangeAlgebra.Simulate.Visualize, which needs Chart, Chart-cairo and a cairo / pango toolchain. Enable with --flag exchangealgebra:visualize to write PNG charts.
  manual: True
  default: False

library
  exposed-modules:
      ExchangeAlgebra
      ExchangeAlgebra.Accounting
      ExchangeAlgebra.Accounting.Account
      ExchangeAlgebra.Accounting.Closing
      ExchangeAlgebra.Accounting.Consolidation
      ExchangeAlgebra.Accounting.Entries
      ExchangeAlgebra.Accounting.Exchange
      ExchangeAlgebra.Accounting.PostingPolicy
      ExchangeAlgebra.Accounting.Statements
      ExchangeAlgebra.Accounting.Statements.Group
      ExchangeAlgebra.Accounting.Statements.Metric
      ExchangeAlgebra.Accounting.Statements.Presentation
      ExchangeAlgebra.Accounting.TrialBalance
      ExchangeAlgebra.Accounting.TrialBalance.Balance
      ExchangeAlgebra.Accounting.TrialBalance.Validation
      ExchangeAlgebra.Accounting.Transfer
      ExchangeAlgebra.Algebra
      ExchangeAlgebra.Algebra.Base
      ExchangeAlgebra.Algebra.Base.Account.JcciAliases
      ExchangeAlgebra.Algebra.Base.Account.Registry
      ExchangeAlgebra.Algebra.Base.Account.Types
      ExchangeAlgebra.Algebra.Base.Element
      ExchangeAlgebra.Algebra.Core
      ExchangeAlgebra.Algebra.Element
      ExchangeAlgebra.Algebra.Internal
      ExchangeAlgebra.Algebra.Posting
      ExchangeAlgebra.Algebra.Transfer
      ExchangeAlgebra.Algebra.Transfer.Rule
      ExchangeAlgebra.Algebra.Value
      ExchangeAlgebra.Assist
      ExchangeAlgebra.Assist.Descriptions
      ExchangeAlgebra.Bookkeeping
      ExchangeAlgebra.Consolidation.Worksheet
      ExchangeAlgebra.Convert
      ExchangeAlgebra.Convert.Checked
      ExchangeAlgebra.Convert.Csv
      ExchangeAlgebra.IO.Input
      ExchangeAlgebra.IO.Input.Csv
      ExchangeAlgebra.IO.Input.Assist
      ExchangeAlgebra.IO.Output
      ExchangeAlgebra.IO.Output.Csv
      ExchangeAlgebra.IO.Output.Statements
      ExchangeAlgebra.IO.Input.Admission
      ExchangeAlgebra.Accounting.Transaction
      ExchangeAlgebra.Accounting.Adjustment
      ExchangeAlgebra.Accounting.Equivalence
      ExchangeAlgebra.Journal
      ExchangeAlgebra.Journal.Core
      ExchangeAlgebra.Journal.Transfer
      ExchangeAlgebra.Journal.Transfer.Rule
      ExchangeAlgebra.Optimize
      ExchangeAlgebra.Optimize.Annealing
      ExchangeAlgebra.Optimize.GA
      ExchangeAlgebra.Posting
      ExchangeAlgebra.Render.Bookkeeping
      ExchangeAlgebra.Render.Csv
      ExchangeAlgebra.Render.Simulation
      ExchangeAlgebra.Reporting.Group
      ExchangeAlgebra.Reporting.Metric
      ExchangeAlgebra.Reporting.Presentation
      ExchangeAlgebra.Simulate
      ExchangeAlgebra.Simulate.Analysis
      ExchangeAlgebra.Simulation.Analysis
      ExchangeAlgebra.Simulation.Optimize
      ExchangeAlgebra.Simulation.Optimize.Annealing
      ExchangeAlgebra.Simulation.Optimize.GA
      ExchangeAlgebra.Simulation.Output
      ExchangeAlgebra.Simulate.Engine
      ExchangeAlgebra.Simulate.Lite
      ExchangeAlgebra.Simulate.Network
      ExchangeAlgebra.Simulation.Network
      ExchangeAlgebra.Simulation.Network.Flows
      ExchangeAlgebra.Simulation.Network.Csv
      ExchangeAlgebra.Simulation.Network.Journal
      ExchangeAlgebra.Simulate.Policy
      ExchangeAlgebra.Simulate.Random
      ExchangeAlgebra.Simulate.Spill
      ExchangeAlgebra.TrialBalance.Balance
      ExchangeAlgebra.TrialBalance.Validation
      ExchangeAlgebra.Value
  other-modules:
      ExchangeAlgebra.Accounting.TrialBalance.Accum
      ExchangeAlgebra.Accounting.Catalog
      ExchangeAlgebra.Algebra.Element.Representation
      ExchangeAlgebra.Algebra.Base.Representation
      ExchangeAlgebra.Algebra.Value.Class
      ExchangeAlgebra.Algebra.Value.Accum
      ExchangeAlgebra.Algebra.Core.Representation
      ExchangeAlgebra.Journal.Core.Representation
      ExchangeAlgebra.Accounting.Account.Title
      ExchangeAlgebra.Accounting.Account.Classification
      ExchangeAlgebra.Accounting.Account.Aliases
      ExchangeAlgebra.Accounting.Account.Registry
      ExchangeAlgebra.Accounting.Account.PostingPolicy
      ExchangeAlgebra.Algebra.Transfer.Representation
      ExchangeAlgebra.Simulation.Network.Representation
      ExchangeAlgebra.Simulation.Array
      ExchangeAlgebra.IO.Input.Conversion
      ExchangeAlgebra.IO.Input.Checked
      ExchangeAlgebra.IO.Input.Admission.Engine
      ExchangeAlgebra.IO.Input.Admission.Evidence
      ExchangeAlgebra.IO.Input.Admission.Representation
      ExchangeAlgebra.IO.Input.Admission.Diagnostic
  hs-source-dirs:
      src
  ghc-options: -feager-blackholing
  build-depends:
      Decimal ==0.5.*
    , array >=0.5.5 && <0.6
    , async ==2.2.*
    , base >=4.17 && <5
    , binary ==0.8.*
    , bytestring >=0.11 && <0.13
    , containers >=0.6 && <0.8
    , deepseq >=1.4 && <1.6
    , hashable >=1.4 && <1.6
    , numeric-prelude >=0.4.4 && <0.5
    , parallel ==3.2.*
    , random ==1.2.*
    , scientific >=0.3.7 && <0.4
    , text >=2.0 && <2.2
    , time >=1.12 && <1.15
    , unicode-show ==0.1.*
    , unordered-containers >=0.2.19 && <0.3
    , vector ==0.13.*
  default-language: Haskell2010
  if flag(visualize)
    exposed-modules:
        ExchangeAlgebra.Simulate.Visualize
    build-depends:
        Chart ==1.9.*
      , Chart-cairo ==1.9.*
  else

test-suite ExchangeAlgebra-doctest
  type: exitcode-stdio-1.0
  main-is: test/doctests.hs
  other-modules:
      Paths_exchangealgebra
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      Decimal ==0.5.*
    , array >=0.5.5 && <0.6
    , async ==2.2.*
    , base >=4.17 && <5
    , binary ==0.8.*
    , bytestring >=0.11 && <0.13
    , containers >=0.6 && <0.8
    , deepseq >=1.4 && <1.6
    , doctest
    , exchangealgebra
    , hashable >=1.4 && <1.6
    , numeric-prelude >=0.4.4 && <0.5
    , parallel ==3.2.*
    , random ==1.2.*
    , scientific >=0.3.7 && <0.4
    , text >=2.0 && <2.2
    , time >=1.12 && <1.15
    , unicode-show ==0.1.*
    , unordered-containers >=0.2.19 && <0.3
    , vector ==0.13.*
  default-language: Haskell2010
  if os(darwin)
    ghc-options: -optl-Wl,-no_warn_duplicate_libraries

test-suite ExchangeAlgebra-surface
  type: exitcode-stdio-1.0
  main-is: SurfaceMain.hs
  other-modules:
      CompatInstance
      Surface.Accounting
      Surface.Render.Bookkeeping
      Surface.Render.Csv
      Surface.Render.Simulation
      Surface.Simulate.Analysis
      Surface.Simulate.Engine
      Surface.Simulate.Random
  hs-source-dirs:
      test
      test/compat-clients
  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wunused-imports
  build-depends:
      Decimal ==0.5.*
    , array >=0.5.5 && <0.6
    , async ==2.2.*
    , base
    , binary ==0.8.*
    , bytestring >=0.11 && <0.13
    , containers >=0.6 && <0.8
    , deepseq >=1.4 && <1.6
    , exchangealgebra
    , hashable
    , numeric-prelude >=0.4.4 && <0.5
    , parallel ==3.2.*
    , process
    , random ==1.2.*
    , scientific >=0.3.7 && <0.4
    , text >=2.0 && <2.2
    , time >=1.12 && <1.15
    , unicode-show ==0.1.*
    , unordered-containers >=0.2.19 && <0.3
    , vector ==0.13.*
  default-language: Haskell2010
  if os(darwin)
    ghc-options: -optl-Wl,-no_warn_duplicate_libraries

test-suite ExchangeAlgebra-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      Support
      Algebra.ExactReadoutSpec
      Algebra.AccumSpec
      Algebra.CoreSpec
      Journal.JournalSpec
      Journal.NormalFormSpec
      Accounting.AdjustmentSpec
      Accounting.RegistrySpec
      IO.InputOutputSpec
      Simulate.SimulateSpec
      Simulation.NetworkSpec
      Simulation.OptimizeSpec
      Algebra.ExactSumSpec
      Admission.Spec
      Algebra.ProjWildcardSpec
      Golden.WriteRows
      Golden.ReadoutBaseline
      Golden.WireFormat
      Golden.AdmissionBaseline
      Golden.ExampleNumbers.RippleAnalysis
      Golden.ExampleNumbers.RippleFixture
      Journal.CarrySpec
      Journal.SideTotalsSpec
      Posting.NoNumPosted
      Posting.PostingSpec
      Posting.SettleSpec
      Transfer.RuleSpec
      Transfer.BalanceSpec
      Value.MoneyParseSpec
  hs-source-dirs:
      test
  ghc-options: -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      Decimal ==0.5.*
    , QuickCheck >=2.14 && <3
    , array >=0.5.5 && <0.6
    , async ==2.2.*
    , base >=4.17 && <5
    , binary ==0.8.*
    , bytestring >=0.11 && <0.13
    , containers >=0.6 && <0.8
    , deepseq >=1.4 && <1.6
    , directory ==1.3.*
    , exchangealgebra
    , hashable >=1.4 && <1.6
    , mtl ==2.3.*
    , numeric-prelude >=0.4.4 && <0.5
    , parallel ==3.2.*
    , random ==1.2.*
    , scientific >=0.3.7 && <0.4
    , text >=2.0 && <2.2
    , time >=1.12 && <1.15
    , unicode-show ==0.1.*
    , unordered-containers >=0.2.19 && <0.3
    , vector ==0.13.*
  default-language: Haskell2010
  if os(darwin)
    ghc-options: -optl-Wl,-no_warn_duplicate_libraries