[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: pragmas [Was: Re: another take on hackers and painters]

> I don't like directives that alter the semantics of
> the thing being compiled.  It's hidden global state
> that makes it harder to understand the program.  You
> can't just look at part of the program to ascertain
> that something somewhere else changed the rules.
> I understand that this is the *lightweight* languages
> discussion group, but I still think it's good to retain
> solid, scalable "engineering" practices (for lack of
> a better word) even in lightweight languages.  I would
> say that it's better to have a single semantics for
> the language and throw out as many knobs as possible.

I agree.  Curl has lexically scoped compiler-directives, but they only can be
used to determine whether certian constructs are legal, but don't change their

For instance, by default you can omit type declarations in Curl, but can make
them mandatory using a compiler directive if you wish.  The semantic of type
declarations are not affected by these directives.