Commit Graph

98 Commits

Author SHA1 Message Date
Mattia Giambirtone c1a2c9bc55
Updates to README. Cleanup & refactoring 2023-10-01 13:16:40 +02:00
Mattia Giambirtone 20a2f07eba
Initial work on fixing the hellish nightmare of bugs of this repo 2023-06-30 17:26:42 +02:00
Mattia Giambirtone 919cc25579
Get rid of REPL + minor refactorings 2023-06-29 13:58:03 +02:00
Mattia Giambirtone 71f44313da
Work on keyword arguments. REPL has been disabled (it's broken). Fixed various issues with casts and typevars 2023-06-01 12:56:59 +02:00
Mattia Giambirtone 20da594116 Merge 2023-05-09 11:00:35 +02:00
Mattia Giambirtone 42ba738620
Added 'is' identity operator and implemented equality for booleans 2023-05-01 16:37:33 +02:00
Mattia Giambirtone de9b51152e
Fixed issue with resuming from incremental compilation 2023-05-01 16:27:00 +02:00
Mattia Giambirtone dc195409c9
Removed old note about pointer tagging 2023-05-01 16:07:41 +02:00
Mattia Giambirtone cd853bb140 Reverted variable hoisting and fixed minor issue during name resolution. Updated comments 2023-05-01 15:30:55 +02:00
Mattia Giambirtone a706fdad7a
Made VM helpers pure 2023-03-27 19:14:22 +02:00
Mattia Giambirtone a7899e8473
Fixed bug with globals and hoisted global declarations 2023-03-27 19:08:58 +02:00
Mattia Giambirtone 3e9b84fb4f
Got rid of pointer tagging (was probably useless) 2023-03-27 18:33:00 +02:00
Mattia Giambirtone 2d9a6b9a8d
Incremental compilation now works in the REPL 2023-03-27 17:57:18 +02:00
Mattia Giambirtone 97698b28af Initial work on fixing lambdas and minor improvements to error reporting 2023-03-04 12:13:19 +01:00
Mattia Giambirtone f4752a9f7c Added pointer tagging to GC to resolve potential memory leak 2023-02-25 17:35:57 +01:00
Mattia Giambirtone f2dbfcbd0a Simplified GC implementation by removing unnecessary metadata 2023-02-25 16:17:38 +01:00
Mattia Giambirtone ace04ee34c Minor additions and cleanup 2023-01-17 12:53:23 +01:00
Mattia Giambirtone dc393bbb34 Initial work on multi-backend support 2022-12-15 11:48:43 +01:00
Mattia Giambirtone f1875736e3 Added switch statements 2022-12-07 09:15:29 +01:00
Mattia Giambirtone 01355fdaba Minor fixes and changes 2022-12-05 19:19:38 +01:00
Mattia Giambirtone 21738b9382 Removed broken closure implementation, changed local resolution mechanism, many bug fixes to namespaces and tests 2022-12-04 16:54:28 +01:00
Mattia Giambirtone 142e575497 Fixes to function calls and attempt to fix closures inside variables 2022-12-02 13:35:54 +01:00
Mattia Giambirtone 7ab757074f Added attribute resolution, fixed closures, fixed cross-shadowing issues 2022-11-27 13:39:41 +01:00
Mattia Giambirtone b589f8109a Added missing files 2022-11-23 09:29:42 +01:00
Mattia Giambirtone 9567319c40 Major error formatting refactoring. Improved warning system 2022-11-23 01:02:35 +01:00
Mattia Giambirtone 6f444582a4 Improved GC debugging 2022-11-05 09:23:51 +01:00
Mattia Giambirtone d09b72694e Fixed GC issues 2022-11-05 09:14:18 +01:00
Mattia Giambirtone 709b40341c Fix typo 2022-11-04 15:33:07 +01:00
Mattia Giambirtone 1e29796278 Simplified reallocate() and more failed attempts at fixing GC issues 2022-11-04 15:30:22 +01:00
Mattia Giambirtone 55a112a1ab Attempts at fixing GC issues 2022-11-03 10:55:27 +01:00
Mattia Giambirtone c1deebf43b Stopped using ref objects and removed recursive dependency between gc and VM 2022-11-02 13:16:43 +01:00
Mattia Giambirtone dc626a90d9 Improved VM debugger, fixed bugs with fixing CFI offsets, minor docs and code changes 2022-10-24 13:53:27 +02:00
Mattia Giambirtone 6c305d6382 Disabled the GC in the entire VM module and updated config.nim 2022-10-21 19:50:07 +02:00
Mattia Giambirtone 9573769868 Various fixes to module system 2022-10-21 16:10:00 +02:00
Mattia Giambirtone 1c54243d43 Various bug fixes to scopes 2022-10-17 12:03:27 +02:00
Mattia Giambirtone c7893fb14b Fixed issues with negative numbers and infinity. Variables can now accept function expressions as type arguments. Compiler.infer() now always returns a concrete type, minor bug fix in varDecl 2022-10-13 18:34:11 +02:00
Mattia Giambirtone d4d1034cef Return addresses are now 64 bits long, return statements now compile to jumps, initial (broken) work on generics 2022-10-13 13:12:24 +02:00
Mattia Giambirtone 61dceab9fd Fixed grammatical error in docs 2022-10-11 09:07:50 +02:00
Mattia Giambirtone 15f3143599 Removed makefile + minor fixes 2022-10-11 09:07:25 +02:00
Mattia Giambirtone 3e6e9da475 Fixed a bug where regular functions were mistaken for closures 2022-10-08 15:48:26 +02:00
Mattia Giambirtone 66cd6be0be Minor additions/changes 2022-10-08 15:21:13 +02:00
Mattia Giambirtone 11c8c0a5ab Definitive fix for closures 2022-10-08 09:18:35 +02:00
Mattia Giambirtone fc74bab529 Minor fix to the VM and updated closures test 2022-10-07 16:27:08 +02:00
Mattia Giambirtone e759e6cbb2 Various fixes to closures. Fixed chained calls and local scopes 2022-10-07 15:55:41 +02:00
Mattia Giambirtone 9c878e5b9e Fix some stuff? 2022-10-06 00:21:25 +02:00
Mattia Giambirtone c230142378 Broken work with closures and chained calls 2022-08-30 12:55:14 +02:00
Mattia Giambirtone 85de75a50a It is now possible to close over function arguments 2022-08-19 12:16:40 +02:00
Mattia Giambirtone 4fdd90614a Various fixes to the GC, added a few more tests 2022-08-18 19:18:29 +02:00
Mattia Giambirtone 95315a0094 Minor changes and fixes 2022-08-18 11:15:55 +02:00
Mattia Giambirtone ae6da275fa Implement a M&S collector 2022-08-18 03:17:52 +02:00