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
680
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
2
100
Deep Dive into "any" and "some"
freddi
3
1.1k
挑戦!ISUCON de Server-side Swift 〜タイムゾーンには気をつけろ〜
freddi
0
1.1k
意外と知られてないXcode13の新しい参照カウンタ最適化オプションの挙動
freddi
2
87
How to develop SIL Optimizer in Swift Language
freddi
0
220
SwiftコンパイラがSwiftで開発できるようになる話
freddi
3
470
知ろう! ShazamKit
freddi
1
150
Swift Optimizing at Compiler World
freddi
1
680
社内版SwiftコンパイラにContributeするまで
freddi
0
55
Other Decks in Programming
See All in Programming
ログラスを支える設計標準について / loglass-design-standards
urmot
10
2.1k
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
460
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
190
What We Can Learn From OSS
inouehi
0
400
App Router への移行は「改善」となり得るのか?/ Can migration to App Router be an improvement
takefumiyoshii
8
2.1k
Tailwind CSSを本気でカスタマイズする方法
fsubal
2
260
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
120
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
430
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
8
2.2k
コードレビューで学ぶ!Kotlinオブジェクト指向デザインパターン
akkie76
2
180
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
280
Git Lint
bkuhlmann
4
740
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Automating Front-end Workflow
addyosmani
1355
200k
Writing Fast Ruby
sferik
620
60k
Teambox: Starting and Learning
jrom
128
8.4k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
258
12k
Git: the NoSQL Database
bkeepers
PRO
422
63k
A Tale of Four Properties
chriscoyier
150
22k
The Brand Is Dead. Long Live the Brand.
mthomps
48
28k
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