Path: utzoo!attcan!uunet!mcvax!ukc!etive!aiva!jeff
From: jeff@aiva.ed.ac.uk (Jeff Dalton)
Newsgroups: comp.lang.lisp
Subject: Re: What's the value of lexical scoping?
Keywords: Scope, Binding, Locals, Break, Future of LISP
Message-ID: <479@aiva.ed.ac.uk>
Date: 4 Jul 88 19:26:59 GMT
References: <24508@ucbvax.BERKELEY.EDU> <515@dcl-csvax.comp.lancs.ac.uk> <452@aiva.ed.ac.uk> <519@dcl-csvax.comp.lancs.ac.uk>
Reply-To: jeff@uk.ac.ed.aiva (Jeff Dalton)
Organization: Dept. of AI, Univ. of Edinburgh, UK
Lines: 24

In article <519@dcl-csvax.comp.lancs.ac.uk> simon@comp.lancs.ac.uk (Simon Brooke) writes:
>The key point I want to make is one which Patrick made admirably:

]	...dynamic binding... makes some forms of abatraction easier to 
]	handle (this is important for programming in the large).

>Precisely so. And it is precisely for it's ability to handle abstraction
>that we choose LISP as a language. If we reduce its power to do so, we
>reduce it's value to 'just another programming language[...]

The key point is that dynamic binding makes *some* forms of abstraction
easier to handle.  Lexical scoping also has this property, though for
different abstractions.  If you are going to have only one or the other,
the question is which abstraction forms are more important.  A change
from dynamic scoping to lexical is not necessarily a reduction in
power (particularly since dyamic scoping is usually implemented
without a way to get closures over the dynamic environment).

The designers of Common Lisp decided to avoid both reductions in
power by providing both forms of scoping.

Jeff Dalton,                      JANET: J.Dalton@uk.ac.ed             
AI Applications Institute,        ARPA:  J.Dalton%uk.ac.ed@nss.cs.ucl.ac.uk
Edinburgh University.             UUCP:  ...!ukc!ed.ac.uk!J.Dalton