Commit Graph

278 Commits

Author SHA1 Message Date
8cfe91343e Lambda lifting (for non-javascript backends) 2025-10-06 15:08:36 -07:00
fc987a6f11 cleanup 2025-10-04 18:11:24 -07:00
8209d2d839 Use numbers for constructor tags. 2025-10-04 14:56:59 -07:00
495ed78c80 Use 1-based row/column in error messages 2025-09-29 12:42:13 -07:00
a53c5b4fba cleanup 2025-09-29 10:50:22 -07:00
36d9f81f61 move inline/substMeta to compile step 2025-09-23 21:25:58 -07:00
3143fa7b0a More inlining, fix issues in eval of case 2025-09-23 20:22:50 -07:00
cc7d8b4968 int add becomes + 2025-09-20 19:58:39 -07:00
49c90cce6d inline "simple" functions and inline after app in inline 2025-09-20 17:21:19 -07:00
de71ea2f26 Initial implementation of inlining 2025-09-20 10:54:54 -07:00
97c50a254a the "mode" argument to eval was unused and not fully propagated 2025-09-02 21:10:32 -07:00
a3801b8ba0 Remove some unnecessary assignments from codegen 2025-09-01 16:28:55 -07:00
1432316fac SortedMap uses any comparator 2025-09-01 15:48:20 -07:00
27d9250d34 Fix build of newt3.js 2025-09-01 12:06:49 -07:00
f90d171598 improve QName comparison time 2025-08-29 11:08:34 -07:00
33a4cf6070 Fix issue building newt 2025-08-28 21:24:29 -07:00
bcf34c0941 [ auto ] try autos if a meta in their type is solved
Also cut tryEval if the result is a lambda
2025-07-27 14:52:24 -07:00
ff23deb825 [ fix ] error messages mangled by Idris to Newt translation 2025-07-27 14:29:14 -07:00
a79f92793b [ fix ] solve autos in data declarations 2025-07-26 08:09:46 -07:00
0e110cd14f [ unify ] unify literals correctly 2025-07-26 08:07:48 -07:00
2d53976602 [ cleanup ] dead code 2025-07-26 07:23:48 -07:00
1bdac27097 [ codegen ] PiType no longer hard-coded JS 2025-07-26 07:23:16 -07:00
800cec28de cleanup 2025-07-18 20:47:45 -04:00
9bd9ab21b6 fix env (should have used an index...) 2025-07-10 21:14:42 -04:00
cee1519b8e Improvements to playground editor 2025-06-27 21:31:51 -07:00
5743eb39ea Fix some strings that were messed up by the initial Idris -> Newt perl code 2025-06-27 21:29:12 -07:00
67d1e54ffb Seperate CAppRef constructor for top level apps 2025-06-24 21:12:30 -07:00
8dae8880f9 Remove unnecessary IORef for meta context 2025-05-20 21:36:52 -07:00
cae4368cd9 misc cleanup 2025-04-22 20:30:29 -07:00
8faecfdf9b record update syntax 2025-04-19 20:11:07 -07:00
d6156ebc79 Fix aoc2024 build
- Holes are no longer allowed when building executables
- Stack overflow in mapMaybe (Day15)
2025-04-10 08:50:52 -04:00
0ce1a5e454 Magic Nat 2025-04-09 15:07:31 -04:00
c51d368e90 primop in compiler 2025-04-07 14:29:55 -07:00
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
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