LOFT is a thread-based language for
concurrent programming
in C. Objectives are:
- to make concurrent programming simpler and safer by providing
a framework with a clear and sound semantics.
- to get efficient implementations which can deal with
large numbers of concurrent components.
- to allow lightweight implementations that can be used in the
context of embedded systems with limited resources.
- to be able to benefit of parallelism provided by SMP
multiprocessor machines.
LOFT is based on a new programming model which is a variant of
reactive
programming. It is closely related to
FairThreads (actually,
LOFT stands for
Language Over Fair Threads).
A complete description of
LOFT is available (
html,
pdf)
which contains:
- a description of the language and a reference manual.
- a formal operational semantics.
- a description of several implementations.
- a set of examples, including one running on an embedded system
and examples taking profit from SMP multiprocessing.
LOFT has been tested with the
GameBoy Advance (GBA) platform of Nintendo. The
description of this
prey/predator demo and the
code
are both available.
Here is a screenshot of the demo (with a GBA emulator):