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
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.1k
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
430
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
850
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
なぜGoのジェネリクスはこの形なのか? - Featherweight Goが明かす設計の核心
qualiarts
0
260
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
120
Introduce Hono CLI
yusukebe
6
3.1k
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
450
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
4
16k
コード生成なしでモック処理を実現!ovechkin-dm/mockioで学ぶメタプログラミング
qualiarts
0
270
Reactive Thinking with Signals and the Resource API
manfredsteyer
PRO
0
110
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Practical Orchestrator
shlominoach
190
11k
Code Review Best Practice
trishagee
72
19k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
Being A Developer After 40
akosma
91
590k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Writing Fast Ruby
sferik
630
62k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Designing Experiences People Love
moore
142
24k
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