From ff0bc6bc866c708c6e51f0599a9877af6d6b4878 Mon Sep 17 00:00:00 2001 From: Cameron Ball Date: Tue, 17 Mar 2020 23:17:01 +0800 Subject: [PATCH] Misc fixes and a shit tonne of initial slides --- index.html | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 125 insertions(+), 24 deletions(-) diff --git a/index.html b/index.html index 7aac56e..20de7a2 100644 --- a/index.html +++ b/index.html @@ -188,11 +188,65 @@
=<< Obligatory Quote >>=
-
-
If you wish to build a ship, do not divide the men into teams and send them to the forest to cut wood. Instead, teach them to long for the vast and endless sea.
+
+
If you wish to build a ship, do not divide the men into teams and send them to the forest to cut wood. Instead, teach them to long for the vast and endless sea.
+
+
+
+
=<< Obligatory Quote >>=
+
+
If you wish to build a ship, do not divide the men into teams and send them to the forest to cut wood. Instead, teach them to long for the vast and endless sea.

- Some French Guy. Idk. Who cares, I'm not cultured. I'm Australian.
+
=<< What is this Talk About? >>=
+
+
+
+
+
=<< What is this Talk About? >>=
+
+
Perspective
+
+
+
+
=<< What is Functional Programming? >>=
+
+
Programming with functions.
+
+
+
+
=<< What is a Function? >>=
+
+
A mapping between sets that associates every element of the first set to exactly one element of the second set.
+
+
+
+
=<< Huh? >>=
+
+

Why would you wanna do that?!

+
+
+
+
=<< Huh? >>=
+
+

Why would you wanna do that?!

+
+
    +
  • Learning is good
  • +
  • Brain plasticity
  • +
  • Greater perspective
  • +
+
+
+
+
+
=<< Paradigms >>=
+
+
Paradigms
+
+
+
=<< Paradigms >>=
@@ -221,7 +275,7 @@
-
+
=<< Gramatical Mood >>=
@@ -246,26 +300,73 @@
-
+
=<< Gramatical Mood >>=
-
+
Declarative This is this.
-
+
Imperative Do this.
-
+
=<< Big Brain Moment >>=
Programming languages ARE human languages.
-
+
+
=<< Why is declaritive mood good? >>=
+
+
+
+
+
=<< Why is declaritive mood good? >>=
+
+
Atemporality
+
+
+
+
=<< Why is declaritive mood good? >>=
+
+
Independant of or unaffected by time.
+
+
+
+
=<< Why is declaritive mood good? >>=
+
+
Declarative programs express what they actually do Leaving more "brain space" to focus on solving the problem.
+
+
+
+
=<< To Recap >>=
+
+

Why would you wanna do that?

+
+
    +
  • Because sometimes there is such a thing as too much freedom
  • +
  • Functional programming is awesome because it stops you shooting yourself in the foot
  • +
  • "Constraints liberate, liberties constrain"
  • +
+
+
+
+
+
=<< Some Code (Finally) >>=
+
+
+
+
+
=<< Some Code (Finally) >>=
+
+
Enough of this philosophy and linguistics mumbo jumbo, already!
+
+
+
=<< Some Code (Finally) >>=

The Great Dividers

@@ -287,7 +388,7 @@
-
+
=<< Some Code (Finally) >>=
@@ -307,7 +408,7 @@
-
+
=<< Some Code (Finally) >>=
@@ -323,19 +424,19 @@
Imperative - "To evaluate the repeate of `x`, first evaluate the repeat of `x`""


+ "To evaluate the repeate of `x`, first evaluate the repeat of `x`"


...Yeah, you see the problem?
-
+
=<< Big Brain Moment >>=
Programming languages ARE human languages.
-
+
=<< Some Code (Finally) >>=

Real Haskell Code That Runs

@@ -343,10 +444,10 @@ threeFs = take 3 (repeat "f") > "fff" - +
-
+
=<< Some Code (Finally) >>=

Real JavaScript Code That Hangs

@@ -357,10 +458,10 @@ threeFs = take 3 (repeat "f") threeFs = repeat("f").substr(0,3); > InternalError: too much recursion - +
-
+
=<< Promises >>=
@@ -377,7 +478,7 @@ threeFs = repeat("f").substr(0,3); Promises do not make things asynchronous!
-
+
=<< Promises >>=

What problems do promises solve?

@@ -398,7 +499,7 @@ threeFs = repeat("f").substr(0,3);
-
+
=<< Promises >>=

Terminology/syntax recap

@@ -420,7 +521,7 @@ threeFs = repeat("f").substr(0,3);
-
+
=<< Promises >>=

Promise composition

@@ -441,7 +542,7 @@ threeFs = repeat("f").substr(0,3);
-
+
=<< Promises >>=

OK great but who cares?

@@ -457,7 +558,7 @@ threeFs = repeat("f").substr(0,3);
-
+
=<< Promises >>=
@@ -469,7 +570,7 @@ threeFs = repeat("f").substr(0,3);
-
+
=<< Promises >>=

Woah!

@@ -483,7 +584,7 @@ threeFs = repeat("f").substr(0,3); >>= (\x -> Right (x ++ " and finally here!"))
-
+
=<< Promises >>=

Woah!

-- 2.11.0