beginnings of APL interpreter

Kragen Sitaker kragen@pobox.com
Tue, 4 Apr 2000 01:35:02 -0400


For fun.  You can do computations with it, but you have to invoke the
APL primitives from Scheme.

It won't make sense if you don't know anything about APL.

begin 664 kj-apl-0.tar.gz
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
$`/``````
`
end