What kind of support would you be looking for?

The alternative to asynchronous programming is working with locks, mutexes, blocking queues etc. The number of possible states a bunch of threads can be in, taking into account the synchronization primitives, rises exponentially (one new semaphore == 2x more states to consider).

It is hard to understand and causes very subtle bugs. That's why people try to find other ways to express how concurrently running processes interact - and a declarative approach, where processes/threads become values, are one of such attempts.

--

--

--

Software engineer, Functional Programming and Scala enthusiast, SoftwareMill co-founder

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adam Warski

Adam Warski

Software engineer, Functional Programming and Scala enthusiast, SoftwareMill co-founder

More from Medium

LRU Cache Behaviour Implementation in Scala

Differences between Abstract Classes and Interfaces

Relay Module

Writing Robust Hoon — A Guide To Urbit Unit Testing