On-line books, lecture notes, etc
-
Foundations of Computer Science,
by Larry Paulson (uses ML, 155pp)
-
How to Design Programs (TeachScheme! Project)
-
On Lisp, Paul Graham (432pp)
-
Lecture Notes on PROLOG , UNE
-
Concepts, Techniques and Models of Computer Programming,
Peter Van Roy & Seif Haridi (uses Mozart/Oz)
-
Structure and Interpretation of Computer Programs,
Abelson, Sussman, and Sussman
-
Structure and Interpretation of Computer Programs
(course, uses ML)
-
Unix System Programming with Standard ML, Anthony L Shipman
Programming language theory texts online
Functional programming
-
Tutorial Papers in Functional Programming
-
Book on programming in OCaml, by Jason Hickey
-
Introduction to Functional Programming (1995/6),
Mike Gordon (course page, includes lecture notes)
-
Introduction to Functional Programming (1996/7),
John Harrison (course page, includes lecture notes)
-
Introduction to Functional Programming using Gofer,
by P.E.Wentworth (100pp)
-
Functional Programming, Jeroen Fokker
(Gofer, similar to Hugs)
-
The Scheme Programming Language, R. Kent Dybvig
-
Course on Monads and Effects, N.Benton, J.Hughes and E.Moggi,
APPSEM Summer School (72pp)
-
Implementing Functional Languages -- A Tutorial, Simon Peyton-Jones
-
Foundations of Functional Programming, Larry Paulson
(lambda calculus and combinators, 58pp)
Standard ML
Theory, other
See also
Electronically Available Books and Other Sources (mainly Category Theory)
Lambda Calculus
Logic, Proof Theory
-
Proofs and Types , Jean-Yves Girard, Yves Lafont and Paul Taylor
-
Proof Theory , Helmut Schwichtenberg (80pp)
-
A Problem Course in Mathematical Logic, Stefan Bilaniuk
-
Proof-checking using Dependent Type Systems , Henk Barendregt and
Herman Geuvers, Handbook of Artificial Reasoning
-
Logic for Computer Science, Jean Gallier
-
Computation and Deduction , Frank Pfenning (312pp, uses Twelf)
-
Logic and Proof , Larry Paulson (78pp)
-
Higher Order Logic ,
Daniel Leivant (chapter of a handbook, Aug 1993)
-
Higher-Order Logic Programming , Gopalan Nadathur and Dale Miller
-
Proof Procedures in Logic Programming ,
Donald Loveland and Gopalan Nadathur
-
Tools and Techniques in Modal Logic , Marcus Kracht (540pp)
-
Logical Frameworks, David Basin, Sean Matthews (77pp)
-
Proof Interpretations and the Computational Content of Proofs
, Ulrich Kohlenbach (Draft, January 2006, ii+412pp.)
-
Logic for Computer Science, Steve Reeves
Programming languages - design, implementation
-
Principles of Programming Languages Course Notes. Oege de Moor
(draft, 190pp)
-
Advanced Programming Language Design, Raphael Finkel
-
Lecture Notes on The Implementation of Programming Languages,
Dijkstra, Atze and Swierstra, Doaitse
-
Lecture Notes on Grammars and Parsing,
Jeuring, J.T. and Swierstra, S.D
-
Introduction to Programming Languages, Anthony A. Aaby
-
Programming and Programming Languages,
Shriram Krishnamurthi, , Benjamin S. Lerner, Joe Gibbs Politz
-
Programming Languages: Application and Interpretation,
Shriram Krishnamurthi
-
Concepts, Techniques, and Models of Computer Programming,
Peter Van Roy and Seif Haridi (uses Oz)
-
Partial Evaluation and Automatic Program Generation ,
N.D. Jones, C.K. Gomard, and P. Sestoft
-
Notes on Object-Oriented Program Design, Robert ``Corky'' Cartwright
(on Java)
-
Thinking in Java , Bruce Eckel
-
Java Precisely , Peter Sestoft
-
Information Systems Developers Handbook , USQ
-
various by Thomas Streicher, including
- Introduction to Constructive Logic and Mathematics
- Mathematical Foundations of Functional Programming
- Category Theory and Categorical Logic
- Categorical Models of Constructive Logic
-
Programming Language Foundations in Agda, Wadler et al
Semantics, types
-
Semantics of types in programming languages, Carl A. Gunter
-
Semantic domains, Carl A. Gunter and Dana S. Scott, 46pp
-
Semantics of Programming Languages, Andrew Pitts (89pp)
-
An Introduction to Operational Semantics,
Sanjiva Prasad and S. Arun-Kumar
-
A Tutorial on (Co)Algebras and (Co)Induction,
Bart Jacobs and Jan Rutten (38pp)
-
Correspondence between Operational and Denotational Semantics,
Luke Ong, Handbook of Logic in Computer Science, Volume 4
-
Implementing Mathematics with The Nuprl Proof Development System,
(contains stuff on semantics, types)
-
notes on domain theory, Gordon Plotkin
-
Domain Theory, S. Abramsky, Achim Jung (handbook chapter, 168pp)
-
An Introduction to the Pi-Calculus, Joachim Parrow
(handbook chapter, 72pp)
-
Refinement Calculus: A Systematic Introduction,
Back, Ralph-Johan and von Wright, Joakim (522pp)
-
Homotopy Type Theory (490pp)
Rewriting
Surveys of Rewriting
mathematics
Introduction to Real Analysis, William F. Trench (583pp)
Slides