Loom
Fibers, Continuations and Tail-Calls
Warning | ||
---|---|---|
| ||
Loom is under active development, which means that information and advice given here might change in the future. |
Table of Contents |
---|
Supported Platforms
Mac and Linux on x86-64
Download and Build from Source
Code Block |
---|
$ hg clone http://hg.openjdk.java.net/loom/loom $ cd loom $ hg update -r fibers $ sh configure $ make images |
(Note that you must switch to the fibers branch before building)
Missing Features
JVM TI support (fiber debugging)
Forced preemption
- Cloning continuations
Serialization of fiber/continuation
Continuations
Design
The primitive continuation construct is that of a scoped (AKA multiple-named-prompt), stackful, one-shot (non-reentrant) delimited continuation. The continuation can be cloned, and thus used to implement reentrant reentrant delimited continuations.
Implementation
Performance
Fibers
Design
Implementation
Fibers are implemented in the core libraries. A fiber is implemented as a continuation (of fiber scope) that is wrapped as a task and scheduled by a j.u.c.Executor.
Tail Calls
Design