xo-interpreter2 stack: lambda expr -> closure runs in VSM utest
This commit is contained in:
parent
9a4a6b7188
commit
0170b8dacf
22 changed files with 358 additions and 73 deletions
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
namespace xo {
|
||||
using xo::mm::AGCObject;
|
||||
using xo::print::APrintable;
|
||||
|
||||
namespace scm {
|
||||
|
||||
|
|
@ -69,6 +70,24 @@ namespace xo {
|
|||
return shallow_size();
|
||||
}
|
||||
|
||||
// ----- printable facet -----
|
||||
|
||||
bool
|
||||
DClosure::pretty(const ppindentinfo & ppii) const
|
||||
{
|
||||
obj<APrintable,DLambdaExpr> lambda_pr(const_cast<DLambdaExpr *>(lambda_));
|
||||
obj<APrintable,DLocalEnv> env_pr(const_cast<DLocalEnv *>(env_));
|
||||
|
||||
bool lambda_present = lambda_pr;
|
||||
bool env_present = env_pr;
|
||||
|
||||
return ppii.pps()->pretty_struct
|
||||
(ppii,
|
||||
"DClosure",
|
||||
refrtag("lambda", lambda_pr, lambda_present),
|
||||
refrtag("env", env_pr, env_present));
|
||||
}
|
||||
|
||||
} /*namespace scm*/
|
||||
} /*namespace xo*/
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue