Commit Graph

95 Commits

Author SHA1 Message Date
Mattia Giambirtone c1a2c9bc55
Updates to README. Cleanup & refactoring 2023-10-01 13:16:40 +02:00
Mattia Giambirtone 88073194f2
Fixed test suite and added test suite runner. Also yeeted templates 2023-07-04 14:33:32 +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 f0ae805773
Added test for type casts 2023-06-01 12:57:32 +02:00
Mattia Giambirtone 86231291c4
Fixed bugs with globals and added related test 2023-05-23 12:10:30 +02:00
Mattia Giambirtone 40d0f23135
Fixed various bugs related to lambdas and imports. Added module info section to bytecode dumps 2023-05-22 12:57:38 +02:00
Mattia Giambirtone 7bae3ad249
Minor fix in handleBuiltinFunction() (whoopsie) 2023-05-01 16:46:58 +02:00
Mattia Giambirtone 2a11a52aa6 Added lambda test 2023-03-05 16:50:14 +01:00
Mattia Giambirtone f2dbfcbd0a Simplified GC implementation by removing unnecessary metadata 2023-02-25 16:17:38 +01:00
Mattia Giambirtone f10d813414 Added visibility checks to forward declarations 2023-01-24 12:08:29 +01:00
Mattia Giambirtone f86925edba Minor improvements to warning messages 2022-12-09 13:40:02 +01:00
Mattia Giambirtone f1875736e3 Added switch statements 2022-12-07 09:15:29 +01:00
Mattia Giambirtone af3c7234be Added template support and related test 2022-12-06 12:55:17 +01:00
Mattia Giambirtone 405c47cd56 Updated comparisons test to always print true 2022-12-06 11:13:13 +01:00
Mattia Giambirtone 70cfb0d89c More bug fixing, added extra test 2022-12-06 10:59:05 +01:00
Mattia Giambirtone 01355fdaba Minor fixes and changes 2022-12-05 19:19:38 +01:00
Mattia Giambirtone 7ebd13f739 Fixed bugs in automatic types 2022-12-05 17:09:09 +01:00
Mattia Giambirtone 572443a988 Added support for automatic types 2022-12-05 12:06:24 +01:00
Mattia Giambirtone c0f358e956 Fixed bugs with blocks 2022-12-05 08:47:14 +01:00
Mattia Giambirtone 4b6d86ad8e Added named blocks 2022-12-05 08:07:37 +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 8fb90bb0ef Many fixes to generics 2022-12-01 22:04:10 +01:00
Mattia Giambirtone 63cdda42ce Added tagged type unions, moved intrinsics to peon's stdlib and fixed issues with generics and parametric polymorphism 2022-11-29 16:48:05 +01:00
Mattia Giambirtone d9570d4393 Fixed bug with return statement and updates tests 2022-11-28 19:03:08 +01:00
Mattia Giambirtone 0ed67cff1b Minor update to generics2 test 2022-11-28 18:27:04 +01:00
Mattia Giambirtone 540feb0c91 Implemented ACTUAL parametric polymorphism 2022-11-28 18:21:38 +01:00
Mattia Giambirtone 8b0d6b7ebe Updated namespaces test and stdlib 2022-11-28 13:42:12 +01:00
Mattia Giambirtone de981a2ec6 Added test for namespace shadowing 2022-11-27 14:34:09 +01:00
Mattia Giambirtone 582d29d149 Fixed issues with shadowing and cross-shadowing 2022-11-27 14:33:45 +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 b93ac201f2 Fixed all bugs: test suite is passing 2022-11-05 14:27:57 +01:00
Mattia Giambirtone d048870165 Added test for forward declaration 2022-11-05 14:04:08 +01:00
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