Mercurial Hosting > luan
annotate src/luan/modules/Io.luan @ 775:1a68fc55a80c
simplify dir structure
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 26 Aug 2016 14:36:40 -0600 |
parents | core/src/luan/modules/Io.luan@55983a476a21 |
children | bae2d0c2576c |
rev | line source |
---|---|
321
7f7708e8fdd4
remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
320
diff
changeset
|
1 java() |
7f7708e8fdd4
remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
320
diff
changeset
|
2 local IoLuan = require "java:luan.modules.IoLuan" |
7f7708e8fdd4
remove import statement
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
320
diff
changeset
|
3 local System = require "java:java.lang.System" |
297
899253043270
remove PackageLuan.load_lib()
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
4 |
503 | 5 local M = {} |
6 | |
701 | 7 M.ip = IoLuan.ip |
765 | 8 M.my_ips = IoLuan.my_ips |
503 | 9 M.read_console_line = IoLuan.read_console_line |
10 M.schemes = IoLuan.newSchemes() | |
11 M.uri = IoLuan.uri | |
12 M.stdin = IoLuan.defaultStdin.table() | |
13 M.socket_server = IoLuan.socket_server | |
14 M.stdout = IoLuan.textWriter(System.out) | |
15 M.stderr = IoLuan.textWriter(System.err) | |
298
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
16 |
753
5e3970ccd86a
improve password handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
746
diff
changeset
|
17 -- used by http and rpc |
5e3970ccd86a
improve password handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
746
diff
changeset
|
18 M.password = "password" |
298
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
19 |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
680
diff
changeset
|
20 local Luan = require "luan:Luan.luan" |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
21 local error = Luan.error |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
22 local to_string = Luan.to_string or error() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
23 local type = Luan.type or error() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
24 local try = Luan.try or error() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
25 local ipairs = Luan.ipairs or error() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
26 local pairs = Luan.pairs or error() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
27 local values = Luan.values or error() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
28 local load = Luan.load or error() |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
680
diff
changeset
|
29 local Table = require "luan:Table.luan" |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
30 local unpack = Table.unpack or error() |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
680
diff
changeset
|
31 local String = require "luan:String.luan" |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
32 local encode = String.encode or error() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
33 local matches = String.matches or error() |
539
473e456444ff
Remove object-oriented primitive methods for string and binary
Franklin Schmidt <fschmidt@gmail.com>
parents:
503
diff
changeset
|
34 |
320
fed1893821bf
remove global namespace
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
319
diff
changeset
|
35 |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
36 -- do not change |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
37 function M.template_write(...) |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
38 return M.stdout.write(...) |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
39 end |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
40 |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
41 |
503 | 42 function M.print_to(out,...) |
298
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
43 local list = {} |
539
473e456444ff
Remove object-oriented primitive methods for string and binary
Franklin Schmidt <fschmidt@gmail.com>
parents:
503
diff
changeset
|
44 for v in values(...) do |
298
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
45 list[#list+1] = to_string(v) |
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
46 list[#list+1] = '\t' |
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
47 end |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
48 if #list > 0 then |
298
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
49 list[#list] = '\n' |
539
473e456444ff
Remove object-oriented primitive methods for string and binary
Franklin Schmidt <fschmidt@gmail.com>
parents:
503
diff
changeset
|
50 out.write( unpack(list) ) |
298
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
51 end |
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
52 end |
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
53 |
503 | 54 function M.print(...) |
55 M.print_to(M.stdout,...) | |
298
2ce23c7e2342
remove init.luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
297
diff
changeset
|
56 end |
392
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
57 |
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
58 |
589
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
59 function M.output_to(out,fn,...) |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
60 local old_out = M.stdout |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
61 return try( { |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
62 function(...) |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
63 M.stdout = out |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
64 fn(...) |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
65 end; |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
66 finally = function() |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
67 M.stdout = old_out |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
68 end; |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
69 }, ... ) |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
70 end |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
71 |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
72 local uri = M.uri -- make local |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
73 |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
74 function M.output_of(fn,...) |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
75 local string_uri = uri "string:" |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
76 local out = string_uri.text_writer() |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
77 M.output_to(out,fn,...) |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
78 out.close() |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
79 return string_uri.read_text() |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
80 end |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
81 |
97c8ae330efe
add varargs to Luan.try;
Franklin Schmidt <fschmidt@gmail.com>
parents:
554
diff
changeset
|
82 |
422 | 83 -- repr |
84 | |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
85 local function do_repr(out,obj,strict,done) |
422 | 86 local tp = type(obj) |
87 if tp == "table" then | |
88 if done[obj] == true then | |
591
790d5de23042
add "strict" param to Io.repr();
Franklin Schmidt <fschmidt@gmail.com>
parents:
589
diff
changeset
|
89 strict and error "circular reference" |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
90 out.write "<circular reference>" |
422 | 91 return |
92 end | |
93 done[obj] = true | |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
94 out.write( "{" ) |
422 | 95 local is_first = true |
96 local in_list = {} | |
97 for key, value in ipairs(obj) do | |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
98 if is_first then is_first = false else out.write ", " end |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
99 do_repr(out,value,strict,done) |
422 | 100 in_list[key] = true |
101 end | |
102 for key, value in pairs(obj) do | |
103 if in_list[key] ~= true then | |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
104 if is_first then is_first = false else out.write ", " end |
629
35dde32c02ab
change String.matches()
Franklin Schmidt <fschmidt@gmail.com>
parents:
591
diff
changeset
|
105 if type(key) == "string" and matches(key,"^[a-zA-Z_][a-zA-Z_0-9]*$") ~= nil then |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
106 out.write( key ) |
424 | 107 elseif type(key) == "table" then |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
108 out.write( "[<", key, ">]" ) |
422 | 109 else |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
110 out.write "[" |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
111 do_repr(out,key,strict,done) |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
112 out.write "]" |
422 | 113 end |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
114 out.write "=" |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
115 do_repr(out,value,strict,done) |
422 | 116 end |
117 end | |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
118 out.write "}" |
422 | 119 elseif tp == "string" then |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
120 out.write( '"', encode(obj), '"' ) |
422 | 121 elseif tp == "nil" or tp == "boolean" or tp == "number" then |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
122 out.write( obj ) |
422 | 123 else |
591
790d5de23042
add "strict" param to Io.repr();
Franklin Schmidt <fschmidt@gmail.com>
parents:
589
diff
changeset
|
124 strict and error("can't repr type '"..tp.."' of "..obj) |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
125 out.write( "<", obj, ">" ) |
422 | 126 end |
127 end | |
128 | |
591
790d5de23042
add "strict" param to Io.repr();
Franklin Schmidt <fschmidt@gmail.com>
parents:
589
diff
changeset
|
129 function M.repr(obj,strict) |
680
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
130 local string_uri = uri "string:" |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
131 local out = string_uri.text_writer() |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
132 do_repr(out,obj,strict or false,{}) |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
133 out.close() |
ecd436959855
improve template statements
Franklin Schmidt <fschmidt@gmail.com>
parents:
629
diff
changeset
|
134 return string_uri.read_text() |
422 | 135 end |
136 | |
137 | |
392
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
138 -- useful for SimplyHTML responsiveness |
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
139 |
503 | 140 local NO = {} |
141 M.NO = NO | |
392
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
142 |
503 | 143 function M.dont_write_when_no(write_fn) |
392
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
144 return function(...) |
539
473e456444ff
Remove object-oriented primitive methods for string and binary
Franklin Schmidt <fschmidt@gmail.com>
parents:
503
diff
changeset
|
145 for v in values(...) do |
392
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
146 if v == NO then |
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
147 return |
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
148 end |
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
149 end |
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
150 write_fn(...) |
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
151 end |
8668f3799ad9
add Io.dont_write_when_no
Franklin Schmidt <fschmidt@gmail.com>
parents:
321
diff
changeset
|
152 end |
503 | 153 |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
154 |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
155 -- debug |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
156 |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
157 function M.debug(prompt) |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
158 prompt = prompt or "luan_debug> " |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
159 local function console() |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
160 return M.read_console_line(prompt) |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
161 end |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
162 local env = {} |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
163 for line in console do |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
164 try { |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
165 function() |
694
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
166 local fn |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
167 try { |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
168 function() |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
169 fn = load("return "..line,"stdin",env) |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
170 end |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
171 catch = function(e) |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
172 fn = load(line,"stdin",env) |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
173 end |
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
174 } |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
175 M.print( fn() ) |
694
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
176 end |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
177 catch = function(e) |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
178 M.print(e) |
694
b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
179 end |
554
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
180 } |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
181 end |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
182 end |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
183 |
18504c41b0be
move debug() to Io and remove Debug module;
Franklin Schmidt <fschmidt@gmail.com>
parents:
539
diff
changeset
|
184 |
503 | 185 return M |