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 Implementation Favoritism, a question of Lisp mindsets
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
 
Mark Conrad  
View profile  
 More options May 4 2003, 7:16 am
Newsgroups: comp.lang.lisp
From: Mark Conrad <nos...@iam.invalid>
Date: Sun, 04 May 2003 11:14:27 GMT
Local: Sun, May 4 2003 7:14 am
Subject: Re: Implementation Favoritism, a question of Lisp mindsets
In article <m38ytngvl4....@javamonkey.com>, Peter Seibel

<pe...@javamonkey.com> wrote:
> I think I need to recant, or at least rethink, this
> explanation. Because the way I wanted to understand "binding", "bind",
> "bound", and "unbound" doesn't fit with the definiton of BOUNDP and
> MAKUNBOUND and the observed behavior of two implementations.

                 - - - and - - -

> I'm fairly sure I understand the *behavior* of DEFVAR, LET,
> PROGV, BOUNDP, MAKUNBOUND, etc. I'm just confused about how to
> correctly use the terminology of the spec to describe that behavior.

Same here, I also am fairly certain that I understand the actual
*behavior* of those CL terms.  I can look at a code segment containg
those terms and anticipate how it will act once it is executed.

It is just that I have been away from CL for many years now, so I don't
yet feel 'comfortable' with the terminology that I am re-learning.

So, to be better Lisp users, we all try to understand the terms used to
describe how things work in Lisp.

Take the term "binding" for example.  The CL HyperSpec glossary
describes that word as a noun. (a person, a place, or a thing)

Well we can pretty well rule out 'binding' as being a person<g>

It is tempting to think of a binding as a thing. (a value, for example)
These "values" can change during the course of running the Lisp
program.

A binding could also be thought of as a place, a particular place in a
RAM memory chip, or if virtual memory is being used perhaps a
particular place on a hard disk platter.  These "places" where the
binding "is at" can change during the course of running the Lisp
program.

As to whether a binding is a place or a value stored in that place or
the combination of a place-and-a-value - - - all that does not seem to
be nailed down in the description of "binding". (in the HyperSpec)

Does that hurt us?  Maybe.  We might come to differing conclusions
about how a segment of code will work, depending on what we expected a
"binding" in that code to do.

Can we avoid that predictament?  Mostly we can, by experimenting with
"bindings" and becoming aware of how they act in many differing
situations.

We can each ask ourselves, how certain are we that our particular idea
about "binding" is correct.

We can discuss this until we are blue in the face, but I don't think we
will wind up agreeing about what a binding is, exactly.

I am content to let the subject drop, but will listen intently to
others as they discuss this subject amonst themselves.

Thanks to all, you have cleared the air quite a bit regarding
"bindings", and no doubt many lurkers have benefited also.

Mark-


 
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.