Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							8274da81fc 
							
						 
					 
					
						
						
							
							cln: tests: Remove test and tests, which are just aliases for testCase  
						
						... 
						
						
						
						and testGroup.
Replacing these removes a layer of indirection, and reduces the need to
depend on Hledger.Utils.Test. 
						
					 
					
						2021-08-30 16:32:19 -10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							32dad455fd 
							
						 
					 
					
						
						
							
							cln: hlint: Clean up section related warnings.  
						
						
						
					 
					
						2021-08-27 06:13:56 -10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							8bf7c95697 
							
						 
					 
					
						
						
							
							cln: hlint: Clean up Functor related hlint warnings, and NOINLINE warning.  
						
						
						
					 
					
						2021-08-27 06:13:56 -10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							21e62ffcbd 
							
						 
					 
					
						
						
							
							cln: hlint: Remove unless and $> warnings.  
						
						
						
					 
					
						2021-08-27 06:13:56 -10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							fed75c58e9 
							
						 
					 
					
						
						
							
							cln: hlint: Clean up hlint warnings not already ignored in hlint.yaml.  
						
						
						
					 
					
						2021-08-25 20:44:36 -10:00 
						 
				 
			
				
					
						
							
							
								Lawrence 
							
						 
					 
					
						
						
						
						
							
						
						
							8a5addfb02 
							
						 
					 
					
						
						
							
							lib: implement periodic expressions for weekday et al  
						
						... 
						
						
						
						Implementation lifts DayOfWeek (renamed to DaysOfWeek) to a list of
days. This should match the previous behavior for single-element lists 
						
					 
					
						2021-08-20 20:30:18 -05:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							e3ec01c3c6 
							
						 
					 
					
						
						
							
							lib,cli,ui: Use Text for showDate and related.  
						
						
						
					 
					
						2021-01-02 15:08:09 +11:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							a97daaf322 
							
						 
					 
					
						
						
							
							lib: replace pretty-show with pretty-simple  
						
						... 
						
						
						
						pretty-simple, already used in .ghci, will hopefully give nicer debug
output, including for values which don't have Read-able Show output.
This should mean that we can start removing custom string-like Show
instances that were a workaround for pretty-show.
We are using the latest version (4.0.0.0) to get compact output.
Here's some old pretty-show output:
 CsvRules
   { rdirectives = [ ( "skip" , "1" ) ]
   , rcsvfieldindexes = [ ( "date" , 1 ) , ( "amount" , 2 ) ]
   , rassignments = [ ( "amount" , "%2" ) , ( "date" , "%1" ) ]
   , rconditionalblocks = []
   }
And the new pretty-simple output:
 CsvRules
   { rdirectives=
     [ ( "skip", "1" ) ]
   , rcsvfieldindexes=
     [ ( "date", 1 ), ( "amount", 2 ) ]
   , rassignments=
     [ ( "amount", "%2" ), ( "date", "%1" ) ]
   , rconditionalblocks= []
   }
Non-compact pretty-simple output would be:
 CsvRules
     { rdirectives=
         [
             ( "skip"
             , "1B"
             )
         ]
     , rcsvfieldindexes=
         [
             ( "date"
             , 1
             )
         ,
             ( "amount"
             , 2
             )
         ]
     , rassignments=
         [
             ( "amount"
             , "%2"
             )
         ,
             ( "date"
             , "%1"
             )
         ]
     , rconditionalblocks=[]
     }
Also:
- Account's Show instance no longer converts : to _ in account names
- drop unused pretty-show dependency from hledger, hledger-ui packages
- regenerate hledger-lib with the older hpack that's shipped in stack 
						
					 
					
						2020-11-10 08:06:11 -08:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							5a6d38fdf2 
							
						 
					 
					
						
						
							
							lib: For ymd date parsing, don't consume invalid date components.  
						
						
						
					 
					
						2020-10-18 21:28:46 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							ca2e55c954 
							
						 
					 
					
						
						
							
							lib: Replace some fromIntegral with toInteger.  
						
						
						
					 
					
						2020-08-30 22:20:58 +10:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							371b349b2e 
							
						 
					 
					
						
						
							
							lib,cli: Replace parsedate and mkdatespan with direct applications of fromGregorian, transaction now takes Day instead of a date string.  
						
						
						
					 
					
						2020-08-29 15:08:28 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							2fd678e415 
							
						 
					 
					
						
						
							
							lib,cli,ui: Remove old CPP directives made redundant by version bounds.  
						
						
						
					 
					
						2020-08-29 15:08:28 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							f2dcbd2fee 
							
						 
					 
					
						
						
							
							lib: Make ill-formed SmartDates unrepresentable.  
						
						
						
					 
					
						2020-08-07 14:20:08 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							3f55c23603 
							
						 
					 
					
						
						
							
							;review, tag all error calls with an easier to find PARTIAL: comment ( #1312 )  
						
						
						
					 
					
						2020-08-05 16:08:33 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							08ad220448 
							
						 
					 
					
						
						
							
							lib: In quarterdatespanp, use yearp and allow uppercase Q.  
						
						
						
					 
					
						2020-08-04 09:10:53 -07:00 
						 
				 
			
				
					
						
							
							
								Henning Thielemann 
							
						 
					 
					
						
						
						
						
							
						
						
							9c9701fe7d 
							
						 
					 
					
						
						
							
							lib: quarterdatespanp ( fixes   #1247 )  
						
						
						
					 
					
						2020-07-31 17:37:41 -07:00 
						 
				 
			
				
					
						
							
							
								Henning Thielemann 
							
						 
					 
					
						
						
						
						
							
						
						
							ccac09fb1b 
							
						 
					 
					
						
						
							
							lib: doubledatespanp: fix and re-enable doctest  
						
						
						
					 
					
						2020-07-31 17:37:41 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							ffb5cf0773 
							
						 
					 
					
						
						
							
							lib: Ensure parsed years have at least 4 digits.  
						
						
						
					 
					
						2020-07-31 17:22:27 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							7b9f9ae49c 
							
						 
					 
					
						
						
							
							lib: Refactor reportingintervalp to be more compact and do less backtracking.  
						
						
						
					 
					
						2020-07-31 17:22:27 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							696d9c73b0 
							
						 
					 
					
						
						
							
							lib: Remove unnecessary try in parsers, replace unnecessary string' with string, rewrite some parsers in applicative style.  
						
						
						
					 
					
						2020-07-31 17:22:27 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							081ee390ab 
							
						 
					 
					
						
						
							
							lib: Change skipMany spacenonewline to takeWhileP Nothing isNonNewlineSpace.  
						
						
						
					 
					
						2020-07-22 14:58:53 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							4b9a76068f 
							
						 
					 
					
						
						
							
							lib: spanStartYear, spanEndYear, spanYears DateSpan helpers  
						
						
						
					 
					
						2020-07-09 12:52:40 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							b3cd865786 
							
						 
					 
					
						
						
							
							lib: Add fortnightly as a synonym for biweekly.  
						
						
						
					 
					
						2020-06-23 06:48:20 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							be25fe360e 
							
						 
					 
					
						
						
							
							lib: Parser now accepts .. as a synonym for to in date ranges.  
						
						
						
					 
					
						2020-06-04 19:30:42 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							2f71da8838 
							
						 
					 
					
						
						
							
							lib: More consistent period formatting.  
						
						
						
					 
					
						2020-06-04 19:30:42 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							10f8dc84a5 
							
						 
					 
					
						
						
							
							period expressions: allow "until", like Ledger (synonym for "to")  
						
						
						
					 
					
						2020-04-08 14:26:38 -07:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							702c958487 
							
						 
					 
					
						
						
							
							lib: Replace some utility functions with library functions.  
						
						
						
					 
					
						2020-03-02 12:45:30 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							43c55bf4ea 
							
						 
					 
					
						
						
							
							;lib: add YYYY.MM.DD to parsedate/parsedateM helpers  
						
						... 
						
						
						
						For a bit more consistency with simple dates. And document better. 
						
					 
					
						2020-02-27 10:57:55 -08:00 
						 
				 
			
				
					
						
							
							
								Jakob Schöttl 
							
						 
					 
					
						
						
						
						
							
						
						
							50acfc9119 
							
						 
					 
					
						
						
							
							Fix documentation, make ISO date format standard in some places  
						
						
						
					 
					
						2020-02-09 07:26:54 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							e0a46a6523 
							
						 
					 
					
						
						
							
							;lib: update doctests for ISO 8601 date output  
						
						... 
						
						
						
						[ci skip] 
						
					 
					
						2020-02-03 08:03:44 -08:00 
						 
				 
			
				
					
						
							
							
								Brian Wignall 
							
						 
					 
					
						
						
						
						
							
						
						
							35481a665b 
							
						 
					 
					
						
						
							
							Change Date output to yyyy-mm-dd  
						
						
						
					 
					
						2020-01-07 15:58:22 -08:00 
						 
				 
			
				
					
						
							
							
								Stephen Morgan 
							
						 
					 
					
						
						
						
						
							
						
						
							38904372b2 
							
						 
					 
					
						
						
							
							Calculate MultiReportBalance columns more efficiently.  
						
						... 
						
						
						
						Only calculate posting date once for each posting, and calculate their
columns instead of checking each DateSpan separately. 
						
					 
					
						2020-01-03 16:11:46 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							a0b92e02b9 
							
						 
					 
					
						
						
							
							Revert "remove old fail compatibility imports that are obsolete ?"  
						
						... 
						
						
						
						They are needed with ghc <8.4, not for fail but for <> I think.
Try cleaning up again another time.
This reverts commit 318ce7eb07 
						
					 
					
						2019-12-01 11:32:51 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							318ce7eb07 
							
						 
					 
					
						
						
							
							remove old fail compatibility imports that are obsolete ?  
						
						
						
					 
					
						2019-12-01 08:31:50 -08:00 
						 
				 
			
				
					
						
							
							
								Dmitry Astapov 
							
						 
					 
					
						
						
						
						
							
						
						
							cf4029a5ed 
							
						 
					 
					
						
						
							
							lib: fix generation of periodic transactions with days/months/... repeat  
						
						
						
					 
					
						2019-09-11 16:09:28 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							499e20c0b2 
							
						 
					 
					
						
						
							
							lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11  
						
						... 
						
						
						
						fail is moving out of Monad and into it's own MonadFail class.
This will be enforced in GHC 8.8 (I think).
base-compat/base-compat-batteries 0.11.0 have adapted to this,
and are approaching stackage nightly
(https://github.com/commercialhaskell/stackage/issues/4802 ).
hledger is now ready to build with base-compat-batteries 0.11.0, once
all of our deps do (eg aeson). We are still compatible with the older
0.10.x and GHC 7.10.3 as well.
For now we are using both fails:
- new fail (from Control.Monad.Fail), used in our parsers, imported
  via base-compat-batteries Control.Monad.Fail.Compat to work with
  older GHC versions.
- old fail (from GHC.Base, exported by Prelude, Control.Monad,
  Control.Monad.State.Strict, Prelude.Compat, ...), used in easytest's
  Test, since I couldn't find their existing fail implementation to update.
To reduce (my) confusion, these are imported carefully, consistently,
and qualified everywhere as Fail.fail and Prelude.fail, with clashing
re-exports suppressed, like so:
import Prelude hiding (fail)
import qualified Prelude (fail)
import Control.Monad.State.Strict hiding (fail)
import "base-compat-batteries" Prelude.Compat hiding (fail)
import qualified "base-compat-batteries" Control.Monad.Fail.Compat as Fail 
						
					 
					
						2019-09-08 17:13:47 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							02ed4f5d04 
							
						 
					 
					
						
						
							
							;lib: intervalFromRawOpts: replace undefined with an error message  
						
						
						
					 
					
						2019-07-25 10:46:45 +01:00 
						 
				 
			
				
					
						
							
							
								Caleb Maclennan 
							
						 
					 
					
						
						
						
						
							
						
						
							11d9e5eb6a 
							
						 
					 
					
						
						
							
							code: Strip extraneous trailing whitespace from Haskell sources  
						
						
						
					 
					
						2019-07-15 16:40:49 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							bc7a1476ed 
							
						 
					 
					
						
						
							
							refactor: lib: hlint cleanups  
						
						
						
					 
					
						2019-02-14 05:15:49 -08:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							74611a7be1 
							
						 
					 
					
						
						
							
							ui: accounts: fix balances when there's only periodic txns  
						
						... 
						
						
						
						And clarify multiBalanceReport. 
						
					 
					
						2018-10-18 14:43:00 -07:00 
						 
				 
			
				
					
						
							
							
								Alex Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							3d2584d869 
							
						 
					 
					
						
						
							
							lib: switch to megaparsec 7  
						
						
						
					 
					
						2018-09-30 20:15:12 -06:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							007b9f8caa 
							
						 
					 
					
						
						
							
							lib: capitalised month names broke some period expressions ( fix   #852 )  
						
						... 
						
						
						
						This was a regression in hledger 1.10.
mon[th]Index are now case insensitive. 
						
					 
					
						2018-07-30 11:08:23 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							daa37a9993 
							
						 
					 
					
						
						
							
							lib: nthdayof(month|year)containing now validate input a bit ( #852 )  
						
						
						
					 
					
						2018-07-30 11:08:14 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							0f3a030a40 
							
						 
					 
					
						
						
							
							lib: whitespace  
						
						
						
					 
					
						2018-07-30 11:05:02 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							aab7d2d964 
							
						 
					 
					
						
						
							
							lib: fix error triggered by upper-case day in period expression ( #847 )  
						
						
						
					 
					
						2018-07-24 14:36:45 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							da8047d286 
							
						 
					 
					
						
						
							
							lib: type signatures  
						
						
						
					 
					
						2018-07-24 14:24:45 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							eb23504906 
							
						 
					 
					
						
						
							
							lib: periodexprp: don't consume trailing whitespace  
						
						
						
					 
					
						2018-06-12 16:41:36 -07:00 
						 
				 
			
				
					
						
							
							
								Alex Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							c6bfd92dd3 
							
						 
					 
					
						
						
							
							removing "re-parsing" for pull 807  
						
						... 
						
						
						
						For Data/Dates.hs in particular:
- Changed `SimpleTextParser` to `TextParser m` for all parsers
- Changed `string` to the case-insensitive `string'` to match the
  behaviour of `T.toLower` found in `parsePeriodExpr`
- export `periodexprp` for "direct" use 
						
					 
					
						2018-06-12 16:41:36 -07:00 
						 
				 
			
				
					
						
							
							
								Simon Michael 
							
						 
					 
					
						
						
						
						
							
						
						
							dfcafc2cdf 
							
						 
					 
					
						
						
							
							lib: refactor some journal, period expression parsers  
						
						
						
					 
					
						2018-06-12 16:41:36 -07:00 
						 
				 
			
				
					
						
							
							
								Alex Chen 
							
						 
					 
					
						
						
						
						
							
						
						
							c5561f25f1 
							
						 
					 
					
						
						
							
							lib: switch parsers to the custom error type  
						
						... 
						
						
						
						Also add an explicit export list to `hledger-lib/Hledger/Utils/Parse.hs`
in order to re-export the custom error type (for convenience). 
						
					 
					
						2018-06-11 13:57:30 -06:00