SE701:March 26

From Marks Wiki
Revision as of 05:27, 3 November 2008 by Mark (talk | contribs) (3 revision(s))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Possible Screencasts

Please note this is my perception of what was said in the lecture. It may or may not be correct.

Packages

  • Explain the basic idea of packages
  • Mechanics in Lisp -> how to create a package
  • Symbol syntax used (package-name ::symbol)
  • Other weird stuff -> #:symbol , : keyword, (symbol-name ...), (intern ...)

Macros

  • Basic idea: transformation of source code at compile time
  • Back quote, comma, (comma, @)
  • Only once evaluation
  • Avoiding variable capture
  • Pragmatics

Collections

  • Operations for mapping
  • Search
  • Reduce - reducing list to single value
  • For lists, vectors etc.
  • Simple (equality) operations and high order function versions (?)

Non-standard method combination

i.e. :before :after :around methods

  • Syntax for specifying :before :after :around
  • Semantics
  • Interaction with multiple inheritance
  • Examples of use
  • Contrast and compare Lisp with AspectJ

Conditions

  • Condition classes (simplified class type)
  • Separation of raising an error from unwinding the stack
  • Coding handlers

Hashes

  • (make-hash-table ...)
  • :test eql or equal
  • (get hash ...) (setf(get hash ...))
  • Loop support for iterating over keys and values

Multiple Values

  • (get hash ...)
  • (values principle-value ...)