Dan Beauchesne wrote:
I've got a list of plists which I would like to use to generate a page of clickable links (one link for each plist) which, when clicked, would evaluate a lisp expression (actually, I just want to push that plist entry onto another list).
This isn't a Lisp or TBNL question, as much as a web programming one.
If the main list of plists isn't mutating, you can tag each link with an index into the main list (/put?entry=23), so that the receiving function (the one handling "/put") knows what to do:
(push (nth (get-parameter "entry") *main-list*) *other-list*)
Otherwise, if the main list is mutating all the time, one way to do it is: 1. make a (shallow? deep?) copy of the main list; 2. use the copy to generate the links; 3. store the copy in a session variable; 4. use the session variable in the receiving handler.
Remember to use locks (such as KMRCL's make-lock and with-lock-held) if the users can modify any global variable, otherwise chaos WILL ensue.
(TBNL gurus correct me if I'm wrong)
Toby