The regex helpers were converting strings to regex-tdfa regular expressions on the fly every time, but this appears to be quite expensive. The simplest memoisation lib seems to solve it nicely.
		
			
				
	
	
		
			165 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			4.3 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.26.98
 | |
| stability:      stable
 | |
| category:       Finance, Console
 | |
| synopsis:       Core data types, parsers and utilities for the hledger accounting tool.
 | |
| description:    hledger is a library and set of user tools for working
 | |
|                 with financial data (or anything that can be tracked in a
 | |
|                 double-entry accounting ledger.) It is a haskell port and
 | |
|                 friendly fork of John Wiegley's Ledger. 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://hledger.org/bugs
 | |
| cabal-version:  >= 1.10
 | |
| build-type:     Simple
 | |
| tested-with:    GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.1
 | |
| 
 | |
| extra-source-files:
 | |
|     CHANGES 
 | |
| 
 | |
| 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
 | |
|   if flag(double)
 | |
|     cpp-options: -DDOUBLE
 | |
|   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
 | |
|     , transformers >= 0.2 && < 0.5
 | |
|     , 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.TimeLog
 | |
|       Hledger.Data.Transaction
 | |
|       Hledger.Data.Types
 | |
|       Hledger.Query
 | |
|       Hledger.Read
 | |
|       Hledger.Read.CsvReader
 | |
|       Hledger.Read.JournalReader
 | |
|       Hledger.Read.TimelogReader
 | |
|       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.Tree
 | |
|       Hledger.Utils.UTF8IOCompat
 | |
|   default-language: Haskell2010
 | |
| 
 | |
| test-suite tests
 | |
|   type: exitcode-stdio-1.0
 | |
|   main-is: suite.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
 | |
|     , transformers >= 0.2 && < 0.5
 | |
|     , 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
 |