Commit Graph

60 Commits

Author SHA1 Message Date
Mattia Giambirtone 3dead5a555 Fixed various bugs and added more tests. Also added nim.cfg 2022-11-05 10:57:45 +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 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 e046981f4b Fix for closures 2022-11-02 12:03:14 +01:00
Mattia Giambirtone b903005504 Initial work on fixing calling functions assigned to variables 2022-10-25 11:17:38 +02: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 9573769868 Various fixes to module system 2022-10-21 16:10:00 +02:00
Mattia Giambirtone d33a597f19 Massive improvements to import system (added export statement, initial work on namespaces, module names can now be paths, added module search paths) 2022-10-17 11:28:00 +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 8667cbdceb Initial ground work on generics, some stuff is broken :( 2022-10-13 16:52:37 +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 9ef80535f3 Minor fixes to operator system and updated compiler error messages 2022-10-11 09:52:49 +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 a4bccba6cd Various fixes to closures and function objects 2022-10-06 09:57:19 +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 058b021493 Fixed some bugs with void functions in the compiler 2022-08-18 23:49:20 +02:00
Mattia Giambirtone 0b60b327ce Removed unnecessary file 2022-08-18 22:08:00 +02:00
Mattia Giambirtone 8e53b19233 Various parser adjustments and compiler fixes 2022-08-18 22:07:46 +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 19a089f4a2 Move towards unboxed types in the Peon VM 2022-08-17 17:31:15 +02:00
Mattia Giambirtone fc14cfec2d Added chained imports test 2022-08-16 14:23:58 +02:00
Mattia Giambirtone 3636c74a6a WIP for importing the same module multiple times and other failed fixes 2022-08-16 13:11:09 +02:00
Mattia Giambirtone 13b432b2d2 Basic support for actual incremental compilation 2022-08-16 12:20:17 +02:00
Mattia Giambirtone 626375bc1f Added all missing comparison operators and fixed error reporting system 2022-08-15 22:15:06 +02:00
Mattia Giambirtone 5dc8ce437c Expanded comparison test and fixed some typos/mistakes 2022-08-15 20:09:54 +02:00
Mattia Giambirtone 70a5f9dcd3 Fixed issues with '>', thanks Nim... 2022-08-15 19:52:06 +02:00
Mattia Giambirtone 0861135e7f Initial work on a stdlib of sorts, added comparison operators and refactored tests 2022-08-15 19:07:37 +02:00
Mattia Giambirtone 7c8ec4bc6c Deleted standalone fibonacci test 2022-08-15 17:20:21 +02:00
Mattia Giambirtone 7ef5b4dfbf Fixed some issues with strings and added debug print to fibonacci test 2022-08-15 17:20:09 +02:00
Mattia Giambirtone edef50deca Made exception handling in main.nim module-aware and did some minor refactoring 2022-08-15 11:46:24 +02:00
Mattia Giambirtone c85fff8f67 Initial tests for an import system 2022-08-14 18:37:17 +02:00
Mattia Giambirtone f50dd66741 Minor documentation additions 2022-08-04 17:48:56 +02:00
Mattia Giambirtone da651355b9 Added a few more tests 2022-08-01 13:16:07 +02:00
Mattia Giambirtone b4628109ce Fixed a bug with nested scopes 2022-07-31 16:40:47 +02:00
Mattia Giambirtone 33066d3b9b Fixed bug with calling a call 2022-07-31 16:09:22 +02:00
Mattia Giambirtone 70c839f5b8 Updated closures test 2022-07-10 15:07:57 +02:00
Mattia Giambirtone 39d1eab234 Temporary fix for not closing over function arguments 2022-07-10 15:07:44 +02:00
Mattia Giambirtone e38610fdbd Updated Makefile 2022-07-09 16:25:19 +02:00
Mattia Giambirtone 7ac322e58c Updated .gitignore 2022-07-09 13:37:51 +02:00
Mattia Giambirtone f32a45c8d8 Added test for scopes 2022-07-09 13:37:16 +02:00
Mattia Giambirtone 3f5f514259 Fixed some issued with scoping and globals 2022-07-09 13:36:29 +02:00
Mattia Giambirtone 95880b7ba2 Updated .gitignore, slightly edited README and added some more tests 2022-06-19 14:45:38 +02:00
Mattia Giambirtone 6f60f76270 More fixes for assigning builtin functions to variables 2022-06-14 23:34:42 +02:00
Mattia Giambirtone b974ba8ba3 Removed extra bloat 2022-06-14 22:46:55 +02:00