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
110
0
Share
DSL Lightning talk
Short intro into DSL in Objective-C
DAloG
September 17, 2014
More Decks by DAloG
See All by DAloG
State normalization (RU)
dalog
0
240
Redux + MQTT
dalog
1
820
От задач к проблемам
dalog
1
290
Unlimited power of Data-Driven UI
dalog
4
690
Data-Driven View Controllers. Tips and Tricks
dalog
5
2k
2 years of Redux in iOS. Lessons learned
dalog
0
410
Why unidirectional architecture matter for iOS.
dalog
1
330
Mobile backend without REST
dalog
2
140
Self managed teams 101
dalog
0
200
Other Decks in Programming
See All in Programming
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
110
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
410
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
380
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
220
ふつうのFeature Flag実践入門
irof
6
3.2k
Modding RubyKaigi for Myself
yui_knk
0
640
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
280
Swiftのレキシカルスコープ管理
kntkymt
0
200
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.2k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
3.5k
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
380
Moments When Things Go Wrong
aurimas
3
120
Featured
See All Featured
Abbi's Birthday
coloredviolet
2
7.8k
4 Signs Your Business is Dying
shpigford
187
22k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Mind Mapping
helmedeiros
PRO
1
210
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Believing is Seeing
oripsolob
1
130
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
The World Runs on Bad Software
bkeepers
PRO
72
12k
We Are The Robots
honzajavorek
0
230
Designing for Performance
lara
611
70k
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