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
Criando sua própria DSL utilizando expressões l...
Search
Bernardo do Amaral Teodosio
August 31, 2019
Programming
190
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
180
Criando sua própria DSL utilizando expressões lambda em Kotlin
berteodosio
0
420
Kotlin - uma breve introdução
berteodosio
0
180
Other Decks in Programming
See All in Programming
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
13
2.5k
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
140
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
430
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.7k
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
1.1k
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
スマートグラスで並列バイブコーディング
hyshu
0
280
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
340
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.7k
霧の中の代数的エフェクト
funnyycat
1
230
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.7k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
410
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
890
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
The Invisible Side of Design
smashingmag
301
52k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
410
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
280
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
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