I've been thinking of writing an opensource library that calculates the liturgical calendar.  For those of you who are unaware, there is already something out there that calculates one liturgical calendar, Romcal.  However, there are many regional variations in the liturgical calendar along with varying solemnities, the Orthodox using the Julian calendar, etc.  I was thinking of writing something that could calculate many different calendars and that could be easily customized by the end user for any specific nuances a given region might have.

What are peoples' opinions on language choice?  I was thinking of keeping it strict ANSI C, which should make creating bindings in various languages fairly easily.  I would guess that a library like this would be most beneficial to web developers, but I'd like not to exclude other types of uses such as application programming.

My questions are:

  • Does anybody know of anything like this out there already (I like reinventing the wheel as much as the next guy, but there are times when you can go too far...)
  • With an eye toward aiding web developers, does an ANSI C library seem like a good idea?  I say ANSI C because I'm not exactly sure of the nature of SWIG's support of objects (is there something better than SWIG out there?)
  • Is this even a good idea?