Commit Graph

42 Commits

Author SHA1 Message Date
fd5aad95dc Add iteration (dotimes, dolist, while) 2022-11-16 21:38:01 -05:00
13f6d66d2b Fixes for 'equal' 2022-11-16 21:37:08 -05:00
542366f74e Improve int parsing and allow negatives 2022-11-16 09:52:03 -05:00
41bebd1472 Optimize list appends O(n^2)->O(n) 2022-11-15 23:04:45 -05:00
1595a6310d Minor refactor to parsing and testing cleanup 2022-11-15 22:57:25 -05:00
086d6f9106 Return fewer NULLs in parsing 2022-11-15 15:42:01 -05:00
785dbf06f6 Improve parser errors slightly 2022-11-15 15:18:37 -05:00
583367ee9d Update TODO statuses 2022-11-15 00:15:48 -05:00
af88471b3a Rename 'state' to 'scope' 2022-11-14 23:42:48 -05:00
706b4a586d Add seemingly functional but hacky gc 2022-11-14 22:43:49 -05:00
fbc1055659 Use readline for repl 2022-11-14 22:35:49 -05:00
2af3c15785 Handle division by zero 2022-11-14 22:34:37 -05:00
f13d23c528 Minor SConstruct refactoring 2022-11-14 22:34:16 -05:00
a87cab2452 Add arena allocator 2022-11-14 22:33:56 -05:00
6af4e67309 Add boolean, comparison, and equality functions 2022-11-07 09:18:59 -05:00
4da62ad2da Add mapcar builtin, more tests, fixes 2022-11-05 20:47:33 -04:00
f9ace289f1 Add nth builtin 2022-11-04 22:44:17 -04:00
a5ef5c9fa0 Add printl, car, cdr builtins 2022-11-04 22:22:08 -04:00
2527c34ddf Add quote special form 2022-11-04 22:03:47 -04:00
2344a7d498 Add lambda special form 2022-11-04 21:51:25 -04:00
c37e46e354 Add progn special form 2022-11-04 09:49:37 -04:00
4dab281b1f Add setq special form 2022-11-04 09:34:39 -04:00
d5b1729deb Add function evaluation 2022-11-04 09:16:02 -04:00
ddb5a8f842 Add defun without evaluation 2022-11-03 09:46:23 -04:00
37a614515e Run python 'black' on SConstruct 2022-11-02 21:41:31 -04:00
2cf4cd9587 Add 'list' and 'print' builtins 2022-11-02 21:26:52 -04:00
3b7bef779b Clean up many strdups 2022-11-02 20:36:07 -04:00
9c1a81811c Add more tests for lets with errors 2022-11-02 20:22:32 -04:00
1451970ca8 Add more "integration" tests 2022-11-02 20:16:29 -04:00
6c652b195c WIP: Hack in support for let binds 2022-11-02 11:10:28 -04:00
5dbe3c67af Wire up more builtins and slightly improve printing 2022-10-28 23:45:08 -04:00
d97be8ec4b Refactor with new name uclisp 2022-10-28 23:19:19 -04:00
26a0d17074 Add simple evaluation 2022-10-28 22:29:37 -04:00
ed173bd17a Add error types and simple state 2022-10-28 16:08:40 -04:00
fd91e66b8a Silence warnings for free()s 2022-10-27 16:53:26 -04:00
d81d8c5156 Add lots of utilties, initial builtins 2022-10-27 16:51:21 -04:00
07a486cd16 Implement mostly correct parsing 2022-10-22 16:04:03 -04:00
9f696399be Fix build and minor cleanup 2022-10-14 19:57:44 -04:00
2f8bff9c3b Add initial tokenizer and tests 2022-10-14 19:37:12 -04:00
9cde08b910 Move to scons, add more infra 2022-10-11 22:00:54 -04:00
54f3ff5a67 Add unity submodule 2022-10-09 14:46:27 -04:00
c89a3250e5 Initial commit 2022-10-09 14:34:22 -04:00