aboutsummaryrefslogtreecommitdiff
path: root/src/sexp/step.rs
AgeCommit message (Collapse)Author
13 daysfeat: pattern matching evaluation in step.rsJoel Kronqvist
2025-08-10Implemented functionsJoel 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-05Added vectors and tests for their evaluation and typingJoel Kronqvist
2025-08-05Fix: quote is not a typewise identity function. Added vt(&str) as util for ↵Joel Kronqvist
VarType(String).
2025-08-05Implemented booleans (no if-else yet)Joel Kronqvist
2025-08-05Added boilerplate and tests for booleans, integer comparisons and boolean ↵Joel Kronqvist
operators.
2025-08-05Changed project nameJoel Kronqvist
2025-08-04Added repl and some documentation. Improved error messages. Removed dead code.Joel Kronqvist
* Removed same_variant in parse::parsetree * Added SExp::multistep (for use of the repl) Improved error messages: * Added parenthesis around types * Changed how errors propagate inferring generics: added the error variant ArgumentsDontMatchGeneric, implemented the displaying of it, added tests for it. * Had to change some tests to match for the new changes
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 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