[sc34wg3] CTM draft dtd. 2007-09-09 - Templates

Steve Pepper pepper.steve at gmail.com
Mon Sep 24 10:16:31 EDT 2007

* Lars Heuer
| In Montréal the committee decided to use the same syntax for
| occurrences and binary template invocations:
| ...
| IMO this is bad. The user gets two different behaviours for the same
| syntax.

For those that weren't in Montreal, I should point out that this was
*exactly* what was intended. The committee wanted a more homogeneous syntax
in which names, occurrences and template invocations had essentially the
same "look and feel" (i.e., type: value). The goal was to avoid a messy
appearance and improve readability. The pre-Montreal syntax was felt to be
rather messy, with colons used in some places but not in others.

We discussed various ways of distinguishing the actual template names from
types (e.g., by prefixing a template name with a back-tick (`), but none of
the proposals was satisfactory (which is not really surprising: things can't
look the same and look different at the same time).

I agree that the current solution can cause certain dangers of the type you
mention, but so far no-one has come up with a better solution.

Furthermore, the kind of situation you describe only arises if the CTM
author carelessly uses an existing identifier as a template name, which is
asking for trouble anyway. We could avoid this if template names and
identifiers were not allowed to overlap.


More information about the sc34wg3 mailing list