Threads

There is a very preliminary interface to create parallel threads. The interface is similar to the standard delay/force, where a thread is basically the same as a promise, except that evaluation may be in parallel.

Syntax: future expression

Creates a new thread that evaluates expression.

Function: force thread

The standard force function has generalized to also work on threads. If waits for the thread's expression to finish executing, and returns the result.

Function: runnable function

Creates a new Runnable instance from a function. Useful for passing the Java code that expects a Runnable. You can get the result (a value or a thrown exception) using the getResult method.

Function: sleep time

Suspends the current thread for the specified time. The time can be either a pure number (in secords), or a quantity whose unit is a time unit (such as 10s).