7:06:01beachThere are a couple of candidate libraries for extraction from SICL/Cleavir to separate repositories.
7:06:24beachOne is the Cleavir environment protocol.
7:06:45beachIt is basically a CLOS-y version of the CLtL2 protocol.
7:06:54beachIt uses standard classes and generic functions.
7:07:27beachIt is also more complete than the one in CLtL2, which I think has been extended by every implementation that has it, probably in incompatible ways.
7:07:47beachAnd the Cleavir version can be extended by client code.
7:08:05beachA separate repository would also have a faster implementation of it.
7:08:34beachRight now, every time some information is asked for by the compiler, the chain of lexial environments is traversed multiple times.
7:08:51beachPerhaps an implementation that caches summary information lazily would be interesting.
7:09:44beachSuch a library would be useful for writing implementation-independent code walkers, provided that there is enough customization capabilities.
7:10:00beachI would very much like for someone to investigate this possibility.
7:10:29beachAltering the existing protocol would be acceptable. Modifying Cleavir to adapt to a different protocol would be entirely acceptable.
7:10:53beachThe other candidate is the SICL global environment protocol and implementation.
7:15:15beachOh, and for the Cleavir environment stuff, there is definitely an ELS paper submission in there.
7:16:48beachSuch a paper would start by an analysis of the CLtL2 protocol, showing that it is hard to extend in compatible ways, and showing that it is incomplete. Then it would describe the CLOS-y protocol, describe an implementation of it, perhaps have some benchmarks.