3 ms·
There are some languages that do this, especially reactive languages and there are some libraries for other languages that work kinda like this, for example Rx[
by dkersten 6y ago
There are some languages that do this, especially reactive languages and there are some libraries for other languages that work kinda like this, for example Rx[1] works kinda like this or maybe Clojure's Javelin[2]. You could make an Rx-like system that works somewhat like that in C++, or you could use coroutines or a task-based system like Intel TBB to implement something kinda like this. It of course wouldn't be a first-class thing like in Concurnas, but I reckon you could implement the basic idea.
As far as languages go, the ideas you showed look similar to how Esterel[3] works, or perhaps Occam[4].
[1] http://reactivex.io/ http://reactivex.io/
[2] https://github.com/hoplon/javelin https://github.com/hoplon/javelin
[3] https://en.wikipedia.org/wiki/Esterel https://en.wikipedia.org/wiki/Esterel
[4] https://en.wikipedia.org/wiki/Occam_(programming_language) https://en.wikipedia.org/wiki/Occam_(programming_language)
- smithza 6y agoThanks for these. Looks like Esterel commonly compiles to C and I would imagine uses some features of pthreads along with task-based scheduling as you mentioned.
- fulafel 6y agoAlso https://en.wikipedia.org/wiki/Dataflow_programming https://en.wikipedia.org/wiki/Dataflow_programming has a list of 30+ languages.