After #1372 extern types (and extern interfaces) can have right-hand sides.
We should use this in the llvm backend to allow something like
extern type Int64 =
llvm "i64, 64, no eraser, no sharer"
For this, we need a way to specify all the necessary parts (type, size, eraser, sharer, ...), there are mostly two options:
- have special syntax in the extern string (like above)
- have syntax parsed in the Effekt parser (e.g. allow multiple extern strings / tuples / ...)
After #1372
extern types (andextern interfaces) can have right-hand sides.We should use this in the llvm backend to allow something like
For this, we need a way to specify all the necessary parts (type, size, eraser, sharer, ...), there are mostly two options: