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
Recap Pointfree Vol. 1~3
Search
freddi(Yuki Aki)
October 25, 2020
Programming
1
830
Recap Pointfree Vol. 1~3
https://gist.github.com/freddi-kit/112b3d13c6660339ddc85bd05ffc3c2b
に Vol 3 で話す予定だったものあり
freddi(Yuki Aki)
October 25, 2020
Tweet
Share
More Decks by freddi(Yuki Aki)
See All by freddi(Yuki Aki)
輝け俺のViewController 〜海外iOSカンファレンス登壇編〜
freddi
4
280
Deep Dive into "any" and "some"
freddi
3
1.5k
挑戦!ISUCON de Server-side Swift 〜タイムゾーンには気をつけろ〜
freddi
0
1.8k
意外と知られてないXcode13の新しい参照カウンタ最適化オプションの挙動
freddi
2
160
How to develop SIL Optimizer in Swift Language
freddi
0
350
SwiftコンパイラがSwiftで開発できるようになる話
freddi
3
650
知ろう! ShazamKit
freddi
1
210
Swift Optimizing at Compiler World
freddi
2
840
社内版SwiftコンパイラにContributeするまで
freddi
0
110
Other Decks in Programming
See All in Programming
CSC509 Lecture 07
javiergs
PRO
0
250
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
340
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
260
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.6k
モテるデスク環境
mozumasu
3
1.3k
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.5k
CSC305 Lecture 09
javiergs
PRO
0
310
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
110
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
160
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
190
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
260
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Practical Orchestrator
shlominoach
190
11k
RailsConf 2023
tenderlove
30
1.3k
Context Engineering - Making Every Token Count
addyosmani
8
300
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
The Pragmatic Product Professional
lauravandoore
36
7k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Become a Pro
speakerdeck
PRO
29
5.6k
Rails Girls Zürich Keynote
gr2m
95
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
A better future with KSS
kneath
239
18k
Transcript
2020/10/25 Recap Pointfree Vol. 1~3 iOSΞϓϦ։ൃͷͨΊͷFunctional Architectureใڞ༗ձ
ࠓճͷRecapͷΓํ • Pointfree Episode Vol 1 ~ 3 ͷ༰Λ͍͖ͬͯ·͢ •
ͨͩ͠ɺͯ͢Δͷ͕࣌ؒڐ͢ݶΓ • ొஃऀͷPlaygroundͰRecapͨ͠Γ༡ΜͰ͍͖·͢ • ղઆ͠ͳ͕ΒΔͷͰʮ͜͏͍͏ͷͰ͖Δʁʯ ͱ͔৭ʑʑΛೖΕΔͷ͓͢͢ΊͰ͢
Pointfree ͱ • ϓϩάϥϛϯάݴޠSwiftʹؔ͢ΔಈըͷγϦʔζ • ؔܕϓϩάϥϛϯάͱSwiftʹ͍ͭͯղઆ • Ұ෦Τϐιʔυߪಡ͕ඞਢ • https://www.pointfree.co/
“pointfree” ͱ • pointfree ͱ͍͏୯ޠࣗମʹ͍ͭͯҙຯ͕͋Δ
pointfree-style • Haskellͷؔͷॻ͖ํʢελΠϧʣ • … So a 'points-free' definition of
a function is one which does not explicitly mention the points (values) of the space on which the function acts. • … ͳͷͰɺʮpointfreeʯ ʹΑΔఆٛͱ͕ؔ࡞༻ ͢ΔۭؒͰɺʹ໌ࣔతʹݴٴ͠ͳ͍ఆٛΛ͞ ͍ͯ͠·͢ɻ
pointfree-style • ͨͱ͑ɺHaskell ͷ͜ͷॻ͖ํ f x = x + 1
Sun
pointfree-style • (point) ʹݴٴ͠ͳ͍ॻ͖ํͩͱ͜͏ॻ͚Δ • ͜Ε͕ઌఔͷ f ͷpointfree style f
= (+ 1) Sun
“pointfree” ͱ • ༨ஊͰ͋ΓDeep Dive͢Δͱ͕͘ͳΔͷͰׂѪ
ࠓ͢Pointfree ͷ Episode ʹ͍ͭͯ • Vol 1. Functions • Vol
2. Side Effects • Vol 3. UIKit Styling with Functions
Vol 1. Functions • ͪΐͬͱมΘͬͨελΠϧͷؔʹؔ͢Δॻ͖ํ • ͜Ε͔Βͷ Episode ΛݟΔ্Ͱඞਢͷ༰ •
৽͍͠ԋࢉࢠͷհ • |> ʹΑΔؔద༻, >>> ʹΑΔؔͷ߹
Vol 1. Functions • ݸਓతͳײಈ • ֤ԋࢉࢠʹΑΔ, left-to-right ͳίʔυͷ࡞ •
ؔΛ “Composition” ͢Δͱ͍͏ߟ͑ํ
Vol 2. Side Effects • ʮ෭࡞༻Λ੍ޚ͢ΔʯʹϑΥʔΧεͨ͠ Episode • print ͷྫ
• NumberFormatter ͷྫ • ԋࢉࢠ >=> ʹΑΔEffectΛ࣋ͬͨؔͷ߹ • ԋࢉࢠ <> ʹΑΔؔͷ߹ɺ<> ͷ ΦʔόʔϥΠυ
Vol 3. UIKit Styling with Functions • ࠓ·Ͱशͬͨ͜ͱΛͲͷΑ͏ʹ׆͔ͤΔ͔ʁ • ࣮ࡍʹίʔυ͕Massive
ʹͳΓͦ͏ͳUIViewͷྫ
ࢀߟࢿྉ • https://www.pointfree.co/ • https://wiki.haskell.org/Pointfree