From: Matthijs Kooijman Date: Tue, 1 Dec 2009 10:59:35 +0000 (+0100) Subject: Change the symbol used for casting to ▶. X-Git-Tag: final-thesis~129 X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=commitdiff_plain;h=ae83e3ad02886b6ca5e836b8f1d0fc3ae6321adb Change the symbol used for casting to ▶. This removes the ambiguity between using :: for explicitly casting and for showing the type of an expression. --- 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 diff --git a/Chapters/Prototype.tex b/Chapters/Prototype.tex index 6db0d86..78f5ecf 100644 --- a/Chapters/Prototype.tex +++ b/Chapters/Prototype.tex @@ -463,7 +463,7 @@ \startdesc{Cast expression} \defref{cast expression} \startlambda - body :: targettype + body ▶ targettype \stoplambda A cast expression allows you to change the type of an expression to an equivalent type. Note that this is not meant to do any actual work, like @@ -487,7 +487,7 @@ The value of a cast is the value of its body, unchanged. The type of this value is equal to the target type, not the type of its body. - \todo{Move this paragraph} + \todo{Move and update this paragraph} Note that this syntax is also used sometimes to indicate that a particular expression has a particular type, even when no cast expression is involved. This is then purely informational, since the only elements that