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
How to write like Cats
Search
Shannon
August 28, 2019
Technology
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to write like Cats
Shannon
August 28, 2019
More Decks by Shannon
See All by Shannon
Signify Bootcamp
signify
0
290
Event Sourcing Blockchains at TokenAnalyst
signify
0
150
The Last Frontier and Beyond
signify
0
150
Jon Pither
signify
0
250
Kubernetes as a Streaming Data Platform with Kafka, Spark, and Scala
signify
0
100
Writing human readable tests using Scala
signify
0
160
Making Contracts Smart, Secure and Functional with DAML and Scala
signify
0
140
Ansible and Scala Projects
signify
0
290
Automatic differentiation in Scala by Xiayun Sun
signify
0
420
Other Decks in Technology
See All in Technology
Reactの設計論
uhyo
24
13k
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.6k
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
290
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
190
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
2.2k
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
1
400
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
2.1k
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.3k
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
2
530
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Skip the Path - Find Your Career Trail
mkilby
1
230
Amusing Abliteration
ianozsvald
1
300
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
350
Producing Creativity
orderedlist
PRO
348
41k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Ethics towards AI in product and experience design
skipperchong
2
380
Designing for Timeless Needs
cassininazir
1
480
Git: the NoSQL Database
bkeepers
PRO
432
67k
Building AI with AI
inesmontani
PRO
1
1.2k
GitHub's CSS Performance
jonrohan
1033
470k
Transcript
How to write like cats
None
What we won’t be talking about What we will be
talking about • Category theory • Monads, Monoids, Functors etc. • Effect types • Polymorphism • Type classes • Implicits
Subtype polymorphism
Subtype polymorphism ↓ Ad-hoc Polymorphism (Type classes)
None
Live coding! github.com/MontyWest/tech-talk-typeclass
Type Classes • Can add functionality to types you don’t
‘own’. • Can change functionality in different scopes. • Higher level of abstraction, composability and applicability. • Enables library like Cats, allows others to do your work for you!
Links to follow • Typelevel Cats: https://typelevel.org/cats/ • Typelevel blog:
https://typelevel.org/cats/typeclasses.html • Talks: ◦ Petra Bierleutgeb, Polymorphism in Scala: https://www.youtube.com/watch?v=-SA1Ui283Qc ◦ Rob Norris, ScalaX keynote: https://skillsmatter.com/skillscasts/11626-keynote- pushing-types-and-gazing-at-the-stars
Thanks for listening! Any Questions?