diff src/luan/modules/Luan.luan @ 1434:56fb5cd8228d

cache compiled code in temp files
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 29 Dec 2019 15:25:07 -0700
parents 9ab267b9427c
children 851b9a48cc44
line wrap: on
line diff
--- a/src/luan/modules/Luan.luan	Tue Dec 24 17:57:47 2019 -0700
+++ b/src/luan/modules/Luan.luan	Sun Dec 29 15:25:07 2019 -0700
@@ -9,8 +9,9 @@
 Luan.get_metatable = BasicLuan.get_metatable
 Luan.hash_code = BasicLuan.hash_code
 Luan.ipairs = BasicLuan.ipairs
-Luan.load = BasicLuan.load
-Luan.load_file = Boot.load_file
+local java_load = BasicLuan.load
+local load_file = Boot.load_file
+Luan.load_file = load_file
 Luan.new_error = BasicLuan.new_error
 Luan.pairs = BasicLuan.pairs
 Luan.pcall = BasicLuan.pcall
@@ -26,15 +27,20 @@
 Luan.type = BasicLuan.type
 Luan.values = BasicLuan.values
 
+local function load(text,source_name,env,persist)
+	return java_load( text, source_name or "load", persist==true, env )
+end
+Luan.load = load
+
 function Luan.do_file(uri)
-	local fn = Luan.load_file(uri) or error("file '"..uri.."' not found")
+	local fn = load_file(uri) or error("file '"..uri.."' not found")
 	return fn()
 end
 
 Luan.VERSION = Luan.do_file "classpath:luan/version.luan"
 
 function Luan.eval(s,source_name,env)
-	return Luan.load( "return "..s, source_name or "eval", env )()
+	return load( "return "..s, source_name or "eval", env )()
 end
 
 return Luan