
"Ross Paterson"
On Thu, Jan 30, 2003 at 06:15:38PM -0800, Sigbjorn Finne wrote:
if we ignore the issue of raising exceptions from within extension DLLs,
There's no way for them to raise exceptions, is there?
Not via the HugsAPI, but the continuation is just sitting there on the stack, so there are no guarantees, but I'm not aware of any code that makes use of it.
there's a way for old and new DLLs to co-exist: In modules with a 'needPrim_hugs' declaration with a value of 4 or below, the interpreter simply decrements by one the arity of 'primitive's with IO results. Hacky, but it'll do the job.
How can we distinguish IO and pure primitives?
By looking at the type of a 'primitive' declaration. I'm assuming that modules which use FFI declarations are few (and fresh) and that their DLLs can simply be regenerated. I've got this implemented here, so if you set IOArity back to 1 again, I'll commit the changes. thx --sigbjorn