25 Commits

Author SHA1 Message Date
James Eversole
a64b3f0829 Definition dependency analysis
All checks were successful
Test, Build, and Release / test (push) Successful in 1m34s
Test, Build, and Release / build (push) Successful in 1m21s
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
James Eversole
e2621bc09d Allow lambda expressions without explicit paren
All checks were successful
Test, Build, and Release / test (push) Successful in 1m41s
Test, Build, and Release / build (push) Successful in 1m19s
2025-01-26 08:52:28 -06:00
James Eversole
42fce0ae43 Drop unreachable cases of updateDepth
All checks were successful
Test and Build / test (push) Successful in 2m27s
Test and Build / build (push) Successful in 1m39s
2025-01-21 16:16:04 -06:00
James Eversole
51b1eb070f Add more explicit error handling for mismatched groupings 2025-01-21 16:06:10 -06:00
James Eversole
c2e5a8985a Inline pattern matching in Parser 2025-01-21 14:21:47 -06:00
James Eversole
35163a5d54 Allow multiline expressions 2025-01-20 19:20:29 -06:00
James Eversole
ad02c8b86a General refactor for legibility
Priming to update all source to lhs and document extensively
2025-01-19 14:41:25 -06:00
James Eversole
3eb28a2c62 Drop parseVarWithoutAssignment
Additionally sorts gitignore and adds attempted decoding of lists back
to the REPL
2025-01-03 10:31:35 -06:00
James Eversole
493ef51a6a 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
James Eversole
5e2a4dff50 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
James Eversole
8622af9ad2 Initial ternary representation options
Both parsing and conversion from T to ternary representation supported
2024-12-30 08:30:40 -06:00
James Eversole
a8f72290a2 Resolves issue with parsing comments 2024-12-29 21:02:38 -06:00
James Eversole
b86ff6e9b8 Additional tests 2024-12-29 12:22:24 -06:00
James Eversole
c30f17367f Rename from sapling to tricu 2024-12-29 08:29:25 -06:00
James Eversole
e376d13a93 Stop using to/of conventions backwards 2024-12-28 07:24:19 -06:00
James Eversole
4495f8eba0 Tests and better default REPL behavior 2024-12-27 14:10:13 -06:00
James Eversole
dbb5227fbc 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
James Eversole
7fca4d38e8 Stop using lists to represent args 2024-12-27 08:17:06 -06:00
James Eversole
c16c48b22c 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
James Eversole
2399830366 Additional test coverage for lexing and parsing 2024-12-19 20:26:46 -06:00
James Eversole
d13b2f52e7 Additional test cases and bug fixes for subtle issues 2024-12-19 19:53:32 -06:00
James Eversole
602048dc53 Formatting
Clean up Main.hs formatting; clarify language in parsing branch
2024-12-19 19:08:56 -06:00
James Eversole
e5f3a53bcc 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
James Eversole
ad0df667aa Add README and LICENSE files 2024-12-18 19:15:56 -06:00
James Eversole
9f9aca4040 Initialize Repo
Working (but likely buggy!) lexing, parsing, and evaluation of Tree Calculus terms
2024-12-18 18:59:07 -06:00