Commit Graph

34 Commits

Author SHA1 Message Date
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 78f5b98f9f Don't print newlines on (prn) or last expr in file 2020-11-02 15:23:04 -05:00
Sage Vaillancourt ba74561bed Increase MAX_TOK_CNT. Impact on watch unsure 2020-11-02 12:38:51 -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
= 3dee4eb8dc Added SKIP_FIRST() macro for list iteration 2020-05-20 02:26:56 +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
= 80967b9275 Broke lib-type code into array. New numparse errs 2020-05-16 19:31:14 +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
= efb151d0ef All known memory leaks handled!
Watch the commented `if` -127,7 +137,10 @ Object eval for weird behavior
2020-05-16 04:22:08 +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
= 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
= 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
= 1da347e612 Added more error-catching 2020-05-08 07:29:06 +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
= a286943984 Busted `map` with less malloc 2020-05-08 01:32:01 +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
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