c063107ecc
add FromVarR, etc
...
`FromVarR` is a version of `FromVar` which needs the scope size
to be relevant at runtime
2024-05-27 21:32:01 +02:00
e880b7165a
remove Loc suffix from fromVar and Context.get
2024-05-27 21:29:37 +02:00
fca75377a0
MakeName ⇒ MkName for consistency
2024-04-12 21:53:50 +02:00
3b6ae36e4e
add logging to core
2024-04-04 19:26:41 +02:00
f337625801
remove most noLocs
2024-02-10 10:14:22 +01:00
1f01cec322
refactor Main a whole lot
2024-02-10 10:14:22 +01:00
103f019dbd
move NDefinition to Quox.Definition and add an untyped one
2024-02-10 10:14:22 +01:00
a14c4ca1cb
never inline let bindings from the original source
2023-12-21 18:04:12 +01:00
b7074720ad
pretty printing fixes
2023-12-21 18:03:57 +01:00
03c197bd04
add local bindings to context
...
- without this, inside the body of `let x = e in …`, the typechecker
would forget that `x = e`
- now bound variables can reduce, if they have a definition, so RedexTest
needs to take the context too
2023-12-07 01:43:39 +01:00
cdf1ec6deb
fix a comment
2023-12-04 23:38:17 +01:00
b1699ce022
add let to the core
2023-12-04 22:47:52 +01:00
040a1862c3
refactor scheme prelude
2023-11-05 15:45:33 +01:00
e211887a34
string/nat lit stuff
2023-11-05 15:38:13 +01:00
3b9a339e5e
rename "Tag" highlight to "Constant"
2023-11-05 14:30:40 +01:00
b6c435049d
escape strings in scheme
...
the characters \, ", and everything below space or above ~ are replaced
with a \xdd;-style escape inside string literals
2023-11-03 20:17:35 +01:00
5dfefe443c
more tidying of outputs
2023-11-03 18:05:54 +01:00
0514fff481
represent ℕ constants directly
...
instead of as huge `succ (succ (succ ⋯))` terms
2023-11-03 18:05:54 +01:00
fa7f82ae5a
rename Nat to NAT in AST
2023-11-03 18:05:54 +01:00
e0ed37720f
always vsep scheme lets, otherwise they are unreadable
2023-11-03 18:05:54 +01:00
050346e344
add postulate, #[compile-scheme], #[main]
2023-11-03 18:05:54 +01:00
cc0bade747
scheme output
2023-11-03 18:05:54 +01:00
cd08a0fd98
more erasure
2023-11-03 18:05:54 +01:00
314e7f036d
make nat elimination with erased IH non-recursive at runtime
2023-11-03 18:05:54 +01:00
6ab9637ab5
don't keep erased applications actually
2023-11-03 18:05:54 +01:00
8e0d66cab8
more erasure
2023-11-03 18:05:54 +01:00
ea74c148b7
some of this EffExtra stuff doesn't work
2023-11-03 18:05:54 +01:00
83ab871d61
new main
2023-11-03 18:05:54 +01:00
421eb220fd
erasure refactor
2023-11-03 18:05:54 +01:00
0c1df54d62
improve handling of context lengths
2023-11-03 18:05:54 +01:00
428397f42b
erasure to untyped syntax
2023-11-03 18:05:54 +01:00
0b7bd0ef46
add locations and substitutions to untyped syntax
2023-11-03 18:05:54 +01:00
be8797a3ef
untyped λ calculus syntax
2023-11-03 18:05:54 +01:00