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
180
Functional Programming in Swift
chriseidhof
40
19k
Lighter View Controllers
chriseidhof
4
220
Parsing with Blocks
chriseidhof
2
260
Practical Concurrent Programming
chriseidhof
4
310
Other Decks in Technology
See All in Technology
hookで自作する Claude Code の「実況ボード」
shinyasaita
2
230
Cloudflare製品を活用した AIガバナンス実践入門 / AI governance with Cloudflare Service
delta_tech
1
120
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
480
EMの役割で 変わったこと・変わらなかったこと
sansantech
PRO
1
190
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
1
140
指示待ちから変化に応じるClaude Codeへ!~環境からAgentへの帰り道を作る~
gotalab555
8
1.6k
tamachi.goを支える技術
rymiyamoto
0
110
紙 to デジタル
ichien178
0
380
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
11
9k
AI時代のデータ基盤を考える問い
pacocat
0
740
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
360
[RSJ26] Flow as Flow: Modeling Robot Velocity Fields as Probability Velocity Fields
keio_smilab
PRO
0
120
Featured
See All Featured
Visualization
eitanlees
152
17k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
560
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
Ethics towards AI in product and experience design
skipperchong
2
350
Navigating Team Friction
lara
192
16k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Unsuck your backbone
ammeep
672
58k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
480
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
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/