Classic Resources ================= Classic Webpages -------------- ### Mathematics * [Poincaré on intuition in mathematics - MacTutor History of Mathematics](https://mathshistory.st-andrews.ac.uk/Extras/Poincare_Intuition/) Classic Books -------------- ### Algebraic Logic * A Formalization of Set Theory without Variables (borrow @ [archive.org](https://archive.org/details/formalizationofs0000tars_d3r8)) ### Compiler Construction * Compilers: Principles, Techniques, and Tools (1st Ed.) (online @ [archive.org](https://archive.org/details/addison-wesley-aho-sethi-ullman-compilers-principles-techniques-and-tools)) (borrow with print disabilities @ [archive.org](https://archive.org/details/compilersprincip0000ahoa)) ### Computational Complexity * Computers and Tractability (borrow @ [archive.org](https://archive.org/details/computersintract0000gare)) ### Forth * Forth: A Language for Interactive Computing (online @ [www.ultratechnology.com](https://www.ultratechnology.com/4th_1970.pdf)) ### Lambda Calculus * The Calculi of Lambda-Conversion (online @ [archive.org](https://archive.org/details/AnnalsOfMathematicalStudies6ChurchAlonzoTheCalculiOfLambdaConversionPrincetonUniversityPress1941), [archive.org](https://archive.org/details/the-calculi-of-lambda-conversion-couverture-alonzo-church-princeton-university-p)) (borrow with print disabilities @ [archive.org](https://archive.org/details/calculioflambdac0000chur)) ### Lisp * Lisp 1.5 Programmer's Manual (online @ [archive.org](https://archive.org/details/DTIC_AD0406138)) (borrow @ [archive.org](https://archive.org/details/lisp15programmer00john)) * The Little Lisper (online @ [archive.org](https://archive.org/details/tlLISP)) ### Logic * Mathematical Logic (Kleene) (borrow @ [archive.org](https://archive.org/details/mathematicallogi0000klee)) * Mathematical Logic (Quine) (online @ [archive.org](https://archive.org/details/QUINEMathematicalLogic)) ### Numerical Analysis * Numerical Recipes (online @ [archive.org](https://archive.org/details/NumericalRecipes) (C)) (borrow @ [archive.org](https://archive.org/details/numericalrecipes0000unse) (Pascal, 1989), [archive.org](https://archive.org/details/numericalrecipes0000unse_v2g0) (C, 1992)) (borrow with print disabilities @ [archive.org](https://archive.org/details/numericalrecipes00pres) (FORTRAN, 1986)) ### Prolog * Programming in PROLOG (borrow @ [archive.org](https://archive.org/details/programminginpro00cloc)) ### Retrocomputing * How to Build a Working Digital Computer (online @ [archive.org](https://archive.org/details/howtobuildaworkingdigitalcomputer_jun67)) ### Software Engineering * Advanced Programming in the Unix Environment (borrow @ [archive.org](https://archive.org/details/isbn_9789812358813)) (borrow with print disabilities @ [archive.org](https://archive.org/details/advancedprogramm00stev), [archive.org](https://archive.org/details/advancedprogramm0000stev)) ### Theory of Computation * Computation: Finite and Infinite Machines (borrow @ [archive.org](https://archive.org/details/computationfinit0000mins)) Classic Papers -------------- ### Agile Development * [A typology of organisational cultures](https://qualitysafety.bmj.com/content/13/suppl_2/ii22) ### Attribute Grammars * Semantics of Context-Free Languages (online @ [www.khoury.northeastern.edu](https://www.khoury.northeastern.edu/home/chadwick/files/knuth.pdf)) ### Formal Language * [The Hardest Context-Free Language](https://epubs.siam.org/doi/10.1137/0202025) ### Genetic Programming * [A Representation for the Adaptive Generation of Simple Sequential Programs](https://web.archive.org/web/20051204112804/http://www.sover.net/~nichael/nlc-publications/icga85/index.html) ### Logic Programming * The Semantics of Predicate Logic as a Programming Language (online @ [doc.ic.ac.uk](https://www.doc.ic.ac.uk/~rak/papers/kowalski-van_emden.pdf)) ### PLDI * Fundamental Concepts in Programming Languages (online @ [ics.uci.edu](https://ics.uci.edu/~jajones/INF102-S18/readings/05_stratchey_1967.pdf)) * Definitional interpreters for higher-order programming languages (online @ [homepages.inf.ed.ac.uk](https://homepages.inf.ed.ac.uk/wadler/papers/papers-we-love/reynolds-definitional-interpreters-1998.pdf)) ### Partial Evaluation * [Partial Evaluation of Computation Process—An Approach to a Compiler-Compiler](https://static.aminer.org/pdf/PDF/001/006/665/partial_evaluation_of_computation_process_an_approach_to_a_compiler.pdf) * [A partial evaluator for the untyped lambda-calculus](https://www.cambridge.org/core/journals/journal-of-functional-programming/article/partial-evaluator-for-the-untyped-lambdacalculus/EE324F936F0A009B6766B13FF6755DFC) ### Refinement Calculus * Can Programming Be Liberated from the von Neumann Style? (online @ [dl.acm.org](https://dl.acm.org/doi/10.1145/359576.359579)) * The specification statement (online @ [dl.acm.org](https://dl.acm.org/doi/10.1145/44501.44503)) ### Software Engineering * Programming as Theory Building (online @ [pages.cs.wisc.edu](https://pages.cs.wisc.edu/~remzi/Naur.pdf)) ### TLA(plus) * [The Temporal Logic of Actions](https://archive.org/details/bitsavers_dectechrep_507277) ### Topology * The Lattice of Topologies: Structure and Complementation (online @ [www.ams.org](https://www.ams.org/journals/tran/1966-122-02/S0002-9947-1966-0190893-2/S0002-9947-1966-0190893-2.pdf)) ### Type Systems * A Theory of Type Polymorphism in Programming (online @ [homepages.inf.ed.ac.uk](https://homepages.inf.ed.ac.uk/wadler/papers/papers-we-love/milner-type-polymorphism.pdf)) * Abstract Types have Existential Type (online @ [homepages.inf.ed.ac.uk](https://homepages.inf.ed.ac.uk/gdp/publications/Abstract_existential.pdf)) Classic Repositories -------------- ### Forth * [monsonite/1968-FORTH: Original Forth for 1BM 1130 written by Charles Moore in 1968.](https://github.com/monsonite/1968-FORTH) * [ForthHub/F83: F83 Forth by Laxen & Perry](https://github.com/ForthHub/F83)