David A. Wheeler scripsit:

> In Scheme and Common Lisp you could return (values), but that isn't
> really enough, because you then need to pass around "there is no value
> here" and determine if it's true or not.

That is exactly what is done by CL reader macro functions: they return
(values) when they wish to make no contribution to the S-expression
being constructed, or a single value when they do wish to contribute.

But I don't necessarily recommend that.  I think the EMPTY tag works
better.  However, I think the habit of using conses as unique tags
just makes debugging output hard to decipher.  I much prefer this style:

(define foo-tag (string-copy "foo"))

This is guaranteed to return a unique object.  In Common Lisp, this
is spelled:

(defconstant foo-tag (copy-seq "foo"))

-- 
John Cowan          http://www.ccil.org/~cowan        co...@ccil.org
To say that Bilbo's breath was taken away is no description at all.  There are
no words left to express his staggerment, since Men changed the language that
they learned of elves in the days when all the world was wonderful. --The Hobbit

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to