hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Namespaces | Typedefs | Functions
closcvt.C File Reference
#include <hobbes/lang/type.H>
#include <hobbes/lang/expr.H>
#include <hobbes/util/array.H>
Include dependency graph for closcvt.C:

Classes

struct  hobbes::ClosureConvertF
 

Namespaces

 hobbes
 

Typedefs

typedef std::set< TEnvPtr > hobbes::TEnvs
 

Functions

ExprPtr hobbes::makeTuple (const Exprs &exprs, const LexicalAnnotation &la)
 
QualTypePtr hobbes::concreteClosureMethodType (const MonoTypePtr &envty, const MonoTypes &fargtys, const MonoTypePtr &rty)
 
QualTypePtr hobbes::abstractClosureType (const Fn *f, const MonoTypes &fargtys, const MonoTypePtr &rty)
 
ExprPtr hobbes::closLookup (const std::string &envVarName, const VarSet &vs, const MonoTypePtr &envty, const ExprPtr &fbody, const LexicalAnnotation &la)
 
ExprPtr hobbes::closureMethod (const Fn *f, const VarSet &vs, const MonoTypePtr &envty, const MonoTypes &fargtys, const MonoTypePtr &rty, const LexicalAnnotation &la)
 
ExprPtr hobbes::closureEnv (const VarSet &vs, const MonoTypePtr &envty, const LexicalAnnotation &la)
 
MonoTypePtr hobbes::concreteClosureEnvType (unsigned int size)
 
ExprPtr hobbes::makeClosureOver (const Fn *f, const VarSet &vs)
 
static bool hobbes::hasRootBinding (const std::string &vn, const TEnvPtr &tenv, const TEnvs roots)
 
template<typename T >
std::set< T > hobbes::set ()
 
template<typename T , typename ... Ts>
std::set< T > hobbes::set (const T &x, const Ts &... xs)
 
ExprPtr hobbes::closureConvert (const TEnvPtr &rootTEnv, const ExprPtr &e)
 
ExprPtr hobbes::closureConvert (const TEnvPtr &rootTEnv, const std::string &vn, const ExprPtr &e)