Invited speakers | |
Follow the links in table below for invited speakers' abstracts. | |
| David Moon | Genuine, full-power, hygienic macro system for a language with syntax |
| Gerald Jay Sussman | Evolvability and Robust Design |
| Shriram Krishnamurthi | The Moby Scheme Compiler for Smartphones, or, Is That a Parenthesis in Your Pocket? |
| Olin Shivers | The Anatomy of a Loop: A Story of Scope and Control |
Technical Papers | |
| John Amuedo | SciCL: Lisp Extensions for Scientific Computing |
| David L. Rager, Warren A. Hunt Jr. | Implementing a Parallelism Library for a Functional Subset of LISP |
| Hannes Mehnert | Automatically generated type-safe GTK+ binding for Dylan |
| Joseph Marshall | An Unexceptional Implementation of Continuations |
| Alexey Radul, Gerald Jay Sussman | The (Abridged) Art of the Propagator |
| Jans Aasman, Gary King | Unification of Geospatial Reasoning, Temporal Logic, & Social Network Analysis in Event-Based Systems |
| John D. Hastings, Alexandre V. Latchininsky | CARMA: Platform Freedom for a Graphical Lisp Application through Armed Bear Common Lisp |
| Jim Newton, Janez Jaklic, Martin Biehl | Rhapsody: How CLOS simplifies System-in-a-Package Design |
| Jorge Vallejos, Pascal Costanza, Tom Van Cutsem, Wolfgang De Meuter, Theo D'Hondt | Reconciling Generic Functions with Actors: Generic Function-driven Object Coordination in Mobile Computing |
| Didier Verna | CLOS Efficiency: Instantiation (On the Behavior and Performance of LISP, Part 2.1) |
| Howard Shrobe | Towards a Secure Programming Language: An Access Control System for CommonLisp |
| Robert P. Goldman, Steven A. Harp | Model-based Intrusion Assessment in Common Lisp |
| Alex S Fukunaga | A Parallel, Lisp-Based Genetic Programming System for Discovering Satisfiability Solvers |
| Tiago Maduro Dias, António Menezes Leitão | Jnil: From Java to Common Lisp |
Software Demonstrations | |
| Erin Fleming, Glenn House, Kyle McGivney | AutoPrice: Automatic Unit Price Forecasting Utilizing Multiple Regression in LISP |
| Emre Sevinç, Remzi Emre Başar, Boran Puhaloğlu | Common Lisp for a Common Cultural Recommendation System: Creating a Cultural Recommendation & Exploration Engine Using Semantic Web |
| Robert P. Goldman, John Maraist | SHOPPER: Interpreter for a High-level Web Services Language |
| Glenn D. House Sr., Charles A. Cox | Operational Assessment Support Information System (OASIS) |
| François-René Rideau, Spencer Brody | XCVB: Improving Modularity for Common Lisp |
| Jon L White | Syntactic Extension of Regular Expression Production Sets using Lisp |
| Alberto Riva | A Common Lisp Application for Large-Scale Bioinformatics |
Genuine, full-power, hygienic macro system for a language with syntax
David Moon
Programming Language for Old Timers (PLOT) is a hobby of mine. It is supposed to do everything "right" and avoid the mistakes, bad ideas, confusion, and compromises of past languages. It emphasizes cleanliness, flexibility, and extensibility. I will talk in particular about the macros, which might be the first genuine, full-power, easy-to-use, hygienic macro system for any language with syntax. I will also touch briefly on the very clean object system and on the somewhat idiosyncratic indentation-based syntax.
Dave Moon has worked at the M.I.T. Laboratory for Computer Science, Symbolics inc, and Apple Computer attempting to push the state of the art of dynamic languages. Eleven years ago he retired from that field. Since then he has worked on object-oriented databases at Object Design and Progress Software. He has two very intelligent children and resides in Lexington, Mass.
Evolvability and Robust Design
Gerald Jay Sussman, MIT (USA)
It is hard to build robust systems: systems that have acceptable behavior over a larger class of situations than was anticipated by their designers. The most robust systems are evolvable: they can be easily adapted to new situations with only minor modification. How can we design systems that are flexible in this way?
Observations of biological systems tell us a great deal about how to make robust and evolvable systems. Techniques originally developed in support of symbolic Artificial Intelligence can be viewed as ways of enhancing robustness and evolvability in programs and other engineered systems. By contrast, common practice of computer science actively discourages the construction of robust systems.
Robust designs are built on an additive infrastructure: there are exposed interfaces for attaching new functionality without serious disruption of preexisting mechanisms. Indeed, the ability to harmlessly duplicate a mechanism and then modify the copy to supply useful new functionality is one of the principal ploys appearing in natural evolution. What are the preconditions that support such augmentation? Can we engineers arrange our systems to be extensible in this way? Are there exploitable analogies between the techniques that we have created to make extensible artifacts and the mechanisms that we find in biological systems?
I will address these and related issues, and show, in terms of explicit and concrete examples, how some of the insights we glean can inform the way we do engineering in the age of information.
Gerald Jay Sussman is the Panasonic (formerly Matsushita) Professor of Electrical Engineering at the Massachusetts Institute of Technology. He received the S.B. and the Ph.D. degrees in mathematics from the Massachusetts Institute of Technology in 1968 and 1973, respectively. He has been involved in artificial intelligence research at M.I.T. since 1964. He has also worked in computer languages and in computer architecture and in VLSI design. Sussman was the principal designer of the Digital Orrery, a machine designed to do high-precision integrations for orbital- mechanics experiments. Using the Digital Orrery, Sussman and Wisdom, discovered numerical evidence for chaotic motions in the solar system. The Digital Orrery is now retired at the Smithsonian Institution in Washington DC. Sussman is a coauthor (with Hal Abelson and Julie Sussman) of, "Structure and Interpretation of Computer Programs," the introductory computer science textbook used at M.I.T. As a result of his contributions to computer-science education, Sussman received the ACM's Karl Karlstrom Outstanding Educator Award in 1990, and the Amar G. Bose award for teaching in 1991. Sussman is a fellow of the Institute of Electrical and Electronics Engineers (IEEE). He is a member of the National Academy of Engineering (NAE), a fellow of the American Association for the Advancement of Science (AAAS), a fellow of the American Association for Artificial Intelligence (AAAI), a fellow of the Association for Computing Machinery (ACM), a fellow of the American Academy of Arts and Sciences, and a fellow of the New York Academy of Sciences (NYAS). He is also a life member of the American Watchmakers-Clockmakers Institute (AWI), a member of the Amateur Telescope Makers of Boston (ATMOB), and a member of the American Radio Relay League (ARRL).
The Moby Scheme Compiler for Smartphones, or, Is That a Parenthesis in Your Pocket?
Shriram Krishnamurthi, Brown University (USA)
The Moby compiler translates a class of Scheme programs to execute on mobile phone platforms. These programs are written using PLT Scheme's World library, which provides special support for programming reactive systems. The result can be viewed as one of the first scripting platforms for writing reactive programs on smartphones.
The talk will describe reactive programming using World, present some architectural details about Moby, and include demonstrations.
Moby is joint work with Danny Yoo (WPI).
Shriram Krishnamurthi is an Associate Professor of Computer Science at Brown University. His recent work focuses on language support for interactive software, and on analyses for security policies. He is a co-author of the DrScheme programming environment, the Margrave access control policy analysis package, the Flapjax programming language, the FASTLINK genetic linkage analysis package, and the Continue conference paper manager. He is co-author of "How to Design Programs" and author of "Programming Languages: Application and Interpretation". He coordinates the decade-old TeachScheme! outreach program.
The Anatomy of a Loop: A Story of Scope and Control
Olin Shivers, Northeastern University, (USA)
In functional languages, we write loops with tail-recursive function calls. This is the equivalent of writing them as goto's. Given that loop packages for Lisp-family languages have been around for over 25 years, it is striking that none has had much success in the Scheme world. I suggest the reason is that Scheme forces us to be precise about the scoping of the various variables introduced by our loop forms, something previous attempts to design ambitious loop forms have not managed to do.
I will present the design of a loop package for Scheme with a well- defined and natural scoping rule, based on a notion of control dominance that generalizes the standard lexical-scope rule of the lambda-calculus. The new construct is powerful, clear, modular, and extensible.
The loop language is defined in terms of an underlying language for expressing control-flow graphs. This language itself has interesting properties as an intermediate representation. The whole system is an interesting example of exploiting Lisp's macro technology---one of its crown jewels---to implement entire "little languages."
Olin Shivers was an undergraduate at Yale University and earned his doctorate at Carnegie Mellon, where he studied AI and programming languages under Allen Newell and Peter Lee. A peripatetic scholar, he subsequently held research and faculty positions at Bell Labs, Hong Kong University, MIT, and Georgia Tech, before joining the faculty at Northeastern University. He has been the founder of three startup companies, most recently Smartleaf Corporation.
© alu 2009