Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Is contextual equivalence of a language with quote and eval, like Scheme, trivial or not?

Received: by 10.224.207.66 with SMTP id fx2mr7372508qab.7.1352645556651;
        Sun, 11 Nov 2012 06:52:36 -0800 (PST)
Received: by 10.52.19.201 with SMTP id h9mr3199241vde.0.1352645556627; Sun, 11
 Nov 2012 06:52:36 -0800 (PST)
Path: gf5ni18188417qab.0!nntp.google.com!c7no18980022qap.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: comp.lang.scheme
Date: Sun, 11 Nov 2012 06:52:36 -0800 (PST)
In-Reply-To: <ag9qrpFtodbU1@mid.individual.net>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=70.44.231.3; posting-account=axAvqQoAAADT1AGxSwQmJa832U07xnMn
NNTP-Posting-Host: 70.44.231.3
References: <8540f0d0-74fc-425a-a19e-b0c35a7bd514@googlegroups.com>
 <80f1c10d-da83-45e5-8d97-694fa760d8d2@googlegroups.com> <ag7pucFg84qU1@mid.individual.net>
 <43d0856c-c196-4457-92e2-fa0657a55c4c@googlegroups.com> <ag9qrpFtodbU1@mid.individual.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c13d7e96-c989-4257-9b6a-bd3794239a9e@googlegroups.com>
Subject: Re: Is contextual equivalence of a language with quote and eval, like
     Scheme, trivial or not?
From: John Cowan <johnwco...@gmail.com>
Injection-Date: Sun, 11 Nov 2012 14:52:36 +0000
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Sunday, November 11, 2012 9:26:02 AM UTC-5, Pascal Costanza wrote:

> Dynamic binding is not so problematic as you seem to want to make it=20
> appear. It's easy to add dynamic binding to Scheme as a library, and=20
> will apparently be part of R7RS as well. This doesn't affect the rest of=
=20
> the language in negative ways, neither in Scheme, nor in Common Lisp.

It's not whether bindings are dynamic or static (though it happens that in =
Common Lisp all global bindings are dynamic).  It's that CL EVAL sees certa=
in bindings of the running program and therefore can affect it in unknown w=
ays.  In Scheme this is not true, unless both the program and `eval` are us=
ing the interaction environment.  Otherwise, there is a complete firewall b=
etween a Scheme program and anything `eval` can do: in principle, `eval` co=
uld compile and run a program in a completely separate address space, as lo=
ng as it had a copy of the existing dynamic environment.

R7RS support for dynamic binding involves first-class objects; all variable=
s remain lexically bound.  Note that R7RS parameters, unlike SRFI ones, are=
n't mutable, so it is transparent whether they are shared or copied by thre=
ads or subprocesses.

--=20
Normally I can handle panic attacks on my own;   John Cowan <co...@ccil.org=
>
but panic is, at the moment, a way of life.      http://www.ccil.org/~cowan
                --Joseph Zitt