[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: COMMENTS on Tentative Design Summary v0.93
Please find below my comments to V0.93.
Best regards, radu
Name:
What about `CoFI Light'? Light should be understood as - light
algebraic Language.
Subsorting:
In explainig equivalence of terms, spend a few more words about what
it means to `adjust cast injections appropriately'.
Compound Identifiers:
I think, they simulate quite nice polymorphic sorts as they appear in
functional languages.
Cyclic sections:
I liked the way the semantics of cyclic sections was given.
Parameterized specifications:
It seems that in the current version, one cannot use the same
specification twice as parameter. For example, given a partial order
specification PO with principal sort Elem, one might want to write
something similar to the following OBJ code:
obj example[X::PO, Y::PO] is
f: Elem.X -> Elem.Y
...
Moreover, it is nothing said about the semantical relationship between
the formal and the actual parameters and how does this relate to
subsorting.
Architectural specifications:
Both the notion and the terminology are quite satisfactory. By the way,
I also prefer the term `architectural specifications' to
`decompositional specifications'.
Let declarations:
They seem to improve quite often the readability of functional programs.
(Surely, there are also other reasons to use them in functional
languages like let-polymorphism etc).
Typos:
pp16: GEN-FUN-SYMB ::= gen-fun-symb FUN-SYMB* FUN-TYPE?
Is it not intended FUN-SYMB+ instead of FUN-SYMB*?
pp19: Replace cast_s' : s -> s' and cast_s : s -> s' by
cast_s1 : s2 -> s1 and cast_s2 : s1 -> s2
pp24: Replace LIBRARY-SECTION ::= LINEAR-LIBRARY | CYCLIC-LIBRARY by
LIBRARY-SECTION ::= LINEAR-SECTION | CYCLIC-SECTION
------- End of forwarded message -------