Translating math into code with examples in Java, Racket, Haskell, Python (2011)
These structures are so universal that most research papers in the theory of computation, programming languages and formal methods present concepts in terms of discrete mathematics rather than code.