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
Channels & Concurrency: Go, Clojure, Erlang, Ha...
Search
Oleksii Kachaiev
August 03, 2013
Programming
5k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Channels & Concurrency: Go, Clojure, Erlang, Haskell
The idea, benefits, theory and practise.
Oleksii Kachaiev
August 03, 2013
More Decks by Oleksii Kachaiev
See All by Oleksii Kachaiev
Counting HTTP with QUIC & HTTP/3
kachayev
2
340
Talking SQL to Strangers
kachayev
3
650
Counting HTTP: 0.9...3
kachayev
1
150
Managing Data Chaos in The World of Microservices
kachayev
3
730
Deep HTTP Dive Through Aleph & Netty
kachayev
6
4.1k
Keep Your Data Safe With Refined Types
kachayev
4
1.6k
Clojure at Attendify (2nd ed)
kachayev
5
1.7k
Clojure at Attendify
kachayev
4
410
Finagle & Clojure
kachayev
6
1.4k
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
2.3k
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
210
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
1.1k
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
110
Jetpack Compose Mechanisms
skydoves
3
870
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
180
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.3k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.2k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
190
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
残高管理から台帳サービスへの進化
artoy
1
210
Seven New Principles of Software Engineering
yegor256
0
310
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
How to build a perfect <img>
jonoalderson
1
6.2k
RailsConf 2023
tenderlove
30
1.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Side Projects
sachag
456
43k
Designing for humans not robots
tammielis
254
26k
Transcript
Channels & concurrency 2013 (c) Alexey Kachayev
Channels Idea
Idea •Hoare’s CSP •Erlang / Limbo / etc •Transport level
•File name / File descriptor •Message Box / Queue
Channels Go(lang)
Go
Go (1)
Go (2)
Go (2) fan-out fan-in timeout
Channels Clojure
Clojure Alexey Kachayev, https://gist.github.com/kachayev/3146759
Clojure
Clojure
Clojure
Clojure Michael Peterson, https://github.com/midpeter444/go-lightly
Clojure
Clojure core.async
Idea •Library (just) •(chan) •Blocking •Buffers •(go) macros •Deadlocks (?!?)
Clojure
Clojure
Channels dig deeper
Why? •Streams •Decoupling •Composability •Patterns
Channels Concurrent ML
CML
Channels Erlang & composability
Channels: Erlang https://gist.github.com/kachayev/5426175
Idea •map •filter •fork •zip, zipwith •take, drop •etc
Erlang
Erlang
Erlang
Erlang futures?
Erlang
Erlang
Channels Scala & Eventsourced
Scala
Scala channel
Channels Cloud Haskell & Types
Haskell
Haskell channel
Contacts twi: @kachayev github: @kachayev work: attendify.com