On top of the last set of document changes this new patch set includes the following 3 changes:
1. I removed the subsection on Cached Slots2. I corrected the spelling for the Set-Valued slots sections (Valued was spelled Valed). 3. I included a write up on using set-valued-slots. All the examples in the section should work
I have not updated the API documentation to include the new calls and macros. I also did not include a write up on how to remove the sets from the DB. At the moment I'm pondering documentation layout and will post some thoughts on some small changes to the layout (and didn't want to include these changes only to move them around). Also I'm trying to keep my patches small (which I assume will make it easier to review).
If there is a better/easier way for me to post the documentation changes let me know.
Thanks, Glenn
doc-update-june29v1.patch
Description: Binary data
On Jun 29, 2008, at 11:54 AM, Ian Eslick wrote:
They should both stay, people may want access to the primitives (for example a set of sets) and there is no reason not to provide it.Ian On Jun 29, 2008, at 10:22 AM, Glenn Tarcea wrote:Ian,The set-valued-slots are very nice. I've been playing around with them to write the documentation and have found they will cleanup some code I had written using make-pset. One question: Should the write up on PSETs remain in the documentation, or should there be a write up to migrate people over to using the slot-valued-sets instead?Thanks, Glenn On Jun 20, 2008, at 2:42 PM, Ian Eslick wrote:Great stuff! To answer a couple of questions:- Cached slots aren't ready yet; I'll document when I can work out the kinks: - Indexed slots are the same as the existing indexed-slots descriptions, except for the :inherit slot option so you should be able to copy & paste existing contentfor these slots and for derived index slots - Derived index slots are still pertinent and will remain ----------------------- Set-valued Slots src/elephant/set-valued-slots.lispSet-valued slots are a convenient shorthand to using PSETs as slot values to get persistent collections as slot values.(slot-value object 'set-slot) returns a SLOT-SET which implements the PSET interface as well as: map-slot-set - maps over the elements of the set drop-slot-set - drops the set from the DB slot-set-list - returns a list of the elements in the set (setf (slot-value object 'slotname) foo) adds foo to the SLOT-SET in slot named 'slotnamehowever, if foo is a slot-set object, it drops and replaces the existing slot-set(slot-makunbound object 'slotname) Make the slot unbound and drops the SLOT-SET from the DB.Of course these work for accessors too (setf (accessor object) foo) => adds foo to slot setThere are a couple of helper macros to simplify expressions like: (slot-set-list (slot-value object 'set-slot)) (set-list object 'slotname) (set-insert foo object 'slotname) (set-remove foo object 'slotname)I'm happy to rename these operators if anyone has opinions on better names...Regards, Ian On Jun 20, 2008, at 11:17 AM, Glenn Tarcea wrote:Attached are updates to the documentation. Specifically I updated:1. Section: Setting Up Berkeley DB - to include the additional flags (:berkeley-db-max-locks and :berkeley-db-max-objects) along with their descriptions and updated the list of of parameters in the my-config.sexp2. Added a new section under Installation titled "Using Multiple Versions Of Elephant" that describes how to use ASDF to allow multiple versions of Elephant to be installed on a single system3. Made a change to one of the Scenarios where the class was system-object, but the methods were referring to system-state (Section: Persistent System Objects)4. Put placeholders in for the different slot types, titled: Using Cached Slots Using Indexed Slots Using Derived Indexed Slots Using Set Valued Slots5. Added a write up based on Ian's email on Association Slots titled "Using Association Slots"6. Updated the Section (4) titled "Berkeley DB Data Store": a. to include references to the new my-config.sexp parametersb. Updated the open-store parameters to include :max- locks :cachesize and :max-objects c. Updated performance tuning to quickly describe what berkeley-db-max-locks, and objects do d. Show an example call to open-store using :max-locks and :max-objects e. Updated performance tuning to include a reference to the Berkeley-DB parameters that max-locks and max-objects refer to and to point the user at DB_CONFIG for additional information.Can someone send me a quick example or jot down a few notes on using Cached and Set Valued slots?Are Derived Indexed Slots still pertinent (I recall a lot of discussion regarding them but don't recall what the outcome was).More documentation updates later. Thanks, Glenn <doc-patch-1.patch>_______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel_______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel_______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel_______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel
_______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel