Hi Henrik,
> ((key1. "some string") (key2 . (1 2 3)) (key3 . 345) (key4 . +Ref))
I would say so too. A '+Bag' is suitable only for (NIL terminated)
lists. The above is a (+List +Any).
For 'get'tting, a custom function is usually not necessary. The standard
Lisp functions will do. And for 'put'ting also only if the parts of
'+Any' are relations that require side-effects like joints or indexes.
On the other hand, is the above structure really required in the
dotted-pair form? If not, a list of bags like
(rel xxx (+List +Bag)
((+Ref +Any))
((+Any)) )
might also do, holding the above data as
((key1 "some string") (key2 (1 2 3)) (key3 345) (key4 +Ref))
Note that the storage requirements in the DB are identical for a
2-element list and a dotted pair. Just in memory the list needs one cell
more.
The ((+Ref +Any)) could also be ((+Key +Any)), or just ((+Any)) if no
index is required. Or ((+Ref +Number)) or ((+Ref +String)) if you have a
known type.
Cheers,
- Alex
--
UNSUBSCRIBE: mailto:[email protected]?subject=unsubscribe