1
This commit is contained in:
parent
8cf0d04a93
commit
bb2f76674d
@ -29,9 +29,10 @@ namespace a8
|
||||
value = symbol;
|
||||
}
|
||||
|
||||
Value::Value(CProc cproc)
|
||||
Value::Value(const std::string& proc_name, CProc cproc)
|
||||
{
|
||||
type = ValueType::kCProc;
|
||||
name = proc_name;
|
||||
value = cproc;
|
||||
}
|
||||
|
||||
@ -67,6 +68,8 @@ namespace a8
|
||||
case ValueType::kCProc:
|
||||
{
|
||||
auto obj = a8::MutableXObject::CreateObject();
|
||||
obj->SetVal("type", "lambda");
|
||||
obj->SetVal("name", name);
|
||||
return *obj;
|
||||
}
|
||||
break;
|
||||
@ -86,7 +89,7 @@ namespace a8
|
||||
|
||||
void Scope::RegisterCProc(const std::string& name, CProc proc)
|
||||
{
|
||||
vars_[name] = std::make_shared<Value>(proc);
|
||||
vars_[name] = std::make_shared<Value>(name, proc);
|
||||
}
|
||||
|
||||
GlobalScope::GlobalScope()
|
||||
|
@ -36,12 +36,13 @@ namespace a8
|
||||
struct Value
|
||||
{
|
||||
ValueType type;
|
||||
std::string name;
|
||||
std::any value;
|
||||
|
||||
Value(Atom atom);
|
||||
Value(List list);
|
||||
Value(Symbol symbol);
|
||||
Value(CProc cproc);
|
||||
Value(const std::string& proc_name, CProc cproc);
|
||||
bool IsType(ValueType t) { return t == type; };
|
||||
a8::XObject ToXObject();
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user