Overview
This is a list of special operators for the compiler team to complete in order to define a base set of operators. This base set will comprise most of the functionality of Common Lisp and serve as a second intermediate language for future compiler writers.
The complete list of special operators listed by the Hyperspec, starred (*) operators are slated for this semester.
http://clforjava.cs.cofc.edu/references/HyperSpec/Body/03_ababa.htm#clspecialops
*block *let* *return-from
catch load-time-value *setq
*eval-when locally symbol-macrolet
flet macrolet *tagbody
*function *multiple-value-call the
*go multiple-value-prog1 throw
*if *progn unwind-protect
labels progv
*let *(have quote)quote
Non special operators list for this semester:
declare
multiple-value-bind
Not Done Yet
Status in the followng list can be one of 5 states: not started, begun, in midst, near end, and done for now. Each of the states can also have the optional modifier of 'halted, waiting for help' along with the current status.
MULTIPLE-VALUE-BIND is a macro, and is slated for completion when both special function arguments are implemented and macros are working.
Completed
| Special Operator |
Team Member Assigned |
| BLOCK |
James |
| FUNCTION |
Barron |
| GO |
Brad |
| IF |
Barron |
| LAMBDA |
James |
| LET |
Brad |
| LET* |
Brad |
| MULTIPLE-VALUE-CALL |
Barron |
| PROGN |
Brad |
| QUOTE |
Barron, James |
| RETURN-FROM |
James |
| SETQ |
Brad |
| TAGBODY |
Brad |