Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

takenobu-hs/lazy_evaluation

haskell lazy evaluation illustrated

takenobu-hs/lazy_evaluation.json
{
"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"
}

This is an illustrated document about lazy evaluation in Haskell

Here is: Lazy evaluation illustrated for Haskell divers (PDF).

  1. Introduction
  • Basic mental models
  • Lazy evaluation
  • Simple questions
  1. Expressions
  • Expression and value
  • Expressions in Haskell
  • Classification by values and forms
  • WHNF
  1. Internal representation of expressions
  • Constructor
  • Thunk
  • Uniform representation
  • WHNF
  • let, case expression
  1. Evaluation
  • Evaluation strategies
  • Evaluation in Haskell (GHC)
  • Examples of evaluation steps
  • Examples of evaluations
  • Controlling the evaluation
  1. Implementation of evaluator
  • Lazy graph reduction
  • STG-machine
  1. Semantics
  • Bottom
  • Strict/Non-strict
  • Lifted and boxed types
  • Strictness analysis
  • Sequential order
  1. Appendix
  • References