Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Criando sua própria DSL utilizando expressões l...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Bernardo do Amaral Teodosio
August 31, 2019
Programming
200
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Criando sua própria DSL utilizando expressões lambda em Kotlin (Kotlin Everywhere Campinas 2019)
Bernardo do Amaral Teodosio
August 31, 2019
More Decks by Bernardo do Amaral Teodosio
See All by Bernardo do Amaral Teodosio
Criando sua própria DSL utilizando expressões lambda em Kotlin (GDG Campinas AndroidFest 2018)
berteodosio
0
190
Criando sua própria DSL utilizando expressões lambda em Kotlin
berteodosio
0
430
Kotlin - uma breve introdução
berteodosio
0
180
Other Decks in Programming
See All in Programming
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
390
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
570
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
250
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
4
12k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
3.6k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
0
210
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
310
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
190
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
140
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
190
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
440
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8.3k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Facilitating Awesome Meetings
lara
57
7.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
580
A better future with KSS
kneath
240
18k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
My Coaching Mixtape
mlcsv
0
320
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Writing Fast Ruby
sferik
630
63k
Transcript
Criando sua própria DSL utilizando expressões lambda em Kotlin Bernardo
do Amaral Teodosio
Kotlin/Everywhere Campinas Bernardo do Amaral Teodosio Ber / Bers /
Berns
Higher Order Functions
Kotlin/Everywhere Campinas Higher Order Functions
Kotlin/Everywhere Campinas Higher Order Functions
Kotlin/Everywhere Campinas Higher Order Functions
Kotlin/Everywhere Campinas Higher Order Functions "Repassar e retornar ações e/ou
comportamentos"
Kotlin/Everywhere Campinas Higher Order Functions
Kotlin/Everywhere Campinas Higher Order Functions https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/jvm/run time/kotlin/jvm/functions/Functions.kt
Kotlin/Everywhere Campinas Higher Order Functions
Kotlin/Everywhere Campinas Higher Order Functions
Kotlin/Everywhere Campinas Higher Order Functions
Kotlin/Everywhere Campinas Higher Order Functions java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/Function23;
… Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.Function23" ¯\_(ツ)_/¯
Kotlin/Everywhere Campinas Higher Order Functions Mas o que isso quer
dizer?
Kotlin/Everywhere Campinas Higher Order Functions Mas o que isso quer
dizer?
Extension functions
Kotlin/Everywhere Campinas Extension functions
Dissecando algumas higher order functions da standard library
Kotlin/Everywhere Campinas apply { }
Kotlin/Everywhere Campinas apply { }
Kotlin/Everywhere Campinas apply { } "Calls the specified function [block]
with `this` value as its receiver and returns `this` value."
Kotlin/Everywhere Campinas apply { }
Kotlin/Everywhere Campinas let { }
Kotlin/Everywhere Campinas run { }
Infix functions
Kotlin/Everywhere Campinas Infix functions
Kotlin/Everywhere Campinas Infix functions
DSLs Domain-specific languages "A computer language that's targeted to a
particular kind of problem, rather than a general purpose language that's aimed at any kind of software problem" - Martin Fowler SQL CSS
Kotlin/Everywhere Campinas Block Builder
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Kotlin/Everywhere Campinas Escrevendo uma DSL para o BB
Estamos contratando! movile.com/jobs
Kotlin/Everywhere Campinas Obrigado! github.com/berteodosio Bernardo do Amaral Teodosio
[email protected]
linkedin.com/in/berteodosio
medium.com/@berteodosio speakerdeck.com/berteodosio