[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] ANN: eping
From: |
John Maxwell |
Subject: |
Re: [Chicken-users] ANN: eping |
Date: |
Thu, 22 Aug 2013 11:17:44 -0400 |
On 08/22/13 10:54:44, John Cowan wrote:
> Like your earlier macro that attempts to remap h to |h|, this one
> won't
> quite work, because the difference between h and |h| disappears in
> the
> reader, and the macro engine never sees it. 192.168.0.1 is simply
> not
> valid Scheme lexical syntax, and nothing you can do at the macro
> level
> will make it so: it so happens that Chicken processes it as a symbol,
> but that's an artifact of the implementation.
>
[snip]
Michele-
To restate John's point in a way which may help you to understand it:
There is a significant difference between the meaning of the term
"macro" in the Lisp world and in most of the rest of computer-land:
In most computer contexts (in particular, in C/C++, which is where most
folks seem to first encounter the concept these days), macros are
pretty much text-processing devices; sometimes there's a _little_
tokenizing involved, but mostly, they replace one chunk of text with
another.
In Lisp-like languages, including Scheme, they're structure-level
devices; they replace a chunk of the parse tree (the code *after* it's
been tokenized and parsed, but before it's been executed) with another
tree.
The difference can lead to all kinds of confusion until you understand
it; I think that's where you're going astray.
-John
--
John Maxwell KB3VLL address@hidden
Nihilism is best done by professionals.
-Iggy Pop
- Re: [Chicken-users] ANN: eping, Michele La Monaca, 2013/08/22
- Re: [Chicken-users] ANN: eping, Michele La Monaca, 2013/08/22
- Re: [Chicken-users] ANN: eping, Michele La Monaca, 2013/08/22
- Re: [Chicken-users] ANN: eping, John Cowan, 2013/08/22
- Re: [Chicken-users] ANN: eping,
John Maxwell <=
- Re: [Chicken-users] ANN: eping, Michele La Monaca, 2013/08/22
- Re: [Chicken-users] ANN: eping, John Cowan, 2013/08/22
- Re: [Chicken-users] ANN: eping, Michele La Monaca, 2013/08/22
- Re: [Chicken-users] ANN: eping, Michele La Monaca, 2013/08/23
- Re: [Chicken-users] ANN: eping, Jörg F . Wittenberger, 2013/08/24
- Re: [Chicken-users] ANN: eping, John Cowan, 2013/08/24
- Re: [Chicken-users] ANN: eping, Michele La Monaca, 2013/08/26