Front Page All Articles Recent Changes Random Article

Contents

Concatenative language

  • ACL
  • Ait
  • Aocla
  • Breeze
  • Callisto
  • Cat
  • Cognate
  • colorForth
  • Concata
  • CoSy
  • Deque
  • DSSP
  • dt
  • Elymas
  • Enchilada
  • ETAC
  • F
  • Factor
  • Fiveth
  • Forth
  • Fourth
  • Freelang
  • Gershwin
  • hex
  • iNet
  • Joy
  • Joy of Postfix App
  • kcats
  • Kitten
  • lang5
  • Listack
  • LSE64
  • Lviv
  • Meow5
  • min
  • Mirth
  • mjoy
  • Mlatu
  • Ode
  • OForth
  • Om
  • Onyx
  • Plorth
  • Popr
  • Porth
  • PostScript
  • Prowl
  • Quest32
  • Quackery
  • r3
  • Raven
  • Retro
  • RPL
  • SPL
  • Staapl
  • Stabel
  • Tal
  • Titan
  • Trith
  • Uiua
  • Worst
  • xs
  • XY
  • 5th
  • 8th

Concatenative topics

  • Compilers
  • Interpreters
  • Type systems
  • Object systems
  • Quotations
  • Variables
  • Garbage collection
  • Example programs

Concatenative meta

  • People
  • Communities

Other languages

  • APL
  • C++
  • Erlang
  • FP trivia
  • Haskell
  • Io
  • Java
  • JavaScript
  • Lisp
  • ML
  • Oberon
  • RPL
  • Self
  • Slate
  • Smalltalk

Meta

  • Search
  • Farkup wiki format
  • Etiquette
  • Sandbox

Factor/GSoC/2010/Support more calendars

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

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

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

Latest Revisions Edit

All content is © 2008-2024 by its respective authors. By adding content to this wiki, you agree to release it under the BSD license.