a34311f
Branches > main > a34311f > files
Return module table from bootstrap
Commit: a34311f35fb655119cd1193439c2a7c1d184cb51
Parent: c985374
3 changed files:
org/faddle/lang/bootstrap.lua view file
@@ -2,6 +2,7 @@ local read = require("org.faddle.lang.read").read local eval = require("org.faddle.lang.eval").eval+local modules = require("org.faddle.lang.eval").modules local create_env = require("org.faddle.lang.eval").create_env local faddle_path = ";?.fdl;?/init.fdl"@@ -19,12 +20,10 @@ local forms = read(source) for i = 1, #forms do local form = forms[i]- if i == #forms then- return eval(form, env)- else- eval(form, env)- end+ eval(form, env) end+ -- Return the module table+ return modules[env.current_module] end end endorg/faddle/lang/compile.lua view file
@@ -152,7 +152,8 @@ local function execute(lua_source, chunk_name) -- Really, needs to just have all of the std library loaded :p print(lua_source)- -- TODO core depends on itself...+ -- TODO depend on bootstrap, not on rt?+ -- I'm not sure actually local chunk, err = loadfn("local __rt = require('org.faddle.lang.rt');" .. lua_source, chunk_name) if not chunk then error(err)org/faddle/lang/eval.lua view file
@@ -167,4 +167,4 @@ return form -- string, number, function, thread, userdata, nil end -return {eval = eval, create_env = create_env}+return {eval = eval, create_env = create_env, modules = modules}