From 03e4155bfc5dc36dd61c8376710a475da1064f7c Mon Sep 17 00:00:00 2001 From: Hammy Date: Sun, 4 Apr 2021 20:12:23 +0100 Subject: [PATCH] Demonstrate Lambdas --- Unit 1/Lesson 3/lambda/lambda.hs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Unit 1/Lesson 3/lambda/lambda.hs diff --git a/Unit 1/Lesson 3/lambda/lambda.hs b/Unit 1/Lesson 3/lambda/lambda.hs new file mode 100644 index 0000000..83e2523 --- /dev/null +++ b/Unit 1/Lesson 3/lambda/lambda.hs @@ -0,0 +1,28 @@ +sumSquareOrSquareSum :: (Ord a, Num a) => a -> a -> a +sumSquareOrSquareSum x y = (\sumSquare squareSum -> + if sumSquare > squareSum + then sumSquare + else squareSum) (x * 2 + y * 2) ((x + y) * 2) + +doubleDouble :: Num a => a -> a +doubleDouble x = (\dubs -> dubs * 2) (x * 2) + +overwrite :: Num p1 => p2 -> p1 +overwrite x = (\x -> + (\x -> + (\x -> x) 4 + ) 3 + ) 2 + +inc :: Integer -> Integer +inc = (\x -> x + 1) + +double :: Integer -> Integer +double = (\x -> x * 2) + +square :: Integer -> Integer +square = (\x -> x ^ 2) + +counter x = (\x -> x + 1) + ((\x -> x + 1) + ((\x -> x) x)) \ No newline at end of file