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 lambda em Kotlin (Kotlin Everywhere Campinas 2019)
Search
Bernardo do Amaral Teodosio
August 31, 2019
Programming
1
110
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
100
Criando sua própria DSL utilizando expressões lambda em Kotlin
berteodosio
0
330
Kotlin - uma breve introdução
berteodosio
0
89
Other Decks in Programming
See All in Programming
雑に思考を整理する技術と効能
konifar
60
29k
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
530
try! Swift Tokyo 初参加報告LT
hinakko2
0
220
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
110
Ruby Pattern Matching
bkuhlmann
0
930
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
720
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
340
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
330
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
Git Lint
bkuhlmann
4
750
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Bash Introduction
62gerente
604
210k
How STYLIGHT went responsive
nonsquared
92
4.8k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
Adopting Sorbet at Scale
ufuk
68
8.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
A better future with KSS
kneath
231
16k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Building Adaptive Systems
keathley
31
1.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
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