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
SE-XXXX Function Builders を読み解く / Reading the spec of Function Builders
Search
Kuniwak
PRO
July 08, 2019
Programming
5
780
SE-XXXX Function Builders を読み解く / Reading the spec of Function Builders
Kuniwak
PRO
July 08, 2019
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
38
HOME VR
orgachem
PRO
1
750
uGUI の自動操作の考え方と操作方法
orgachem
PRO
0
1.1k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
910
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
860
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
24k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
890
睡眠する技術 / Technology to Sleep
orgachem
PRO
15
13k
LintオタクによるLint解説 / Introduction to Lints
orgachem
PRO
26
12k
Other Decks in Programming
See All in Programming
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
870
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
130
Ruby Pattern Matching
bkuhlmann
0
920
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
620
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
110
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5k
Semantic search with Django and pgvector
pauloxnet
0
240
Hanami and htmx
bkuhlmann
0
200
GitHub Copilotのススメ
marcy731
0
190
Rethinking UI building strategies @ SFI 2024
letelete
0
270
Goのエラースタックトレースの歴史と今後
sonatard
6
590
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
259
12k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
The Language of Interfaces
destraynor
151
23k
10 Git Anti Patterns You Should be Aware of
lemiorhan
647
58k
How to name files
jennybc
64
93k
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
154
14k
Being A Developer After 40
akosma
56
580k
A Philosophy of Restraint
colly
196
16k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
Agile that works and the tools we love
rasmusluckow
324
20k
Transcript
4&9999 'VODUJPO#VJMEFST ΛಡΈղ͘ Kuniwak - DeNA Co.,Ltd. 2019.07.08
"CPVUNF
,VOJXBL w ॴଐˠ • github.com/Kuniwak • qiita.com/Kuniwak w ߏจղੳ୯ମςετ͕ w
"QQ$PEF͍ 3
ࠓճ͓͍͑ͨ͜͠ͱ
4XJGU6*ͷཁૉٕज़Ͱ͋Δ 'VODUJPO#VJMEFSTͷ ఏҊҙਤͱৄࡉΛֶͿ 5
6 @TupleBuilder func build() -> (Int, Int, Int) { 1
2 3 } func build() -> (Int, Int, Int) { let _a = 1 let _b = 2 let _c = 3 return TupleBuilder.buildBlock(_a, _b, _c) } 'VODUJPO#VJMEFST্ΛԼʹίϯύΠϥ͕มܗ͢Δ༷ʢະ֬ఆʣ
w ϦετߏͷߏஙΛॿ͚Δ%4-తͳݴޠػೳΛೖΕ͍ͨ w Ϣʔβʔ͕ఆٛͷͨΊͷ!GVODUJPO#VJMEFSΞϊςʔγϣϯ ͱGVODUJPOCVJMEFSܕΛೖΕ·͢ w ίϯύΠϥ͕GVODUJPOCVJMEFSܕͷҾϒϩοΫͷ %4-ʢ4XJGUͷαϒηοτʣΛมܗͯ͠4XJGUݴޠ ༁ͯ͠ίϯύΠϧ͠·͢ ·ͱΊɿ'VODUJPO#VJMEFSTͱ
7
ൃදܗࣜ
ຖिਫ༵ʹࣾͰ։࠵͞Ε͍ͯΔɺ 4XJGU8FEOFTEBZͱ͍͏ษڧձͱ ಉ͡ܗࣜͰΏΔΏΔΈ͍͖ͯ·͢ 9
10 4XJGU8FEOFTEBZൃͷ4XJGUͷߩݙ
Ͱݟ͍͖ͯ·͠ΐ͏
https://forums.swift.org/t/important- evolution-discussion-of-the-new-dsl- feature-behind-swiftui/25168 12 TXJGUFWPMVUJPOͰͷެ։ͱಉ࣌ʹGPSVNQPTU͞ΕͨίϝϯτͰ͢ɻ
https://github.com/apple/ swift-evolution/pull/1046 13 TXJGUFWPMVUJPO্Ͱ࠷৽ͷͷΛѻ͍·͢ɻ͔ͨ͠͠Β GPSVNͰ͞Βʹ͕ٞਐΜͰ͍Δ͔͠Ε·ͤΜ͕͝༰͍ࣻͩ͘͞ɻ
https://docs.swift.org/swift- book/ReferenceManual/ AboutTheLanguageReference.html 14 TUBUFNFOUFYQSFTTJPOΛΔͨΊͷࢿྉͰ͢ɻ
w ϦετߏͷߏஙΛॿ͚Δ%4-తͳݴޠػೳΛೖΕ͍ͨ w Ϣʔβʔ͕ఆٛͷͨΊͷ!GVODUJPO#VJMEFS ΞϊςʔγϣϯͱGVODUJPOCVJMEFSܕΛೖΕ·͢ w ίϯύΠϥ͕GVODUJPOCVJMEFSܕͷҾϒϩοΫͷ %4-ʢ4XJGUͷαϒηοτʣΛมܗͯ͠4XJGUݴޠ ༁ͯ͠ίϯύΠϧ͠·͢ 'VODUJPO#VJMEFSTͱ
15