On Thu, Mar 5, 2009 at 2:26 PM, Pal-Kristian Engstad
<[email protected]> wrote:
> Jonathan S. Shapiro wrote:
>> This is a completely separate issue. For the moment, the question I
>> want to focus on is how to separate the end of the expression that is
>> scoped by the let from the end of the entire let. Let's stick with
>> that.
>>
> This is really an issue of sequencing using semi-colon, right? This is
> an issue because one mixes statements and expressions.
I'm not clear why. BitC LET is an expression. I think the issue is
that the end of the scope that is created by the let ends at the end
of the let body, but the location where that scope ends is not
syntactically identifiable.
But yes, we're looking at a "block like" construct. That much I agree
about. And there are other block-like constructs that we will need to
consider in due course. If we can establish a sensible style for LET,
I should be able to enumerate the others.
> I'd prefer to
> have a stronger syntactical difference between the two. This can be
> achieved by using do { stmt; strmt } for a block.
The block you are proposing is defined by {}, not be do. Unfortunately
we will need more than one block syntax.
Once again, though, are you arguing for curly braces specifically, or
for *some* unambiguous syntactic delimiter?
> If we dispense with the "do" key-word, we end up with something looking
> strangely similar to C. :-)
s/strangely/confusingly/g
shap
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev