Patty is a small library that facilitates working with functional data structures. It consists of a few macros and metaclasses that integrate nicely with CLOS. Code using patty is similar in style to Haskell code using algebraic data types, primitive pattern matching and type classes.
The latest release is 1.0.6.
Download gzipped tarball.
It depends on closer-mop,
moptilities
and Alexandria.
LIFT and
cl-ppcre are only needed to
run the test suite (only the patty-test system depends on them).
Alternatively you can install via
asdf-install (with the caveat that Alexandria is currently not
asdf-installable).
You can get the latest via darcs:
darcs get http://common-lisp.net/project/patty/darcs/patty
defdata-*
expansion. This
turned out to be rather dumb, especially for interactive
development. So now the slot names are the same as the reader
method names, but wrapped in angle brackets. This release
also fixes a bug in a MOP utility function.
defdata-
* macros have an
:initform
that signals an error.
Patty uses the abstract-class
and singleton-class
definitions from Tim Bradshaw's
Lisp hacks.
Stefan Lang