Commit graph

64 commits

Author SHA1 Message Date
6d2925984f Big project dir refactor
* split into multi member workspace in preparation for a no_std core
* env and posix stuff neatly crammed into a seperate shell project
* some pokes at interactive-devel.f
* updated ci
* removed 'l' shortcut for 'load' and update docs
* remove out of date readme content
* updated tests
* more sensible cond implementation and extra tests
* substr stdlib function with tests

Signed-off-by: Ava Affine <ava@sunnypup.io>
2024-07-12 13:45:09 -07:00
9b447eb5b7 rename relish to flesh 2024-02-06 22:39:08 +00:00
64be70b3af File operations
* read
* write
* append
* exists?
* tests for each
2023-06-19 07:32:55 +00:00
981df23ea2 flip CFG_RELISH_POSIX behavior
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-06-06 11:32:25 -07:00
906cb16355 POSIX conditional compilation:
* All features related to POSIX environments (env vars, shell stuff) gated by feature flags
* Dependencies optional per feature flags
* new CI target for non-POSIX build
* new CI target for release binary artifact

Signed-off-by: Ava Hahn [ava@sunnypup.io](mailto:ava@sunnypup.io)
2023-05-26 06:41:18 +00:00
3bbea6bea0 This MR finishes up all remaining Pre V1 goals
* add a posix exit() builtin
* improve separation of concerns regarding standard library structure
2023-05-25 23:08:44 +00:00
789349df48 Error Messaging Redesign
This commit contains the following:

* New data types to support full tracebacks
* New traceback data type used across stl and ast
* Updates to tests
* fixes for error messaging in sym and some stl functions
2023-05-23 22:06:11 +00:00
6969ea63bc usability improvements to env and def
* env prints variables and functions in seperate columns
* run/stl seperation of concerns significantly better
* def doesnt store lists or lambdas in the environment
2023-05-21 23:53:00 +00:00
ee1ef9700d
cd function
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-04-17 22:11:49 -07:00
ab14ba4b5e
circuit handles load commands better
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-03-27 14:34:07 -07:00
99cb9e5a2e
elementary shell behavior: can kick off a foreground process and
handle signals
2023-03-24 18:14:33 -07:00
1ce5fd3454
input function 2023-03-22 22:53:29 -07:00
b638918a89
list contains implemented 2023-03-20 22:14:40 -07:00
3f75157fac
got all the load script stuff done.
added script args to main shell
also added userlib tests to ci
2023-03-20 19:00:30 -07:00
381852b3bd
Implemented SymTable optimization for efficient variable updates 2023-03-20 17:16:44 -07:00
8a91560921
improvements to configuration system 2023-03-18 23:00:55 -07:00
1ee9ba55fb
Added USERLIB with prepend and set.
Added a q shortcut to quote
get-doc and set-doc no longer conditionally evaluate args
Fixed bug in let, documented potential performance improvements
upped default history to 5k lines
2023-03-17 13:06:27 -07:00
3848d3bcfa
Eval enhancements. Rewrote store to be significantly better 2023-03-17 11:42:36 -07:00
8efa1dbaad
Fully fledged lambdas, along with efficiency tweaks across the ast 2023-03-13 15:02:19 -07:00
640a53cad8
better eval and test for eval,quote 2023-03-11 22:04:46 -08:00
Ava Hahn
ce3dba470a
add boolean cast function 2023-03-09 17:28:17 -08:00
Ava Hahn
001e35755d
Some readme elaboration, but mostly cons 2023-03-09 16:03:06 -08:00
Ava Hahn
928c9b91ed
add reverse, snippet for prepend implementation 2023-03-08 20:59:22 -08:00
Ava Hahn
6961fcc9fa
add string split method 2023-03-08 19:42:08 -08:00
Ava Hahn
d4121a734a
Add simple string functions 2023-03-08 11:40:46 -08:00
Ava Hahn
8bf4b3c368
finished inc and dec, and tests 2023-03-07 22:16:57 -08:00
Ava Hahn
c74d6f5ddf
Added LT, GT, LTE, and GTE functions, and big test coverage 2023-03-07 22:01:01 -08:00
Ava Hahn
0c5d14ed8e
add mod and exp functions, tests, and also some snippets for common
patterns in the readme
2023-03-07 21:27:45 -08:00
Ava Hahn
7fd47c1812
added list len, front, and back 2023-03-07 14:51:27 -08:00
Ava Hahn
06d30ac263
added typecasts for int and float 2023-03-07 13:43:51 -08:00
Ava Hahn
a429b546d0
add basic arithmatic operations
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-06 19:05:34 -08:00
Ava Hahn
f8ab31e9aa
rustfmt on recent additions
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-06 15:53:12 -08:00
Ava Hahn
f22d807b57
added env function and test 2023-03-06 15:50:02 -08:00
Ava Hahn
79184b18ef
bundle sym management funcs in their own module
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-06 15:29:01 -08:00
Ava Hahn
8d6915f69a
add isset
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-06 15:25:23 -08:00
Ava Hahn
de29bbf950
help function displays values not
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-06 15:12:59 -08:00
Ava Hahn
ca9f755d50
rustfmt previous commit 2023-03-05 22:37:13 -08:00
Ava Hahn
dc6342bc74
Several changes, see commit msg
* clean up all tests
* bugfix for zero value functions, and test
* removed expand function, put in snippets
* added doc strings to Symbol type
* added doc strings to symbol declarations
* implemented display for Args type
* wrote a help function
* wrote docstrings for all builtins and config vars
2023-03-05 22:18:49 -08:00
Ava Hahn
4b587f11ab
finished circuit form
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-03 14:29:53 -08:00
Ava Hahn
c235f9727f
finished while form
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-02 15:29:50 -08:00
Ava Hahn
cb83fa5655
implement iseq, tests
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-02 12:48:26 -08:00
Ava Hahn
5ce0a8e8b2
add bool var toggle function
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-02 12:15:42 -08:00
Ava Hahn
28e158f110
add some boolean operations, tests for
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-02 09:43:12 -08:00
Ava Hahn
c1d83a6285
finished let forms
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-01 15:17:50 -08:00
Ava Hahn
eed16964e6
add echo function
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-01 12:31:58 -08:00
Ava Hahn
bc09cb07b1
rustfmt
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-01 11:47:37 -08:00
Ava Hahn
2439a37aaa
repl now complete
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-01 11:14:42 -08:00
Ava Hahn
fbb85f2e3d
update export callback and add tests
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-02-28 11:57:59 -08:00
Ava Hahn
c5e68f25ba
fix up def tests
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-02-28 11:20:00 -08:00
Ava Hahn
09e3546ba6
implement basic control flow, error handling from functions, many tests
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-02-27 22:53:54 -08:00