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 -~----------~----~----~----~------~----~------~--~---