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
770
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
200
Deep Dive into "any" and "some"
freddi
3
1.3k
挑戦!ISUCON de Server-side Swift 〜タイムゾーンには気をつけろ〜
freddi
0
1.4k
意外と知られてないXcode13の新しい参照カウンタ最適化オプションの挙動
freddi
2
100
How to develop SIL Optimizer in Swift Language
freddi
0
290
SwiftコンパイラがSwiftで開発できるようになる話
freddi
3
560
知ろう! ShazamKit
freddi
1
160
Swift Optimizing at Compiler World
freddi
1
740
社内版SwiftコンパイラにContributeするまで
freddi
0
76
Other Decks in Programming
See All in Programming
선언형 UI에서의 상태관리
l2hyunwoo
0
160
testcontainers のススメ
sgash708
1
120
Symfony Mapper Component
soyuka
2
730
CSC305 Lecture 26
javiergs
PRO
0
140
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
From Translations to Multi Dimension Entities
alexanderschranz
2
130
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
930
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
330
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
130
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
360
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Optimising Largest Contentful Paint
csswizardry
33
3k
Unsuck your backbone
ammeep
669
57k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Typedesign – Prime Four
hannesfritz
40
2.4k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Making the Leap to Tech Lead
cromwellryan
133
9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Done Done
chrislema
181
16k
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