0477ee397f
encode enum as string
2025-04-01 06:09:23 -07:00
f006fa875d
Classify constructors, only dump modules if they successfully compile
2025-03-31 21:21:37 -07:00
654e5cdb25
split processDecl into separate functions
2025-03-30 11:06:30 -07:00
4ec7519955
remove unused case in TCO output
2025-03-30 09:39:09 -07:00
7dc9751359
Use serialized modules
2025-03-22 17:20:53 -07:00
9d7e6097f3
tco working, update playground to self-hosted newt
2025-03-17 18:43:42 -07:00
1219e8d4e5
tarjan is running on CExp now
2025-03-16 11:28:21 -07:00
944854b1c4
Cleanup in Compile.newt, don't emit vestigial letrec
2025-03-15 17:09:00 -07:00
5ab2a28bcf
Prep to switch from Def to CExp for backend passes.
2025-03-15 15:46:56 -07:00
5c7d065a88
fix build
2025-02-22 18:46:27 -08:00
041521ab47
fix regressed error message for missing cases
2025-02-16 21:46:19 -08:00
001cba26ee
first pass at liftWhere
2025-02-15 21:35:06 -08:00
3c2615ecc1
move idris version to orig and newt version to src.
...
Development is being done on the newt version now.
2025-02-15 16:36:29 -08:00
b6ce6cfb13
rename top/put/modify on M to avoid collisions
2025-02-01 16:47:10 -08:00
fad966b1ec
Refactor code generation to prepare for optimization passes
2025-02-01 12:56:30 -08:00
bc71c006e9
Cleanup and a fix to Prelude and the playground
2025-01-23 21:10:42 -08:00
e3ae301c9c
performance and code size improvements
...
- Use default case for constructors with no explicit match.
- self-compile is 15s now
- code size is 60% smaller
code size and self compile time on par with the idris-built version
2025-01-18 21:33:49 -08:00
f9279bb255
Use null for erased values to aid serialization
2025-01-18 14:48:29 -08:00
5cce1a465e
Modules live in separate contexts, only imported modules are in scope
2025-01-12 08:57:01 -08:00
793c3a9999
qn for metas
2025-01-11 20:07:50 -08:00
363f85710f
add comments, fix fc on an error, add constructor for U
2025-01-10 21:03:20 -08:00
2cdeb2721c
Improve auto solving - 30% faster and hopefully proper errors if a type mismatch is blocking it.
2025-01-07 21:01:22 -08:00
6b1eef86a7
Newt in Newt compiles (but does not run)
2025-01-04 20:25:41 -08:00
46434cc555
Port Eval.newt
2025-01-03 22:49:07 -08:00
b87999a64d
More porting. Parser is working now. Some improvements have been made to auto resolution
2025-01-03 21:57:15 -08:00
5a6dcdb92b
try solving autos when a related constraint is added
2025-01-02 22:44:17 -08:00
30cc85ca0e
move auto solver to elab
2025-01-02 20:54:25 -08:00
e41e1d8f6a
porting WIP
2025-01-02 10:05:27 -08:00
9ed2b2077d
fixes and changes for porting
...
- forward declaration of records
- fixes to projections
- drop record accessors (use projections instead)
- changes to names to disambiguate
2025-01-01 20:21:07 -08:00
669670d68c
Add projections for records
2025-01-01 11:27:41 -08:00
4dec53daa1
additional changes for porting, fix to lexing
2025-01-01 08:46:25 -08:00
b993425803
fix string escapes
2024-12-31 23:55:07 -08:00
06893fe735
string interpolation
2024-12-31 12:36:29 -08:00
f4e96d06ec
changes to support translation
2024-12-30 22:34:03 -08:00
8c7f0616d2
fix type constructor quantities for short data decls
2024-12-29 22:24:32 -08:00
57a8fe9609
prep for self-hosting
2024-12-29 21:17:06 -08:00
6397cac18a
refactor Ord to be based on compare
2024-12-29 16:17:34 -08:00
413f95940f
Replace monad stack with hard-coded monad
2024-12-29 14:58:05 -08:00
747ab08dd6
remove external dependency for Token/WithBounds
2024-12-29 14:04:22 -08:00
054a0675f4
fix importing with dots, prep work for porting
2024-12-29 12:55:09 -08:00
b92a45a7cf
fix alternate tokenizer
2024-12-28 22:28:40 -08:00
9a2eac0bd7
remove a Text.Parser dependency (about 10%), and alternate tokenizer
2024-12-28 21:51:55 -08:00
23a95f70f5
add \case sugar and editor support. fix symlink
2024-12-28 16:02:31 -08:00
3ec2f90770
sugar for data and other improvements
...
- parse types in let (everything but parser was there)
- add sugar for `data`
- move `joinBy` to prelude
- fix highlighting for char in vscode
- better errors for missing imports
2024-12-28 09:45:21 -08:00
0992dc1367
split up unify to simplify casetree,
...
- cuts newt.js size in half
- shaves a second off check time for Elab.idr (23%)
- shaves a third off of final link time (33%)
2024-12-27 16:38:50 -08:00
d224099e4a
more js keywords
2024-12-27 16:00:35 -08:00
9655434b2a
add namespaces to names
2024-12-26 18:51:46 -08:00
ad2f29d0af
improve already defined error messages
2024-12-22 14:58:45 -08:00
2c7c5eca55
monadic version of day21
2024-12-21 21:02:56 -08:00
567a357dee
Day20
2024-12-20 17:06:55 -08:00