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
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
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
380
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
22
4.1k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
96
HOME VR
orgachem
PRO
1
800
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.4k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.2k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1.1k
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
26k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
1.1k
Other Decks in Programming
See All in Programming
Honoとフロントエンドの 型安全性について
yodaka
7
1.4k
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
53
18k
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
890
Domain-Driven Transformation
hschwentner
2
1.9k
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
150
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
170
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
150
Datadog Workflow Automation で圧倒的価値提供
showwin
1
150
ML.NETで始める機械学習
ymd65536
0
230
React 19アップデートのために必要なこと
uhyo
8
1.4k
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
910
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Gamification - CAS2011
davidbonilla
80
5.2k
Unsuck your backbone
ammeep
669
57k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
A designer walks into a library…
pauljervisheath
205
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Site-Speed That Sticks
csswizardry
4
400
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
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