nikitadanilov / forkjoin

Forj-join style concurrency package for Common Lisp.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

Fork-join in a simple Common Lisp library, for fork-join style concurrency.

It allows one to aggregate concurrent computations ('tines') into groups ('forks') that can be manipulated as a whole. The simplest usage is

 (FORK
   (FOO)
   (BAR X)
   (BAZ))

that runs (FOO), (BAR X) and (BAZ) concurrently and waits until all of them complete.

You can also bind variables concurrently:

 (FORK-LET
   ((X (FOO))
    (Y (BAR X))
    L ; Bound to nil.
    (Z (BAZ ... L ...)))
   (PROCESS X Y Z))

About

Forj-join style concurrency package for Common Lisp.


Languages

Language:Common Lisp 100.0%