8 1/2, pronounced otto e mezzo, is a high-level data-parallel language based on a new data structure: the fabric (initially called web). This fundamental data structure represents a field over a (discrete) piece of space-time. It is used in the simulation of dynamical systems. A fabric unify the concept of stream and collection and can be viewed either as a stream of collections'' or as a
collection of streams''. The name come from the title of a Fellini movie.
The main features of the 8 1/2 programming language are:
- 8 1/2 is a declarative language, i.e. a programme is a set of definitions (functional equations) specifying fabrics.
- The 8 1/2 streams are sequential, synchronous, memory-bounded streams.
- 8 1/2 collections are handled as a whole.
- 8 1/2 programmes are hierachized through the concept of system.
- The 8 1/2 language is naturally a data flow, data parallel language.
- A static 8 1/2 programme (i.e. a programme involving only fabric with static shape) is detected by the interpreter and can be compiled (in sequential C or towards a SIMD abstract machine).