Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Functional Programming with examples
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
felipe
November 20, 2019
Technology
34
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Functional Programming with examples
felipe
November 20, 2019
More Decks by felipe
See All by felipe
Aplicações Flask Resilientes com Envoy e Kubernetes
felipemocruha
0
41
Desenvolvendo aplicações web com Flask e Docker
felipemocruha
0
27
Docker e Kubernetes
felipemocruha
0
55
Emacs
felipemocruha
0
22
Introdução a Python e seu Ecossistema
felipemocruha
0
23
Data Structures and Performance
felipemocruha
0
27
Observability
felipemocruha
0
37
Testes de Software
felipemocruha
0
24
Other Decks in Technology
See All in Technology
会社説明資料
persolserverworks
0
9.8k
夫婦で子育てするための育児標準化
codmoninc
PRO
0
330
Metadata - Section 1: HTML Basics
mohab1
0
120
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
100
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
330
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
140
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
130
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
0
420
今さら理解するウェブフォントver.2026
takanorip
3
770
Classmethod Company Deck
satoshi7
1
680
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
A Tale of Four Properties
chriscoyier
163
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Thoughts on Productivity
jonyablonski
76
5.4k
The Cult of Friendly URLs
andyhume
79
7k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
functional programming with examples 1
2 Lambda Calculus (1930) LISP (1958) ML (1973) John Backus
Paper (1978) Haskell (1990) SICP (1985) Clojure (2007) Idris (2012)
3
pure functions 4
immutability 5 >>> a = [1, 2, 3, 4] >>>
a.append(5) >>> a [1, 2, 3, 4, 5] >>> from pyrsistent import pvector >>> a = pvector([1, 2, 3, 4]) >>> a.append(5) pvector([1, 2, 3, 4, 5]) >>> a pvector([1, 2, 3, 4])
immutability 6 list plist access O(1) O(log32 n) -> Na
prática O(1) append O(1) O(log32 n) -> Na prática O(1)
immutability 7
currying 8
closures 9
partial application 10
partial application 11
partial application 12
partial application 13
lazy evaluation 14
lazy evaluation 15
higher-order functions 16
higher-order functions 17
higher-order functions 18
higher-order functions 19
recursion 20
function composition 21
function composition 22
pattern matching 23
DISCLAIMER Strange stuff ahead! 24
algebraic data types (ADT) - product types 25
algebraic data types (ADT) - sum types 26
algebraic data types (ADT) - sum types 27
“A typeclass is a sort of interface that defines some
behavior. If a type is a part of a typeclass, that means that it supports and implements the behavior the typeclass describes.” Learn You a Haskell for Great Good! type classes 28
type classes 29
type classes - functor 30
type classes - applicatives and monads http://www.adit.io/posts/2013-04-17-functors,_applicatives,_ and_monads_in_pictures.html 31
where to learn more? 32 • https://purelyfunctional.tv/article/ • https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp9 0.pdf
• https://www.amazon.com/dp/1617291412/ref=cm_sw_r_cp_ep_dp _TIbkAbAM04EN7 • https://lispcast.com/category/writing/ • https://www.youtube.com/user/DrBartosz/playlists