CSCI 330: Reference material

Functional programming and lisp
Recommended:
ANSI Common Lisp (pdf) (Paul Graham)
Beating the averages (also by Graham)
Common lisp cookbook (github)
Functional Programming for the rest of us (Akhmechet at defmacro)
The Nature of Lisp (also by Akhmechet)
Let over lambda - 50 years of Lisp (D. Hoyte)
Additional
Common Lisp the Language 2nd ed. (Guy Steele)
Practical Common Lisp (Sellars)
interesting list including variety of common lisp links (Losh)

Steel Bank Common Lisp (/usr/bin/sbcl): documentation

C and C++
Regular expressions and grammars for C
  -   yacc-based grammar for C
  -   lex-based grammar for tokenizing C
C++ reference (CPlusPlus.com)
The C preprocessor
Reversing C++ Sabanal/Yason (Speakers BlackHats USA: DC '07)
GNU C Library Documentation (gnu.org)
C's handling of dynamic memory (wikipedia)
- the GNU approach (sourceware.org) and dlmalloc source
Smart pointers (Andrei Alexandrescu)
My notes and code examples from 160 and 161

Language features and implementation
Recommended:
Scope and binding
Run-time stack organization
Data types
Techniques for describing syntax and semantics
  - a sample grammar for c
  - a summary of operator precedence and associativity for c (cppReference.com)
Expressions
Control (selection and iteration)
Subprograms
Tail recursion
ADTs and OO languages
Exception handling
Additional:
Programming Languages: Application and Interpretation (Krishnamurthi)
Parsing Topics (Hursh Jain)

Resource lists
Leone @ CMU
Leavens @ UCF


Extra topics, time permitting

Logic programming and prolog
Recommended:
Dave's prolog notes
Learn Prolog Now! (Blackburn, Bos, Striegnitz)
Additional:
our system prolog docs (pdf)
online gprolog docs
Logic, programming, and prolog (2nd ed.) (Nilsson and Maluszynski)