4c008577b4
wip make qtys into polynomials
2024-05-27 21:32:48 +02:00
dd697ba56e
add CheckBuiltin
2024-04-14 16:20:25 +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
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
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
0c1df54d62
improve handling of context lengths
2023-11-03 18:05:54 +01:00
e6c06a5c81
pass the subject quantity through equality etc
...
in preparation for non-linear η laws
2023-09-18 21:53:38 +02:00
8264a1bb81
split up whnf module
2023-08-24 18:42:26 +02:00
282565c7a3
Whnf ⇒ CanWhnf; WhnfM ⇒ Eff Whnf
2023-05-21 20:34:05 +02:00
d5f4a012c5
add source locations to inner syntax
2023-05-02 03:06:25 +02:00
b666bc20cf
do scope checking in FromParser where it belongs
2023-04-18 22:55:23 +02:00
4578b30c79
namespaces work now
2023-04-18 00:10:53 +02:00
a5ccf0215a
coercions and compositions
2023-04-15 15:13:01 +02:00
a42e82c355
type-case
2023-04-03 17:46:23 +02:00
ba2818a865
remove IsQty interface
2023-04-01 19:16:43 +02:00
2b2f79fca9
fix some typing mistakes
2023-03-31 19:26:55 +02:00
36609713ac
mtl ⇒ eff
2023-03-31 19:26:24 +02:00
8a9b4c23dd
box type
2023-03-31 19:26:24 +02:00
9250789219
natural numbers
2023-03-26 14:40:54 +02:00
5053e9b234
remove inject stuff
...
injecting from m to (n+m) is just id ::: id ::: ... ::: shift n.
specifically, injecting from 0 is just the shift. so.
2023-03-25 22:44:30 +01:00
32f38238ef
pretty printing errors
2023-03-15 15:54:51 +01:00
86d21caf24
put names into contexts, and contexts into errors
2023-03-14 16:04:41 +01:00
f4af1a5a78
split up Quox.Typing
2023-03-13 21:41:57 +01:00
ecd3be8bda
"WhnfErr" ⇒ "WhnfError"
2023-03-13 19:39:29 +01:00
02b94ab705
split check and checkType. UAny is kill
2023-03-05 13:14:25 +01:00
fc3c2dc8ab
sop → elab-util
2023-03-02 19:52:32 +01:00
efca9a7138
add enums, which also need whnf to be fallible :(
2023-02-22 07:45:10 +01:00
0e481a8098
new representation for scopes
2023-02-22 07:40:19 +01:00
1a7efc104e
Replace subst overloading with interfaces too (mostly)
2023-02-20 22:22:49 +01:00
7895fa37e5
Q.S.T.Reduce ⇒ Q.Reduce and make it use Definition directly
2023-02-19 18:54:59 +01:00
85a55f8123
wrap type errors in extra context
2023-02-19 17:54:39 +01:00
858b5db530
check for 0=1 in typechecker
2023-02-19 17:51:44 +01:00
bee6eeacdf
pass a TyContext
into equal
etc, rather than its components
2023-02-14 22:28:10 +01:00
065ebedf2d
use DimEq directly in typing context
2023-02-14 21:29:04 +01:00
c40e6a60ff
remove input qctx since it isn't used
2023-02-14 21:14:47 +01:00
a6f43a772e
more equality & tests
2023-02-12 21:30:08 +01:00
7d2c3b5a8e
more typed equality, uip, etc
2023-02-11 18:15:50 +01:00
42798f243f
typed equality
2023-02-10 21:52:40 +01:00
3b13f0a82c
silence a warning
2023-02-02 14:58:36 +01:00
4b36d8b7c8
pair stuff
2023-01-26 19:55:08 +01:00
f097e1c091
start of equality type stuff
2023-01-21 02:34:28 +01:00
84e524c978
make typechecker actually pass the dimeq to subT
...
also erase some length arguments
2023-01-09 19:03:21 +01:00
c45a963ba0
parameterise over qty semiring
2023-01-08 20:44:25 +01:00
8a55cc9581
unfold definitions in equality checking, plus cleanup
2022-08-23 05:43:23 +02:00
44778825c2
add Definitions module
2022-08-22 10:29:58 +02:00
804f1e3638
remove src directories
2022-05-06 22:01:44 +02:00