break;
case kind::CHAIN: break;
case kind::FUNCTION_TYPE:
- for(size_t i = 0; i < n.getNumChildren() - 1; ++i) {
- if(i > 0) {
- out << ' ';
- }
- out << n[i];
+ out << "->";
+ for(size_t i = 0; i < n.getNumChildren(); ++i) {
+ out << " ";
+ toStream(out, n[i], toDepth, types, TypeNode::null());
}
- out << ") " << n[n.getNumChildren() - 1];
+ out << ")";
return;
case kind::SEXPR: break;
// uf theory
case kind::APPLY_UF: typeChildren = true; break;
-
+ // higher-order
+ case kind::HO_APPLY: break;
+ case kind::LAMBDA: out << smtKindString(k) << " "; break;
+
// arith theory
case kind::PLUS:
case kind::MULT:
// uf theory
case kind::APPLY_UF: break;
+
+ case kind::LAMBDA: return "lambda";
// arith theory
case kind::PLUS: return "+";