Not a possiblity: each plugin considers the entire ledger and transforms it 
as a whole. Many plugins depend on doing so. Also: plugins aren’t the 
primary performance bottleneck anyway.

On Wednesday, March 4, 2026 at 8:09:39 PM UTC-8 Simon Guest wrote:

Having been designing a plugins system for limabean using Clojure 
transducers <https://clojure.org/reference/transducers>, I happened to 
notice a very different implementation for plugins in OG Beancount.

Clojure transducers compose, so if you have a number of plugins, the 
limabean plugin framework loops once over all the directives, passing each 
directive through the whole chain of plugins.

I noticed that with the way plugins have been implemented in OG Beancount, 
each plugin iterates over the entire list of directives. And then the next 
plugin does the same, and so on.  I wonder if there is the potential here 
for iterating just once, and passing each directive through the chain of 
plugins?

Just to be clear, I'm only throwing this idea out.  I won't be working on 
this! 😅

cheers,
Simon

PS. Upon reflection, it may not be very low hanging!  But worth considering 
for vNext, surely.

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/beancount/a65686b8-6474-49f1-bfda-90e43bf1a369n%40googlegroups.com.

Reply via email to