From 7f74879822e69d3b0dbf241ff053b76b8e177ff2 Mon Sep 17 00:00:00 2001 From: Jim Date: Sun, 1 Feb 2015 05:41:55 -0500 Subject: [PATCH] update week1 notes --- week1_advanced_notes.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/week1_advanced_notes.mdwn b/week1_advanced_notes.mdwn index 2cf6e3a9..99108d4e 100644 --- a/week1_advanced_notes.mdwn +++ b/week1_advanced_notes.mdwn @@ -161,7 +161,7 @@ is parsed as: ### Some common functions ### -Function composition, which mathematicians write as `f` ○ `g`, is defined as λ `x. f (g x)`. This notion is one you'll commonly be encountering in functional programming, so it's handy to have a short and clear notation for it. Haskell expresses this relation using a period, like this: `f . g`. But we are using the period for other purposes, as in our &lambda-constructions; and even Haskell gets into some awkwardness because they use it in other ways too. Perhaps we could use a simple `o` as an infix composition operator? I'm not sure if that would be clear enough. For the time being, I'm electing to write this notion as `comp`, but as an infix expression, so we write: `f comp g` to mean λ `x. f (g x)`. We may revisit this notational proposal later. +Function composition, which mathematicians write as `f` ˚ `g`, is defined as λ `x. f (g x)`. This notion is one you'll commonly be encountering in functional programming, so it's handy to have a short and clear notation for it. Haskell expresses this relation using a period, like this: `f . g`. But we are using the period for other purposes, as in our &lambda-constructions; and even Haskell gets into some awkwardness because they use it in other ways too. Perhaps we could use a simple `o` as an infix composition operator? I'm not sure if that would be clear enough. For the time being, I'm electing to write this notion as `comp`, but as an infix expression, so we write: `f comp g` to mean λ `x. f (g x)`. We may revisit this notational proposal later. We've already come across the `id` function, namely λ `x. x`. -- 2.11.0