8:54:03beachI decided to bite the bullet and try to extract the Cleavir environment query functions and classes to a separate repository.
8:54:04beachI am gradually moving things from Cleavir into this repository, modifying comments and factoring code as I go along: https://github.com/robert-strandh/Trucler
8:55:13beachAny help will be appreciated. Help with the migration, help with the code factoring, help with ideas about customization, help with the creation of implementation-specific methods and subclasses.
8:59:18beachAlso, the current implementation in Cleavir is quite slow. It traverses the chain of environment extensions several times to build the INFO objects to return, and it does this on every query.
9:00:19beachIt would be interesting to implement some kind of caching scheme so that several identical queries would be faster.
9:01:43shka_each one of those is likely to not add anything?
9:02:27beachEach one add one piece of information. Dynamic extent, a type, inline information, etc.
9:03:13beachSo when the query happens, all this information must be combined. The AND between the types must be computed, the innermost version of inline information must be used, etc, etc.
9:03:57beachOr, it could be combined as a result of the extension function being called.