diff --git a/include/xo/expression/LocalEnv.hpp b/include/xo/expression/LocalEnv.hpp index 2a7a3045..42a36f2e 100644 --- a/include/xo/expression/LocalEnv.hpp +++ b/include/xo/expression/LocalEnv.hpp @@ -28,15 +28,15 @@ namespace xo { return new LocalEnv(argv); } - Lambda * owner() const { return owner_; } + Lambda * origin() const { return origin_; } const std::vector> & argv() const { return argv_; } int n_arg() const { return argv_.size(); } TypeDescr fn_arg(uint32_t i) const { return argv_[i]->valuetype(); } - /** single-assign this environment's owner **/ - void assign_owner(Lambda * p) { - assert(owner_ == nullptr); - owner_ = p; + /** single-assign this environment's origin **/ + void assign_origin(Lambda * p) { + assert(origin_ == nullptr); + origin_ = p; } /** single-assign this environment's parent **/ @@ -68,10 +68,10 @@ namespace xo { * * Invariant: * @code - * owner_->local_env_ == this + * origin_->local_env_ == this * @endcode **/ - Lambda * owner_ = nullptr; + Lambda * origin_ = nullptr; /** formal argument names **/ std::vector> argv_; diff --git a/src/expression/Lambda.cpp b/src/expression/Lambda.cpp index 6c8afafd..2f84b178 100644 --- a/src/expression/Lambda.cpp +++ b/src/expression/Lambda.cpp @@ -48,7 +48,7 @@ namespace xo { body); /* need two-phase construction b/c pointer cycle */ - env->assign_owner(retval.get()); + env->assign_origin(retval.get()); return retval; } /*make*/