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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
210
Parsing with Blocks
chriseidhof
2
260
Practical Concurrent Programming
chriseidhof
4
300
Other Decks in Technology
See All in Technology
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
320
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
AIはどのように 組織のアジリティを変えるのか?
junki
4
1.1k
生成 AI 実践ガイド (概略版) AIガバナンス編
asei
0
130
20260619 私の日常業務での生成 AI 活用
masaruogura
1
230
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
270
Lightning近況報告
kozy4324
0
210
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
9
1.3k
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
290
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
SteampipeとExcel Power QueryでAWS構成定義書の作成を自動化する
jhashimoto
0
160
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
850
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
エンジニアに許された特別な時間の終わり
watany
107
250k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
170
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
KATA
mclloyd
PRO
35
15k
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/