aboutsummaryrefslogtreecommitdiff
path: root/src/sexp/mod.rs
AgeCommit message (Collapse)Author
10 daysfeat: vector concatenationJoel Kronqvist
11 daysfeat: statics for fixed point recursionJoel Kronqvist
11 daysfix: removed obsolete code for handling types as they are now parsed ↵Joel Kronqvist
directly to atoms
14 daysrefactor: Added helper matches_pat for pattern matchingJoel Kronqvist
2025-08-10Added tests for functionsJoel Kronqvist
2025-08-10Added term level type literals (for function type signatures)Joel Kronqvist
2025-08-09Implemented print as ? -> ()Joel Kronqvist
2025-08-09Revert adding of print (its behavior was poorly designed).Joel Kronqvist
This reverts commit 3e1bf7f9946efe70d452c71494ac77ed39110804.
2025-08-06Added print, raised level on which UnboundGeneric error is returnedJoel Kronqvist
2025-08-06Implemented let-bindingsJoel Kronqvist
2025-08-06Added boilerplate and tests for let-bindsJoel Kronqvist
2025-08-05Implemented vector.Joel Kronqvist
2025-08-05Added vectors and tests for their evaluation and typingJoel Kronqvist
2025-08-05Added boilerplate and tests for booleans, integer comparisons and boolean ↵Joel Kronqvist
operators.
2025-08-02Added tests for type_check. Implemented std::fmt::Display for many enums. ↵Joel Kronqvist
Added type variants List(Type), and UndefinedType for use in error messages. Implemented type utility arr(a, b).
2025-08-01Modified quote so the values of lists are evaluatedJoel Kronqvist
2025-07-30Implemented evaluation according to tests. Quite a bit of changes were ↵Joel Kronqvist
required, see rest of commit message. SExp::Quote was added to let the interpreter know whether a list should be evaluated or treated as a literal list. It still needs code to be added for parsing it successfully. Some utility functions were needed: * SExp::is_value * SExp::consists_of_values * SExp::into_vec
2025-07-29Added Nil and modified tests to make this more of a list interpreter rather ↵Joel Kronqvist
than just a do-what-you-want-with-s-expressions thing
2025-07-26Implemented substitutionJoel Kronqvist
2025-07-26Added variables and tests for their substitutionJoel Kronqvist
2025-07-26Implemented integer operator dynamics, fixed some tests and added a ↵Joel Kronqvist
combination test.
2025-07-26Created necessary data structures and utilities for integers and their ↵Joel Kronqvist
operations; added tests for them