|
2e37e4160d
|
Add a simple test for the map function
|
2024-09-15 16:23:57 +01:00 |
|
|
049aeef62f
|
Implement a map function that works on lists
|
2024-09-15 16:21:58 +01:00 |
|
|
06149c3d61
|
Make stdlib functions use normal VM stack for parameter passing
|
2024-09-15 15:39:12 +01:00 |
|
|
bb71669c83
|
Implement printing backtraces on VM execution errors
|
2024-09-15 03:32:52 +01:00 |
|
|
6126c7b8eb
|
Put stdlib calls onto the stack as well as normal function calls
|
2024-09-15 02:33:47 +01:00 |
|
|
e9b9ef6d61
|
Extract call() and ret() into the StackFrame from VM
|
2024-09-15 01:43:25 +01:00 |
|
|
51de7e3547
|
Switch the stack frame to store current frame PC instead of parent's
|
2024-09-13 21:15:57 +01:00 |
|
|
f16850d26c
|
Switch to immutable stack frames from array-based stack
|
2024-09-13 00:54:32 +01:00 |
|
|
213ce07f34
|
Turn the stack data structure to hierarchical stack frame
|
2024-09-12 22:43:38 +01:00 |
|
|
b7d51f647f
|
Report errors with syntactic context in the compiler
|
2024-09-11 23:25:17 +01:00 |
|
|
d280c34e66
|
Make errors in REPL more human-readable
|
2024-09-11 01:35:38 +01:00 |
|
|
2bad87d0b0
|
Implement "size" function in stdlib
|
2024-09-10 03:18:00 +01:00 |
|
|
021f645fbf
|
Extract a common interface for Value::size() to get object sizes
|
2024-09-10 02:12:49 +01:00 |
|
|
3c30440d65
|
Add location-aware error reporting function to the compiler
|
2024-09-10 01:42:47 +01:00 |
|
|
b63b17ed5a
|
Compile syntax expressions
|
2024-09-09 22:56:06 +01:00 |
|
|
1958cfb285
|
Report syntax errors when reading in the REPL
|
2024-09-08 02:31:54 +01:00 |
|
|
5cb8921c42
|
Add simple and naive string building functionality
|
2024-09-08 00:52:20 +01:00 |
|
|
0b62026d27
|
Implement simple quotation (no unquote yet though)
|
2024-09-07 20:31:39 +01:00 |
|
|
02dce3e11c
|
Add an error class to represent runtime errors
|
2024-09-07 17:37:12 +01:00 |
|
|
fa4b912b88
|
Remove reduntant syntax_first/syntax_rest (use regular first/rest instead)
|
2024-09-07 12:16:55 +01:00 |
|
|
12509f65df
|
Teach the compiler to handle syntax objects as input
|
2024-09-07 10:45:43 +01:00 |
|
|
4b7d845757
|
Allow reading with preserving source location in syntax objects
|
2024-09-06 23:32:05 +01:00 |
|
|
aa1d8d7fa9
|
Expose the source location class to the compiler/vm
|
2024-09-05 23:22:45 +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 |
|
|
8f10ca2b50
|
Improve support of syntax objects
|
2024-09-03 00:24:44 +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 |
|
|
09693768f8
|
Implement input of dicts and arrays in REPL
|
2024-09-01 23:02:21 +01:00 |
|
|
94b8f21a82
|
Add support for reading arrays
|
2024-09-01 22:37:56 +01:00 |
|
|
3999ef97ff
|
Register function into globals even if it's a closure
|
2024-09-01 18:04:12 +01:00 |
|
|
8816c62a9e
|
Allow creating arrays from code
|
2024-09-01 16:13:28 +01:00 |
|
|
7d160da5d0
|
Implement access to previously defined functions in REPL
|
2024-09-01 14:31:25 +01:00 |
|
|
5279b44441
|
Load from globals only at the top level, do rest with closures
|
2024-08-31 19:42:27 +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 |
|
|
f78b6e67cd
|
Allow creating dicts with "dict" function
|
2024-08-28 21:51:25 +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 |
|
|
781b3865c0
|
Add assert function to stdlib. Useful for tests
|
2024-08-27 20:19:47 +01:00 |
|
|
7ea2c3e193
|
Implement mixed arithmetic with integers and floats
|
2024-08-27 20:15:22 +01:00 |
|
|
f73de2675d
|
Implement proper reading of "nil" in REPL
|
2024-08-26 13:45:13 +01:00 |
|
|
56ccf2b054
|
Handle empty lines in REPL
|
2024-08-26 13:36:01 +01:00 |
|
|
516407f9c2
|
Don't duplicate input line when reading from REPL
|
2024-08-26 13:16:54 +01:00 |
|
|
a3db5aa285
|
Add a simple REPL
|
2024-08-26 13:16:05 +01:00 |
|