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
85
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
150
Redux + MQTT
dalog
1
730
От задач к проблемам
dalog
1
170
Unlimited power of Data-Driven UI
dalog
4
580
Data-Driven View Controllers. Tips and Tricks
dalog
5
1.7k
2 years of Redux in iOS. Lessons learned
dalog
0
320
Why unidirectional architecture matter for iOS.
dalog
1
260
Mobile backend without REST
dalog
2
72
Self managed teams 101
dalog
0
120
Other Decks in Programming
See All in Programming
Open standards for building event-driven applications in the cloud
meteatamel
0
230
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
74k
GoでParserを書く
karupanerura
1
250
Let's learn code review
riofujimon
2
640
ts-morphを使ってコードリプレイスとASTへのハードルを下げる!
nyawach
5
320
slog登場に伴うloggerの取り回し手法の見直し / kamakura.go #6
arthur1
0
110
Namespace, What and Why
tagomoris
3
660
Adding Security to Microcontroller Ruby
sylph01
1
160
チーム立ち上げにAWSを活用したらClaudeさんに褒められた話
mkdev10
3
230
RubyGems on ruby.wasm
kateinoigakukun
0
110
FoodGram
iseruuuuu
0
230
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
140
Featured
See All Featured
Navigating Team Friction
lara
179
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Why Our Code Smells
bkeepers
PRO
331
56k
GitHub's CSS Performance
jonrohan
1025
450k
In The Pink: A Labor of Love
frogandcode
138
21k
Fireside Chat
paigeccino
22
2.7k
Robots, Beer and Maslow
schacon
PRO
155
8k
YesSQL, Process and Tooling at Scale
rocio
165
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
Practical Orchestrator
shlominoach
183
9.8k
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