SE701:March 26
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 ...)