Have anyone considered implementing observables or functional reactive programming (FRP) in Nim?
Introduction: http://reactivex.io/intro.html
I've been reading up on it lately, and it seems a very natural extension to asynchronous programming, which Nim has focused on getting right recently. But I've heard no talk of extending it to observable (handling stream of asynchronous events).
I'm starting work on a UI library, and since reactive is quite popular for that purpose it seems worth considering. But it's a bit daunting to do it on my own.
I have a small example here. It is just a small experiment that I made in a few hours, so do not do anything serious with it. But it works for what it supports.
If you want to help, what would be needed is to add the concept of Scheduler, with a few implementations (immediate, queued, threadpool and so on), and ensure that each operation on observables can be executed on a scheduler, using default schedulers as in the other Rx implementations.
If you are familiar with Rx in other languages, I think that it would not be a lot of work to make a first implementation. It seems to me that the main difficulty was figuring our the right abstraction in the first place, but now that we have many Rx implementations, copying that approach should be rather straightforward.
Let me know if you would be interested in helping out - right now I am not working on the library, but it would be nice to do something usable.