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:
term_print(t, mark);
break;
case lambda_app:
- if(t->data.application.expr1->which == lambda_abs)
- putchar('(');
+ putchar('(');
term_print(t->data.application.expr1, mark);
if(t->data.application.expr1->which == lambda_abs)
- putchar(')');
-
- putchar(' ');
-
- if(t->data.application.expr2->which == lambda_app)
- putchar('(');
+ printf(") (");
term_print(t->data.application.expr2, mark);
- if(t->data.application.expr2->which == lambda_app)
- putchar(')');
+ putchar(')');
break;
}
if(t == mark)