Mutant Languages from the LISP Lab

Total Page:16

File Type:pdf, Size:1020Kb

Mutant Languages from the LISP Lab THEORY & PRACTICE Mutant languages from the LISP lab By Brian Hayes APL is like a diamond. It has a beau are a bunch of malcontents who will not Planning and conniving tiful crystal structure; all of its parts leave well enough alone. They all think Some of the most influential variations are related in a uniform and elegant they know better than anyone else how on LISP were conceived in the late 1960s way. But if you try to extend this struc the language ought to work. and early 1970s by Carl Hewitt of the ture in any way—even by adding an Rolling-mudball-gathers-lots-of-moss Massachusetts Institute of Technology. other diamond—you get an ugly kludge. theory. LISP is so easily extended that it The first of his languages, called PLAN LISP, on the other hand, is like a ball of sprouts new languages willy-nilly. Every NER,3 added to LISP a facility for goal- mud. You can add any amount of mud LISP program is a new version of LISP. directed programming. to it and it still looks like a ball of mud. There may be truth in all of these pro A PLANNER program had two parts: —Joel Moses, as paraphrased positions, but more substantial factors a data base of assertions and a set of by Guy Lewis Steele Jr. are also at work. One important point is procedures for proving theorems about and Gerald Jay Sussman1 that LISP has a simple syntax. Most of the assertions. For example, an assertion the work of computation in a LISP pro might state that Socrates is human, and I f you ask the aver gram is done by a single kind of expres a theorem might hold that anyone who is age programmer- sion, the function call, which takes the human is mortal. Given the goal of prov I in-the-street what following form: (function-name ing that Socrates was mortal, PLAN is important or distinctive about LISP, argument, argument2 arguments...). NER would attempt to apply every the answer will probably have something There is not much more to know about theorem it knew to every assertion in the to do with artificial intelligence. That the syntax of LISP programs. data base until it either satisfied the goal judgment is certainly understandable: Other computer languages, in contrast, or exhausted the possibilities. LISP and Al were born at the same time have given rise to strident debates over The idea of computing by proving and place to the same parents, which syntactic issues. (Is it better to bracket theorems has now become familiar makes them twin siblings. They remain statements with begin...end or with {...}? through the language PROLOG. PLAN constant companions. Nevertheless, I Should the semicolon be a terminator or NER definitely influenced the develop would argue that the real importance of a separator of statements? What is the ment of PROLOG,4 but the connection LISP lies elsewhere. best delimiter for comments?) In the should not be overemphasized; there are What sets LISP apart, in my view, is LISP community, questions like these fundamental differences between the two its role as a language laboratory. LISP is have largely been ignored. Most of the languages. In the first place, PLANNER a culture medium for computer lan languages that have grown out of LISP theorems were expressed in procedural guages: a nutrient broth where new ideas have adopted the syntax of the parent form, whereas PROLOG is a purely de emerge from the ooze, then mutate, language with little change. clarative language. Furthermore, PRO evolve, and cross-breed. Here I will re Dismissing the problem of syntax in LOG uses a more sophisticated theorem- view a few of the more interesting ex this offhand way has had two important proving strategy, called unification. periments to come out of the LISP effects. First, it has focused attention on (Soon after PROLOG appeared, of laboratory. semantics—on the meaning of expres course, it was implemented in LISP.5) sions rather than their form. Second, it The most conspicuous innovation in Why LISP has made the implementation of new lan PLANNER was its control structure: Why has LISP been the focus of all this guages within LISP much easier. Be from the programmer's point of view, linguistic experimentation? A number of cause parenthesized lists serve as a there was none. Procedures were invoked hypotheses have been offered: notation for both programs and data, the automatically by a pattern-matching Ivory-tower theory. Until recently, the same expression can be interpreted as process.6 In proving the mortality of Soc economic significance of LISP program data by the underlying LISP system and rates, any procedures matching the pat ming was nil. There was little commer as a program by the embedded language. terns (mortal ?x) or (human ?x) would cial pressure to standardize the language. Parsing a program-which is a major be triggered. The sequence of procedure Thus LISP evolved freely while other undertaking for a language such as Ada calls was not under the programmer's languages of the same generation, such or PL/I-becomes almost trivial. Most of control. PLANNER always made a as FORTRAN and COBOL, were fro the work is done by the built-in function depth-first search of the data base and zen in an early stage of development. ready which digests entire expressions in backtracked when it came to a dead end. Mother-of-invention theory. LISP has a single gulp. There is a certain irony in The full PLANNER language was been used to attack hard problems, the longevity and stability of LISP syn never implemented, but a subset called which demand powerful tools. LISP itself tax. The parenthesized prefix notation MicroPLANNER was written in Mac- has not been adequate so there has been was introduced in 1958 only as a tempo LISP (the MIT dialect of LISP) by Ger no choice but to build new and better rary measure to get the first LISP inter ald Jay Sussman, Terry Winograd, and languages. preter running.2 The plan was to replace Hotshot theory. LISP programmers it as soon as something better could be devised. Evidently, nothing better has turned up yet. 23 Eugene Charniak.7 Its most celebrated has little to do with Hewitt's work in compound data structure. In most lan use was in Winograd's SHRDLU pro LISP; ACTOR is implemented in a guages only simple values, such as num gram, which answered natural-language Forth-like language.) bers, have all of these rights and queries about a world of toy blocks. privileges, and in earlier LISPs proce Eliminating all control structures took Scheming dures were unquestionably second-class a lot of the bother out of programming, One small feature of the PLASMA lan citizens. Scheme emancipates them. but a search based on blind backtracking guage, seemingly nothing more than a The combination of lexical scope and did not make for dazzling efficiency. technical nicety, has had far-reaching first-class procedures encourages a dis CONNIVER,8 developed by Sussman consequences. To make the Actors model tinctive style of programming in Scheme, and Drew V. McDermott, was a succes work properly, PLASMA was based on emphasizing modularity and data ab sor to PLANNER with provisions for ex lexical scope rules, in which the value of straction. For example, a procedure plicit control of execution. CONNIVER a variable is determined by the textual named make-db might set up a private was PLANNER with a manual trans context in which it is defined. Tradition data base and then return another proce mission. Using the control facilities pro ally, LISP has employed dynamic scope dure as its value. When the latter proce vided by CONNIVER, the system could rules, in which values are determined at dure is called it has exclusive access to be instructed to examine all assertions the point where a variable is referenced. the data base. Moreover, each invocation about Socrates before looking at those Lexical scope was essential in PLASMA of make-db creates a new instance of the having to do with humans and mortals. because the acquaintances of an Actor data base and a new access procedure. are listed in the Actor definition and Acting must not be altered by any rebinding of Naming Hewitt's second linguistic experiment is the same names elsewhere in the Just as Scheme liberates procedures from called the Actors model of computa program. their second-class status, a language tion.9'10 Actors are independent entities In 1975 Sussman and Guy Lewis called Symmetric LISP is built on the that encapsulate both data and proce Steele Jr., while studying the Actors concept of first-class environments. Sym dures. A program (or a system of pro- model (out of "morbid curiosity," as they metric LISP is currently being developed grams-the distinction is blurred) put it), made a surprising discovery.13 by David Gelernter of Yale University, constitutes a society of Actors that com They had written a small Actors inter Suresh Jagannathan of MIT, and Thom municate with one another by sending preter with lexical scope rules and had as London of AT&T Bell Laboratories.17 messages. Each Actor is defined by two found that the constructs representing An environment is essentially a diction components: the set of messages it recog Actors took a familiar form: they were ary in which one can look up any vari nizes and the set of acquaintances with simply lambda expressions. able name and find the corresponding whom it can communicate.
Recommended publications
  • A Universal Modular ACTOR Formalism for Artificial
    Artificial Intelligence A Universal Modular ACTOR Formalism for Artificial Intelligence Carl Hewitt Peter Bishop Richard Steiger Abstract This paper proposes a modular ACTOR architecture and definitional method for artificial intelligence that is conceptually based on a single kind of object: actors [or, if you will, virtual processors, activation frames, or streams]. The formalism makes no presuppositions about the representation of primitive data structures and control structures. Such structures can be programmed, micro-coded, or hard wired 1n a uniform modular fashion. In fact it is impossible to determine whether a given object is "really" represented as a list, a vector, a hash table, a function, or a process. The architecture will efficiently run the coming generation of PLANNER-like artificial intelligence languages including those requiring a high degree of parallelism. The efficiency is gained without loss of programming generality because it only makes certain actors more efficient; it does not change their behavioral characteristics. The architecture is general with respect to control structure and does not have or need goto, interrupt, or semaphore primitives. The formalism achieves the goals that the disallowed constructs are intended to achieve by other more structured methods. PLANNER Progress "Programs should not only work, but they should appear to work as well." PDP-1X Dogma The PLANNER project is continuing research in natural and effective means for embedding knowledge in procedures. In the course of this work we have succeeded in unifying the formalism around one fundamental concept: the ACTOR. Intuitively, an ACTOR is an active agent which plays a role on cue according to a script" we" use the ACTOR metaphor to emphasize the inseparability of control and data flow in our model.
    [Show full text]
  • Oral History Interview with Severo Ornstein and Laura Gould
    An Interview with SEVERO ORNSTEIN AND LAURA GOULD OH 258 Conducted by Bruce H. Bruemmer on 17 November 1994 Woodside, CA Charles Babbage Institute Center for the History of Information Processing University of Minnesota, Minneapolis Severo Ornstein and Laura Gould Interview 17 November 1994 Abstract Ornstein and Gould discuss the creation and expansion of Computer Professionals for Social Responsibility (CPSR). Ornstein recalls beginning a listserve at Xerox PARC for those concerned with the threat of nuclear war. Ornstein and Gould describe the movement of listserve participants from e-mail discussions to meetings and forming a group concerned with computer use in military systems. The bulk of the interview traces CPSR's organizational growth, fundraising, and activities educating the public about computer-dependent weapons systems such as proposed in the Strategic Defense Initiative (SDI). SEVERO ORNSTEIN AND LAURA GOULD INTERVIEW DATE: November 17, 1994 INTERVIEWER: Bruce H. Bruemmer LOCATION: Woodside, CA BRUEMMER: As I was going through your oral history interview I began to wonder about your political background and political background of the people who had started the organization. Can you characterize that? You had mentioned in your interview that you had done some antiwar demonstrations and that type of thing which is all very interesting given also your connection with DARPA. ORNSTEIN: Yes, most of the people at DARPA knew this. DARPA was not actually making bombs, you understand, and I think in the interview I talked about my feelings about DARPA at the time. I was strongly against the Vietnam War and never hid it from anyone. I wore my "Resist" button right into the Pentagon and if they didn't like it they could throw me out.
    [Show full text]
  • Backmatter In
    Appendices Bibliography This book is a little like the previews of coming attractions at the movies; it's meant to whet your appetite in several directions, without giving you the complete story about anything. To ®nd out more, you'll have to consult more specialized books on each topic. There are a lot of books on computer programming and computer science, and whichever I chose to list here would be out of date by the time you read this. Instead of trying to give current references in every area, in this edition I'm listing only the few most important and timeless books, plus an indication of the sources I used for each chapter. Computer science is a fast-changing ®eld; if you want to know what the current hot issues are, you have to read the journals. The way to start is to join the Association for Computing Machinery, 1515 Broadway, New York, NY 10036. If you are a full-time student you are eligible for a special rate for dues, which as I write this is $25 per year. (But you should write for a membership application with the current rates.) The Association publishes about 20 monthly or quarterly periodicals, plus the newsletters of about 40 Special Interest Groups in particular ®elds. 341 Read These! If you read no other books about computer science, you must read these two. One is an introductory text for college computer science students; the other is intended for a nonspecialist audience. Abelson, Harold, and Gerald Jay Sussman with Julie Sussman, Structure and Interpretation of Computer Programs, MIT Press, Second Edition, 1996.
    [Show full text]
  • 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.
    [Show full text]
  • An Algebraic Theory of Actors and Its Application to a Simple Object-Based Language
    An Algebraic Theory of Actors and Its Application to a Simple Object-Based Language Gul Agha and Prasanna Thati University of Illinois at Urbana-Champaign, USA {agha,thati}@cs.uiuc.edu http://osl.cs.uiuc.edu/ 1 Introduction The development of Simula by Ole-Johan Dahl and Kristen Nygaard introduced a number of important programming language concepts – object which supports modularity in programming through encapsulation of data and procedures, the concept of class which organizes behavior and supports Abstract Data Types, and the concept inheritance which provides subtyping relations and reuse [6]. Peter Wegner terms programming languages which use objects as object-based languages, and reserves the term object-oriented languages for languages which also support classes and inheritance [58]. Concurrency provides a natural model for the execution of objects: in fact, Simula uses co-routines to simulate a simple form of concurrency in a sequen- tial execution environment. The resulting execution is tightly synchronized and, while this execution model is appropriate for simulations which use a global virtual clock, it is not an adequate model for distributed systems. The Actor Model unifies the notion of objects with concurrency; an actor is a concurrent object which operates asynchronously and interacts with other actors by sending asynchronous messages [2]. Many models for concurrent and distributed computation have been devel- oped. An early and influential model is Petri Nets developed by Carl Adam Petri [44]. In the Petri Net model, there are two kinds of elements – nodes and tokens. Nodes are connected to other nodes by fixed (static) links. Tokens are passed be- tween nodes using these links.
    [Show full text]
  • Actorscript™ Extension of C#®, Java®, Objective C®, Javascript ®, and Systemverilog Using Iadaptivetm Concurrency for Anti
    ActorScript™ extension of C#®, Java®, Objective C®, JavaScript®, and SystemVerilog using iAdaptiveTM concurrency for antiCloudTM privacy and security Carl Hewitt This article is dedicated to Ole-Johan Dahl and Kristen Nygaard. Message passing using types is the foundation of system communication: Messages are the unit of communication Types enable secure communication Actors ActorScript™ is a general purpose programming language for implementing iAdaptiveTM concurrency that manages resources and demand. It is differentiated from previous languages by the following: Universality o Ability to directly specify exactly what Actors can and cannot do o Everything is accomplished with message passing using types including the very definition of ActorScript itself. Messages can be directly communicated without requiring indirection through brokers, channels, class hierarchies, mailboxes, pipes, ports, queues etc. Programs do not expose low-level implementation mechanisms such as threads, tasks, locks, cores, etc. Application binary interfaces are afforded so that no program symbol need be looked up at runtime. Functional, Imperative, Logic, and Concurrent programs are integrated. A type in ActorScript is an interface that does not name its implementations (contra to object-oriented programming languages beginning with Simula that name implementations called “classes” that are types). ActorScript can send a message to any Actor for which it has an (imported) type. 1 o Concurrency can be dynamically adapted to resources available and current load. Safety, security and readability o Programs are extension invariant, i.e., extending a program does not change the meaning of the program that is extended. o Applications cannot directly harm each other. o Variable races are eliminated while allowing flexible concurrency.
    [Show full text]
  • Actor Model of Computation
    Published in ArXiv http://arxiv.org/abs/1008.1459 Actor Model of Computation Carl Hewitt http://carlhewitt.info This paper is dedicated to Alonzo Church and Dana Scott. The Actor model is a mathematical theory that treats “Actors” as the universal primitives of concurrent digital computation. The model has been used both as a framework for a theoretical understanding of concurrency, and as the theoretical basis for several practical implementations of concurrent systems. Unlike previous models of computation, the Actor model was inspired by physical laws. It was also influenced by the programming languages Lisp, Simula 67 and Smalltalk-72, as well as ideas for Petri Nets, capability-based systems and packet switching. The advent of massive concurrency through client- cloud computing and many-core computer architectures has galvanized interest in the Actor model. An Actor is a computational entity that, in response to a message it receives, can concurrently: send a finite number of messages to other Actors; create a finite number of new Actors; designate the behavior to be used for the next message it receives. There is no assumed order to the above actions and they could be carried out concurrently. In addition two messages sent concurrently can arrive in either order. Decoupling the sender from communications sent was a fundamental advance of the Actor model enabling asynchronous communication and control structures as patterns of passing messages. November 7, 2010 Page 1 of 25 Contents Introduction ............................................................ 3 Fundamental concepts ............................................ 3 Illustrations ............................................................ 3 Modularity thru Direct communication and asynchrony ............................................................. 3 Indeterminacy and Quasi-commutativity ............... 4 Locality and Security ............................................
    [Show full text]
  • Development of Logic Programming: What Went Wrong, What Was Done About It, and What It Might Mean for the Future
    Development of Logic Programming: What went wrong, What was done about it, and What it might mean for the future Carl Hewitt at alum.mit.edu try carlhewitt Abstract follows: A class of entities called terms is defined and a term is an expression. A sequence of expressions is an Logic Programming can be broadly defined as “using logic expression. These expressions are represented in the to deduce computational steps from existing propositions” machine by list structures [Newell and Simon 1957]. (although this is somewhat controversial). The focus of 2. Certain of these expressions may be regarded as this paper is on the development of this idea. declarative sentences in a certain logical system which Consequently, it does not treat any other associated topics will be analogous to a universal Post canonical system. related to Logic Programming such as constraints, The particular system chosen will depend on abduction, etc. programming considerations but will probably have a The idea has a long development that went through single rule of inference which will combine substitution many twists in which important questions turned out to for variables with modus ponens. The purpose of the combination is to avoid choking the machine with special have surprising answers including the following: cases of general propositions already deduced. Is computation reducible to logic? 3. There is an immediate deduction routine which when Are the laws of thought consistent? given a set of premises will deduce a set of immediate This paper describes what went wrong at various points, conclusions. Initially, the immediate deduction routine what was done about it, and what it might mean for the will simply write down all one-step consequences of the future of Logic Programming.
    [Show full text]
  • A Debate on Teaching Computing Science
    Teaching Computing Science t the ACM Computer Science Conference last Strategic Defense Initiative. William Scherlis is February, Edsger Dijkstra gave an invited talk known for his articulate advocacy of formal methods called “On the Cruelty of Really Teaching in computer science. M. H. van Emden is known for Computing Science.” He challenged some of his contributions in programming languages and the basic assumptions on which our curricula philosophical insights into science. Jacques Cohen Aare based and provoked a lot of discussion. The edi- is known for his work with programming languages tors of Comwunications received several recommenda- and logic programming and is a member of the Edi- tions to publish his talk in these pages. His comments torial Panel of this magazine. Richard Hamming brought into the foreground some of the background received the Turing Award in 1968 and is well known of controversy that surrounds the issue of what be- for his work in communications and coding theory. longs in the core of a computer science curriculum. Richard M. Karp received the Turing Award in 1985 To give full airing to the controversy, we invited and is known for his contributions in the design of Dijkstra to engage in a debate with selected col- algorithms. Terry Winograd is well known for his leagues, each of whom would contribute a short early work in artificial intelligence and recent work critique of his position, with Dijkstra himself making in the principles of design. a closing statement. He graciously accepted this offer. I am grateful to these people for participating in We invited people from a variety of specialties, this debate and to Professor Dijkstra for creating the backgrounds, and interpretations to provide their opening.
    [Show full text]
  • A Universal Modular ACTOR Formalism for Artificial Intelligence
    Session 8 Formalisms for Artificial Intelligence A Universal Modular ACTOR Formalism for Artificial Intelligence Carl Hewitt Peter Bishop __ Richard Steiger Abstract This paper proposes a modular ACTOR architecture and definitional method for artificial intelligence that is conceptually based on a single kind of object: actors [or, if you will, virtual processors, activation frames, or streams]. The formalism makes no presuppositions about the representation of primitive data structures and control structures. Such structures can be programmed, micro-coded, or hard wired in a uniform modular fashion. In fact it is impossible to determine whether a given object is "really" represented as a list, a vector, a hash table, a function, or a process. The architecture will efficiently run the coming generation of PLANNER-like artificial intelligence languages including those requiring a high degree of parallelism. The efficiency is gained without loss of programming generality because it only makes certain actors more efficient; it does not change their behavioral characteristics. The architecture is general with respect to control structure and does not have or need goto, interrupt, or semaphore primitives. The formalism achieves the goals that the disallowed constructs are intended to achieve by other more structured methods. PLANNER Progress "Programs should not only work, but they should appear to work as well." PDP-1X Dogma The PLANNER project is continuing research in natural and effective means for embedding knowledge in procedures. In the course of this work we have succeeded in unifying the formalism around one_ fundamental concept: the ACTOR. Intuitively, an ACTOR is an active agent which plays a role on cue according to a script.
    [Show full text]
  • Conference Program the 34Th Annual CHI Conference on Human Factors in Computing Systems San Jose Convention Center SCHEDULE of EVENTS
    San Jose, CA, USA May 7 - 12 Conference Program The 34th Annual CHI Conference on Human Factors in Computing Systems San Jose Convention Center https://chi2016.acm.org SCHEDULE OF EVENTS Saturday, May 7 Sunday, May 8 09:00 - 17:00 Workshops & Symposia 09:00 - 17:00 Workshops & Symposia #chi4good Day of Service Doctoral Consortium 17:00-18:00 Newcomer’s Welcome Reception Monday, May 9 Tuesday, May 10 08:30 - 10:00 Opening Keynote: Dayo Olopade 08:30 - 09:20 Plenary: Kimberly Bryant in 10:00 - 11:30 Coffee Break conversation with Sarah Guthals Video Showcase 09:30 - 10:50 Technical Sessions Student Game Finalist Exhibition 10:50 - 11:30 Coffee Break 11:30 - 12:50 Technical Sessions Interactive Demos Open 12:50 - 14:30 Lunch Break Student Game Finalist Exhibition lunch@chi 11:30 - 12:50 Technical Sessions 14:30 - 15:50 Technical Sessions 12:50 - 14:30 Lunch Break 15:50 - 16:30 Coffee Break Diversity Lunch 16:30 - 17:50 Technical Sessions 14:30 - 15:50 Technical Sessions 18:00 - 19:30 Opening Reception and Exhibit Hall 15:50 - 16:30 Coffee Break Grand Opening Interactive Demos Open Interactivity Demos Open 16:30 - 17:50 Technical Sessions 18:00 - 19:30 Job Fair Art Exhibition Opening Wednesday, May 11 Thursday, May 12 08:30 - 09:20 Plenary: Marissa Mayer in 08:30 - 09:20 Plenary: Alan Kay in conversation conversation with Terry Winograd with Vishal Sikka 09:30 - 10:50 Technical Sessions 09:30 - 10:50 Technical Sessions 10:50 - 11:30 Coffee Break 10:50 - 11:30 Coffee Break Interactive Demos Open Interactive Demos Open 11:30 - 12:50 Technical
    [Show full text]
  • Perspectives on Papert
    Winter 1999 Volume 17 f Number 2 PERSPECTIVES ON PAPERT INSIDE The History of Mr. Papert Dreams, Realities, and Possibilities • Papert's Conjecture About the Variability of Piagetian Stages Papert, Logo, and Loving to Learn Mixed Feelings about Papert and Logo • Polygons and More • Explaining Yourself • Book Review, Logo News, Teacher Feature Gtste Volume 17 I Number 2 Editorial Publisher 1998-1999 ISTE BOARD OF DIRECTORS Logo Exchange is published quarterly by the In­ International Society for Technology in Education ISTE Executive Board Members ternational Society for Technology in Education Lynne Schrum, President University of Georgia­ Special Interest Group for Logo-Using Educa­ Editor-in-Chief tors. Logo Exchange solicits articles on all as­ Gary S. Stager, Pepperdine University Athens (GA) Heidi Rogers, President-Elect University of Idaho pects of Logo use in education. [email protected] Cheryl Lemke, Secretary Milken Family Submission of Manuscripts Foundation (CA) Copy Editing, Design, & Production Manuscripts should be sent by surface mail on Ron Richmond Michael Turzanski, Treasurer Cisco Systems, a 3.5-inch disk (where possible). Preferred for­ Inc. (MA) mat is Microsoft Word for the Macintosh. ASCII Founding Editor Chip Kimball, At Large Lake Washington files in either Macintosh or DOS format are also Tom Lough, Murray State University School District (WA) welcome. Submissions may also be made by elec­ Cathy Gunn, At Large Northern Arizona tronic mail. Where possible, graphics should be Design, Illustrations & Art Direction University Peter Reynolds, Fablevision Animation Studios submitted electronically. Please include elec­ pete @fablevision.com ISTE Board Members tronic copy, either on disk (preferred) or by elec­ Larry Anderson Mississippi State University tronic mail, with paper submissions.
    [Show full text]