hledger/hledger-lib/hledger-lib.cabal
Simon Michael 2538d14ea7 lib: textification begins! account names
The first of several conversions from String to (strict) Text, hopefully
reducing space and time usage.

This one shows a small improvement, with GHC 7.10.3 and text-1.2.2.1:

hledger -f data/100x100x10.journal stats
string: <<ghc: 39471064 bytes, 77 GCs, 198421/275048 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.015 MUT (0.020 elapsed), 0.010 GC (0.014 elapsed) :ghc>>
text:   <<ghc: 39268024 bytes, 77 GCs, 197018/270840 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.002 elapsed), 0.016 MUT (0.022 elapsed), 0.009 GC (0.011 elapsed) :ghc>>

hledger -f data/1000x100x10.journal stats
string: <<ghc: 318555920 bytes, 617 GCs, 2178997/7134472 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.001 elapsed), 0.129 MUT (0.136 elapsed), 0.067 GC (0.077 elapsed) :ghc>>
text:   <<ghc: 314248496 bytes, 612 GCs, 2074045/6617960 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.003 elapsed), 0.137 MUT (0.145 elapsed), 0.067 GC (0.079 elapsed) :ghc>>

hledger -f data/10000x100x10.journal stats
string: <<ghc: 3114763608 bytes, 6026 GCs, 18858950/75552024 avg/max bytes residency (11 samples), 201M in use, 0.000 INIT (0.000 elapsed), 1.331 MUT (1.372 elapsed), 0.699 GC (0.812 elapsed) :ghc>>
text:   <<ghc: 3071468920 bytes, 5968 GCs, 14120344/62951360 avg/max bytes residency (9 samples), 124M in use, 0.000 INIT (0.003 elapsed), 1.272 MUT (1.349 elapsed), 0.513 GC (0.578 elapsed) :ghc>>

hledger -f data/100000x100x10.journal stats
string: <<ghc: 31186579432 bytes, 60278 GCs, 135332581/740228992 avg/max bytes residency (13 samples), 1697M in use, 0.000 INIT (0.008 elapsed), 14.677 MUT (15.508 elapsed), 7.081 GC (8.074 elapsed) :ghc>>
text:   <<ghc: 30753427672 bytes, 59763 GCs, 117595958/666457240 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.008 elapsed), 13.713 MUT (13.966 elapsed), 6.220 GC (7.108 elapsed) :ghc>>
2016-05-24 19:00:49 -07:00

193 lines
5.0 KiB
Plaintext

-- This file has been generated from package.yaml by hpack version 0.5.4.
--
-- see: https://github.com/sol/hpack
name: hledger-lib
version: 0.27
stability: stable
category: Finance
synopsis: Core data types, parsers and functionality for the hledger accounting tools
description:
This is a reusable library containing hledger's core functionality.
hledger is a cross-platform program for tracking money, time, or
any other commodity, using double-entry accounting and a simple,
editable file format. It is inspired by and largely compatible
with ledger(1). hledger provides command-line, curses and web
interfaces, and aims to be a reliable, practical tool for daily
use.
license: GPL
license-file: LICENSE
author: Simon Michael <simon@joyful.com>
maintainer: Simon Michael <simon@joyful.com>
homepage: http://hledger.org
bug-reports: http://bugs.hledger.org
cabal-version: >= 1.10
build-type: Simple
tested-with: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0
extra-source-files:
CHANGES
README
data-files:
doc/hledger_csv.5
doc/hledger_csv.5.txt
doc/hledger_csv.5.info
doc/hledger_journal.5
doc/hledger_journal.5.txt
doc/hledger_journal.5.info
doc/hledger_timedot.5
doc/hledger_timedot.5.txt
doc/hledger_timedot.5.info
doc/hledger_timeclock.5
doc/hledger_timeclock.5.txt
doc/hledger_timeclock.5.info
source-repository head
type: git
location: https://github.com/simonmichael/hledger
flag double
manual: True
default: False
description:
Use old Double number representation (instead of Decimal), for testing/benchmarking.
flag old-locale
default: False
description:
A compatibility flag, set automatically by cabal.
If false then depend on time >= 1.5,
if true then depend on time < 1.5 together with old-locale.
library
ghc-options: -Wall -fno-warn-unused-do-bind -fno-warn-name-shadowing -fno-warn-missing-signatures -fno-warn-type-defaults -fno-warn-orphans
build-depends:
base >= 4.3 && < 5
, base-compat >= 0.8.1
, array
, blaze-markup >= 0.5.1
, bytestring
, cmdargs >= 0.10 && < 0.11
, containers
, csv
, Decimal
, deepseq
, directory
, filepath
, mtl
, mtl-compat
, old-time
, parsec >= 3
, regex-tdfa
, safe >= 0.2
, split >= 0.1 && < 0.3
, text >= 1.2 && < 1.3
, transformers >= 0.2 && < 0.6
, uglymemo
, utf8-string >= 0.3.5 && < 1.1
, HUnit
if impl(ghc >= 7.4)
build-depends: pretty-show >= 1.6.4
if flag(old-locale)
build-depends: time < 1.5, old-locale
else
build-depends: time >= 1.5
exposed-modules:
Hledger
Hledger.Data
Hledger.Data.Account
Hledger.Data.AccountName
Hledger.Data.Amount
Hledger.Data.Commodity
Hledger.Data.Dates
Hledger.Data.Journal
Hledger.Data.Ledger
Hledger.Data.StringFormat
Hledger.Data.Posting
Hledger.Data.RawOptions
Hledger.Data.Timeclock
Hledger.Data.Transaction
Hledger.Data.Types
Hledger.Query
Hledger.Read
Hledger.Read.Common
Hledger.Read.CsvReader
Hledger.Read.JournalReader
Hledger.Read.TimedotReader
Hledger.Read.TimeclockReader
Hledger.Reports
Hledger.Reports.ReportOptions
Hledger.Reports.BalanceHistoryReport
Hledger.Reports.BalanceReport
Hledger.Reports.EntriesReport
Hledger.Reports.MultiBalanceReports
Hledger.Reports.PostingsReport
Hledger.Reports.TransactionsReports
Hledger.Utils
Hledger.Utils.Debug
Hledger.Utils.Parse
Hledger.Utils.Regex
Hledger.Utils.String
Hledger.Utils.Test
Hledger.Utils.Text
Hledger.Utils.Tree
Hledger.Utils.UTF8IOCompat
default-language: Haskell2010
test-suite hunittests
type: exitcode-stdio-1.0
main-is: hunittests.hs
hs-source-dirs: tests
ghc-options: -Wall -fno-warn-unused-do-bind -fno-warn-name-shadowing -fno-warn-missing-signatures -fno-warn-type-defaults -fno-warn-orphans
build-depends:
base >= 4.3 && < 5
, base-compat >= 0.8.1
, array
, blaze-markup >= 0.5.1
, bytestring
, cmdargs >= 0.10 && < 0.11
, containers
, csv
, Decimal
, deepseq
, directory
, filepath
, mtl
, mtl-compat
, old-time
, parsec >= 3
, regex-tdfa
, safe >= 0.2
, split >= 0.1 && < 0.3
, text >= 1.2 && < 1.3
, transformers >= 0.2 && < 0.6
, uglymemo
, utf8-string >= 0.3.5 && < 1.1
, HUnit
, hledger-lib
, test-framework
, test-framework-hunit
if impl(ghc >= 7.4)
build-depends: pretty-show >= 1.6.4
if flag(old-locale)
build-depends: time < 1.5, old-locale
else
build-depends: time >= 1.5
default-language: Haskell2010
test-suite doctests
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: doctests.hs
build-depends:
base
, doctest >= 0.8
default-language: Haskell2010