hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
record.H
Go to the documentation of this file.
1 
2 #ifndef HOBBES_LANG_TYPEPREDS_APPENDSTO_RECORD_HPP_INCLUDED
3 #define HOBBES_LANG_TYPEPREDS_APPENDSTO_RECORD_HPP_INCLUDED
4 
6 
7 namespace hobbes {
8 
10  bool satisfied(const TEnvPtr& tenv, const MonoTypePtr& rty, const MonoTypePtr& fname, const MonoTypePtr& fty) const;
11  bool satisfiable(const TEnvPtr& tenv, const MonoTypePtr& rty, const MonoTypePtr& fname, const MonoTypePtr& fty) const;
12  bool refine(const TEnvPtr& tenv, const MonoTypePtr& rty, const MonoTypePtr& fieldName, const MonoTypePtr& fty, MonoTypeUnifier* s);
13  PolyTypePtr lookup(const std::string& vn) const;
14  SymSet bindings() const;
15  ExprPtr unqualify(const TEnvPtr&, const ConstraintPtr&, const ExprPtr&, Definitions*) const;
16 };
17 
18 }
19 
20 #endif
ExprPtr unqualify(const TEnvPtr &, const ConstraintPtr &, const ExprPtr &, Definitions *) const
Definition: record.C:437
std::shared_ptr< PolyType > PolyTypePtr
Definition: type.H:23
SymSet bindings() const
Definition: record.C:226
bool satisfied(const TEnvPtr &tenv, const MonoTypePtr &rty, const MonoTypePtr &fname, const MonoTypePtr &fty) const
Definition: record.C:160
std::set< std::string > SymSet
Definition: tyunqualify.H:12
Definition: boot.H:7
bool satisfiable(const TEnvPtr &tenv, const MonoTypePtr &rty, const MonoTypePtr &fname, const MonoTypePtr &fty) const
Definition: record.C:193
MonoType::ptr MonoTypePtr
Definition: type.H:71
bool refine(const TEnvPtr &tenv, const MonoTypePtr &rty, const MonoTypePtr &fieldName, const MonoTypePtr &fty, MonoTypeUnifier *s)
Definition: record.C:203
Definition: typeinf.H:29
std::shared_ptr< Expr > ExprPtr
Definition: expr.H:58
std::shared_ptr< TEnv > TEnvPtr
Definition: type.H:80
std::vector< Definition > Definitions
Definition: expr.H:62
PolyTypePtr lookup(const std::string &vn) const
Definition: record.C:214
std::shared_ptr< Constraint > ConstraintPtr
Definition: type.H:33
Definition: appendsto.H:23
Definition: record.H:9