Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
simulating local lexical variables with symbol macros
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 158 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Vassil Nikolov  
View profile  
 More options Nov 5, 3:25 pm
Newsgroups: comp.lang.lisp
From: Vassil Nikolov <vniko...@pobox.com>
Date: Wed, 04 Nov 2009 23:25:19 -0500
Local: Thurs, Nov 5 2009 3:25 pm
Subject: simulating local lexical variables with symbol macros

;; 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))

(defun (setf lenv) (value contour)
  (setf (symbol-value contour) value))

(defun lbinding (var contour)
  "Construct a binding (as a syntactic element) for a simulated variable."
  `(,var (lvar ',var (lenv ,contour))))

(defun make-lclosure (fn contour)
  "Combine a captured simulated lexical environment with a function."
  (if contour
      (coerce `(lambda (&rest args)
                 (progv '(,contour) '(,(lenv contour)) (apply ',fn args)))
              'function)
    fn))

;; the current (simulated) lexical contour:
(define-symbol-macro %lcontour% nil)

;; the work horses:

(defmacro lfunction (name)
  `(make-lclosure (function ,name) %lcontour%))

(defmacro llet ((&rest bindings) &body body)
  (if (null bindings) `(progn ,@body)
    (let ((new-contour (make-contour)))
      `(progn
         (setf (lenv ',new-contour) (lenv %lcontour%))
         (symbol-macrolet ((%lcontour% ',new-contour))
           (setf (lenv %lcontour%) (augment*-lenv ,bindings (lenv %lcontour%)))
           (symbol-macrolet (,@(mapcar #'(lambda (b)
                                           (lbinding (get-var b) '%lcontour%))
                                       bindings))
             ,@body))))))

;;; "control implementation" (to compare to Common Lisp itself):

(defmacro lfunction (name)
  `(function ,name))

(defmacro llet (&body body)
  `(let ,@body))

;;; testing:

(defun test-llet-1 (x0 x1 x2 x3 x4)
  (llet ((x x0))
    (llet ((f0 (lfunction (lambda (v) (prog1 x (setf x v)))))
           (f1 (lfunction (lambda () x))))
      (llet ((x~ x))
        (setf x x1)
        (llet ((x x2))
          (list x (setf x x3) x~ (funcall f0 x4) (funcall f1) x))))))

(assert (equal (test-llet-1 'a 'b 'c 'd 'e) '(c d a b e d)))

;; TEST-LLET-2 is based on one of Ron Garret's tests, improved to
;; catch more non-solutions:

(defun make-pair-of-closures (i d)
  (llet ((x i))
    (list (lfunction (lambda ()
                       (list (incf x d) (incf x d) (incf x d))))
          (lfunction (lambda ()
                       (list (decf x d) (decf x d)))))))

(defun test-llet-2 (i1 d1 i2 d2)
  (let ((p1 (make-pair-of-closures i1 d1))
        (p2 (make-pair-of-closures i2 d2)))
    (list (funcall (first p1))
          (funcall (second p1))
          (funcall (first p2))
          (funcall (second p2)))))

(assert (equal (test-llet-2 0 1 2 3) '((1 2 3) (2 1) (5 8 11) (8 5))))

(defun |Ron Garret's "acid test"| ()
  (let ((l1 (llet ((x 1)) (list (lfunction (lambda () (incf x)))
                                (lfunction (lambda () (decf x))))))
        (l2 (llet ((x 5)) (list (lfunction (lambda () (incf x)))
                                (lfunction (lambda () (decf x)))))))
    (list (funcall (first l1)) (funcall (first l1)) (funcall (second l1))
          (funcall (first l2)) (funcall (first l2)) (funcall (second l2)))))

(assert (equal (list (|Ron Garret's "acid test"|) (|Ron Garret's "acid test"|))
               '((2 3 2 6 7 6) (2 3 2 6 7 6))))

---Vassil.

--
Vassil Nikolov <vniko...@pobox.com>

  (1) M(Gauss);
  (2) M(a) if M(b) and declared(b, M(a)),
  where M(x) := "x is a mathematician".


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ron Garret  
View profile  
 More options Nov 6, 5:06 pm
Newsgroups: comp.lang.lisp
From: Ron Garret <rNOSPA...@flownet.com>
Date: Thu, 05 Nov 2009 22:06:47 -0800
Local: Fri, Nov 6 2009 5:06 pm
Subject: Re: simulating local lexical variables with symbol macros
In article <snzk4y5ha34....@luna.vassil.nikolov.name>,
 Vassil Nikolov <vniko...@pobox.com> wrote:

> (defun make-lclosure (fn contour)
>   "Combine a captured simulated lexical environment with a function."
>   (if contour
>       (coerce `(lambda (&rest args)
>                  (progv '(,contour) '(,(lenv contour)) (apply ',fn args)))
>               'function)
>     fn))

Bravo!  So Madhu was wrong about everything after all ;-)

rg


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 8, 1:07 pm
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Sun, 08 Nov 2009 07:37:47 +0530
Local: Sun, Nov 8 2009 1:07 pm
Subject: Re: simulating local lexical variables with symbol macros

* 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.

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tobias C. Rittweiler  
View profile  
 More options Nov 11, 7:53 pm
Newsgroups: comp.lang.lisp
From: "Tobias C. Rittweiler" <t...@freebits.de.invalid>
Date: Wed, 11 Nov 2009 09:53:44 +0100
Local: Wed, Nov 11 2009 7:53 pm
Subject: Re: simulating local lexical variables with symbol macros

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.

  -T.


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ron Garret  
View profile  
 More options Nov 12, 10:51 am
Newsgroups: comp.lang.lisp
From: Ron Garret <rNOSPA...@flownet.com>
Date: Wed, 11 Nov 2009 15:51:32 -0800
Local: Thurs, Nov 12 2009 10:51 am
Subject: Re: simulating local lexical variables with symbol macros
In article <87eio54f3b....@freebits.de>,
 "Tobias C. Rittweiler" <t...@freebits.de.invalid> wrote:

> 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.

It's good for more than just pedagogy (and pathology).  Pascal Costanza
has recently shown how to use it to implement hygienic macros:

http://p-cos.net/documents/hygiene.pdf

rg


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 12, 12:39 pm
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Thu, 12 Nov 2009 07:09:54 +0530
Local: Thurs, Nov 12 2009 12:39 pm
Subject: Re: simulating local lexical variables with symbol 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

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ron Garret  
View profile  
 More options Nov 12, 12:53 pm
Newsgroups: comp.lang.lisp
From: Ron Garret <rNOSPA...@flownet.com>
Date: Wed, 11 Nov 2009 17:53:16 -0800
Local: Thurs, Nov 12 2009 12:53 pm
Subject: Re: simulating local lexical variables with symbol macros
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?

rg


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 12, 12:55 pm
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Thu, 12 Nov 2009 07:25:27 +0530
Local: Thurs, Nov 12 2009 12:55 pm
Subject: Re: simulating local lexical variables with symbol macros
* 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.

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ron Garret  
View profile  
 More options Nov 12, 4:31 pm
Newsgroups: comp.lang.lisp
From: Ron Garret <rNOSPA...@flownet.com>
Date: Wed, 11 Nov 2009 21:31:26 -0800
Local: Thurs, Nov 12 2009 4:31 pm
Subject: Re: simulating local lexical variables with symbol macros
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?

rg


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 12, 8:37 pm
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Thu, 12 Nov 2009 15:07:13 +0530
Local: Thurs, Nov 12 2009 8:37 pm
Subject: Re: simulating local lexical variables with symbol macros

* 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)

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
John Thingstad  
View profile  
 More options Nov 12, 9:26 pm
Newsgroups: comp.lang.lisp
From: John Thingstad <jpth...@online.no>
Date: Thu, 12 Nov 2009 04:26:05 -0600
Local: Thurs, Nov 12 2009 9:26 pm
Subject: Re: simulating local lexical variables with symbol macros
The Thu, 12 Nov 2009 07:09:54 +0530, Madhu 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

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.

--
John Thingstad


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ron Garret  
View profile  
 More options Nov 13, 12:01 am
Newsgroups: comp.lang.lisp
From: Ron Garret <rNOSPA...@flownet.com>
Date: Thu, 12 Nov 2009 05:01:25 -0800
Local: Fri, Nov 13 2009 12:01 am
Subject: Re: simulating local lexical variables with symbol macros
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.

rg


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 12, 11:55 pm
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Thu, 12 Nov 2009 18:25:41 +0530
Local: Thurs, Nov 12 2009 11:55 pm
Subject: Re: simulating local lexical variables with symbol macros
* 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

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 13, 12:10 am
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Thu, 12 Nov 2009 18:40:03 +0530
Local: Fri, Nov 13 2009 12:10 am
Subject: Re: simulating local lexical variables with symbol macros
[slightly corrected supersede]

* 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

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tamas K Papp  
View profile  
 More options Nov 13, 1:12 am
Newsgroups: comp.lang.lisp
From: Tamas K Papp <tkp...@gmail.com>
Date: 12 Nov 2009 14:12:00 GMT
Subject: Re: simulating local lexical variables with symbol macros

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.

Tamas


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 13, 12:57 am
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Thu, 12 Nov 2009 19:27:17 +0530
Local: Fri, Nov 13 2009 12:57 am
Subject: Re: simulating local lexical variables with symbol macros

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.

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ron Garret  
View profile  
 More options Nov 13, 8:47 am
Newsgroups: comp.lang.lisp
From: Ron Garret <rNOSPA...@flownet.com>
Date: Thu, 12 Nov 2009 13:47:10 -0800
Local: Fri, Nov 13 2009 8:47 am
Subject: Re: simulating local lexical variables with symbol macros
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.

rg


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 13, 8:47 am
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Fri, 13 Nov 2009 03:17:26 +0530
Local: Fri, Nov 13 2009 8:47 am
Subject: Re: simulating local lexical variables with symbol macros

* 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.

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 13, 8:56 am
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Fri, 13 Nov 2009 03:26:01 +0530
Local: Fri, Nov 13 2009 8:56 am
Subject: Re: simulating local lexical variables with symbol macros
* 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,

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 13, 9:09 am
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Fri, 13 Nov 2009 03:39:09 +0530
Local: Fri, Nov 13 2009 9:09 am
Subject: Re: simulating local lexical variables with symbol macros
* 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,

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ron Garret  
View profile  
 More options Nov 13, 12:06 pm
Newsgroups: comp.lang.lisp
From: Ron Garret <rNOSPA...@flownet.com>
Date: Thu, 12 Nov 2009 17:06:08 -0800
Local: Fri, Nov 13 2009 12:06 pm
Subject: Re: simulating local lexical variables with symbol macros
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!"

Bah.

rg


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ron Garret  
View profile  
 More options Nov 13, 12:09 pm
Newsgroups: comp.lang.lisp
From: Ron Garret <rNOSPA...@flownet.com>
Date: Thu, 12 Nov 2009 17:09:34 -0800
Local: Fri, Nov 13 2009 12:09 pm
Subject: Re: simulating local lexical variables with symbol macros
In article <m3zl6r5ray....@moon.robolove.meer.net>,

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.

rg


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 13, 12:20 pm
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Fri, 13 Nov 2009 06:50:34 +0530
Local: Fri, Nov 13 2009 12:20 pm
Subject: Re: simulating local lexical variables with symbol macros

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.

But that is your winning tactic.

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Madhu  
View profile  
 More options Nov 13, 12:22 pm
Newsgroups: comp.lang.lisp
From: Madhu <enom...@meer.net>
Date: Fri, 13 Nov 2009 06:52:41 +0530
Local: Fri, Nov 13 2009 12:22 pm
Subject: Re: simulating local lexical variables with symbol macros
* 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.

People like Papp will always get misled of course

--
Madhu


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
mdj  
View profile  
 More options Nov 13, 4:02 pm
Newsgroups: comp.lang.lisp
From: mdj <mdj....@gmail.com>
Date: Thu, 12 Nov 2009 21:02:36 -0800 (PST)
Local: Fri, Nov 13 2009 4:02 pm
Subject: Re: simulating local lexical variables with symbol macros
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.

Matt


    Reply    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 158   Newer >
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google