[Feat] 可变参数 variadic! 目前函数若使用可变参数,参数只能为1个

语法 func (arg...) 获取到的类型为 List
       若要判断类型,使用标准库 std.value.type
[Feat] 标准库 std.io std.value 实现,提供print,read等函数
       详见 Library/std 实现
[Impl] 分离 builtin value 和 function注册
This commit is contained in:
2025-12-26 22:26:06 +08:00
parent 20f39b7eba
commit 25c971118a
7 changed files with 143 additions and 21 deletions

View File

@@ -72,7 +72,7 @@ namespace Fig
FString(u8"<Global>"));
}
void RegisterBuiltins()
void RegisterBuiltins() // only function
{
assert(global != nullptr);
@@ -87,6 +87,11 @@ namespace Fig
std::make_shared<Object>(f)
);
}
}
void RegisterBuiltinsValue()
{
assert(global != nullptr);
for (auto &[name, val] : Builtins::builtinValues)
{
@@ -94,8 +99,7 @@ namespace Fig
name,
val->getTypeInfo(),
AccessModifier::Const,
val
);
val);
}
}
/* Left-value eval*/