References

Peter Lee – Realistic Compiler Generation.

S/SL

OCG

RTL

  • https://www.researchgate.net/publication/220404697_The_Design_and_Application_of_a_Retargetable_Peephole_Optimizer](https://www.researchgate.net/publication/220404697_The_Design_and_Application_of_a_Retargetable_Peephole_Optimizer)
  • Portable code generator in two passes
  • (Used in gcc)
  • Fraser Davidson

Smalltalk Blue Book

SmallC

  • very straight-forward implementation of a C compiler that could (IMO) be ported to any modern language
  • https://ia801008.us.archive.org/19/items/dr_dobbs_journal_vol_05_201803/dr_dobbs_journal_vol_05.pdf](https://ia801008.us.archive.org/19/items/dr_dobbs_journal_vol_05_201803/dr_dobbs_journal_vol_05.pdf)
  • (see Dr. Dobb’s Journal number 45, May 1980 “A Small C Compiler for the 8080’s)
  • beautiful simplicity, easy to understand compiler
  • Ron Cain

Anatomy of Lisp

Flow-Based Programming

PROLOG Control in Six Slides

  • PROLOG is fundamentally very simple – it is just an exhaustive pattern matching tool
  • Nils Holm created the easiest (IMO) to understand description of PROLOG…
  • https://www.t3x.org/bits/prolog6.html
  • Nils Holm

Eiffel, The Language

Tiny Basic

(my article “Potpourri of Lisp Functions” in number 38)

Getting to Simple

Framing Software Reuse

Lisp for MC6800

TXL

  • Source Transformation by Example
  • (functional, backtracking, parsing)
  • http://www.txl.ca/
  • Jim Cordy

Data Descriptors

Greenspun’s Tenth Rule

C.A.R. Hoare CSP (Communicating Sequential Processes)

Ohm-js

PEG.js

ESRAP

PEG

JQ tutorial

Concurrency is not Parallelism

Order Out of Chaos

Human Interface

  • https://www.amazon.ca/Humane-Interface-Directions-Designing-Interactive/dp/0201379376
    Design of Everyday Things
  • https://www.amazon.ca/Design-Everyday-Things-Revised-Expanded/dp/0465050654

Non-CS References

Gazzaniga

  • human brain invents explanations for experiences - after-the-fact (!)

Consciousness Explained

Darwin’s Dangerous Idea

Evolution 2.0

  • bacteria exhibits behaviour that might be called “intelligence” and “consciousness”

Sleepwalkers

  • examines personalities of people involved in transition from Ptolomaic Universe to Copernican Universe
  • important because it shows how many people are “blind” to simpler theories (e.g. epicycles in Ptolomaic version)

Songwriting

  • anything by Pat Pattison
  • PatPattison.com
  • tension and release of tension via rhyme choice
  • good songs blend good lyric writing with good music writing (melody, chords)
  • important for understanding choice of words and phrasing (even in technical documentation, IMO)
  • B-Rhymes (perfect rhymes are not always appropriate)

    Appendix - Updates

  • Dec. 15, 2021 converted from Scrivener to markdown, and, added non-cs references

See Also

Table of Contents
Blog
Videos
References