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
How to write like Cats
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shannon
August 28, 2019
Technology
250
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
99
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
AIエージェントが名古屋の猛暑からあなたを守る
happysamurai294
0
130
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3k
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
140
攻撃者視点で考えるDetection Engineering
cryptopeg
3
1.9k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
LLMにもCAP定理があるという話
harukasakihara
0
390
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1.1k
AIのReact習熟度を測る
uhyo
2
610
機械学習を「社会実装」するということ 2026年夏版 / Social Implementation of Machine Learning June 2026 Version
moepy_stats
6
2.4k
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
400
失敗を資産に変えるClaude Code
shinyasaita
0
680
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
140
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
200
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
エンジニアに許された特別な時間の終わり
watany
107
250k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
GitHub's CSS Performance
jonrohan
1033
470k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Music & Morning Musume
bryan
47
7.2k
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?