Version 1.0 of package Futur has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Futur describes itself as: ================================== Future/promise-based async library ================================== More at https://elpa.gnu.org/packages/futur.html ## Summary: A library to try and make async programming a bit easier. This is inspired from Javscript's async/await, Haskell's monads, and ConcurrentML's events. You can create trivial futures with `futur-done'. You can create a "process future" with `futur-process-call'. And the main way to use futures is to compose them with `futur-let*', which can be used as follows: (futur-let* ((buf (current-buffer)) (exitcode1 <- (futur-process-call CMD1 nil buf nil ARG1 ARG2)) (out (with-current-buffer buf (buffer-string))) ;; Get the process's output. (exitcode2 <- (futur-process-call CMD2 nil buf nil ARG3 ARG4))) (with-current-buffer buf (buffer-string))) ## Recent NEWS: Version 1.0: - After years of sitting in the dark, it's finally getting dusted up for a release.
