[TYPES/announce] CBS, a component-based specification framework - beta release

Peter Mosses plancomps at gmail.com
Tue Jul 17 08:38:30 EDT 2018


SUMMARY

The beta-release of the CBS framework is now available:

    https://plancomps.github.io/CBS-beta

It provides a library of reusable components of language
specifications, called 'funcons', and examples of their use.

DETAILS

CBS is a framework for component-based specification of programming
languages. The main idea is to specify languages by translation to
pre-defined 'funcons' (fundamental programming constructs) that
correspond closely to common concepts of high-level programming
languages.

A translation to funcons can be significantly simpler - both to read
and to write - than a direct specification of program behaviour.
It is also highly modular, supporting co-evolution of languages and
their specifications.

Funcons are reusable components: their definitions can be reused,
unchanged, in the specifications of different languages. Crucially,
the behaviour of each funcon is to be fixed, and adding new funcons
does not involve changes to the definitions of existing funcons.

The PLanCompS project (http://plancomps.org) has developed an initial
library of funcons, together with several language specifications
that illustrate their use. A beta-release of them is now available:

https://plancomps.github.io/CBS-beta

The aim of the beta-release is to allow those who might be interested
in using CBS to review the funcons and their definitions before the
full release, which is planned for October 2018.

New funcons are likely to be introduced during the beta-release
period, and further examples of language specification will be
provided. Demonstration of scaling-up to major languages (e.g., C#)
is a longer-term goal. The current funcon definitions cover only
their dynamic semantics, but are to be extended to static semantics.

The current tool support for CBS (including a language workbench and
interpreter generation for rapid prototyping) will be released as soon
as it is sufficiently robust and well-documented.

If you would like to contribute to PLanCompS (e.g., by using CBS to
define a new or existing language, or by suggesting new or improved
funcons) please email Peter Mosses <plancomps at gmail.com>.



More information about the Types-announce mailing list