Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Channels & Concurrency: Go, Clojure, Erlang, Ha...
Search
Oleksii Kachaiev
August 03, 2013
Programming
9
4.8k
Channels & Concurrency: Go, Clojure, Erlang, Haskell
The idea, benefits, theory and practise.
Oleksii Kachaiev
August 03, 2013
Tweet
Share
More Decks by Oleksii Kachaiev
See All by Oleksii Kachaiev
Counting HTTP with QUIC & HTTP/3
kachayev
2
290
Talking SQL to Strangers
kachayev
3
590
Counting HTTP: 0.9...3
kachayev
1
97
Managing Data Chaos in The World of Microservices
kachayev
3
670
Deep HTTP Dive Through Aleph & Netty
kachayev
6
3.9k
Keep Your Data Safe With Refined Types
kachayev
4
1.5k
Clojure at Attendify (2nd ed)
kachayev
5
1.7k
Clojure at Attendify
kachayev
4
360
Finagle & Clojure
kachayev
6
1.4k
Other Decks in Programming
See All in Programming
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
470
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
250
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
190
GoLab2025 Recap
kuro_kurorrr
0
780
Basic Architectures
denyspoltorak
0
110
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.9k
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
590
Navigating Dependency Injection with Metro
l2hyunwoo
1
170
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.3k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Utilizing Notion as your number one productivity tool
mfonobong
2
190
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
510
Done Done
chrislema
186
16k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
400
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
140
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
0
94
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
370
We Have a Design System, Now What?
morganepeng
54
7.9k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Faster Mobile Websites
deanohume
310
31k
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