Commit graph

338 commits

Author SHA1 Message Date
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
85f20680e6 add constructors to Located/Relocatable interfaces 2024-05-27 21:29:37 +02:00
42c2217907 Eq/Ord/Show for No 2024-05-27 21:29:37 +02:00
2d75b92d6d telescope stuff 2024-05-27 21:29:37 +02:00
722c05225d replace Context.tabulate with tabulateVar
- takes a function `Var n -> a`
- results are no longer backwards lmao
2024-05-27 21:29:37 +02:00
e880b7165a remove Loc suffix from fromVar and Context.get 2024-05-27 21:29:37 +02:00
d9a383d8bb remove TVarErr and DVarErr highlights 2024-05-27 21:29:37 +02:00
3e23929b5f export infix 2024-05-27 21:29:37 +02:00
863849e4c4 clean up subsing η stuff 2024-05-13 01:23:14 +02:00
d276a66abd slightly improve a log message 2024-05-12 20:30:26 +02:00
b556c2f099 fix some comments 2024-05-12 20:30:18 +02:00
d2a117fe61 fix function η with subsingleton types 2024-05-12 20:30:04 +02:00
c9f66bb6af minor refactor 2024-04-18 11:49:19 +02:00
67c825ab39 add coercion regularity to the equality checker (not to whnf) 2024-04-15 22:58:17 +02:00
b7dc5ffdc4 add check for #[main] type 2024-04-14 16:20:40 +02:00
dd697ba56e add CheckBuiltin 2024-04-14 16:20:25 +02:00
32b9fe124f minor tweaks in Q.Typing.Context 2024-04-14 15:48:10 +02:00
7883a3cae7 pretty printing fixes 2024-04-12 21:54:25 +02:00
a1d8fd4ab5 %inline 2024-04-12 21:53:54 +02:00
9d60f366cf add #![log] pragma 2024-04-12 21:53:54 +02:00
f56f594839 push multiple loglevel changes at once 2024-04-12 21:53:54 +02:00
fca75377a0 MakeName ⇒ MkName for consistency 2024-04-12 21:53:50 +02:00
11b0ab6a25 remove default from FromParser.fromParserPure and Main.step 2024-04-07 03:20:42 +02:00
7a0bc73d25 approximate log stack in handleLogDiscard 2024-04-06 20:14:24 +02:00
567176e076 log refactors 2024-04-05 18:43:00 +02:00
3b6ae36e4e add logging to core 2024-04-04 19:26:41 +02:00
861bd55f94 add log effects to FromParser 2024-04-04 19:26:41 +02:00
78555711ce add Q.Log 2024-04-04 19:26:41 +02:00
582666a254 comments in infer for coercions 2024-03-21 21:29:13 +01:00
a9e8f14ad5 fix a small bug in Q.Whnf.Coercion 2024-03-21 21:29:01 +01:00
a8ac6f11f7 fix a quantity in CaseBox 2024-02-28 16:49:15 +01:00
b67162bda1 fix the other similar loops
closes #38, again
2024-02-24 16:04:38 +01:00
325e128063 add η for False and True 2024-02-10 11:39:07 +01:00
05a688d49e reject "" in NatExtra.fromHex 2024-02-10 10:14:22 +01: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
2cafb35bc1 fix some comments 2024-02-10 10:14:22 +01:00
47069a9316 fill a stray hole 2024-02-10 10:14:22 +01:00
81783dbae0 fix typechecker loop when coercing boxes
closes #38
2024-02-10 10:07:06 +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
48a050491c fix several quantity issues
- contents of box intro
- definition of let
- non-recursive ℕ case
- also make a few var names more consistent
2023-12-21 18:01:17 +01:00
aa4ead592a allow "let x : A = e in s" with type annotation 2023-12-21 17:54:31 +01:00
54db7e27ef make #[fail] run in the current namespace 2023-12-21 17:53:46 +01:00
7afcbfe258 recognise nats other than 0 in eq checker 2023-12-21 17:48:12 +01:00
0fdd4741be print quantity on let 2023-12-07 01:43:39 +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
e48f03a61c multiple semi-sep binds in a let 2023-12-04 23:27:59 +01:00