Interesting resources
Click on the map to jump to sections like:
Programming Languages
-
1880-1951 [Punched-Card-Equipment] Early Punched Card Equipment
-
1945 [EDVAC]
-
1946 [ENIAC]
-
1948 [Merge-Sort]
-
1950 [EDSAC]
-
1952 [Subroutine]
-
1957 [FORTRAN]
-
1960 [ALGOL]
-
1960 [LISP], [LISP-History]
-
1964 [Landin-Eval]
-
1966 [Landin-Next]
-
1966 [SIMULA]
-
1969 [Hoare-Axiomatic]
-
1970 [GEDANKEN]
-
1973 [Backus-Semantics]
-
1973 [Hoare-Design]
-
1974 [Liskov]
-
1975 [Scheme]
-
1978 [Rabbit]
-
1978 [Kernighan-Ritchie]
-
1978 [Backus-Functional]
-
1979 [Floyd-Paradigms]
-
1979 [Awk]
-
1981 [Hoare-Emperor]
-
1982 [Brooks-Compiler]
-
1983 [MacLennan-OO]
-
1991 [SELF]
-
1997 [Squeak]
-
2020 [Hickey-History]
Complexity
-
1972 [Parnas-Modules]
-
1975 [Man-Month]
-
1981 [MacLennan-Values]
-
1982 [Swartout-Balzer]
-
1987 [No-Silver-Bullet]
-
1993 [Baker-Equality]
-
1994 [Parnas-Aging]
-
2006 [Moseley-Marks]
-
Hickey
Functional Programming
-
1960 [LISP]
-
1973 [Milner]
-
1978 [Backus-Functional]
-
1979 [VAL]
-
1986 [Holloway-Survey]
-
1989 [Hudak-History]
-
1989 [Held-Carlis]
-
1989 [Hughes-Why]
-
1989 [Linda]
-
1989 [Bird]
-
1991 [Meijer]
-
1992 [Wadler-Essence]
-
1993 [Baker-Equality]
-
2011 [Simple-Made-Easy]
-
2012 [Value-of-Values]
-
1979 [Turner-Applicative]
-
1982 [Turner-Recursion]
-
1988 [Cann-Oldehoeft]
-
1989 [Cann-Thesis]
-
1983 [SAL]
-
1985 [SISAL]
-
1988 [Gharachorloo]
-
1988 [Gopinath-Thesis]
-
1997 [Sisal-Model]
-
2001 [Sisal-Real-World]
-
2002 [Bohm-Single]
List Processing
-
1956 [Newell-Process]
-
1957 [Newell-Machine]
-
1958 [Shaw-Processing]
-
1959 [Newell-Solving]
-
1960 [Gelernter]
-
1960 [LISP]
-
1960 [Collins]
-
1960 [Perlis-Symbol]
-
1961 [Weizenbaum-Knotted]
-
1964 [Landin-Eval]
-
1965 [Wilkes-Lists]
Data Flow
-
1971 [Morrison]
-
1974 [Dennis]
-
1977 [Ackerman-Memory]
-
1984 [Ackerman-Thesis]
-
1989 [Nikhil-Dataflow]
-
1992 [Bawden-Thesis]
-
1994 [Whiting-History]
Tree Structures
-
1962 [AVL-Tree]
-
1963 [Landauer]
-
1971 [Binary-B-tree]
-
1978 [Red-Black-Tree]
-
1982 [Huddleston-Weak]
-
1985 [Splay-Tree]
-
1990 [Skip-List]
-
1996 [Treap]
-
1970 [B-tree]
-
1979 [Comer]
-
1981 [Maier]
-
1981 [Culik]
-
1986 [Easton]
-
1996 [LSM-Tree]
-
1977 [Nicklas]
-
1981 [Huddleston-Robust]
-
2000 [SQLite]
-
2006 [Fossil]
Tries
-
1960 [Trie]
-
1977 [Prefix-B-Tree]
-
1981 [Litwin-Trie]
-
1986 [Flajolet-Sedgewick]
-
2000 [Bagwell-Search]
-
2001 [Ideal-Hash-Tree]
Memory
-
1965 [Moore]
-
1967 [Working-Set]
-
1970 [Virtual-Memory]
-
1991 [Gupta]
-
1994 [Slab-Allocator]
-
1995 [Wilson-Malloc]
-
2000 [Manegold]
-
2003 [ZFS]
-
1960 [LISP]
-
1967 [Schorr-Waite]
-
1975 [Steele-GC]
-
1982 [Hudak-Distributed]
-
1985 [Hughes-GC]
-
1987 [Appel-GC]
-
1990 [Baker-Unify]
-
1992 [Baker-Treadmill]
-
1992 [Wilson-GC]
-
2001 [Domani-GC]
-
2004 [Bacon-GC]
-
1960 [Collins]
-
1986 [Hudak-RC]
-
1989 [Hederman]
-
1994 [Baker-Pointers]
-
1996 [Chirimar]
Persistent Data Structures
-
1980 [Dobkin-Munro]
-
1983 [MVCC]
-
1984 [Myers]
-
1986 [Easton]
-
1986 [Sarnak-Thesis]
-
1986 [Driscoll-Thesis]
-
1989 [Bloss]
-
1992 [Chuang]
-
1994 [ONeill-Thesis]
-
1994 [Driscoll-List]
-
1997 [ONeill-Array]
-
1997 [Kaplan-Thesis]
-
1999 [Okasaki]
-
2001 [Kaplan-Survey]
-
2001 [Ideal-Hash-Tree]
-
2002 [Bagwell-List]
-
2007 [Clojure]
-
2011 [RRB-Tree]
-
2012 [Brodal]
-
2013 [Liljenzin]
-
2015 [Steindorfer-HAMT]
-
2015 [Stucki]
-
2015 [LogicBlox]
-
2017 [Steindorfer-Thesis]
-
2017 [Puente]
Transient Data Structures
-
1990 [Baker-Unify]
-
2007 [Clojure]
-
2014 [Lorange]
Aliasing
-
1994 [Burrows-Wheeler]
-
1996 [ZLIB]
-
1999 [Bentley-McIlroy]
-
1989 [Bloss]
-
1991 [Baker-Shallow]
-
2007 [Clojure]
-
1970 [Virtual-Memory]
-
2003 [ZFS]
-
2006 [Fossil]
Language Theory
-
1993 [Guzman]
-
1997 [Almeida]
-
1998 [Noble]
-
1998 [Clarke-Ownership]
-
2000 [Smith-Alias]
-
2001 [Clarke-Thesis]
-
2015 [Clebsch]
-
2018 [Matsakis]
-
2019 [Weiss]
Linear Use
-
1986 [Hudak-RC]
-
1987 [Clean]
-
1987 [Girard]
-
1990 [Wadler-Linear]
-
1990 [Baker-Unify]
-
1991 [Wakeling]
-
1992 [Baker-Linear]
-
1992 [Odersky-Observers]
-
1992 [Bawden-Thesis]
-
1994 [Bellin-Pi-Calculus]
-
1995 [Baker-Use-Once]
-
1996 [Chirimar]
-
2002 [Fahndrich-DeLine]
-
2010 [Haller]
-
1977 [Barth]
-
1988 [Gopinath-Thesis]
-
1989 [Bloss]
-
1989 [Hederman]
-
1989 [Gopinath-Copy]
-
1994 [Baker-Pointers]
-
2000 [Hofmann]
-
2002 [Aspinall-Hofmann]
Associative Aggregates
Hashing
-
1974 [Goto-Monocopy]
-
1979 [Extendible-Hashing]
-
1980 [Larson-Linear]
-
1980 [Litwin-Linear]
-
1981 [Litwin-Trie]
-
1981 [Tamminen]
-
1988 [Larson-Dynamic]
-
1992 [MD5]
-
1993 [Appel-Consing]
-
1994 [Goubault]
-
2001 [Ideal-Hash-Tree]
-
2011 [SHA]
-
2012 [Spooky]
-
2015 [SHA-3]
Sorting
See Tree Structures and 1962 [Quicksort]
Distributed Computing
-
1978 [Lamport-Time]
-
1991 [Corbato]
-
2003 [Armstrong-Thesis]
-
2013 [Tail-at-Scale]
-
1963 [Coroutine]
-
1968 [Dijkstra-CSP]
-
1971 [Morrison]
-
1977 [Hewitt-Baker]
-
1977 [Baker-Processes]
-
1978 [CSP]
-
1978 [UNIX]
-
1982 [Hudak-Distributed]
-
1985 [Keller-Lindstrom]
-
1985 [Hughes-GC]
-
1989 [Lomet-Multiversion]
-
2008 [Cantrill-Bonwick]
-
2009 [Click-Hardware]
-
2010 [Pike-Stanford]
-
2014 [Raft-Consensus]
-
2015 [LogicBlox]
-
2015 [Clebsch]
Data Notation
-
1969 [ASCII]
-
1990 [Steele-Print]
-
1990 [Clinger-Read]
-
1990 [Gay-Rounded]
-
1995 [HTML]
-
1996 [Burger-Print]
-
2002 [Timestamp]
-
2003 [UTF-8]
-
2005 [URI]
-
2005 [UUID]
-
2009 [JSON]
-
2012 [edn]
-
2012 [Fressian]
Papers
-
[Ackerman-Memory] William Ackerman (1977) A structure memory for data flow computers. Technical Report 186, MIT Cambridge Lab for Computer Science ¤
-
[VAL] William Ackerman and Jack Dennis † (1979) VAL: A Value-Oriented Algorithmic Language. Technical Report 218, MIT Cambridge Lab for Computer Science ¤
-
[Data-Flow-Languages] William Ackerman (1982) Data flow languages. Computer 15.2 ¤
-
[Ackerman-Thesis] William Beekley Ackerman (1984) Efficient implementation of applicative languages. Doctoral thesis, Massachusetts Institute of Technology MIT ¤
-
[AVL-Tree] George Adel’son-Vel’skii and Evgenii Landis (1962) An algorithm for organization of information. Doklady Akademii Nauk Vol. 146.2 Russian Academy of Sciences ¤
-
[Awk] Alfred Aho, Brian Kernighan † and Peter Weinberger (1979) Awk: a pattern scanning and processing language. Software Practice and Experience 9.4 ¤
-
[Almeida] Paulo Sérgio Almeida (1997) Balloon types: Controlling sharing of state in data types. Object-Oriented Programming, ECOOP, Lecture Notes in Computer Science, Vol. 1241. Springer, Berlin, Heidelberg ¤
-
[Sandboxing-JITs] Jason Ansel, Petr Marchenko, Úlfar Erlingsson, Elijah Taylor, Brad Chen, Derek Schuff, David Sehr, Cliff L. Biffle and Bennet Yee (2011) Language-independent sandboxing of just-in-time compilation and self-modifying code. ACM SIGPLAN Programming Language Design and Implementation ¤ • see [Native-Client]
-
[Appel-GC] Andrew Appel (1987) Garbage collection can be faster than stack allocation. Information Processing Letters 25.4 ¤
-
[Appel-Consing] Andrew Appel and Marcelo Conçalves (1993) Hash-consing garbage collection. Princeton University, Department of Computer Science ¤
-
[LogicBlox] Molham Aref et al. (2015) Design and implementation of the LogicBlox system. Proc. of ACM SIGMOD Intl. Conf on Management of Data ¤
-
[Armstrong-Thesis] Joe Armstrong (2003) Making reliable distributed systems in the presence of software errors. Doctoral thesis, The Royal Institute of Technology, Stockholm, Sweden →
-
[Aspinall-Hofmann] David Aspinall and Martin Hofmann † (2002) Another type system for in-place update. European Symposium on Programming. Springer, Berlin, Heidelberg ¤
-
[FORTRAN] John Backus et al. (1957) The FORTRAN automatic coding system. Papers presented at the Western Joint Computer Conf, Techniques for Reliability. ACM ¤
-
[ALGOL] John Backus, Friedrich Bauer, Julien Green, Charles Katz, John McCarthy †, Peter Naur and Alan Perlis † (1960) Report on the algorithmic language ALGOL 60. Numerische Mathematik 2.1 ¤
-
[Backus-Semantics] John Backus (1973) Programming language semantics and closed applicative languages. Proc. of 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. ACM ¤
-
[Backus-Functional] John Backus (1978) Can programming be liberated from the von Neumann † style? A functional style and its algebra of programs. 1977 ACM Turing Award Lecture, Comm. of ACM 21.8 ¤
-
[Bacon-GC] David Bacon, Perry Cheng and V. T. Rajan (2004) A unified theory of garbage collection. ACM SIGPLAN Notices 39.10 ¤
-
[Bagwell-Search] Phil Bagwell (2000) Fast and Space Efficient Trie Searches. Technical report, EPFL ¤
-
[Ideal-Hash-Tree] Phil Bagwell (2001) Ideal Hash Trees. Technical report, EPFL ¤
-
[Bagwell-List] Phil Bagwell (2002) Fast Functional Lists, Hash-Lists, Deques and Variable Length Arrays. Symposium on Implementation and Application of Functional Languages. Springer, Berlin, Heidelberg ¤
-
[RRB-Tree] Phil Bagwell and Tiark Rompf (2011) RRB-Trees: Efficient Immutable Vectors. Technical Report EPFL-REPORT-169879, Ecole Polytechnique Fédérale de Lausanne ¤
-
[Baker-Processes] Henry G. Baker Jr. and Carl Hewitt † (1977) The incremental garbage collection of processes. ACM SIGPLAN Notices 12.8 →
-
[Baker-Real-Time] Henry G. Baker (1978) List processing in real time on a serial computer. Comm. of ACM 21.4 ¤
-
[Baker-Unify] Henry G. Baker (1990) Unify and conquer (Garbage, Updating, Aliasing) in Functional Languages. Proc. of ACM Conf on Lisp and Functional Programming →
-
[Baker-Shallow] Henry G. Baker (1991) Shallow binding makes functional arrays fast. ACM SIGPLAN Notices 26.8 →
-
[Baker-Linear] Henry G. Baker (1992) Lively Linear Lisp — "Look ma, no garbage!" ACM SIGPLAN Notices 27.8 →
-
[Baker-Treadmill] Henry G. Baker (1992) The treadmill: real-time garbage collection without motion sickness. ACM SIGPLAN Notices 27.3 →
-
[Baker-Equality] Henry G. Baker (1993) Equal rights for functional objects or, the more things change, the more they are the same. ACM SIGPLAN OOPS Messenger 4.4 →
-
[Baker-Pointers] Henry G. Baker (1994) Minimizing reference count updating with deferred and anchored pointers for functional data structures. ACM SIGPLAN Notices 29.9 →
-
[Baker-Use-Once] Henry G. Baker (1995) "Use-once" variables and linear objects: storage management, reflection and multi-threading. ACM SIGPLAN Notices 30.1 →
-
[Dataless-Programming] Robert Balzer (1967) Dataless programming. Proc. of Fall Joint Computer Conf, ACM ¤
-
[Barth] Jeffrey Barth (1977) Shifting garbage collection overhead to compile time. Comm. of ACM 20.7 ¤
-
[Bawden-State] Alan Bawden (1988) Analyzing the State Behavior of Programs. Working Paper 311, MIT AI Lab ¤
-
[Bawden-Thesis] Alan Bawden (1992) Linear Graph Reduction: Confronting the Cost of Naming. Doctoral thesis, Adviser Gerald Jay Sussman † MIT ¤
-
[Binary-B-tree] Rudolf Bayer (1971) Binary B-trees for virtual memory. Proc. of ACM SIGFIDET (now SIGMOD) Workshop on Data Description, Access and Control ¤
-
[B-tree] Rudolf Bayer and Edward McCreight (1970) Organization and Maintenance of Large Ordered Indices. ACM SIGMOD ¤
-
[Prefix-B-Tree] Rudolf Bayer and Karl Unterauer (1977) Prefix B-trees. ACM Transactions on Database Systems 2.1 ¤
-
[Bellin-Pi-Calculus] Gianluigi Bellin and Philip Scott (1994) On the π-calculus and linear logic. Theoretical Computer Science 135.1 ¤
-
[HTTP-2] Mike Belshe, R. Peon and M. Thomson (2015) HTTP/2 — Hypertext Transfer Protocol Version 2. RFC 7540, DOI 10.17487/RFC7540 →
-
[Bentley-McIlroy] Jon Bentley and Douglas McIlroy (1999) Data compression using long common strings. Proc. of Data Compression Conf, IEEE ¤
-
[Hypertext] Tim Berners-Lee (1989) Information management: A proposal. No. CERN-DD-89-001-OC ¤
-
[HTML] Tim Berners-Lee and D. Connolly (1995) Hypertext Markup Language 2.0. RFC 1866, DOI 10.17487/RFC1866 →
-
[HTTP] Tim Berners-Lee, R. Fielding and H. Frystyk (1996) HTTP/1.0 — Hypertext Transfer Protocol. RFC 1945, DOI 10.17487/RFC1945 →
-
[URI] Tim Berners-Lee, R. Fielding and L. Masinter (2005) URI: Uniform Resource Identifier. STD 66, RFC 3986, DOI 10.17487/RFC3986 →
-
[MVCC] Philip Bernstein and Nathan Goodman (1983) Multiversion concurrency control—theory and algorithms. ACM Transactions on Database Systems 8.4 ¤
-
[Keccak-Reference] Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche (2011) The Keccak Reference. Submission to NIST (Round 3) 13 →
-
[Keccak] Guido Bertoni et al. (2013) Keccak. Annual Intl. Conf on the Theory and Applications of Cryptographic Techniques. Springer, Berlin, Heidelberg →
-
[Sakura] Guido Bertoni et al. (2014) Sakura: a flexible coding for tree hashing. Intl. Conf on Applied Cryptography and Network Security. Springer, Cham →
-
[Farfalle] Guido Bertoni et al. (2017) Farfalle: parallel permutation-based cryptography. IACR Transactions on Symmetric Cryptology →
-
[Bird] Richard Bird (1989) Lectures on constructive functional programming. Constructive Methods in Computing Science. Springer, Berlin, Heidelberg ¤
-
[Bloss] Adrienne Bloss † (1989) Update analysis and the efficient implementation of functional aggregates. Proc. of 4th Intl. Conf on Functional Programming Languages and Computer Architecture, ACM ¤
-
[Boehm-Collector] Hans-Juergen Boehm and Mark Weiser (1988) Garbage collection in an uncooperative environment. Software Practice and Experience 18.9 ¤
-
[Ropes] Hans-Juergen Boehm, Russ Atkinson and Michael Plass (1995) Ropes: an alternative to strings. Software Practice and Experience 25.12 ¤
-
[Bohm-Single] Wim Böhm † et al. (2002) Mapping a single assignment programming language to reconfigurable systems. The Journal of Supercomputing 21.2 ¤
-
[Slab-Allocator] Jeff Bonwick (1994) The slab allocator: An object-caching kernel memory allocator. USENIX Summer Vol. 16 ¤
-
[ZFS] Jeff Bonwick, Matt Ahrens, Val Henson, Mark Maybee and Mark Shellenbaum (2003) The Zettabyte File System. Proc. of 2nd USENIX Conf on File and Storage Technologies Vol. 215 ¤
-
[Boyland-Capabilities] John Boyland, James Noble † and William Retert (2001) Capabilities for sharing. European Conf on Object-Oriented Programming. Springer, Berlin, Heidelberg ¤
-
[Boyland-Permissions] John Boyland (2003) Checking interference with fractional permissions. Intl. Static Analysis Symposium. Springer, Berlin, Heidelberg ¤
-
[JSON] Tim Bray (2017) JSON: The JavaScript Object Notation Data Interchange Format. STD 90, RFC 8259, DOI 10.17487/RFC8259 →
-
[Brent] Richard Brent and Paul Zimmermann (2010) Modern computer arithmetic. Cambridge University Press ¤
-
[Brodal] Gerth Stølting Brodal et al. (2012) Fully persistent B-trees. Proc. of 23rd annual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics ¤
-
[Brooks-Music] Frederick Brooks et al. (1957) An experiment in musical composition. IRE Transactions on Electronic Computers 3 ¤
-
[Man-Month] Frederick Brooks (1975) The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley, Reading MA ¤
-
[No-Silver-Bullet] Frederick Brooks (1987) No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer 20.4 ¤
-
[Brooks-Compiler] Rodney Brooks, Richard Gabriel and Guy Steele † (1982) An optimizing compiler for lexically scoped Lisp. ACM SIGPLAN Notices 17.6 ¤
-
[Clean] Tom Brus et al (1987) Clean: a Language for Functional Graph Rewriting. Conf on Functional Languages and Computer Architecture. Springer, Berlin, Heidelberg ¤
-
[Burger-Print] Robert Burger and R. Kent Dybvig (1996) Printing floating-point numbers quickly and accurately. ACM SIGPLAN Notices 31.5 ¤
-
[Burrows-Wheeler] Michael Burrows and David Wheeler (1994) A block-sorting lossless data compression algorithm. SRC Research Report 124 ¤
-
[Cann-Oldehoeft] David Cann and Rodney Oldehoeft † (1988) Reference count and copy elimination for parallel applicative computing. Technical Report CS-88-129. Colorado State University, Fort Collins CO ¤
-
[Cann-Thesis] David C. Cann (1989) Compilation Techniques for High-performance Applicative Computation. Doctoral thesis, Colorado State University, Fort Collins CO ¤
-
[Cantrill-Bonwick] Bryan Cantrill and Jeff Bonwick † (2008) Real-world concurrency. Comm. of ACM 51.11 ¤
-
[DTrace] Bryan Cantrill, Michael Shapiro and Adam Leventhal (2004) Dynamic Instrumentation of Production Systems. USENIX Annual Technical Conf ¤ • dtrace.org
-
[Linda] Nicholas Carriero and David Gelernter † (1989) Linda in context. Comm. of ACM 32.4 ¤
-
[SAL] James Celoni and John Hennessy † (1983) Sal: A Single Assignment Language for Parallel Algorithms. Technical Report CLaSSic-83-01, Stanford University ¤
-
[ASCII] Vint Cerf (1969) ASCII format for network interchange. STD 80, RFC 20, DOI 10.17487/RFC0020 →
-
[Ceri-Datalog] Stefano Ceri, Georg Gottlob and Letizia Tanca (1989) What you always wanted to know about Datalog (and never dared to ask). IEEE Transactions on Knowledge and Data Engineering 1.1 ¤
-
[Chirimar] Jawahar Chirimar, Carl Gunter and Jon Riecke (1996) Reference counting as a computational interpretation of linear logic. Journal of Functional Programming 6.2 ¤
-
[Chuang] Tyng-Ruey Chuang (1992) Fully persistent arrays for efficient incremental updates and voluminous reads. European Symposium on Programming. Springer, Berlin, Heidelberg ¤
-
[Clarke-Ownership] David Clarke, John Potter and James Noble † (1998) Ownership Types for Flexible Alias Protection. ACM SIGPLAN Notices 33.10 ¤
-
[Clarke-Thesis] David Clarke (2001) Object ownership and containment. Doctoral thesis, University of New South Wales, Australia ¤
-
[Clebsch] Sylvan Clebsch et al. (2015) Ownership and reference counting based garbage collection in the actor world. ICOOOLPS ACM ¤
-
[Subtype-Checking] Cliff Click and John Rose (2002) Fast subtype checking in the HotSpot JVM. Proc. of ACM-ISCOPE Conf on Java Grande ¤
-
[Clinger-Continuation] William Clinger, Anne Hartheimer and Eric Ost (1988) Implementation Strategies for Continuations. Proc. of ACM Conf on Lisp and Functional Programming ¤
-
[Clinger-Read] William Clinger (1990) How to read floating point numbers accurately. Comm. of ACM 25.6 ¤
-
[Collins] George Collins (1960) A Method for Overlapping and Erasure of Lists. Comm. of ACM 3.12 ¤
-
[Comer] Douglas Comer (1979) The Ubiquitous B-tree. ACM Computing Surveys 11.2 ¤
-
[Coroutine] Melvin Conway (1963) Design of a separable transition-diagram compiler. Comm. of ACM 6.7 ¤
-
[Corbato] Fernando Corbató (1991) On Building Systems That Will Fail. 1990 ACM Turing Award Lecture, Comm. of ACM 34.9 ¤
-
[CLRS] Thomas Cormen, Charles Leiserson, Ronald Rivest and Clifford Stein (2009) Introduction to Algorithms. MIT Press ¤
-
[Culik] Karel Čulík II, Thomas Ottmann and Derick Wood (1981) Dense multiway trees. ACM Transactions on Database Systems 6.3 ¤
-
[Xoodoo] Joan Daemen et al. (2018) Xoodoo cookbook. IACR Cryptology ePrint Archive 767 ¤
-
[SIMULA] Ole-Johan Dahl and Kristen Nygaard (1966) SIMULA: an ALGOL-based simulation language. Comm. of ACM 9.9 ¤
-
[Structured-Programming] Ole-Johan Dahl, Edsger Dijkstra † and Tony Hoare † (1972) Structured Programming. Academic Press Ltd ¤
-
[Tail-at-Scale] Jeffrey Dean and Luiz André Barroso (2013) The Tail at Scale. Comm. of ACM 56.2 ¤
-
[Working-Set] Peter Denning (1967) The working set model for program behavior. Proc. of 1st ACM Symposium on Operating System Principles ¤
-
[Virtual-Memory] Peter Denning (1970) Virtual memory. ACM Computing Surveys 2.3 ¤
-
[Dennis] Jack Dennis † (1974) First version of a data flow procedure language. Programming Symposium. Springer, Berlin, Heidelberg ¤
-
[G1-Collector] David Detlefs, Christine Flood †, Steve Heller and Tony Printezis (2004) Garbage-First Garbage Collection. Proc. of Intl. Symposium on Memory Management ¤
-
[ZLIB] Peter Deutsch and Jean-Loup Gailly (1996) ZLIB Compressed Data Format Specification 3.3. RFC 1950, DOI 10.17487/RFC1950 →
-
[DEFLATE] Peter Deutsch (1996) DEFLATE Compressed Data Format Specification 1.3. RFC 1951, DOI 10.17487/RFC1951 →
-
[GZIP] Peter Deutsch (1996) GZIP File Format Specification 4.3. RFC 1952, DOI 10.17487/RFC1952 →
-
[Dijkstra-CSP] Edsger Dijkstra (1968) Cooperating sequential processes. The Origin of Concurrent Programming. Springer, New York NY ¤
-
[Humble-Programmer] Edsger Dijkstra (1972) The humble programmer. Comm. of ACM 15.10 ¤
-
[Dobkin-Munro] David Dobkin and J. Ian Munro (1980) Efficient uses of the past. 21st Symposium on Foundations of Computer Science, IEEE ¤
"… an AVL-tree of AVL-trees"
-
[Domani-GC] Tamar Domani et al. (2001) Implementing an on-the-fly garbage collector for Java. ACM SIGPLAN Notices 36.1 ¤
-
[Downey] Allen Downey (2007) Generating Pseudo-random Floating-Point Values. ¤
-
[Drepper] Ulrich Drepper (2007) What every programmer should know about memory. Red Hat, Inc 11 ¤
-
[Driscoll-Thesis] James R. Driscoll (1986) The Diameter of Permutation Groups—Fully Persistent Search Trees. Doctoral thesis, Carnegie-Mellon University ¤
-
[Persistent-Data-Structures] James Driscoll, Neil Sarnak †, Daniel Sleator † and Robert Tarjan † (1989) Making data structures persistent. Journal of Computer and System Sciences 38.1 ¤
-
[Driscoll-List] James Driscoll, Daniel Sleator and Robert Tarjan (1994) Fully persistent lists with catenation. Journal of ACM 41.5 ¤
-
[SHA] D. Eastlake 3rd and T. Hansen (2011) US Secure Hash Algorithms. RFC 6234, DOI 10.17487/RFC6234 →
-
[SHA-3] FIPS-202 (2015) SHA-3 standard: Permutation-based hash and extendable-output functions. NIST Publication, US Dept. of Commerce [Keccak] →
-
[Easton] Malcolm Easton (1986) Key-sequence data sets on indelible storage. IBM Journal of R&D 30.3 ¤
-
[Extendible-Hashing] Ronald Fagin et al. (1979) Extendible Hashing: A Fast Access Method for Dynamic Files. ACM Transactions on Database Systems 4.3 ¤
-
[Fahndrich-DeLine] Manuel Fahndrich and Robert DeLine (2002) Adoption and focus: Practical linear types for imperative programming. ACM SIGPLAN Notices 37.5 ¤
-
[Feeley-Lapalme] Marc Feeley and Guy Lapalme (1992) Closure generation based on viewing lambda as epsilon plus compile. Computer Languages 17.4 ¤
-
[Feynman] Richard Feynman (1986) Quantum mechanical computers. Foundations of Physics 16.6 ¤
-
[Fitzgerald-Oldehoeft] Steven Fitzgerald and Rodney Oldehoeft † (1996) Update-in-place analysis for true multidimensional arrays. Scientific Programming 5.2 ¤
-
[Flajolet-Sedgewick] Philippe Flajolet and Robert Sedgewick † (1986) Digital search trees revisited. SIAM Journal on Computing 15.3 ¤
-
[Shenandoah] Christine Flood, Roman Kennke, Andrew Dinn, Andrew Haley and Roland Westrelin (2016) Shenandoah: An open-source concurrent compacting garbage collector for OpenJDK. Proc. of Intl. Conf. on Principles and Practices of Programming on the Java Platform ¤
-
[Floyd-Paradigms] Robert Floyd (1979) The paradigms of programming. 1978 ACM Turing Award Lecture, Comm. of ACM 22.8 ¤
-
[Trie] Edward Fredkin (1960) Trie memory. Comm. of ACM 3.9 ¤
-
[Friedman-Combination] Daniel Friedman and David Wise (1978) Functional combination. Computer Languages 3.1 ¤
-
[Friedman-Applicative] Daniel Friedman and David Wise (1978) Aspects of applicative programming for parallel processing. IEEE Transactions on Computers 4 ¤
-
[GoF] Erich Gamma, John Vlissides, Richard Helm and Ralph Johnson (1994) Design Patterns: elements of reusable object-oriented software. Addison-Wesley, Reading MA ¤
-
[Sisal-Model] Jean-Luc Gaudiot, Wim Böhm †, Walid Najjar, Tom DeBoni, John Feo and Patrick Miller (1997) The Sisal model of functional programming and its implementation. Proc. of IEEE Intl. Symposium on Parallel Algorithms Architecture Synthesis ¤
-
[Sisal-Real-World] Jean-Luc Gaudiot, Tom DeBoni, John Feo, Wim Böhm †, Walid Najjar and Patrick Miller (2001) The Sisal project: Real world functional programming. Compiler Optimizations for Scalable Parallel Systems. Springer, Berlin, Heidelberg ¤
-
[Gay-Rounded] David Gay (1990) Correctly rounded binary-decimal and decimal-binary conversions. Numerical Analysis Manuscript 90-10 ¤
-
[Gelernter] Herbert Gelernter, J. R. Hansen and Carl Gerberich (1960) A FORTRAN-compiled list-processing language. Journal of ACM 7.2 ¤
-
[Gharachorloo] Kourosh Gharachorloo, Vivek Sarkar and John Hennessy † (1988) A simple and efficient implementation approach for single assignment languages. Proc. of ACM Conf on Lisp and Functional Programming ¤
-
[Girard] Jean-Yves Girard (1987) Linear logic. Theoretical Computer Science 50.1 ¤
-
[Smalltalk] Adele Goldberg and Alan Kay † (1976) Smalltalk-72 Instruction Manual. Palo Alto, Xerox Corporation ¤
-
[Goldberg-Generational] Benjamin Goldberg (1989) Generational reference counting: A reduced-communication distributed storage reclamation scheme. ACM SIGPLAN Notices 24.7 ¤
-
[Goldberg-Float] David Goldberg (1991) What every computer scientist should know about floating-point arithmetic. ACM Computing Surveys 23.1 ¤
-
[ENIAC] Herman Goldstine and Adele Goldstine (1946) The electronic numerical integrator and computer ENIAC. Mathematics of Computation 2.15 ¤
-
[Gopinath-Thesis] K. Gopinath (1988) Copy Elimination in Single Assignment Languages. Doctoral thesis, Stanford University ¤
-
[Gopinath-Copy] K. Gopinath and John Hennessy † (1989) Copy elimination in functional languages. Proc. of 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages ¤
-
[Goto-Monocopy] Eiichi Goto (1974) Monocopy and associative algorithms in an extended Lisp. Technical Report TR74-03, Univ of Tokyo ¤
-
[Goubault] Jean Goubault (1994) Implementing functional languages with fast equality, sets and maps: an exercise in hash consing. Journées Francophones des Langages Applicatifs ¤
-
[Gray-Why] Jim Gray (1986) Why do computers stop and what can be done about it? Symposium on Reliability in Distributed Software and Database Systems ¤
-
[Red-Black-Tree] Leo Guibas and Robert Sedgewick † (1978) A dichromatic framework for balanced trees. 19th Annual Symposium on Foundations of Computer Science, IEEE ¤
-
[Gupta] Anoop Gupta, John Hennessy †, Kourosh Gharachorloo †, Todd Mowry and Wolf-Dietrich Weber (1991) Comparative evaluation of latency reducing and tolerating techniques. ACM SIGARCH Computer Architecture News 19.3 ¤
-
[Guzman] Juan Carlos Guzman (1993) On expressing the mutation of state in a functional programming language. Doctoral thesis, Adviser Paul Hudak † Yale University ¤
-
[WebAssembly] Andreas Haas, Andreas Rossberg, Derek Schuff, Ben Titzer, Michael Holman, Dan Gohman, Luke Wagner, Alon Zakai and JF Bastien (2017) Bringing the web up to speed with WebAssembly. ACM SIGPLAN Programming Language Design and Implementation ¤
-
[Haller] Philipp Haller and Martin Odersky † (2010) Capabilities for Uniqueness and Borrowing. European Conf on Object Oriented Programming. Springer, Berlin, Heidelberg ¤
-
[Fressian] Stuart Halloway (2012) Fressian extensible binary data notation. fressian.org
-
[Hederman] Lucy Mary Hederman (1989) Compile time garbage collection using reference count analysis. Doctoral thesis, Adviser Hans-Juergen Boehm † Rice University ¤
-
[Held-Carlis] James Held and John Carlis (1989) The applicative data model. Information Sciences 49.1-3 ¤
-
[Hewitt-Baker] Carl Hewitt and Henry G. Baker † (1977) Laws for Communicating Parallel Processes. Working Paper 134A, MIT AI Lab ¤
-
[Clojure] Rich Hickey (2007) The Clojure Programming Language. clojure.org • wiki
-
[edn] Rich Hickey (2012) The edn extensible data notation. edn-format.org
-
[Hickey-History] Rich Hickey (2020) A History of Clojure. Proc. of ACM on Programming Languages 4, HOPL 71 ¤ • →
-
[SQLite] D. Richard Hipp (2000) SQLite C library. Database engine as an in-process library. sqlite.org. Presentation (2015) 60 mins, watch
-
[Fossil] D. Richard Hipp (2006) Fossil software configuration management. Programmer’s tool for distributed (backup, history, and coordination), built on SQLite. fossil-scm.org • SouthEast LinuxFest, 60 mins (2011) watch
-
[Quicksort] Charles Antony Richard Hoare (1962) Quicksort. The Computer Journal 5.1 ¤
-
[Hoare-Axiomatic] Tony Hoare (1969) An axiomatic basis for computer programming. Comm. of ACM 12.10 ¤
-
[Hoare-Design] Tony Hoare (1973) Hints on programming language design. Report STAN-CS-73-403, Dept. of Computer Science, Stanford University ¤
-
[CSP] Tony Hoare (1978) Communicating sequential processes. The Origin of Concurrent Programming. Springer, New York NY ¤
-
[Hoare-Emperor] Tony Hoare (1981) The Emperor’s Old Clothes. Comm. of ACM 24.2 ¤
-
[Hofmann] Martin Hofmann (2000) A type system for bounded space and functional in-place update. European Symposium on Programming. Springer, Berlin, Heidelberg ¤
-
[Holloway-Survey] Michael Holloway (1986) A survey of functional programming language principles. Technical Memo 89019, Langley Research Center NASA, Hampton VA ¤
-
[Hudak-Distributed] Paul Hudak and Robert Keller (1982) Garbage collection and task deletion in distributed applicative processing systems. Proc. of ACM Symposium on Lisp and Functional Programming ¤
-
[Hudak-Aggregate-Update] Paul Hudak and Adrienne Bloss † (1985) The aggregate update problem in functional programming systems. Proc. of 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages ¤
-
[Hudak-RC] Paul Hudak (1986) A semantic model of reference counting and its abstraction. Record of ACM Symposium on Lisp and Functional Programming Vol. 348 ¤
-
[Hudak-History] Paul Hudak (1989) Conception, evolution, and application of functional programming languages. ACM Computing Surveys 21.3 ¤
-
[Hudak-FRP] Paul Hudak et al. (2002) Arrows, robots, and functional reactive programming. Intl. School on Advanced Functional Programming. Springer, Berlin, Heidelberg ¤
-
[Huddleston-Robust] Scott Huddleston and Kurt Mehlhorn (1981) Robust balancing in B-trees. Theoretical Computer Science. Springer, Berlin, Heidelberg ¤
-
[Huddleston-Weak] Scott Huddleston and Kurt Mehlhorn (1982) A new data structure for representing sorted lists. Acta Informatica 17.2 ¤
-
[Hughes-GC] John Hughes (1985) A distributed garbage collection algorithm. Conf on Functional Programming Languages and Computer Architecture. Springer, Berlin, Heidelberg ¤
-
[Hughes-Why] John Hughes (1989) Why functional programming matters. The Computer Journal 32.2 ¤
-
[Spooky] Bob Jenkins (2012) SpookyHash: a 128-bit noncryptographic hash →
-
[Kaplan-Thesis] Haim Kaplan (1997) Purely functional lists. Doctoral thesis, Adviser Bob Tarjan † Princeton University ¤
-
[Kaplan-Survey] Haim Kaplan (2001) Persistent data structures. Handbook on Data Structures and Applications, Editors Sartaj Sahni and Dinesh Mehta, CRC Press ¤
-
[Kariniemi] Nicholas Kariniemi (2015) Clojure on Android: Challenges and Solutions. Master thesis, Aalto University ¤
-
[Personal-Computer] Alan Kay (1972) A personal computer for children of all ages. Proc. of ACM Annual Conf Vol. 1 ¤
-
[Kay-Twenty] Alan Kay (1975) Personal Computing. Meeting on 20 Years of Computing Science, Instituto di Elaborazione della Informazione, Pisa, Italy →
-
[Kay-Media] Alan Kay and Adele Goldberg † (1977) Personal dynamic media. Computer 3 ¤
-
[Smalltalk-History] Alan Kay (1996) The early history of Smalltalk. History of Programming Languages II, ACM ¤
-
[Kay-OO] Alan Kay (2003) Meaning of Object-Oriented Programming. Private email exchange with Stefan Ram →
-
[Keller-Lindstrom] Robert Keller and Gary Lindstrom (1985) Approaching Distributed Database Implementations Through Functional Programming Concepts. Proc. of 5th Intl. Conf on Distributed Computing Systems ¤
-
[Kernighan-Ritchie] Brian Kernighan and Dennis Ritchie † (1978) The C Programming Language. Prentice Hall ¤
-
[Kleinberg-Tardos] Jon Kleinberg and Éva Tardos (2005) Algorithm design. Pearson Education ¤
-
[Kleppmann] Martin Kleppmann (2017) Designing Data-Intensive Applications. O’Reilly Media ¤
-
[Timestamp] Graham Klyne and C. Newman (2002) Date and Time on the Internet: Timestamps. RFC 3339, DOI 10.17487/RFC3339 →
-
[Knuth] Donald Knuth (1973) The Art of Computer Programming (Vol. 3) Sorting and Searching. Addison-Wesley, Reading MA ¤
-
[Lamport-Time] Leslie Lamport (1978) Time, clocks, and the ordering of events in a distributed system. Comm. of ACM 21.7 ¤
-
[Lamport-Write] Leslie Lamport (1995) How to write a proof. The American Mathematical Monthly 102.7 ¤
-
[Landauer] Walter Landauer (1963) The balanced tree and its utilization in information retrieval. IEEE Transactions on Electronic Computers 6 ¤
-
[Landin-Eval] Peter Landin (1964) The mechanical evaluation of expressions. The Computer Journal 6.4 ¤
-
[Landin-Next] Peter Landin (1966) The next 700 programming languages. Comm. of ACM 9.3 ¤
-
[Larson-Linear] Per-Åke Larson (1980) Linear hashing with partial expansions. Proc. of 6th Intl. Conf on Very Large Data Bases Vol 6. VLDB Endowment ¤
-
[Larson-Dynamic] Per-Åke Larson (1988) Dynamic Hash Tables. Comm. of ACM 31.4 ¤
-
[UUID] Paul Leach, Michael Mealling and Rich Salz (2005) UUID: A Universally Unique IDentifier URN Namespace. RFC 4122, DOI 10.17487/RFC4122 →
-
[Class-Loading] Sheng Liang and Gilad Bracha (1998) Dynamic class loading in the Java virtual machine. ACM SIGPLAN Notices 33.10 ¤
-
[Liljenzin] Olle Liljenzin (2013) Confluently Persistent Sets and Maps. arXiv preprint arXiv:1301.3388 ¤
-
[Liskov] Barbara Liskov and Stephen Zilles (1974) Programming with abstract data types. ACM SIGPLAN Notices 9.4 ¤
-
[Litwin-Linear] Witold Litwin (1980) Linear hashing: a new tool for file and table addressing. VLDB Vol. 80 ¤
-
[Litwin-Trie] Witold Litwin (1981) Trie hashing. Proc. of ACM SIGMOD Intl. Conf on Management of Data ¤
-
[Lomet-Multiversion] David Lomet and Betty Salzberg (1989) Access methods for multiversion data. Comm. of ACM 18.2 ¤
-
[Lorange] Jean Niklas L’orange (2014) Improving RRB-Tree Performance through Transience. Master thesis, Norwegian University of Science and Technology ¤
-
[MacLennan-Values] Bruce MacLennan (1981) Values and Objects in Programming Languages. Technical Report NPS52-81-006. Naval Postgraduate School, Monterey CA ¤
-
[MacLennan-OO] Bruce MacLennan (1983) A View of Object-Oriented Programming. Technical Report NPS52-83-001. Naval Postgraduate School, Monterey CA ¤
-
[Maier] David Maier and Sharon Salveter (1981) Hysterical B-trees. Information Processing Letters 12.4 ¤
-
[Manegold] Stefan Manegold, Peter Boncz and Martin Kersten (2000) Optimizing database architecture for the new bottleneck: memory access. VLDB 9.3 ¤
-
[Marsaglia-Normal] George Marsaglia and Thomas Bray (1964) A convenient method for generating normal variables. SIAM Review 6.3 ¤
-
[Xorshift] George Marsaglia (2003) Xorshift RNGs. Journal of Statistical Software 8.14 ¤
-
[Matsakis] Nicholas Matsakis (2018) In Rust, ordinary vectors are values. Blog, 1 Feb. 2018 →
-
[LISP] John McCarthy (1960) Recursive functions of symbolic expressions and their computation by machine. Comm. of ACM 3.4 ¤
-
[McCarthy-Linking] John McCarthy, Fernando Corbató † and Marjorie Daggett (1963) The Linking Segment Subprogram Language and Linking Loader. Comm. of ACM 6.7 ¤
-
[LISP-History] John McCarthy (1978) History of Lisp. ACM SIGPLAN Notices 13.8 ¤
-
[SISAL] James McGraw, Stephen Skedzielewski, Stephen Allen, Rodney Oldehoeft et al (1985) SISAL: Streams and Iteration in a Single Assignment Language. Lawrence Livermore Natl Lab ¤
-
[Meijer] Erik Meijer, Maarten Fokkinga and Ross Paterson (1991) Functional programming with bananas, lenses, envelopes and barbed wire. Conf on Functional Programming Languages and Computer Architecture. Springer, Berlin, Heidelberg ¤
-
[Milner] Robin Milner (1973) How ML evolved. ML/Hope/LCF Newsletter 1.1 →
-
[DNS] Paul Mockapetris (1987) Domain names—concepts and facilities. STD 13, RFC 1034, DOI 10.17487/RFC1034 →
-
[Moore] Gordon Moore (1965) Cramming more components onto integrated circuits. Electronics 38.8 ¤
-
[Morrison] J. Paul Morrison (1971) Data responsive modular, interleaved task programming system. IBM Technical Disclosure Bulletin 13.8 ¤
-
[Moseley-Marks] Ben Moseley and Peter Marks (2006) Out of the tar pit. Software Practice Advancement ¤
-
[CHESS] Madanlal Musuvathi, Shaz Qadeer, Thomas Ball, Gerard Basler, Piramanayagam Arumuga Nainar and Iulian Neamtiu (2008) Finding and Reproducing Heisenbugs in Concurrent Programs. OSDI Vol. 8 ¤
-
[Myers] Eugene Myers (1984) Efficient applicative data types. POPL Vol. 84 ¤
-
[Newell-Process] Allen Newell and Herbert Simon (1956) The logic theory machine: a complex information processing system. IRE Transactions on Information Theory 2.3 ¤
-
[Newell-Machine] Allen Newell, John Clark Shaw † and Herbert Simon (1957) Empirical explorations of the logic theory machine: a case study in heuristic. Western Joint Computer Conf - Techniques for Reliability, ACM ¤
-
[Newell-Solving] Allen Newell, John Clark Shaw and Herbert Simon (1959) Report on a general problem solving program. IFIP Congress, Vol. 256 ¤
-
[Nicklas] B. M. Nicklas and Gunter Schlageter (1977) Index structuring in inverted data bases by TRIES. The Computer Journal 20.4 ¤
-
[Nikhil-Dataflow] Rishiyur Nikhil (1989) Can dataflow subsume von Neumann † computing? ACM SIGARCH 17.3 ¤
-
[Nikhil-Structures] Rishiyur Nikhil and Keshav Pingali (1989) I-structures: Data structures for parallel computing. ACM Transactions on Programming Languages and Systems 11.4 ¤
-
[Noble] James Noble, Jan Vitek and John Potter (1998) Flexible alias protection. European Conf on Object-Oriented Programming. Springer, Berlin, Heidelberg ¤
-
[Odersky-Destructive] Martin Odersky (1991) How to make destructive updates less destructive. POPL Vol. 91 ¤
-
[Odersky-Observers] Martin Odersky (1992) Observers for linear types. European Symposium on Programming. Springer, Berlin, Heidelberg ¤
-
[Okasaki] Chris Okasaki (1999) Purely functional data structures. Cambridge University Press ¤
-
[ONeill-Thesis] Melissa E. O’Neill (1994) A data structure for more efficient runtime support of truly functional arrays. Master thesis, Simon Fraser University, British Columbia ¤
-
[ONeill-Array] Melissa O’Neill and F. Warren Burton (1997) A new method for functional arrays. Journal of Functional Programming 7.5 ¤
-
[LSM-Tree] Patrick O’Neil, Edward Cheng, Dieter Gawlick and Elizabeth O’Neil (1996) The LSM-Tree log-structured merge-tree. Acta Informatica 33.4 ¤
-
[Raft-Consensus] Diego Ongaro and John Ousterhout † (2014) In search of an understandable consensus algorithm. Proc. of 2014 USENIX Conf, USENIX Assoc ¤
-
[HotSpot] Michael Paleczny, Christopher Vick and Cliff Click (2001) The Java HotSpot Server Compiler. Symposium on Java Virtual Machine Research and Technology ¤
-
[Parnas-Modules] David Parnas (1972) On the criteria to be used in decomposing systems into modules. Comm. of ACM 15.12 ¤
-
[Parnas-Aging] David Parnas (1994) Software aging. Proc. of 16th Intl. Conf on Software Engineering, IEEE ¤
-
[Perlis-Symbol] Alan Perlis and Charles Thornton (1960) Symbol manipulation by threaded lists. Comm. of ACM 3.4 ¤
-
[Perlis-Synthesis] Alan Perlis (1967) The synthesis of algorithmic systems. Journal of ACM 14.1 ¤
-
[Polya] George Polya (1945) How To Solve It: A New Aspect of Mathematical Method. Princeton University Press ¤
-
[UDP] Jon Postel (1980) User Datagram Protocol. STD 6, RFC 768, DOI 10.17487/RFC0768 →
-
[IP] Jon Postel (1981) Internet Protocol. STD 5, RFC 791, DOI 10.17487/RFC0791 →
-
[TCP] Jon Postel (1981) Transmission Control Protocol. STD 7, RFC 793, DOI 10.17487/RFC0793 →
-
[Puente] Juan Pedro Bolívar Puente (2017) Persistence for the masses: RRB-vectors in a systems language. Proc. of ACM on Programming Languages 1, ICFP 16 ¤
-
[Punched-Card-Equipment] Emerson Pugh and Lars Heide (2013) Early punched card equipment: 1880-1951. Proc. of IEEE 101.2 ¤
-
[Skip-List] William Pugh (1990) Skip lists: a probabilistic alternative to balanced trees. Comm. of ACM 33.6 ¤
-
[GEDANKEN] John Reynolds (1970) GEDANKEN: a simple typeless language based on the principle of completeness and the reference concept. Comm. of ACM 13.5 ¤
-
[Reynolds-Definitional] John Reynolds (1972) Definitional interpreters for higher-order programming languages. Proc. of ACM Annual Conf Vol. 2 ¤
-
[UNIX] Dennis Ritchie and Ken Thompson † (1978) The UNIX time-sharing system. Bell System Technical Journal 57.6 ¤
-
[MD5] Ronald Rivest (1992) The MD5 Message-Digest Algorithm. RFC 1321, DOI 10.17487/RFC1321 →
-
[Rosenblum-Ousterhout] Mendel Rosenblum and John Ousterhout † (1992) The design and implementation of a log-structured file system. ACM Transactions on Computer Systems 10.1 ¤
-
[Sarnak-Thesis] Neil Ivor Sarnak (1986) Persistent data structures. Doctoral thesis, Adviser Bob Tarjan † New York University ¤
-
[Schorr-Waite] Herbert Schorr and William Waite (1967) An efficient machine-independent procedure for garbage collection in various list structures. Comm. of ACM 10.8 ¤
-
[Scott-Theory] Dana Scott (1970) Outline of a mathematical theory of computation. Programming Research Group, Oxford University Computing Laboratory ¤
-
[Treap] Raimund Seidel and Cecilia Aragon (1996) Randomized search trees. Algorithmica 16.4 ¤
-
[Sen-Tarjan] Siddhartha Sen and Robert Tarjan † (2009) Deletion without rebalancing in multiway search trees. Intl. Symposium on Algorithms and Computation. Springer, Berlin, Heidelberg ¤
-
[Shamir-Share] Adi Shamir (1979) How to share a secret. Comm. of ACM 22.11 ¤
-
[Shao-Appel] Zhong Shao and Andrew Appel † (1994) Space-efficient closure representations. Comm. of ACM 7.3 ¤
-
[Shaw-Processing] John Clark Shaw, Allen Newell †, Herbert Simon † and T. O. Ellis (1958) A command structure for complex information processing. Western Joint Computer Conf - Contrasts in Computers, ACM ¤
-
[Shoup] Victor Shoup (2009) A Computational Introduction to Number Theory and Algebra. Cambridge University Press ¤
-
[Splay-Tree] Daniel Sleator and Robert Tarjan † (1985) Self-Adjusting Binary Search Trees. Journal of ACM 32.3 ¤
-
[Smith-Alias] Frederick Smith, David Walker and Greg Morrisett (2000) Alias types. European Symposium on Programming. Springer, Berlin, Heidelberg ¤
-
[Steele-GC] Guy Lewis Steele Jr. (1975) Multiprocessing compactifying garbage collection. Comm. of ACM 18.9 ¤
-
[Lambda-the-Ultimate] Guy Steele and Gerald Sussman † (1976) Lambda: The ultimate imperative. Technical Report AI-M-353. MIT AI Lab, Cambridge MA ¤
-
[Steele-Data] Guy Steele (1977) Data Representations in PDP-10 MacLISP. Technical Report AI-M-420. MIT AI Lab, Cambridge MA ¤
-
[Steele-Arithmetic] Guy Steele (1977) Fast Arithmetic in MacLISP. Technical Report AI-M-421. MIT AI Lab, Cambridge MA ¤
-
[Rabbit] Guy Steele (1978) Rabbit: A compiler for Scheme. Technical Report AI-M-474. MIT AI Lab, Cambridge MA ¤
-
[Steele-Lazy] Guy Steele and Gerald Sussman † (1980) The dream of a lifetime: A lazy variable extent mechanism. Proc. of ACM Conf on Lisp and Functional Programming ¤
-
[Steele-Print] Guy Steele and Jon White (1990) How to print floating-point numbers accurately. ACM SIGPLAN Notices 25.6 ¤
-
[Steindorfer-HAMT] Michael Steindorfer and Jurgen Vinju (2015) Optimizing hash-array mapped tries for fast and lean immutable JVM collections. ACM SIGPLAN Notices 50.10 ¤
-
[Steindorfer-Thesis] Michael J. Steindorfer (2017) Efficient immutable collections. Doctoral Thesis, University of Amsterdam, Netherlands ¤
-
[Stonebraker] Michael Stonebraker and Ariel Weisberg (2013) The VoltDB Main Memory DBMS. IEEE Data Engineering 36.2 ¤
-
[Stucki] Nicolas Stucki et al. (2015) RRB vector: a practical general purpose immutable sequence. ACM SIGPLAN Notices 50.9 ¤
-
[Scheme] Gerald Sussman and Guy Steele † (1975) Scheme: an interpreter for extended lambda calculus. Technical Report AI-M-349. MIT AI Lab, Cambridge MA ¤
-
[Swartout-Balzer] William Swartout and Robert Balzer † (1982) On the inevitable intertwining of specification and implementation. Comm. of ACM 25.7 ¤
-
[Tamminen] Markku Tamminen (1981) Order preserving extendible hashing and bucket tries. BIT Numerical Mathematics 21.4 ¤
-
[Amortized] Robert Tarjan (1985) Amortized computational complexity. SIAM Journal on Algebraic Discrete Methods 6.2 ¤
-
[C4-Collector] Gil Tene, Balaji Iyengar and Michael Wolf (2011) C4: The continuously concurrent compacting collector. Proc. of Intl. Symposium on Memory Management ¤
-
[Thompson-Trust] Ken Thompson † (1984) Reflections on trusting trust. Comm. of ACM 27.8 ¤
-
[TIOBE] TIOBE Index (2019) tiobe.com
-
[Turner-Applicative] David Turner (1979) A New Implementation Technique for Applicative Languages. Software Practice and Experience 9.1 ¤
-
[Turner-Recursion] David Turner (1982) Recursion Equations as a Programming Language. A List of Successes That Can Change the World. Springer, Cham ¤
-
[SELF] David Ungar and Randall Smith (1991) SELF: the Power of Simplicity. Lisp and Symbolic Computing 4.3 ¤
-
[EDVAC] John von Neumann (1945) First Draft of a Report on the EDVAC. Univ of Pennsylvania ¤
-
[Merge-Sort] John von Neumann and Herman Goldstine (1948) Planning and coding of problems for an electronic computing instrument. Institute for Advanced Study, Princeton NJ ¤
-
[Python] Guido Van Rossum and Fred Drake Jr (1995) Python reference manual. Amsterdam: Centrum voor Wiskunde en Informatica ¤ • python.org
-
[Wadler-Linear] Philip Wadler (1990) Linear types can change the world! Programming Concepts and Methods, Vol. 3.4 ¤
-
[Wadler-Essence] Philip Wadler (1992) The essence of functional programming. POPL Vol. 92.37 ¤
-
[Wadler-Imperative] Philip Wadler and Simon Peyton Jones (1993) Imperative functional programming. Proc. of 20th Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. ¤
-
[Wakeling] David Wakeling and Colin Runciman (1991) Linearity and laziness. Conf on Functional Programming Languages and Computer Architecture. Springer, Berlin, Heidelberg ¤
-
[Hackers-Delight] Henry Warren (2002) Hacker’s Delight. Pearson Education ¤
-
[Weiss] Aaron Weiss, Daniel Patterson, Nicholas Matsakis † and Amal Ahmed (2019) Oxide: The Essence of Rust. arXiv preprint arXiv:1903.00982 ¤
-
[Weizenbaum-Knotted] Joseph Weizenbaum (1961) Knotted list structures. Proc. of 16th ACM National Meeting ¤
"(This scheme) permits a sub-list to be a sub-list of many lists."
-
[Weizenbaum-Symmetric] Joseph Weizenbaum (1963) Symmetric list processor. Comm. of ACM 6.9 ¤
-
[Subroutine] David Wheeler † (1952) The use of sub-routines in programmes. Proc. of ACM national meeting, Pittsburgh. ACM, New York NY ¤
-
[Whiting-History] Paul Whiting and Robert Pascoe (1994) A history of data-flow languages. IEEE Annals of the History of Computing 16.4 ¤
-
[EDSAC] Maurice Wilkes and W. Renwick (1950) The EDSAC: Electronic Delay Storage Automatic Calculator. Mathematics of Computation 4.30 ¤
-
[Wilkes-Lists] Maurice Wilkes (1965) Lists and why they are useful. The Computer Journal 7.4 ¤
-
[Wilkes-Pioneer] Maurice Wilkes (1985) Memoirs of a computer pioneer. MIT Press ¤
"The realization came over me with full force that a good part of the remainder of my life was going to be spent in finding errors in my own programs."
-
[Wilson-GC] Paul Wilson (1992) Uniprocessor garbage collection techniques. Intl. Workshop on Memory Management. Springer, Berlin, Heidelberg ¤
-
[Wilson-Malloc] Paul Wilson et al. (1995) Dynamic storage allocation: A survey and critical review. Intl. Workshop on Memory Management. Springer, Berlin, Heidelberg ¤
-
[Native-Client] Bennet Yee, David Sehr, Gregory Dardyk, Brad Chen, Robert Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula and Nicholas Fullagar (2009) Native Client: A sandbox for portable, untrusted x86 native code. IEEE Symposium on Security and Privacy ¤ • see [Sandboxing-JITs]
-
[UTF-8] Francois Yergeau (2003) UTF-8 — a transformation format of ISO 10646. STD 63, RFC 3629, DOI 10.17487/RFC3629 → • wiki