[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CASL Concrete Syntax - Call for Proposals



CASL Concrete Syntax: CALL FOR PROPOSALS
________________________________________

The tentative design for CASL, the CoFI Algebraic Specification
Language, so far consists of an abstract syntax and an informal
summary of the intended semantics, as presented in the Language
Summary, version 0.95, December 1996.  (All CoFI documents are
available via the CoFI WWW Home Page, cited below.)

The CoFI proposal for the final design of CASL, to be submitted 
to IFIP WG 1.3 at the beginning of May 1997, will incorporate 
any adjustments to the Language Summary arising from the current
assessment of the tentative design by various task groups.  The 
CoFI proposal should also incorporate the following items (among 
others):

 * Concrete Syntax for CASL

 * Examples of specifications

The Examples should obviously be presented using the proposed 
concrete syntax.

As the design of the concrete syntax for CASL is extremely important
for the "look and feel" of CASL - and potentially a source of conflict
and controversy - the Language Design Task Group is hereby issuing a
CALL FOR PROPOSALS, hoping that several will be submitted, and that a
consensus will emerge in favour of one of them as the preferred CASL
concrete syntax, before the IFIP WG 1.3 Meeting in June 1997.

Details of how to submit a proposal for concrete syntax, and the
constraints imposed by implementation and general language design
considerations, are appended.

DEADLINES: 

Submission of DRAFT PROPOSALS:

  ** MONDAY 7 APRIL 1997 **

Submission of COMPLETE PROPOSALS:

  ** MONDAY 5 MAY 1997 **

Any questions concerning this call for proposals should be addressed
to cofi-language@brics.dk.

Hoping for an energetic - and timely! - response to this call,

Peter

 ----   --------------------------------------------
 \  /  | Peter D Mosses         <pdmosses@brics.dk> |
 CoFI  | Common Framework Initiative  - Coordinator |
 /  \  | WWW URL: http://www.brics.dk/Projects/CoFI |
 ----   --------------------------------------------

P.S. Bernd Krieg-Brückner, the coordinator of the Language Design
task group, will be submitting his own proposal for concrete syntax,
and therefore preferred not to be directly involved in formulating 
the call for proposals.
____________________________________________________________________


DETAILS
_______

Note that concrete syntax concerns not only the form in which a text
is to be input as a linear string of characters, but also that in
which it is to be displayed on a 2-dimensional page or screen.  Let us
refer to these two aspects of concrete syntax as "input syntax" and
"display syntax", respectively.

A DRAFT PROPOSAL should consist of:

* EXAMPLES of CASL specifications:
  - each in both input and display syntax;
  - including familiar examples from the literature;
  - illustrating the use of as many CASL constructs as possible.

* An indication of which TOOLS have been (or can be) applied to
  implement the parsing of the input syntax.  

It is not mandatory to include a precise definition of the input
syntax (e.g., a grammar) in a DRAFT proposal.  However, proposers 
are strongly encouraged to address this issue at an early stage; 
and by providing a grammar for an input syntax, they may well give
extra credibility - and attract further support - to their proposal.

A COMPLETE PROPOSAL should consist of a polished version of the draft
proposal, as described above, extended with:

* A GRAMMAR (or program) for parsing the proposed input syntax,
  accepting all the provided examples;

* An indication of how a parsed specification text may be mapped to
  the corresponding abstract syntax tree; 

* An indication of how the display syntax may be generated from the
  abstract syntax tree.

Clearly, the preparation of a complete proposal involves a
considerable amount of work.  Those who support particular draft
proposals are encouraged to assist the proposers in developing these
into complete proposals.

Each proposal is to be SUBMITTED by sending it as a single Postscript
file to pdmosses@brics.dk (not to the cofi-language mailing list).  
It will immediately be installed in the CoFI archives and announced 
on the cofi-language mailing list.  

Subscribers to the list will be encouraged to express their COMMENTS
on each proposal, and these will be made available for browsing, to
facilitate assessing the relative support for each proposal.


TOOLS CONSTRAINTS
_________________

Any proposal should be implementable using publicly available and
efficient tools, such as to Lex and Yacc

Lexical analysis should be context free, and preferably in 
linear time.


LANGUAGE DESIGN CONSTRAINTS
___________________________

The concrete syntax should support attributes and attachment 
of attributes to the intended construct.

The concrete syntax must allow ISO-Latin-1 accented/national letters
in identifiers (or provide an unambiguous encoding of all accented/
national letters using the ISO 7-bit ASCII character set).

It should support the declaration of prefix, infix, postfix, and
outfix notation for function and predicate application.  General
mixfix notation should preferably be supported too, but may be handled
in different ways, according to parsing options.  [Note on terminology:
prefix, infix, and postfix notation are as usual; outfix notation is
for unary functions such as singleton {_}; general mixfix notation
allows also multiple arguments mixed with keywords etc., e.g.,
if_then_else_ .]

It is desirable to allow exponents and indices in identifiers.

(END)