Tags: unisonweb/unison
Tags
Merge pull request #5600 from unisonweb/25-02-24-dependencies use full names in `dependencies` output
Reworked pattern compilation This is when #5557 was merged. We need a stable identifier for this build so we can release it on Unison Cloud before clients pick up the change.
Do reference-based pruning for ucm compile, turn back on inlining The pruning was causing problems with compiled programs when inlining was on, because it would prune based on the inlined code. The inlined code may have certain intermediate combinators omitted, but those are still necessary to have a full picture of the source code. Since `compile` was using the MCode numbering and backing out which References are necessary from that, it would throw away the source code for these intermediate definitions. This then caused problems when e.g. cloud (running from a compiled build) would try to send code to other environments. It wouldn't have the intermediate terms necessary for the remote environment to do its own intermediate->interpreter step. This new approach does all the 'necessary terms' tracing at the intermediate level, and then instead determines which MCode level defintions are necessary from that. This means that the pruning is no longer sensitive to the inlining. So, it should be safe to turn inlining back on.
PreviousNext