**1**-
Ada Core Technologies, Inc., 1998.

At http://www.gnat.com/. Home page for the Ada 95 compilation system, GNAT. **2**-
NYU Ada Project.

Ada/Ed interpreter: Executable semantic model for Ada.

Technical report, Courant Institute of Mathematical Sciences, New York University, July 1984.

Self-documenting listing of the NYU Ada/Ed Compiler, Version 1.4, validated 28 June 1984. **3**-
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman.
*Compilers: Principles, Techniques, and Tools*.

Addison-Wesley, 1986. **4**-
D. Aliffi, D. Montanari, and E.G. Omodeo.

Meta-interpreting SETL.

In*SED: A SETL-Based Prototyping Environment [125]*, October 1988. **5**-
F.E. Allen.

Program optimization.

In Mark I. Halpern and Christopher J. Shaw, editors,*Annual Review in Automatic Programming*, volume 5, pages 239-307. Pergamon Press, New York, 1969. **6**-
Frances E. Allen.

Control flow analysis.*ACM SIGPLAN Notices*, 5(7):1-19, July 1970. **7**-
Frances E. Allen.

A basis for program optimization.

In*Proc. IFIP Congress 71*, pages 385-390. North-Holland, 1972. **8**-
Frances E. Allen.

Interprocedural data flow analysis.

In*Proc. IFIP Congress 74*, pages 398-402. North-Holland, 1974. **9**-
Frances E. Allen.

A method for determining program data relationships.

In Andrei Ershov and Valery A. Nepomniaschy, editors,*Proc. International Symposium on Theoretical Programming, Novosibirsk, USSR, August 1972*, volume 5 of*Lecture Notes in Computer Science*, pages 299-308. Springer-Verlag, 1974. **10**-
Frances E. Allen and John Cocke.

A catalogue of optimizing transformations.

In R. Rustin, editor,*Design and Optimization of Compilers*, pages 1-30. Prentice-Hall, 1971. **11**-
Frances E. Allen and John Cocke.

Graph theoretic constructs for program control flow analysis.

Technical Report IBM Res. Rep. RC 3923, IBM T.J. Watson Research Center, Yorktown Heights, NY, 1972. **12**-
Frances E. Allen and John Cocke.

A program data flow analysis procedure.*Communications of the ACM*, 19(3):137-147, March 1976. **13**-
David Bacon.

Dave's famous original SETL server, 1994.

At http://birch.eecs.lehigh.edu/ bacon/setl-server.html. Allows security-restricted SETL programs to be edited or fetched and then run on a server host, from within a browser environment. **14**-
David Bacon.

Dewar Online!, 1994.

At http://birch.eecs.lehigh.edu/cgi-bin/html?dewar-online.html. A whimsical interface to the`comp.lang.ada`newsgroup. **15**-
David Bacon.

The SETL home page, 1994.

At http://birch.eecs.lehigh.edu/ bacon/. My home page has long claimed to be the home of SETL, and touted SETL as the ``world's most wonderful programming language''. **16**-
David Bacon.

LabEye, 1997.

At http://birch.eecs.lehigh.edu:6565/. View of an oscilloscope and a pair of bicolored LEDs that can be controlled through a browser. **17**-
David Bacon.

LogEye, 1997.

At http://birch.eecs.lehigh.edu:8009/imp. Log-map image of the view through a videocamera mounted on a spherical pointing motor [26,25]. **18**-
David Bacon.

MUReye--a movable, zoomable web camera, 1999.

At http://128.180.98.223/cgi-bin/MUReye/. An instantiation of WEBeye (see Chapter 4 [WEBeye: A Case Study] of this dissertation). **19**-
David Bacon.

SETL library documentation, 1999.

At http://birch.eecs.lehigh.edu/ bacon/setl-doc.html. **20**-
David Bacon.

Slim, 1999.

At http://birch.eecs.lehigh.edu/slim/. Starting point for my adaptation of the documentation and distribution files comprising Herman Venter's Slim [204] language system, which he no longer maintains. **21**-
Bernard Banner.

Private communication, 1999. **22**-
Nancy Baxter, Ed Dubinsky, and Gary Levin.
*Learning Discrete Mathematics with ISETL*.

Springer-Verlag, 1989. **23**-
Nancy Hood Baxter.

Understanding how students acquire concepts underlying sets.

In James J. Kaput and Ed Dubinsky, editors,*Research Issues in Undergraduate Mathematics Learning*, number 33 in MAA Notes, pages 99-106. The Mathematical Association of America, Washington, DC, 1994. **24**-
David M. Beazley.

SWIG (simplified wrapper and interface generator), 1999.

At http://www.swig.org/. **25**-
B.B. Bederson, R.S. Wallace, and E.L. Schwartz.

A miniature pan-tilt actuator: The spherical pointing motor.*IEEE Journal of Robotics and Automation*, 10(3):298-308, June 1994.

Also published by the Courant Institute of Mathematical Sciences at New York University as Computer Science Technical Report No. 601-R264, April 1992. **26**-
Benjamin B. Bederson, Richard S. Wallace, and Eric L. Schwartz.

Spherical pointing motor.

United States Patent No. 5,204,573, April 1993. **27**-
V.H. Bistiolas, C.T. Davarakis, and A. Tsakalidis.

Using SETL language for cartography applications based on computational geometry algorithms.

In*SED: A SETL-Based Prototyping Environment [125]*, 1989. **28**-
Bard Bloom and Robert Paige.

Transformational design and implementation of a new efficient solution to the ready simulation problem.*Science of Computer Programming*, 24(3):189-220, 1995. **29**-
C. Bouzas, J. Gazofalakis, P. Spizakis, V. Tampakas, and V. Tziantafillou.

SETLMON: The SETL monitor and performance evaluator.

In*SED: A SETL-Based Prototyping Environment [125]*, 1989. **30**-
J. Cai, Ph. Facon, F. Henglein, R. Paige, and E. Schonberg.

Type analysis and data structure selection.

In B. Moeller, editor,*Constructing Programs from Specifications*, pages 126-164. North-Holland, 1991. **31**-
J. Cai, R. Paige, and R. Tarjan.

More efficient bottom-up multi-pattern matching in trees.*Theoretical Computer Science*, 106(1):21-60, November 1992. **32**-
Jiazhen Cai and Robert Paige.

Program derivation by fixed point computation.*Science of Computer Programming*, 11(3):197-261, 1988/89. **33**-
Jiazhen Cai and Robert Paige.

Towards increased productivity of algorithm implementation.

In David Notkin, editor,*Proc. First ACM SIGSOFT Symposium on the Foundations of Software Engineering (SIGSOFT '93)*, volume 18, number 5 of*Software Engineering Notes*, pages 71-78. Association for Computing Machinery Special Interest Group on Software Engineering, December 1993. **34**-
Jiazhen Cai and Robert Paige.

Using multiset discrimination to solve language processing problems without hashing.*Theoretical Computer Science*, 145(1-2):189-228, July 1995. **35**-
Canon USA, Inc.

VC-C3 communication camera, 1998.

At http://www.usa.canon.com/corpoffice/viscommeq/vcc3.html. **36**-
Domenico Cantone and Alfredo Ferro.

Techniques of computable set theory with applications to proof verification.*Communications on Pure and Applied Mathematics*, 48(9-10):901-945, September 1995. **37**-
Domenico Cantone, Alfredo Ferro, and Eugenio Omodeo.
*Computable Set Theory*.

Clarendon Press, Oxford, 1989. **38**-
Chia-Hsiang Chang and Robert Paige.

From regular expressions to DFA's using compressed NFA's.*Theoretical Computer Science*, 178(1-2):1-36, May 1997. **39**-
Nigel Paul Chapman.
*Theory and Practice in the Construction of Efficient Interpreters*.

PhD thesis, University of Leeds, 1980. **40**-
W.F. Clocksin and C.S. Mellish.
*Programming in Prolog*.

Springer-Verlag, fourth edition, 1997. **41**-
John Cocke.

Global common subexpression elimination.*ACM SIGPLAN Notices*, 5(7):20-24, July 1970. **42**-
John Cocke and Ken Kennedy.

An algorithm for reduction of operator strength.*Communications of the ACM*, 20(11):850-856, November 1977. **43**-
John Cocke and Raymond E. Miller.

Some analysis techniques for optimizing computer programs.

In*Proc. 2nd Hawaii International Conference on System Sciences*, pages 143-146, Honolulu, HI, January 1969. **44**-
John Cocke and Jacob T. Schwartz.
*Programming Languages and their Compilers*.

Courant Institute of Mathematical Sciences, New York University, April 1970. **45**-
Daniel E. Cooke.

An introduction to SequenceL: A language to experiment with constructs for processing nonscalars.*Software Practice and Experience*, 26(11):1205-1246, November 1996. **46**-
Daniel E. Cooke.

SequenceL provides a different way to view programming.*Computer Languages*, 24(1):1-32, 1998. **47**-
Patrick Cousot and Radhia Cousot.

Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints.

In*Proc. 4th ACM Symposium on Principles of Programming Languages*, pages 238-252, January 1977. **48**-
Patrick Cousot and Radhia Cousot.

Constructive versions of Tarski's fixed point theorems.*Pacific Journal of Mathematics*, 82(1):43-57, 1979. **49**-
Mike Cowlishaw.

The Rexx language, 1999.

At http://www2.hursley.ibm.com/Rexx/. **50**-
M. Davis and J. Schwartz.

Metamathematical extensibility for theorem verifiers and proof checkers.*Comp. Math. Appl.*, 5:217-230, 1979. **51**-
Thierry Despeyroux.

Executable specification of static semantics.

In G. Kahn, D.B. MacQueen, and G. Plotkin, editors,*Semantics of Data Types: Proc. International Symposium, Sophia-Antipolis, France, June 1984*, volume 173 of*Lecture Notes in Computer Science*, pages 215-233. Springer-Verlag, 1984. **52**-
Thierry Despeyroux.

TYPOL: A formalism to implement natural semantics.

Technical Report 94, INRIA, 1988. **53**-
R.B.K. Dewar.
*The SETL Programming Language*.

Courant Institute of Mathematical Sciences, New York University, 1979.

Also at http://birch.eecs.lehigh.edu/ bacon/setlprog.ps.gz. **54**-
R.B.K. Dewar and A.P. McCann.

MACRO SPITBOL--a SNOBOL4 compiler.*Software Practice and Experience*, 7:95-113, 1977. **55**-
Robert B.K. Dewar.

Indirect threaded code.*Communications of the ACM*, 18(6):330-331, June 1975. **56**-
Robert B.K. Dewar, Arthur Grand, Ssu-Cheng Liu, Jacob T. Schwartz, and Edmond
Schonberg.

Programming by refinement, as exemplified by the SETL representation sublanguage.*ACM Transactions on Programming Languages and Systems*, 1(1):27-49, July 1979. **57**-
Edsger W. Dijkstra.

Notes on structured programming.

In*Structured Programming*, pages 1-82. Academic Press, 1972. **58**-
E.W. Dijkstra.
*A Discipline of Programming*.

Prentice-Hall, Englewood Cliffs, NJ, 1976. **59**-
E.-E. Doberkat, E. Dubinsky, and J.T. Schwartz.

Reusability of design for complex programs: An experiment with the SETL optimizer.

In*Proc. ITT Workshop on Reusability of Software*, pages 106-108, Providence, RI, 1983. ITT. **60**-
E.-E. Doberkat and U. Gutenbeil.

Prototyping and reusing software.

In L. Dusink and P. Hall, editors,*Software Re-Use, Utrecht 1989*, pages 77-86. Springer-Verlag, 1991. **61**-
E.-E. Doberkat, U. Gutenbeil, and W. Hasselbring.

SETL/E--a prototyping system based on sets.

In W. Zorn, editor,*Proc. TOOL90*, pages 109-118. University of Karlsruhe, November 1990. **62**-
E.-E. Doberkat, W. Hasselbring, and C. Pahl.

Investigating strategies for cooperative planning of independent agents through prototype evaluation.

In Paolo Ciancarini and Chris Hankin, editors,*Coordination Languages and Models: Proc. First International Conference, COORDINATION '96, Cesena, Italy, April 1996*, volume 1061 of*Lecture Notes in Computer Science*, pages 416-419. Springer-Verlag, 1996.

A longer version was published as University of Dortmund Software-Technik Memo Nr. 86, December 1995, available at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Doberkat-Hasselbring-Pahl-Memo-86.ps.gz. **63**-
E.-E. Doberkat and Kio C. Hyun.

Inline expansion of SETL procedures.*ACM SIGPLAN Notices*, 20(12):77-87, 1985. **64**-
E.-E. Doberkat and H.-G. Sobottka.

A set-oriented program description language for Ada.

In R. Prieto-Diaz, W. Schäfer, J. Cramer, and S. Wolf, editors,*Proc. First International Workshop on Software Reusability*, pages 193-196, July 1991. **65**-
Ernst E. Doberkat.

Efficient translation of SETL programs.

In*Proc. 18th Hawaii International Conference on System Sciences*, volume II, pages 457-465, January 1985. **66**-
Ernst-Erich Doberkat.

A proposal for integrating persistence into the prototyping language SETL/E.

Technischer Bericht (technical report) 02-90, University of Essen Computer Science / Software Engineering, April 1990. **67**-
Ernst-Erich Doberkat.

Integrating persistence into a set-oriented prototyping language.*Structured Programming*, 13(3):137-153, 1992. **68**-
Ernst-Erich Doberkat and Dietmar Fox.
*Software-Prototyping mit SETL*.

Teubner-Verlag, Stuttgart, 1989. **69**-
Ernst-Erich Doberkat, Dietmar Fox, and Ulrich Gutenbeil.

Translating SETL into Ada, and creating libraries of data structures.

In*SED: A SETL-Based Prototyping Environment [125]*, 1989. **70**-
Ernst-Erich Doberkat, Wolfgang Franke, Ulrich Gutenbeil, Wilhelm Hasselbring,
Ulrich Lammers, and Claus Pahl.

ProSet--prototyping with sets: Language definition.

Technischer Bericht (technical report) 02-92, University of Essen Computer Science / Software Engineering, April 1992.

Also at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Essener-Berichte/02-92.ps.gz. **71**-
Ernst-Erich Doberkat, Wolfgang Franke, Ulrich Gutenbeil, Wilhelm Hasselbring,
Ulrich Lammers, and Claus Pahl.

ProSet--a language for prototyping with sets.

In Nick Kanopoulos, editor,*Proc. 3rd International Workshop on Rapid System Prototyping*, pages 235-248. IEEE Computer Society Press, Research Triangle Park, NC, June 1992. **72**-
Ernst-Erich Doberkat and Ulrich Gutenbeil.

SETL to Ada--tree transformations applied.*Information and Software Technology*, 29(10):548-557, December 1987. **73**-
V. Donzeau-Gouge, C. Dubois, P. Facon, and F. Jean.

Development of a programming environment for SETL.

In H.K. Nichols and D. Simpson, editors,*ESEC '87: Proc. 1st European Software Engineering Conference, Strasbourg, France, September 1987*, volume 289 of*Lecture Notes in Computer Science*, pages 21-32. Springer-Verlag, 1987. **74**-
V. Donzeau-Gouge, G. Huet, G. Kahn, and B. Lang.

Programming environments based on structured editors: The MENTOR experience.

In D.R. Barstow, H.E. Shrobe, and E. Sandewall, editors,*Interactive Programming Environments*, pages 128-140. McGraw-Hill, 1984. **75**-
J.R. Driscoll, N. Sarnak, D.D. Sleator, and R.E. Tarjan.

Making data structures persistent.*Journal of Computer and System Sciences*, 38:86-124, 1989. **76**-
E. Dubinsky.

ISETL: A programming language for learning mathematics.*Communications on Pure and Applied Mathematics*, 48(9-10):1027-1051, September 1995.

Presented at NYU on the occasion of Jack Schwartz's 65th birthday. **77**-
Ed Dubinsky, Stefan Freudenberger, Edith Schonberg, and J.T. Schwartz.

Reusability of design for large software systems: An experiment with the SETL optimizer.

In Ted J. Biggerstaff and Alan J. Perlis, editors,*Software Reusability, Volume I: Concepts and Models*, pages 275-293. ACM Press, New York, 1989. **78**-
Ed Dubinsky and Guershon Harel.

The nature of the process conception of function.

In Harel and Dubinsky [100], pages 85-106. **79**-
Ed Dubinsky and Uri Leron.
*Learning Abstract Algebra with ISETL*.

Springer-Verlag, 1994. **80**-
J. Earley.

High level iterators and a method of data structure choice.*Computer Languages*, 1(4):321-342, 1975. **81**-
William E. Fenton and Ed Dubinsky.
*Introduction to Discrete Mathematics with ISETL*.

Springer-Verlag, 1996. **82**-
Amelia C. Fong.

Generalized common subexpressions in very high level languages.

In*Proc. 4th ACM Symposium on Principles of Programming Languages*, pages 48-57, January 1977. **83**-
Amelia C. Fong.

Inductively computable constructs in very high level languages.

In*Proc. 6th ACM Symposium on Principles of Programming Languages*, pages 21-28, January 1979. **84**-
Amelia C. Fong, John B. Kam, and Jeffrey D. Ullman.

Application of lattice algebra to loop optimization.

In*Proc. 2nd ACM Symposium on Principles of Programming Languages*, pages 1-9, January 1975. **85**-
Amelia C. Fong and Jeffrey D. Ullman.

Induction variables in very high level languages.

In*Proc. 3rd ACM Symposium on Principles of Programming Languages*, pages 104-112, January 1976. **86**-
Amelia C. Fong and Jeffrey D. Ullman.

Finding the depth of a flow graph.*Comput. Syst. Sci.*, 15:300-309, 1977. **87**-
Free Software Foundation.

GNU's not Unix!--the GNU project and the Free Software Foundation (FSF), 1999.

At http://www.gnu.org/. **88**-
Stefan M. Freudenberger, Jacob T. Schwartz, and Micha Sharir.

Experience with the SETL optimizer.*ACM Transactions on Programming Languages and Systems*, 5(1):26-45, January 1983. **89**-
Matthew Fuchs.

Escaping the event loop: An alternative control structure for multi-threaded GUIs.

In C. Unger and L.J. Bass, editors,*Engineering for HCI*. Chapman & Hall, 1996.

From*Engineering the Human Computer Interface*(EHCI '95), and available via http://www.cs.nyu.edu/phd_students/fuchs/. **90**-
David Gelernter.

Generative communication in Linda.*ACM Transactions on Programming Languages and Systems*, 7(1):80-112, January 1985. **91**-
Deepak Goyal.

An improved intra-procedural may-alias analysis algorithm.

Technical Report 777, Courant Institute of Mathematical Sciences, New York University, February 1999.

Also at http://cs1.cs.nyu.edu/phd_students/deepak/publications/improvement.ps. **92**-
Deepak Goyal.
*A Language Theoretic Approach To Algorithms*.

PhD thesis, New York University, January 2000. **93**-
Deepak Goyal and Robert Paige.

The formal reconstruction and improvement of the linear time fragment of Willard's relational calculus subset.

In R. Bird and L. Meertens, editors,*IFIP TC2 Working Conference 1997*, Algorithmic Languages and Calculi, pages 382-414. Chapman and Hall, 1997. **94**-
Deepak Goyal and Robert Paige.

A new solution to the hidden copy problem.

In Giorgio Levi, editor,*Static Analysis: Proc. 5th International Symposium, SAS '98, Pisa, Italy, September 1998*, volume 1503 of*Lecture Notes in Computer Science*, pages 327-348. Springer-Verlag, 1998. **95**-
NYU Griffin Project.

The Griffin programming language, 1996.

At ftp://cs.nyu.edu/pub/griffin/. **96**-
Ralph E. Griswold and Madge T. Griswold.
*The Implementation of the Icon Programming Language*.

Princeton University Press, 1986. **97**-
Ralph E. Griswold and Madge T. Griswold.
*The Icon Programming Language*.

Peer-to-Peer Communications, third edition, 1996. **98**-
Ralph E. Griswold, Clinton L. Jeffery, and Gregg M. Townsend.
*Graphics Programming in Icon*.

Peer-to-Peer Communications, 1998. **99**-
R.E. Griswold, J.F. Poage, and I.P. Polonsky.
*The SNOBOL4 Programming Language*.

Prentice-Hall, Englewood Cliffs, NJ, second edition, 1971. **100**-
Guershon Harel and Ed Dubinsky, editors.
*The Concept of Function: Aspects of Epistemology and Pedagogy*.

Number 25 in MAA Notes. The Mathematical Association of America, Washington, DC, 1992. **101**-
M.C. Harrison.

BALM-SETL: A simple implementation of SETL., No. 1, November 1970.*SETL Newsletters*[186] **102**-
W. Hasselbring.

On integrating generative communication into the prototyping language ProSet.

Technischer Bericht (technical report) 05-91, University of Essen Computer Science / Software Engineering, December 1991.

Also at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Essener-Berichte/05-91.ps.gz. **103**-
W. Hasselbring.

Translating a subset of SETL/E into SETL2.

Technischer Bericht (technical report) 02-91, University of Essen Computer Science / Software Engineering, January 1991. **104**-
W. Hasselbring.

A formal Z specification of ProSet-Linda.

Technischer Bericht (technical report) 04-92, University of Essen Computer Science / Software Engineering, September 1992.

Also at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Essener-Berichte/04-92.ps.gz. **105**-
W. Hasselbring.

Animation of Object-Z specifications with a set-oriented prototyping language.

In J.P. Bowen and J.A. Hall, editors,*Z User Workshop: Proc. 8th Z User Meeting, Cambridge, UK*, Workshops in Computing, pages 337-356. Springer-Verlag, June 1994.

Also published as University of Dortmund Software Technology UniDO Forschungsbericht (research report) 523/1994, available at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Hasselbring-UniDo-523-1994.ps.gz. **106**-
W. Hasselbring and R.B. Fisher.

Investigating parallel interpretation-tree model matching algorithms with ProSet-Linda.

Software-Technik Memo 77, University of Dortmund, December 1994.

Also at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Hasselbring-Fisher_SWT-Memo-77.ps.gz. **107**-
W. Hasselbring and R.B. Fisher.

Using the ProSet-Linda prototyping language for investigating MIMD algorithms for model matching in 3-D computer vision.

In Afonso Ferreira and José Rolim, editors,*Parallel Algorithms for Irregularly Structured Problems: Proc. Second International Workshop, IRREGULAR '95, Lyon, France, September 1995*, volume 980 of*Lecture Notes in Computer Science*, pages 301-315. Springer-Verlag, 1995.

Also published as University of Dortmund Software Technology UniDO Forschungsbericht (research report) 579/1995, available at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Hasselbring-Fisher-Irregular95.ps.gz. **108**-
W. Hasselbring, P. Jodeleit, and M. Kirsch.

Implementing parallel algorithms based on prototype evaluation and transformation.

Software-Technik Memo 93, University of Dortmund, January 1997.

Also at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Hasselbring-Jodeleit-Kirsch_SWT-Memo-93.ps.gz. **109**-
Wilhelm Hasselbring.

Prototyping parallel algorithms with ProSet-Linda.

In Jens Volkert, editor,*Parallel Computation: Proc. Second International ACPC Conference, Gmunden, Austria, October 1993*, volume 734 of*Lecture Notes in Computer Science*, pages 135-150. Springer-Verlag, 1993.

Also published as University of Essen Computer Science / Software Engineering Technischer Bericht (technical report) 04-93, 1993, available at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Essener-Berichte/04-93.ps.gz. **110**-
Wilhelm Hasselbring.

Approaches to high-level programming and prototyping of concurrent applications.

Software-Technik Memo 91, University of Dortmund, January 1997.

Also at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Hasselbring_SWT-Memo-91.ps.gz. **111**-
Wilhelm Hasselbring.

The ProSet-Linda approach to prototyping parallel systems.*Journal of Systems and Software*, 43(3):187-196, November 1998.

Also published as University of Dortmund Software Technology UniDO Forschungsbericht (research report) 650/1997, available at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Hasselbring-UniDo-650-1997.ps.gz. **112**-
Wilhelm Hasselbring and Andreas Kröber.

Combining OMT with a prototyping approach.*Journal of Systems and Software*, 43(3):177-185, November 1998.

Also published as University of Dortmund Software Technology UniDO Forschungsbericht (research report) 651/1997, available at ftp://ls10-www.cs.uni-dortmund.de/pub/Technische-Berichte/Hasselbring-Kroeber-UniDo-651-1997.ps.gz. **113**-
C.A.R. Hoare.

An axiomatic basis for computer programming.*Communications of the ACM*, 12(10):576-580, 1969. **114**-
C.A.R. Hoare.

Data reliability.

In*Proc. of the International Conference on Reliable Software*, pages 528-533, 1975.

IEEE Cat. No. 75CH0940-7CSR. **115**-
Jim Hugunin.

JPython home, 1999.

At http://www.jpython.org/. **116**-
IANA.

Internet Assigned Numbers Authority, 1998.

At http://www.iana.org/. **117**-
IEEE.
*IEEE Standard for Information Technology--Portable Operating System Interface (POSIX)--Part 2: Shell and Utilities, Volumes 1-2*.

Institute of Electrical and Electronics Engineers, 1993.

IEEE/ANSI Std 1003.2-1992 & 1003.2a-1992, or ISO/IEC 9945-2. **118**-
IEEE.
*IEEE Standard for Information Technology--Portable Operating System Interface (POSIX)--Part 1: System Application Program Interface (API) [C Language]*.

Institute of Electrical and Electronics Engineers, 1996.

IEEE/ANSI Std 1003.1, or ISO/IEC 9945-1. **119**-
IEEE.
*IEEE Standard for Information Technology--Portable Operating System Interface (POSIX)--Protocol Independent Interfaces (PII)*.

Institute of Electrical and Electronics Engineers, March 1998.

P1003.1g, D6.6 (draft standard). **120**-
K.E. Iverson.
*A Programming Language*.

John Wiley, New York, 1962. **121**-
Eric F. Johnson and Kevin Reichard.
*Advanced X Window Applications Programming*.

M&T Books, New York, second edition, 1994. **122**-
Neil D. Jones, Carsten K. Gomard, and Peter Sestoft.
*Partial Evaluation and Automatic Program Generation*.

Prentice-Hall International (UK), 1993. **123**-
Marc A. Kaplan and Jeffrey D. Ullman.

A general scheme for the automatic inference of variable types.

In*Proc. 5th ACM Symposium on Principles of Programming Languages*, pages 60-75, 1978. **124**-
J. Keller.
*Cantor: A Tutorial and a User's Guide*.

Education Report 94/9. Kepler, Paris, 1994. **125**-
J.P. Keller.

SED: A SETL-based prototyping environment.

Final report of the SED project, ESPRIT, February 1989. **126**-
J.P. Keller and R. Paige.

Program derivation with verified transformations--a case study.*Communications on Pure and Applied Mathematics*, 48(9-10):1053-1113, September 1995. **127**-
Yo Keller.
*An Introduction to Cantor Version 0.41*.

Kepler, Paris, February 1991. **128**-
Richard Kelsey, William Clinger, and editors Jonathan Rees.

Revised(5) report on the algorithmic language Scheme, 1998.

Under http://www-swiss.ai.mit.edu/ jaffer/Scheme.html. **129**-
Kempe Software Capital Enterprises.

Ada and the Web and Java, 1998.

At http://www.adahome.com/Resources/Ada_Java.html. **130**-
Ken Kennedy.

A global flow analysis algorithm.*International Journal of Computer Mathematics*, 3:5-15, December 1971. **131**-
Ken Kennedy.

Node listings applied to data flow analysis.

In*Proc. 2nd ACM Symposium on Principles of Programming Languages*, pages 10-21, January 1975. **132**-
Ken Kennedy.

A comparison of two algorithms for global data flow analysis.*SIAM J. Comput.*, 5(1):158-180, March 1976. **133**-
Brian W. Kernighan and Rob Pike.
*The Practice of Programming*.

Addison-Wesley, 1999. **134**-
Khoral Research Inc.

Khoros, 1999.

At http://www.khoral.com/. **135**-
Philippe Kruchten, Edmond Schonberg, and Jacob Schwartz.

Software prototyping using the SETL programming language.*IEEE Software*, 1(4):66-75, October 1984. **136**-
Doug Lea.
*Concurrent Programming in Java: Design Principles and Patterns*.

Addison-Wesley, 1997. **137**-
C.H. Lindsey and S.G. van der Meulen.
*Informal Introduction to Algol 68*.

North-Holland, 1977. **138**-
Zhiqing Liu.
*Lazy SETL Debugging with Persistent Data Structures*.

PhD thesis, New York University, November 1994. **139**-
Zhiqing Liu.

A persistent runtime system using persistent data structures.

In*ACM Symposium on Applied Computing*, pages 429-436, February 1996. **140**-
Zhiqing Liu.

A system for visualizing and animating program runtime histories.

In*IEEE Symposium on Visual Languages*, pages 46-53. IEEE Computer Society Press, September 1996. **141**-
Zhiqing Liu.

An advanced C++ library for symbolic computing.

Technical Report TR-CIS-0299-11, Purdue University, Indianapolis, IN, February 1999. **142**-
J.W. Lloyd.

Programming in an integrated functional and logic language.*Journal of Functional and Logic Programming*, 1999(3), March 1999.

Under http://cs.tu-berlin.de/journal/jflp/articles/1999/A99-03/A99-03.html. **143**-
James Low and Paul Rovner.

Techniques for the automatic selection of data structures.

In*Proc. 3rd ACM Symposium on Principles of Programming Languages*, pages 58-67, January 1976. **144**-
James R. Low.
*Automatic Coding: Choice of Data Structures*, volume 16 of*Interdisciplinary Systems Research*.

Birkhäuser Verlag, Basel, 1976. **145**-
David Mathews.

ISETL distribution page, 1997.

At http://www.math.purdue.edu/ ccc/distribution.html. **146**-
R. Milner, M. Tofte, and R. Harper.
*The Definition of Standard ML*.

MIT Press, 1990. **147**-
Thomas Minka.

PLE lecture notes--Python, 1997.

At http://vismod.www.media.mit.edu/ tpminka/PLE/python/python.html. **148**-
E. Morel and C. Renvoise.

Global optimization by suppression of partial redundancies.*Communications of the ACM*, 22(2):96-103, February 1979. **149**-
Steven S. Muchnick and Neil D. Jones.
*Program Flow Analysis: Theory and Applications*.

Prentice-Hall, Englewood Cliffs, NJ, 1981. **150**-
Donald L. Muench.

ISETL--interactive set language.*Notices of the American Mathematical Society*, 37(3):276-279, March 1990.

Review of the software package ISETL 2.0. **151**-
Henry Mullish and Max Goldstein.
*A SETLB Primer*.

Courant Institute of Mathematical Sciences, New York University, 1973. **152**-
Netscape Communications Corporation.

Core JavaScript reference, 1999.

At http://developer.netscape.com/docs/manuals/js/core/jsref/index.htm. **153**-
Object Management Group.

CORBA, 1999.

At http://www.omg.org/. **154**-
The Open Group.
*The Single UNIX Specification, Version 2*.

The Open Group, February 1997.

Six-volume set, Document Number T912. Freely searchable on-line at http://www.opengroup.org/publications/catalog/t912.htm. **155**-
O'Reilly & Associates, 1999.

At http://www.perl.com/. Home page for Perl. **156**-
John K. Ousterhout.

Scripting: Higher level programming for the 21st century.*IEEE Computer*, 31(3):23-30, March 1998.

Also at http://www.scriptics.com/people/john.ousterhout/scripting.html. **157**-
R. Paige and J.T. Schwartz.

Expression continuity and the formal differentiation of algorithms.

In*Proc. 4th ACM Symposium on Principles of Programming Languages*, pages 58-71, January 1977. **158**-
Robert Paige.

Programming with invariants.*IEEE Software*, 3(1):56-69, January 1986. **159**-
Robert Paige.

Real-time simulation of a set machine on a RAM.

In R. Janicki and W. Koczkodaj, editors,*Proc. ICCI 89*, volume II of*Computing and Information*, pages 69-73. Canadian Scholars' Press, Toronto, May 1989. **160**-
Robert Paige.

Efficient translation of external input in a dynamically typed language.

In B. Pehrson and I. Simon, editors,*Technology and Foundations: 13th World Computer Congress 94, IFIP Transactions A-51*, volume 1, pages 603-608. North-Holland, September 1994. **161**-
Robert Paige.

Viewing a program transformation system at work.

In Manuel Hermenegildo and Jaan Penjam, editors,*Programming Language Implementation and Logic Programming: Proc. 6th International Symposium, PLILP '94, Madrid, Spain, September 1994*, volume 844 of*Lecture Notes in Computer Science*, pages 5-24. Springer-Verlag, 1994.

PLILP '94 was a joint symposium with the 4th International Conference on Algebraic and Logic Programming, ALP '94. **162**-
Robert Paige.

Future directions in program transformations.*Computing Surveys*, 28A(4), December 1996. **163**-
Robert Paige and Fritz Henglein.

Mechanical translation of set theoretic problem specifications into efficient RAM code--a case study.*Journal of Symbolic Computation*, 4(2):207-232, August 1987. **164**-
Robert Paige and Shaye Koenig.

Finite differencing of computable expressions.*ACM Transactions on Programming Languages and Systems*, 4(3):402-454, July 1982. **165**-
Robert Paige, Robert E. Tarjan, and Robert Bonic.

A linear time solution to the single function coarsest partition problem.*Theoretical Computer Science*, 40(1):67-84, September 1985. **166**-
Robert Paige and Zhe Yang.

High level reading and data structure compilation.

In*Proc. 24th ACM Symposium on Principles of Programming Languages*, pages 456-469, January 1997. **167**-
Parallax, Inc.

BASIC Stamps, 1997.

At http://www.parallaxinc.com/. **168**-
Toto Paxia.

A string matching native package for the SETL2 language, March 1999.

Available through electronic mail upon request to paxia@cs.nyu.edu. **169**-
Raymond P. Polivka and Sandra Pakin.
*APL: The Language and Its Usage*.

Prentice-Hall, Englewood Cliffs, NJ, 1975. **170**-
Enrico Pontelli.

Programming with sets, 1999.

At http://www.cs.nmsu.edu/ complog/sets/. **171**-
G. Rossi and B. Jayaraman, editors.
*Workshop on Declarative Programming with Sets*, number 200 in Quaderni del Dipartimento di Matematica. Università di Parma, September 1999.

Also at http://www.math.unipr.it/ gianfr/DPS/papers.html. **172**-
Gianfranco Rossi.

Programming with sets, 1998.

At http://prmat.math.unipr.it/ gianfr/sets/index.html. **173**-
E. Schonberg and D. Shields.

From prototype to efficient implementation: A case study using SETL and C.

Technical Report 170, Courant Institute of Mathematical Sciences, New York University, July 1985. **174**-
Edmond Schonberg, Jacob T. Schwartz, and Micha Sharir.

An automatic technique for selection of data representations in SETL programs.*ACM Transactions on Programming Languages and Systems*, 3(2):126-143, April 1981. **175**-
J. Schwartz.
*Set Theory as a Language for Program Specification and Programming*.

Courant Institute of Mathematical Sciences, New York University, 1970. **176**-
J. Schwartz, S. Brown, and E. Schonberg.

SETLA user's manual.

In*On Programming: An Interim Report on the SETL Project*[177], pages 90-159.

OrigInally appeared as SETL Newsletter No. 70 [186]. **177**-
Jacob T. Schwartz.
*On Programming: An Interim Report on the SETL Project*.

Courant Institute of Mathematical Sciences, New York University, revised 1975. **178**-
J.T. Schwartz.

Automatic data structure choice in a language of very high level.*Communications of the ACM*, 18(12):722-728, December 1975. **179**-
J.T. Schwartz.

Optimization of very high level languages--I: Value transmission and its corollaries.*Computer Languages*, 1(2):161-194, 1975. **180**-
J.T. Schwartz.

Optimization of very high level languages--II: Deducing relationships of inclusion and membership.*Computer Languages*, 1(3):197-218, 1975. **181**-
J.T. Schwartz, R.B.K. Dewar, E. Dubinsky, and E. Schonberg.
*Programming with Sets: An Introduction to SETL*.

Springer-Verlag, 1986. **182**-
Randal L. Schwartz.
*Learning Perl*.

O'Reilly & Associates, 1993. **183**-
Keith Schwingendorf, Julie Hawks, and Jennifer Beineke.

Horizontal and vertical growth of the student's conception of function.

In Harel and Dubinsky [100], pages 133-149. **184**-
Scriptics Corporation.

Scriptics: Solutions for business integration, 1999.

At http://www.scriptics.com/. Home page for Tcl/Tk. **185**-
Robert W. Sebesta.
*Concepts of Programming Languages*.

Addison-Wesley, fourth edition, 1999. **186**-
NYU SETL Project.
*SETL Newsletters*.

Numbers 1-234, Courant Institute of Mathematical Sciences, New York University, 1970-1981 and 1985-1989. **187**-
David Shields.

BALMSETL user's guide (in brief)., No. 20, March 1971.*SETL Newsletters*[186] **188**-
Josh Simon.

Michigan Terminal System, 1999.

At http://www.clock.org/ jss/work/mts/. **189**-
M. Sintzoff.

Calculating properties of programs by valuations on specific models.*ACM SIGPLAN Notices*, 7(1):203-207, 1972. **190**-
W. Kirk Snyder.

The SETL2 programming language.

Technical Report 490, Courant Institute of Mathematical Sciences, New York University, January 1990.

Also at ftp://cs.nyu.edu/pub/local/hummel/setl2/setl2.ps.Z. **191**-
W. Kirk Snyder.

The SETL2 programming language: Update on current developments.

Technical report, Courant Institute of Mathematical Sciences, New York University, September 1990.

Also at ftp://cs.nyu.edu/pub/local/hummel/setl2/update.ps.Z. **192**-
Lindsey Spratt.
*Seeing the Logic of Programming With Sets*.

PhD thesis, University of Kansas, 1996.

Also at http://www.designlab.ukans.edu/ spratt/papers/PhD_Dissertation.dir/visual_logic_sets_progra.html. **193**-
Steven Pemberton.

A short introduction to the ABC language, 1999.

At http://www.cwi.nl/ steven/abc/. **194**-
W. Richard Stevens.
*UNIX Network Programming*, volume 1.

Prentice-Hall, Upper Saddle River, NJ, second edition, 1998. **195**-
A. Tarski.

A lattice-theoretical fixpoint theorem and its application.*Pacific Journal of Mathematics*, 5:285-309, 1955. **196**-
Aaron M. Tenenbaum.
*Type Determination for Very High Level Languages*.

PhD thesis, New York University, October 1974. **197**-
S. Thompson.
*Haskell: The Craft of Functional Programming*.

Addison-Wesley, 1996.

See also http://haskell.org/. **198**-
United States Department of Defense.
*Reference Manual for the ADA Programming Language, ANSI/MIL-STD-1815A-1983*.

Springer-Verlag, New York, February 1983. **199**-
Guido van Rossum.

Python patterns - implementing graphs, 1998.

At http://www.python.org/doc/essays/graphs.html. **200**-
Guido van Rossum.

Comparing Python to other languages, 1999.

At http://www.python.org/doc/essays/comparisons.html. **201**-
Guido van Rossum.

Python language website, 1999.

At http://www.python.org/. **202**-
Julius J. VandeKopple.

Private communication, 1999. **203**-
Julius J. VandeKopple.

The SETLS programming language, revised 1994.

At ftp://cs.nyu.edu/pub/languages/setls/. **204**-
Herman Venter.

The Slim programming language, 1999.

At http://birch.eecs.lehigh.edu/slim/default.htm. **205**-
Larry Wall, Tom Christiansen, and Randal L. Schwartz.
*Programming Perl*.

O'Reilly & Associates, second edition, 1996. **206**-
Richard Wallace.

The A.L.I.C.E. nexus, 1999.

At http://www.alicebot.org/. **207**-
H.S. Warren, Jr.

SETL implementation and optimization: A first look at SETL compilation--target code style.

In*On Programming: An Interim Report on the SETL Project*[177], pages 54-68.

Revision of SETL Newsletter No. 53 [186]. **208**-
Gerald Weiss.

Recursive data types in SETL: Automatic determination, data language description, and efficient implementation.

Technical Report 201, Courant Institute of Mathematical Sciences, New York University, October 1985. **209**-
Gerald Weiss and Edmond Schonberg.

Typefinding recursive structures: A data-flow analysis in the presence of infinite type sets.

Technical Report 235, Courant Institute of Mathematical Sciences, New York University, August 1986. **210**-
Chung Yung.

Extending typed -calculus to sets.

In*Proc. MASPLAS '97*, April 1997.

Also at http://cs1.cs.nyu.edu/phd_students/yung/publications/slambda3.ps.gz. **211**-
Chung Yung.

EAS: An experimental applicative language with sets.

In*Proc. MASPLAS '98*, March 1998.

Also at http://cs1.cs.nyu.edu/phd_students/yung/publications/eas02.ps.gz. **212**-
Chung Yung.
*Destructive Effect Analysis and Finite Differencing for Strict Functional Languages*.

PhD thesis, New York University, August 1999.

1999-12-10