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
DSL Lightning talk
Search
DAloG
September 17, 2014
Programming
0
91
DSL Lightning talk
Short intro into DSL in Objective-C
DAloG
September 17, 2014
Tweet
Share
More Decks by DAloG
See All by DAloG
State normalization (RU)
dalog
0
190
Redux + MQTT
dalog
1
770
От задач к проблемам
dalog
1
250
Unlimited power of Data-Driven UI
dalog
4
630
Data-Driven View Controllers. Tips and Tricks
dalog
5
1.9k
2 years of Redux in iOS. Lessons learned
dalog
0
370
Why unidirectional architecture matter for iOS.
dalog
1
290
Mobile backend without REST
dalog
2
100
Self managed teams 101
dalog
0
150
Other Decks in Programming
See All in Programming
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
210
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
120
A2A プロトコルを試してみる
azukiazusa1
2
780
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
1k
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
すべてのコンテキストを、 ユーザー価値に変える
applism118
1
380
単体テストの始め方/作り方
toms74209200
0
510
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
840
Passkeys for Java Developers
ynojima
3
870
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
190
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
210
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Done Done
chrislema
184
16k
KATA
mclloyd
29
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Code Reviewing Like a Champion
maltzj
524
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Transcript
DSL Практика создания и использования Алексей Демедецкий - 2014
История вопроса • Языки низкого уровня (C, C++, Prolog) •
Появление платформ (Java, .NET) • Развитие возможностей языков (Scala, Ruby) • Развитие инструментария (Clang) • Новая волна языков (D, Rust)
Примеры и приемы
Nocilla https://github.com/luisobo/Nocilla
Transformer https://github.com/schwa/Transformer-DSL
CoreData https://github.com/kpbode/CoreDataDSL
Parus https://github.com/DAlOG/Parus
Sensus
NSPredicate builder
Основные приемы • Парсинг строк • «Цепные блоки» • Препроцессор
• Фальшивый суперкласс
Основные приемы
Преимущества • Выразительность • Раннее определение ошибок • Ограниченность языка
• Авто дополнение
Недостатки • Высокий порог входа • Узкий коридор изменений •
Сложность написания • Низкое КПД усилий.
Выводы
Вопросы? https://speakerdeck.com/dalog/dsl-lightning-talk Skype: nobidon Twitter: DAlooG