[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: compiler directives; (was: Re: cheerful static typing (was: A
> Dorai Sitaram [mailto:ds26@gte.com] wrote:
> > >
> > > Let me suggest (with a sly grin) that the distinction between
> > > language construct and compiler directive is exactly as crisp
> > > as the distinction between language and library.
> >
> > Compiler directives (or "pragmas") are required to be
> > flags. So the distinction between them and lang
> > construct may not be as smudgeable as the one
> > between lang and lib.
>
> The library search path is often a compiler directive, and it's
> not a flag variable.
>
> And it's definitely smudgeable: in Python, for example, the search
> path can be specified on the command line. This then shows up at
> runtime as the variable sys.path, and modifying sys.path will change
> the search path for future module loads.
>
> --
> Neel Krishnaswami
Yes, my use of the word "flag" was woefully inapt. I
should have said "setting" or somesuch. Thus setting a
load-path or a numeric precision could be a
compiler directive. (They could also be a mainstream
lang construct.)
I really don't have a problem with compiler directives
being treated as lang constructs. It is the other-way
smudging, ie, all lang constructs are compiler
directives (which was what was suggested here)
that strikes me as requiring some more persuasion. I
mean, is `set!' really a compiler directive? Is
`lambda' a compiler directive (an Ultimate Compiler
Directive even)? I don't see that yet.
--d