X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=week1_advanced_notes.mdwn;h=3b49365a6e997dbcc347b579ccf62ec63ab6c3db;hp=887e04883313f58b17ef9c8504999e4f94a2b5ca;hb=cd4f37fa020e0ddf0951e9a4f921658f88fa37e3;hpb=63e35995f8d58f55c46eb365bbf038866fdaccf2 diff --git a/week1_advanced_notes.mdwn b/week1_advanced_notes.mdwn index 887e0488..3b49365a 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 λ-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`.