Commit Graph

131 Commits

Author SHA1 Message Date
Sage Vaillancourt 3319fdf2c3 Lambdas return only last item. EOL file comments
Added (penv) to print the current environment
Changed "Duplicate" test to work with new Lambda structure
2020-11-02 12:40:42 -05:00
Sage Vaillancourt ba74561bed Increase MAX_TOK_CNT. Impact on watch unsure 2020-11-02 12:38:51 -05:00
Sage Vaillancourt a408472494 Add '->' to lambda printing 2020-11-02 12:38:38 -05:00
Sage Vaillancourt 3a413c28fc Attempting to correct some (def) weirdness 2020-11-02 07:58:09 -05:00
Sage Vaillancourt f9cb2d544a More robust comment processing 2020-11-02 07:57:13 -05:00
Sage Vaillancourt 54e2e09c5c Add explicit (print) function 2020-10-30 14:36:44 -04:00
Sage Vaillancourt 99fc088d3e Try to be less strict about whitespace in files 2020-10-30 09:52:46 -04:00
Sage Vaillancourt b5648963a7 Correct string equality check 2020-10-30 09:07:09 -04:00
Sage Vaillancourt b443a54822 Add `pre` for prepending to lists 2020-10-29 11:23:35 -04:00
Sage Vaillancourt 9486854267 Basic file execution 2020-10-29 11:18:06 -04:00
Sage Vaillancourt 94555e4497 Adding to env checks outer env for existing Object 2020-10-29 10:26:44 -04:00
Sage Vaillancourt cb87fbdae6 Print missed symbol's name 2020-10-29 10:00:25 -04:00
Sage Vaillancourt ef8e2cbc79 Remove wrong makefile listing 2020-10-29 09:11:34 -04:00
Sage Vaillancourt 130da5a70e Merge branch 'master' of https://gitlab.com/sagev9000/pebblisp 2020-10-29 09:06:28 -04:00
Sage Vaillancourt 46516461eb Add 'install' to Makefile 2020-10-29 09:04:32 -04:00
Sage Vaillancourt 7b649fdf16 Add `isnum` and some tests 2020-10-28 18:09:57 -04:00
= ca51937926 Update README for recent changes. Remove aliases. 2020-08-09 23:37:28 +01: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
= 3f9d24c617 Fix signed/unsigned comparison 2020-08-04 22:04:11 +01:00
= d87322b6a5 Some env.c refactoring and clean-up 2020-08-04 20:26:47 +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
= f318eb6b49 User-created windows close with back button 2020-08-03 14:17:49 +01:00
= c0f7213110 Can now receive code snippets from a phone!
Font adjustment tries (cheaply) to account for newlines
2020-08-02 21:53:30 +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
= 796a4cdc91 Added some expected-error tests 2020-06-12 23:50:36 +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
= d041e7c5bb Switch to new testing style
Do blocks of tests, and only report individual tests on error, to save space. Add more tests, including some for upcoming list functions
2020-05-28 15:25:36 +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
= ba2cf83759 Disable tests on `make debug` 2020-05-22 06:11:35 +01:00
= 20f1985e1d Semicolons treated as whitespace between tokens 2020-05-22 06:06:34 +01:00
= bf1ce6e6f6 Cleaned and reorganized and renamed stuff 2020-05-22 06:04:00 +01:00
= 199eef7681 Fix saving on Pebble. Break funcs into '...' menu
Bump to 0.2
2020-05-21 17:57:24 +01:00
= 3dee4eb8dc Added SKIP_FIRST() macro for list iteration 2020-05-20 02:26:56 +01:00
= 7ad541eb02 Variableize Makefile and adjust pebble tokens
Also made repl() a void function
2020-05-20 01:37:15 +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
= c59789120c Valgrind should only print errors in tests 2020-05-16 16:12:12 +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
= 82f1f03d7b Clean up makefile and tests 2020-05-15 21:27:45 +01:00
= 58705b4aa9 Cat with `+`; Related tests. Reordered pebblisp.c 2020-05-15 05:43:08 +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
= 45cbf51f50 Added valgrind op to tests. Added recursive test. 2020-05-15 04:50:53 +01:00
= 8a45444c52 Some clean-up. Removed NO_REPL (redundant via cli) 2020-05-11 06:15:44 +01:00
= 4f6aedc4fa Begin adding support for Window creation 2020-05-11 06:15:24 +01:00
= 60d6022d46 Multi-statements in cmdline args. Added tests.
Commented out unnecessary deleteEnv() in main(). Was segfaulting. May be a bigger bug, there.
2020-05-10 19:16:50 +01:00
= 340af00a29 Enable multi-statements in one line. Break out env 2020-05-10 18:52:22 +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
= d9c860805f Turns out recursion worked the whole time.
Fixed issue with too-small REPL input buffer...
2020-05-10 03:32:26 +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
= 9fe35450df Begin simple testing script 2020-05-09 19:58:28 +01:00
= 96abccec7e Lead on nested function borkage (pebblisp.c:222) 2020-05-09 19:57:21 +01:00
= 3e62d57166 Commands can be issued as args to the executable 2020-05-08 17:08:14 +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
= 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
= 7906e55220 Slight clean-up and error-catching 2020-05-06 08:09:25 +01:00
= 80ca6e1960 Add Object helpers (less redundancy). Add new errs 2020-05-06 07:12:58 +01:00
= f2c09c0818 Some ops support several args e.g. (+ 1 2 3) 2020-05-06 06:00:40 +01:00
= 6616cadbd5 Name the executable from the makefile 2020-05-06 05:51:19 +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 cab7ebc79a Remove tags file. Add .gitignore 2020-05-06 04:33:24 +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
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
Sage Vaillancourt 9ab907d014 Got results-as-operands working 2020-05-06 04:33:24 +01:00
Sage Vaillancourt 17b6bf12b4 The very basics work! 2020-05-06 04:33:24 +01:00
Michael E 7579d0b30c Initial Commit 2020-05-06 04:33:24 +01:00