- D. Sannella. M Fourman, H. Peng and P. Wadler
- Introduction to Computation: Haskell, Logic and Automata
- Undergraduate Topics in Computer Science, Springer (2021)
- ISBN 978-3-030-76907
Haskell code
The following files are organised by chapter with minimal changes as required to make them work without modification in Haskell.
Changes include renaming of functions/types to avoid duplicate names, and commenting out definitions of Prelude functions.
Chapter 22: Efficient CNF Conversion
Chapter 23: Counting Satisfying Valuations - no Haskell code
Chapter 24: Type Classes
Chapter 25: Search in Trees
Chapter 26: Combinatorial Algorithms
Chapter 27: Finite Automata - no Haskell code
Chapter 28: Deterministic Finite Automata - no Haskell code
Chapter 29: Non-Deterministic Finite Automata
Chapter 30: Input/Output and Monads and a file Main.hs that can be run using runghc
Chapter 31: Regular Expressions - no Haskell code
Chapter 32: Non-Regular Languages - no Haskell code