unison/parser-typechecker
Dan Doel 360e8298ee Introduce some new runtime functionality for cases/lits
The goal of these changes is to remove unboxed details from the
interchange formats, and instead exchange values that somewhat resemble
surface level unison values. In some cases, the way this works is
obvious. For instance, the MatchNumeric/NMatch and BLit constructs avoid
having unboxed details in code. However, what might not be so obvious is
the request/data matching constructs. These prevent unboxed values from
occurring on the stack in normal unison functions, which means they no
longer end up in captured continuations.

The unboxed details were originally intended to support optimizations
that would turn surface unison functions into more efficient versions
that operate without any boxing. However, that didn't materialize, and
it seems unlikely that we'll implement it for the Haskell end of things
(we aren't really obliged to do this ourselves for good performance in
scheme). So, some of these new methods of doing things might actually be
more efficient than what was happening previously.
2023-09-01 12:59:29 -04:00
..
src Introduce some new runtime functionality for cases/lits 2023-09-01 12:59:29 -04:00
tests Fix some type errors from lamLift in tests 2023-08-11 12:59:44 -04:00
LICENSE Update and standardize licenses 2021-10-12 13:47:08 -06:00
package.yaml WIP resolve project branch ref to root hash 2023-08-04 15:45:36 -07:00
unison-parser-typechecker.cabal Merge pull request #4246 from unisonweb/cp/project-ui-command 2023-08-15 11:53:11 -04:00