- 
                Notifications
    
You must be signed in to change notification settings  - 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