Functional Programming Patterns for Mere Mortals - Daniel Chambers

  Рет қаралды 42,477

NDC Conferences

NDC Conferences

Күн бұрын

Have you ever peeked over the fence into functional programming land and gazed into a seemingly alien landscape of weird symbols and crazily named concepts? Has your curiosity about functional programming been stymied by complicated words and abstractions? If so, this talk is for you.
We’re going to take a practical, example-based journey through complex-sounding but deceptively simple functional patterns such as functors, applicatives and the big bad monad. We’ll see how these patterns work, what they’re for and how they are used to make clean, composable code. We’ll also identify the places where functional patterns are quietly being used in our mainstream day to day languages. By the end of the talk, you will be better equipped to take further steps down the functional programming path of enlightenment.
NDC Conferences
ndcsydney.com
ndcconferences.com

Пікірлер: 18
@szabo369peter
@szabo369peter 4 жыл бұрын
Very nice! Having functor, applicative, and monad side-by-side (being able to observe the similarities and the differences) made the different parts just click into their respective places. Thanks!
@kahnfatman
@kahnfatman 2 жыл бұрын
Thank you! You have beautifully explained Functor, Applicative and Monad the way developers can understand. BEAUTIFUL!
@hansschenker
@hansschenker 3 жыл бұрын
Deep dive functional with very practical samples - a seldom seen combination - thank's a lot for this presentation - Daniel Chambers!!
@chuckadams7134
@chuckadams7134 5 жыл бұрын
I'm perpetually a Haskell beginner, but I did get over monads a while ago. Still, it was nice to see the relationship between map, apply, and bind spelled out so clearly. A slightly longer aside on how we got to "flatMap" (how bind works out to map+join) wouldn't have gone amiss, but I understand you only have so much time in one presentation. Great presentation, taught me a little F# in the bargain :)
@TheDarkOne629
@TheDarkOne629 2 жыл бұрын
Finally I understand >>= !!! :D Thank you so much, mr. Chambers
@parthapal8380
@parthapal8380 6 жыл бұрын
Excellent explanation of functional patterns !
@Kamiru96
@Kamiru96 6 жыл бұрын
that witcher wallpaper at 32:42 :>
@SelvaavleS
@SelvaavleS 6 жыл бұрын
awesome !!!
@ShotterManable
@ShotterManable 3 жыл бұрын
Is the 4:49 function add right highlighted? I though it stands for two parameters : Int and Int (Int -> Int) and returns Int (last -> Int) . I'm newbie to haskell so I might be wrong
@nap247
@nap247 3 жыл бұрын
yes, the highlight is right add :: Int -> Int -> Int add x y = x + y sure, the most intuitive way to interpret this, is that add takes two numbers as arguments and returns their sum, but functions can be transformed to take only one argument and return a function with one less argument than the original, this is called currying, and I think in Haskell all functions are actually curryed. add :: Int -> (Int -> Int) add x = \y -> x + y in this case add only takes the first number to be added (this is called partial function application), and returns an (unnamed/lambda) function which will take an Int (the second number to be added) and return the sum. let us call the curryed function with the number 1 (partial application), and name the returned function increment: increment = add 1 now when we call increment with whatever integer, it will add one to it (increment = lambda y -> 1 + y)
@jvcmarc
@jvcmarc 5 жыл бұрын
so... this is all just Railway Oriented Programming?
@simonpeggboard4004
@simonpeggboard4004 2 жыл бұрын
"I don't answer Questions' :)
@edgeeffect
@edgeeffect Жыл бұрын
JavaScript is only an OO, Imperitive language if you're doing it wrong. ;)
@EmberMage8192
@EmberMage8192 2 жыл бұрын
Way too dry and abstract talk, feels like an algebra class on derivatives for the first time. I, myself know functional programming more or less, but it was hard to follow. This is definitely not for mere mortals.
@aichpvee
@aichpvee 3 жыл бұрын
If I had a dollar for every time someone giving one of these talks apologized for using Haskell, a language that obviously no one in the audience will be familiar with...
F# for C# programmers - Scott Wlaschin
1:00:01
NDC Conferences
Рет қаралды 68 М.
Lambda? You Keep Using that Letter - Kevlin Henney
1:00:53
NDC Conferences
Рет қаралды 97 М.
OMG🤪 #tiktok #shorts #potapova_blog
00:50
Potapova_blog
Рет қаралды 17 МЛН
버블티로 체감되는 요즘 물가
00:16
진영민yeongmin
Рет қаралды 95 МЛН
I wish I could change THIS fast! 🤣
00:33
America's Got Talent
Рет қаралды 91 МЛН
small vs big hoop #tiktok
00:12
Анастасия Тарасова
Рет қаралды 26 МЛН
Functional Design Patterns - Scott Wlaschin
1:05:50
NDC Conferences
Рет қаралды 291 М.
Plain Functional Programming by Martin Odersky
46:58
Devoxx
Рет қаралды 97 М.
The Functional Programmer's Toolkit - Scott Wlaschin
1:05:51
NDC Conferences
Рет қаралды 68 М.
Functional programming design patterns by Scott Wlaschin
1:05:44
Ivan Plyusnin
Рет қаралды 191 М.
8 Design Patterns | Prime Reacts
22:10
ThePrimeTime
Рет қаралды 388 М.
Revisiting Design Patterns after 20 by Edson Yanaga
48:24
Object-Oriented vs. Functional Programming With C# and F#
1:10:10
Ditch your Favorite Programming Paradigm
6:08
Code Persist
Рет қаралды 167 М.
What is a Monad? - Computerphile
21:50
Computerphile
Рет қаралды 595 М.
Что не так с яблоком Apple? #apple #macbook
0:38
Не шарю!
Рет қаралды 258 М.
Собери ПК и Получи 10,000₽
1:00
build monsters
Рет қаралды 2 МЛН