2006/1/29, James Hague <<a href="mailto:james.hague@gmail.com">james.hague@gmail.com</a>>:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I would argue that using put and get is fine, if all you have is a<br>simple process that acts as a database.  It essentially give you a<br>hash table, much like ETS (one of the things I really like about Perl<br>and Python is that hash tables are mindlessly simple to use).  But you
<br>don't want to mix puts and gets in with general purpose processing,<br>for the reasons others have already stated.<br></blockquote></div><br>What about using it as lisp's dynamic variables, setting it before a call, and removing it after using try-after-end. 
<br>I see it done sometimes. I realize how it is ugly, but it is oh so handy for simple low-arity callbacks and yet still have access to lots of state values in the same dynamic scope.<br><br><br>