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
Dutch FP Day 2015
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Chris Eidhof | @chriseidhof
January 09, 2015
Technology
410
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dutch FP Day 2015
Chris Eidhof | @chriseidhof
January 09, 2015
More Decks by Chris Eidhof | @chriseidhof
See All by Chris Eidhof | @chriseidhof
Tiny Networking in Swift
chriseidhof
2
19k
Functional Swift - Brooklyn
chriseidhof
3
1.3k
Functional Swift - SF
chriseidhof
6
26k
Functional Swift
chriseidhof
6
1.3k
Functional Swift
chriseidhof
1
180
Functional Programming in Swift
chriseidhof
40
19k
Lighter View Controllers
chriseidhof
4
230
Parsing with Blocks
chriseidhof
2
270
Practical Concurrent Programming
chriseidhof
4
310
Other Decks in Technology
See All in Technology
Agent × Maestro で始める モバイル E2E 端末準備からテスト実行・結果確認まで
sansantech
PRO
0
210
ポケモン対戦を自動で記録して振り返ろう
fufufukakaka
0
410
日本AIベンチャーレポート2026
kentarofujii
0
240
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
110
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
330
BacklogのRAG 今ならこう作る - S3 Vectorsと自前パイプラインの勘所
revsystem
0
140
DevelopersIO2026 -バックアップは“消されないこと”が9割-
yoshida0129
0
410
1週間、Opus封印でお願いします
kintotechdev
0
210
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
150
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
7
4.4k
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
1
880
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
150
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
Making Projects Easy
brettharned
120
6.8k
Bash Introduction
62gerente
615
220k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
Crafting Experiences
bethany
1
390
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
340
Speed Design
sergeychernyshev
33
2.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
580
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
Functional Programming in Swift @chriseidhof
First, a story...
None
None
None
Real World Wide Web Haskell Chris Eidhof Eelco Lempsink FP
Dag, January 9th, 2009 UVQJM
None
None
- (NSDictionary*)parseResponse:(NSData*) data { NSString *dataString = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding]; NSObject *json = [dataString JSONValue]; [dataString release]; if (json == nil || ![json isKindOfClass:[NSDictionary self]]) { return nil; } return (NSDictionary *)json; }
+ (BOOL)isHostReachable:(NSString *)host { if (!host || ![host length]) {
return NO; } SCNetworkReachabilityFlags flags; SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL, [host UTF8String]); BOOL gotFlags = SCNetworkReachabilityGetFlags(reachability, &flags); CFRelease(reachability); if (!gotFlags) { return NO;
OOP
Writing my own language
None
None
This changes everything...
Much convincing to do...
Awesome responses...
Very interesting times
None
Everybody in our community is at least looking at Haskell.
Many are learning.
How we wrote the book
» Literate Swift » Playgrounds (= awesome!)
None
Demo
Challenges
We know it's awesome, but saying so directly will turn
people away
Swift still lacks a lot: stability, tooling, constraints at the
type-level, compiler bugs
What terminology do we use?
“We don't need all this new stuff, generics are awful”
Thanks
Credits Utrecht photo: https://www.flickr.com/photos/ lambertwm/