Actions for Understanding computation [electronic resource]
Understanding computation [electronic resource] / Tom Stuart
- Author
- Stuart, Tom
- Published
- Sebastopol, CA : O'Reilly Media, [2013]
- Copyright Date
- ©2013
- Physical Description
- 1 online resource (x, 317 pages) : illustrations
Access Online
- Contents
- Machine generated contents note: 1.Just Enough Ruby -- Interactive Ruby Shell -- Values -- Basic Data -- Data Structures -- Procs -- Control Flow -- Objects and Methods -- Classes and Modules -- Miscellaneous Features -- Local Variables and Assignment -- String Interpolation -- Inspecting Objects -- Printing Strings -- Variadic Methods -- Blocks -- Enumerable -- Struct -- Monkey Patching -- Defining Constants -- Removing Constants -- pt. I Programs and Machines -- 2.The Meaning of Programs -- The Meaning of "Meaning" -- Syntax -- Operational Semantics -- Small-Step Semantics -- Big-Step Semantics -- Denotational Semantics -- Expressions -- Statements -- Applications -- Formal Semantics in Practice -- Formality -- Finding Meaning -- Alternatives -- Implementing Parsers -- 3.The Simplest Computers -- Deterministic Finite Automata -- States, Rules, and Input -- Output -- Determinism -- Simulation -- Nondeterministic Finite Automata -- Nondeterminism -- Free Moves -- Regular Expressions -- Syntax -- Semantics -- Parsing -- Equivalence -- 4.Just Add Power -- Deterministic Pushdown Automata -- Storage -- Rules -- Determinism -- Simulation -- Nondeterministic Pushdown Automata -- Simulation -- Nonequivalence -- Parsing with Pushdown Automata -- Lexical Analysis -- Syntactic Analysis -- Practicalities -- How Much Power? -- 5.The Ultimate Machine -- Deterministic Turing Machines -- Storage -- Rules -- Determinism -- Simulation -- Nondeterministic Turing Machines -- Maximum Power -- Internal Storage -- Subroutines -- Multiple Tapes -- Multidimensional Tape -- General-Purpose Machines -- Encoding -- Simulation -- pt. II Computation and Computability -- 6.Programming with Nothing -- Impersonating the Lambda Calculus -- Working with Procs -- The Problem -- Numbers -- Booleans -- Predicates -- Pairs -- Numeric Operations -- Lists -- Strings -- The Solution -- Advanced Programming Techniques -- Implementing the Lambda Calculus -- Syntax -- Semantics -- Parsing -- 7.Universality Is Everywhere -- Lambda Calculus -- Partial Recursive Functions -- SKI Combinator Calculus -- Iota -- Tag Systems -- Cyclic Tag Systems -- Conway's Game of Life -- Rule 110 -- Wolfram's 2,3 Turing Machine -- 8.Impossible Programs -- The Facts of Life -- Universal Systems Can Perform Algorithms -- Programs Can Stand In for Turing Machines -- Code Is Data -- Universal Systems Can Loop Forever -- Programs Can Refer to Themselves -- Decidability -- The Halting Problem -- Building a Halting Checker -- It'll Never Work -- Other Undecidable Problems -- Depressing Implications -- Why Does This Happen? -- Coping with Uncomputability -- 9.Programming in Toyland -- Abstract Interpretation -- Route Planning -- Abstraction: Multiplying Signs -- Safety and Approximation: Adding Signs -- Static Semantics -- Implementation -- Benefits and Limitations -- Applications.
- Subject(s)
- ISBN
- 9781449330118 (electronic bk.)
- Note
- "From simple machines to impossible programs"--PDF cover.
Includes index.
AVAILABLE ONLINE TO AUTHORIZED PSU USERS. - Technical Details
- Mode of access: World Wide Web.
View MARC record | catkey: 11528143