GDA: current status

Josh Sled jsled at
Sun Dec 10 10:37:46 EST 2006

On Sat, 2006-12-09 at 19:47 -0500, Chris Shoemaker wrote:
> BTW, one difference between FreqSpec and Recurrence: FreqSpec can
> actually represent an internally-linked tree-structure of nested
> "composite" FreqSpecs.  I have no idea why.  It's a very inefficent
> data structure, since only the "leaves" carry the data, and the
> structure is meaningless.  The Recurrence API handles this with a
> GList of Recurrences.  However, I believe it's an unused interface at
> the moment.

The composite FreqSpecs are used to handle:

* semi-monthly ("paycheck")
  * composite(monthly(15th), monthly(30th))

* weekly M-F
  * composite(weekly(Monday), weekly(Tuesday), ... weekly(Friday))

* weekly (checkboxes for dow's)
  * composite(weekly(selection[0]), ..., weekly(selection[n]))

I wouldn't call the structure "inefficient"; they both are using a
GList.  While Recurrence has seperate API for computing the next
instance of a single Recurrence vs. a List<Recurrence>, the FreqSpec
just treats them both with the same interface.  As you mention,
composite FreqSpecs can be arranged in a tree, as well, which is nice,
though unused in GnuCash.

...jsled - `a=jsled;; echo ${a}@${b}`
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : 

More information about the gnucash-devel mailing list