From: Jim Date: Sun, 1 Feb 2015 10:41:55 +0000 (-0500) Subject: update week1 notes X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=7f74879822e69d3b0dbf241ff053b76b8e177ff2;ds=sidebyside update week1 notes --- 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`.