Danny Bobrow: a Personal Recollection
Total Page:16
File Type:pdf, Size:1020Kb

Load more
Recommended publications
-
Stanford University Medical Experimental Computer Resource (SUMEX) Records SC1248
http://oac.cdlib.org/findaid/ark:/13030/c8s46z8g Online items available Guide to the Stanford University Medical Experimental Computer Resource (SUMEX) Records SC1248 Daniel Hartwig & Jenny Johnson Department of Special Collections and University Archives January 2018 Green Library 557 Escondido Mall Stanford 94305-6064 [email protected] URL: http://library.stanford.edu/spc Guide to the Stanford University SC1248 1 Medical Experimental Computer Resource (SUMEX) Records SC... Language of Material: English Contributing Institution: Department of Special Collections and University Archives Title: Stanford University Medical Experimental Computer Resource (SUMEX) records Identifier/Call Number: SC1248 Physical Description: 33 Linear Feet Date (inclusive): 1975-1991 Special Collections and University Archives materials are stored offsite and must be paged 48 hours in advance. For more information on paging collections, see the department's website: http://library.stanford.edu/spc. Conditions Governing Access Materials are open for research use. Audio-visual materials are not available in original format, and must be reformatted to a digital use copy. Conditions Governing Use All requests to reproduce, publish, quote from, or otherwise use collection materials must be submitted in writing to the Head of Special Collections and University Archives, Stanford University Libraries, Stanford, California 94304-6064. Consent is given on behalf of Special Collections as the owner of the physical items and is not intended to include or imply permission from the copyright owner. Such permission must be obtained from the copyright owner, heir(s) or assigns. Restrictions also apply to digital representations of the original materials. Use of digital files is restricted to research and educational purposes. -
The Cedar Programming Environment: a Midterm Report and Examination
The Cedar Programming Environment: A Midterm Report and Examination Warren Teitelman The Cedar Programming Environment: A Midterm Report and Examination Warren Teitelman t CSL-83-11 June 1984 [P83-00012] © Copyright 1984 Xerox Corporation. All rights reserved. CR Categories and Subject Descriptors: D.2_6 [Software Engineering]: Programming environments. Additional Keywords and Phrases: integrated programming environment, experimental programming, display oriented user interface, strongly typed programming language environment, personal computing. t The author's present address is: Sun Microsystems, Inc., 2550 Garcia Avenue, Mountain View, Ca. 94043. The work described here was performed while employed by Xerox Corporation. XEROX Xerox Corporation Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, California 94304 1 Abstract: This collection of papers comprises a report on Cedar, a state-of-the-art programming system. Cedar combines in a single integrated environment: high-quality graphics, a sophisticated editor and document preparation facility, and a variety of tools for the programmer to use in the construction and debugging of his programs. The Cedar Programming Language is a strongly-typed, compiler-oriented language of the Pascal family. What is especially interesting about the Ce~ar project is that it is one of the few examples where an interactive, experimental programming environment has been built for this kind of language. In the past, such environments have been confined to dynamically typed languages like Lisp and Smalltalk. The first paper, "The Roots of Cedar," describes the conditions in 1978 in the Xerox Palo Alto Research Center's Computer Science Laboratory that led us to embark on the Cedar project and helped to define its objectives and goals. -
Building the Second Mind, 1961-1980: from the Ascendancy of ARPA to the Advent of Commercial Expert Systems Copyright 2013 Rebecca E
Building the Second Mind, 1961-1980: From the Ascendancy of ARPA to the Advent of Commercial Expert Systems copyright 2013 Rebecca E. Skinner ISBN 978 09894543-4-6 Forward Part I. Introduction Preface Chapter 1. Introduction: The Status Quo of AI in 1961 Part II. Twin Bolts of Lightning Chapter 2. The Integrated Circuit Chapter 3. The Advanced Research Projects Agency and the Foundation of the IPTO Chapter 4. Hardware, Systems and Applications in the 1960s Part II. The Belle Epoque of the 1960s Chapter 5. MIT: Work in AI in the Early and Mid-1960s Chapter 6. CMU: From the General Problem Solver to the Physical Symbol System and Production Systems Chapter 7. Stanford University and SRI Part III. The Challenges of 1970 Chapter 8. The Mansfield Amendment, “The Heilmeier Era”, and the Crisis in Research Funding Chapter 9. The AI Culture Wars: the War Inside AI and Academia Chapter 10. The AI Culture Wars: Popular Culture Part IV. Big Ideas and Hardware Improvements in the 1970s invert these and put the hardware chapter first Chapter 11. AI at MIT in the 1970s: The Semantic Fallout of NLR and Vision Chapter 12. Hardware, Software, and Applications in the 1970s Chapter 13. Big Ideas in the 1970s Chapter 14. Conclusion: the Status Quo in 1980 Chapter 15. Acknowledgements Bibliography Endnotes Forward to the Beta Edition This book continues the story initiated in Building the Second Mind: 1956 and the Origins of Artificial Intelligence Computing. Building the Second Mind, 1961-1980: From the Establishment of ARPA to the Advent of Commercial Expert Systems continues this story, through to the fortunate phase of the second decade of AI computing. -
History of the Lisp Language
History of the Lisp Language History of the Lisp Language The following information is derived from the history section of dpANS Common Lisp. Lisp is a family of languages with a long history. Early key ideas in Lisp were developed by John McCarthy during the 1956 Dartmouth Summer Research Project on Artificial Intelligence. McCarthy’s motivation was to develop an algebraic list processing language for artificial intelligence work. Implementation efforts for early dialects of Lisp were undertaken on the IBM 704, the IBM 7090, the Digital Equipment Corporation (DEC) PDP−1, the DEC PDP−6, and the PDP−10. The primary dialect of Lisp between 1960 and 1965 was Lisp 1.5. By the early 1970’s there were two predominant dialects of Lisp, both arising from these early efforts: MacLisp and Interlisp. For further information about very early Lisp dialects, see The Anatomy of Lisp or Lisp 1.5 Programmer’s Manual. MacLisp improved on the Lisp 1.5 notion of special variables and error handling. MacLisp also introduced the concept of functions that could take a variable number of arguments, macros, arrays, non−local dynamic exits, fast arithmetic, the first good Lisp compiler, and an emphasis on execution speed. For further information about Maclisp, see Maclisp Reference Manual, Revision 0 or The Revised Maclisp Manual. Interlisp introduced many ideas into Lisp programming environments and methodology. One of the Interlisp ideas that influenced Common Lisp was an iteration construct implemented by Warren Teitelman that inspired the loop macro used both on the Lisp Machines and in MacLisp, and now in Common Lisp. -
Volume 24: Issue 1
file:///C|/Documents%20and%20Settings/HP_Administrator/My%20Documents/risks.htm http://catless.ncl.ac.uk/Risks/24.01.html http://catless.ncl.ac.uk/Risks/24.02.html http://catless.ncl.ac.uk/Risks/24.03.html http://catless.ncl.ac.uk/Risks/24.04.html http://catless.ncl.ac.uk/Risks/24.05.html http://catless.ncl.ac.uk/Risks/24.06.html http://catless.ncl.ac.uk/Risks/24.07.html http://catless.ncl.ac.uk/Risks/24.08.html http://catless.ncl.ac.uk/Risks/24.09.html http://catless.ncl.ac.uk/Risks/24.10.html http://catless.ncl.ac.uk/Risks/24.11.html http://catless.ncl.ac.uk/Risks/24.12.html http://catless.ncl.ac.uk/Risks/24.13.html http://catless.ncl.ac.uk/Risks/24.14.html http://catless.ncl.ac.uk/Risks/24.15.html http://catless.ncl.ac.uk/Risks/24.16.html http://catless.ncl.ac.uk/Risks/24.17.html http://catless.ncl.ac.uk/Risks/24.18.html http://catless.ncl.ac.uk/Risks/24.19.html http://catless.ncl.ac.uk/Risks/24.20.html http://catless.ncl.ac.uk/Risks/24.21.html http://catless.ncl.ac.uk/Risks/24.22.html http://catless.ncl.ac.uk/Risks/24.23.html file:///C|/Documents%20and%20Settings/HP_Administrator/My%20Documents/risks.htm (1 of 5)2008-01-01 16:35:42 file:///C|/Documents%20and%20Settings/HP_Administrator/My%20Documents/risks.htm http://catless.ncl.ac.uk/Risks/24.24.html http://catless.ncl.ac.uk/Risks/24.25.html http://catless.ncl.ac.uk/Risks/24.26.html http://catless.ncl.ac.uk/Risks/24.27.html http://catless.ncl.ac.uk/Risks/24.28.html http://catless.ncl.ac.uk/Risks/24.29.html http://catless.ncl.ac.uk/Risks/24.30.html http://catless.ncl.ac.uk/Risks/24.31.html -
CLISP - Conversational LISP
Session 25 Hardware and Software for Artificial Intelligence CLISP - Conversational LISP Warren Teitelman Xerox Palo Alto Research center Palo Alto, California 94304 Abstract CLISP is an attempt to make LISP programs The syntax for a conditional expression is easier to read and write by extending the correspondingly simple:* syntax of LISP to include infix operators, IF-THEN statements, FOR-DO-WHILE statements, Figure 2 and similar ALGOL-like constructs, without Syntax of a conditional Expression changing the structure or representation of the language. CLISP is implemented through <conditional expression> ::x LISP's error handling machinery, rather than (COND <clause> ... <clause>) by modifying the interpreter: when an <clause> :;= (<form> <form>) expression is encountered whose evaluation causes an error, the expression is scanned Note that there are no IF's, THEN's, for possible CLISP constructs, which are BEGIN's, END'S, or semi-colons. LISP avoids then converted to the equivalent LISP the problem of parsing the conditional expressions. Thus, users can freely expression, i.e., delimiting the individual intermix LISP and CLISP without having to clauses, and delimiting the predicates and distinguish which is which. Emphasis in the consequents within the clauses, by requiring design and development of CLISP has been on that each clause be a separate element in the system aspects of such a facility, with the conditional expression, namely a the goal in mind of producing a useful tool, sublist, of which the predicate is always not just another language. To this end, the first element, and the consequent the CLISP includes interactive error correction second element- As an example, let us and many 'Do-what-I-Mean* features. -
Predicting Developers' IDE Commands with Machine Learning
Predicting Developers’ IDE Commands with Machine Learning Tyson Bulmer, Lloyd Montgomery, Daniela Damian University of Victoria Victoria, Canada {tysonbul,lloydrm,danielad}@uvic.ca ABSTRACT research in bug prediction has touched on the topic of developer When a developer is writing code they are usually focused and “focus” as a contributor to bug proneness. Di Nucci et al. propose in a state-of-mind which some refer to as flow. Breaking out of that the higher a developer’s focus on their activities, the less likely this flow can cause the developer to lose their train of thought and they are to introduce bugs to the code [3]. Zhang et al. proposed have to start their thought process from the beginning. This loss of that certain file editing patterns by developers writing code could thought can be caused by interruptions and sometimes slow IDE contribute to bug proneness as well. Two of their patterns which interactions. Predictive functionality has been harnessed in user highlight the “focus” of a developer are the “Interrupted” and “Ex- applications to speed up load times, such as in Google Chrome’s tended” editing patterns [21], which they found introduced 2.1 and browser which has a feature called “Predicting Network Actions". 2.28 (respectively) times more future bugs than without. This will pre-load web-pages that the user is most likely to click The bigger picture of developer activity within an IDE, as char- through. This mitigates the interruption that load times can intro- acterized by our own investigation of this research area, can be duce. -
Interlisp Is a Programming Environment Based on the Energy Fighting a System That at Times Seems Bent on Lisp Programming Language
Integration, extensibility, and ease of modification made Interlisp unique and powerful. Its adaptations will enhance the power of the coming world of personal computing and advanced displays. The InterIisp Programmg l:nvionment Warren Teitelman and Larry Masinter Xerox Palo Alto Research Center Interlisp is a programming environment based on the energy fighting a system that at times seems bent on Lisp programming language. 1.2 In widespread use in the frustrating his best efforts. "6 artificial intelligence community, Interlisp has an ex- The environmental considerations were greatly influ- tensive set of user facilities, including syntax extension, enced by the perceived user community and the style of uniform error handling, automatic error correction, an programming in that community: first, typical Lisp users integrated structure-based editor, a sophisticated debug- were engaged in experimental rather than production pro- ger, a compiler, and a fiing system. Its most popular im- gramming; second, they were willing to expend computer plementation is Interlisp-IO, which runs under both the resources to improve human productivity; third, we be- Tenex and Tops-20 operating systems for the DEe lieved users would prefer sophisticated tools, even at the PDP-IO family. Interlisp-IO now has approximately 300 expense of simplicity. users at 20 different sites (mostly universities) in the US and abroad. It is an extremely well documented and well Experimental programming and structured growth. maintained system. The original architects of the Interlisp system were in- Interlisp has been used to develop and implement a terested in large artificial intelligence applications pro- wide variety of large application systems. -
Csc 372 [0.5Cm] Comparative Programming Languages [0.5Cm] 35
CSc 372 Comparative Programming Languages 35 : Scheme — History Department of Computer Science University of Arizona [email protected] Copyright c 2013 Christian Collberg 1/22 History of the Lisp Language http://www.apl.jhu.edu/~hall/text/Papers/Brief-History-of-Lisp.ps The following information is derived from the history section of dpANS Common Lisp. Lisp is a family of languages with a long history. Early key ideas in Lisp were developed by John McCarthy during the 1956 Dartmouth Summer Research Project on Artificial Intelligence. McCarthy’s motivation was to develop analgebraic list processing language for artificial intelligence work. Implementation efforts for early dialects of Lisp were undertaken on the IBM 704, the IBM 7090, the Digital Equipment Corporation (DEC) PDP-1, the DECPDP-6, and the PDP-10. The primary dialect of Lisp between 1960 and 1965 was Lisp 1.5. By the early 1970’s there were two predominant dialects of Lisp, both arising from these early efforts: MacLisp and Interlisp. Forfurther information about very early Lisp dialects, see The Anatomy of Lisp or Lisp 1.5 Programmer’s Manual. 2/22 History of the Lisp Language. MacLisp improved on the Lisp 1.5 notion of special variables and error handling. MacLisp also introduced theconcept of functions that could take a variable number of arguments, macros, arrays, non-local dynamic exits, fast arithmetic, the first good Lisp compiler, and an emphasis on execution speed. Interlisp introduced many ideas into Lisp programming environments and methodology. One of the Interlisp ideasthat influenced Common Lisp was an iteration construct implemented by Warren Teitelman that inspired the loop macro used both on the Lisp Machines and in MacLisp, and now in Common Lisp. -
RUBY: Reminiscing About User Interfaces by Brad Over the Years
RUBY: Reminiscing about User interfaces by Brad over the Years Brad A. Myers Human-Computer Interaction Institute School of Computer Science Carnegie Mellon University http://www.cs.cmu.edu/~bam [email protected] 1© 2017 – Brad A. Myers 40th Anniversary! RUBY Reminiscing about User interfaces by Brad over the Years 3 © 2017 – Brad A. Myers 35 CHI conferences: 1982 - 2017 4 © 2017 – Brad A. Myers Lots of Badges 5 © 2017 – Brad A. Myers 35 CHI conferences: 1982 - 2017 6 © 2017 – Brad A. Myers Conference ribbons 1990 (Thanks to Ben Shneiderman for the picture) 7 © 2017 – Brad A. Myers Baby me 8 © 2017 – Brad A. Myers Brad with Hair 9 © 2017 – Brad A. Myers Nerdy me 10 © 2017 – Brad A. Myers ~1974 - Teletype 11 By Jamie ‐ Flickr: Telex machine TTY, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=19282428 © 2017 – Brad A. Myers MIT 12 © 2017 – Brad A. Myers Observations • Brad is really old… • If you don’t keep stuff, you won’t have it 40 years later! 13 © 2017 – Brad A. Myers Spatial Data Management System (SDMS) • ~ 1977 • MIT Architecture Machine Group • Predecessor of MIT Media Lab • Undergraduate research 14 Christopher F. Herot, Richard Carling, Mark Friedell, and David Kramlich. 1980. A prototype Spatial Data Management System. In Proceedings of the 7th annual conference on Computer graphics and interactive techniques (SIGGRAPH '80). ACM, New York, NY, USA, 63‐70. DOI=http://dx.doi.org/10.1145/800250.807470 © 2017 – Brad A. Myers Xerox PARC • Important research lab • Summer intern 15 Picture credit: http://www.digibarn.com/collections/locations/xerox‐parc/ © 2017 – Brad A. -
Oral History of Robert (Bob) W. Taylor
Oral History of Robert (Bob) W. Taylor Interviewed by: Paul McJones Recorded: October 10 - October 11, 2008 Woodside, California CHM Reference number: X5059.2009 © 2008 Computer History Museum Oral History of Robert (Bob) Taylor McJones: My name is Paul McJones. It’s October 10th, 2008. We’re going to conduct an oral history interview with Bob Taylor, and we have, behind the camera, Ken Beckman. Hello, Bob. Taylor: Hello, Paul. Hello, Ken [Bob’s friend and colleague at Xerox and DEC]. McJones: Bob, I thought it would be good to start at the beginning and have you tell us a little bit about growing up, your parents and early school and other experiences like that. Taylor: The very beginning? All right. This may be a little complicated. I was adopted when I was 28 days old in San Antonio, Texas. I was born in Dallas, so somehow or another, I don’t remember how, I moved, during my first 28 days of life, from Dallas to San Antonio. I was adopted from an orphanage, in effect, by a Methodist minister and his wife. They could not have any children of their own. They didn’t have RH negative things figured out in those days, so they adopted me. And during the first few years of my life I lived in small Texas towns where my father was a Methodist preacher. And then when I was about four, I guess, something like that, my father became a professor in a small Methodist college in San Antonio and we lived there for ten or eleven years. -
The Evolution of Lisp
1 The Evolution of Lisp Guy L. Steele Jr. Richard P. Gabriel Thinking Machines Corporation Lucid, Inc. 245 First Street 707 Laurel Street Cambridge, Massachusetts 02142 Menlo Park, California 94025 Phone: (617) 234-2860 Phone: (415) 329-8400 FAX: (617) 243-4444 FAX: (415) 329-8480 E-mail: [email protected] E-mail: [email protected] Abstract Lisp is the world’s greatest programming language—or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting from scratch. Overall, the evolution of Lisp has been guided more by institutional rivalry, one-upsmanship, and the glee born of technical cleverness that is characteristic of the “hacker culture” than by sober assessments of technical requirements. Nevertheless this process has eventually produced both an industrial- strength programming language, messy but powerful, and a technically pure dialect, small but powerful, that is suitable for use by programming-language theoreticians. We pick up where McCarthy’s paper in the first HOPL conference left off. We trace the development chronologically from the era of the PDP-6, through the heyday of Interlisp and MacLisp, past the ascension and decline of special purpose Lisp machines, to the present era of standardization activities. We then examine the technical evolution of a few representative language features, including both some notable successes and some notable failures, that illuminate design issues that distinguish Lisp from other programming languages. We also discuss the use of Lisp as a laboratory for designing other programming languages. We conclude with some reflections on the forces that have driven the evolution of Lisp.