Commit Graph

553 Commits

Author SHA1 Message Date
88ca9c5ea4 Implement error overhaul 2024-01-31 19:07:18 -05:00
7f849f13a3 Begin error overhaul 2024-01-31 13:51:48 -05:00
cd4296c941 Add error for float parse failures 2024-01-31 12:18:30 -05:00
699c37d860 Add error for 2024-01-31 12:17:13 -05:00
820c863f7f Overhaul integer, float and range parsing 2024-01-31 12:10:32 -05:00
c5241bb0af Write docs 2024-01-30 18:19:05 -05:00
4cbfdde4a3 Write docs; Refine library API 2024-01-30 18:13:30 -05:00
7c9be2151d Write docs; Add missing docs warning 2024-01-30 14:48:38 -05:00
ba0d154962 Write tests; Clean up 2024-01-30 14:11:18 -05:00
93e2a24a25 Add test; Rename "string" built-in to "str" 2024-01-30 13:57:30 -05:00
f85fed941a Fix serde errors 2024-01-30 13:43:18 -05:00
61e7079a00 Fix ranges 2024-01-30 09:46:49 -05:00
fb1399ab0d Write docs; Add fs built-in functions 2024-01-29 23:18:09 -05:00
0752ebedf2 Refine command implementation; Add tests 2024-01-29 18:19:06 -05:00
bd6ca6a6c1 Fix function context bug 2024-01-28 18:42:27 -05:00
34173c261b Fix recursion 2024-01-28 18:07:28 -05:00
6a9ce76007 Clean up 2024-01-28 17:46:15 -05:00
433306b3e1 Add path completion to shell 2024-01-28 13:45:08 -05:00
80428a3dd7 Add table output 2024-01-28 13:30:57 -05:00
7b9913309d Clean up 2024-01-28 12:14:43 -05:00
f67ef7f26f Add variable to suggestions 2024-01-28 12:07:25 -05:00
3bb9090afa Improve shell ergonomics 2024-01-28 12:04:33 -05:00
a0b38d329b Improve shell 2024-01-26 21:03:54 -05:00
0eee9f0936 Integrate starship 2024-01-26 18:28:37 -05:00
3d21196768 Add JSON functions; Modify CLI prompt 2024-01-26 17:14:57 -05:00
f6a1e641c9 Repair command implementation 2024-01-26 15:23:24 -05:00
c2fc3362c8 Fix command syntax; Modify shell prompt 2024-01-26 15:10:46 -05:00
54790bc0db Fix stack overflow; Clean up 2024-01-25 09:08:39 -05:00
9a65afa083 Fix quoted string parsing for commands 2024-01-25 08:57:55 -05:00
70ad08128c Add command logic 2024-01-25 08:43:21 -05:00
5bdb9f116f Add command and pipe syntax 2024-01-25 08:27:24 -05:00
fe1f007692 Add command syntax; Write docs 2024-01-25 07:10:45 -05:00
58bbbb749e Revert "Add loading binaries as functions"
This reverts commit 8f3d36fc8d.
2024-01-25 04:45:25 -05:00
8f3d36fc8d Add loading binaries as functions 2024-01-25 04:19:45 -05:00
784e4b309d Implement reedline 2024-01-25 02:17:45 -05:00
ac29f0210f Implement reedline crate with highlighting 2024-01-25 01:28:22 -05:00
12f82f7bfd Implement recursion using the "self" variable 2024-01-24 21:40:46 -05:00
52c6c3a507 Implement Range value 2024-01-24 20:11:34 -05:00
f2e7badf4b Show completion hints for built-in values 2024-01-24 19:41:47 -05:00
363ecf444b Fix main function and bench script 2024-01-24 18:57:36 -05:00
270c2fd1dc Begin implementing range value 2024-01-23 17:35:12 -05:00
9299131024 Run clippy and prettier 2024-01-23 17:10:52 -05:00
e4bd0a51d6 Continue implementing type definition type 2024-01-23 17:03:35 -05:00
6c997c837d Begin adding "new" expressions 2024-01-23 16:06:52 -05:00
42ec57bf82 Refine implementation 2024-01-23 15:46:20 -05:00
bdef5db051 Begin implementing and testing type defintions 2024-01-23 15:35:26 -05:00
6c4efadb10 Add type definitions as a first-class value 2024-01-23 15:20:19 -05:00
ed6e4cfd1a Rename 'type defintion' to 'type specification' 2024-01-23 14:35:57 -05:00
4e61c6dd6e Add TODO item 2024-01-23 13:53:40 -05:00
7d0cce6fcb Fix function calls inside of functions 2024-01-22 21:41:18 -05:00
44dc6db377 Clean up 2024-01-22 20:48:52 -05:00
fc7cffcb70 Improve Map type's display implementation 2024-01-22 20:47:44 -05:00
1ae9dd67a7 Clean up 2024-01-22 20:45:46 -05:00
7642b23553 Remove useless function call "name" argument 2024-01-17 15:12:37 -05:00
f04adfc661 Use type definitions for type checks 2024-01-17 14:50:39 -05:00
4a42f51580 Reimplement type setting for type check system 2024-01-17 14:45:34 -05:00
5fada12165 Clean up 2024-01-17 12:48:51 -05:00
74dd455ae4 Refine Map interface for stability 2024-01-17 10:21:00 -05:00
c736e3be8f Move syntax tree CLI flag to a command 2024-01-13 13:39:30 -05:00
3e1765e810 Add simple logging 2024-01-13 13:30:50 -05:00
9538caf330 Clean up 2024-01-10 15:07:27 -05:00
c75538c064 Clean up 2024-01-10 15:03:52 -05:00
c4908dc00d Implement custom type 2024-01-10 14:25:35 -05:00
b7db177bd2 Fix variable context bugs 2024-01-09 20:38:40 -05:00
d8850b2d3c Fix assignment type check bug 2024-01-08 10:25:01 -05:00
e6acb8cbb9 Implement function purity 2024-01-06 11:17:08 -05:00
f89e94cc33 Pass format tests 2024-01-06 10:40:25 -05:00
7d7b96d76f Improve formatting; Remove string mutability 2024-01-06 10:13:47 -05:00
14d967b659 Improve formatting 2024-01-06 08:53:31 -05:00
8737175df0 Implement formatting 2024-01-06 08:11:09 -05:00
731bf1cb98 Write formatting tests; Improve formatting output 2024-01-06 05:29:38 -05:00
a52b17930e Implement basic formatting 2024-01-06 05:00:36 -05:00
9cee46cfe5 Implement structured maps 2024-01-06 03:47:54 -05:00
a4013fa26d Remove gui bin 2024-01-06 01:38:55 -05:00
86d2e6aaf4 Implement structure value 2024-01-06 01:05:13 -05:00
3cbd3bbf3c Improve error interface 2024-01-05 23:33:51 -05:00
45384fb394 Adjust test 2024-01-05 22:40:58 -05:00
bb53331b65 Add new means of reporting type check errors 2024-01-05 22:26:37 -05:00
d4487117eb Revert changes to map type 2024-01-05 20:02:29 -05:00
ff6cc707d2 Implement new type checking 2024-01-03 19:58:07 -05:00
4e861620ce Fix identifier bug 2024-01-03 15:36:03 -05:00
ab149ce010 Fix CLI error and example 2024-01-03 15:25:53 -05:00
f5306be3dd Finish adding string functions 2024-01-01 13:39:29 -05:00
96f323979e Continue adding string functions 2024-01-01 13:26:56 -05:00
5aa65af3ad Implement more string functions 2024-01-01 13:12:41 -05:00
20e0ec0e3d Change string type to be passed by reference 2024-01-01 12:39:03 -05:00
525c87bf0f Implement string functions 2024-01-01 10:51:49 -05:00
ab0dacd0f2 Continue adding string functions 2024-01-01 10:31:53 -05:00
a8ed942c13 Improve list display 2024-01-01 10:11:45 -05:00
799875a55d Continue adding string functions 2024-01-01 09:58:18 -05:00
ab4c8922b1 Implement string functions 2024-01-01 09:39:59 -05:00
c2d919957e Begin adding string functions 2024-01-01 08:52:25 -05:00
976cb7de3f Implement new built-in values 2024-01-01 07:46:47 -05:00
f136cafb41 Implement collection type 2024-01-01 05:20:11 -05:00
ae66e2a211 Implement new built-in values 2024-01-01 04:59:27 -05:00
2f0ec91c08 Add index expressions to fix parsing bug 2023-12-31 23:38:09 -05:00
346ff1c0da Improve index parsing 2023-12-31 21:46:45 -05:00
5be7b9b73a Begin new std implementation 2023-12-31 21:24:46 -05:00
415c9863e6 Improve GUI 2023-12-31 19:46:23 -05:00
32127a6cda Fix type check bug 2023-12-31 18:10:42 -05:00
d3a9fb3a0e Add function return type check; Clean up 2023-12-31 16:46:21 -05:00
0bec02344e Merge branch 'main' into gui 2023-12-31 15:31:16 -05:00
83a7007446 Improve value multiplication and division 2023-12-31 15:30:13 -05:00
dbe52e1ad7 Fix type check bug 2023-12-31 14:17:43 -05:00
a39d879c40 Implement return statements at root level 2023-12-31 14:09:03 -05:00
a3a2df552d Implement return statements 2023-12-31 14:04:10 -05:00
3ae7456758 Manually catch up to main branch 2023-12-31 11:54:19 -05:00
318825d1b1 Merge branch 'main' into gui 2023-12-31 11:49:58 -05:00
0fa0a026f8 Improve error output; Add syntax error check 2023-12-31 11:46:56 -05:00
12e00bfc42 Remove return and use statements; Clean up 2023-12-31 09:47:20 -05:00
bf79526764 Use new syntax for None values 2023-12-31 09:41:00 -05:00
f78070ca47 Merge branch 'main' into gui 2023-12-31 09:15:55 -05:00
f4c2bfa657 Use new syntax for None values 2023-12-31 09:14:43 -05:00
9a35dc5ec9 Fix parsing bug; Extend GUI 2023-12-30 12:02:58 -05:00
6cb84a664a Remove TUI 2023-12-30 10:56:56 -05:00
fc1d1c9ee9 Merge branch 'main' into gui 2023-12-30 10:45:38 -05:00
02b30d3730 Improve function Display implementation 2023-12-30 10:23:00 -05:00
9d94cb9af4 Restart TUI 2023-12-30 09:29:33 -05:00
7ea6283650 Begin writing GUI 2023-12-30 02:04:39 -05:00
49a219f764 Move TUI project; Increment cargo version 2023-12-29 23:57:09 -05:00
507082209f Apply clippy suggestions and fixes 2023-12-29 22:39:50 -05:00
42e0ef366f Clean up 2023-12-29 22:28:10 -05:00
1d26b0b418 Clean up 2023-12-29 22:26:37 -05:00
f3921ba87c Revise function and yield syntax 2023-12-29 21:15:03 -05:00
55de33ceb7 Revise function syntax 2023-12-29 20:14:03 -05:00
e10429e1e9 Extend function expression to values and indexes 2023-12-29 19:22:41 -05:00
17fa708739 Add FunctionExpression to fix syntax bug 2023-12-29 18:59:15 -05:00
43ee989eec Improve Interpreter API 2023-12-29 16:27:13 -05:00
3c729bea6e Improve Map interface; Clean up 2023-12-29 14:52:51 -05:00
37a9a37c72 Fix type check bug 2023-12-29 14:35:52 -05:00
6be9204123 Improve Intepreter API for shell use 2023-12-29 14:01:54 -05:00
049c28795b Fix type check bug 2023-12-29 18:29:16 +00:00
34db948c6e Implement option type 2023-12-26 20:05:19 -05:00
9dfaf1420c Implement option value 2023-12-26 19:33:19 -05:00
a27b33dd36 Fix type check error 2023-12-26 17:52:44 -05:00
2bcb5f59f7 Implement Option and None value types 2023-12-26 17:19:12 -05:00
8369477346 Fix function context error 2023-12-22 16:12:41 -05:00
364ce9cb33 Fix async/function bug; Remove Table; Add packages 2023-12-22 15:02:22 -05:00
afa937a697 Add type checks for maps 2023-12-20 18:36:42 -05:00
d2dcc665bb Add type definitions to maps 2023-12-20 18:29:18 -05:00
3bfedec5d6 Refine type checking and function calling 2023-12-17 19:06:36 -05:00
70f0c6b887 Fix list type checking 2023-12-16 21:26:07 -05:00
500a579910 Update grammar; Fix built-in function type checks 2023-12-16 21:15:36 -05:00
3096cf5959 Fix function parsing 2023-12-16 20:42:19 -05:00
6cb2df55f7 Clean up and improve tests 2023-12-16 20:17:38 -05:00
ece75d7b9c Improve testing with an error method 2023-12-16 19:47:23 -05:00
9a4196fb2a Fix list add-assign type checking 2023-12-16 19:40:14 -05:00
3b7e75c41c Add sh function; Improve type check error output 2023-12-15 17:54:11 -05:00
fa7fb57600 Add new tests for type checking 2023-12-15 17:27:29 -05:00
ce4d366bab Implement type checking for functions and indexes 2023-12-13 15:47:41 -05:00
b91e23fef3 Finish function syntax 2023-12-12 18:21:16 -05:00
06da345333 Implement match logic and syntax 2023-12-11 10:19:45 -05:00
99338dedc5 Fix map deserialization; Clean up; Improve errors 2023-12-10 13:47:05 -05:00
aada1c72d6 Fix list type checking 2023-12-09 18:50:17 -05:00
0452243c08 Expand type checking 2023-12-09 17:55:47 -05:00
833a830b30 Expand type checking to map contexts 2023-12-09 17:15:41 -05:00
0fb787bb72 Write docs 2023-12-06 14:13:22 -05:00
b064d23719 Implement type system; Modify use; Write docs 2023-12-06 13:48:38 -05:00
984b66b0aa Implement new function syntax 2023-12-05 17:40:22 -05:00
ed4dd6a819 Improve internal API 2023-12-05 17:08:22 -05:00
d6c679c0b3 Implement new function syntax 2023-12-05 16:42:11 -05:00
7f1b53aabe Continue implementing type checks 2023-12-02 02:34:23 -05:00
62959be020 Add types for built-in functions 2023-12-01 23:50:26 -05:00
9fd02a2118 Continue fixing tests and implementing types 2023-12-01 23:47:15 -05:00
07b1efd369 Make fixes for function changes 2023-12-01 23:20:33 -05:00
31979364eb Remove function_declaration module 2023-12-01 22:54:25 -05:00
ae05e942f2 Add types for built-in functions 2023-12-01 22:16:50 -05:00
50abe9765a Implement random_float and random_boolean 2023-11-30 11:07:52 -05:00
a0c648b33a Simplifiy syntax for function calls 2023-11-30 11:05:09 -05:00
99dd189328 Implement from_json and to_json 2023-11-30 10:10:03 -05:00
9b693ba41b Implement assert_equal 2023-11-30 10:00:40 -05:00
21099a4092 Clean up 2023-11-30 09:48:56 -05:00
0ee26dcf0d Implement function declarations 2023-11-30 09:30:25 -05:00
57b06df9c2 Clean up 2023-11-30 05:40:39 -05:00
3dc78a7066 Implement runtime type checking 2023-11-30 02:09:55 -05:00
8826d08392 Implement list type checks 2023-11-30 00:57:15 -05:00
b6422a438b Implement parsing and runtime checks 2023-11-29 22:54:46 -05:00
5f960021b1 Implement type equality 2023-11-29 22:02:55 -05:00
081d349783 Continue type check implementation 2023-11-29 20:59:58 -05:00
bc2615a1ed Begin changes for new type definitions 2023-11-29 19:23:42 -05:00
5ffb797b5f Clean up 2023-11-28 19:36:10 -05:00
fc898e28e2 Begin converting to new built-in API 2023-11-28 19:18:04 -05:00
a1f3dcb107 Clean up 2023-11-28 18:28:07 -05:00
b46dfc5791 Create new built-in function API 2023-11-28 17:54:17 -05:00
c412836487 Change map syntax 2023-11-28 11:01:38 -05:00
43d46cb289 Add type check error; Add parameter syntax 2023-11-28 10:29:42 -05:00
2bd4ccb40d Implement type checking 2023-11-27 17:53:12 -05:00
25852efcd6 Continue type check implementation 2023-11-27 15:02:08 -05:00
f0635bf330 Improve error output 2023-11-27 10:32:25 -05:00
0646d010c5 Add type checking 2023-11-27 10:27:44 -05:00
ab769b4b2a Add any type 2023-11-27 09:36:17 -05:00
8db95b237c Begin new type checking system 2023-11-21 13:42:47 -05:00
60ba9853ed Clean up; Fix read function 2023-11-20 12:49:20 -05:00
83390b53a7 Implement use statement; Rework value generation 2023-11-17 20:10:07 -05:00
97447d6d8b Fix examples; Clean up 2023-11-16 02:57:50 -05:00
c4dd68c293 Pass tests 2023-11-16 02:11:47 -05:00
ff836b4f0a Start std library; Write README; Change map syntax 2023-11-16 01:59:48 -05:00
7445ebec34 Clean up 2023-11-15 21:52:49 -05:00
a21aa5e37b Fix find loops and index syntax 2023-11-15 21:35:40 -05:00
2876f50822 Implement yield logic; Reform yield syntax 2023-11-15 21:13:14 -05:00