Commit graph

37 commits

Author SHA1 Message Date
9501dea85a
Temporarily revert the support for redefining variables in the body
The current implementation appears to be buggy. Need to investigage
how to do it properly.
2024-10-13 21:58:41 +01:00
353102f8cd
Allow redefining local variables with "fn" 2024-10-10 20:12:23 +01:00
58af636293
Allow defining and redefining local variables with "def" 2024-10-10 18:57:06 +01:00
6b8651145e
Implement "do" form 2024-10-10 18:26:37 +01:00
be4224a22b
Implement exception guards and serialization/deserialization 2024-10-05 20:55:46 +01:00
a81b54a37a
Implement "set" function for arrays 2024-09-18 20:02:56 +01:00
b967aa6768
Implement "set" function in the stdlib 2024-09-18 19:53:12 +01:00
2e37e4160d
Add a simple test for the map function 2024-09-15 16:23:57 +01:00
b63b17ed5a
Compile syntax expressions 2024-09-09 22:56:06 +01:00
0b62026d27
Implement simple quotation (no unquote yet though) 2024-09-07 20:31:39 +01:00
c194a34efb
Add self-evaluating symbols that start with ":" 2024-09-04 23:24:12 +01:00
8515d45b1e
Use recursion for reading lists 2024-09-04 23:18:57 +01:00
0a13bbeb6d
Add collections test 2024-09-02 09:29:32 +01:00
908b896d43
Implement defining top-level variables including in REPL 2024-09-01 23:45:20 +01:00
6a5aad3ae9
Fix dict tests 2024-09-01 23:11:53 +01:00
3999ef97ff
Register function into globals even if it's a closure 2024-09-01 18:04:12 +01:00
4ab6142ca5
Propagate closures across multiple function calls 2024-08-31 18:10:17 +01:00
51dfe6ac5a
A few simplifications of object conversion 2024-08-31 17:30:10 +01:00
82b75e1448
Simplify compiler a bit by removing unneeded casts 2024-08-29 23:14:33 +01:00
2e62a67490
Implement "let" construct in the compiler 2024-08-28 23:57:01 +01:00
bb5e124706
Fix a typo in the logic test 2024-08-27 23:20:01 +01:00
13f66aea14
Add more numeric test cases 2024-08-27 23:00:37 +01:00
b23eb26ffe
Add primitive logic operations: "and", "or", "not" 2024-08-27 22:31:13 +01:00
66dbd53dda
Implement writing tests in Valeri itself 2024-08-27 20:39:13 +01:00
3a117c9b1f
Enable execution of primitive arithmetic bytecode 2024-08-13 01:11:23 +01:00
4c7b44ff01
Stop passing arena explicitly 2024-08-09 23:45:06 +01:00
0924692d4b
Fix the name of symbol test 2024-08-04 01:03:34 +01:00
ae6f86e4f7
Add symbol comparison and test for it 2024-08-04 01:03:01 +01:00
7bcd6afeb2
Add simple array test 2024-08-04 00:33:17 +01:00
b0166cc7da
Add test for dictionary "get()" 2024-08-03 18:53:14 +01:00
a52e4d278c
Add empty dict test 2024-08-03 16:02:09 +01:00
07e2b44657
Reading back dicts 2024-08-03 13:43:59 +01:00
1f14624664
Garbage-collect dictionaries properly 2024-08-03 02:54:53 +01:00
737dc03054
Cleaner test setup 2024-08-02 23:27:36 +01:00
216fb486cd
Dictionary writing + insert 2024-08-01 22:45:16 +01:00
a3724e1c78
Add dicts and super primitive test suite 2024-08-01 18:56:38 +01:00
8ff01726cc
Initial commit - add basic boilerplate for POD types 2024-07-19 02:29:30 +01:00