SSA lowering and interpreter#167
Conversation
|
Does it supersedes #125? |
|
@tothambrus11 do you plan to clean the history? |
|
@tothambrus11 tell me when you wish me to review. One question is that in |
|
Another question I have is whether we really need SSA-specific value (especially for things like boxed integer) or we can just use a normal Ferlium value. This feels like a duplication smell to me, but maybe there is a good reason. |
|
|
||
| ## Documentation | ||
|
|
||
| Documentation enables local reasoning - it's a shortcut for understanding so readers can avoid looking up implementation |
There was a problem hiding this comment.
to be removed...
It's adapted from the Hylo style guide.
There was a problem hiding this comment.
Ok, let's discuss this convention file when the PR is ready to be merged!
|
@tothambrus11 fyi I am still working on proper first-class subscripts and using subscripts for field projections and allowing custom field projections for user-defined newtypes/typedefs. That will add a few new first-class-subscript-related HIR node types, very similar to their function equivalent. I hope this work to be done by latest tomorrow. Is that ok I ping you here when it is done? |
|
Yeah sure! I run out of official hours, but I'm happy to contribute to the project in my own OSS time. |
|
@tothambrus11 I pushed the subscript-based projection work to |
|
Thanks, I'll try rebasing. |
|
The type inference work for subscripts is in |
|
@tothambrus11 fyi in 1216d8f I renamed the HIR node Also, now subscript bundled functions have proper names for debugging purposes. |
|
@stephanemagnenat The PR should be ready, it's already migrated to the new subscript representation. |
|
@tothambrus11 very good, thank you very much. I reviewed it. Overall looks great! Some questions/comments:
This review highlighted some design issues in Ferlium HIR and I laid out a series of changes to fix them: #173 -> #174 -> #172 |
33b25c6 to
f21e7bb
Compare
|
@tothambrus11 fyi your latest push failed due to a lint error. |
f21e7bb to
4d847bc
Compare
|
I am now working on the merging. |
This PR adds a single static assignment IR to the Ferlium compiler, along with an interpreter built on top of the HIR interpreter's evaluation context for easy standard library interoperability.
All existing language test suites pass with both interpreters.
Current known limitations: