Commit Graph

553 Commits

Author SHA1 Message Date
4179f6ebe5 Rework parser and abstract tree 2024-02-26 16:27:01 -05:00
fb7675a782 Add plumbing and test 2024-02-25 14:26:22 -05:00
8ff4b4ba82 Lex, parse and run with passing tests 2024-02-25 13:49:26 -05:00
f70656c837 Add plumbing 2024-02-25 03:12:09 -05:00
989afec531 Use statement-only abstract tree 2024-02-25 00:38:41 -05:00
0eb3df9108 Parse expressions 2024-02-24 19:37:04 -05:00
bec6eb5aeb Continue parser experiment 2024-02-23 12:14:15 -05:00
bdbd1fc412 Continue parser experiment 2024-02-23 08:23:35 -05:00
6dbae12315 Experiment with new parser 2024-02-23 07:40:01 -05:00
6b88fbf8b9 Add io:stdin to built-ins 2024-02-19 23:35:09 -05:00
cc76ca89cc Modify return/break syntax; Change Value::String 2024-02-19 22:32:06 -05:00
900de8ca4b Edit README; Improve bench script; Optimize 2024-02-19 20:44:26 -05:00
1585145ff4 Write docs; Update logging and error messages 2024-02-19 17:04:13 -05:00
0eac67eb3a Pass enum tests 2024-02-19 11:13:04 -05:00
37fd722fa6 Fix garbage collection bug 2024-02-18 16:43:47 -05:00
255843cb3b Fix type checking bugs 2024-02-18 15:52:47 -05:00
88d05f0dc9 Clean up 2024-02-18 15:19:30 -05:00
0805b96809 Add type argument syntax 2024-02-18 15:07:53 -05:00
a5f3127bcf Fix command tests and parsing 2024-02-18 11:38:35 -05:00
979335f497 Modify struct, enum and match syntax 2024-02-18 10:34:59 -05:00
14eedc6a2a Pass enum match test 2024-02-18 08:27:59 -05:00
5559860699 Fix doc tests 2024-02-18 07:14:32 -05:00
3a63d4973d Implement specific map types 2024-02-18 06:48:42 -05:00
52027db6c3 Pass index tests; Begin implementing specific maps 2024-02-18 06:28:31 -05:00
4afc8face8 Partially fix indexes break/return statements 2024-02-18 05:37:15 -05:00
5450f00174 Fix validation bug 2024-02-18 04:57:05 -05:00
a52eadc5ad Pass function tests; Fix recursion 2024-02-18 04:48:45 -05:00
d4a5424ad5 Improve logging 2024-02-18 04:18:19 -05:00
86ce1dc3af Pass value tests 2024-02-18 01:50:15 -05:00
ca04103372 Clean up 2024-02-18 00:40:48 -05:00
dab3d2de8e Add test; Make garbage collection work 2024-02-18 00:32:03 -05:00
6c699ec900 Improve context API 2024-02-17 23:43:00 -05:00
4f5ad1e4aa Implement automatic value dropping 2024-02-17 22:02:15 -05:00
d05b5a8628 Run cargo fix 2024-02-16 20:30:58 -05:00
a46d5bb4ea Add fancy validation errors 2024-02-16 20:18:07 -05:00
1094a5662c Simplify errors and make them fancier 2024-02-16 19:57:24 -05:00
fd33f330f7 Clean up errors; Add more pretty errors 2024-02-16 18:54:00 -05:00
bda217135e Simplify errors; Make another pretty error type 2024-02-16 17:56:36 -05:00
ee4f37080e Write function for lyneate integration 2024-02-16 17:28:57 -05:00
7003c37aac Remove redundant check for syntax errors 2024-02-16 17:11:28 -05:00
a53f83f03a Begin making pretty errors with lyneate 2024-02-16 16:49:01 -05:00
4b0910a545 Implement new math interface for Value 2024-02-16 15:37:07 -05:00
c82f631524 Begin new math implementation for Value; Clean up 2024-02-16 15:07:24 -05:00
d27c98e393 Add method to inherit all context data from another 2024-02-16 13:40:55 -05:00
d2e0de0483 Fix function contexts and recursion 2024-02-16 13:23:58 -05:00
7eecb7b070 Fix type checking with None type 2024-02-16 11:36:25 -05:00
1819c7e646 Fix type lookup for built-in values 2024-02-16 11:32:02 -05:00
ee692b360e Implement return for root 2024-02-16 11:23:07 -05:00
8c4b2c9eef Implement block returns 2024-02-16 11:21:36 -05:00
122d81f252 Clean up docs 2024-02-16 11:04:43 -05:00
d8705c5d50 Fix docs 2024-02-16 11:00:27 -05:00
c466096c8d Fix doc tests; Add from impls for Identifier 2024-02-16 10:58:37 -05:00
9f2b0461df Add statment_kind syntax node 2024-02-16 10:55:15 -05:00
172a6fa860 Remove return statement; Add StatementInner 2024-02-16 10:36:16 -05:00
50a7a7aca1 Add built-in identifiers 2024-02-15 17:04:34 -05:00
edded5043d Fix infintite loop 2024-02-15 16:30:47 -05:00
5e105177cf Simplify TypeDefinition type 2024-02-15 16:06:47 -05:00
ec074177d5 Clean up new API 2024-02-15 16:02:27 -05:00
c2ba519240 Overhaul built-ins and identifiers 2024-02-15 15:20:29 -05:00
91e94a5adc Clean up 2024-02-15 10:37:10 -05:00
e7f5d66297 Implement custom and built-in types 2024-02-15 10:33:25 -05:00
e1c3e8bc0d Fix test 2024-02-15 07:12:10 -05:00
a6e52e4ee6 Implement matching for enums 2024-02-15 07:04:38 -05:00
85cb641af8 Write docs 2024-02-15 04:18:30 -05:00
933ab3900b Write docs 2024-02-15 04:16:34 -05:00
d9f065fbb6 Write docs 2024-02-15 03:57:13 -05:00
540f59e6d8 Modify enum variant syntax 2024-02-15 02:22:04 -05:00
b8f2fe7eb4 Implement Result type 2024-02-15 02:08:42 -05:00
ed1f139595 Remove option value type and built-in value syntax 2024-02-15 02:02:48 -05:00
4c68bc0260 Add built-in option definition 2024-02-15 01:51:05 -05:00
fc3dfc0e03 Implement structs; Modify tests 2024-02-15 00:53:43 -05:00
97319d28b2 Implement custom types; Add test 2024-02-14 22:46:40 -05:00
89a4c09307 Implement basic enum instantiation 2024-02-14 22:38:45 -05:00
b8c54ea8bd Begin implementing enums 2024-02-14 20:53:42 -05:00
390d1aa504 Revert "Remove structure from map types"
This reverts commit 5e685d6641.
2024-02-14 19:15:47 -05:00
5e685d6641 Remove structure from map types 2024-02-14 19:07:34 -05:00
a23688803c Add test; Pass test by fixing type validation bug 2024-02-14 18:46:05 -05:00
85419c47be Convert maps to structures for advanced type checks 2024-02-13 12:04:02 -05:00
1f5dacad7d Add type check for type conversion; Add test 2024-02-13 10:49:49 -05:00
52493a0b73 Complete string to list conversion with as 2024-02-13 10:36:43 -05:00
18508fa217 Begin As implementation for AbstractTree; Add tests 2024-02-13 10:26:26 -05:00
3f4c4ff464 Fix type checking bug 2024-02-13 08:10:34 -05:00
3c72e4f988 Rework built-in function arguments; Fix context bug 2024-02-12 18:55:54 -05:00
41a268389c Fix function recursion 2024-02-12 18:15:49 -05:00
bbab728ce9 Add context to function call nodes 2024-02-12 17:55:45 -05:00
daf78919da Move block contexts to loops and function 2024-02-12 16:51:06 -05:00
1e665a6f13 Fix context error 2024-02-12 15:48:43 -05:00
b7e0828ced Make maps multi-threaded again 2024-02-12 15:07:41 -05:00
924b388f2c Fix bug with loop contexts 2024-02-12 14:19:07 -05:00
d243c030e8 Fix Block Debug formatting 2024-02-11 15:26:09 -05:00
b1266df835 Fix function contexts 2024-02-11 14:18:53 -05:00
b5b317df95 Implement block contexts 2024-02-11 14:10:11 -05:00
f2049225fe Implement new context principles 2024-02-11 13:54:27 -05:00
90c0304af5 Implement context 2024-02-10 20:50:49 -05:00
d997bbd08a Continue implementing context 2024-02-10 19:31:47 -05:00
ddd5912248 Begin implementing new Context type 2024-02-10 18:29:11 -05:00
4479f340d7 Add From implementation for RwLockError 2024-02-09 14:23:41 -05:00
9ef82df3a7 Fix type setting bugs 2024-01-31 21:21:42 -05:00
e486413aca Fix type setting bugs; Rename function 2024-01-31 20:52:34 -05:00
9a465cb42d Continue error overhaul 2024-01-31 19:35:27 -05:00