M. Douglas McIlroy, Adjunct Professor
Department of Computer Science
6211 Sudikoff Hall
Hanover, NH 03755
+1 603 646 1077
- 2003 marked my golden anniversary as a programmer. Hooked when Bob
Walker introduced his numerical analysis class to Cornell's newly-arrived IBM
CPC, I have ever since applied my training in engineering, physics, and math
to this endlessly fascinating vocation. I had the good fortune to head the
research department at Bell Labs in which Unix was born, and to work
with some of the most creative talents in computing. Some things I have worked
- Languages and compilers: macros, Lisp, PL/I, TMG (a compiler-compiler), regular
expressions; influenced Snobol, Altran, C++
- Stream processing: Unix pipes,
classic coroutine sieve, power
- Computer security
- Unix programs: spell, diff, sort, join, graph, speak, tr, tsort, calendar, echo, tee, etc.
- Cartography: map projections
- Algorithms for graphics
- Storage allocation theory and practice; first conservative
- Theorem-proving in logic and geometry
- Documentation: making Unix manuals short and accurate
- Upon retiring from Bell Labs, I moved to another happy
situation, at Dartmouth as adjunct professor of
and affiliate of the
for Security Technology Studies. Here I have taught
- Advanced operating systems, CS108
- Information systems, CS33
- Data structures, CS15
- Logic of programming, CS188
- Programming languages, CS118
- and have given guest lectures in several other
R A C I S M W A S S A I L
E V I N C E A N T E N N A
P E R S O N S T R I N G Y
A S C E N T S E I Z U R E
S T U C C O A N N U L A R
T A S T E R I N G R A T E
L A Y E R E D
HILLARY MENTORS SILVERY VERVAIN; BINDERY SUCCORS CORRIDA SLOGGER.
BARRENS HOLDING GARCONS CONCEAL WALTONS' GYPPING PINNATE GRIFFON.
Power serious: Haskell magic
revert (0:ft) = rs where rs = 0 : 1/(ft#rs)
Pure macros as a programming language
Tiniest C sort function?
Basic CS reading list
Cook's Travels and Other Salesmen's Tales — Dick Karp
An appreciation of the late Dennis Ritchie
Dartmouth's Communication Files:
Interprocess IO before pipes.
for map projections, suffix arrays, quicksort and antiquicksort, word squares, etc.
Original description of Darwin, a 1961 game of
survival of the fittest among programs, progenitor of
Honors: Usenix Association
Software Tools awards; member
National Academy of Engineering; fellow AAAS
Dartmouth CS |
Dartmouth ISTS |
Bell Labs CSR
mapped by a committee I chaired.
Piseco Yacht Club
Scenes from Ho, Ghana, 2001.
August 22, 2020