Dimitry Golubovsky wrote:
Perhaps there could be an intermediate solution: keep the calling
convention field as a string, but add a command-line option, something
like --allow-cconv=<comma-separated list> with default being whatever
is in the Addendum plus those non-standard nhc98 convention names. For
Javascript backend, I'll use --allow-cconv=javascript, etc.
--allow-cconv=ANY would turn this check off (thus ANY in capitals
being reserved word)
It's an idea, but I think Malcolm was more thinking about the internal
CallConv datatype (that calling conventions are parsed into). Arguing
that it is better to add new calling conventions as additional
enumerations in this datatype rather than using a string an allowing any
identifier to be used as a calling convention.
In any case the bytecode backend refuses to compile any foreign call to
a calling convention it doesn't know so the user is told if they mistype
a name already. We may thus need to add a --no-bytecode flag for you to
say that the compiler shouldn't generate any bytecode (i.e. core only),
but this is probably a useful addition in any case.
I think the solution I have in place is fine. Any identifier as a
calling convention, and it's placed in the (Other string) item in CallConv.
Cheers
Tom
_______________________________________________
Yhc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/yhc