2 #ifndef HOBBES_LANG_TYPEPREDS_CONSRECORD_HPP_INCLUDED 3 #define HOBBES_LANG_TYPEPREDS_CONSRECORD_HPP_INCLUDED std::shared_ptr< PolyType > PolyTypePtr
Definition: type.H:23
Definition: tyunqualify.H:20
void explain(const TEnvPtr &tenv, const ConstraintPtr &cst, const ExprPtr &e, Definitions *ds, annmsgs *msgs)
Definition: consrecord.C:153
static std::string constraintName()
Definition: consrecord.C:65
FunDeps dependencies(const ConstraintPtr &) const
Definition: consrecord.C:179
bool satisfied(const TEnvPtr &, const ConstraintPtr &, Definitions *) const
Definition: consrecord.C:105
SymSet bindings() const
Definition: consrecord.C:170
std::set< std::string > SymSet
Definition: tyunqualify.H:12
Definition: consrecord.H:20
bool satisfiable(const TEnvPtr &, const ConstraintPtr &, Definitions *) const
Definition: consrecord.C:144
std::vector< FunDep > FunDeps
Definition: tyunqualify.H:17
bool refine(const TEnvPtr &, const ConstraintPtr &, MonoTypeUnifier *, Definitions *)
Definition: consrecord.C:69
ExprPtr unqualify(const TEnvPtr &, const ConstraintPtr &, const ExprPtr &, Definitions *) const
Definition: consrecord.C:261
std::shared_ptr< Expr > ExprPtr
Definition: expr.H:58
PolyTypePtr lookup(const std::string &vn) const
Definition: consrecord.C:156
std::shared_ptr< TEnv > TEnvPtr
Definition: type.H:80
std::vector< Definition > Definitions
Definition: expr.H:62
std::shared_ptr< Constraint > ConstraintPtr
Definition: type.H:33
std::vector< annmsg > annmsgs
Definition: lannotation.H:58