24 Commits

Author SHA1 Message Date
James Eversole
fff29199d1 Support evaluation across multiple source files 2025-01-01 19:27:04 -06:00
James Eversole
a2c459b148 Provide "library" via tricu file directly
Allows easier loading of other files and drops the list of Haskell
strings containing the basic tools included
2025-01-01 18:53:56 -06:00
James Eversole
39be66a4d1 Fixes identifier lexing; support REPL file loading 2025-01-01 18:05:21 -06:00
James Eversole
bf58c9afbd Normalize CLI options and help display 2025-01-01 08:34:17 -06:00
James Eversole
7d38d99dcd Rename "compiler" functionality to Evaluator
Allows for stdin input for evaluation when no input file is provided.
2025-01-01 08:23:53 -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
2abeab9c04 Adds "compiler" and CLI argument handling 2024-12-29 21:49:57 -06:00
James Eversole
a8f72290a2 Resolves issue with parsing comments 2024-12-29 21:02:38 -06:00
James Eversole
60a9e3c1ee Expansion of testing suite to cover incl. library
Expands the testing suite to verify behavior of provided library
functions. Updates the README further for clarification on important
concepts.
2024-12-29 10:28:32 -06:00
James Eversole
c30f17367f Rename from sapling to tricu 2024-12-29 08:29:25 -06:00
James Eversole
d804a114bb Update lambda handling; better default decode out 2024-12-27 20:46:30 -06:00
James Eversole
44e2169cdb Further library additions and REPL updates 2024-12-27 19:27:04 -06:00
James Eversole
c820eda816 Include equality testing in basic library 2024-12-27 16:30:32 -06:00
James Eversole
e835caabbc Minor fix to REPL output for numbers
Uses # instead of text output. Adds several basic library functions.
2024-12-27 16:09:54 -06:00
James Eversole
0dd14a3aea Automatic decoding of supported literals in REPL
Automatic decoding & display of string, number, and list types in REPL.
General updates to README, style, and comments.
2024-12-27 15:40:50 -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
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
9f9aca4040 Initialize Repo
Working (but likely buggy!) lexing, parsing, and evaluation of Tree Calculus terms
2024-12-18 18:59:07 -06:00