;; LLET is a substitute for LET (for lexical variables) and LFUNCTION ;; is a substitute for FUNCTION for closing over LLET's bindings (as ;; well as LET's). The macroexpansions do not contain LET forms for ;; lexical variables; no code walking is performed; EVAL and APPLY are ;; not involved; these constructs can be mixed with standard Common ;; Lisp constructs. I don't know what exactly constraints, and how ;; different from the above, various interested parties may have in ;; mind.
;; Some tests are given below. I may or may not get around to setting ;; up proper test drivers for this (which automatically compare the ;; results before and after substituting LET and FUNCTION for LLET and ;; LFUNCTION, something that poses no technical difficulties).
;; This was written from scratch, but I am not the inventor of any of ;; this approach, I don't think. In part, it matches one of Rob ;; Warnock's sketches in a recent post. Disclaimers apply.
(defun get-var (binding) "Return the variable part of a binding (as a syntactic element). <binding> ::= <varname> | (<varname>) | (<varname> <initform>)." (check-type binding (not null)) (if (listp binding) (first binding) binding))
(defun get-value (binding) "Return the initialization-form part of a binding." (if (listp binding) (second binding) 'nil))
(defun augment-lenv (var value lenv) (acons var value lenv))
(defmacro augment*-lenv (bindings lenv) "Expand into AUGMENT-LENV calls to add bindings to an environment." (if (endp bindings) lenv (destructuring-bind (b &rest bs) bindings `(augment-lenv ',(get-var b) ,(get-value b) (augment*-lenv ,bs ,lenv)))))
(defun lvar (var lenv) "Accessor for a simulated local lexical variable." (cdr (assoc var lenv)))
(defun (setf lvar) (value var lenv) (setf (cdr (assoc var lenv)) value))
(defun make-contour () (gensym "CONTOUR-"))
(defun lenv (contour) "Accessor for the lexical environment of a lexical contour." (symbol-value contour))
* Ron Garret <rNOSPAMon-D15CCC.22064405112...@news.albasani.net> : Wrote on Thu, 05 Nov 2009 22:06:47 -0800:
| Bravo! So Madhu was wrong about everything after all ;-)
You seem to have infected Kaz with the disease where you try to pass off all your own mistakes by accusing the person who pointed your mistake of the very mistake you make.
Vassil Nikolov <vniko...@pobox.com> writes: > ;; LLET is a substitute for LET (for lexical variables) and LFUNCTION > ;; is a substitute for FUNCTION for closing over LLET's bindings (as > ;; well as LET's). The macroexpansions do not contain LET forms for > ;; lexical variables; no code walking is performed;
You know, there's a trick for a poor man's code-walker that could be applied for pathological^W pedagogical cases like this. First SUBST CL:LAMBDA, and CL:LET to gensyms, then bind these gensyms via MACROLET and have your implementation walk the code for you.
> > ;; LLET is a substitute for LET (for lexical variables) and LFUNCTION > > ;; is a substitute for FUNCTION for closing over LLET's bindings (as > > ;; well as LET's). The macroexpansions do not contain LET forms for > > ;; lexical variables; no code walking is performed;
> You know, there's a trick for a poor man's code-walker that could be > applied for pathological^W pedagogical cases like this. First SUBST > CL:LAMBDA, and CL:LET to gensyms, then bind these gensyms via MACROLET > and have your implementation walk the code for you.
It's good for more than just pedagogy (and pathology). Pascal Costanza has recently shown how to use it to implement hygienic macros:
* Ron Garret <rNOSPAMon-3BD29C.15513111112...@news.albasani.net> : Wrote on Wed, 11 Nov 2009 15:51:32 -0800:
| It's good for more than just pedagogy (and pathology). Pascal Costanza | has recently shown how to use it to implement hygienic macros:
No, this is exactly an example of `pedagogical/pathological': Ir be of academic interest for the purpose of Costanza's tenure, but is not interesting to CL
In article <m3639g8qs5....@moon.robolove.meer.net>,
Madhu <enom...@meer.net> wrote: > * Ron Garret <rNOSPAMon-3BD29C.15513111112...@news.albasani.net> : > Wrote on Wed, 11 Nov 2009 15:51:32 -0800:
> | It's good for more than just pedagogy (and pathology). Pascal Costanza > | has recently shown how to use it to implement hygienic macros:
> No, this is exactly an example of `pedagogical/pathological': Ir be of > academic interest for the purpose of Costanza's tenure, but is not > interesting to CL
How fortunate that we have Madhu to tell us what is and is not interesting. What ever would we do without him?
* Ron Garret <rNOSPAMon-914274.17531511112...@news.albasani.net> : Wrote on Wed, 11 Nov 2009 17:53:16 -0800:
| How fortunate that we have Madhu to tell us what is and is not | interesting. What ever would we do without him?
It is sad. It seems the other old-timers are not interested in correcting the intentionally misleading posts you make or pointing out your dishonest debate tactics you continue to indule in.
In article <m31vk48q28....@moon.robolove.meer.net>,
Madhu <enom...@meer.net> wrote: > * Ron Garret <rNOSPAMon-914274.17531511112...@news.albasani.net> : > Wrote on Wed, 11 Nov 2009 17:53:16 -0800:
> | How fortunate that we have Madhu to tell us what is and is not > | interesting. What ever would we do without him?
> It is sad. It seems the other old-timers are not interested in > correcting the intentionally misleading posts you make or pointing out > your dishonest debate tactics you continue to indule in.
Yes, damn all those old timers. They should all be taking me to task for "unduling" in the dishonest debate tactic of agreeing with you. What is wrong with these people?
* Ron Garret <rNOSPAMon-E3E566.21312511112...@news.albasani.net> : Wrote on Wed, 11 Nov 2009 21:31:26 -0800:
|> It is sad. It seems the other old-timers are not interested in |> correcting the intentionally misleading posts you make or pointing out |> your dishonest debate tactics you continue to indule in. | | Yes, damn all those old timers. They should all be taking me to task | for "unduling" in the dishonest debate tactic of agreeing with you. | What is wrong with these people?
You have introduced a typo when misstating what I've said to take away the point I'm making. You are INDULGING, again, in the very thing I accused of above (and it is not how you reinterpreted it for the sake of your reply)
> * Ron Garret <rNOSPAMon-3BD29C.15513111112...@news.albasani.net> : Wrote > on Wed, 11 Nov 2009 15:51:32 -0800:
> | It's good for more than just pedagogy (and pathology). Pascal > Costanza | has recently shown how to use it to implement hygienic > macros:
> No, this is exactly an example of `pedagogical/pathological': Ir be of > academic interest for the purpose of Costanza's tenure, but is not > interesting to CL
I disagree. This article is spot on in adressing the issues which cause side effects. It is more sad to peolple like youself so unappriciative.
In article <m3ws1w6q46....@moon.robolove.meer.net>,
Madhu <enom...@meer.net> wrote: > * Ron Garret <rNOSPAMon-E3E566.21312511112...@news.albasani.net> : > Wrote on Wed, 11 Nov 2009 21:31:26 -0800:
> |> It is sad. It seems the other old-timers are not interested in > |> correcting the intentionally misleading posts you make or pointing out > |> your dishonest debate tactics you continue to indule in. > | > | Yes, damn all those old timers. They should all be taking me to task > | for "unduling" in the dishonest debate tactic of agreeing with you. > | What is wrong with these people?
> You have introduced a typo when misstating what I've said to take away > the point I'm making. You are INDULGING, again,
Are you sure? I thought I was undoling. But what do I know? Good thing I have you to set me straight because those old-timers have obviously abdicated their responsibilities.
* John Thingstad <77adnd7wJ-0gf2bXRVnz...@telenor.com> : Wrote on Thu, 12 Nov 2009 04:26:05 -0600:
|> No, this is exactly an example of `pedagogical/pathological': Ir be of |> academic interest for the purpose of Costanza's tenure, but is not |> interesting to CL | | I disagree. This article is spot on in adressing the issues which | cause side effects. It is more sad to peolple like youself so | unappriciative.
I'm not sure what you are disagreeing with: the part you quoted was an exchange with Ron Garret, where I'm talking about a claim which Ron made. I believe you have been misled by Ron about what I claimed is not `interesting'.
I do not dispute or doubt that you or others will find Costanza's article interesting.
However the point is CL's macro system is not hygienic and CL is not about restricting side effects. The fact that CL macro system it is powerful enough to implement a hygienic subset is not an especially interesting result, in the same sense that you can always use a more powerful system to build a more restricted less expressive system. You can implement other languages in CL etc. Vassil's thread starts in this route. This has echoes of Turing's results. Note while in mathematics, everybody knows 4 = 2 + 2. The result that 4 = 3 + 1 is not especially interesting, however in CS, because of Turing, it is always possible to find a point of view where 3 + 1 is `interesting', because some developer market does not have this knowledge, and publish a paper. This activity will always be defensible
* John Thingstad <77adnd7wJ-0gf2bXRVnz...@telenor.com> : Wrote on Thu, 12 Nov 2009 04:26:05 -0600:
|> No, this is exactly an example of `pedagogical/pathological': Ir be *It may be |> of academic interest for the purpose of Costanza's tenure, but is not |> interesting to CL | | I disagree. This article is spot on in adressing the issues which | cause side effects. It is more sad to peolple like youself so | unappriciative.
I'm not sure what you are disagreeing with: the part you quoted was an exchange with Ron Garret, where I'm talking about a claim which Ron made. I believe you have been misled by Ron about what I claimed is not `interesting'.
I do not dispute or doubt that you or others will find Costanza's article interesting.
However the point is CL's macro system is not hygienic and CL is not about restricting side effects. The fact that the CL macro system is powerful enough to implement a hygienic subset is not an especially interesting result, in the same sense that you can always use a more powerful system to build a more restricted less expressive system. You can implement other languages in CL etc. Vassil started this thread in this direction. This has echoes of Turing's results. Note while in mathematics, everybody knows 4 = 2 + 2. The result that 4 = 3 + 1 is not especially interesting. However in CS, because of Turing, it is always possible to find a point of view where 3 + 1 is `interesting', to some developer market (that will not have this knowledge), and publish a paper. This activity will always be defensible
On Thu, 12 Nov 2009 18:40:03 +0530, Madhu wrote: > However the point is CL's macro system is not hygienic and CL is not > about restricting side effects. The fact that the CL macro system is > powerful enough to implement a hygienic subset is not an especially > interesting result, in the same sense that you can always use a more > powerful system to build a more restricted less expressive system. You > can implement other languages in CL etc. Vassil started this thread in > this direction. This has echoes of Turing's results. Note while in > mathematics, everybody knows 4 = 2 + 2. The result that 4 = 3 + 1 is > not especially interesting. However in CS, because of Turing, it is > always possible to find a point of view where 3 + 1 is `interesting', to > some developer market (that will not have this knowledge), and publish a > paper. This activity will always be defensible
This paragraph indicates that either you haven't read Pascal's article, or misunderstood it completely.
The result has nothing to do with Turing completeness. The paper is interesting because Pascal shows how _easy_ it is to implement the hygienic subsystem. Hint: it does not require reimplementing CL inside CL. Far from it. Go read the article.
First, it was entertaining to watch to talk about things you don't understand, but the novelty is wearing out. Maybe you could understand something occasionally, just to break the monotony.
This is not the first time you shoot an uninformed response to my posts. Earlier, you have proved you were not willing to accept or understand my answers to the questions which are already answered in the portions you cite, the only discernable purpose of your post seems to be to quote some text and add insults at the bottom
* Tamas K Papp <7m2jdgF3elua...@mid.individual.net> : Wrote on 12 Nov 2009 14:12:00 GMT:
| On Thu, 12 Nov 2009 18:40:03 +0530, Madhu wrote: | |> However the point is CL's macro system is not hygienic and CL is not |> about restricting side effects. The fact that the CL macro system is |> powerful enough to implement a hygienic subset is not an especially |> interesting result, in the same sense that you can always use a more |> powerful system to build a more restricted less expressive system. You |> can implement other languages in CL etc. Vassil started this thread in |> this direction. This has echoes of Turing's results. Note while in |> mathematics, everybody knows 4 = 2 + 2. The result that 4 = 3 + 1 is |> not especially interesting. However in CS, because of Turing, it is |> always possible to find a point of view where 3 + 1 is `interesting', to |> some developer market (that will not have this knowledge), and publish a |> paper. This activity will always be defensible | | This paragraph indicates that either you haven't read Pascal's | article, or misunderstood it completely.
No. This paragraph talks about a more general case, the specific case you lost above
| The result has nothing to do with Turing completeness. The paper is | interesting because Pascal shows how _easy_ it is to implement the | hygienic subsystem.
I do not dispute that you find it interesting. What is not interesting is that you can implement something less powerful and more restrictive by using a more powerful system.
| Hint: it does not require reimplementing CL inside CL.
This hint indicates you have not understood anything I've said. Not surprising
| Far from it. Go read the article.
| First, it was entertaining to watch to talk about things you don't | understand, but the novelty is wearing out. Maybe you could | understand something occasionally, just to break the monotony
Instead of calling my understanding of these issues into question you should point the scanner at yourself.
From your posts on linguistics it is clear that you are not interested meaningful analysis, but perhaps more in tune to your funded economics research, you are instead about providing support for an anti-intellectual environment which thwarts any real analysis.
In article <m3my2r7utw....@moon.robolove.meer.net>,
Madhu <enom...@meer.net> wrote: > The fact that the CL macro system is > powerful enough to implement a hygienic subset is not an especially > interesting result,
That may be true, but that is not Costanza's result.
You may wish to consider taking the trouble to actually learn what you are talking about before proclaiming things uninteresting. I'm pretty sure you will find these exchanges less frustrating if you do. Whatever it is you are hoping to accomplish you'll probably do better if you stop showcasing your ignorance so prominently.
* Ron Garret <rNOSPAMon-47B774.13470912112...@news.albasani.net> : Wrote on Thu, 12 Nov 2009 13:47:10 -0800:
| In article <m3my2r7utw....@moon.robolove.meer.net>, | Madhu <enom...@meer.net> wrote: | |> The fact that the CL macro system is |> powerful enough to implement a hygienic subset is not an especially |> interesting result, | | That may be true, but that is not Costanza's result.
The one making a claim that it was Costanza's result was you. I have only responded to the claim you made.
| You may wish to consider taking the trouble to actually learn what you | are talking about before proclaiming things uninteresting. I'm pretty | sure you will find these exchanges less frustrating if you do. | Whatever it is you are hoping to accomplish you'll probably do better | if you stop showcasing your ignorance so prominently.
These exchanges are apparently frustrating, not because of lack of knowledge on my part but because you continue to INDULGE in dishonest debate. You accuse me of ignorance to cover all ignorance of CL yourself exhibit. One of your claims about symbol macros that lead to this thread is an example.
* Ron Garret <rNOSPAMon-9377B6.05012412112...@news.albasani.net> : Wrote on Thu, 12 Nov 2009 05:01:25 -0800:
|> |> It is sad. It seems the other old-timers are not interested in |> |> correcting the intentionally misleading posts you make or pointing out |> |> your dishonest debate tactics you continue to indule in. |> | |> | Yes, damn all those old timers. They should all be taking me to task |> | for "unduling" in the dishonest debate tactic of agreeing with you. |> | What is wrong with these people? |> |> You have introduced a typo when misstating what I've said to take away |> the point I'm making. You are INDULGING, again, | | Are you sure? I thought I was undoling. But what do I know?
You know how to twist, misrepresent, misstate my position to make it appear I am uneducated or ignorant, as if to detract from the fact I am drawing attention to: that you lack of intellectual integrity,
* Ron Garret <rNOSPAMon-9377B6.05012412112...@news.albasani.net> : Wrote on Thu, 12 Nov 2009 05:01:25 -0800:
|> |> It is sad. It seems the other old-timers are not interested in |> |> correcting the intentionally misleading posts you make or pointing out |> |> your dishonest debate tactics you continue to indule in. |> | |> | Yes, damn all those old timers. They should all be taking me to task |> | for "unduling" in the dishonest debate tactic of agreeing with you. |> | What is wrong with these people? |> |> You have introduced a typo when misstating what I've said to take away |> the point I'm making. You are INDULGING, again, | | Are you sure? I thought I was undoling. But what do I know?
You know how to twist, misrepresent, and misstate my position to make it appear I am uneducated or ignorant, as if to detract from the fact I am drawing attention to: that you lack intellectual integrity,
In article <m37htv76vl....@moon.robolove.meer.net>,
Madhu <enom...@meer.net> wrote: > * Ron Garret <rNOSPAMon-47B774.13470912112...@news.albasani.net> : > Wrote on Thu, 12 Nov 2009 13:47:10 -0800:
> | In article <m3my2r7utw....@moon.robolove.meer.net>, > | Madhu <enom...@meer.net> wrote: > | > |> The fact that the CL macro system is > |> powerful enough to implement a hygienic subset is not an especially > |> interesting result, > | > | That may be true, but that is not Costanza's result.
> The one making a claim that it was Costanza's result was you. I have > only responded to the claim you made.
No, you have not. You need to go back and read more carefully.
> | You may wish to consider taking the trouble to actually learn what you > | are talking about before proclaiming things uninteresting. I'm pretty > | sure you will find these exchanges less frustrating if you do. > | Whatever it is you are hoping to accomplish you'll probably do better > | if you stop showcasing your ignorance so prominently.
> These exchanges are apparently frustrating, not because of lack of > knowledge on my part but because you continue to INDULGE in dishonest > debate. You accuse me of ignorance to cover all ignorance of CL > yourself exhibit. One of your claims about symbol macros that lead to > this thread is an example.
This thread was started by Vassil Nikolov, who posted a constructive proof that my conjecture about symbol macros being able to emulate local as well as global lexical variables (I presume that is the claim to which you are alluding) was in fact correct. I don't know how to get any more honest than that.
So no, I do not "accuse" you of ignorance. You wear your ignorance (to say nothing of your brazen foolishness) on your sleeve. You post it on the Internet for all to see. You go out of your way to draw attention to it when you could have just let sleeping dogs lie. You brazenly manifest your ignorance again and again and again, and when someone calls you on it you whine, "I'm NOT ignorant. I'm not! I'm not! I'M NOT!"
Madhu <enom...@meer.net> wrote: > * Ron Garret <rNOSPAMon-9377B6.05012412112...@news.albasani.net> : > Wrote on Thu, 12 Nov 2009 05:01:25 -0800:
> |> |> It is sad. It seems the other old-timers are not interested in > |> |> correcting the intentionally misleading posts you make or pointing out > |> |> your dishonest debate tactics you continue to indule in. > |> | > |> | Yes, damn all those old timers. They should all be taking me to task > |> | for "unduling" in the dishonest debate tactic of agreeing with you. > |> | What is wrong with these people? > |> > |> You have introduced a typo when misstating what I've said to take away > |> the point I'm making. You are INDULGING, again, > | > | Are you sure? I thought I was undoling. But what do I know?
> You know how to twist, misrepresent, and misstate my position to make it > appear I am uneducated or ignorant
You give me far too much credit. When it comes to making it appear that you are uneducated and ignorant, you are truly the master and I merely the humble student.
Like others have pointed out in the past one cannot engage in honest debate with you.
Your posts are also on the internet for anyone to see.
| So no, I do not "accuse" you of ignorance. You wear your ignorance (to | say nothing of your brazen foolishness) on your sleeve.
Except when you follow up on my posts to confuse the readers. I've marked these as such
|You post it on the Internet for all to see. You go out of your way to |draw attention to it when you could have just let sleeping dogs lie.
Your posts are also for everyone to see, except you hide your ignorance and mistakes by attributing those to others, in this case, me.
|You brazenly manifest your ignorance again and again and again, and |when someone calls you on it you whine, "I'm NOT ignorant. I'm not! |I'm not! I'M NOT!"
Wrong. I am not doing that. I am pointing out you are merely accusing me and portraying me as ignorant and you are portraying me this way to divert attention from your own ignorance and dishonesty
The posts are there for anyone to see, providing you dont add to the crap with intent to confuse, so no one can see the issues or where you have been wrong.
* Ron Garret <rNOSPAMon-19A81D.17093412112...@news.albasani.net> : Wrote on Thu, 12 Nov 2009 17:09:34 -0800:
| In article <m3zl6r5ray....@moon.robolove.meer.net>, | Madhu <enom...@meer.net> wrote: | |> * Ron Garret <rNOSPAMon-9377B6.05012412112...@news.albasani.net> : |> Wrote on Thu, 12 Nov 2009 05:01:25 -0800: |> |> |> |> It is sad. It seems the other old-timers are not interested in |> |> |> correcting the intentionally misleading posts you make or pointing out |> |> |> your dishonest debate tactics you continue to indule in. |> |> | |> |> | Yes, damn all those old timers. They should all be taking me to task |> |> | for "unduling" in the dishonest debate tactic of agreeing with you. |> |> | What is wrong with these people? |> |> |> |> You have introduced a typo when misstating what I've said to take away |> |> the point I'm making. You are INDULGING, again, |> | |> | Are you sure? I thought I was undoling. But what do I know? |> |> You know how to twist, misrepresent, and misstate my position to make it |> appear I am uneducated or ignorant | | You give me far too much credit. When it comes to making it appear that | you are uneducated and ignorant, you are truly the master and I merely | the humble student.
I am not giving you any credit. I am pointing out what you are continuing to do. I am pointing out what you are doing to divert attention from your own mistakes and the muddles you make by attributing those to me.
On Nov 12, 11:39 am, Madhu <enom...@meer.net> wrote:
> * Ron Garret <rNOSPAMon-3BD29C.15513111112...@news.albasani.net> : > Wrote on Wed, 11 Nov 2009 15:51:32 -0800:
> | It's good for more than just pedagogy (and pathology). Pascal Costanza > | has recently shown how to use it to implement hygienic macros:
> No, this is exactly an example of `pedagogical/pathological': Ir be of > academic interest for the purpose of Costanza's tenure, but is not > interesting to CL
This is an even better example of 'pathological', probably in the form of OCD, and manifesting itself as the delusional belief that you not only know what CL finds interesting, but that's your duty to tell us all what it is...
More seriously, I can only a assume that *you* don't find this interesting. This is a position you can convey implicitly by saying nothing at all, which avoids the (also pathological) bickering that will ensue from attempting to hold an unsupportable position.
My own perspective is this: The ability to easily create new language semantics that allow me to more succinctly solve problems is exactly *why* I find CL interesting. Somehow I doubt I'm alone here.
The more I read however it becomes increasingly obvious how alone *you* are here, and if you consider your own pathology in the light of the increasing social ostracism you're experiencing I'm sure you'll be compelled to, well, tell us all at how completely incorrectly I've managed to interpret your (subjective to the point of arbitrary) remarks.