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