Dear Dan,
Maybe we should be moving this discussion to another list. I've asked admin@common-lisp.net to create lisp-interface-library-devel.
: Dan Lentz Regarding consolidation under LIL just wondering if someone might have suggestions for individual authors of CL data structure libraries on how to work in a way most cooperative with the effort. For example I have a small ctrie lib (http://github.com/danlentz/cl-ctrie) the objective should be to refactor based on what unique interface it could provide, such as "concurrent" or "lock-free"?
Perhaps this question is somewhat specific to LIL but it is a project I've been following with interest
It would be delighted to help with such an effort, either a merge of the two libraries, or a layer to make them work together.
Also, considering that LIL has so few users (just drewc and I, IIUC), it is still time to rename basic API functions if you have strong opinions.
While adding support for concurrent data structures has long been on my TODO list, I admit I haven't given much thought on how to automate (or not) whatever locking is required (or not) on various methods (not the same methods, depending on the data structure). So far, my hypothesis is that nothing needs to be changed as far as the signature of map interfaces goes: the underlying implementation may or may not be concurrent, that doesn't directly affect the calling conventions.
Of course, concurrently accessing a non-concurrent data structure may blow up in your face, but I don't know how to express linearity constraints in Lisp, yet. That's a topic I'm actively researching, though, and suggestions are welcome.
In short, I'd love that to happen, I'm ready to help, and a small data structure library is the perfect place to start.
PS: I've added you as a contributor on https://github.com/fare/lisp-interface-library
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Be careful what you set your heart on — for it will surely be yours. — James Baldwin, "Nobody Knows My Name"