X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FNormalization.tex;h=c42aa3a72031c7e52d4123a6b452c3e8e58ebeef;hp=cdd57bb9c52da6a0d885ae2cadf02d114f76f548;hb=ae83e3ad02886b6ca5e836b8f1d0fc3ae6321adb;hpb=2632b37c704f17c78b1dd023e9c9688918b7ee31 diff --git a/Chapters/Normalization.tex b/Chapters/Normalization.tex index cdd57bb..c42aa3a 100644 --- a/Chapters/Normalization.tex +++ b/Chapters/Normalization.tex @@ -230,7 +230,7 @@ let -- Unpack the state by coercion (\eg, cast from -- State (Word, Word) to (Word, Word)) - s = sp :: (Word, Word) + s = sp ▶ (Word, Word) -- Extract both registers from the state r1 = case s of (a, b) -> a r2 = case s of (a, b) -> b @@ -250,7 +250,7 @@ s' = (,) r1' r2' -- pack the state by coercion (\eg, cast from -- (Word, Word) to State (Word, Word)) - sp' = s' :: State (Word, Word) + sp' = s' ▶ State (Word, Word) -- Pack our return value res = (,) sp' out in @@ -334,8 +334,8 @@ \italic{toplet} = letrec [\italic{binding}...] in var (representable(varvar)) \italic{binding} = var = \italic{rhs} (representable(rhs)) -- State packing and unpacking by coercion - | var0 = var1 :: State ty (lvar(var1)) - | var0 = var1 :: ty (var0 :: State ty) (lvar(var1)) + | var0 = var1 ▶ State ty (lvar(var1)) + | var0 = var1 ▶ ty (var0 :: State ty) (lvar(var1)) \italic{rhs} = userapp | builtinapp -- Extractor case