Commit graph

47 commits

Author SHA1 Message Date
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
Renamed from lib/src/Quox/Typing.idr (Browse further)