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

cache compiled code in temp files
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 29 Dec 2019 15:25:07 -0700
parents d7644b21b128
children bbc41b305935
line wrap: on
line diff
--- a/src/luan/Luan.java	Tue Dec 24 17:57:47 2019 -0700
+++ b/src/luan/Luan.java	Sun Dec 29 15:25:07 2019 -0700
@@ -67,7 +67,7 @@
 	}
 
 	public Object eval(String cmd,Object... args) throws LuanException {
-		return load(cmd,"eval").call(args);
+		return load(cmd,"eval",false).call(args);
 	}
 
 	public Object require(String modName) throws LuanException {
@@ -182,7 +182,7 @@
 	{
 		try {
 			String src = IoLuan.classpath(luan,classpath).read_text();
-			return luan.load(src,"classpath:"+classpath);
+			return luan.load(src,"classpath:"+classpath,true);
 		} catch(IOException e) {
 			throw new RuntimeException(e);
 		}
@@ -280,16 +280,16 @@
 		throw new LuanException("attempt to call a " + Luan.type(obj) + " value" );
 	}
 
-	public LuanFunction load(String text,String sourceName,LuanTable env)
+	public LuanFunction load(String text,String sourceName,boolean persist,LuanTable env)
 		throws LuanException
 	{
-		return LuanCompiler.compile(this,text,sourceName,env);
+		return LuanCompiler.compile(this,text,sourceName,persist,env);
 	}
 
-	public LuanFunction load(String text,String sourceName)
+	public LuanFunction load(String text,String sourceName,boolean persist)
 		throws LuanException
 	{
-		return load(text,sourceName,null);
+		return load(text,sourceName,persist,null);
 	}
 
 	public static Object toJava(Object obj) throws LuanException {