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 |
Mattia Giambirtone
|
36970e493b
|
Slotted in JAPL's old memory manager and fixed strings. Preliminary work for GC
|
2022-08-17 22:35:32 +02:00 |
Mattia Giambirtone
|
47a6f16664
|
Even more cleanup. Added ✨pretty colors✨ to the VM's debugger
|
2022-08-17 20:40:34 +02:00 |
Mattia Giambirtone
|
77fd5931fa
|
Further clean up
|
2022-08-17 19:31:27 +02:00 |
Mattia Giambirtone
|
f7733d925f
|
Cleaned up and renamed some things
|
2022-08-17 19:23:11 +02:00 |
Mattia Giambirtone
|
19a089f4a2
|
Move towards unboxed types in the Peon VM
|
2022-08-17 17:31:15 +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
|
7ef5b4dfbf
|
Fixed some issues with strings and added debug print to fibonacci test
|
2022-08-15 17:20:09 +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
|
67b44dbfc9
|
Added support for GenericPrint opcode
|
2022-08-01 10:44:38 +02:00 |
Mattia Giambirtone
|
ff0ae8fcba
|
Various fixes to frames, recursion, and more. Removed stack bottom from CFI data. Added comparison opcode for fib test as well as a clock opcode
|
2022-08-01 10:38:51 +02:00 |
Mattia Giambirtone
|
6116c127c6
|
Moved for peon types to its own module, added support for negating primitives in the compiler and for floats in the VM, added some more docs to the VM and restored the old empty-jump mechanism for closure declaration. Minor changes to endScope
|
2022-07-10 13:19:57 +02:00 |
Mattia Giambirtone
|
cc0aab850e
|
Simplified calling convention, added for PeonObject, added some comments, fixed bug with StoreVar in stack frames, fixed issues with functions assigned to variables, changed the way closures are emitted so that empty jumps are no longer needed
|
2022-07-09 12:47:53 +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
|
4591e5ca0e
|
Added built-in operators as a single instruction (src/peon/stdlib/arithmetics.pn is now fully functional)
|
2022-06-14 18:10:13 +02:00 |
Mattia Giambirtone
|
5d572386a3
|
Initial work on pragma handling (+ some parser fixes). Changed the way the lexer handles indentation and made tabs illegal. Added instructions for some operations on primitive types, removed file argument from serializer
|
2022-06-14 12:12:56 +02:00 |
Mattia Giambirtone
|
d241333047
|
Initial work on closures (again?)
|
2022-06-13 17:28:05 +02:00 |
Mattia Giambirtone
|
02f1f8a54d
|
Various style fixes with nil checks, added PushC opcode, added support for calling function objects
|
2022-06-13 15:04:53 +02:00 |
Mattia Giambirtone
|
1d228c6310
|
Fixed logic bug within if/else construct
|
2022-06-02 12:19:18 +02:00 |
Mattia Giambirtone
|
dfa42d994b
|
Fixed if/else
|
2022-06-02 12:05:22 +02:00 |
Mattia Giambirtone
|
e9cb3fca89
|
Fixed local variables
|
2022-06-02 11:45:27 +02:00 |
Mattia Giambirtone
|
099f733db6
|
Initial work on a two-stack design
|
2022-06-02 01:33:56 +02:00 |