Linxuan M

Results 10 issues of Linxuan M

This PR aims to make the V3 interpreter pass the regression tests we have so far

An update in the stack switching proposal changed the bytecode format for `resume` and `resume_throw`. This PR updates the corresponding parts in Wizard.

This PR implements new opcodes introduced in stack switching proposal for the fast interpreter.

This PR refractors suspension handler lookup out of the exception handler lookup routine. I think this makes more sense as this limits the search for a handler to a more...

This PR experiments with adding Rust's `trait` system to Virgil to allow interface programming. The syntax adopted by this PR (still to be decided) is derived from [doc/ideas/Traits.v3](https://github.com/titzer/virgil/blob/master/doc/ideas/Traits.v3). A brief...

This PR introduces utilities for testing with the type checker.

Currently there are duplicate subroutines in different modules (e.g., type-checking in `CompileTest`, `TyckTest` and similar functions in the upcoming `anf-ir` module). Maybe we can introduce a common dependency `TestUtils` to...

test fixtures

Currently the JIT uses Java AST as intermediate representation, which is low-level (compared to ANF) and does not encapsulate a lot of higher-level program information. We should consider basing the...

feature

Currently all local variables are named `var%d` after compilation. It would be nice to retain some context information of local variables.

developer experience
jit

This PR adds another case for `Value` to store the continuation type, which can be built with `--unboxed-cont` flag.