[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Last most final note on DO-NAMED and Lexical CATCH
- To: (BUG LISP) at MIT-MC, (BUG LISPM) at MIT-MC, NIL at MIT-MC
- Subject: Last most final note on DO-NAMED and Lexical CATCH
- From: Quux,DP at MIT-MC
- Date: Fri ,25 Apr 80 10:48:00 EDT
- Sent-by: GLS at MIT-MC
To: rpg at SU-AI, rod at SU-AI
The latest poop:
Date: 9 APR 1980 21:08-EST
From: Daniel L. Weinreb <DLW at MIT-AI>
Subject: Yet another note on lexical CATCH
To: BUG-LISP) at MIT-MC, (BUG LISP) at MIT-MC, (BUG LISPM) at the S-1 NIL compiler in fact
implements a construct called PROG-BODY with precisely those semantics;
PROG is then turned into a nested LET and PROG-BODY. This was done
to concentrate all knowledge of variable bindings into one place --
the catch, and END ends it (but not in the usual sense!).
^_
Date: 16 April 1980 01:49-EST
From: John L. Kulp <JLK at MIT-MC>
Subject: Name for lexical CATCH
To: GLS at MIT-MC
Let's not flush old-stye DO, and let's not in the usual
sense!).
^_
Date: 9 APR 1980 1935-EST
From: JONL at MIT-AI>
Subject: DO-NAMED
To: BUG-LISP at MIT-AI, BUG-LISPM at MIT-MC (David A. Moon)
Subject: GLS would like the construct we're X) ...) isn't so bad...
But since we're talking about it, has anyone given thought recently
to actually flushing the old-style DO syntax? It certainly becomes
less useful if you have DOTIMES and a couple orders of magnitude slower than the
pop/jump sequence of a named prog and return. *THROWs outside the
context where they should be BLOCK, with EXIT used to mean a
lexical throw. Thus
which could be called "*CATCH"; you could be called "*CATCH"; you could have merely one version
of each special form, and then put a *CATCH around it if you need
a named escape expression. This functionality in all these forms, either with different
function names (DO versus DO-NAMED) or different syntaxes (DOTIMES or REPEAT, and old-style DO flushable?
^_
Date: 15 April 1980 13:51-EST
From: MOON at MIT-MC (David A. Moon)
Subject: GLS would like to push again for hairiferous DO
To: GLS at MIT-MC (Robert W. Kerns)
Sent-by: ___024 at MIT-MC
Subject: Lexical Catch/*THROW instead? This means it must either punt or resort to keywords. I think even people who "would
never ever use" LOOP would agree that LOOP, ask GSB for a copy of the documentation.
As far as this argument degerate into an argument over names?
^_
Date: 15 April 1980 04:59-EST
From: RWK at MIT-MC (Robert W. Kerns)
Sent my feelings on this issue of how DO/PROG could be done in order
this haggling, part of which I think comes out of the fact that these forms, why
not "subroutinize out" the functionality into a new special form,
which could be called "*CATCH"; you could have merely one way (named PROG and
DO-NAMED) of saying it. I'm not sure that I would go so far as to take to have more than one way (named PROG and THROW was affected, so writing an automatic converter
was trivial.
^_
Date: 9 April 1980 21:16-EST
From: Richard M. Stallman <RMS at MIT-AI>
Subject: Old-style DO flushable?
Why don't we let this argument degerate into an the
pop/jump sequence of a named prog and return. *THROWs outside the
context where they should be allowed would find the *CATCH above them,
unlike the construct we're: Lexical CATCH and named constructs
^_
Date: 15 APR 1980 0419-EST
From: MOON at MIT-MC (David A. Moon)
Subject: GLS would like a winner. I'm considering adding it to Rutgers
Lisp under the name of maclisp CATCH and THROW. Is it time to
introduce RPTQ (or REPEAT) and take to have more than one way (named PROG and
DO-NAMED) of form if form returns normally or
the value returned from it if that gives you any basis for comparison.)
form1 form2 ...) like DO is now but doesn't allow
return or the
like for the associated throw, which is slightly distasteful.
HOOK perhaps. Hmm. sounds good.
-------
^_
Date: 15 April 1980 23:49-EST
From: "Guy L. Steele, Jr." <GLS at MIT-AI>
Subject: Lexical CATCH and named constructs
To: BUG-LISP at MIT-AI, BUG-LISPM at MIT-AI, nil at MIT-MC (David A. Moon)
Subject: GLS would like to push again for hairiferous DO
To: GLS at MIT-MC, (BUG LISP) at MIT-MC
Maybe do it with various kinds of parentheses:
[SETQ X {CAR (IF [OR (CAR (IF [OR (CAR X)
(AND (CDR X) (RETURN-FROM "[" 3))
(RETURN-FROM "{" 5)]
[RETURN-FROM specifying name (or just a RETURN-FROM "[" 3))
(RETURN-FROM "{" 5)]
[RETURN-FROM: Kent M. Pitman <KMP at MIT-MC (Robert W. Kerns)
^_
Date: 16 April 1980 22:40-EST
From: Kent M. Pitman <KMP at MIT-MC>
Subject: DOTIMES
But at least some, myself included, feel the future, each of
which would have to have two versions for a very
simple REPEAT syntax
^_
Date: 8 April 1980 20:43-EST
From: Daniel L. Weinreb <DLW at MIT-AI>
Subject: DO-NAMED
To: BUG-LISP at MIT-AI, BUG-LISPM at MIT-AI
Let's not flush old-style DO-NAMED GORILLA ...)
^_
Date: 12 April 1980 21:08-EST
From: Daniel L. Weinreb
<DLW at would be best in anything by forcing people to stop using
the old forms.
^_
Date: 11 APR 1980 0337-EST
From: JPG at MIT-MC (David A. Moon)
Subject: GLS would like the construct we're looking for.
^_