-- | Lincoln - the Penny core -- -- Penny's core types and classes are here. This module re-exports the -- most useful things. For more details you will want to look at the -- sub-modules. Also, not all types and functions are re-exported due -- to naming conflicts. In particular, neither -- "Penny.Lincoln.Predicates" nor "Penny.Lincoln.Queries" is exported -- from here due to the blizzard of name conflicts that would result. module Penny.Lincoln ( -- * Balances B.Balance , B.unBalance , B.Balanced(Balanced, Inferable, NotInferable) , B.isBalanced , B.entryToBalance , B.addBalances , B.removeZeroCommodities , B.BottomLine (Zero, NonZero) , B.Column (Column) -- * Bits -- ** Accounts , I.SubAccountName (SubAccountName, unSubAccountName) , I.Account(Account, unAccount) -- ** Amounts , I.Amount (Amount, qty, commodity) -- ** Commodities , I.Commodity (Commodity, unCommodity) , I.SubCommodity (SubCommodity, unSubCommodity) , I.charCommodity -- ** DateTime , I.DateTime , I.dateTime , I.localTime , I.timeZone , I.TimeZoneOffset , I.minsToOffset , I.offsetToMins , I.noOffset -- ** Debits and credits , I.DrCr(Debit, Credit) , I.opposite -- ** Entries , I.Entry (Entry, drCr, amount) -- ** Flag , I.Flag (Flag, unFlag) -- ** Memos , I.MemoLine (MemoLine, unMemoLine) , I.Memo (Memo, unMemo) -- ** Number , I.Number (Number, unNumber) -- ** Payee , I.Payee (Payee, unPayee) -- ** Prices and price points , I.From(From, unFrom) , I.To(To, unTo) , I.CountPerUnit(CountPerUnit, unCountPerUnit) , I.Price(from, to, countPerUnit) , I.newPrice , I.PricePoint(PricePoint, price, ppMeta) -- ** Quantities , I.Qty , I.unQty , I.partialNewQty , I.newQty , I.add , I.subt , I.mult , I.zero , I.difference , I.Difference(LeftBiggerBy, RightBiggerBy, Equal) -- ** Tags , I.Tag(Tag, unTag) , I.Tags(Tags, unTags) -- * Builders , Bd.crashy , Bd.account -- * Families -- ** Family types , F.Family(Family) , F.Child(Child) , F.Siblings(Siblings) -- ** Manipulating families , F.children , F.orphans , F.adopt , F.marryWith , F.marry , F.divorceWith , F.divorce -- * HasText , HT.HasText(text) , HT.Delimited(Delimited) , HT.HasTextList(textList) , HT.HasTextNonEmpty(textNonEmpty) , HT.HasTextNonEmptyList(textNonEmptyList) -- * TextNonEmpty , TNE.TextNonEmpty(TextNonEmpty) -- * Transactions -- ** Postings and transactions , T.Posting , T.Transaction , T.PostFam -- ** Making transactions , T.transaction , T.Error ( UnbalancedError, CouldNotInferError) -- ** Querying postings , T.Inferred(Inferred, NotInferred) , T.pPayee , T.pNumber , T.pFlag , T.pAccount , T.pTags , T.pEntry , T.pMemo , T.pInferred , T.pMeta , T.changePostingMeta -- ** Querying transactions , T.TopLine , T.tDateTime , T.tFlag , T.tNumber , T.tPayee , T.tMemo , T.tMeta , T.changeTransactionMeta , T.postFam -- ** Adding serials to transactions , T.addSerialsToList , T.addSerialsToEithers -- ** Unwrapping Transactions , T.unTransaction , T.unPostFam -- ** Transaction boxes , T.Box (Box, boxMeta, boxPostFam) -- * Metadata , M.TopLineLine(TopLineLine, unTopLineLine) , M.TopMemoLine(TopMemoLine, unTopMemoLine) , M.Side(CommodityOnLeft, CommodityOnRight) , M.SpaceBetween(SpaceBetween, NoSpaceBetween) , M.Format(Format, side, between) , M.Filename(Filename, unFilename) , M.PriceLine(PriceLine, unPriceLine) , M.PostingLine(PostingLine, unPostingLine) , M.PriceMeta(PriceMeta, priceLine, priceFormat) , M.GlobalPosting(GlobalPosting, unGlobalPosting) , M.FilePosting(FilePosting, unFilePosting) , M.GlobalTransaction(GlobalTransaction, unGlobalTransaction) , M.FileTransaction(FileTransaction, unFileTransaction) , M.PostingMeta(PostingMeta, postingLine, postingFormat, globalPosting, filePosting) , M.emptyPostingMeta , M.TopLineMeta(TopLineMeta, topMemoLine, topLineLine, filename, globalTransaction, fileTransaction) , M.emptyTopLineMeta -- * PriceDb , DB.PriceDb , DB.emptyDb , DB.addPrice , DB.getPrice , DB.PriceDbError(FromNotFound, ToNotFound, CpuNotFound) , DB.convert -- * Serials , S.Serial , S.forward , S.backward , S.serials , S.serialItems ) where import qualified Penny.Lincoln.Balance as B import qualified Penny.Lincoln.Bits as I import qualified Penny.Lincoln.Builders as Bd import qualified Penny.Lincoln.Family as F import qualified Penny.Lincoln.HasText as HT import qualified Penny.Lincoln.Meta as M import qualified Penny.Lincoln.PriceDb as DB import qualified Penny.Lincoln.Serial as S import qualified Penny.Lincoln.TextNonEmpty as TNE import qualified Penny.Lincoln.Transaction as T