This website requires JavaScript.
63cdda42ce
Added tagged type unions, moved intrinsics to peon's stdlib and fixed issues with generics and parametric polymorphism
Mattia Giambirtone
2022-11-29 16:48:05 +0100
382a6c141b
Updated README
Mattia Giambirtone
2022-11-28 19:04:19 +0100
d9570d4393
Fixed bug with return statement and updates tests
Mattia Giambirtone
2022-11-28 19:03:08 +0100
58b5d07dd6
Typo
Mattia Giambirtone
2022-11-28 18:30:19 +0100
0ed67cff1b
Minor update to generics2 test
Mattia Giambirtone
2022-11-28 18:27:04 +0100
540feb0c91
Implemented ACTUAL parametric polymorphism
Mattia Giambirtone
2022-11-28 18:21:38 +0100
62b8bae0fc
Generics are now compiled only once
Mattia Giambirtone
2022-11-28 16:47:38 +0100
2187aa19d8
Minor fixes and changes, renamed nodump option to noDump, added missing support for mode flag. Minor additions and style fixes to parser and compiler
Mattia Giambirtone
2022-11-28 14:04:12 +0100
8b0d6b7ebe
Updated namespaces test and stdlib
Mattia Giambirtone
2022-11-28 13:42:12 +0100
de981a2ec6
Added test for namespace shadowing
Mattia Giambirtone
2022-11-27 14:34:09 +0100
582d29d149
Fixed issues with shadowing and cross-shadowing
Mattia Giambirtone
2022-11-27 14:31:53 +0100
7ab757074f
Added attribute resolution, fixed closures, fixed cross-shadowing issues
Mattia Giambirtone
2022-11-27 13:39:41 +0100
b99be47556
Added compilation mode flag
Mattia Giambirtone
2022-11-23 10:40:45 +0100
ab30d0d891
Assignment now checks the type of the operand against the assignee
Mattia Giambirtone
2022-11-23 09:43:22 +0100
b589f8109a
Added missing files
Mattia Giambirtone
2022-11-23 09:29:42 +0100
9567319c40
Major error formatting refactoring. Improved warning system
Mattia Giambirtone
2022-11-23 01:02:35 +0100
43d67562f1
Added more warnings
Mattia Giambirtone
2022-11-22 15:27:32 +0100
a3b4fd1048
Initial warning support
Mattia Giambirtone
2022-11-22 15:13:42 +0100
61aee1c0c4
Branch name is now filled in automatically in config.nim
Mattia Giambirtone
2022-11-05 16:41:32 +0100
29b6aeb9f3
Updated README
Mattia Giambirtone
2022-11-05 14:33:19 +0100
edb6fdb7e6
Fixed TODO list for gitea's gay markdown renderer
Mattia Giambirtone
2022-11-05 14:31:52 +0100
b93ac201f2
Fixed all bugs: test suite is passing
Mattia Giambirtone
2022-11-05 14:27:57 +0100
d048870165
Added test for forward declaration
Mattia Giambirtone
2022-11-05 14:04:08 +0100
ce136a7a3c
Implemented forward declarations
Mattia Giambirtone
2022-11-05 14:03:49 +0100
26e16e7f8e
Reverted to old style REPL and added note in the README
Mattia Giambirtone
2022-11-05 12:38:05 +0100
3dead5a555
Fixed various bugs and added more tests. Also added nim.cfg
Mattia Giambirtone
2022-11-05 10:57:28 +0100
6f444582a4
Improved GC debugging
Mattia Giambirtone
2022-11-05 09:23:51 +0100
d09b72694e
Fixed GC issues
Mattia Giambirtone
2022-11-05 09:14:18 +0100
709b40341c
Fix typo
Mattia Giambirtone
2022-11-04 15:33:07 +0100
1e29796278
Simplified reallocate() and more failed attempts at fixing GC issues
Mattia Giambirtone
2022-11-04 15:30:22 +0100
e09db61bc6
Fixed support for type declarations in the parser
Mattia Giambirtone
2022-11-04 14:56:42 +0100
31a995b0d8
Switched from TableRef to array for OperatorTable
Mattia Giambirtone
2022-11-03 13:04:01 +0100
159530072b
Minor fix to getStackPos. Git commit hash is now auto filled in config.nim
Mattia Giambirtone
2022-11-03 12:30:25 +0100
28798789dd
Updated config.nim
Mattia Giambirtone
2022-11-03 11:01:40 +0100
5e1c16bb39
Renamed lookupPaths to moduleLookupPaths
Mattia Giambirtone
2022-11-03 11:01:28 +0100
55a112a1ab
Attempts at fixing GC issues
Mattia Giambirtone
2022-11-03 10:55:27 +0100
c1deebf43b
Stopped using ref objects and removed recursive dependency between gc and VM
Mattia Giambirtone
2022-11-02 13:16:43 +0100
e046981f4b
Fix for closures
Mattia Giambirtone
2022-11-02 12:03:14 +0100
b903005504
Initial work on fixing calling functions assigned to variables
Mattia Giambirtone
2022-10-25 11:17:38 +0200
dc626a90d9
Improved VM debugger, fixed bugs with fixing CFI offsets, minor docs and code changes
Mattia Giambirtone
2022-10-24 13:53:27 +0200
6c305d6382
Disabled the GC in the entire VM module and updated config.nim
Mattia Giambirtone
2022-10-21 19:50:07 +0200
9573769868
Various fixes to module system
Mattia Giambirtone
2022-10-21 16:10:00 +0200
1c54243d43
Various bug fixes to scopes
Mattia Giambirtone
2022-10-17 12:03:27 +0200
11f725e176
Added new modular standard library
Mattia Giambirtone
2022-10-17 11:28:54 +0200
d33a597f19
Massive improvements to import system (added export statement, initial work on namespaces, module names can now be paths, added module search paths)
Mattia Giambirtone
2022-10-17 11:28:00 +0200
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
Mattia Giambirtone
2022-10-13 18:34:11 +0200
8667cbdceb
Initial ground work on generics, some stuff is broken :(
Mattia Giambirtone
2022-10-13 16:52:37 +0200
d4d1034cef
Return addresses are now 64 bits long, return statements now compile to jumps, initial (broken) work on generics
Mattia Giambirtone
2022-10-13 13:12:24 +0200
807b48bac9
Renamed compareTypes to compare
Mattia Giambirtone
2022-10-11 10:01:01 +0200
c168d1584b
Updated compiler error messages and Generic type object, minor name changes
Mattia Giambirtone
2022-10-11 09:56:55 +0200
9ef80535f3
Minor fixes to operator system and updated compiler error messages
Mattia Giambirtone
2022-10-11 09:52:49 +0200
318f09541a
Fixed config.nim
Mattia Giambirtone
2022-10-11 09:36:33 +0200
61dceab9fd
Fixed grammatical error in docs
Mattia Giambirtone
2022-10-11 09:07:50 +0200
15f3143599
Removed makefile + minor fixes
Mattia Giambirtone
2022-10-11 09:07:25 +0200
3e6e9da475
Fixed a bug where regular functions were mistaken for closures
Mattia Giambirtone
2022-10-08 15:48:26 +0200
ca5a1c1bc9
Updated config.nim
Mattia Giambirtone
2022-10-08 15:21:32 +0200
66cd6be0be
Minor additions/changes
Mattia Giambirtone
2022-10-08 15:21:13 +0200
11c8c0a5ab
Definitive fix for closures
Mattia Giambirtone
2022-10-08 09:18:35 +0200
fc74bab529
Minor fix to the VM and updated closures test
Mattia Giambirtone
2022-10-07 16:27:08 +0200
e759e6cbb2
Various fixes to closures. Fixed chained calls and local scopes
Mattia Giambirtone
2022-10-07 15:55:41 +0200
a4bccba6cd
Various fixes to closures and function objects
Mattia Giambirtone
2022-10-06 09:57:19 +0200
9c878e5b9e
Fix some stuff?
Mattia Giambirtone
2022-10-06 00:21:25 +0200
c230142378
Broken work with closures and chained calls
Mattia Giambirtone
2022-08-30 12:55:14 +0200
85de75a50a
It is now possible to close over function arguments
Mattia Giambirtone
2022-08-19 10:45:07 +0200
885d6e3ea8
Fixed a bug in the type system with consecutive calls
Mattia Giambirtone
2022-08-19 09:08:49 +0200
66b409bbd4
Updated config.nim
Mattia Giambirtone
2022-08-19 08:53:49 +0200
058b021493
Fixed some bugs with void functions in the compiler
Mattia Giambirtone
2022-08-18 23:49:20 +0200
d1a0005f7e
Updated README
Mattia Giambirtone
2022-08-18 22:09:33 +0200
0b60b327ce
Removed unnecessary file
Mattia Giambirtone
2022-08-18 22:08:00 +0200
8e53b19233
Various parser adjustments and compiler fixes
Mattia Giambirtone
2022-08-18 22:07:46 +0200
4fdd90614a
Various fixes to the GC, added a few more tests
Mattia Giambirtone
2022-08-18 19:18:29 +0200
95315a0094
Minor changes and fixes
Mattia Giambirtone
2022-08-18 11:15:55 +0200
ae6da275fa
Implement a M&S collector
Mattia Giambirtone
2022-08-18 03:17:52 +0200
36970e493b
Slotted in JAPL's old memory manager and fixed strings. Preliminary work for GC
Mattia Giambirtone
2022-08-17 22:35:21 +0200
096bfaf662
More changes to the README because yes
Mattia Giambirtone
2022-08-17 21:10:55 +0200
fd90d08688
Fixed wording
Mattia Giambirtone
2022-08-17 20:55:00 +0200
bcf30213f5
Fixed typos
Mattia Giambirtone
2022-08-17 20:54:35 +0200
55966ba93c
Updated docs and README
Mattia Giambirtone
2022-08-17 20:52:23 +0200
47a6f16664
Even more cleanup. Added ✨ pretty colors✨ to the VM's debugger
Mattia Giambirtone
2022-08-17 20:40:34 +0200
77fd5931fa
Further clean up
Mattia Giambirtone
2022-08-17 19:31:27 +0200
f7733d925f
Cleaned up and renamed some things
Mattia Giambirtone
2022-08-17 19:23:11 +0200
19a089f4a2
Move towards unboxed types in the Peon VM
Mattia Giambirtone
2022-08-17 17:31:15 +0200
fc14cfec2d
Added chained imports test
Mattia Giambirtone
2022-08-16 14:23:49 +0200
9a19fad1ad
More fixes to the import system and incremental compilation
Mattia Giambirtone
2022-08-16 13:37:09 +0200
3636c74a6a
WIP for importing the same module multiple times and other failed fixes
Mattia Giambirtone
2022-08-16 13:11:09 +0200
13b432b2d2
Basic support for actual incremental compilation
Mattia Giambirtone
2022-08-16 12:20:07 +0200
26c55c403e
Removed debugging echo
Mattia Giambirtone
2022-08-15 22:34:08 +0200
626375bc1f
Added all missing comparison operators and fixed error reporting system
Mattia Giambirtone
2022-08-15 22:15:06 +0200
5dc8ce437c
Expanded comparison test and fixed some typos/mistakes
Mattia Giambirtone
2022-08-15 20:09:54 +0200
70a5f9dcd3
Fixed issues with '>', thanks Nim...
Mattia Giambirtone
2022-08-15 19:52:06 +0200
0861135e7f
Initial work on a stdlib of sorts, added comparison operators and refactored tests
Mattia Giambirtone
2022-08-15 19:07:06 +0200
7c8ec4bc6c
Deleted standalone fibonacci test
Mattia Giambirtone
2022-08-15 17:20:21 +0200
7ef5b4dfbf
Fixed some issues with strings and added debug print to fibonacci test
Mattia Giambirtone
2022-08-15 17:20:09 +0200
edef50deca
Made exception handling in main.nim module-aware and did some minor refactoring
Mattia Giambirtone
2022-08-15 11:46:24 +0200
39a84182b0
Fixed name resolution error in findByName
Mattia Giambirtone
2022-08-14 19:51:12 +0200
c85fff8f67
Initial tests for an import system
Mattia Giambirtone
2022-08-14 18:37:06 +0200
f50dd66741
Minor documentation additions
Mattia Giambirtone
2022-08-04 17:48:56 +0200
da651355b9
Added a few more tests
Mattia Giambirtone
2022-08-01 13:16:07 +0200
a370961218
Removed debug print
Mattia Giambirtone
2022-08-01 11:36:23 +0200
0fdddbfda4
Fixed fib to work again
Mattia Giambirtone
2022-08-01 11:35:45 +0200