Commit Graph

15 Commits

Author SHA1 Message Date
d0c7e02928 Commentary in the lexer and parser. 2023-05-07 21:41:09 -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
662e954720 Upstream cranelift now works fine. Yay! 2023-03-24 11:07:11 -05:00
4aa3a9419a Very weirdly organized, but it JITs! 2023-03-24 10:28:32 -05:00
cd3247ac9f It lives! Thanks to the cranelift team. 2023-01-12 09:02:42 -08:00
c89950693d Fix spelling in Cargo.toml. 2023-01-02 20:12:23 -08:00
a607101ca2 Start moving towards interned strings. 2022-12-29 15:36:16 -08:00
bb1cbf9962 something worked 2022-12-29 14:30:52 -08:00
22aa29cb92 Start messing around with cranelift. 2022-11-25 21:30:23 -08:00
f45488b9af Add a pretty printer. 2022-02-18 10:37:15 -08:00
0293eee2d0 Use codespan for *much* prettier error reporting. 2022-02-16 20:46:13 -08:00
60e7d9a41d Pick this up again, dust it off, get some stuff connected. 2022-02-13 21:30:06 -08:00
2881c5104a Some basic parsing, with interned strings. 2020-08-02 17:58:51 -07:00
81f98cc2c9 Initial commit; a basic Logos lexer and some tests. 2020-08-01 20:45:33 -07:00