$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Criando sua própria DSL utilizando expressões l...
Search
Bernardo do Amaral Teodosio
August 31, 2019
Programming
1
170
Criando sua própria DSL utilizando expressões lambda em Kotlin (Kotlin Everywhere Campinas 2019)
Bernardo do Amaral Teodosio
August 31, 2019
Tweet
Share
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
170
Criando sua própria DSL utilizando expressões lambda em Kotlin
berteodosio
0
410
Kotlin - uma breve introdução
berteodosio
0
160
Other Decks in Programming
See All in Programming
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
0
190
Grafana:建立系統全知視角的捷徑
blueswen
0
220
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
GISエンジニアから見たLINKSデータ
nokonoko1203
0
180
AIコーディングエージェント(Manus)
kondai24
0
220
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.4k
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
130
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
280
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Music & Morning Musume
bryan
46
7k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
57
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
130
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Documentation Writing (for coders)
carmenintech
77
5.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
0
96
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
17
How to make the Groovebox
asonas
2
1.8k
Become a Pro
speakerdeck
PRO
31
5.7k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
100
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