|
bool | hobbes::isRecordLike (const MonoTypePtr &mt) |
|
const Record::Members & | hobbes::recordMembers (const MonoTypePtr &mt) |
|
bool | hobbes::isTupleLike (const std::string &fname) |
|
bool | hobbes::isTupleLike (const Record::Members &ms) |
|
bool | hobbes::isTupleLike (const MkRecord::FieldDefs &fds) |
|
Record::Members | hobbes::tupleNormalize (const Record::Members &ms) |
|
MkRecord::FieldDefs | hobbes::tupleNormalize (const MkRecord::FieldDefs &fds) |
|
MonoTypePtr | hobbes::makeRecordType (const Record::Members &ms) |
|
ExprPtr | hobbes::makeRecord (const MkRecord::FieldDefs &fds, const LexicalAnnotation &la) |
|
void | hobbes::failAppendRecordConstraint (const std::string &lhs, const std::string &rhs, const std::string &result) |
|
void | hobbes::importDefs (const Record::Members &ms, Record::Members *out) |
|
MonoTypePtr | hobbes::joinedRecord (const MonoTypePtr &lhs, const MonoTypePtr &rhs) |
|
QualTypePtr | hobbes::joinedRecord (const QualTypePtr &lhs, const QualTypePtr &rhs) |
|
bool | hobbes::equivalent (const TEnvPtr &tenv, const Record::Member &m0, const Record::Member &m1) |
|
MonoTypePtr | hobbes::recordSuffix (const TEnvPtr &tenv, const MonoTypePtr &lhs, const MonoTypePtr &result) |
|
MonoTypePtr | hobbes::recordPrefix (const TEnvPtr &tenv, const MonoTypePtr &rhs, const MonoTypePtr &result) |
|
void | hobbes::checkSatisfiable (const MonoTypePtr &ty) |
|
void | hobbes::tryRefine (const TEnvPtr &tenv, const MonoTypePtr &lhs, const MonoTypePtr &rhs, const MonoTypePtr &result, MonoTypeUnifier *s) |
|
void | hobbes::insertFieldDefs (const MkRecord::FieldDefs &ifds, MkRecord::FieldDefs *out) |
|
void | hobbes::insertFieldDefs (const MkRecord::FieldDefs &ifds, size_t c, MkRecord::FieldDefs *out) |
|
void | hobbes::insertFieldDefsSfx (const MkRecord::FieldDefs &ifds, size_t c, MkRecord::FieldDefs *out) |
|
void | hobbes::insertFieldDefsFromProj (const ExprPtr &rec, const Record *rty, MkRecord::FieldDefs *out) |
|
void | hobbes::insertFieldDefsFromProj (const ExprPtr &rec, const MonoTypePtr &rty, MkRecord::FieldDefs *out) |
|
void | hobbes::insertFieldDefsFromProj (const ExprPtr &rec, MkRecord::FieldDefs *out) |
|
ExprPtr | hobbes::recordAppendExpr (const MkRecord *lhs, const MkRecord *rhs) |
|
ExprPtr | hobbes::recordAppendExpr (const MkRecord *lhs, const ExprPtr &rhs) |
|
ExprPtr | hobbes::recordAppendExpr (const ExprPtr &lhs, const MkRecord *rhs) |
|
ExprPtr | hobbes::recordAppendExpr (const ExprPtr &lhs, const ExprPtr &rhs) |
|
ExprPtr | hobbes::recordAppendFunction (const MonoTypePtr <y, const MonoTypePtr &rty, const MonoTypePtr &resty, const LexicalAnnotation &la) |
|
ExprPtr | hobbes::recordPrefixFunction (const MonoTypePtr &recty, const MonoTypePtr &resty, const LexicalAnnotation &la) |
|
ExprPtr | hobbes::recordPrefix (const ExprPtr &rec, const MonoTypePtr &resty) |
|
ExprPtr | hobbes::recordSuffixFunction (const MonoTypePtr &recty, const MonoTypePtr &resty, const LexicalAnnotation &la) |
|
ExprPtr | hobbes::recordSuffix (const ExprPtr &rec, const MonoTypePtr &resty) |
|