takenobu-hs/lazy_evaluation
haskell lazy evaluation illustrated
{ "createdAt": "2015-06-10T13:07:32Z", "defaultBranch": "master", "description": "haskell lazy evaluation illustrated", "fullName": "takenobu-hs/lazy_evaluation", "homepage": "", "language": null, "name": "lazy_evaluation", "pushedAt": "2017-05-03T00:52:31Z", "stargazersCount": 72, "topics": [ "ghc", "haskell" ], "updatedAt": "2024-12-02T05:11:48Z", "url": "https://github.com/takenobu-hs/lazy_evaluation"}Lazy evaluation illustrated
Section titled “Lazy evaluation illustrated”for Haskell divers
Section titled “for Haskell divers”This is an illustrated document about lazy evaluation in Haskell
Here is: Lazy evaluation illustrated for Haskell divers (PDF).
Contents
Section titled “Contents”- Introduction
- Basic mental models
- Lazy evaluation
- Simple questions
- Expressions
- Expression and value
- Expressions in Haskell
- Classification by values and forms
- WHNF
- Internal representation of expressions
- Constructor
- Thunk
- Uniform representation
- WHNF
- let, case expression
- Evaluation
- Evaluation strategies
- Evaluation in Haskell (GHC)
- Examples of evaluation steps
- Examples of evaluations
- Controlling the evaluation
- Implementation of evaluator
- Lazy graph reduction
- STG-machine
- Semantics
- Bottom
- Strict/Non-strict
- Lifted and boxed types
- Strictness analysis
- Sequential order
- Appendix
- References