[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | Languages |
Notice: | Speaking In Tongues |
Moderator: | TLE::TOKLAS::FELDMAN |
|
Created: | Sat Jan 25 1986 |
Last Modified: | Thu May 22 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 394 |
Total number of notes: | 2683 |
177.0. "Richard Waters on Programming w/o Loops at DLB5" by DENTON::AMARTIN (Alan H. Martin) Tue Apr 12 1988 15:11
From: ISTG::TSS "IST AI TSS * DLB5-1/E04 * DTN: 291-8252 11-Apr-1988 1412" 11-APR-1988 20:55:39.71
To: TSS Distribution
CC:
Subj: SEMINAR ANNOUNCEMENT, 5/10, Dr. Waters
TITLE: "Efficient Programming Without Loops"
SPEAKER: DR. RICHARD C. WATERS
Principal Research Scientist
AI Laboratory
Massachusetts Insititue of Technology
DATE: Tuesday, May 10, 1988
TIME: 9:30-11:00 AM
PLACE: DLB5 Cafeteria
HOST: Jeffrey Piazza
Principal Software Engineer
AI Technology Group
It has been known for a long time that programs expressed as
functional expressions on aggregate data structures are much
easier to write and maintain than equivalent programs expressed
as loops. For example,
(sum (sqrt (positive-elements V)))
is a great deal easier to deal with than
(let ((sum 0))
(dotimes (i (length V) sum)
(if (> (aref V i) 0)
(setq sum (+ sum (sqrt (aref V i))))))).
Unfortunately, as typically implemented, functional expressions
on aggregate structures are from 2 to 10 times less efficient
than loops. An approach has been developed which solves this
problem by automatically converting functional expressions on
aggregate into loops. Using this approach, essentially every
loop in most programs can be eliminated without any loss of
efficiency.
The approach could be used in conjunction with any programming
language. A macro package has been implemented that adds support
for the approach to Common LISP. And a PASCAL implementation is
under development.
R.C. Waters, 'Obviously Synchronizable Series Expressions:
Part I: A User's Manual for the OSS Macro Package,' MIT/AIM-
958a, 3/88.
R. C. Waters, 'Obviously Synchronizable Series Expressions:
Part II: Overview of the Theory and Implementation,' MIT/AIM-
959a, 3/88.
"Efficient Programming Without Loops" Seminar
Dr. Richard C. Waters
Tuesday, May 10, 1988, 9:30 AM, DLB5 Cafeteria
Dr. Waters received the B.S. magna cum laude in applied math
(computer science) from Brown University in 1972, the M.S.
in computer science from Harvard University in 1973, and the
Ph.D. in computer science with a minor in linguistics from
MIT in 1978. Since then he has worked in the AI Lab at MIT,
where he is currently a principal research scientist. In
addition to the Programmer's Apprentice project, his interests
include programming languages and engineering problem solving.
============================================================
NOTE: As a courtesy to the speaker and the people attending
the seminar, please refrain from using the vending
area during the seminar. Thank you.
============================================================
T.R | Title | User | Personal Name | Date | Lines |
---|
177.1 | | AITG::VANROGGEN | | Thu Apr 14 1988 01:42 | 7 |
| There are a number of iteration constructs being considered for
inclusion in the ANSI X3J13 (Common Lisp) standard; OSS is one
of them. One of the benefits of the OSS approach is that
certain kinds of parallelism are easily achievable.
The code is available in AITG::LISP$TOOLS:OSS*.* for use on
VAX LISP V2.2.
|
177.2 | exi | MIST::BINGHAM | John Bingham | Sat May 28 1988 01:28 | 6 |
| The idea of using expressions that have power to avoid loops for
repeated operations on data sets in whole or selected part has been
in APL for years. Is this LISP dependent or bringing ideas from
another language into LISP?
John
|
177.3 | | TLE::NELSON | | Wed Jun 01 1988 13:36 | 11 |
| He described the technique he has used as applicable to any language,
and as being more general than what is available in APL. He also
has done an implementation in Pascal, and is interested in talking
to some of the "traditional" language groups here if they are
interested. He mentioned as a possible application providing a
syntax that could be used for vectorizing or making other use of
parallel processors when they are available, and that could be
implemented by the means he described in his talk for serial machines
in an "optimal" manner.
Beryl
|