Sage Vaillancourt
11f39bf136
Add simple webserver functionality.
2022-03-14 23:46:20 -04:00
Sage Vaillancourt
6c8ff04711
Extremely barebones struct object implementation.
2022-03-14 16:52:08 -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
8d22bf575c
Add history and ok/err functionality to REPL.
2021-12-15 14:40:49 -05:00
Sage Vaillancourt
f3a69989fa
Better switch functionality.
2021-12-15 14:39:13 -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
5261880ebb
Fix test quoting.
2021-12-15 14:27:01 -05:00
Sage Vaillancourt
d73247a471
Fix deleteEnv null-pointer bug.
2021-12-15 14:25:47 -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
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
Sage Vaillancourt
08432275c8
Correct and re-enable environment tests
2021-07-22 15:51:42 -04:00
=
ea04af7b6b
Remove unused BOUNDS type from PebbleObject
2021-07-22 17:08:53 +01:00
=
10b2bc6938
Update README for 0.4
2021-07-22 17:07:44 +01:00
=
787aec6f95
Remove in-memory duplication of pebbles' code text
2021-07-22 14:34:26 +01:00
=
723acc6b2e
Version bump to 0.4
2021-07-21 20:52:09 +01:00
=
2cbe610b95
Correct FORCE_TEXT
2021-07-21 20:48:41 +01: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
=
cadb57c0f2
Add small font file
2021-07-21 16:13:16 +01:00
=
06ab491b1e
Give result prefix its own definition
2021-07-16 01:33:17 +01:00
=
e58e5aeaa9
Some renames and general cleanup.
...
Added spaces after `cat` `map`, etc.
2021-07-16 01:20:36 +01:00
=
bdd8c3fae3
Add extra-small font for large amounts of text
2021-07-16 00:43:46 +01:00
=
1802542fa0
Add Pebble 2 support
2021-07-15 01:09:35 +01:00
=
a6f3fc96e6
Fixed bug where all func calls require an argument
...
Certain I/O functions (like `inp` or `repl`) do not need arguments, but
previously all functions required at least one argument to called correctly
(i.e. `(inp 0)` or `(repl "banana")`). Now, these can be called as intended:
`(inp)` or `(repl)`.
2021-07-13 21:46:15 +01:00
Sage Vaillancourt
811e9e3dd2
Breaking: Stop `def` adding vars to higher scopes
...
Fixed OOP error in allocating lambda environments. Add ability to disable test
groups. Disabled forbble tests and `switch` implementation (broken by `def`
change)
2021-07-12 20:34:54 -04:00
Sage Vaillancourt
ce28c84696
Slightly better error-handling in Forbble
2021-07-12 20:13:02 -04:00
Sage Vaillancourt
b222df047d
Only run tests if 'make' succeeded
2021-07-12 20:10:45 -04:00
Sage Vaillancourt
77cb35f961
Add newline print to lib and use it in examples
2021-07-10 23:35:05 -04:00
Sage Vaillancourt
f89417ab9e
Load script arguments into `args` list
...
For example, running "./do_math.pl 5 + 5" would define args as a list of
( /usr/bin/pl ./do_math.pl 5 + 5 ), where each of the five elements is a
string object. The arguments will also be loaded when opening the repl,
but NOT when writing pl code directly as command-line arguments (i.e.
'./pl "(* 9 9)"').
2021-07-10 22:46:31 -04:00
Sage Vaillancourt
96a47590f1
Left-align checkmarks for valgrind testing
2021-07-05 05:32:47 -04:00
Sage Vaillancourt
5a69d5730a
Add another Forbble test
2021-07-05 05:17:59 -04:00
Sage Vaillancourt
4974e87273
Disable Forbble REPL. Add Forbble-based tests
2021-07-05 05:09:32 -04:00
Sage Vaillancourt
d4d1f27a63
Corrects all known memory leaks
2021-07-05 05:08:37 -04:00
Sage Vaillancourt
c7d3d7f457
forbble stability and usability
2021-07-05 01:15:01 -04:00
Sage Vaillancourt
166c9d4889
Add simple 'switch' implemented in pbl
2021-07-05 01:14:39 -04:00
Sage Vaillancourt
77c9c39295
Check indexes etc for `at`
2021-07-05 01:13:59 -04:00
Sage Vaillancourt
6ec0da6353
Add anonymous lambda test
2021-07-05 00:26:29 -04:00
Sage Vaillancourt
dbaf57abad
Correct executable target location
2021-07-05 00:26:18 -04:00
Sage Vaillancourt
c9babe439d
Test display and code style tweaks
2021-07-05 00:18:14 -04:00
Sage Vaillancourt
2af48f63ca
More consistent whitespace in tests.sh
2021-07-04 23:56:55 -04:00
Sage Vaillancourt
0c9c876d00
Some type-check functions. Consistent 'if' styling
2021-07-04 23:48:26 -04:00
Sage Vaillancourt
6a2e12ebfe
More dense test output
2021-07-04 23:46:59 -04:00
Sage Vaillancourt
3d48c2eae0
Added `loadfile` to standalone.
...
Tests now manually load the library file, instead of needing it to be
installed.
2021-07-04 21:49:41 -04:00
Sage Vaillancourt
cc199b0e57
Add Forbble comment
2020-11-08 16:44:53 -05:00
Sage Vaillancourt
fc3fcf34ed
Added missing cleanObject() call
2020-11-08 15:26:28 -05:00
Sage Vaillancourt
35f0a94f40
Add dup, rot, and over to Forbble example
2020-11-08 13:12:00 -05:00
Sage Vaillancourt
fe86f7c836
Add Forbble example code
...
Forbble is a very, very, simple implementation of Forth, written in PebbLisp.
Forbble isn't very practical, but has been a great test-bed for finding areas
where PebbLisp is particularly lacking in features, or expressiveness.
2020-11-08 12:31:45 -05:00
Sage Vaillancourt
a3fe0b075d
Remove lingering printObj() from defe
2020-11-08 11:48:50 -05:00