Commit graph

143 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
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
999cd062f0
Move all .el files to emacs/ directory 2024-10-12 19:49:54 +01:00
13db2dd4b9
Add a simple and hacky implemenation of org-babel mode 2024-10-12 19:13:42 +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
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