From 2d7184fd939feae0d0d9ebd21ade529de1907d38 Mon Sep 17 00:00:00 2001 From: Henrik Kirk Date: Tue, 1 Oct 2024 14:13:52 +0200 Subject: [PATCH] Fixed error and split first applicative into two steps --- slides/06/monads.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/slides/06/monads.md b/slides/06/monads.md index f557eb6..6aea3a9 100644 --- a/slides/06/monads.md +++ b/slides/06/monads.md @@ -464,7 +464,7 @@ Note: ```fsharp val collect: (mapping: 'T -> 'U list) -> (list: 'T list) -> 'U list -[1..4] |> List.map (fun x -> [1..x]) +[1..4] |> List.collect (fun x -> [1..x]) // [1; 1; 2; 1; 2; 3; 1; 2; 3; 4] ``` @@ -481,11 +481,12 @@ module List = l |> List.map f) let odds = [1;3;5;7;9] let evens = [2;4;6;8;0] +let partialApplied numbers = + (List.apply + (List.apply [fun odd even -> (odd, even)] odds) + numbers) let all = - (List.apply - (List.apply [fun odd even -> (odd, even)] - odds) - evens) + (partialApplied evens) type allFaces = [] type allSuits = []