From: Madhu on 16 Oct 2009 03:52 * 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 16 Oct 2009 04:04 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 16 Oct 2009 05:08 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 16 Oct 2009 05:56 * 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 16 Oct 2009 13:57
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. |