exchangealgebra-0.6.0.0: src/ExchangeAlgebra/Journal.hs
{- |
Module : ExchangeAlgebra.Journal
Copyright : (c) Kaya Akagi. 2018-2026
Maintainer : yakagika@icloud.com
Import "ExchangeAlgebra.Journal.Core" for generic journal operations and
"ExchangeAlgebra.Accounting.Exchange" for accounting operations.
Released under the OWL license
Package for Exchange Algebra defined by Hiroshi Deguchi.
Exchange Algebra is an algebraic description of bookkeeping system.
Details are below.
<https://www.springer.com/gp/book/9784431209850>
<https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/82987/1/0809-7.pdf>
-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE ExistentialQuantification #-}
module ExchangeAlgebra.Journal
( customError
, BaseClass(..)
, Hat(..)
, BaseForSingleHat(..)
, HatBase(..)
, Element(..)
, AxisKey(..)
, axisIsWildcard
, AxisDecompose(..)
, (.#)
, Name
, Subject
, CountUnit(..)
, Hashable(..)
, Generic
, HatVal(..)
, HatBaseClass(..)
, Redundant(..)
, pattern (:@)
, (.@)
, Note(..)
, NoteAxisKey(..)
, NoteAxisPosting
, Journal
, pattern ExchangeAlgebra.Journal.Zero
, mkJournal
, (.|)
, toAlg
, toMap
, fromMap
, fromList
, sigma
, sigma2When
, sigmaOn
, sigmaOnFromMap
, decTo
, sigmaM
, map
, replaceNotes
, projWithNote
, projWithBase
, projWithNoteBase
, projWithBaseNetNorm
, projWithNoteBaseNetNorm
, filterWithNote
, filterByAxis
, postFromNetBy
, gather
) where
import ExchangeAlgebra.Algebra.Base
import ExchangeAlgebra.Algebra.Value.Class (HatVal(..))
import ExchangeAlgebra.Algebra.Core.Representation (Redundant(..), pattern (:@), (.@))
import ExchangeAlgebra.Journal.Core.Representation as ExchangeAlgebra.Journal
( Note(..)
, NoteAxisKey(..)
, NoteAxisPosting
, Journal
, pattern Zero
, mkJournal
, (.|)
, toAlg
, toMap
, fromMap
, fromList
, sigma
, sigma2When
, sigmaOn
, sigmaOnFromMap
, decTo
, sigmaM
, map
, replaceNotes
, projWithNote
, projWithBase
, projWithNoteBase
, projWithBaseNetNorm
, projWithNoteBaseNetNorm
, filterWithNote
, filterByAxis
, postFromNetBy
, gather
)
import Prelude hiding (map)