Tim Chevalier wrote:
On 2/20/08, Roman Leshchinskiy <[EMAIL PROTECTED]> wrote:
If it can't or doesn't want to maintain it, it throws it away. The info
is optional: if it's there, it has to be correct but it doesn't have to
be there.
[snip]
Just like in Haskell, they don't have a semantics - they are essentially
comments. If a tool (like GHC) decides to interpret them somehow (this
should probably be enabled by a flag), that's a completely different
matter. This is of course not entirely optimal but should do for a start.
Perhaps I don't understand, but I see a contradiction between
"[pragmas] don't have a semantics" and "if it's there, it has to be
correct". "Correct" implies a semantics.
Sorry, I should have been more precise. The language definition does not
say anything about the pragmas and GHC ignores them by default. However,
GHC has a flag which tells it to assign a meaning to certain pragmas.
With this flag, those pragmas have to provide the correct information
and that information if used by GHC. This is essentially how, say, the
RULES pragma works now.
Anyway, I'd be happy to concede the point to you that implementing an
input path for External Core with a well-defined semantics is not
hard. It has, after all, been done before. Besides having an
independent semantics, we want an implementation that won't succumb to
bit-rot the way the last one did. Again, that may be an impossible
goal.
This part ought to be easier now. Just include a sufficient number of
testcases in the testsuite and make sure that they are run by validate.
This will force people to pay attention.
At this point, I've said my piece, and if you find it
unconvincing, it may be that I'm not expressing myself well or it may
be that I'm just wrong; you're welcome to present evidence for the
latter by doing the implementation work involved, whenever you have
free time :-)
Fair enough :-)
Roman
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc