keyword-generics-initiative
keyword-generics-initiative copied to clipboard
Would this proposal include `extern "ABI"` qualifiers as effects?
If you consider the extern "ABI" { ... }
as describing a particular (foreign) function color, then it seems fairly natural to model them in an effect system. Would this be in scope for an effects system?
There are some (possibly useful?) identities that show up, like extern "C-unwind" = extern "C" + panic
(glossing over the differences between Rust panics and C++ exceptions), or in particular how extern "Rust"
is just the set of ordinary Rust function effects. In return, this would presumably add more complexity: how do variadic extern "C"
functions factor into this? Is it even possible to define e.g. extern "C"
in terms of a set of primitive effects?