lib: memoise accountNameApplyAliases too ?
This adds a accountNameApplyAliasesMemo, which memoises the result of applying a set of aliases (simple and regex) to an account name. In theory this should reduce more repetitive work, but in practice it doesn't seem to make a difference, so it's unused for now.
This commit is contained in:
		
							parent
							
								
									4326f88c26
								
							
						
					
					
						commit
						5048d3bf06
					
				| @ -37,6 +37,7 @@ module Hledger.Data.Posting ( | ||||
|   joinAccountNames, | ||||
|   concatAccountNames, | ||||
|   accountNameApplyAliases, | ||||
|   accountNameApplyAliasesMemo, | ||||
|   -- * arithmetic | ||||
|   sumPostings, | ||||
|   -- * rendering | ||||
| @ -231,6 +232,10 @@ accountNameApplyAliases aliases a = accountNameWithPostingType atype aname' | ||||
|              aname | ||||
|              aliases | ||||
| 
 | ||||
| -- | Memoising version of accountNameApplyAliases, maybe overkill. | ||||
| accountNameApplyAliasesMemo :: [AccountAlias] -> AccountName -> AccountName | ||||
| accountNameApplyAliasesMemo aliases = memo (accountNameApplyAliases aliases) | ||||
| 
 | ||||
| -- aliasMatches :: AccountAlias -> AccountName -> Bool | ||||
| -- aliasMatches (BasicAlias old _) a = old `isAccountNamePrefixOf` a | ||||
| -- aliasMatches (RegexAlias re  _) a = regexMatchesCI re a | ||||
|  | ||||
| @ -664,6 +664,7 @@ modifiedaccountnamep = do | ||||
|   a <- accountnamep | ||||
|   return $ | ||||
|     accountNameApplyAliases aliases $ | ||||
|      -- XXX accountNameApplyAliasesMemo ? doesn't seem to make a difference | ||||
|     joinAccountNames parent | ||||
|     a | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user