|
02d1d51383
|
Get rid of more raw pointer passing
|
2024-11-30 01:39:50 +00:00 |
|
|
4d406a11f7
|
Make memory allocation safer by avoiding passing raw pointers around
|
2024-11-29 23:04:04 +00:00 |
|
|
0ce71beb62
|
Implement tail calls for continuation calling
|
2024-11-03 18:52:50 +00:00 |
|
|
d017884c5b
|
Implement tail calls
|
2024-11-03 18:18:15 +00:00 |
|
|
ab9377fe33
|
Replace the selfcall opcode with "self" to get ref to current fun
|
2024-11-03 00:51:48 +00:00 |
|
|
00c874957b
|
Slightly cleaner returns in stdlib
|
2024-10-15 00:42:08 +01:00 |
|
|
e2247d9bc8
|
Add "task?" predicate
|
2024-10-15 00:28:42 +01:00 |
|
|
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 |
|
|
5f2636c62f
|
Implement reraise correctly: don't destroy the parent frame
|
2024-10-13 20:37:54 +01:00 |
|
|
b9fa84ba0e
|
Implement exception reraising from the guard handler
|
2024-10-13 19:13:33 +01:00 |
|
|
ad4f0a43d4
|
Add support for executing multiline code blocks via comint mode
|
2024-10-12 18:29:49 +01:00 |
|
|
9e45485053
|
Implement a dumb line reader for comint mode
|
2024-10-11 21:44:28 +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 |
|
|
908df85c63
|
Add a simple emacs mode for editing valeri code
|
2024-10-09 00:54:56 +01:00 |
|
|
f4660b6bc1
|
Allow disassembling continuations and stack frames as well
|
2024-10-06 20:06:01 +01:00 |
|
|
a01a4d0574
|
Implement "disassemble" function in stdlib
|
2024-10-06 19:27:05 +01:00 |
|
|
be4224a22b
|
Implement exception guards and serialization/deserialization
|
2024-10-05 20:55:46 +01:00 |
|
|
2e3032ad26
|
Implement "set" function for strings
|
2024-09-30 01:29:35 +01:00 |
|
|
9e8f857836
|
Implement "get" function for strings
|
2024-09-29 22:56:46 +01:00 |
|
|
c097273aec
|
Implement "spit" function to write strings to a file
|
2024-09-29 21:43:23 +01:00 |
|
|
fb2cc0b1f0
|
Implement "slurp" function to read files into a string
|
2024-09-29 20:55:45 +01:00 |
|
|
69e2403c93
|
Allow to create tasks with symbol name in addition to numeric ID
|
2024-09-28 20:09:22 +01:00 |
|
|
4945a86c2e
|
Implement "when" form
|
2024-09-28 20:03:38 +01:00 |
|
|
52eae6b3e3
|
Port print and println to use tasks/continuations
|
2024-09-28 19:43:17 +01:00 |
|
|
cf9aa08aea
|
Implement the first IO function "print" to work via continuations
|
2024-09-28 04:24:37 +01:00 |
|
|
d496a95b51
|
Implement "task" and "task-result" objects for stdlib IO
|
2024-09-27 02:33:41 +01:00 |
|
|
efef0c57ae
|
Implement "raise" function
|
2024-09-24 20:53:26 +01:00 |
|
|
810707b349
|
Rename props->value in continuation object
|
2024-09-24 19:18:01 +01:00 |
|
|
9298e5a65b
|
Add a function for raising errors (first attempt)
|
2024-09-24 18:47:11 +01:00 |
|
|
4a7afa0626
|
Add continuation type
|
2024-09-23 21:23:25 +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 |
|
|
6ff2084d09
|
Increment pc register before doing function call, not after return
|
2024-09-16 22:27:24 +01:00 |
|
|
1733b0e433
|
Fix stdlib value returns
|
2024-09-15 20:09:11 +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 |
|