Sage Vaillancourt
32e21bf758
Replace (struct's field) with (struct.field)
...
It was cute, but hard to read in space-delimited lists.
Convert (map) to a normal pl function.
Add trueObject() falseObject() macros.
2022-03-31 10:29:10 -04:00
Sage Vaillancourt
158c21f441
Reference count LAMBDAS.
...
Remove more unused code/checks.
Simplify evalList (though it could use more work).
2022-03-26 19:51:52 -04:00
Sage Vaillancourt
5226640fb6
Some stringing cleanup and unused code removal.
2022-03-26 12:54:38 -04:00
Sage Vaillancourt
59c6ff50b5
Break printColored() into own function.
...
Replace (pch) with (ch).
Fix error memory bug.
Add sugar for (? fil) => (? "fil").
Inline some of (fil).
Simplify (print) and allow for varargs.
Total up valgrind errors when testing.
2022-03-25 13:33:30 -04:00
Sage Vaillancourt
097cbf6a5c
Start some internal testing frameworking.
2022-03-21 12:33:57 -04:00
Sage Vaillancourt
4733e1172e
Fix uncaught mismatched paren error.
...
Add test against that error behavior.
Remove bits of unused code from web.c and tests.sh
2022-03-19 21:53:18 -04:00
Sage Vaillancourt
9da4649a27
Several small additions.
...
Add basic allocation tracking.
Add extra error context
- more useful for debugging the language than programs written in it
Let reduce work on a single non-list item. May be removed.
Add more testing.
Add test filtering.
Fix triple-quotes.
2022-03-18 16:12:39 -04:00
Sage Vaillancourt
e2c977e95a
Finally some consistent styling.
...
Centralized printf/printd defines in object.h
Removed null/isList checking from FOR_POINTER_IN_LIST
2022-01-07 16:55:03 -05:00
Sage Vaillancourt
c0ad4481bd
Fix tokens.c missing-error-code bug.
2021-12-15 14:25:09 -05:00
Sage Vaillancourt
d36f1bf162
Remove single-quote support for strings.
...
Add triple-quote support.
Switch to structs for handling errors.
2021-12-13 10:47:35 -05:00
=
c142730837
Errors can have context to make them more useful.
...
External:
Error changes.
User windows will show string reps of all object types
Internal:
Some re-org and renames in calc.
Add stringNObj for more controlled string-receiving.
Note: currently aplite has a hard time with larger scripts, possibly because of
recent changes. Not sure how much can be done about it, but I'm investigating.
2021-07-21 16:26:04 +01:00
=
a5ecb1b3aa
Added TODO. Text size adjusts with code length
...
Can handle hex and binary. Other cleanup
All tests pass
2020-08-02 21:16:26 +01:00
=
81d5a545cf
Some new list functions and better error handling
...
New list functions include (append) (at) (rest) and (reverse). Single quotes now supported for strings.
2020-05-28 15:28:28 +01:00
=
20f1985e1d
Semicolons treated as whitespace between tokens
2020-05-22 06:06:34 +01:00
=
1c82c6f726
Fixed some parsing (tests pass!). Some clean up.
2020-05-15 04:51:59 +01:00
=
340af00a29
Enable multi-statements in one line. Break out env
2020-05-10 18:52:22 +01:00
=
d83fa29bb4
Began `cat` code and added `spent` demo func
2020-05-10 07:27:59 +01:00
=
1da347e612
Added more error-catching
2020-05-08 07:29:06 +01:00
=
f2c09c0818
Some ops support several args e.g. (+ 1 2 3)
2020-05-06 06:00:40 +01:00
=
42c9f24f85
Added PC makefile, and defines for debug on/off
2020-05-06 05:47:14 +01:00
Sage Vaillancourt
17a85a3931
Script UI now mostly added
2020-05-06 04:33:24 +01:00
Sage Vaillancourt
a3bf8ab864
Decent `if` and `def` support!
2020-05-06 04:33:24 +01:00
Sage Vaillancourt
77ff84fd30
Before breaking lists
2020-05-06 04:33:24 +01:00
Michael E
7579d0b30c
Initial Commit
2020-05-06 04:33:24 +01:00