[MUD-Dev] Languages
Chris Gray
cg at ami-cg.GraySage.Edmonton.AB.CA
Sun May 18 10:12:18 CEST 1997
[Chris L:]
:A key part of C's use of braces is implicit in the base design of the
:language (and obvious when looking at the BNF diagram). In C, any place
:that a statement can be used (in a non-expression context), a pair of
:braces containing one or more statements can be used instead. Its a
:slightly subtle and very pleasing piece of orthogonality, and is why:
[Example deleted]
Yep, that's true. However, it is also the cause of some of the problems
in C. It can be a pain to see something like this filling up some of your
window:
}
}
}
}
}
I find myself getting lost a lot less often if it is instead:
fi;
od;
od;
fi;
corp;
The compiler can recover a lot better, too, and often report errors more
reliably/understandably. This is one of those language-religion things
that everyone has their own view on. Food for endless debate! :-)
:There are lots of other more interesting examples, such as creating very
:locally scoped automatics:
No reason you can't do that with the keyword stuff - they can introduce a
new scope as well. I can't resist adding that
if a < b then
f();
g();
fi;
has one less token in it than
if (a < b) {
f();
g();
}
:-) (And three more characters, although they are not shifted.)
--
Chris Gray cg at ami-cg.GraySage.Edmonton.AB.CA
More information about the mud-dev-archive
mailing list