Commit Graph

7 Commits

Author SHA1 Message Date
84321cb2de Add a bunch of documentation, and somewhat cleanup, the code in src/backend/. 2023-04-16 18:41:48 -07:00
7ad28a9b23 🧪 Add evaluation tests to ensure that passes retain NGR semantics. (#2)
This change adds `Arbitrary` instances to the key IR data types (both as syntax and as native IR), as well as evaluator functions for both. This way, we can ensure that the evaluation of one version of the IR is observationally equivalent to another version of the IR, or even a later IR. It also adds a similar ability through both static file compilation and the JIT, to ensure that the translation through Cranelift and our runtime works as expected.

This actually found a couple issues in its creation, and I hope is helpful extensions into more interesting programs.
2023-04-16 16:07:45 -07:00
7a1d22da2d Proptest testing! 2023-04-07 10:04:57 -07:00
289997af5a Some cleanups. 2023-03-28 22:16:48 -05:00
c3e1c90261 Clippy and warning clean-ups. 2023-03-24 11:09:55 -05:00
4aa3a9419a Very weirdly organized, but it JITs! 2023-03-24 10:28:32 -05:00
afcf3c65cd A fairly major refactor / simplification. 2023-01-16 20:11:43 -08:00