Concatenative language
Concatenative topics
Concatenative meta
Other languages
Meta
= Mentor = [[Doug Coleman]] = Level = Beginning = 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 == Holidays in different calendars == Calculating holidays could potentially be useful. The algorithm for Easter can be implemented straight-fowardly using Factor's locals syntax of %:>%. Other holidays are on fixed days or only exist in certain cultures; a list of holidays would be useful to some people. = 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. = Resources = [[http://www.amazon.com/Calendrical-Calculations-Nachum-Dershowitz/dp/0521702380/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1236990095&sr=8-1]]
Describe this revision:
Save