Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Allegro CL Certification Program Lisp Programming Series Level I Presented by About Lois Wolf • Been working with Lisp since 1984 • [email protected] About Franz Inc. • • • • • Founded in 1984 Lisp & Lisp Tools/Applications http://www.franz.com For general information: [email protected] For technical support: [email protected] Our Goals for the Course • Detailed exposure to core features of Common Lisp • Use of Allegro IDE to compile, test, and debug applications Format of the Course • One 2-hour presentation each week – Lecture – Question and answer – Sample code • Lecture notes and homework available, online at http://www.franz.com/lab/ • One-on-one help via email at [email protected] Session 1 (today) • Grand overview of ANSI Common Lisp – How it came to be – What it is – What it is good for • Overview of the Allegro Product Suite • Getting started in the IDE • Top Ten basic things you need to know about Lisp programming • Lisp coding conventions Session 2 • Iteration – Dolist, dotimes, do, loop, recursion • Conditional Control Structures – If, when, unless, cond, case, ecase • Associating a variable with a value – Let, let*, defvar, defconstant – Scope and Extent • Exiting a context – Exit capabilities specific to a control structure – Return, throw/catch, unwind-protect Session 3 • Lists – How to make them, how to use them – Anatomy of a list • Numbers – Numeric functions – Numeric conversions Session 3, cont’d • Arrays • Sequences – Lists, vectors, strings • Some Other Data Types – Symbols, characters, Homework • Lisp is best learnt by hands-on experience • Many exercises for each session • Will dedicate class time to reviewing exercises • Email Lois Wolf for one-on-one assistance doing the homework or any other questions relevant to the class – [email protected] Getting Allegro Common Lisp • This class is based on Allegro CL 6.2. • Trial version should be sufficient for this module – Download free from http://www.franz.com/ • I will be using ACL on Windows • You can use ACL on UNIX, but the development environment is different, and I won't be showing how to use it. Getting Documentation • Allegro Common Lisp: – http://www.franz.com/support/documentation/ • ANSI Common Lisp specification – http://www.franz.com/support/documentation/6 .2/ansicl/ansicl.htm • Can’t remember the name – But it contains the word “bit” – Permuted index under ‘bit’ Documentation in the IDE • • • • • Accessible from the trial version Help:Tree of Knowledge Help:ANSI Common Lisp Help:Allegro CL Documentation Help:Symbol Index – Help on Selected Symbol • Indexes What's On My Bookshelf • Common Lisp, The Language, 2nd Edition. Guy L. Steele Jr. (1990, Digital Equipment Corporation. • ANSI Common Lisp (Paul Graham 1996, Prentice Hall). Excellent instructive text for basic language features. • On Lisp, Advanced Techniques for Common Lisp (Paul Graham 1994, Prentice Hall). Excellent instructive text for advanced techniques. More On My Bookshelf • Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp. Peter Norvig (1992, Morgan Kaufman). Excellent book on AI with well written lisp code. • Object-Oriented Programming in Common Lisp, A Programmer's Guide to CLOS. Sonya E. Keene (1989, Symbolics). • The Art of the Metaobject Protocol. Kiczales et. al. (1991, MIT). Advanced book on concepts of object-oriented programming in Common Lisp. Excellent, but don't bother until you have a year or two of experience. One More Book • Basic Lisp Techniques. David J. Cooper, Jr.