Embedding a Scheme Interpreter in the Tk Toolkit Abstract 1

Total Page:16

File Type:pdf, Size:1020Kb

Embedding a Scheme Interpreter in the Tk Toolkit Abstract 1 Embedding a Scheme Interpreter in the Tk Toolkit Erick Gallesio Universitede Nice SophiaAntipolis Lab oratoire IS CNRS URA Bat avenue Alb ert Einstein Sophia Antipolis Valbonne FRANCE Abstract an exciting challenge To keep intact the TkTcl pair spirit a little applicative language was nec STk is a graphical package which rely on Tk and essary Scheme was a go o d candidate to re the Scheme programming language Concretely place Tcl b ecause it is small clean and well de it can be seen as the Tk package where the Tcl ned since it is an IEEE standard language as been replaced by a Scheme inter Programming with STk can b e done at two preter Programming with STk can be done at distinct levels First level is quite identical than two distinct levels First level is quite identical programming Tk with Tcl excepting several mi than programming Tk with Tcl Second level of nor syntactic dierences Second level of pro programming uses a ful l object oriented system gramming uses a full ob ject oriented system Those two programming levels and current imple with multiinheritance generic functions and a mentation are described here true meta ob ject proto col Those two levels of programming are briey describ ed in the two rst sections Section is devoted to implementation Introduction and section exp oses some encountered problems when mixing Tk and Scheme Todays available graphical to olkits for applica tive languages are not satisfactory Most of the time they ask to the user to b e an X exp ert which STk First level must cop e with complicated arcane details such as server connections or queue events This is a The rst level of STk uses the standard Scheme true problem since p eople which use this kind constructs To work at this level a user must of languages are generally not inclined in system know a little set of rewriting rules from the orig programming and little of them get over the gap inal TkTcl library With these rules the Tk b etween the language and the to olkit abstraction manual pages and a little knowledge of Scheme levels heshe can easily build a STk program Creation of a new widget button lab el can Tk is a p owerful X graphical to olkit dened vas is done with sp ecial STk primitives pro at the University of Berkeley by JOusterhout cedures For instance creating a new button can This to olkit gives to the user high level wid gets such as buttons or menu and is easily pro b e done with grammable In particular a little knowledge of button b X fundamentals are needed to build an applica tion with it Tk package rely on an interpretative Note that the name of the widget must b e language named Tcl However dep endencies stringied due to the Scheme evaluation mech b etween those two packages are not to o intricate anism The call of a widget creation primitive and replacing Tcl by an applicative language was denes a new Scheme ob ject This ob ject which To illustrate STk rst level of programming is considered as a new basic type by the Scheme interpreter is automatically stored in a variable Figure shows the simple le browser describ ed whose name is equal to the string passed to the in written in STk creation function So the preceding button cre ation would dene an ob ject stored in the b vari able This ob ject is a sp ecial kind of pro cedure STk Second level which is generally used as in pure Tk to cus tomize its asso ciated widget For instance the Programming with material shown b efore is a lit expression tle bit tedious and more complicated than co d b configure ing with Tcl since one have to add parenthesis text Hello world pairs and quote options values Its only interest border is to bring the p ower and exibility of Tk to the Scheme world p ermits to set the text and background options of the b button As we can see on this exam The second level of STk is far more interest ple parameters must b e well quoted in regard ing since it uses a full ob ject oriented extension of the Scheme evaluation rules Since this nota of the Scheme language Dening an ob ject ori tion is barely crude the Common Lisp keyword ented layer on Scheme is a current activity in mechanism has b een introduced in the Scheme the Scheme community and several packages are 1 interpreter Consequently the preceding ex available The ob ject layer of STk is derived pression could have b een written as from a package called Tiny Clos This exten b configure sion provides ob jects ala CLOS Common Lisp text Hello world Ob ject System In fact the prop osed extension border is much closer from the ob jects one can nd in Dylan since this language is already a tentative which in turn is b oth close from Common Lisp to merge CLOS notions in a Scheme like language and pure Tk Of course as in Tk parameters can b e passed at widget creation time and our button STk ob ject extension gives to the user a full creation and initialization could have b een done in a single expression ob ject oriented system with multiinheritance and generic functions Furthermore all the im button b plementation rely on a true meta ob ject proto col text Hello world in the spirit of This mo del has b een used to border embo dy all the predened Tk widgets in a hier The Tk binding mechanism which serves to archy of Stk classes create widget event handlers follow the same kind of rules The b o dy of a Tk handler must b e writ ten of course in Scheme Following example Class hierarchy shows such a script in this example the lab el With the STk ob ject system every Tk graphical indicates how many times mouse button has b een depressed Button press counter increment ob ject used in a program such as a menu a la is achieved with the simple script given in the b el or a button is represented as an ob ject in the bind call Scheme core All the dened STk classes build a hierarchy which is briey describ ed here Firstly define count all the classes shared a unique ancestor the pack append Tkobject class Instances of this class con label l tain informations which are necessary to estab textvariable count lish a communication b etween the Scheme and fill bind l Tk worlds Ob jects of this class have two main set count count slots named Id and parent The Id slot con 1 tains a string normally generated by the system A keyword is a symbol b eginning with a colon It can b een seen as a symbolic constant ie its value is itself which corresp ond to a unique variable name in usrlocalbinstk f scrollbar scroll command list yview listbox list yscroll scroll set relief raised geometry x pack append scroll right filly list left expand fill define browse dir file if not string dir set file stringappend dir file if directory file system format f browsestk A file if file file let ed getenv EDITOR if ed system stringappend ed file system stringappend xedit file error Bad directory or file file define dir if argc car argv system format f ls a A tmpbrowse dir withinputfromfile tmpbrowse lambda do f readline readline eofobject f list insert end f bind list Controlc destroy bind list DoubleButton browse dir selection get Figure A simple le browser STk hierarchy is shown in Figure the Tk world The parent slot contains a ref erence to the ob ject which graphically includes the current ob ject Normally end users will not Basic notions have to use direct instances of the Tkobject 2 This section describ es basic concepts of our ob class ject extension on a small example Denition of The next level in our class hierarchy denes a new ob ject class is done with the defclass form a fork with two branches the Tkwidget For instance class and Tkcanvasitem class Instances of defclass person the former class are classical widgets such as name initarg name buttons or menus since instances of the later accessor name are ob jects contained in a canvas such as lines age initarg age or rectangles Tk widgets are also divided in denes a p erson characteristics Two slots are two categories Tksimplewidgets and Tk declared name and age Characteristics of a slot compositewidgets Simple widgets are directly are expressed with its denition Here for in implemented as Tk ob jects and comp osite ones stance it is said that the slot name can b e inited are built up on simple widgets eg le browser with the keyword name up on instance creation alert messages and so on A partial view of the and that an accessor function should b e gener 2 ated for it Creation of a new instance is done All classes whose name b egins with the Tk prex with the make constructor are not intended for the nal user Tk-object Tk-widget Tk-canvas-item Tk-simple-widget Frame Label Message Rectangle Line Button Tk-complex-button Check-button Radio-button Figure A partial view of STk hierarchy defclass Button Label define p make person command accessor command name Smith initarg command age allocation pseudo This call p ermits to build a new p erson and to type any initialize the slots which comp ose himher metaclass Tk Reading the value of a slot can b e done with the function slotvalue For instance This denition says that a Button is a in herits from Label with an extra slot called slotvalue p age command This slots allo cation scheme is said to 3 p ermits to get the value of slot age of the p ob b e pseudo Pseudoslots are sp ecial purp ose ject Setting this slot can b e done by using the slots they can b e used as normal slots but they generalized set dened in STk are not allo cated in the Scheme world ie their value is stored in one of the structures manipu set slotvalue p age lated by the Tk library instead of in a Scheme ob
Recommended publications
  • Hannes Mehnert [email protected] December
    Introduction Dylan Going Further Dylan Hannes Mehnert [email protected] December 16, 2004 Hannes Mehnert [email protected] Dylan Introduction Dylan Going Further Introduction Overview Hello World History Dylan Libraries and Modules Classes Generic Functions Types Sealing Going Further Hannes Mehnert [email protected] Dylan Introduction Overview Dylan Hello World Going Further History Overview I DYnamic LANguage Hannes Mehnert [email protected] Dylan Introduction Overview Dylan Hello World Going Further History Overview I DYnamic LANguage I Object Oriented: everything is an object Hannes Mehnert [email protected] Dylan Introduction Overview Dylan Hello World Going Further History Overview I DYnamic LANguage I Object Oriented: everything is an object I Safe: type-checking of arguments and values, no buffer overruns, no implicit casting, no raw pointers Hannes Mehnert [email protected] Dylan Introduction Overview Dylan Hello World Going Further History Overview I DYnamic LANguage I Object Oriented: everything is an object I Safe: type-checking of arguments and values, no buffer overruns, no implicit casting, no raw pointers I Efficient: can compile to code nearly as efficient as C Hannes Mehnert [email protected] Dylan Introduction Overview Dylan Hello World Going Further History Hello world define method hello-world () format-out(``Hello world\n''); end method; Hannes Mehnert [email protected] Dylan Introduction Overview Dylan Hello World Going Further History factorial define method factorial ( i ) if (i = 0) 1 else i
    [Show full text]
  • Jon L. White Collection on Common Lisp
    http://oac.cdlib.org/findaid/ark:/13030/c89w0mkb No online items Jon L. White collection on Common Lisp Finding aid prepared by Bo Doub, Kim Hayden, and Sara Chabino Lott Processing of this collection was made possible through generous funding from The Andrew W. Mellon Foundation, administered through the Council on Library and Information Resources' Cataloging Hidden Special Collections and Archives grant. Computer History Museum 1401 N. Shoreline Blvd. Mountain View, CA, 94043 (650) 810-1010 [email protected] March 2017 Jon L. White collection on X6823.2013 1 Common Lisp Title: Jon L. White collection Identifier/Call Number: X6823.2013 Contributing Institution: Computer History Museum Language of Material: English Physical Description: 8.75 Linear feet,7 record cartons Date (bulk): Bulk, 1978-1995 Date (inclusive): 1963-2012 Abstract: The Jon L. White collection on Common Lisp contains material relating to the development and standardization of the programming language Common Lisp and, more generally, the Lisp family of programming languages. Records date from 1963 to 2012, with the bulk of the material ranging from 1978 to 1995, when White was working at MIT’s Artificial Intelligence Laboratory, Xerox PARC (Palo Alto Research Center), Lucid, and Harlequin Group. Throughout many of these positions, White was serving on the X3J13 Committee to formalize a Common Lisp standard, which aimed to combine and standardize many previous dialects of Lisp. This collection consists of conference proceedings, manuals, X3J13 Committee correspondence and meeting minutes, notebooks, technical papers, and periodicals documenting White’s work in all of these roles. Other dialects of Lisp--especially MAClisp--are also major focuses of the collection.
    [Show full text]
  • Apple Computer, Inc. Records M1007
    http://oac.cdlib.org/findaid/ark:/13030/tf4t1nb0n3 No online items Guide to the Apple Computer, Inc. Records M1007 Department of Special Collections and University Archives 1998 Green Library 557 Escondido Mall Stanford 94305-6064 [email protected] URL: http://library.stanford.edu/spc Guide to the Apple Computer, Inc. M1007 1 Records M1007 Language of Material: English Contributing Institution: Department of Special Collections and University Archives Title: Apple Computer, Inc. Records creator: Apple Computer, Inc. Identifier/Call Number: M1007 Physical Description: 600 Linear Feet Date (inclusive): 1977-1998 Abstract: Collection contains organizational charts, annual reports, company directories, internal communications, engineering reports, design materials, press releases, manuals, public relations materials, human resource information, videotapes, audiotapes, software, hardware, and corporate memorabilia. Also includes information regarding the Board of Directors and their decisions. Physical Description: ca. 600 linear ft. Access Open for research; material must be requested at least 36 hours in advance of intended use. As per legal agreement, copies of audio-visual material are only available in the Special Collections reading room unless explicit written permission from the copyright holder is obtained. The Hardware Series is unavailable until processed. For further details please contact Stanford Special Collections ([email protected]). Conditions Governing Use While Special Collections is the owner of the physical and digital items, permission to examine collection materials is not an authorization to publish. These materials are made available for use in research, teaching, and private study. Any transmission or reproduction beyond that allowed by fair use requires permission from the owners of rights, heir(s) or assigns.
    [Show full text]
  • Dylan Programming Release 1.0
    Dylan Programming Release 1.0 Neal Feinberg, Sonya E. Keene, Robert O. Mathews, P. Tucker Withington Nov 25, 2018 CONTENTS 1 Front Matter 3 2 Preface 5 2.1 Dylan...................................................5 2.2 Audience.................................................5 2.3 Goals of this book............................................5 2.4 Organization of this book........................................6 2.5 Program examples............................................6 2.6 Conventions used in this book......................................6 2.7 An image of Dylan............................................7 2.8 Acknowledgments............................................7 3 Part 1. Basic Concepts 9 3.1 Introduction...............................................9 3.2 Quick Start................................................ 14 3.3 Methods, Classes, and Objects...................................... 24 3.4 User-Defined Classes and Methods................................... 32 3.5 Class Inheritance............................................. 40 3.6 Multimethods............................................... 55 3.7 Modularity................................................ 59 3.8 A Simple Library............................................. 69 4 Part 2. Intermediate Topics 77 4.1 Nonclass Types.............................................. 77 4.2 Slots................................................... 82 4.3 Collections and Control Flow...................................... 95 4.4 Functions................................................
    [Show full text]
  • Guide to the Jon L. White Collection on Common Lisp, 1963-2012
    Guide to the Jon L. White collection on Common Lisp Creator: Jon L. White Dates: 1963-2012, bulk 1978-1995 Extent: 8.75 linear feet, 7 record cartons Collection number: X6823.2013 Catalog number: 102733968 Collection processed by: Bo Doub and Kim Hayden, 2017 Finding aid prepared by: Bo Doub, Kim Hayden, and Sara Chabino Lott, 2017 Sponsor: Processing of this collection was made possible through generous funding from The Andrew W. Mellon Foundation, administered through the Council on Library and Information Resources' Cataloging Hidden Special Collections and Archives grant. Abstract The Jon L. White collection on Common Lisp contains material relating to the development and standardization of the programming language Common Lisp and, more generally, the Lisp family of programming languages. Records date from 1963 to 2012, with the bulk of the material ranging from 1978 to 1995, when White was working at MIT’s Artificial Intelligence Laboratory, Xerox PARC (Palo Alto Research Center), Lucid, and Harlequin Group. Throughout many of these positions, White was serving on the X3J13 Committee to formalize a Common Lisp standard, which aimed to combine and standardize many previous dialects of Lisp. This collection consists of conference proceedings, manuals, X3J13 Committee correspondence and meeting minutes, notebooks, technical papers, and periodicals documenting White’s work in all of these roles. Other dialects of Lisp--especially MAClisp--are also major focuses of the collection. White also collected significant amounts of material on object-oriented programming, artificial intelligence, garbage collection memory management, and floating-point arithmetic in his various computer programming roles. Jon L. White collection on Common Lisp X6823.2013 Administrative Information Access Restrictions The collection is open for research.
    [Show full text]
  • The Cecil Language Specification and Rationale Version 3.2
    The Cecil Language Specification and Rationale Version 3.2 Craig Chambers and the Cecil Group Department of Computer Science and Engineering University of Washington Box 352350, Seattle, Washington 98195-2350 USA February, 2004 Abstract Cecil is a purely object-oriented language intended to support rapid construction of high-quality, extensible software. Cecil combines multi-methods with a simple classless object model, a kind of dynamic inheritance, modules, and optional static type checking. Instance variables in Cecil are accessed solely through messages, allowing instance variables to be replaced or overridden by methods and vice versa. Cecil’s predicate objects mechanism allows an object to be classified automatically based on its run-time (mutable) state. Cecil’s static type system distinguishes between subtyping and code inheritance, but Cecil enables these two graphs to be described with a single set of declarations, streamlining the common case where the two graphs are parallel. Cecil includes a fairly flexible form of parameterization, including explicitly parameterized objects, types, and methods, as well as implicitly parameterized methods related to the polymorphic functions commonly found in functional languages. By making type declarations optional, Cecil aims to allow mixing of and migration between exploratory and production programming styles. Cecil supports a module mechanism that enables independently-developed subsystems to be encapsulated, allowing them to be type-checked and reasoned about in isolation despite the presence of multi-methods and subclassing. Objects can be extended externally with additional methods and instance variables, often encapsulated in separate modules, supporting a kind of role- based or subject-oriented programming style. This document mixes the specification of the language with discussions of design issues and explanations of the reasoning that led to various design decisions.
    [Show full text]
  • Predicate Dispatching in the Common Lisp Object System by Aaron Mark Ucko S.B
    Predicate Dispatching in the Common Lisp Object System by Aaron Mark Ucko S.B. in Theoretical Mathematics, S.B. in Computer Science, both from the Massachusetts Institute of Technology (2000) Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Master of Engineering in Computer Science and Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2001 © Massachusetts Institute of Technology 2001. All rights reserved. Author................................................................ Department of Electrical Engineering and Computer Science May 11, 2001 Certified by. Howard E. Shrobe Principal Research Scientist Thesis Supervisor Accepted by . Arthur C. Smith Chairman, Department Committee on Graduate Students 2 Predicate Dispatching in the Common Lisp Object System by Aaron Mark Ucko Submitted to the Department of Electrical Engineering and Computer Science on May 11, 2001, in partial fulfillment of the requirements for the degree of Master of Engineering in Computer Science and Engineering Abstract I have added support for predicate dispatching, a powerful generalization of other dis- patching mechanisms, to the Common Lisp Object System (CLOS). To demonstrate its utility, I used predicate dispatching to enhance Weyl, a computer algebra system which doubles as a CLOS library. My result is Dispatching-Enhanced Weyl (DEW), a computer algebra system that I have demonstrated to be well suited for both users and programmers. Thesis Supervisor: Howard E. Shrobe Title: Principal Research Scientist 3 Acknowledgments I would like to thank the MIT Artificial Intelligence Laboratory for funding my studies and making this work possible. I would also like to thank Gregory Sullivan and Jonathan Bachrach for helping Dr.
    [Show full text]
  • Develop-23 9509 September 1995.Pdf
    develop E D I T O R I A L S T A F F T H I N G S T O K N O W C O N T A C T I N G U S Editor-in-Cheek Caroline Rose develop, The Apple Technical Feedback. Send editorial suggestions Managing Editor Toni Moccia Journal, a quarterly publication of or comments to Caroline Rose at Technical Buckstopper Dave Johnson Apple Computer’s Developer Press AppleLink CROSE, Internet group, is published in March, June, [email protected], or fax Bookmark CD Leader Alex Dosher September, and December. develop (408)974-6395. Send technical Able Assistant Meredith Best articles and code have been reviewed questions about develop to Dave Our Boss Mark Bloomquist for robustness by Apple engineers. Johnson at AppleLink JOHNSON.DK, His Boss Dennis Matthews Internet [email protected], CompuServe This issue’s CD. Subscription issues Review Board Brian Bechtel, Dave Radcliffe, 75300,715, or fax (408)974-6395. Or of develop are accompanied by the Jim Reekes, Bryan K. “Beaker” Ressler, write to Caroline or Dave at Apple develop Bookmark CD. This CD contains Larry Rosenstein, Andy Shebanow, Nick Computer, Inc., 1 Infinite Loop, a subset of the materials on the monthly Thompson, Gregg Williams Cupertino, CA 95014. Developer CD Series, available from Contributing Editors Lorraine Anderson, APDA. Included on the CD are this Article submissions. Ask for our Patria Brown, Steve Chernicoff, Toni issue and all back issues of develop along Author’s Guidelines and a submission Haskell, Judy Helfand, Cheryl Potter, with the code that the articles describe.
    [Show full text]
  • A Technical History of Apple's Operating Systems
    A Technical History of Apple’s Operating Systems Amit Singh A Supplementary Document for Chapter 1 from the book Mac OS X Internals: A Systems Approach. Copyright © Amit Singh. All Rights Reserved. Portions Copyright © Pearson Education. Document Version 2.0.1 (July 28, 2006) Latest version available at http://osxbook.com/book/bonus/chapter1/ This page intentionally left blank. Dear Reader This is a supplementary document for Chapter 1 from my book Mac OS X In- ternals: A Systems Approach. A subset (about 30%) of this document ap- pears in the book as the first chapter with the title Origins of Mac OS X. This document is titled A Technical History of Apple’s Operating Systems. Whereas the book’s abridged version covers the history of Mac OS X, this document’s coverage is considerably broader. It encompasses not only Mac OS X and its relevant ancestors, but the various operating systems that Apple has dabbled with since the company’s inception, and many other systems that were direct or indirect sources of inspiration. This was the first chapter I wrote for the book. It was particularly difficult to write in terms of the time and other resources required in researching the mate- rial. I often had to find and scavenge ancient documentation, software, and hardware (all actual screenshots shown in this document were captured first hand.) However, I couldn’t include the chapter in its original form in the book. The book grew in size beyond everybody’s expectations—1680 pages! There- fore, it was hard to justify the inclusion of this much history, even if it is inter- esting history.
    [Show full text]
  • Guide to the Herbert Stoyan Collection on LISP Programming, 2011
    Guide to the Herbert Stoyan collection on LISP programming Creator: Herbert Stoyan 1943- Dates: 1955-2001, bulk 1957-1990 Extent: 105 linear feet, 160 boxes Collection number: X5687.2010 Accession number: 102703236 Processed by: Paul McJones with the aid of fellow volunteers John Dobyns and Randall Neff, 2010 XML encoded by: Sara Chabino Lott, 2011 Abstract The Herbert Stoyan collection on LISP programming contains materials documenting the origins, evolution, and use of the LISP programming language and many of its applications in artificial intelligence. Stoyan collected these materials during his career as a researcher and professor, beginning in the former German Democratic Republic (Deutsche Demokratische Republik) and moving to the Federal Republic of Germany (Bundesrepublik Deutschland) in 1981. Types of material collected by Stoyan include memoranda, manuals, technical reports, published and unpublished papers, source program listings, computer media (tapes and flexible diskettes), promotional material, and correspondence. The collection also includes manuscripts of several books written by Stoyan and a small quantity of his personal papers. Administrative Information Access Restrictions The collection is open for research. Publication Rights The Computer History Museum (CHM) can only claim physical ownership of the collection. Users are responsible for satisfying any claims of the copyright holder. Permission to copy or publish any portion of the Computer History Museum’s collection must be given by the Computer History Museum. Preferred Citation [Identification of Item], [Date], Herbert Stoyan collection on LISP programming, Lot X5687.2010, Box [#], Folder [#], Computer History Museum Provenance The Herbert Stoyan collection on LISP programming was donated by Herbert Stoyan to the Computer History Museum in 2010.
    [Show full text]
  • The Early Years of Academic Computing: a Collection of Memoirs
    Published by The Internet-First University Press The Early Years of Academic Computing: A Collection of Memoirs Edited by William Y. Arms and Kenneth M. King This is a collection of reflections/memoirs concerning the early years of academic computing, emphasizing the period from the 1950s to the 1990s when universities developed their own com- puting environments. Cornell University Initial Release: June 2014 Increment 01: April 2016 Increment 02-04: April 2017 NOTE: This is the first part of a set of memoirs to be published by The Internet-First University Press. This book – http://hdl.handle.net/1813/36810 Books and Articles Collection – http://ecommons.library.cornell.edu/handle/1813/63 The Internet-First University Press – http://ecommons.library.cornell.edu/handle/1813/62 An Incremental Book Publisher’s Note This is the second Internet-First publication in a new publishing genre, an ‘Incremental Book’ that becomes feasible due to the Internet. Unlike paper-first book publishing – in which each contribution is typically held in abeyance until all parts are complete, and only then presented to the reading public as part of a single enti- ty – with Internet publishing, book segments (Increments) can be released when finalized. Book parts may be published as they become available. We anticipate releasing updated editions from time-to-time (using dat- ed, rather than numbered editions) that incorporate these increments. These digital collections may be freely downloaded for personal use, or may be ordered as bound copies, at user expense, from Cornell Business Ser- vices (CBS) Digital Services by sending an e-mail to [email protected] or calling 607.255.2524.
    [Show full text]
  • Guide to the Herbert Stoyan Collection on LISP Programming
    http://oac.cdlib.org/findaid/ark:/13030/kt038nf156 No online items Guide to the Herbert Stoyan collection on LISP programming Paul McJones with the aid of fellow volunteers John Dobyns and Randall Neff Computer History Museum 1401 N. Shoreline Blvd. Mountain View, California 94043 Phone: (650) 810-1010 Email: [email protected] URL: http://www.computerhistory.org © 2011 Computer History Museum. All rights reserved. Guide to the Herbert Stoyan X5687.2010 1 collection on LISP programming Guide to the Herbert Stoyan collection on LISP programming Collection number: X5687.2010 Computer History Museum Processed by: Paul McJones with the aid of fellow volunteers John Dobyns and Randall Neff Date Completed: 2010 Encoded by: Sara Chabino Lott © 2011 Computer History Museum. All rights reserved. Descriptive Summary Title: Guide to the Herbert Stoyan collection on LISP programming Dates: 1955-2001 Bulk Dates: 1957-1990 Collection number: X5687.2010 Collector: Stoyan, Herbert Collection Size: 105 linear feet160 boxes Repository: Computer History Museum Mountain View, CA 94043 Abstract: The Herbert Stoyan collection on LISP programming contains materials documenting the origins, evolution, and use of the LISP programming language and many of its applications in artificial intelligence. Stoyan collected these materials during his career as a researcher and professor, beginning in the former German Democratic Republic (Deutsche Demokratische Republik) and moving to the Federal Republic of Germany (Bundesrepublik Deutschland) in 1981. Types of material collected by Stoyan include memoranda, manuals, technical reports, published and unpublished papers, source program listings, computer media (tapes and flexible diskettes), promotional material, and correspondence. The collection also includes manuscripts of several books written by Stoyan and a small quantity of his personal papers.
    [Show full text]