Commit Graph

300 Commits

Author SHA1 Message Date
eeb790f1b2 Keep track of autos to be solved, shaves about 12% off of Elab.newt processing time 2025-04-05 21:27:10 -07:00
549cca19e3 Add flags to TopEntry, detect duplicate constructors, fix issue with missing constructors in CompileExp. 2025-04-05 14:33:54 -07:00
8c983dd571 fix definition provider 2025-04-05 10:12:48 -07:00
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