3 ( module Hcompta.LCC.Sym
4 , module Hcompta.LCC.Sym.Account
5 , module Hcompta.LCC.Sym.Addable
6 , module Hcompta.LCC.Sym.Amount
7 , module Hcompta.LCC.Sym.FileSystem
8 , module Hcompta.LCC.Sym.Journal
9 , module Hcompta.LCC.Sym.Negable
10 , module Hcompta.LCC.Sym.Posting
11 , module Hcompta.LCC.Sym.Quantity
12 , module Hcompta.LCC.Sym.Subable
13 , module Hcompta.LCC.Sym.Transaction
14 , module Hcompta.LCC.Sym.Unit
15 , module Hcompta.LCC.Sym.Zipper
18 import Hcompta.LCC.Sym.Account
19 import Hcompta.LCC.Sym.Addable
20 import Hcompta.LCC.Sym.Amount
21 import Hcompta.LCC.Sym.Date
22 import Hcompta.LCC.Sym.FileSystem
23 import Hcompta.LCC.Sym.Journal
24 import Hcompta.LCC.Sym.Negable
25 import Hcompta.LCC.Sym.Posting
26 import Hcompta.LCC.Sym.Quantity
27 import Hcompta.LCC.Sym.Subable
28 import Hcompta.LCC.Sym.Transaction
29 import Hcompta.LCC.Sym.Unit
30 import Hcompta.LCC.Sym.Zipper
32 import Hcompta.LCC.Account (Account)
33 import Hcompta.LCC.Amount (Amounts, Quantity, Unit)
34 import Hcompta.LCC.Journal (Journal, PathFile)
35 import Hcompta.LCC.Posting (Posting, Date)
36 import Hcompta.LCC.Transaction (Transaction)
37 import Hcompta.Quantity (Addable, Negable, Subable)
39 import Control.Applicative (Alternative)
40 import Data.Bool (Bool)
41 import Data.Either (Either)
42 import Data.Foldable (Foldable)
43 import Data.NonNull (NonNull)
45 import Data.Traversable (Traversable)
46 import Data.TreeMap.Strict.Zipper (Zipper)
47 import Data.Map.Strict (Map)
48 import Language.Symantic as Sym
49 import Text.Show (Show)
77 = Sym.TyConsts_of_Ifaces Ifaces
82 , cs ~ Sym.TyConsts_of_Ifaces is )
83 => IO ( ( Either (P.ParseError Char P.Dec)
84 (S.Either [At (Error_Journal cs is)] (CanonFile, Journal [Transaction]))
85 , Context_Read [Transaction] )
87 x0 = read_file "./Hcompta/LCC/Journal/02.jnl" $ read $
88 g_journal (Proxy @Ifaces) (:)
91 -- :: CF (P.ParsecT P.Dec Text m) a
92 :: ( m ~ S.StateT (Context_Read j) (S.StateT (Context_Sym cs is) IO)
94 , cs ~ Sym.TyConsts_of_Ifaces is
95 -- , e ~ P.ParseError Char P.Dec
97 => CF (P.ParsecT P.Dec Text m)
99 , Either (At (Sym.Error_Term Meta cs is))