From 68d2f1c68b4c0ebd4e6553687351b0f1f3400010 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Sat, 28 Mar 2026 10:22:50 +0100 Subject: [PATCH] [FMFP] Start lazy evaluation --- ...methods-functional-programming-summary.pdf | Bin 477537 -> 478027 bytes .../02_typing/03_interpreter/02_eval.tex | 12 +++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/semester4/fmfp/formal-methods-functional-programming-summary.pdf b/semester4/fmfp/formal-methods-functional-programming-summary.pdf index 3500d76225e0c1575badc3fc7474f7cf7488388b..a7dc15bbfc0280b6dbdc25ff64fd317a07ed2e6f 100644 GIT binary patch delta 36983 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

tzMmSl@sTJZMR!ynRX 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 WLF3UCFGm>9~`0Q4^nh6Gyx diff --git a/semester4/fmfp/parts/02_typing/03_interpreter/02_eval.tex b/semester4/fmfp/parts/02_typing/03_interpreter/02_eval.tex index 2047ec6..86817f4 100644 --- a/semester4/fmfp/parts/02_typing/03_interpreter/02_eval.tex +++ b/semester4/fmfp/parts/02_typing/03_interpreter/02_eval.tex @@ -1,3 +1,13 @@ \newpage \subsection{Evaluation} -Evaluation is then done using tree traversal as we have already seen in the haskell section. +Evaluation is then done using tree traversal as we have already seen in the Haskell section. + + +\subsubsection{Lazy Evaluation} +Expressions are substituted before evaluation recursively until there are no more expressions to substitute, at which point the expression is evaluated. + +This can obviously lead to duplicated evaluation, i.e. a computation reoccurring. + +In Haskell, this is solved using sharing where the terms are represented in a directed graph. + +In pattern matching, the arguments are evaluated only as much as is needed to determine a pattern match.