hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
closcvt.H
Go to the documentation of this file.
1 
2 #ifndef HOBBES_LANG_CLOSCVT_HPP_INCLUDED
3 #define HOBBES_LANG_CLOSCVT_HPP_INCLUDED
4 
5 #include <hobbes/lang/type.H>
6 #include <hobbes/lang/expr.H>
7 
8 namespace hobbes {
9 
10 // translate uses of lexically-scoped nested functions to explicit closures
11 ExprPtr closureConvert(const TEnvPtr& rootTEnv, const ExprPtr& e);
12 
13 // closure-convert recursive definitions
14 ExprPtr closureConvert(const TEnvPtr& rootTEnv, const std::string& vn, const ExprPtr& e);
15 
16 }
17 
18 #endif
19 
Definition: boot.H:7
std::shared_ptr< Expr > ExprPtr
Definition: expr.H:58
std::shared_ptr< TEnv > TEnvPtr
Definition: type.H:80
ExprPtr closureConvert(const TEnvPtr &rootTEnv, const ExprPtr &e)
Definition: closcvt.C:160