-
Couldn't load subscription status.
- Fork 25
Open
Description
Because 1.12 is stricter about definition order, generated functions are no longer a supported approach for finch staging. Currently, I've removed it from the staging approach. I see the following options:
- Fix the import order, etc. until generated functions work. I don't see a huge reason to do this, it's a high maintenance burden to keep generated functions working and I don't see many volunteers to figure this one out.
- Leave things as-is. It's somewhat confusing that we would still push code through the type domain in this case, but it's not the end of the world.
- simplify the staging/virtualization mechanism. We could completely delete the concept of "program instances". This would be a good thing for code clarity, and may also improve compile times. It's a lot of work though
For options 2 and 3, it should also be possible to add runtime-generated-functions as a low-overhead option when there are no closures in the generated body, so there may still be an easy way to get a low-overhead approach. It's unclear if this is worth the additional complexity and whether we could really reduce the calling overhead.
Metadata
Metadata
Assignees
Labels
No labels