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 s...
Search
Kuniwak
PRO
July 08, 2019
Programming
5
1.1k
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
DeNA での思い出 / Memories at DeNA
orgachem
PRO
6
2.6k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.2k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
480
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
630
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.6k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
190
HOME VR
orgachem
PRO
1
820
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.5k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.5k
Other Decks in Programming
See All in Programming
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
2
660
One Enishi After Another
snoozer05
PRO
0
160
ドメイン駆動設計のエッセンス
masuda220
PRO
3
380
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
280
Webサーバーサイド言語としてのRustについて
kouyuume
1
4.9k
理論と実務のギャップを超える
eycjur
0
180
CSC305 Lecture 09
javiergs
PRO
0
310
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
260
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
9
1.6k
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
340
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
980
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
1
130
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Ace a Technical Interview
jacobian
280
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Automating Front-end Workflow
addyosmani
1371
200k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
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