( resources home )
summer of lisp past meetings directions contact us join mailing list shop merchandise
( news )
Shop LispNYC, we've got cool items available at cafepress
Module System
Write a real module system that allows for separate compilation with proper dependency-tracking.
Features:
- Be compatible with the PLT module system where we can. Adapt to the idiosyncrasies of CL when we must. Punt and file a bug when it's too much work for now.
- Standardize a module syntax. Every file must have a header that specifies all the dependencies of the file (macros, reader-macros, whole-file reader or macroexpander, special variables, declarations and any required compile-time side-effect).
- Have a builder that strictly enforces separate compilation = a file is to be compiled with the declared dependencies loaded and nothing more. Ideally, we can distinguish compile/compile, load/load and compile/load dependencies, and even better only load a special cfasl for compile/compile dependencies (a suggestion being to only have compile/compile dependencies and require (eval-when (:compile-toplevel) for effects that would otherwis require a compile/load dependency
- provide a migraton path from asdf with asdf-dependencies-grovl
- Extend said builder for parallel compilation and what more, distributed compilation and cacheing