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
55d39431b1
Add TYPE_SLIST.
...
Not yet stable, but allows manipulation of lists without immediate
evaluation.
2021-12-15 14:38:52 -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
Sage Vaillancourt
49bf4aa1a2
Add system calls and some char processing.
...
Color REPL error output.
Add 'clear' shorthand to REPL.
Add basic switch to lib.
2021-12-10 16:38:44 -05:00
=
58f73bc0f8
Simpler SIMPLE_ERRORS and new LOW_MEM FORCE_TEXT
2021-07-21 19:49:29 +01:00
=
3d8e2d30d4
Add LOW_MEM and SIMPLE_ERRORS flags for aplite.
...
LOW_MEM drops some functionality (like `defe`) for very low memory devices like
aplite. SIMPLE_ERRORS is enabled when compiling with LOW_MEM, and overrides the
new error-with-context functionality with older, less intensive methods.
Also marked more code for standalone compilation only.
2021-07-21 19:31:40 +01: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
Sage Vaillancourt
0c9c876d00
Some type-check functions. Consistent 'if' styling
2021-07-04 23:48:26 -04:00
Sage Vaillancourt
7c7a68df5f
Add `iserr`, `defe`. Fix `eval`. Increase env size
...
`iserr` is a basic type-check like `isnum`
`defe` adds a string to the environment as the equivalent symbol
`eval` can take in variables or functions, instead of just raw strings
Broke type-printing into its own function
Errors maxing out an environment. Likely extending incorrectly
2020-11-06 15:07:12 -05:00
Sage Vaillancourt
f8176fef4f
Add plain stringFromSlice()
...
Doesn't try to ignore quote marks. objFromSlice() utilizes it, but should have the same behavior as before.
2020-11-02 15:55:55 -05:00
Sage Vaillancourt
963996f3a0
Add (eval) function, for evaluating strings
...
Added a few tests for this new function
2020-11-02 15:46:17 -05:00
Sage Vaillancourt
a408472494
Add '->' to lambda printing
2020-11-02 12:38:38 -05:00
=
68e062e2e0
Add TYPE_OTHER, subscriptions, and PebbleObjects
...
Move most file-local variables from calc.h to calc.c (so calc.h can be included)
Quick hack to get simple TYPE_LAMBDA evaluated
Add pebcom files for time/vibe/eventually battery etc. functions
Add TYPE_OTHER, so that pebble-specific (and potentially other) objects can be used in PebbLisp
Created PebbleObject/PebbleType to work as a sort of tagged pointer, to be used as a TYPE_OTHER object
Add some functions for creating/editing windows and textlayers from within PebbLisp
Added subscribe(), enabling lambdas to be run at set time intervals
2020-08-09 20:03:02 +01:00
=
b92768c5ec
Add script-calling. Tweak font size thresholds
...
Other clean-up
2020-08-04 18:30:40 +01:00
=
5644a46c3c
Add OTHER type. Auto-open script 0 on code-send
2020-08-03 16:21: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
=
f0a8f6ca43
Start using switches to warn on unhandled types
2020-05-23 18:01:15 +01:00
=
44c9c7a8a1
Use malloc'd strings. Add filter function
2020-05-22 06:16:45 +01:00
=
8bdf42f6fd
Revert "Add basic struct notion and tests."
...
This reverts commit 95762976c5
.
Turns out these structs are not implemented well.
2020-05-18 02:22:39 +01:00
=
95762976c5
Add basic struct notion and tests.
...
Don't auto-run tests in debug mode. Some new tests fail for list-related reasons (some work in the REPL).
2020-05-18 00:00:19 +01:00
=
c97cbe850c
Ensure plain lists have elements evaluated
...
Add relevant tests. Add new doc comments. Some code shifting.
Tests pass. Valgrind is clean.
2020-05-16 15:46:19 +01:00
=
f488e29c54
Implement liberal string copying and destruction
2020-05-15 21:28:16 +01:00
=
4c228f8fb1
Got Pebble compilation working again
2020-05-15 04:57:51 +01:00
=
1c82c6f726
Fixed some parsing (tests pass!). Some clean up.
2020-05-15 04:51:59 +01:00
=
263af226b7
Improved testing. Added `spent` and '"' to pebble
...
Tests automatically run on `make`. Removed breaking cleanObject() in parseEval()
2020-05-10 17:51:46 +01:00
=
d83fa29bb4
Began `cat` code and added `spent` demo func
2020-05-10 07:27:59 +01:00
=
874420b3d5
Adjusted func types to account for possible eval
...
Basic ops work with lists. For example (+ 5 (10 15)) => (15 20)
2020-05-10 04:53:10 +01:00
=
cb945a1e41
Seem to have resolved bad nesting issue
...
copyList() now properly deep-copies.
Recursive functions still not working.
2020-05-10 01:39:01 +01:00
=
96abccec7e
Lead on nested function borkage (pebblisp.c:222)
2020-05-09 19:57:21 +01:00
=
29aa001de8
Clean-up. Added startList(). Fixed `T` and `F`
2020-05-08 17:00:14 +01:00
=
944d9287dc
Increased token size! Added more doc comments.
2020-05-08 06:18:20 +01:00
=
73bfffcf55
Clean up printf cruft. Begin adding doc comments
2020-05-08 05:32:08 +01:00
=
3843e34a51
Big mess, but something in there got `map` working
2020-05-08 03:37:54 +01:00
=
a286943984
Busted `map` with less malloc
2020-05-08 01:32:01 +01:00
=
4bc3337dcd
Better handling of raw lists
2020-05-06 16:58:09 +01:00
=
80ca6e1960
Add Object helpers (less redundancy). Add new errs
2020-05-06 07:12:58 +01:00
=
42c9f24f85
Added PC makefile, and defines for debug on/off
2020-05-06 05:47:14 +01:00
=
63be5f9435
Corrected bad error printing on PC
2020-05-06 05:20:09 +01:00
Sage Vaillancourt
17a85a3931
Script UI now mostly added
2020-05-06 04:33:24 +01:00
Sage Vaillancourt
359d8ed439
Lambdas begin to work!
2020-05-06 04:33:24 +01:00