Commit graph

42 commits

Author SHA1 Message Date
Shautvast
d8079f34f6 better implementation for if/else 2025-11-17 10:44:51 +01:00
Shautvast
8c728f6acb range loop working 2025-11-17 07:11:38 +01:00
Shautvast
db183e95c4 if-else and more tests 2025-11-15 13:34:05 +01:00
Shautvast
1a8f4660b2 a very simple if expression 2025-11-15 12:48:38 +01:00
Shautvast
0bce2ae9eb fix reassignment bugs 2025-11-14 17:37:22 +01:00
Shautvast
44f063fb6b fix issues with arguments for builtin functions 2025-11-14 11:50:20 +01:00
Shautvast
d2106ccf96 repl keeps its state 2025-11-13 10:49:28 +01:00
Shautvast
bcd81677bb all clippys done 2025-11-12 13:00:41 +01:00
Shautvast
0e919983bd all clippys done 2025-11-11 13:12:38 +01:00
Shautvast
827a401fbc clippy's 2025-11-10 22:26:05 +01:00
Shautvast
f7230a30f4 refactored a bit so that the file will not grow out of bounds 2025-11-10 18:23:47 +01:00
Shautvast
1315b2878a added support for builtin functions and added some for strings 2025-11-10 18:12:09 +01:00
Shautvast
b83c4bb0cc type checking on constructor arguments 2025-11-10 15:24:31 +01:00
Shautvast
0945d385d0 object instantiation 2025-11-10 15:10:36 +01:00
Shautvast
cbc7f6ce7a type inference and building the symbol table earlier in the process. Not perfect: duplicated code, no namespaces of the names in the table 2025-11-10 10:42:53 +01:00
Shautvast
9ee8f193aa bugfix list index 2025-11-09 22:15:54 +01:00
Shautvast
61b9d86aa2 Indexing into lists/maps.
First test with literal list completed. When it's assigned to a var if fails
2025-11-09 21:57:13 +01:00
Shautvast
9b6f265c55 added a lot of work in progress, but also a symbol table. Means I could refactor a lot of stuff and remove code. The symbol table is a global storage for vars, functions and objects. Helps with type inference and checking on external symbols 2025-11-08 21:58:19 +01:00
Shautvast
2b3b8d4bb3 external function calling 2025-11-07 20:49:45 +01:00
Shautvast
24a852f125 instantly refreshable code. untested, but it compiles 2025-11-06 20:52:09 +01:00
Shautvast
3142e59450 support for injected request args (path, query, headers) 2025-11-03 22:07:00 +01:00
Shautvast
b95097834f pass on http request 2025-11-03 19:17:34 +01:00
Shautvast
b397c4680e better mapping of urls to functions 2025-11-03 19:08:49 +01:00
Shautvast
de9f55842c generic support for line numbers in error messages 2025-11-02 13:02:10 +01:00
Shautvast
8234e9d50a all found issues fixed. got rid of some stupid mistakes 2025-11-02 10:17:19 +01:00
Shautvast
c63cf3777f first issue fixed 2025-11-01 18:02:58 +01:00
Shautvast
55a30afd06 switched to thiserror for better error handling 2025-11-01 09:36:09 +01:00
Shautvast
0bd6048083 added maps, objects
better namespace resolution
2025-10-31 19:37:45 +01:00
Shautvast
3118ce97b0 tests 2025-10-30 13:50:28 +01:00
Shautvast
ddd7bd4472 correct naming resolution for called functions, including namespaces 2025-10-29 22:41:20 +01:00
Shautvast
c77a602545 switch to storing function name index instead of function index 2025-10-29 17:30:09 +01:00
Shautvast
d856452c76 before better function hierarchy 2025-10-29 17:09:02 +01:00
Shautvast
a8850cc547 implemented list literals including operations on lists
experimenting with arenas
2025-10-28 07:27:16 +01:00
Shautvast
84835da814 function calls, with arguments 2025-10-27 20:31:27 +01:00
Shautvast
96839158fa switched to building AST to do static type checking 2025-10-26 08:56:12 +01:00
Shautvast
f6b3b0a39a my first macro 2025-10-22 17:13:49 +02:00
Shautvast
5243e46dce runtime type checking 2025-10-22 16:54:51 +02:00
Shautvast
e2ddf94a00 first step in type checking 2025-10-22 16:14:38 +02:00
Shautvast
1d58725559 variable declarations 2025-10-21 18:33:07 +02:00
Shautvast
6dd22f5e4e print statements 2025-10-21 16:27:26 +02:00
Shautvast
215ffb298e comparisons 2025-10-20 21:14:22 +02:00
Shautvast
774df709e2 moved vm to vm.rs 2025-10-20 20:42:42 +02:00