Factor/GSoC/2010/Support more calendars


Doug Coleman



Skills required

  • Willingness to learn Factor
  • Interest in calendars and world cultures
  • Generalizing existing code into a protocol

Existing work

Factor's current calendar library supports the Gregorian calendar and conversion between it and the Julian calendar.

Technical details

Not everyone in the world uses the Gregorian calendar for every facet of their life. In particular, support for Buddhist, Hebrew, Islamic, and Japanese calendars would be a good start. By implementing a generic calendar protocol, one could convert between the calendars and use dates in other formats than the Western-centric one Factor currently supports.

Calendar protocol

A calendar/localization protocol should support:

  • converting between days on different calendars
  • adding durations to calendar dates
  • displaying the calendar as expected by people who would use it
  • localization, such as taking into account if Monday or Sunday is the first day of the week
  • formatting of various dates as expected by followers of the calendars

Benefit to the student

  • Learning about calendars
  • Implementing protocols and generalizing code in Factor

Benefit to the community

Commercial viability of applications based around or using calendars, such as planners, email clients, web applications, using different calendars for different markets.



This revision created on Thu, 25 Feb 2010 19:41:14 by jckarter (copy over 2009)