Digging into Arc In 24 Macros Or Less
jfkbits.blogspot.com
jfkbits.blogspot.com
Now we just need to make (date) cross-platform. Since Scheme provides seconds->date which will do the same as the call to GNU date in arc.arc, this looks pretty easy.
In this case you need access to date information and currently that's done by assuming that it's ok to (system) to GNU date. That's a big assumption. I think it would be fairly easy to wrap up the Scheme code into an Arc native definition.
For example, Arc defined seconds to be the current Unix epoch (which is does via Scheme's current-seconds). It would be pretty easy to do the same thing for month, day, year and make them primitive and then write date on top of them entirely in Arc.
His blog post and description is a lot more entertaining than what I would have written, though.