26 Commits

Author SHA1 Message Date
4a4b09e898 # Modules
Basic implementation of a module system including tests.
2025-01-27 16:04:04 -06:00
425489a73f Definition dependency analysis
tricu now allows defining terms in any order and will resolve
dependencies to ensure that they're evaluated in the right order.
Undefined terms are detected and throw errors during dependency
ordering.
For now we can't define top-level mutually recursive terms.
2025-01-26 14:50:39 -06:00
b0b0fb22b9 Allow lambda expressions without explicit paren 2025-01-26 08:52:28 -06:00
3e3e5802fa Drop unreachable cases of updateDepth 2025-01-21 16:16:04 -06:00
83dad2c56b Add more explicit error handling for mismatched groupings 2025-01-21 16:06:10 -06:00
962a100f53 Inline pattern matching in Parser 2025-01-21 14:21:47 -06:00
ec0a6b7b16 Allow multiline expressions 2025-01-20 19:20:29 -06:00
e6e05b607a General refactor for legibility
Priming to update all source to lhs and document extensively
2025-01-19 14:41:25 -06:00
66cc5fdd27 Drop parseVarWithoutAssignment
Additionally sorts gitignore and adds attempted decoding of lists back
to the REPL
2025-01-03 10:31:35 -06:00
4aa8e19ff4 Add "SimpleT" t output form
This new output form allows easy piping to the decode function of the
tricu executable. Includes a new test for roundtrip evaluation of map,
compilation to tree calculus terms, and decoding back to a human
readable string.
2024-12-31 10:00:52 -06:00
7abc7061d9 Expands CLI support with output forms and decoding
Adds CLI options for compiling to a Tree Calculus, AST, Ternary, and
ASCII tree view. Adds CLI command for attempted decoding of a compiled
result to Number/String/List.
2024-12-30 14:22:37 -06:00
78dd2f4d8f Initial ternary representation options
Both parsing and conversion from T to ternary representation supported
2024-12-30 08:30:40 -06:00
bde89125ba Resolves issue with parsing comments 2024-12-29 21:02:38 -06:00
8a2dc2dfcf Additional tests 2024-12-29 12:22:24 -06:00
7a7ee6886a Rename from sapling to tricu 2024-12-29 08:29:25 -06:00
30c04a84d6 Stop using to/of conventions backwards 2024-12-28 07:24:19 -06:00
9c1c916fc9 Tests and better default REPL behavior 2024-12-27 14:10:13 -06:00
c3c6646cb2 Somewhat working lambdas
Architectural changes to lambda evaluation and parsing to allow
for correct expression evaluation. Contains several failing AI-generated
tests and we're still failing tests for erroring incomplete definitions
2024-12-27 13:21:30 -06:00
5e574d2ca1 Stop using lists to represent args 2024-12-27 08:17:06 -06:00
b3583c796e 0.2.0
Includes better error handling, additional tests, parsing and lexing
fixes to match the desired behavior defined by the new tests, and a very
basic REPL implementation.
2024-12-20 12:58:06 -06:00
8fb8ab2741 Additional test coverage for lexing and parsing 2024-12-19 20:26:46 -06:00
e7d47ffc3c Additional test cases and bug fixes for subtle issues 2024-12-19 19:53:32 -06:00
b14d7b8b2c Formatting
Clean up Main.hs formatting; clarify language in parsing branch
2024-12-19 19:08:56 -06:00
7ae470a4ae 0.1.0 base collection of features
Implemented evaluation of tree calculus terms alongside referentially
transparent variable identifiers. Implemented evaluation of defined
functions into tree calculus.
2024-12-19 19:07:12 -06:00
b3dd945b82 Add README and LICENSE files 2024-12-18 19:15:56 -06:00
2a650dac56 Initialize Repo
Working (but likely buggy!) lexing, parsing, and evaluation of Tree Calculus terms
2024-12-18 18:59:07 -06:00