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, |   joinAccountNames, | ||||||
|   concatAccountNames, |   concatAccountNames, | ||||||
|   accountNameApplyAliases, |   accountNameApplyAliases, | ||||||
|  |   accountNameApplyAliasesMemo, | ||||||
|   -- * arithmetic |   -- * arithmetic | ||||||
|   sumPostings, |   sumPostings, | ||||||
|   -- * rendering |   -- * rendering | ||||||
| @ -231,6 +232,10 @@ accountNameApplyAliases aliases a = accountNameWithPostingType atype aname' | |||||||
|              aname |              aname | ||||||
|              aliases |              aliases | ||||||
| 
 | 
 | ||||||
|  | -- | Memoising version of accountNameApplyAliases, maybe overkill. | ||||||
|  | accountNameApplyAliasesMemo :: [AccountAlias] -> AccountName -> AccountName | ||||||
|  | accountNameApplyAliasesMemo aliases = memo (accountNameApplyAliases aliases) | ||||||
|  | 
 | ||||||
| -- aliasMatches :: AccountAlias -> AccountName -> Bool | -- aliasMatches :: AccountAlias -> AccountName -> Bool | ||||||
| -- aliasMatches (BasicAlias old _) a = old `isAccountNamePrefixOf` a | -- aliasMatches (BasicAlias old _) a = old `isAccountNamePrefixOf` a | ||||||
| -- aliasMatches (RegexAlias re  _) a = regexMatchesCI re a | -- aliasMatches (RegexAlias re  _) a = regexMatchesCI re a | ||||||
|  | |||||||
| @ -664,6 +664,7 @@ modifiedaccountnamep = do | |||||||
|   a <- accountnamep |   a <- accountnamep | ||||||
|   return $ |   return $ | ||||||
|     accountNameApplyAliases aliases $ |     accountNameApplyAliases aliases $ | ||||||
|  |      -- XXX accountNameApplyAliasesMemo ? doesn't seem to make a difference | ||||||
|     joinAccountNames parent |     joinAccountNames parent | ||||||
|     a |     a | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user