Cat’s hacks:

date

Cross-platform implementation of Arc’s date function.

In arc2 the date function is implemented by running the operating system’s date command. Unfortunately the date command in different operating systems take different arguments, and so the date function in arc2 only works with operating systems where the date command takes the -u and -r arguments.

This patch implements Arc’s date using MzScheme’s date.ss library, and so works in any operating system that MzScheme runs in in.

Get This Hack

Apply This Hack to Your Arc

By using git or patch, you can incorporate this patch into your version of Arc.

With git

 $ git pull git://github.com/CatDancer/arc.git tag arc2.date0

For example,

 $ mkdir arc
 $ cd arc
 $ git init
 $ git pull git://github.com/CatDancer/arc.git tag arc2.date0

With patch

To apply this patch to your copy of arc using the patch command, download arc2.date0.patch into your Arc directory, and at the Unix command line inside the Arc directory, type:

 patch <arc2.date0.patch

patch” is a standard utility that comes with Unix. (If you’re running Windows, iirc patch comes with cygwin).

For example,

 $ wget http://ycombinator.com/arc/arc2.tar
 [... downloading ...]
 $ tar xf arc2.tar
 $ cd arc2
 $ patch <arc2.date0.patch
 patching [...]
 $

License

The original Arc source is copyrighted by Paul Graham and Robert Morris and licensed under the Perl Foundations's Artistic License 2.0 as described in the “copyright” file in the Arc distribution.

My changes to Arc (this patch that I wrote) are in the public domain.

The combination of the original Arc and my changes together (what you get after you apply my patch) is also licensed under the Perl Foundations's Artistic License 2.0.