diff core/src/luan/modules/Io.luan @ 503:92c3d22745b8

make _ENV optional
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 20 May 2015 23:24:46 -0600
parents 5b36f663a1b8
children 473e456444ff
line wrap: on
line diff
--- a/core/src/luan/modules/Io.luan	Tue May 19 17:57:20 2015 -0600
+++ b/core/src/luan/modules/Io.luan	Wed May 20 23:24:46 2015 -0600
@@ -2,13 +2,15 @@
 local IoLuan = require "java:luan.modules.IoLuan"
 local System = require "java:java.lang.System"
 
-read_console_line = IoLuan.read_console_line
-schemes = IoLuan.newSchemes()
-uri = IoLuan.uri
-stdin = IoLuan.defaultStdin.table()
-socket_server = IoLuan.socket_server
-stdout = IoLuan.textWriter(System.out)
-stderr = IoLuan.textWriter(System.err)
+local M = {}
+
+M.read_console_line = IoLuan.read_console_line
+M.schemes = IoLuan.newSchemes()
+M.uri = IoLuan.uri
+M.stdin = IoLuan.defaultStdin.table()
+M.socket_server = IoLuan.socket_server
+M.stdout = IoLuan.textWriter(System.out)
+M.stderr = IoLuan.textWriter(System.err)
 
 
 local Luan = require "luan:Luan"
@@ -19,7 +21,7 @@
 local pairs = Luan.pairs
 local Table = require "luan:Table"
 
-function print_to(out,...)
+function M.print_to(out,...)
 	local list = {}
 	for v in Luan.values(...) do
 		list[#list+1] = to_string(v)
@@ -33,8 +35,8 @@
 	end
 end
 
-function print(...)
-	print_to(stdout,...)
+function M.print(...)
+	M.print_to(M.stdout,...)
 end
 
 
@@ -79,20 +81,20 @@
 	end
 end
 
-local uri = uri  -- make local
+local uri = M.uri  -- make local
 
-function repr(obj)
-	local old_out = stdout
+function M.repr(obj)
+	local old_out = M.stdout
 	return try {
 		function()
 			local string_uri = uri "string:"
-			stdout = string_uri.text_writer()
+			M.stdout = string_uri.text_writer()
 			do_repr(obj,{})
-			stdout.close()
+			M.stdout.close()
 			return string_uri.read_text()
 		end;
 		finally = function()
-			stdout = old_out
+			M.stdout = old_out
 		end;
 	}
 end
@@ -100,9 +102,10 @@
 
 -- useful for SimplyHTML responsiveness
 
-NO = {}
+local NO = {}
+M.NO = NO
 
-function dont_write_when_no(write_fn)
+function M.dont_write_when_no(write_fn)
 	return function(...)
 		for v in Luan.values(...) do
 			if v == NO then
@@ -112,3 +115,5 @@
 		write_fn(...)
 	end
 end
+
+return M