[Oberon] IMPORT Modules: why does order matter?
schierlm at gmx.de
Sun Mar 3 13:37:24 CET 2019
Am 03.03.2019 um 10:00 schrieb Till Oliver Knoll:
> But I can tell you from my professional experience (which includes
> C/C++) that a simple = in an IF condition goes undetected far more in
> practise than you will do the = vs := mistake.
error: if statements have to be a boolean expression and "x=y" is only a
boolean expression if the type of x is boolean itself; and you rarely
have to compare booleans with each other (comparing a boolean with
literal true or false is a warning so you tend not to write that), but
and have weird errors (and no warning at all).
> Well, personally I've seen people doing forward declarations, but it was
> almost never the case where you could not simply move the
> implemementation up to the "correct place" and then do without a forward
Doing compilers/parsers with Recursive Descent often requires mutually
recursive functions. Also Sierpinski.Mod is an academic example that
could benefit from forward declarations.
More information about the Oberon