diff src/luan/modules/Package.luan @ 1578:c922446f53aa

immutable threading
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 08 Feb 2021 14:16:19 -0700
parents 8d95711f6615
children
line wrap: on
line diff
--- a/src/luan/modules/Package.luan	Sun Jan 31 16:04:39 2021 -0700
+++ b/src/luan/modules/Package.luan	Mon Feb 08 14:16:19 2021 -0700
@@ -1,9 +1,21 @@
 require "java"
 local PackageLuan = require "java:luan.modules.PackageLuan"
+local BasicLuan = require "java:luan.modules.BasicLuan"
+local set_metatable = BasicLuan.set_metatable
 
 local Package = {}
 
-Package.loaded = PackageLuan.loaded()
 Package.load = PackageLuan.load
 
+local loaded = PackageLuan.loaded  -- returns java map
+local mt = {}
+function mt.__index(_,key)
+	return loaded().get(key)
+end
+function mt.__new_index(_,key,value)
+	loaded().put(key,value)
+end
+Package.loaded = {}
+set_metatable(Package.loaded,mt)
+
 return Package