summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2025-09-24 17:18:54 -0400
committerLLLL Colonq <llll@colonq>2025-09-24 17:18:54 -0400
commitd5bb1abc0e3b945e01e1fbb5991537ad33de83c0 (patch)
treed2039d9cdd5f7b1e08297ccdd989a9e5db36f9ec /src/main.c
parentf5dd8de68e70d6948005aa8bdcde1a9c80a6c0ea (diff)
Add lambda
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 215e485..c056270 100644
--- a/src/main.c
+++ b/src/main.c
@@ -13,11 +13,23 @@ int main(int argc, char **argv) {
pit_lexer *lex = pit_lex_file(argv[1]);
+ printf("checking parse...\n");
pit_parser *parse = pit_parser_from_lexer(lex);
pit_value program = pit_parse(rt, parse);
pit_check_error_maybe_panic(rt);
pit_trace(rt, program);
+ printf("checking macro expansion...\n");
+ pit_value expanded = pit_expand_macros(rt, program);
+ pit_check_error_maybe_panic(rt);
+ pit_trace(rt, expanded);
+
+ printf("checking free variables...\n");
+ pit_value freevars = pit_free_vars(rt, PIT_NIL, expanded);
+ pit_check_error_maybe_panic(rt);
+ pit_trace(rt, freevars);
+
+ printf("checking eval...\n");
pit_value ret = pit_eval(rt, program);
pit_check_error_maybe_panic(rt);
pit_trace(rt, ret);