24 Commits

Author SHA1 Message Date
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