Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dutch FP Day 2015
Search
Chris Eidhof | @chriseidhof
January 09, 2015
Technology
400
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
170
Functional Programming in Swift
chriseidhof
40
19k
Lighter View Controllers
chriseidhof
4
220
Parsing with Blocks
chriseidhof
2
260
Practical Concurrent Programming
chriseidhof
4
300
Other Decks in Technology
See All in Technology
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
140
20分でわかるセキュアAPI
nwiizo
1
200
システム思考で問題に対処する
yussak
0
210
JavaScript 研修 (2026)
recruitengineers
PRO
2
470
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
140
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
300
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
520
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
530
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Pavlokで始める電撃駆動開発
sgrsn
0
180
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
450
Featured
See All Featured
Done Done
chrislema
186
16k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
Building AI with AI
inesmontani
PRO
1
1.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
570
Rails Girls Zürich Keynote
gr2m
96
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The Cost Of JavaScript in 2023
addyosmani
55
10k
KATA
mclloyd
PRO
35
15k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Agile that works and the tools we love
rasmusluckow
331
22k
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/