References

Programming Simplicity

  • Discord https://discord.gg/yrhegrjy65

Ceptre

  • Strangeloop 2015: https://www.youtube.com/watch?v=bFeJZRdhKcI
  • Paper: http://www.cs.cmu.edu/~cmartens/ceptre.pdf
  • Thesis: https://www.cs.cmu.edu/~cmartens/thesis/thesis.pdf

Peter Lee – Realistic Compiler Generation.

S/SL

PT Pascal - Syntax Driven Translation

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 most understandable description of PROLOG…
  • https://www.t3x.org/bits/prolog6.html

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

  • A JavaScript library for building parsers, interpreters, compilers, and more. [ed. Way more]
  • https://ohmjs.org
  • (based on PEG and META-II)

PEG.js

ESRAP

PEG

JQ tutorial

Concurrency is not Parallelism

Order Out of Chaos

Humane 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 Ptolemaic Universe to Copernican Universe
  • important because it shows how many people are “blind” to simpler theories (e.g. epicycles in Ptolemaic 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

    See Also

Table of Contents
Blog
Videos
References