If you want to know what ::uneval does (it's an advanced option for procedure parameters), you can look at the uneval section of ?parameter_modifiers.  It is useful when you want to write a function which works on raw user input rather than on evaluated input.  This is quite tricky, and fraught with danger, and should only be used as a last resort;  but sometimes it really is rather handy.

But that's not quite what this post is about.  This post is really directed at the ~10 or so people in the world who, like me, have wondered "But where does this idea come from?" and, worse, "What does it really mean?".  Well, the answer seems to be: it comes from lisp fexprs, and you can read a whole PhD thesis on the topic.  Ok, if there are more than 5 people who actually are curious about "what does it really mean" and read the denotational semantics chapters of that thesis as a way to 'help' create that understanding, I'll be astonished!


Please Wait...