Re: macros
- From: tar@xxxxxxxxxxxxx (Thomas A. Russ)
- Date: 22 May 2009 12:50:43 -0700
Seamus MacRae <smacrae319@xxxxxxxxxxxxxx> writes:
Paul Foley (http://public.xdi.org/=pf) wrote:
claiming you just know everything there is to know by virtue of your
infallible logic. See how that doesn't work out?
No. I have made no such claims of knowing everything. I have claimed to
be able to make logical deductions from data. Not the same thing.
Well, while you claim to be able to make logical deductions from data,
you have demonstrated an inability to actually make logical deductions
from data. You seem to supplement any data you are given with
unwarranted assumptions that are drawn from a profound ignorance of the
underlying technology.
I had no basis for deducing anything about what #: might mean. Indeed
that was my point, that it was cryptic and probably needlessly so.
But that didn't stop you from trying to make deductions based on it,
right? And it didn't lead to ask for a simple clarification.
And so I asked. You seem to think it a vice rather than a virtue to
respond to not knowing something by asking. This is evidenced by your
rude demands ("go read a book" etc. for the umpteenth time) and personal
attacks (you don't know that? what an idiot!) in response to the
question.
Well, for someone who wants to make technical claims, you display a
profound lack of understanding of the technical artifact that you wish
to analyze. And you seem to positively revel in refusing to go to any
sources to actually learn something about the technology.
And for the record, pointing out ignorance is not a personal attack. It
is a statement of fact, given that you demonstrate a lack of knowledge.
ignorance: (Noun) lack of knowledge or education
Fortunately, for most people ignorance can be cured. It just requires a
desire to learn, rather than an aversion to learning. Idiocy, on the
other hand, does not have any cure that I'm aware of.
#:foo is how you write a symbol named foo that isn't in any package.
Another contradiction! Earlier Alessio said something made something
that wasn't in any package, thus (he claimed) making it inaccessible to
anything that didn't already have the reference. Looks like according to
you, things that are not in any package aren't quite so inaccessible.
Care to get your stories straight before continuing this debate, you two?
Another argument from ignorance.
What makes you think that #:foo makes the symbol accessible? In fact,
it doesn't. But to understand that you would have to actually know
something about Common Lisp. But instead, you prefer to jump to
conclusions that are patently false. Ponder the following snippets of
lisp code:
(eq 'foo 'foo) ; ==> T
(eq '#:foo '#:foo) ; ==> NIL
Since uninterned symbols don't live in any package, and are not
accessible via their print names, you can, in fact, have any number of
uninterned symbols with the same symbol-name that are different
symbols. Now before you go off making additional unwarranted
assumptions, let me point out that this description was carefully
crafted using specific terms that are well-defined in the Common Lisp
specification. So, before you invent some fanciful interpretation, it
would be wise to check the specification first to see what the proper
and correct interpretation is.
It is also possible to have any number of interned symbols with the same
symbol-name that are different symbols as well. They just have to be in
different packages. This is, of course, no different than the way Java
would let you have any number of different methods or fields with a
given name, as long as they were in different namespaces.
Oh, and here are a couple more interesting examples using uninterned
symbols:
(let ((s1 '#:foo)
(s2 '#:foo)
(s3 'foo)
(s4 'foo))
(eq s1 s1) ; ==> T
(eq s1 s2) ; ==> NIL
(eq s1 '#:foo) ; ==> NIL
(eq s3 s3) ; ==> T
(eq s3 s4) ; ==> T
(eq s3 'foo) ; ==> T
)
BTW, argumentum ad ignorantiam is also a logical fallacy
--
Thomas A. Russ, USC/Information Sciences Institute
.
- Prev by Date: Re: iterative copying of binary expression trees
- Next by Date: Re: Where to begin?
- Previous by thread: Re: macros
- Next by thread: Re: macros
- Index(es):
Relevant Pages
|