4 ms·
"Understanding Computation: From Simple Machines to Impossible Programs". I knew many of topics and enjoyed it nonetheless. Highlights: + Very insightful cha
by cben 4y ago
"Understanding Computation: From Simple Machines to Impossible Programs". I knew many of topics and enjoyed it nonetheless. Highlights:
+ Very insightful chapter on different flavours of language semantics, and specs vs implementation.
+ The standard CS automata/ grammars stuff, but with working code.
+ Fun chapter on FizzBuzz in lambda calculus (it's also the free sample+video). Whats vool there is not just showing you _can_ compute everything (of vourse you can) but that you can build high-level constructs so the resulting code is todally clear.
+ A bit of the standard CS computability stuff, but then gets into esoterically minimalistic yet turning-complete stuff like 1D cellular automata.
+ Type checking as a form of partial evaluation, and some other "symbolic" stuff you can do with partially-evaluting interpreter. Some overlap with dependent types - but a more pragmatic less type-theoretic angle.
Author uses a carefully selected subset of ruby, introduced in a short intro - big props for being thoughtful about that.
P.S.
+1 to Mazes book too (which is not as conscious about its ruby use, fun anyway)