> using flat property lists with keywords like
> | (:a b :c d)
> as data (not as a symbol's property list) is pretty common in e.g. Emacs
> Lisp and elsewhere. In Clojure the keywords even work like functions
I feel that I don't completely understand the question.
In PicoLisp, a property list cannot be seen separated from a symbol.
After all, these are properties OF a symbol. It is just an
implementation detail that they are a list internally.
A stand-alone list of key-value pairs is an "association" list, as used
with 'assoc' or 'asoq'.
> These 'stand-alone' property lists are pretty useful for function
> keyword arguments too, e.g.
> | (defun foo (&keys a b c (d . 5) e (f . "g")) ...)
There were some rosetta tasks in that like. I don't remember exactly if
they address the same problem, but you may look at the "Named
parameters" and "Optional parameters" tasks. Is this similar?
What exactly would be your goal?