Hey everyone,

There have been a couple of threads discussing date utilities in this
group.

http://groups.google.com/group/clojure/browse_thread/thread/d98e8efd8d5517b2#

http://groups.google.com/group/clojure/browse_thread/thread/659503e698ede0b5/9dda25f36f102799?lnk=gst&q=joda#9dda25f36f102799

The unilateral recommendation is to use Joda time to handle date
calculations.  This makes a lot of sense, because Joda kicks ass at
what it does.  However, it isn't very abstract.  This got me thinking
about developing a Clojure wrapper library.  I think it should have
the following requirements

1.  Work on some abstract notion of time, not a specific class.
2.  Be able to wrap time-like objects, just like seq wraps seq-like
objects
3.  Be immuatble
4.  Use Joda to do the heavy lifting
5.  Be extensible

That's what my refined date utility library does.  It uses the
following multimethod:

to-ms-count

This mm recursively converts the input down to the number of ms since
1970.  In turn, each data type is built upon the Long ms value.  This
allows date objects to be transformed easily

I'm going to keep working on these, and hopefully flesh out the joda-
utils more this week

I've got some information up on github.  The two interesting
namespaces are

lib.devlinsf.date-utils
lib.devlinsf.joda-utils

You can see some basic documentation in the docs directory.
Specifically,

docs/date-utils.markdown
docs/joda-utils.markdown

PDF showing crude design graph:
http://cloud.github.com/downloads/francoisdevlin/devlinsf-clojure-utils/date-utils_design.pdf

Sean
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to