aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nomsu.lua8
-rwxr-xr-xnomsu.moon8
-rw-r--r--nomsu_compiler.lua2
-rw-r--r--nomsu_compiler.moon2
-rw-r--r--nomsu_environment.lua5
-rw-r--r--nomsu_environment.moon5
6 files changed, 15 insertions, 15 deletions
diff --git a/nomsu.lua b/nomsu.lua
index 9010227..b0e13bb 100644
--- a/nomsu.lua
+++ b/nomsu.lua
@@ -136,9 +136,9 @@ if not args or args.help then
os.exit(EXIT_FAILURE)
end
nomsu_environment.command_line_args = List(args.nomsu_args)
-nomsu_environment.optimization = args.optimization or 1
+nomsu_environment.OPTIMIZATION = tonumber(args.optimization or 1)
if args.version then
- nomsu_environment.run_file_1_in('core', nomsu_environment)
+ nomsu_environment.run_file_1_in('core', nomsu_environment, nomsu_environment.OPTIMIZATION)
nomsu_environment.run_1_in([[say (Nomsu version)]], nomsu_environment)
os.exit(EXIT_SUCCESS)
end
@@ -167,7 +167,7 @@ run = function()
end
end
if not (args.no_core) then
- nomsu_environment.run_file_1_in('core', nomsu_environment)
+ nomsu_environment.run_file_1_in('core', nomsu_environment, nomsu_environment.OPTIMIZATION)
end
for _index_0 = 1, #file_queue do
local f = file_queue[_index_0]
@@ -239,7 +239,7 @@ run = function()
end
end
if not (args.primary_file or args.exec_strings) then
- return nomsu_environment.run_file_1_in("tools/repl.nom", nomsu_environment)
+ return nomsu_environment.run_file_1_in("tools/repl.nom", nomsu_environment, nomsu_environment.OPTIMIZATION)
end
end
local debugger
diff --git a/nomsu.moon b/nomsu.moon
index 35726e7..7fd7d13 100755
--- a/nomsu.moon
+++ b/nomsu.moon
@@ -89,10 +89,10 @@ if not args or args.help
print usage
os.exit(EXIT_FAILURE)
nomsu_environment.command_line_args = List(args.nomsu_args)
-nomsu_environment.optimization = args.optimization or 1
+nomsu_environment.OPTIMIZATION = tonumber(args.optimization or 1)
if args.version
- nomsu_environment.run_file_1_in 'core', nomsu_environment
+ nomsu_environment.run_file_1_in 'core', nomsu_environment, nomsu_environment.OPTIMIZATION
nomsu_environment.run_1_in([[say (Nomsu version)]], nomsu_environment)
os.exit(EXIT_SUCCESS)
@@ -108,7 +108,7 @@ run = ->
input_files[filename] = true
unless args.no_core
- nomsu_environment.run_file_1_in 'core', nomsu_environment
+ nomsu_environment.run_file_1_in 'core', nomsu_environment, nomsu_environment.OPTIMIZATION
for f in *file_queue
for _,filename in Files.walk(f)
@@ -152,7 +152,7 @@ run = ->
nomsu_environment.run_file_1_in(filename, nomsu_environment, 0)
unless args.primary_file or args.exec_strings
- nomsu_environment.run_file_1_in("tools/repl.nom", nomsu_environment)
+ nomsu_environment.run_file_1_in("tools/repl.nom", nomsu_environment, nomsu_environment.OPTIMIZATION)
debugger = if args.debugger == "nil" then {}
else require(args.debugger or 'error_handling')
diff --git a/nomsu_compiler.lua b/nomsu_compiler.lua
index f262dd8..91e1237 100644
--- a/nomsu_compiler.lua
+++ b/nomsu_compiler.lua
@@ -136,7 +136,7 @@ local compile = setmetatable({
return compile.action["lua >"](compile, code)
end,
["use"] = function(compile, path)
- return LuaCode("run_file_1_in(" .. tostring(compile(path)) .. ", _ENV)")
+ return LuaCode("run_file_1_in(" .. tostring(compile(path)) .. ", _ENV, OPTIMIZATION)")
end,
["tests"] = function(compile)
return LuaCode("TESTS")
diff --git a/nomsu_compiler.moon b/nomsu_compiler.moon
index 97cb0a7..c71ee1d 100644
--- a/nomsu_compiler.moon
+++ b/nomsu_compiler.moon
@@ -98,7 +98,7 @@ compile = setmetatable({
--if path.type == 'Text' and #path == 1 and type(path[1]) == 'string'
-- unless import_to_1_from(compile, path[1])
-- compile_error tree, "Could not find anything to import for #{path}"
- return LuaCode("run_file_1_in(#{compile(path)}, _ENV)")
+ return LuaCode("run_file_1_in(#{compile(path)}, _ENV, OPTIMIZATION)")
["tests"]: (compile)-> LuaCode("TESTS")
["test"]: (compile, body)->
diff --git a/nomsu_environment.lua b/nomsu_environment.lua
index a4ade61..a55fe88 100644
--- a/nomsu_environment.lua
+++ b/nomsu_environment.lua
@@ -274,8 +274,8 @@ local nomsu_environment = Importer({
end,
FILE_CACHE = { },
run_file_1_in = function(path, environment, optimization)
- if optimization == nil then
- optimization = 1
+ if not optimization then
+ optimization = environment.OPTIMIZATION
end
if environment.FILE_CACHE[path] then
import_to_1_from(environment, environment.FILE_CACHE[path])
@@ -285,7 +285,6 @@ local nomsu_environment = Importer({
local i = _currently_running_files:index_of(path)
_currently_running_files:add(path)
local circle = _currently_running_files:from_1_to(i, -1)
- print(_currently_running_files, path)
error("Circular import detected:\n " .. circle:joined_with("\n..imports "))
end
_currently_running_files:add(path)
diff --git a/nomsu_environment.moon b/nomsu_environment.moon
index 0d80e0d..e17dcb2 100644
--- a/nomsu_environment.moon
+++ b/nomsu_environment.moon
@@ -150,7 +150,9 @@ nomsu_environment = Importer{
error("Attempt to run unknown thing: "..tostring(to_run))
FILE_CACHE: {}
- run_file_1_in: (path, environment, optimization=1)->
+ run_file_1_in: (path, environment, optimization)->
+ if not optimization
+ optimization = environment.OPTIMIZATION
if environment.FILE_CACHE[path]
import_to_1_from(environment, environment.FILE_CACHE[path])
return
@@ -158,7 +160,6 @@ nomsu_environment = Importer{
i = _currently_running_files\index_of(path)
_currently_running_files\add path
circle = _currently_running_files\from_1_to(i, -1)
- print(_currently_running_files, path)
error("Circular import detected:\n "..circle\joined_with("\n..imports "))
_currently_running_files\add path
mod = _1_forked(environment)