From: Madhu on

* Tamas K Papp <7jqmdsF378lcuU1(a)mid.individual.net> :
Wrote on 16 Oct 2009 07:41:48 GMT:

|> encountering ambiguity, one possibility is to try to reconstruct "the |
|> intent of the lawmaker". [1] So I think that whenever we encounter an |
|> ambiguity or a typo in the standard, it would be good to argue for |
|> what fits best into the logic of the rest of CL, then write up a CDR |
|> about it and settle the issue.
|>
|> Judging by the show of hands on this issue, it looks like the `next CL'
|> will lack dual namespaces, have no defmacro, have a READer which works
|> on text strings, etc., as these are all obvious bugs in the CL
|> specification which would need to be fixed.
|
| Perhaps you are reading some other forum? I don't really get that
| impression.
|
| Besides, I was talking about fixing ambiguities in the standard. How
| do, for example, dual namespaces and macros count as ambiguous?

The alleged ambiguity here is can be seen as a result of an
interpretation that is based on a concept of `hygiene' as defined by
scheme doctors. If the resolution of the ambiguity is based on the
principle of `hygiene[1]', and notions of "good design" and "the lambda
way", one will encounter the fact that other parts of the CL language do
not in fact accord with this principle of hygiene (which is used to
decide the ambiguity in favour of one interpretation), and those other
features can be seen as bugs (with respect to this principle), which
would also need fixing.

--
Madhu



From: Tamas K Papp on
On Fri, 16 Oct 2009 13:22:24 +0530, Madhu wrote:

> * Tamas K Papp <7jqmdsF378lcuU1(a)mid.individual.net> : Wrote on 16 Oct
> 2009 07:41:48 GMT:
>
> |> encountering ambiguity, one possibility is to try to reconstruct "the
> | |> intent of the lawmaker". [1] So I think that whenever we encounter
> an | |> ambiguity or a typo in the standard, it would be good to argue
> for | |> what fits best into the logic of the rest of CL, then write up
> a CDR | |> about it and settle the issue.
> |>
> |> Judging by the show of hands on this issue, it looks like the `next
> CL' |> will lack dual namespaces, have no defmacro, have a READer which
> works |> on text strings, etc., as these are all obvious bugs in the CL
> |> specification which would need to be fixed. |
> | Perhaps you are reading some other forum? I don't really get that |
> impression.
> |
> | Besides, I was talking about fixing ambiguities in the standard. How
> | do, for example, dual namespaces and macros count as ambiguous?
>
> The alleged ambiguity here is can be seen as a result of an
> interpretation that is based on a concept of `hygiene' as defined by
> scheme doctors. If the resolution of the ambiguity is based on the
> principle of `hygiene[1]', and notions of "good design" and "the lambda
> way", one will encounter the fact that other parts of the CL language do
> not in fact accord with this principle of hygiene (which is used to
> decide the ambiguity in favour of one interpretation), and those other
> features can be seen as bugs (with respect to this principle), which
> would also need fixing.

While your obsession with Scheme is quite entertaining, I don't really
see how macros are "ambiguous", and I could not find any arguments to
this effect in the above paragraph.

Nevertheless, I see that you managed to drag some of the Scheme bogeys
that populate your nightmares into it. I think that your
Scheme-o-phobia is clouding your thinking. If you are going crazy, I
would recommend another delusion, especially if you want to reach the
stage when you grow a beard and sleep in subway stations. If you go
around murmuring "Damn HYGIENE! The wanted me to go the LAMBDA WAY!",
people are gonna be puzzled. Pick something else, eg UFOs or Fidel
Castro controlling your brain with radio waves.

Cheers,

Tamas




From: Ron Garret on
In article <m3d44nixmv.fsf(a)moon.robolove.meer.net>,
Madhu <enometh(a)meer.net> wrote:

> * Tamas K Papp <7jqmdsF378lcuU1(a)mid.individual.net> :
> Wrote on 16 Oct 2009 07:41:48 GMT:
>
> |> encountering ambiguity, one possibility is to try to reconstruct "the |
> |> intent of the lawmaker". [1] So I think that whenever we encounter an |
> |> ambiguity or a typo in the standard, it would be good to argue for |
> |> what fits best into the logic of the rest of CL, then write up a CDR |
> |> about it and settle the issue.
> |>
> |> Judging by the show of hands on this issue, it looks like the `next CL'
> |> will lack dual namespaces, have no defmacro, have a READer which works
> |> on text strings, etc., as these are all obvious bugs in the CL
> |> specification which would need to be fixed.
> |
> | Perhaps you are reading some other forum? I don't really get that
> | impression.
> |
> | Besides, I was talking about fixing ambiguities in the standard. How
> | do, for example, dual namespaces and macros count as ambiguous?
>
> The alleged ambiguity here is can be seen as a result of an
> interpretation that is based on a concept of `hygiene' as defined by
> scheme doctors. If the resolution of the ambiguity is based on the
> principle of `hygiene[1]', and notions of "good design" and "the lambda
> way", one will encounter the fact that other parts of the CL language do
> not in fact accord with this principle of hygiene (which is used to
> decide the ambiguity in favour of one interpretation), and those other
> features can be seen as bugs (with respect to this principle), which
> would also need fixing.

You are seriously misinterpreting the reasoning behind the prevailing
view, and the implications of the fact that CL doesn't have hygienic
macros. Name capture (I presume you know what that means) is
universally considered a problem, not a feature. Hygiene is one
solution to this problem, but it has drawbacks. Because of those
drawbacks, CL uses a different solution (lexical scoping, packages, and
separation of function and value namespaces) to solve the problem.
Opinions differ over the relative merits of these solutions, but
opinions do not differ about the underlying problem.

The reason your interpretation of the spec is being universally rejected
is that it DELIBERATELY REINTRODUCES THE UNDERLYING PROBLEM of name
capture when it is not necessary to do so. The prevailing
interpretation is not a rejection of CL principles and a flight to
hygiene, it is the proper recognition of what lexical scoping is, what
it is for, and when to apply it. If you don't get that then you don't
understand lexical scoping and why it replaced dynamic scoping as the
primary binding discipline in CL.

BTW...

> have a READer which works on text strings

Is this really what you meant to say? I believe the READer already does
this.

rg
From: Madhu on

* Tamas K Papp <7jqno3F35u5pfU1(a)mid.individual.net> :
Wrote on 16 Oct 2009 08:04:19 GMT:

|> * Tamas K Papp <7jqmdsF378lcuU1(a)mid.individual.net> : Wrote on 16 Oct
|> 2009 07:41:48 GMT:
|>
|> |> encountering ambiguity, one possibility is to try to reconstruct "the
|> | |> intent of the lawmaker". [1] So I think that whenever we encounter

^^^^^^^^^^^^^^
|> an | |> ambiguity or a typo in the standard,

|> | Besides, I was talking about fixing ambiguities in the standard.
|> | How do, for example, dual namespaces and macros count as ambiguous?
|>
|> The alleged ambiguity here is can be seen as a result of an
|> interpretation that is based on a concept of `hygiene' as defined by
|> scheme doctors. If the resolution of the ambiguity is based on the
|> principle of `hygiene[1]', and notions of "good design" and "the
|> lambda way", one will encounter the fact that other parts of the CL
|> language do not in fact accord with this principle of hygiene (which
|> is used to decide the ambiguity in favour of one interpretation), and
|> those other features can be seen as bugs (with respect to this
|> principle), which would also need fixing.
|
| While your obsession with Scheme is quite entertaining, I don't really
| see how macros are "ambiguous", and I could not find any arguments to
| this effect in the above paragraph.

If you see the ^^^ above, notice you asked for the `intent of the
lawmaker'. If the intent is determined to be hygiene, then it will
follow that an unhygenic defmacro system is unambiguously against the
intent of the law.

I appreciate your concern for my delusions, but the fact of this case is
there is a perfectly valid consistent interpretation (with an
implementational and an evaluation model in CL) which makes an
alternative interpretation unnecessary. Go back to the above paragraph
to see the single basis for the alternative interpretation; after seeing
my reply to Don Geddis. Or would you that I repeat myself just to poke
fun at delusions.

The allegation that this "broken interpretation" is "obviously wrong" to
"all CL users except me" prompted the intial comment to you that the
next version of CL being mooted by this issue might as well start with
hygiene (the intent of the law) on page 1 and eliminate all the
"ugliness" in CL which goes against it. The out of work scheme
committee can regroup and start with the CL users and help them clean up
the next version of their spec. oops q:

--
Madhu
From: Kaz Kylheku on
On 2009-10-15, Tim Bradshaw <tfb(a)cley.com> wrote:
> On 2009-10-15 19:32:59 +0100, Tamas K Papp <tkpapp(a)gmail.com> said:
>
>> Oh, I see, thanks. But it is pretty clear that this is an
>> unintented mistake, and there is no ambiguity (no one would
>> seriously suggest that (prog2 1 2 3) => 2 is non-conforming).
>
> Absolutely so. But it's pretty clear to almost everyone I think that
> the ambiguity around DEFSTRUCT is also an unintended mistake.

To implement Lisp (or any other language), you have to a cunning S.O.B.
who knows much more than just the body of the defining document.