presentation source

Download Report

Transcript presentation source

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.