Releases: tfeb/conduit-packages
Add define-conduit-package
define-conduit-package
is a shim for define-package
which makes it easier to define pure conduits. It:
- interpolates a
(:use)
clause - checks for
:use
clauses with non-empty package lists and signals a continuable error in that case, for which there is a restart which will, interactively, remove the offending clauses.
Extensible defpackage / define-package
This is a substantially redesigned version, with some incompatible changes.
define-package
(previously define-conduit-package
) is now the basic macro, with the old defpackage
being a shim on top of it. define-package
is now extensible: you can define your own mechanisms for handling clauses in its body. Both conduit packages and the underlying CL mechanism are defined like this and have no privileged status.
Retrospective version 3
This version added a shim system with define-conduit-package
. I forgot to actually tag & make a release, so this is retrospective.
Do much more in the defpackage form
Rather than creating a small defpackage
form and then turning the package into a conduit, generate a huge one which is already a conduit (up to the recomputation). This makes fasls much larger, but means you don't get warnings for compile/load cycles. Disk space is cheap now.
Some other small changes
It's worth noting that before this release the system was not strictly conforming CL, at least it was not if you compiled and then loaded code, which was kind of the whole point.
Initial public version
1.0.0 Initial public version