[ANN] ICal occurrence API

J J azreal1977 at hotmail.com
Mon May 28 18:53:37 UTC 2007


Hello all,

at long long last I have finally finished the ICal recurrence rule engine.  
I had to travel to Haskell in back to figure out a way to do it I liked.

Features:
  - To my knowledge this is the most compliant implementation of Recurrence 
rules
  - Full support for Exclusion dates and exclusion rules (!)
  - Minimal dependency on external libraries

If you look at the implementation you will notice it uses LazyList's to do 
it's work, which may make it seem a bit complicated.  But this allows me to 
trivially add additional list mutations after-the-fact.  For example, 
exclusion rules (i.e. all the logic of recurrence rules, but "differenced" 
to the rules to generate exceptions) were actually added in about 15 
minutes.  I know of no other implementations that have them at all.

The other advantage of the LazyList approach is that no more dates are 
calculated then needed (well, actually one extra per rule may be if needed 
for the stop test), but the set is none-the-less infinite.

The can be downloaded via Monticello as part of the iCalendar project with:

MCHttpRepository
    location: 'http://www.squeaksource.com/ical'
    user: ''
    password: ''



Thanks, and let me know if you see any problems with it.
Jason

_________________________________________________________________
More photos, more messages, more storage—get 2GB with Windows Live Hotmail. 
http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507




More information about the Squeak-dev mailing list