We've had a wide-ranging discussion. I want to summarize what I have
gotten from it, and then I want to present two final alternatives for
a poll (in the next mail).
First, there is a significant minority of users here who like the
"leading significant white space" idea. I personally think that i do
not, but I am not the only user here. Only the most important one.
:-)))
[ For those of you who don't know, I'm planning to officially change
my last name to "BitC" so that everyone will call me "Doctor BitC".
Anybody who pronounces the silent "h" in "bitc" will not be my friend
anymore. :-) ]
Second, there seems to be a smaller minority who agree that
punctuation is good to avoid. Many of you have not offered an opinion
on this.
Third, there is a wide range of languages that people are coming from,
and (among people who are likely to pick up BitC early) most of you
seem to feel that you are comfortable in multiple languages with
widely differing syntax. The common element seems to be mainly that
the syntax should be consistent and clear (always a good idea).
Concerning concrete syntax, we have concluded that:
1. The delimiter between binding patterns must be lexically distinct
from the syntax used for expression sequences
2. Ignoring the question of significant white space, nested scopes
need to have both beginning and ending delimiters.
So here are the choices we are down to, and at this point I would like
to consider ONLY these. Significant white space is an issue that I
will take up separately. It is NOT up for consideration here.
In all cases below, a scope is an expression returning the result of
its last evaluation.
Option 1: Nested scopes are delimited by { }. As in C, a nested scope
may or may not be preceded by a binding or control form. Within a
nested scope, expression sequences are separated by semicolons. This
is the general framework used in C.
Option 2: Nested scopes are delimited by keyword pairs, such as
"let...in <scope> end". Expression sequences are separated by
semicolons. Since we need a way to override precedence in any case,
the syntax (...) defines a nested scope in which sequencing is
permitted.
Preferences, please?
shap
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev