Programming language with low- and high-level elements
A wide-spectrum language (WSL) is a programming language designed to be simultaneously a low-level and a high-level language—possibly a non-executable specification language. Wide-spectrum languages are designed to support a programming methodology based on program refinement.
The concept was introduced by F. L. Bauer et al. in 1978:
...The program should then be developed step by step applying correctness
preserving transformations.... The development process
thus involves usually multiple reshapings....
Since most current programming languages do not contain
all the concepts needed for the formulation of the different
versions, the programmer is nowadays forced to
use different languages. To avoid the transition from
one language to another, it seems appropriate to have
one coherent language frame covering the whole spectrum
outlined above, i.e. a wide spectrum language.[1]
The advantage of a single language rather than separate specification, high-level, and low-level languages is that the program can be incrementally refined, with intermediate versions retaining some higher-level and some lower-level constructs.
Bauer's group developed the CIP-L wide-spectrum language and the CIP-S program transformation system.
See also
- Extended ML, a wide-spectrum language based on ML
- One major implementation of Common Lisp, SBCL, has an interface to assembly language called VOP(Virtual OPerator), in which the user can manipulate registers directly.
- RAISE Specification Language, described as a wide-spectrum specification language
Notes
References
- F. L. Bauer, et al., "Towards a wide spectrum language to support program specification and program development", ACM SIGPLAN Notices 13:12:15-24 December, 1978. full text (subscription)
- F.L. Bauer, The wide spectrum language CIP-L, vol. 1 of The Munich Project CIP, in Lecture Notes in Computer Science 183, Berlin, 1985. ISBN 3-540-15187-7.
- Z. Chen et al., "A wide-spectrum language for object-based development of real-time systems", International Journal of Information Sciences 118:15-35 (1999)
- Theo de Ridder, "Using Python as a Wide-Spectrum Language", EuroPython 2002. [1]