Commit graph

72 commits

Author SHA1 Message Date
6800e5c2b9 quick fix, simplify cd callback behaviour
Signed-off-by: Ava Affine <ava@sunnypup.io>
2024-02-20 14:51:05 -08:00
108e25e336 cd path arg can be a symbol (shell ease)
Signed-off-by: Ava Affine <ava@sunnypup.io>
2024-02-20 14:33:34 -08:00
50ebfd2e37 configurable cd hook
Signed-off-by: Ava Affine <ava@sunnypup.io>
2024-02-20 14:27:11 -08:00
6351ac63d2 cd now tracks PWD
Signed-off-by: Ava Affine <ava@sunnypup.io>
2024-02-20 12:45:34 -08:00
9b447eb5b7 rename relish to flesh 2024-02-06 22:39:08 +00:00
5dcf601384 dont spin at max speed when waiting for foreground process
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-10-18 14:29:53 -07:00
c05b94e92a fall back on shell command behaviour for undefined variables
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-10-12 20:50:27 -07:00
0babc1986a add list type check 2023-07-30 12:26:02 -07:00
2cd5016c1d Assert, Exit builtins
* Builtins for assert and exit are added
* Tests for assert are added
* file operations from previous MR are added to documents
* assert and exit are added to documents
2023-06-20 01:25:19 +00:00
64be70b3af File operations
* read
* write
* append
* exists?
* tests for each
2023-06-19 07:32:55 +00:00
0a01f9178c another tweak to eval/quote equivalency, more tests 2023-06-08 17:11:10 -07:00
398726568a fix evaluation behavior mismatch between functions and lambdas
Signed-off-by: Ava Hahn <ava@sunnypup.io>
2023-06-08 12:48:34 -07:00
8cc0202a7b Readme and clippy cleanups 2023-05-28 23:22:49 +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
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