release: v21.0.0 – Full Self‑Hosting (S1/S2/S3 complete)
- DoD met: S1/S2 determinism (const/compare/threeblock-collect), PRIMARY hv1 inline no-fallback, S3 (llvmlite+kernel) reps green - Harness: v1→llvmlite direct, EXE links to libnyash_kernel.a - Python LLVM builder fixes: cmp normalization, ret PHI synthesis, mir_call flat shape - Using/alias polish (prod): modules-first; missing aliases added; duplicate using cleaned - Docs: phase-21.0 COMPLETE; CurrentTask closed; release notes added
This commit is contained in:
@ -2,20 +2,20 @@
|
||||
// Responsibility: minimal extern/global call handling on Hako side.
|
||||
// Scope (20.38準備): env.get / console.log のみ(C‑ABI導線は後段で接続)。
|
||||
|
||||
using selfhost.vm.hakorune-vm.str_cast as StrCast
|
||||
|
||||
static box HakoruneExternProviderBox {
|
||||
get(name, args) {
|
||||
// name: string like "env.get" or "env.console.log"
|
||||
if name == "env.get" {
|
||||
if args == null { return null }
|
||||
// args: single string key
|
||||
using selfhost.vm.hakorune-vm.str_cast as StrCast
|
||||
local key = StrCast.to_str(args)
|
||||
return env.get(key)
|
||||
}
|
||||
if name == "env.console.log" || name == "nyash.console.log" || name == "print" {
|
||||
// Accept single argument value → print as string
|
||||
if args == null { print(""); return 0 }
|
||||
using selfhost.vm.hakorune-vm.str_cast as StrCast
|
||||
print(StrCast.to_str(args))
|
||||
return 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user