Commit graph

57 commits

Author SHA1 Message Date
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
c127118465 fully interactive shell
* Background task implementation
* Foreground an existing task implementation
* Documentation for both
* Refactors to signal handling, process pre-exec
2023-05-18 06:53:23 +00:00
c2cc8571bc
fix issue with env var to sym table sync
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-05-03 15:04:54 -07:00
d7864ee628
load-to-string pulls out newline, also fix issue with nested calls 2023-04-19 18:24:15 -07:00
ee1ef9700d
cd function
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-04-17 22:11:49 -07:00
014be6ece3
fix needless pg churn 2023-04-17 20:17:42 -07:00
e5f81ad604
shell pipe function prototype finished 2023-04-07 12:21:22 -07:00
9c0f88ec91
WIP early start on pipe command 2023-04-06 22:24:14 -07:00
d11545bc31
implement load-to-string, revert odd Cargo.toml mistake 2023-03-30 20:47:22 -07:00
dcbc855783
fixed permissions issue in load-with 2023-03-30 20:02:45 -07:00
e8cf59b7a7
implemented load-with.... still need docstring and to fix some write errors 2023-03-28 20:47:55 -07:00
ab14ba4b5e
circuit handles load commands better
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-03-27 14:34:07 -07:00
921deb9e5e
put todo items into readme instead of posix module comment block 2023-03-27 11:32:12 -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
da0709c4db
better echo 2023-03-20 21:21:42 -07:00
381852b3bd
Implemented SymTable optimization for efficient variable updates 2023-03-20 17:16:44 -07:00
34e77903a6
Add userlib tests
Document userlib in readme
extend example configuration to include userlib
2023-03-17 13:24:31 -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
a01df6b7b2
undid eval tweaks, made tests for weird def cases 2023-03-17 12:21:42 -07:00
2dfe73de6b
variables defined using def in a let statement now escape local scope
test added as well.
2023-03-17 12:01:43 -07:00
3848d3bcfa
Eval enhancements. Rewrote store to be significantly better 2023-03-17 11:42:36 -07:00
Ava Hahn
20821057f2
complete all introductory documentation, except for the Easy Patterns
section
Also, removed some stray debug lines and added a printed newline
inbetween prompt and output
2023-03-16 15:14:24 -07:00
67af8bbd47
multiline shell, yay! 2023-03-15 21:55:10 -07:00
8efa1dbaad
Fully fledged lambdas, along with efficiency tweaks across the ast 2023-03-13 15:02:19 -07:00
b0bd369c1d
WIP lambda
* typesystem extended
* docstrings and callback
* tests defined, not implemented
2023-03-12 20:29:39 -07:00
640a53cad8
better eval and test for eval,quote 2023-03-11 22:04:46 -08:00
Ava Hahn
6daf0867df
implementations for quote and eval 2023-03-10 16:54:22 -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
896ed567fd
add documentation for let and while forms 2023-03-08 12:02:20 -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
5d89c6b684
some rustfmt updates 2023-03-07 21:31:54 -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
de29bbf950
help function displays values not
Signed-off-by: Ava Hahn <ava@aidanis.online>
2023-03-06 15:12:59 -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