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
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
8
2.2k
JavaScript 研修 (2026)
recruitengineers
PRO
2
470
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
980
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
250
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
420
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.9k
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
670
グローバル基準のSREは、運用現場でどう機能したか:成熟度アセスメントの実践 / SRE NEXT 2026
sorawatanabe
0
140
ホームラボ紹介
y_sera15
0
130
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
140
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
490
Abbi's Birthday
coloredviolet
3
9.3k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
Making the Leap to Tech Lead
cromwellryan
135
10k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
240
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
How to Ace a Technical Interview
jacobian
281
24k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
440
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
540
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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/