Tutorial sessions will be held on Sunday, June 19. Tutorial registration is included within the Full Registration fee and with Daily Registration for June 19.
Extended Tutorial: Common Lisp in One Day
The goal of this tutorial is to provide an introduction to Common Lisp for absolute beginners. We really will start at the beginning (although we will assume that you have some other programming experience); if you already know Lisp then this isn't the place for you.
We'll work intensively, as our aim will be to cover enough ground to deliver a good feel for what Lisp is about, how much it's influenced other languages over the years, and why it's still such a cool language to program in. We can't cover everything in eight hours, but by the end you should have the confidence to make sense of mainstream reference material, understand other people's code, and start writing your own.
Part of the session will be a hands-on practical, so you will have to bring a computer with you. (If this is absolutely impossible, let us know and we'll see what we can do to arrange a machine for you, but we may have to negotiate a charge to cover any costs.)
It is expected that you will have installed Common Lisp on your machine before you arrive. You'll find a list of implementations on the ALU Wiki. Several implementations come with a "free personal" edition; these will undoubtedly all be eminently suitable for our purposes.
Tutors will be on hand during the practical sessions with experience of both Allegro (available on Windows, Linux, FreeBSD and Mac OS X) and LispWorks (Windows, Linux and Mac OS X). A Lisp which comes with graphical development tools is to be preferred. Feel free to contact us if you're in any doubt. In any case, if you want to use an implementation other than one of those listed above, please discuss it with us in advance so that we can arrange for a tutor with relevant experience to be present.
You are asked to register in advance your intention to attend this tutorial, so that we can plan for numbers. Send mail to:
Nick Levine
Nick Levine has worked with Common Lisp since the late 1980s, first at Harlequin and more recently as a contractor for Ravenbrook. In between, he taught undergraduates at APU (Cambridge UK's other university); this tutorial is based among other things on his Lisp lectures which are available on-line.
Making Environments accessible in Common Lisp
Environments are essential to the correct compilation and evaluation of Common Lisp forms and programs. However, environments are not first-class, in the sense that they cannot be easily examined and manipulated as can most other Common Lisp objects. The ANSI X3J13 committee recognized this need, and attempted to define accessors and constructors for environment objects, but decided not to standardize them due to semantic difficulties. At Franz Inc, we have created "Environments Access", a potential portable reference implementation of this functionality, and will eventually release it as open source.
We will explore a conceptual alist-style implementation of environments, and then explore the pros and cons for this traditional approach. This will set the background for the design goals of the Environments Access module, which we will explore in some detail. We will also look at the interface differences between the CLtL2 Environments interface and the module. We will then construct and manipulate environment objects by hand, a portable task that can be demonstrated on various free Lisps other than Allegro CL, and we will demonstrate some of the integration that can be provided by Lisp vendors if they so choose (we will use Allegro CL as an example). If time permits, we may explore some code-walking techniques and ideas for future enhancements.
In order for attendees to benefit from this class, they must have a basic working knowledge of Common Lisp compilation and evaluation. Knowledge of distinctions between compile-time, load-time, and execute-time is helpful, and some experience with eval-when issues is desirable (though it is not necessary to completely understand the eval-when mechanism, only why it is there and some of the problems it solves). For background reading, an understanding of "Common Lisp, the Language" (second edition), Section 8.5, "Environments" (pages 207 - 214) would be helpful.
Duane Rettig
Duane Rettig, Senior Software Engineer, holds a BA in Computer Mathematics from San Jose State University. He has been with Franz since September, 1987. Previously, he was employed as a Staff Engineer and a Manager at Amdahl Corp for 6 years in the area of hardware testing. Prior to working at Amdahl, he held engineering positions in testing at Memorex and Information Storage Systems (ISS), two disk drive manufacturers. He has had experience in both hardware and software fields since 1973.
As a test engineer, Mr. Rettig wrote various compilers and Artificial Intelligence programs, including a Forth interpreter, a macro preprocessor for test pattern generation, a Guided Fault Isolation program to help technicians find defects in circuit boards, and a natural language English Grammar parser. While at Amdahl, he ported Franz Lisp (from UC Berkeley), Macsyma, and Allegro CL to the IBM 370 Architecture. At Franz Inc., Mr. Rettig has the responsibility of porting, maintaining, and enhancing the basic Allegro CL product and compiler on all architectures.
SWCLOS: Semantic Web Processing in CLOS
SWCLOS is a Semantic Web processor built on top of CLOS which represents vocabularies defined in RDFS and OWL as CLOS objects that obey the semantics of RDF and OWL. SWCLOS allows Lisp programmers to build ontologies in RDFS and OWL, and write diverse Semantic Web applications naturally in Common Lisp. For example, using SWCLOS programmers can internally process RDF descriptions as S-expressions and externally communicate information in the RDF/XML encodings of the Semantic Web. SWCLOS also provides the following functionality.
This tutorial presents participants with basic RDFS/OWL knowledge and hands-on experience writing programs using the open source SWCLOS library on Allegro CL 7.0. Attendees will get started with Semantic Web programming in Lisp.
Attendees are expected to prepare ACL 7.0 (the enterprise version is preferable but the trial version is acceptable with slight modifications which can be performed during the tutorial) if they want to run SWCLOS during the tutorial session.
Seiji Koide
Seiji Koide, General Manager of Galaxy Express Corporation in Japan, has been a Lisp programmer since MacLisp and Xerox Lisp. He developed several Lisp applications in the real world and directed a National Project in Japan. At present, he is also a project manager of a National Project "Building Support Systems for Large-Scale Systems Using Information Technology", from which SWCLOS has been developed as one of its products.
Music Composition in Lisp
A hands-on introduction to computer-based music composition that presents some of the essential concepts and techniques used in algorithmic composition. Topics covered during the workshop include:
As topics are introduced each participants will work with a series of structured examples/exercises that they will edit to produce different effects. All presentation materials, program source code and musical examples will be available for participants to take with them.
Participants are strongly encouraged bring a laptop (preferrably running Linux or OS X) with the most recent versions of one application choice from the following software categories:
Tutorial will take place at CCRMA - Center for Computer Research in Music and Acoustics. CCRMA is temporarily located in the Wilbur Modules B and C at the intersection of Escondido Road and Campus Drive.
Heinrich Taube
Heinrich Taube is an associate professor of music composition at the University of Illinois. He received his B.A. and M.A. in Music Composition from Stanford University, where he studied with John Chowning, and his Ph.D. in composition at The University of Iowa.
Active as a composer, researcher, and music software designer, Taube has published music, books and numerous articles on issues related to music composition and technology. His book on algorithmic music composition Notes from the Metalevel, an Introduction to Algorithmic Composition, was published in 2004 by Thompson Publishing. Taube has won awards for both his musical compositions and for his software. The Aeolian Harp, a composition for piano and computer generated tape, recently won the Eric Siday Musical Creativity Award as the top composition submitted to the 2003 International Computer Music Conference. In 1996 the Common Music software environment won 1st Prize at the First International Competition of Music Software in Bourges, France. In 1995 Taube joined the faculty at the School of Music at the University of Illinois where he currently teaches music composition, music theory, acoustics and computer-music related classes along with pursuing his own music and research.
© alu 2005