putchar('|');
switch(t->which){
case lambda_ident:
-// printf("%s(%p)", t->data.identifier.ident, (void *)t->data.identifier.binding);
printf("%s", t->data.identifier.ident);
break;
case lambda_abs:
putchar(' ');
- if(t->data.application.expr2->which == lambda_app)
+ if(t->data.application.expr2->which == lambda_abs)
putchar('(');
term_print(t->data.application.expr2, mark);
- if(t->data.application.expr2->which == lambda_app)
+ if(t->data.application.expr2->which == lambda_abs)
putchar(')');
break;
}
void lambda_print(struct lambda *t, struct lambda *mark)
{
term_print(t, mark);
- printf(";");
+ putchar('\n');
}