1#![allow(dead_code)]
20#![allow(unused_macros)]
21#![allow(unused_mut)]
22#![allow(unused_variables)]
23#![allow(non_snake_case)]
24#![allow(non_camel_case_types)]
25#![allow(unreachable_code)]
26#![allow(unused_parens)]
27
28pub type _lua_gc_t<X> = std::sync::Arc<X>;
29pub fn _lua_gc_t__new<X>(x: X) -> _lua_gc_t<X> {
30 std::sync::Arc::new(x)
31}
32pub type _lua_data = _lua_gc_t<_lua_data_unpack>;
33pub fn _lua_data__pack(data: _lua_data_unpack) -> _lua_data {
34 _lua_gc_t__new(data)
35}
36pub struct _lua_data_unpack_function (Box<Fn(Vec<_lua_data>) -> _lua_data>);
37impl std::hash::Hash for _lua_data_unpack_function {
38 fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
39 let sel: *const (Fn(Vec<_lua_data>) -> _lua_data) = &*self.0;
40 sel.hash(state);
41 }
42}
43impl PartialEq for _lua_data_unpack_function {
44 fn eq(&self, other: &Self) -> bool {
45 let sel: *const (Fn(Vec<_lua_data>) -> _lua_data) = &*self.0;
46 let other: *const (Fn(Vec<_lua_data>) -> _lua_data) = &*other.0;
47 sel == other
48 }
49}
50impl Eq for _lua_data_unpack_function {}
51impl std::fmt::Debug for _lua_data_unpack_function {
52 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
53 let sel: *const (Fn(Vec<_lua_data>) -> _lua_data) = &*self.0;
54 write!(f, "_lua_data_unpack_function({:p})", sel)
55 }
56}
57#[derive(Debug)]
58pub struct _lua_data_unpack_table (std::sync::Mutex<std::collections::HashMap<_lua_data,_lua_data>>);
59impl std::hash::Hash for _lua_data_unpack_table {
60 fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
61 let sel: *const (std::collections::HashMap<_lua_data,_lua_data>) = &*self.0.lock().unwrap();
62 sel.hash(state);
63 }
64}
65impl PartialEq for _lua_data_unpack_table {
66 fn eq(&self, other: &Self) -> bool {
67 let sel: *const (std::collections::HashMap<_lua_data,_lua_data>) = &*self.0.lock().unwrap();
68 let other: *const (std::collections::HashMap<_lua_data,_lua_data>) = &*other.0.lock().unwrap();
69 sel == other
70 }
71}
72impl Eq for _lua_data_unpack_table {}
73#[derive(Debug)]
74pub struct _lua_data_unpack_number (f64);
75impl std::hash::Hash for _lua_data_unpack_number {
76 fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
77 self.0.to_bits().hash(state);
78 }
79}
80impl PartialEq for _lua_data_unpack_number {
81 fn eq(&self, other: &Self) -> bool {
82 self.0 == other.0 }
84}
85impl Eq for _lua_data_unpack_number {}
86#[derive(Hash,PartialEq,Eq,Debug)]
87pub enum _lua_data_unpack {
88 Number(_lua_data_unpack_number),
89 String(String),
90 Table(_lua_data_unpack_table),
91 Function(_lua_data_unpack_function),
92 True,
93 False,
94 Nil,
95}
96impl std::fmt::Display for _lua_data_unpack {
97 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
98 match self {
99 _lua_data_unpack::Number(_lua_data_unpack_number(x)) => write!(f, "{}", x),
100 _lua_data_unpack::String(x) => write!(f, "{}", x),
101 _lua_data_unpack::Table(x) => {
102 let p: *const (std::collections::HashMap<_lua_data,_lua_data>) = &*x.0.lock().unwrap();
103 write!(f, "table: {:p}", p)},
104 _lua_data_unpack::Function(x) => {
105 let p: *const (Fn(Vec<_lua_data>) -> _lua_data) = &*x.0;
106 write!(f, "function: {:p}", p)},
107 _lua_data_unpack::True => write!(f, "true"),
108 _lua_data_unpack::False => write!(f, "false"),
109 _lua_data_unpack::Nil => write!(f, "nil"),
110 }
111 }
112}
113impl _lua_data_unpack {
114 pub fn as_bool(&self) -> bool {
115 match self {
116 _lua_data_unpack::False | _lua_data_unpack::Nil => false,
117 _ => true,
118 }
119 }
120 pub fn as_f64(&self) -> f64 {
121 if let _lua_data_unpack::Number(x) = self {
122 x.0
123 } else {
124 panic!("isn't number")
125 }
126 }
127 pub fn lua_tonumber(&self) -> _lua_data {
128 if let _lua_data_unpack::String(x) = self {
129 if let Ok(r) = x.parse::<f64>() { _lua_num(r) } else { _lua_nil() }
130 } else if let _lua_data_unpack::Number(x) = self {
131 _lua_data__pack(_lua_data_unpack::Number(_lua_data_unpack_number(x.0)))
132 } else {
133 _lua_nil()
134 }
135 }
136 pub fn as_string(&self) -> String {
137 if let _lua_data_unpack::String(x) = self {
138 x.clone()
139 } else {
140 panic!("isn't string")
141 }
142 }
143 pub fn from_bool(x: bool) -> Self {
144 if x { _lua_data_unpack::True } else { _lua_data_unpack::False }
145 }
146}
147pub fn _lua_str<'a>(x: &'a str) -> _lua_data {
148 _lua_data__pack(_lua_data_unpack::String(String::from(x)))
149}
150#[macro_export]
151macro_rules! _lua_num {
152 ($x:expr) => (_lua_num($x as f64))
153}
154pub fn _lua_num(x: f64) -> _lua_data {
155 _lua_data__pack(_lua_data_unpack::Number(_lua_data_unpack_number(x)))
156}
157pub fn _lua_table(xs: Vec<(_lua_data, _lua_data)>) -> _lua_data {
158 _lua_data__pack(_lua_data_unpack::Table(_lua_data_unpack_table(std::sync::Mutex::new(xs.iter().cloned().collect()))))
159}
160pub fn _lua_len(xs: _lua_data) -> _lua_data {
161 if let _lua_data_unpack::Table(t) = &*xs {
162 _lua_num!(t.0.lock().unwrap().len()) } else {
164 panic!("attempt to get length of a value that isn't a table")
165 }
166}
167pub fn _lua_lookup(map: _lua_data, key: _lua_data) -> _lua_data {
168 if let _lua_data_unpack::Table(t) = &*map {
169 if let Some(x) = t.0.lock().unwrap().get(&key) {
170 x.clone()
171 } else {
172 _lua_data__pack(_lua_data_unpack::Nil)
173 }
174 } else {
175 panic!("attempt to index a value that isn't a table")
176 }
177}
178pub fn _lua_set(map: _lua_data, key: _lua_data, val: _lua_data) {
179 if let _lua_data_unpack::Table(t) = &*map {
180 t.0.lock().unwrap().insert(key,val);
181 } else {
182 panic!("attempt to index a value that isn't a table");
183 }
184}
185pub fn _lua_vec(xs: Vec<_lua_data>) -> _lua_data {
186 let mut result = std::collections::HashMap::new();
187 for i in 1..=xs.len() {
188 result.insert(_lua_num(i as f64), xs[i-1].clone());
189 }
190 _lua_data__pack(_lua_data_unpack::Table(_lua_data_unpack_table(std::sync::Mutex::new(result))))
191}
192pub fn _lua_lambda(f: Box<Fn(Vec<_lua_data>) -> _lua_data>) -> _lua_data {
193 _lua_data__pack(_lua_data_unpack::Function(_lua_data_unpack_function(f)))
194}
195pub fn _lua_call(f: _lua_data, args: Vec<_lua_data>) -> _lua_data {
196 if let _lua_data_unpack::Function(v) = &*f {
197 v.0(args)
198 } else {
199 panic!("attempt to call a value that isn't a function")
200 }
201}
202pub fn _lua_not(x: _lua_data) -> _lua_data {
203 _lua_bool(!x.as_bool())
204}
205pub fn _lua_bool(x: bool) -> _lua_data {
206 _lua_data__pack(_lua_data_unpack::from_bool(x))
207}
208#[macro_export]
209macro_rules! _lua_op {
210 (or, $x: expr, $y: expr) => (if $x.as_bool() { $x } else { $y });
211 (and, $x: expr, $y: expr) => (if !$x.as_bool() { $x } else { $y });
212 (add, $x: expr, $y: expr) => (_lua_num($x.as_f64() + $y.as_f64()));
213 (sub, $x: expr, $y: expr) => (_lua_num($x.as_f64() - $y.as_f64()));
214 (mul, $x: expr, $y: expr) => (_lua_num($x.as_f64() * $y.as_f64()));
215 (div, $x: expr, $y: expr) => (_lua_num($x.as_f64() / $y.as_f64()));
216 (rem, $x: expr, $y: expr) => (panic!("not implemented: rem"));
217 (exp, $x: expr, $y: expr) => (panic!("not implemented: exp"));
218 (eq, $x: expr, $y: expr) => (_lua_bool($x == $y));
219 (not_eq, $x: expr, $y: expr) => (_lua_bool($x != $y));
220 (less_eq, $x: expr, $y: expr) => (_lua_bool($x.as_f64() <= $y.as_f64()));
221 (greater_eq, $x: expr, $y: expr) => (_lua_bool($x.as_f64() >= $y.as_f64()));
222 (less, $x: expr, $y: expr) => (_lua_bool($x.as_f64() < $y.as_f64()));
223 (greater, $x: expr, $y: expr) => (_lua_bool($x.as_f64() > $y.as_f64()));
224 (concat, $x: expr, $y: expr) => (_lua_data__pack(_lua_data_unpack::String($x.as_string() + &$y.as_string())));
225}
226pub fn _lua_nil() -> _lua_data {
227 _lua_data__pack(_lua_data_unpack::Nil)
228}
229pub fn _lua_true() -> _lua_data {
230 _lua_data__pack(_lua_data_unpack::True)
231}
232pub fn _lua_false() -> _lua_data {
233 _lua_data__pack(_lua_data_unpack::False)
234}
235pub fn _lua_neg(x: _lua_data) -> _lua_data {
236 _lua_num(-x.as_f64())
237}
238pub fn lang() -> _lua_data {
239 let print = std::sync::Arc::new(std::cell::RefCell::new(_lua_lambda(Box::new(|xs| {
241 println!("{}", xs.iter().fold(String::from(""), |acc, x| if acc == "" { format!("{}", x) } else { acc + "\t" + &format!("{}", x) }));
242 _lua_nil()
243 }))));
244 let tostring = std::sync::Arc::new(std::cell::RefCell::new(_lua_lambda(Box::new(|mut xs| {
246 let x = if xs.is_empty() { _lua_nil() } else { xs.remove(0) };
247 _lua_data__pack(_lua_data_unpack::String(format!("{}", x)))
248 }))));
249 let tonumber = std::sync::Arc::new(std::cell::RefCell::new(_lua_lambda(Box::new(|mut xs| {
252 let arg: _lua_data = if xs.is_empty() { _lua_nil() } else { xs.remove(0) };
253 arg.lua_tonumber()
254 }))));
255 let error = std::sync::Arc::new(std::cell::RefCell::new(_lua_lambda(Box::new(|mut xs| {
258 let message: _lua_data = if xs.is_empty() { _lua_nil() } else { xs.remove(0) };
259 panic!(message.as_string())
260 }))));
261 let table = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![
262 (_lua_str("insert"), _lua_lambda(Box::new(|mut xs| {
264 if xs.len() <= 2 {
265 let list = if xs.is_empty() { _lua_nil() } else { xs.remove(0) };
266 let value = if xs.is_empty() { _lua_nil() } else { xs.remove(0) };
267 _lua_set(list.clone(), _lua_op!(add, _lua_len(list.clone()), _lua_num!(1)), value.clone());
268 } else {
269 let list = if xs.is_empty() { _lua_nil() } else { xs.remove(0) };
270 let pos = (if xs.is_empty() { _lua_nil() } else { xs.remove(0) }).as_f64() as usize;
271 let value = if xs.is_empty() { _lua_nil() } else { xs.remove(0) };
272 let len = _lua_len(list.clone()).as_f64() as usize;
273 for i in (pos..=len).rev() {
274 _lua_set(list.clone(), _lua_op!(add, _lua_num!(i), _lua_num!(1)), _lua_lookup(list.clone(), _lua_num!(i)));
275 }
276 _lua_set(list.clone(), _lua_num!(pos), value);
277 }
278 _lua_nil()
279 }))),
280 ])));
281 let string = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![
282 (_lua_str("sub"), _lua_lambda(Box::new(|mut xs| {
285 let s: String = (if xs.is_empty() { _lua_nil() } else { xs.remove(0) }).as_string().clone();
286 let i = (if xs.is_empty() { _lua_nil() } else { xs.remove(0) }).as_f64() as usize;
287 let j = (if xs.is_empty() { _lua_nil() } else { xs.remove(0) }).as_f64() as usize;
288 _lua_str(&s[i-1..j])
289 }))),
290 ])));
291let __TS__ArrayPush = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
292*__TS__ArrayPush.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
293let arr = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
294let mut _lua_tmp_vararg = _lua_vec(_lua_arg_tmp);
295let items = std::sync::Arc::new(std::cell::RefCell::new(_lua_tmp_vararg.clone()));
296let _lua_tmp_t={ let _lua_tmp = items.borrow(); _lua_tmp.clone() };
297for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
298let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
299let item=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
300_lua_set({ let _lua_tmp = arr.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_len({ let _lua_tmp = arr.borrow(); _lua_tmp.clone() }), _lua_num!(1)},{ let _lua_tmp = item.borrow(); _lua_tmp.clone() });
301}
302return _lua_len({ let _lua_tmp = arr.borrow(); _lua_tmp.clone() });
303
304_lua_nil()
305}}));
306let __TS__ArrayUnshift = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
307*__TS__ArrayUnshift.borrow_mut() = _lua_lambda(Box::new({let table = table.clone();
308move |mut _lua_arg_tmp| {
309let arr = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
310let mut _lua_tmp_vararg = _lua_vec(_lua_arg_tmp);
311let items = std::sync::Arc::new(std::cell::RefCell::new(_lua_tmp_vararg.clone()));
312{
313let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_op!{sub, _lua_len({ let _lua_tmp = items.borrow(); _lua_tmp.clone() }), _lua_num!(1)}));
314while (_lua_op!{greater_eq, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}).as_bool() {
315_lua_call(_lua_lookup({ let _lua_tmp = table.borrow(); _lua_tmp.clone() },_lua_str("insert")), vec![{ let _lua_tmp = arr.borrow(); _lua_tmp.clone() }, _lua_num!(1), _lua_lookup({ let _lua_tmp = items.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)})]);
316*i.borrow_mut() = _lua_op!{sub, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
317}
318}
319return _lua_len({ let _lua_tmp = arr.borrow(); _lua_tmp.clone() });
320
321_lua_nil()
322}}));
323let LANG_ERROR = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
324let LANG_ASSERT = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
325let recordstring_null_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
326let recordstring_shadow_copy = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
327let trampoline_return = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
328let trampoline_delay = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
329let atom_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
330let construction_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
331let null_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
332let data_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
333let just_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
334let delay_evaluate_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
335let delay_builtin_func_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
336let delay_builtin_form_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
337let delay_apply_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
338let comment_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
339let hole_t = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
340let new_comment = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
341let comment_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
342let comment_comment = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
343let comment_x = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
344let un_comment_all = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
345let atom_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
346let un_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
347let atom_equal_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
348let new_construction = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
349let construction_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
350let construction_head = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
351let construction_tail = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
352let null_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
353let null_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
354let new_data = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
355let data_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
356let data_name = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
357let data_list = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
358let just_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
359let un_just = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
360let evaluate = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
361let delay_evaluate_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
362let delay_evaluate_env = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
363let delay_evaluate_x = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
364let builtin_form_apply = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
365let delay_builtin_form_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
366let delay_builtin_form_env = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
367let delay_builtin_form_f = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
368let delay_builtin_form_xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
369let builtin_func_apply = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
370let delay_builtin_func_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
371let delay_builtin_func_f = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
372let delay_builtin_func_xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
373let apply = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
374let delay_apply_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
375let delay_apply_f = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
376let delay_apply_xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
377let force_all_rec = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
378let unlazy_all_rec = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
379let new_hole_do = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
380let hole_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
381let lang_assert_equal_set_do = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
382let hole_set_do = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
383let lang_copy_do = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
384let system_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
385let name_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
386let function_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
387let form_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
388let mapping_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
389let error_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
390let the_world_stopped_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
391let data_name_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
392let data_list_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
393let data_p_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
394let construction_p_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
395let construction_head_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
396let construction_tail_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
397let atom_p_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
398let null_p_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
399let equal_p_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
400let apply_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
401let evaluate_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
402let if_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
403let quote_form_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
404let lambda_form_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
405let function_builtin_use_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
406let form_builtin_use_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
407let form_use_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
408let comment_form_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
409let new_error = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
410let jsArray_to_list = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
411let new_list = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
412let un_just_all = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
413let delay_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
414let delay_just_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
415let lazy_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
416let force_all_inner = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
417let force1 = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
418let force_all = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
419let force_uncomment_all = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
420let unlazy1 = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
421let unlazy_list_1_keepcomment = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
422let name_unlazy1_p3 = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
423let make_enviroment_null_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
424let enviroment_null_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
425let enviroment_helper_print0 = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
426let enviroment_helper_print_step = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
427let enviroment_helper_node_expand = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
428let enviroment_helper_tree_shadow_copy = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
429let enviroment_set_helper = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
430let env_null_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
431let env_set = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
432let env_get = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
433let must_env_get = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
434let env2val = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
435let env_foreach = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
436let real_evaluate = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
437let real_builtin_func_apply_s = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
438let real_apply = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
439let real_builtin_func_apply = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
440let real_builtin_form_apply = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
441let make_quote = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
442let new_lambda = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
443let jsbool_equal_p_inner = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
444let equal_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
445let simple_print = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
446*LANG_ERROR.borrow_mut() = _lua_lambda(Box::new({let error = error.clone();
447move |mut _lua_arg_tmp| {
448_lua_call({ let _lua_tmp = error.borrow(); _lua_tmp.clone() }, vec![_lua_str("TheLanguage PANIC")]);
449
450_lua_nil()
451}}));
452*LANG_ASSERT.borrow_mut() = _lua_lambda(Box::new({let LANG_ERROR = LANG_ERROR.clone();
453move |mut _lua_arg_tmp| {
454let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
455if (_lua_not({ let _lua_tmp = x.borrow(); _lua_tmp.clone() })).as_bool() {
456return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
457}
458
459_lua_nil()
460}}));
461*recordstring_null_p.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
462let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
463for (_lua_tmp_k, _) in { let _lua_tmp: std::collections::HashMap<_lua_data,_lua_data> = if let _lua_data_unpack::Table(t) = &*({ let _lua_tmp = x.borrow(); _lua_tmp.clone() }) { t.0.lock().unwrap().clone() } else { panic!("not table") }; _lua_tmp }.iter() {
464let k=std::sync::Arc::new(std::cell::RefCell::new(_lua_tmp_k.clone()));
465return _lua_false();
466}
467return _lua_true();
468
469_lua_nil()
470}}));
471*recordstring_shadow_copy.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
472let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
473let result = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
474for (_lua_tmp_k, _) in { let _lua_tmp: std::collections::HashMap<_lua_data,_lua_data> = if let _lua_data_unpack::Table(t) = &*({ let _lua_tmp = x.borrow(); _lua_tmp.clone() }) { t.0.lock().unwrap().clone() } else { panic!("not table") }; _lua_tmp }.iter() {
475let k=std::sync::Arc::new(std::cell::RefCell::new(_lua_tmp_k.clone()));
476_lua_set({ let _lua_tmp = result.borrow(); _lua_tmp.clone() },{ let _lua_tmp = k.borrow(); _lua_tmp.clone() },_lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },{ let _lua_tmp = k.borrow(); _lua_tmp.clone() }));
477}
478return { let _lua_tmp = result.borrow(); _lua_tmp.clone() };
479
480_lua_nil()
481}}));
482*trampoline_return.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
483let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
484return _lua_lambda(Box::new({let x = x.clone();
485move |mut _lua_arg_tmp| {
486return _lua_table(vec![(_lua_num!(1), _lua_false()), (_lua_num!(2), { let _lua_tmp = x.borrow(); _lua_tmp.clone() })]);
487
488_lua_nil()
489}}));
490
491_lua_nil()
492}}));
493*trampoline_delay.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
494let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
495return _lua_lambda(Box::new({let x = x.clone();
496move |mut _lua_arg_tmp| {
497return _lua_table(vec![(_lua_num!(1), _lua_true()), (_lua_num!(2), _lua_call({ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, vec![]))]);
498
499_lua_nil()
500}}));
501
502_lua_nil()
503}}));
504*new_comment.borrow_mut() = _lua_lambda(Box::new({let comment_t = comment_t.clone();
505move |mut _lua_arg_tmp| {
506let comment = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
507let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
508return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = comment_t.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = comment.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = x.borrow(); _lua_tmp.clone() })]);
509
510_lua_nil()
511}}));
512*comment_p.borrow_mut() = _lua_lambda(Box::new({let comment_t = comment_t.clone();
513move |mut _lua_arg_tmp| {
514let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
515return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = comment_t.borrow(); _lua_tmp.clone() }};
516
517_lua_nil()
518}}));
519*comment_comment.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
520let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
521return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
522
523_lua_nil()
524}}));
525*comment_x.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
526let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
527return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3));
528
529_lua_nil()
530}}));
531*un_comment_all.borrow_mut() = _lua_lambda(Box::new({let comment_p = comment_p.clone();
532let comment_x = comment_x.clone();
533move |mut _lua_arg_tmp| {
534let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
535while (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
536*x.borrow_mut() = _lua_call({ let _lua_tmp = comment_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
537}
538return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
539
540_lua_nil()
541}}));
542*atom_p.borrow_mut() = _lua_lambda(Box::new({let atom_t = atom_t.clone();
543move |mut _lua_arg_tmp| {
544let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
545return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = atom_t.borrow(); _lua_tmp.clone() }};
546
547_lua_nil()
548}}));
549*un_atom.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
550let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
551return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
552
553_lua_nil()
554}}));
555*atom_equal_p.borrow_mut() = _lua_lambda(Box::new({let un_atom = un_atom.clone();
556let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
557move |mut _lua_arg_tmp| {
558let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
559let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
560if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }}).as_bool() {
561return _lua_true();
562}
563if (_lua_op!{eq, _lua_call({ let _lua_tmp = un_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = un_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }])}).as_bool() {
564_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
565return _lua_true();
566} else {
567return _lua_false();
568}
569
570_lua_nil()
571}}));
572*new_construction.borrow_mut() = _lua_lambda(Box::new({let construction_t = construction_t.clone();
573move |mut _lua_arg_tmp| {
574let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
575let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
576return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = construction_t.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = y.borrow(); _lua_tmp.clone() })]);
577
578_lua_nil()
579}}));
580*construction_p.borrow_mut() = _lua_lambda(Box::new({let construction_t = construction_t.clone();
581move |mut _lua_arg_tmp| {
582let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
583return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = construction_t.borrow(); _lua_tmp.clone() }};
584
585_lua_nil()
586}}));
587*construction_head.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
588let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
589return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
590
591_lua_nil()
592}}));
593*construction_tail.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
594let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
595return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3));
596
597_lua_nil()
598}}));
599*null_p.borrow_mut() = _lua_lambda(Box::new({let null_t = null_t.clone();
600move |mut _lua_arg_tmp| {
601let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
602return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = null_t.borrow(); _lua_tmp.clone() }};
603
604_lua_nil()
605}}));
606*new_data.borrow_mut() = _lua_lambda(Box::new({let data_t = data_t.clone();
607move |mut _lua_arg_tmp| {
608let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
609let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
610return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = data_t.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = y.borrow(); _lua_tmp.clone() })]);
611
612_lua_nil()
613}}));
614*data_p.borrow_mut() = _lua_lambda(Box::new({let data_t = data_t.clone();
615move |mut _lua_arg_tmp| {
616let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
617return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = data_t.borrow(); _lua_tmp.clone() }};
618
619_lua_nil()
620}}));
621*data_name.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
622let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
623return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
624
625_lua_nil()
626}}));
627*data_list.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
628let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
629return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3));
630
631_lua_nil()
632}}));
633*just_p.borrow_mut() = _lua_lambda(Box::new({let just_t = just_t.clone();
634move |mut _lua_arg_tmp| {
635let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
636return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = just_t.borrow(); _lua_tmp.clone() }};
637
638_lua_nil()
639}}));
640*un_just.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
641let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
642return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
643
644_lua_nil()
645}}));
646*evaluate.borrow_mut() = _lua_lambda(Box::new({let delay_evaluate_t = delay_evaluate_t.clone();
647move |mut _lua_arg_tmp| {
648let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
649let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
650return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = delay_evaluate_t.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = y.borrow(); _lua_tmp.clone() })]);
651
652_lua_nil()
653}}));
654*delay_evaluate_p.borrow_mut() = _lua_lambda(Box::new({let delay_evaluate_t = delay_evaluate_t.clone();
655move |mut _lua_arg_tmp| {
656let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
657return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = delay_evaluate_t.borrow(); _lua_tmp.clone() }};
658
659_lua_nil()
660}}));
661*delay_evaluate_env.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
662let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
663return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
664
665_lua_nil()
666}}));
667*delay_evaluate_x.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
668let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
669return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3));
670
671_lua_nil()
672}}));
673*builtin_form_apply.borrow_mut() = _lua_lambda(Box::new({let delay_builtin_form_t = delay_builtin_form_t.clone();
674move |mut _lua_arg_tmp| {
675let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
676let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
677let z = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
678return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = delay_builtin_form_t.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = y.borrow(); _lua_tmp.clone() }), (_lua_num!(4), { let _lua_tmp = z.borrow(); _lua_tmp.clone() })]);
679
680_lua_nil()
681}}));
682*delay_builtin_form_p.borrow_mut() = _lua_lambda(Box::new({let delay_builtin_form_t = delay_builtin_form_t.clone();
683move |mut _lua_arg_tmp| {
684let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
685return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = delay_builtin_form_t.borrow(); _lua_tmp.clone() }};
686
687_lua_nil()
688}}));
689*delay_builtin_form_env.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
690let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
691return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
692
693_lua_nil()
694}}));
695*delay_builtin_form_f.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
696let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
697return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3));
698
699_lua_nil()
700}}));
701*delay_builtin_form_xs.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
702let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
703return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(4));
704
705_lua_nil()
706}}));
707*builtin_func_apply.borrow_mut() = _lua_lambda(Box::new({let delay_builtin_func_t = delay_builtin_func_t.clone();
708move |mut _lua_arg_tmp| {
709let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
710let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
711return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = delay_builtin_func_t.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = y.borrow(); _lua_tmp.clone() })]);
712
713_lua_nil()
714}}));
715*delay_builtin_func_p.borrow_mut() = _lua_lambda(Box::new({let delay_builtin_func_t = delay_builtin_func_t.clone();
716move |mut _lua_arg_tmp| {
717let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
718return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = delay_builtin_func_t.borrow(); _lua_tmp.clone() }};
719
720_lua_nil()
721}}));
722*delay_builtin_func_f.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
723let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
724return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
725
726_lua_nil()
727}}));
728*delay_builtin_func_xs.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
729let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
730return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3));
731
732_lua_nil()
733}}));
734*apply.borrow_mut() = _lua_lambda(Box::new({let delay_apply_t = delay_apply_t.clone();
735move |mut _lua_arg_tmp| {
736let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
737let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
738return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = delay_apply_t.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = f.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = xs.borrow(); _lua_tmp.clone() })]);
739
740_lua_nil()
741}}));
742*delay_apply_p.borrow_mut() = _lua_lambda(Box::new({let delay_apply_t = delay_apply_t.clone();
743move |mut _lua_arg_tmp| {
744let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
745return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = delay_apply_t.borrow(); _lua_tmp.clone() }};
746
747_lua_nil()
748}}));
749*delay_apply_f.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
750let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
751return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2));
752
753_lua_nil()
754}}));
755*delay_apply_xs.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
756let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
757return _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3));
758
759_lua_nil()
760}}));
761*force_all_rec.borrow_mut() = _lua_lambda(Box::new({let force_all = force_all.clone();
762let force_all_rec = force_all_rec.clone();
763let data_p = data_p.clone();
764let construction_p = construction_p.clone();
765let comment_p = comment_p.clone();
766move |mut _lua_arg_tmp| {
767let raw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
768let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }])));
769let conslike = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
770*conslike.borrow_mut() = _lua_lambda(Box::new({let force_all_rec = force_all_rec.clone();
771move |mut _lua_arg_tmp| {
772let xx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
773_lua_set({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2),_lua_call({ let _lua_tmp = force_all_rec.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2))]));
774_lua_set({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3),_lua_call({ let _lua_tmp = force_all_rec.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3))]));
775return { let _lua_tmp = xx.borrow(); _lua_tmp.clone() };
776
777_lua_nil()
778}}));
779if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
780return _lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
781} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
782return _lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
783} else if (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
784return _lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
785}
786return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
787
788_lua_nil()
789}}));
790*new_hole_do.borrow_mut() = _lua_lambda(Box::new({let hole_t = hole_t.clone();
791move |mut _lua_arg_tmp| {
792return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = hole_t.borrow(); _lua_tmp.clone() })]);
793
794_lua_nil()
795}}));
796*hole_p.borrow_mut() = _lua_lambda(Box::new({let hole_t = hole_t.clone();
797move |mut _lua_arg_tmp| {
798let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
799return _lua_op!{eq, _lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = hole_t.borrow(); _lua_tmp.clone() }};
800
801_lua_nil()
802}}));
803*lang_assert_equal_set_do.borrow_mut() = _lua_lambda(Box::new({let null_v = null_v.clone();
804let just_t = just_t.clone();
805move |mut _lua_arg_tmp| {
806let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
807let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
808if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }}).as_bool() {
809return _lua_nil();
810}
811if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }}).as_bool() {
812*x.borrow_mut() = { let _lua_tmp = y.borrow(); _lua_tmp.clone() };
813*y.borrow_mut() = { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() };
814}
815_lua_set({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1),{ let _lua_tmp = just_t.borrow(); _lua_tmp.clone() });
816_lua_set({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2),{ let _lua_tmp = y.borrow(); _lua_tmp.clone() });
817_lua_set({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3),_lua_false());
818_lua_set({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(4),_lua_false());
819
820_lua_nil()
821}}));
822*hole_set_do.borrow_mut() = _lua_lambda(Box::new({let LANG_ASSERT = LANG_ASSERT.clone();
823let hole_p = hole_p.clone();
824move |mut _lua_arg_tmp| {
825let rawx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
826let rawy = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
827_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = hole_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = rawx.borrow(); _lua_tmp.clone() }])]);
828_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_not(_lua_call({ let _lua_tmp = hole_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = rawy.borrow(); _lua_tmp.clone() }]))]);
829let x = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = rawx.borrow(); _lua_tmp.clone() }));
830let y = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = rawy.borrow(); _lua_tmp.clone() }));
831_lua_set({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1),_lua_lookup({ let _lua_tmp = y.borrow(); _lua_tmp.clone() },_lua_num!(1)));
832_lua_set({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2),_lua_lookup({ let _lua_tmp = y.borrow(); _lua_tmp.clone() },_lua_num!(2)));
833_lua_set({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(3),_lua_lookup({ let _lua_tmp = y.borrow(); _lua_tmp.clone() },_lua_num!(3)));
834_lua_set({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(4),_lua_lookup({ let _lua_tmp = y.borrow(); _lua_tmp.clone() },_lua_num!(4)));
835
836_lua_nil()
837}}));
838*lang_copy_do.borrow_mut() = _lua_lambda(Box::new({let new_hole_do = new_hole_do.clone();
839let hole_set_do = hole_set_do.clone();
840move |mut _lua_arg_tmp| {
841let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
842let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_hole_do.borrow(); _lua_tmp.clone() }, vec![])));
843_lua_call({ let _lua_tmp = hole_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
844return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
845
846_lua_nil()
847}}));
848*new_error.borrow_mut() = _lua_lambda(Box::new({let new_data = new_data.clone();
849let error_atom = error_atom.clone();
850let new_construction = new_construction.clone();
851let null_v = null_v.clone();
852move |mut _lua_arg_tmp| {
853let name = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
854let list = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
855return _lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = error_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = name.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }])])]);
856
857_lua_nil()
858}}));
859*jsArray_to_list.borrow_mut() = _lua_lambda(Box::new({let null_v = null_v.clone();
860let new_construction = new_construction.clone();
861move |mut _lua_arg_tmp| {
862let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
863let ret = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }));
864{
865let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_op!{sub, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(1)}));
866while (_lua_op!{greater_eq, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}).as_bool() {
867*ret.borrow_mut() = _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}), { let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]);
868*i.borrow_mut() = _lua_op!{sub, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
869}
870}
871return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
872
873_lua_nil()
874}}));
875*new_list.borrow_mut() = _lua_lambda(Box::new({let jsArray_to_list = jsArray_to_list.clone();
876move |mut _lua_arg_tmp| {
877let mut _lua_tmp_vararg = _lua_vec(_lua_arg_tmp);
878let xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_tmp_vararg.clone()));
879return _lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]);
880
881_lua_nil()
882}}));
883*un_just_all.borrow_mut() = _lua_lambda(Box::new({let just_p = just_p.clone();
884let __TS__ArrayPush = __TS__ArrayPush.clone();
885let un_just = un_just.clone();
886let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
887move |mut _lua_arg_tmp| {
888let raw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
889if (_lua_not(_lua_call({ let _lua_tmp = just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }]))).as_bool() {
890return { let _lua_tmp = raw.borrow(); _lua_tmp.clone() };
891}
892let x = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }));
893let xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
894while (_lua_call({ let _lua_tmp = just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
895_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
896*x.borrow_mut() = _lua_call({ let _lua_tmp = un_just.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
897}
898let _lua_tmp_t={ let _lua_tmp = xs.borrow(); _lua_tmp.clone() };
899for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
900let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
901let v=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
902_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
903}
904return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
905
906_lua_nil()
907}}));
908*delay_p.borrow_mut() = _lua_lambda(Box::new({let delay_evaluate_p = delay_evaluate_p.clone();
909let delay_builtin_form_p = delay_builtin_form_p.clone();
910let delay_builtin_func_p = delay_builtin_func_p.clone();
911let delay_apply_p = delay_apply_p.clone();
912move |mut _lua_arg_tmp| {
913let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
914return _lua_op!{or, _lua_op!{or, _lua_op!{or, _lua_call({ let _lua_tmp = delay_evaluate_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = delay_builtin_form_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])}, _lua_call({ let _lua_tmp = delay_builtin_func_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])}, _lua_call({ let _lua_tmp = delay_apply_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])};
915
916_lua_nil()
917}}));
918*delay_just_p.borrow_mut() = _lua_lambda(Box::new({let just_p = just_p.clone();
919let delay_p = delay_p.clone();
920move |mut _lua_arg_tmp| {
921let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
922return _lua_op!{or, _lua_call({ let _lua_tmp = just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = delay_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])};
923
924_lua_nil()
925}}));
926*lazy_p.borrow_mut() = _lua_lambda(Box::new({let delay_just_p = delay_just_p.clone();
927let comment_p = comment_p.clone();
928move |mut _lua_arg_tmp| {
929let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
930return _lua_op!{or, _lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])};
931
932_lua_nil()
933}}));
934*force_all_inner.borrow_mut() = _lua_lambda(Box::new({let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
935let delay_just_p = delay_just_p.clone();
936let __TS__ArrayPush = __TS__ArrayPush.clone();
937let force_all_inner = force_all_inner.clone();
938let the_world_stopped_v = the_world_stopped_v.clone();
939let force1 = force1.clone();
940let simple_print = simple_print.clone();
941let delay_evaluate_p = delay_evaluate_p.clone();
942let delay_builtin_func_p = delay_builtin_func_p.clone();
943let delay_builtin_func_f = delay_builtin_func_f.clone();
944let delay_builtin_func_xs = delay_builtin_func_xs.clone();
945let data_name_function_builtin_systemName = data_name_function_builtin_systemName.clone();
946let data_list_function_builtin_systemName = data_list_function_builtin_systemName.clone();
947let data_p_function_builtin_systemName = data_p_function_builtin_systemName.clone();
948let construction_p_function_builtin_systemName = construction_p_function_builtin_systemName.clone();
949let construction_head_function_builtin_systemName = construction_head_function_builtin_systemName.clone();
950let construction_tail_function_builtin_systemName = construction_tail_function_builtin_systemName.clone();
951let atom_p_function_builtin_systemName = atom_p_function_builtin_systemName.clone();
952let null_p_function_builtin_systemName = null_p_function_builtin_systemName.clone();
953let equal_p = equal_p.clone();
954let LANG_ASSERT = LANG_ASSERT.clone();
955let builtin_func_apply = builtin_func_apply.clone();
956let LANG_ERROR = LANG_ERROR.clone();
957let equal_p_function_builtin_systemName = equal_p_function_builtin_systemName.clone();
958let apply_function_builtin_systemName = apply_function_builtin_systemName.clone();
959let evaluate_function_builtin_systemName = evaluate_function_builtin_systemName.clone();
960let if_function_builtin_systemName = if_function_builtin_systemName.clone();
961let delay_builtin_form_p = delay_builtin_form_p.clone();
962let delay_apply_p = delay_apply_p.clone();
963move |mut _lua_arg_tmp| {
964let raw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
965let parents_history = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
966let ref_novalue_replace = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
967let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
968if (_lua_op!{eq, { let _lua_tmp = parents_history.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
969*parents_history.borrow_mut() = _lua_table(vec![]);
970}
971if (_lua_op!{eq, { let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
972*ref_novalue_replace.borrow_mut() = _lua_table(vec![(_lua_num!(1), _lua_false()), (_lua_num!(2), _lua_false())]);
973}
974if (_lua_op!{eq, { let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
975*xs.borrow_mut() = _lua_table(vec![]);
976}
977let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
978let do_rewrite = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
979let do_rewrite_force_all = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
980*do_rewrite.borrow_mut() = _lua_lambda(Box::new({let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
981let x = x.clone();
982let xs = xs.clone();
983move |mut _lua_arg_tmp| {
984let newval = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
985_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = newval.borrow(); _lua_tmp.clone() }]);
986{
987let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
988while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() })}).as_bool() {
989_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}), { let _lua_tmp = newval.borrow(); _lua_tmp.clone() }]);
990*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
991}
992}
993return { let _lua_tmp = newval.borrow(); _lua_tmp.clone() };
994
995_lua_nil()
996}}));
997*do_rewrite_force_all.borrow_mut() = _lua_lambda(Box::new({let do_rewrite = do_rewrite.clone();
998let delay_just_p = delay_just_p.clone();
999let __TS__ArrayPush = __TS__ArrayPush.clone();
1000let xs = xs.clone();
1001let x = x.clone();
1002let force_all_inner = force_all_inner.clone();
1003let parents_history = parents_history.clone();
1004move |mut _lua_arg_tmp| {
1005let newval = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1006_lua_call({ let _lua_tmp = do_rewrite.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = newval.borrow(); _lua_tmp.clone() }]);
1007if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = newval.borrow(); _lua_tmp.clone() }])).as_bool() {
1008_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1009return _lua_call({ let _lua_tmp = force_all_inner.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = newval.borrow(); _lua_tmp.clone() }, { let _lua_tmp = parents_history.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), _lua_false()), (_lua_num!(2), _lua_false())]), { let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]);
1010}
1011return { let _lua_tmp = newval.borrow(); _lua_tmp.clone() };
1012
1013_lua_nil()
1014}}));
1015let history = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1016*x.borrow_mut() = { let _lua_tmp = raw.borrow(); _lua_tmp.clone() };
1017let replace_this_with_stopped = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
1018*replace_this_with_stopped.borrow_mut() = _lua_lambda(Box::new({let ref_novalue_replace = ref_novalue_replace.clone();
1019let do_rewrite_force_all = do_rewrite_force_all.clone();
1020let the_world_stopped_v = the_world_stopped_v.clone();
1021move |mut _lua_arg_tmp| {
1022_lua_set({ let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() },_lua_num!(2),_lua_true());
1023return _lua_call({ let _lua_tmp = do_rewrite_force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = the_world_stopped_v.borrow(); _lua_tmp.clone() }]);
1024
1025_lua_nil()
1026}}));
1027let make_history = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
1028*make_history.borrow_mut() = _lua_lambda(Box::new({let history = history.clone();
1029let parents_history = parents_history.clone();
1030move |mut _lua_arg_tmp| {
1031let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1032for (_lua_tmp_k, _) in { let _lua_tmp: std::collections::HashMap<_lua_data,_lua_data> = if let _lua_data_unpack::Table(t) = &*({ let _lua_tmp = history.borrow(); _lua_tmp.clone() }) { t.0.lock().unwrap().clone() } else { panic!("not table") }; _lua_tmp }.iter() {
1033let x_id=std::sync::Arc::new(std::cell::RefCell::new(_lua_tmp_k.clone()));
1034_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },{ let _lua_tmp = x_id.borrow(); _lua_tmp.clone() },_lua_true());
1035}
1036for (_lua_tmp_k, _) in { let _lua_tmp: std::collections::HashMap<_lua_data,_lua_data> = if let _lua_data_unpack::Table(t) = &*({ let _lua_tmp = parents_history.borrow(); _lua_tmp.clone() }) { t.0.lock().unwrap().clone() } else { panic!("not table") }; _lua_tmp }.iter() {
1037let x_id=std::sync::Arc::new(std::cell::RefCell::new(_lua_tmp_k.clone()));
1038_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },{ let _lua_tmp = x_id.borrow(); _lua_tmp.clone() },_lua_true());
1039}
1040return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
1041
1042_lua_nil()
1043}}));
1044{
1045let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
1046while (_lua_op!{and, _lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(32)}}).as_bool() {
1047_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1048*x.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1049*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1050}
1051}
1052while (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1053let x_id = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
1054if (_lua_op!{eq, _lua_lookup({ let _lua_tmp = parents_history.borrow(); _lua_tmp.clone() },{ let _lua_tmp = x_id.borrow(); _lua_tmp.clone() }), _lua_true()}).as_bool() {
1055return _lua_call({ let _lua_tmp = replace_this_with_stopped.borrow(); _lua_tmp.clone() }, vec![]);
1056}
1057if (_lua_op!{eq, _lua_lookup({ let _lua_tmp = history.borrow(); _lua_tmp.clone() },{ let _lua_tmp = x_id.borrow(); _lua_tmp.clone() }), _lua_true()}).as_bool() {
1058_lua_set({ let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() },_lua_num!(1),_lua_true());
1059if (_lua_call({ let _lua_tmp = delay_evaluate_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1060return _lua_call({ let _lua_tmp = replace_this_with_stopped.borrow(); _lua_tmp.clone() }, vec![]);
1061} else if (_lua_call({ let _lua_tmp = delay_builtin_func_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1062let f = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = delay_builtin_func_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
1063let xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = delay_builtin_func_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
1064let elim_s = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![(_lua_num!(1), { let _lua_tmp = data_name_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = data_list_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = data_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(4), { let _lua_tmp = construction_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(5), { let _lua_tmp = construction_head_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(6), { let _lua_tmp = construction_tail_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(7), { let _lua_tmp = atom_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(8), { let _lua_tmp = null_p_function_builtin_systemName.borrow(); _lua_tmp.clone() })])));
1065let is_elim = std::sync::Arc::new(std::cell::RefCell::new(_lua_false()));
1066let _lua_tmp_t={ let _lua_tmp = elim_s.borrow(); _lua_tmp.clone() };
1067for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
1068let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
1069let elim_s_v=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
1070if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = elim_s_v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = f.borrow(); _lua_tmp.clone() }])).as_bool() {
1071*is_elim.borrow_mut() = _lua_true();
1072break;
1073}
1074}
1075if ({ let _lua_tmp = is_elim.borrow(); _lua_tmp.clone() }).as_bool() {
1076_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(1)}]);
1077_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{eq, _lua_lookup({ let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_false()}]);
1078let inner = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all_inner.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_call({ let _lua_tmp = make_history.borrow(); _lua_tmp.clone() }, vec![]), { let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() }])));
1079if (_lua_lookup({ let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() },_lua_num!(2))).as_bool() {
1080return _lua_call({ let _lua_tmp = do_rewrite_force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = inner.borrow(); _lua_tmp.clone() })])])]);
1081} else {
1082return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
1083}
1084}
1085if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = equal_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1086return _lua_call({ let _lua_tmp = replace_this_with_stopped.borrow(); _lua_tmp.clone() }, vec![]);
1087} else if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = apply_function_builtin_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1088return _lua_call({ let _lua_tmp = replace_this_with_stopped.borrow(); _lua_tmp.clone() }, vec![]);
1089} else if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = evaluate_function_builtin_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1090return _lua_call({ let _lua_tmp = replace_this_with_stopped.borrow(); _lua_tmp.clone() }, vec![]);
1091} else if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = if_function_builtin_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1092_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(3)}]);
1093_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{eq, _lua_lookup({ let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_false()}]);
1094let tf = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all_inner.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_call({ let _lua_tmp = make_history.borrow(); _lua_tmp.clone() }, vec![]), { let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() }])));
1095if (_lua_lookup({ let _lua_tmp = ref_novalue_replace.borrow(); _lua_tmp.clone() },_lua_num!(2))).as_bool() {
1096return _lua_call({ let _lua_tmp = do_rewrite_force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = if_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = tf.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(2))), (_lua_num!(3), _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(3)))])])]);
1097} else {
1098return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
1099}
1100}
1101return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
1102} else if (_lua_call({ let _lua_tmp = delay_builtin_form_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1103return _lua_call({ let _lua_tmp = replace_this_with_stopped.borrow(); _lua_tmp.clone() }, vec![]);
1104} else if (_lua_call({ let _lua_tmp = delay_apply_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1105return _lua_call({ let _lua_tmp = replace_this_with_stopped.borrow(); _lua_tmp.clone() }, vec![]);
1106}
1107return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
1108}
1109_lua_set({ let _lua_tmp = history.borrow(); _lua_tmp.clone() },{ let _lua_tmp = x_id.borrow(); _lua_tmp.clone() },_lua_true());
1110_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1111*x.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1112}
1113return _lua_call({ let _lua_tmp = do_rewrite.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1114
1115_lua_nil()
1116}}));
1117*force1.borrow_mut() = _lua_lambda(Box::new({let un_just_all = un_just_all.clone();
1118let LANG_ASSERT = LANG_ASSERT.clone();
1119let just_p = just_p.clone();
1120let delay_evaluate_p = delay_evaluate_p.clone();
1121let real_evaluate = real_evaluate.clone();
1122let delay_evaluate_env = delay_evaluate_env.clone();
1123let delay_evaluate_x = delay_evaluate_x.clone();
1124let delay_builtin_form_p = delay_builtin_form_p.clone();
1125let real_builtin_form_apply = real_builtin_form_apply.clone();
1126let delay_builtin_form_env = delay_builtin_form_env.clone();
1127let delay_builtin_form_f = delay_builtin_form_f.clone();
1128let delay_builtin_form_xs = delay_builtin_form_xs.clone();
1129let delay_builtin_func_p = delay_builtin_func_p.clone();
1130let real_builtin_func_apply = real_builtin_func_apply.clone();
1131let delay_builtin_func_f = delay_builtin_func_f.clone();
1132let delay_builtin_func_xs = delay_builtin_func_xs.clone();
1133let delay_apply_p = delay_apply_p.clone();
1134let real_apply = real_apply.clone();
1135let delay_apply_f = delay_apply_f.clone();
1136let delay_apply_xs = delay_apply_xs.clone();
1137let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
1138move |mut _lua_arg_tmp| {
1139let raw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1140let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }])));
1141let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
1142_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_not(_lua_call({ let _lua_tmp = just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))]);
1143if (_lua_call({ let _lua_tmp = delay_evaluate_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1144*ret.borrow_mut() = _lua_call({ let _lua_tmp = real_evaluate.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_evaluate_env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = delay_evaluate_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = raw.borrow(); _lua_tmp.clone() }]);
1145} else if (_lua_call({ let _lua_tmp = delay_builtin_form_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1146*ret.borrow_mut() = _lua_call({ let _lua_tmp = real_builtin_form_apply.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_form_env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = delay_builtin_form_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = delay_builtin_form_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = raw.borrow(); _lua_tmp.clone() }]);
1147} else if (_lua_call({ let _lua_tmp = delay_builtin_func_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1148*ret.borrow_mut() = _lua_call({ let _lua_tmp = real_builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_func_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = delay_builtin_func_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = raw.borrow(); _lua_tmp.clone() }]);
1149} else if (_lua_call({ let _lua_tmp = delay_apply_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1150*ret.borrow_mut() = _lua_call({ let _lua_tmp = real_apply.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_apply_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = delay_apply_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = raw.borrow(); _lua_tmp.clone() }]);
1151} else {
1152*ret.borrow_mut() = { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
1153}
1154*ret.borrow_mut() = _lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]);
1155_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]);
1156return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
1157
1158_lua_nil()
1159}}));
1160*force_all.borrow_mut() = _lua_lambda(Box::new({let force_all_inner = force_all_inner.clone();
1161move |mut _lua_arg_tmp| {
1162let raw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1163return _lua_call({ let _lua_tmp = force_all_inner.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }]);
1164
1165_lua_nil()
1166}}));
1167*force_uncomment_all.borrow_mut() = _lua_lambda(Box::new({let delay_just_p = delay_just_p.clone();
1168let comment_p = comment_p.clone();
1169let force_all = force_all.clone();
1170let un_comment_all = un_comment_all.clone();
1171move |mut _lua_arg_tmp| {
1172let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1173while (_lua_op!{or, _lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])}).as_bool() {
1174*x.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = un_comment_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
1175}
1176return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
1177
1178_lua_nil()
1179}}));
1180*unlazy1.borrow_mut() = _lua_lambda(Box::new({let comment_p = comment_p.clone();
1181let comment_x = comment_x.clone();
1182let force1 = force1.clone();
1183move |mut _lua_arg_tmp| {
1184let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1185while (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1186*x.borrow_mut() = _lua_call({ let _lua_tmp = comment_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1187}
1188*x.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1189while (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1190*x.borrow_mut() = _lua_call({ let _lua_tmp = comment_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1191}
1192return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
1193
1194_lua_nil()
1195}}));
1196*unlazy_list_1_keepcomment.borrow_mut() = _lua_lambda(Box::new({let un_just_all = un_just_all.clone();
1197let null_p = null_p.clone();
1198let comment_p = comment_p.clone();
1199let __TS__ArrayPush = __TS__ArrayPush.clone();
1200let comment_comment = comment_comment.clone();
1201let comment_x = comment_x.clone();
1202let construction_p = construction_p.clone();
1203let construction_head = construction_head.clone();
1204let construction_tail = construction_tail.clone();
1205let delay_just_p = delay_just_p.clone();
1206let force1 = force1.clone();
1207move |mut _lua_arg_tmp| {
1208let list = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1209let not_list_k = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1210let delay_just_k = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1211let k = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1212let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1213let comments = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1214let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }])));
1215let not_forced = std::sync::Arc::new(std::cell::RefCell::new(_lua_true()));
1216while (_lua_true()).as_bool() {
1217if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }])).as_bool() {
1218return _lua_call({ let _lua_tmp = k.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = comments.borrow(); _lua_tmp.clone() }, { let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]);
1219} else if (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }])).as_bool() {
1220_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = comments.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = comment_comment.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }])]);
1221*i.borrow_mut() = _lua_call({ let _lua_tmp = comment_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }]);
1222} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }])).as_bool() {
1223_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }])]);
1224*i.borrow_mut() = _lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }]);
1225} else if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }])).as_bool() {
1226if ({ let _lua_tmp = not_forced.borrow(); _lua_tmp.clone() }).as_bool() {
1227*not_forced.borrow_mut() = _lua_false();
1228*i.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = i.borrow(); _lua_tmp.clone() }]);
1229} else {
1230return _lua_call({ let _lua_tmp = delay_just_k.borrow(); _lua_tmp.clone() }, vec![]);
1231}
1232} else {
1233return _lua_call({ let _lua_tmp = not_list_k.borrow(); _lua_tmp.clone() }, vec![]);
1234}
1235}
1236
1237_lua_nil()
1238}}));
1239*name_unlazy1_p3.borrow_mut() = _lua_lambda(Box::new({let lazy_p = lazy_p.clone();
1240let unlazy1 = unlazy1.clone();
1241let atom_p = atom_p.clone();
1242let data_p = data_p.clone();
1243let data_name = data_name.clone();
1244let atom_equal_p = atom_equal_p.clone();
1245let name_atom = name_atom.clone();
1246move |mut _lua_arg_tmp| {
1247let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1248if (_lua_call({ let _lua_tmp = lazy_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1249*x.borrow_mut() = _lua_call({ let _lua_tmp = unlazy1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1250}
1251if (_lua_call({ let _lua_tmp = lazy_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1252return _lua_nil();
1253}
1254if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1255return _lua_true();
1256}
1257if (_lua_not(_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
1258return _lua_false();
1259}
1260let n = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
1261if (_lua_call({ let _lua_tmp = lazy_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = n.borrow(); _lua_tmp.clone() }])).as_bool() {
1262*n.borrow_mut() = _lua_call({ let _lua_tmp = unlazy1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = n.borrow(); _lua_tmp.clone() }]);
1263}
1264if (_lua_call({ let _lua_tmp = lazy_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = n.borrow(); _lua_tmp.clone() }])).as_bool() {
1265return _lua_nil();
1266}
1267if (_lua_not(_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = n.borrow(); _lua_tmp.clone() }]))).as_bool() {
1268return _lua_false();
1269}
1270return _lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = n.borrow(); _lua_tmp.clone() }, { let _lua_tmp = name_atom.borrow(); _lua_tmp.clone() }]);
1271
1272_lua_nil()
1273}}));
1274*make_enviroment_null_v.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
1275return _lua_table(vec![(_lua_num!(1), _lua_true()), (_lua_num!(2), _lua_table(vec![])), (_lua_num!(3), _lua_nil())]);
1276
1277_lua_nil()
1278}}));
1279*enviroment_null_p.borrow_mut() = _lua_lambda(Box::new({let recordstring_null_p = recordstring_null_p.clone();
1280move |mut _lua_arg_tmp| {
1281let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1282if (_lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(1))).as_bool() {
1283return _lua_call({ let _lua_tmp = recordstring_null_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2))]);
1284}
1285return _lua_false();
1286
1287_lua_nil()
1288}}));
1289*enviroment_helper_print0.borrow_mut() = _lua_lambda(Box::new({let force_uncomment_all = force_uncomment_all.clone();
1290let atom_p = atom_p.clone();
1291let __TS__ArrayPush = __TS__ArrayPush.clone();
1292let un_atom = un_atom.clone();
1293let construction_p = construction_p.clone();
1294let construction_head = construction_head.clone();
1295let construction_tail = construction_tail.clone();
1296let null_p = null_p.clone();
1297let data_p = data_p.clone();
1298let data_name = data_name.clone();
1299let data_list = data_list.clone();
1300let LANG_ERROR = LANG_ERROR.clone();
1301move |mut _lua_arg_tmp| {
1302let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1303let refe = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1304let ret = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1305*x.borrow_mut() = _lua_call({ let _lua_tmp = force_uncomment_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1306if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1307_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, _lua_str("^"), _lua_call({ let _lua_tmp = un_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
1308} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1309_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, _lua_str(".")]);
1310_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = refe.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
1311} else if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1312_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, _lua_str("_")]);
1313} else if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1314_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, _lua_str("#")]);
1315_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = refe.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
1316} else {
1317return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
1318}
1319
1320_lua_nil()
1321}}));
1322*enviroment_helper_print_step.borrow_mut() = _lua_lambda(Box::new({let enviroment_helper_print0 = enviroment_helper_print0.clone();
1323move |mut _lua_arg_tmp| {
1324let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1325let rs = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1326let ss = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1327let _lua_tmp_t={ let _lua_tmp = xs.borrow(); _lua_tmp.clone() };
1328for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
1329let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
1330let x=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
1331_lua_call({ let _lua_tmp = enviroment_helper_print0.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = rs.borrow(); _lua_tmp.clone() }, { let _lua_tmp = ss.borrow(); _lua_tmp.clone() }]);
1332}
1333return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = ss.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = rs.borrow(); _lua_tmp.clone() })]);
1334
1335_lua_nil()
1336}}));
1337*enviroment_helper_node_expand.borrow_mut() = _lua_lambda(Box::new({let enviroment_helper_print_step = enviroment_helper_print_step.clone();
1338let LANG_ASSERT = LANG_ASSERT.clone();
1339move |mut _lua_arg_tmp| {
1340let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1341let e = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = enviroment_helper_print_step.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_num!(2))])));
1342let es = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = e.borrow(); _lua_tmp.clone() },_lua_num!(1))));
1343let ev = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = e.borrow(); _lua_tmp.clone() },_lua_num!(2))));
1344let t = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1345_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{not_eq, _lua_len({ let _lua_tmp = es.borrow(); _lua_tmp.clone() }), _lua_num!(0)}]);
1346_lua_set({ let _lua_tmp = t.borrow(); _lua_tmp.clone() },_lua_lookup({ let _lua_tmp = es.borrow(); _lua_tmp.clone() },_lua_len({ let _lua_tmp = es.borrow(); _lua_tmp.clone() })),_lua_table(vec![(_lua_num!(1), _lua_false()), (_lua_num!(2), { let _lua_tmp = ev.borrow(); _lua_tmp.clone() }), (_lua_num!(3), _lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_num!(3)))]));
1347let result = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![(_lua_num!(1), _lua_true()), (_lua_num!(2), { let _lua_tmp = t.borrow(); _lua_tmp.clone() }), (_lua_num!(3), _lua_nil())])));
1348{
1349let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_op!{sub, _lua_len({ let _lua_tmp = es.borrow(); _lua_tmp.clone() }), _lua_num!(2)}));
1350while (_lua_op!{greater_eq, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}).as_bool() {
1351let t = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1352_lua_set({ let _lua_tmp = t.borrow(); _lua_tmp.clone() },_lua_lookup({ let _lua_tmp = es.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}),{ let _lua_tmp = result.borrow(); _lua_tmp.clone() });
1353*result.borrow_mut() = _lua_table(vec![(_lua_num!(1), _lua_true()), (_lua_num!(2), { let _lua_tmp = t.borrow(); _lua_tmp.clone() }), (_lua_num!(3), _lua_nil())]);
1354*i.borrow_mut() = _lua_op!{sub, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1355}
1356}
1357return { let _lua_tmp = result.borrow(); _lua_tmp.clone() };
1358
1359_lua_nil()
1360}}));
1361*enviroment_helper_tree_shadow_copy.borrow_mut() = _lua_lambda(Box::new({let recordstring_shadow_copy = recordstring_shadow_copy.clone();
1362move |mut _lua_arg_tmp| {
1363let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1364return _lua_table(vec![(_lua_num!(1), _lua_true()), (_lua_num!(2), _lua_call({ let _lua_tmp = recordstring_shadow_copy.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = x.borrow(); _lua_tmp.clone() },_lua_num!(2))])), (_lua_num!(3), _lua_nil())]);
1365
1366_lua_nil()
1367}}));
1368*enviroment_set_helper.borrow_mut() = _lua_lambda(Box::new({let LANG_ASSERT = LANG_ASSERT.clone();
1369let enviroment_null_p = enviroment_null_p.clone();
1370let trampoline_return = trampoline_return.clone();
1371let enviroment_helper_tree_shadow_copy = enviroment_helper_tree_shadow_copy.clone();
1372let enviroment_helper_print_step = enviroment_helper_print_step.clone();
1373let make_enviroment_null_v = make_enviroment_null_v.clone();
1374let enviroment_helper_node_expand = enviroment_helper_node_expand.clone();
1375let trampoline_delay = trampoline_delay.clone();
1376let enviroment_set_helper = enviroment_set_helper.clone();
1377let LANG_ERROR = LANG_ERROR.clone();
1378move |mut _lua_arg_tmp| {
1379let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1380let key = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1381let val = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1382let return_pointer = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1383let real_return = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1384if (_lua_op!{eq, _lua_len({ let _lua_tmp = key.borrow(); _lua_tmp.clone() }), _lua_num!(0)}).as_bool() {
1385_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{or, _lua_call({ let _lua_tmp = enviroment_null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }]), _lua_op!{and, _lua_op!{eq, _lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_false()}, _lua_op!{eq, _lua_lookup(_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_num!(2)),_lua_str("length")), _lua_num!(0)}}}]);
1386_lua_set({ let _lua_tmp = return_pointer.borrow(); _lua_tmp.clone() },_lua_num!(1),_lua_false());
1387_lua_set({ let _lua_tmp = return_pointer.borrow(); _lua_tmp.clone() },_lua_num!(2),{ let _lua_tmp = key.borrow(); _lua_tmp.clone() });
1388_lua_set({ let _lua_tmp = return_pointer.borrow(); _lua_tmp.clone() },_lua_num!(3),{ let _lua_tmp = val.borrow(); _lua_tmp.clone() });
1389return _lua_call({ let _lua_tmp = trampoline_return.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = real_return.borrow(); _lua_tmp.clone() }]);
1390}
1391if (_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_num!(1))).as_bool() {
1392let result_tmp = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = enviroment_helper_tree_shadow_copy.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }])));
1393_lua_set({ let _lua_tmp = return_pointer.borrow(); _lua_tmp.clone() },_lua_num!(1),_lua_lookup({ let _lua_tmp = result_tmp.borrow(); _lua_tmp.clone() },_lua_num!(1)));
1394_lua_set({ let _lua_tmp = return_pointer.borrow(); _lua_tmp.clone() },_lua_num!(2),_lua_lookup({ let _lua_tmp = result_tmp.borrow(); _lua_tmp.clone() },_lua_num!(2)));
1395_lua_set({ let _lua_tmp = return_pointer.borrow(); _lua_tmp.clone() },_lua_num!(3),_lua_lookup({ let _lua_tmp = result_tmp.borrow(); _lua_tmp.clone() },_lua_num!(3)));
1396let result = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = return_pointer.borrow(); _lua_tmp.clone() }));
1397let a = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = enviroment_helper_print_step.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = key.borrow(); _lua_tmp.clone() }])));
1398let astr = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = a.borrow(); _lua_tmp.clone() },_lua_num!(1))));
1399let av = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = a.borrow(); _lua_tmp.clone() },_lua_num!(2))));
1400let pointer = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = result.borrow(); _lua_tmp.clone() }));
1401{
1402let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
1403while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = astr.borrow(); _lua_tmp.clone() })}).as_bool() {
1404let k = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = astr.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)})));
1405let m = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
1406if (_lua_op!{not_eq, _lua_lookup(_lua_lookup({ let _lua_tmp = pointer.borrow(); _lua_tmp.clone() },_lua_num!(2)),{ let _lua_tmp = k.borrow(); _lua_tmp.clone() }), _lua_nil()}).as_bool() {
1407let t = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_lookup({ let _lua_tmp = pointer.borrow(); _lua_tmp.clone() },_lua_num!(2)),{ let _lua_tmp = k.borrow(); _lua_tmp.clone() })));
1408if (_lua_lookup({ let _lua_tmp = t.borrow(); _lua_tmp.clone() },_lua_num!(0))).as_bool() {
1409*m.borrow_mut() = _lua_call({ let _lua_tmp = enviroment_helper_tree_shadow_copy.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = t.borrow(); _lua_tmp.clone() }]);
1410} else {
1411if (_lua_op!{eq, _lua_lookup(_lua_lookup({ let _lua_tmp = t.borrow(); _lua_tmp.clone() },_lua_num!(1)),_lua_str("length")), _lua_num!(0)}).as_bool() {
1412_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{eq, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_op!{sub, _lua_len({ let _lua_tmp = astr.borrow(); _lua_tmp.clone() }), _lua_num!(1)}}]);
1413let p = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = make_enviroment_null_v.borrow(); _lua_tmp.clone() }, vec![])));
1414_lua_set(_lua_lookup({ let _lua_tmp = pointer.borrow(); _lua_tmp.clone() },_lua_num!(2)),{ let _lua_tmp = k.borrow(); _lua_tmp.clone() },{ let _lua_tmp = p.borrow(); _lua_tmp.clone() });
1415_lua_set({ let _lua_tmp = p.borrow(); _lua_tmp.clone() },_lua_num!(1),_lua_false());
1416_lua_set({ let _lua_tmp = p.borrow(); _lua_tmp.clone() },_lua_num!(2),{ let _lua_tmp = av.borrow(); _lua_tmp.clone() });
1417_lua_set({ let _lua_tmp = p.borrow(); _lua_tmp.clone() },_lua_num!(3),{ let _lua_tmp = val.borrow(); _lua_tmp.clone() });
1418return _lua_call({ let _lua_tmp = trampoline_return.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = real_return.borrow(); _lua_tmp.clone() }]);
1419}
1420*m.borrow_mut() = _lua_call({ let _lua_tmp = enviroment_helper_node_expand.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = t.borrow(); _lua_tmp.clone() }]);
1421}
1422} else {
1423*m.borrow_mut() = _lua_table(vec![(_lua_num!(1), _lua_true()), (_lua_num!(2), _lua_table(vec![])), (_lua_num!(3), _lua_nil())]);
1424}
1425_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{not_eq, { let _lua_tmp = m.borrow(); _lua_tmp.clone() }, _lua_nil()}]);
1426_lua_set(_lua_lookup({ let _lua_tmp = pointer.borrow(); _lua_tmp.clone() },_lua_num!(2)),{ let _lua_tmp = k.borrow(); _lua_tmp.clone() },{ let _lua_tmp = m.borrow(); _lua_tmp.clone() });
1427*pointer.borrow_mut() = { let _lua_tmp = m.borrow(); _lua_tmp.clone() };
1428*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1429}
1430}
1431if (_lua_call({ let _lua_tmp = enviroment_null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = pointer.borrow(); _lua_tmp.clone() }])).as_bool() {
1432let p = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = pointer.borrow(); _lua_tmp.clone() }));
1433_lua_set({ let _lua_tmp = p.borrow(); _lua_tmp.clone() },_lua_num!(1),_lua_false());
1434_lua_set({ let _lua_tmp = p.borrow(); _lua_tmp.clone() },_lua_num!(2),{ let _lua_tmp = av.borrow(); _lua_tmp.clone() });
1435_lua_set({ let _lua_tmp = p.borrow(); _lua_tmp.clone() },_lua_num!(3),{ let _lua_tmp = val.borrow(); _lua_tmp.clone() });
1436return _lua_call({ let _lua_tmp = trampoline_return.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = real_return.borrow(); _lua_tmp.clone() }]);
1437} else {
1438return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![_lua_lambda(Box::new({let enviroment_set_helper = enviroment_set_helper.clone();
1439let pointer = pointer.clone();
1440let av = av.clone();
1441let val = val.clone();
1442let real_return = real_return.clone();
1443move |mut _lua_arg_tmp| {
1444return _lua_call({ let _lua_tmp = enviroment_set_helper.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = pointer.borrow(); _lua_tmp.clone() }, { let _lua_tmp = av.borrow(); _lua_tmp.clone() }, { let _lua_tmp = val.borrow(); _lua_tmp.clone() }, { let _lua_tmp = pointer.borrow(); _lua_tmp.clone() }, { let _lua_tmp = real_return.borrow(); _lua_tmp.clone() }]);
1445
1446_lua_nil()
1447}}))]);
1448}
1449} else {
1450return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![_lua_lambda(Box::new({let enviroment_set_helper = enviroment_set_helper.clone();
1451let enviroment_helper_node_expand = enviroment_helper_node_expand.clone();
1452let env = env.clone();
1453let key = key.clone();
1454let val = val.clone();
1455let return_pointer = return_pointer.clone();
1456let real_return = real_return.clone();
1457move |mut _lua_arg_tmp| {
1458return _lua_call({ let _lua_tmp = enviroment_set_helper.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = enviroment_helper_node_expand.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = key.borrow(); _lua_tmp.clone() }, { let _lua_tmp = val.borrow(); _lua_tmp.clone() }, { let _lua_tmp = return_pointer.borrow(); _lua_tmp.clone() }, { let _lua_tmp = real_return.borrow(); _lua_tmp.clone() }]);
1459
1460_lua_nil()
1461}}))]);
1462}
1463return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
1464
1465_lua_nil()
1466}}));
1467*env_set.borrow_mut() = _lua_lambda(Box::new({let equal_p = equal_p.clone();
1468move |mut _lua_arg_tmp| {
1469let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1470let key = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1471let val = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1472let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1473{
1474let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
1475while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = env.borrow(); _lua_tmp.clone() })}).as_bool() {
1476if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)}), { let _lua_tmp = key.borrow(); _lua_tmp.clone() }])).as_bool() {
1477_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)},{ let _lua_tmp = key.borrow(); _lua_tmp.clone() });
1478_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)},{ let _lua_tmp = val.borrow(); _lua_tmp.clone() });
1479{
1480*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(2)};
1481while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = env.borrow(); _lua_tmp.clone() })}).as_bool() {
1482_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)},_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)}));
1483_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)},_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)}));
1484*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(2)};
1485}
1486}
1487return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
1488} else {
1489_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)},_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)}));
1490_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)},_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)}));
1491}
1492*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(2)};
1493}
1494}
1495_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, _lua_len({ let _lua_tmp = env.borrow(); _lua_tmp.clone() }), _lua_num!(0)}, _lua_num!(1)},{ let _lua_tmp = key.borrow(); _lua_tmp.clone() });
1496_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, _lua_len({ let _lua_tmp = env.borrow(); _lua_tmp.clone() }), _lua_num!(1)}, _lua_num!(1)},{ let _lua_tmp = val.borrow(); _lua_tmp.clone() });
1497return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
1498
1499_lua_nil()
1500}}));
1501*env_get.borrow_mut() = _lua_lambda(Box::new({let equal_p = equal_p.clone();
1502move |mut _lua_arg_tmp| {
1503let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1504let key = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1505let default_v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1506{
1507let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
1508while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = env.borrow(); _lua_tmp.clone() })}).as_bool() {
1509if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)}), { let _lua_tmp = key.borrow(); _lua_tmp.clone() }])).as_bool() {
1510return _lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)});
1511}
1512*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(2)};
1513}
1514}
1515return { let _lua_tmp = default_v.borrow(); _lua_tmp.clone() };
1516
1517_lua_nil()
1518}}));
1519*must_env_get.borrow_mut() = _lua_lambda(Box::new({let equal_p = equal_p.clone();
1520let LANG_ERROR = LANG_ERROR.clone();
1521move |mut _lua_arg_tmp| {
1522let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1523let key = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1524{
1525let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
1526while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = env.borrow(); _lua_tmp.clone() })}).as_bool() {
1527if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)}), { let _lua_tmp = key.borrow(); _lua_tmp.clone() }])).as_bool() {
1528return _lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)});
1529}
1530*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(2)};
1531}
1532}
1533return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
1534
1535_lua_nil()
1536}}));
1537*env2val.borrow_mut() = _lua_lambda(Box::new({let null_v = null_v.clone();
1538let new_construction = new_construction.clone();
1539let new_list = new_list.clone();
1540let new_data = new_data.clone();
1541let mapping_atom = mapping_atom.clone();
1542move |mut _lua_arg_tmp| {
1543let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1544let ret = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }));
1545{
1546let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
1547while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = env.borrow(); _lua_tmp.clone() })}).as_bool() {
1548*ret.borrow_mut() = _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)}), _lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)})]), { let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]);
1549*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(2)};
1550}
1551}
1552return _lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = mapping_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }])]);
1553
1554_lua_nil()
1555}}));
1556*env_foreach.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
1557let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1558let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1559{
1560let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
1561while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = env.borrow(); _lua_tmp.clone() })}).as_bool() {
1562_lua_call({ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)}), _lua_lookup({ let _lua_tmp = env.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)})]);
1563*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(2)};
1564}
1565}
1566
1567_lua_nil()
1568}}));
1569*real_evaluate.borrow_mut() = _lua_lambda(Box::new({let force1 = force1.clone();
1570let delay_just_p = delay_just_p.clone();
1571let new_error = new_error.clone();
1572let system_atom = system_atom.clone();
1573let new_list = new_list.clone();
1574let function_builtin_use_systemName = function_builtin_use_systemName.clone();
1575let evaluate_function_builtin_systemName = evaluate_function_builtin_systemName.clone();
1576let env2val = env2val.clone();
1577let construction_p = construction_p.clone();
1578let unlazy_list_1_keepcomment = unlazy_list_1_keepcomment.clone();
1579let error = error.clone();
1580let equal_p = equal_p.clone();
1581let form_builtin_use_systemName = form_builtin_use_systemName.clone();
1582let __TS__ArrayPush = __TS__ArrayPush.clone();
1583let builtin_form_apply = builtin_form_apply.clone();
1584let form_use_systemName = form_use_systemName.clone();
1585let force_all = force_all.clone();
1586let evaluate = evaluate.clone();
1587let data_p = data_p.clone();
1588let data_name = data_name.clone();
1589let atom_p = atom_p.clone();
1590let atom_equal_p = atom_equal_p.clone();
1591let form_atom = form_atom.clone();
1592let data_list = data_list.clone();
1593let construction_head = construction_head.clone();
1594let construction_tail = construction_tail.clone();
1595let null_p = null_p.clone();
1596let apply = apply.clone();
1597let builtin_func_apply = builtin_func_apply.clone();
1598let name_unlazy1_p3 = name_unlazy1_p3.clone();
1599let env_get = env_get.clone();
1600move |mut _lua_arg_tmp| {
1601let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1602let raw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1603let selfvalraw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1604let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }])));
1605if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1606return { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() };
1607}
1608let error_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
1609*error_v.borrow_mut() = _lua_lambda(Box::new({let new_error = new_error.clone();
1610let system_atom = system_atom.clone();
1611let new_list = new_list.clone();
1612let function_builtin_use_systemName = function_builtin_use_systemName.clone();
1613let evaluate_function_builtin_systemName = evaluate_function_builtin_systemName.clone();
1614let env2val = env2val.clone();
1615let env = env.clone();
1616let x = x.clone();
1617move |mut _lua_arg_tmp| {
1618return _lua_call({ let _lua_tmp = new_error.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_builtin_use_systemName.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = evaluate_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]);
1619
1620_lua_nil()
1621}}));
1622if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1623return _lua_call({ let _lua_tmp = unlazy_list_1_keepcomment.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, _lua_lambda(Box::new({let selfvalraw = selfvalraw.clone();
1624move |mut _lua_arg_tmp| {
1625return { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() };
1626
1627_lua_nil()
1628}})), _lua_lambda(Box::new({let error = error.clone();
1629let equal_p = equal_p.clone();
1630let form_builtin_use_systemName = form_builtin_use_systemName.clone();
1631let error_v = error_v.clone();
1632let __TS__ArrayPush = __TS__ArrayPush.clone();
1633let builtin_form_apply = builtin_form_apply.clone();
1634let env = env.clone();
1635let form_use_systemName = form_use_systemName.clone();
1636let force_all = force_all.clone();
1637let evaluate = evaluate.clone();
1638let data_p = data_p.clone();
1639let force1 = force1.clone();
1640let data_name = data_name.clone();
1641let delay_just_p = delay_just_p.clone();
1642let selfvalraw = selfvalraw.clone();
1643let atom_p = atom_p.clone();
1644let atom_equal_p = atom_equal_p.clone();
1645let form_atom = form_atom.clone();
1646let data_list = data_list.clone();
1647let construction_p = construction_p.clone();
1648let construction_head = construction_head.clone();
1649let construction_tail = construction_tail.clone();
1650let null_p = null_p.clone();
1651let env2val = env2val.clone();
1652let apply = apply.clone();
1653let function_builtin_use_systemName = function_builtin_use_systemName.clone();
1654let builtin_func_apply = builtin_func_apply.clone();
1655move |mut _lua_arg_tmp| {
1656let comments = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1657let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1658if (_lua_op!{not_eq, _lua_len({ let _lua_tmp = comments.borrow(); _lua_tmp.clone() }), _lua_num!(0)}).as_bool() {
1659_lua_call({ let _lua_tmp = error.borrow(); _lua_tmp.clone() }, vec![_lua_str("WIP")]);
1660}
1661if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = form_builtin_use_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1662if (_lua_op!{eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(1)}).as_bool() {
1663return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1664}
1665let f = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(2))));
1666let args = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1667{
1668let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(2)));
1669while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() })}).as_bool() {
1670_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)})]);
1671*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1672}
1673}
1674return _lua_call({ let _lua_tmp = builtin_form_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, { let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = args.borrow(); _lua_tmp.clone() }]);
1675} else if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = form_use_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1676if (_lua_op!{eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(1)}).as_bool() {
1677return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1678}
1679let f = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(2))])])));
1680if (_lua_not(_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }]))).as_bool() {
1681return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1682}
1683let f_type = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }])])));
1684if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_type.borrow(); _lua_tmp.clone() }])).as_bool() {
1685return { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() };
1686}
1687if (_lua_not(_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_type.borrow(); _lua_tmp.clone() }]))).as_bool() {
1688return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1689}
1690if (_lua_not(_lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_type.borrow(); _lua_tmp.clone() }, { let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }]))).as_bool() {
1691return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1692}
1693let f_list = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }])])));
1694if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list.borrow(); _lua_tmp.clone() }])).as_bool() {
1695return { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() };
1696}
1697if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list.borrow(); _lua_tmp.clone() }]))).as_bool() {
1698return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1699}
1700let f_x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list.borrow(); _lua_tmp.clone() }])));
1701let f_list_cdr = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list.borrow(); _lua_tmp.clone() }])])));
1702if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list_cdr.borrow(); _lua_tmp.clone() }])).as_bool() {
1703return { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() };
1704}
1705if (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list_cdr.borrow(); _lua_tmp.clone() }]))).as_bool() {
1706return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1707}
1708let args = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![(_lua_num!(1), _lua_call({ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }]))])));
1709{
1710let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(2)));
1711while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() })}).as_bool() {
1712_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)})]);
1713*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1714}
1715}
1716return _lua_call({ let _lua_tmp = apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = args.borrow(); _lua_tmp.clone() }]);
1717} else if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = function_builtin_use_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1718if (_lua_op!{eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(1)}).as_bool() {
1719return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1720}
1721let f = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(2))));
1722let args = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1723{
1724let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(2)));
1725while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() })}).as_bool() {
1726_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)})])]);
1727*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1728}
1729}
1730return _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = args.borrow(); _lua_tmp.clone() }]);
1731} else {
1732let f = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1))])));
1733let args = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1734{
1735let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(1)));
1736while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() })}).as_bool() {
1737_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)})])]);
1738*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1739}
1740}
1741return _lua_call({ let _lua_tmp = apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = args.borrow(); _lua_tmp.clone() }]);
1742}
1743
1744_lua_nil()
1745}}))]);
1746} else if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
1747return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
1748}
1749let r = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = name_unlazy1_p3.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
1750if (_lua_op!{eq, { let _lua_tmp = r.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
1751return { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() };
1752}
1753if (_lua_op!{eq, { let _lua_tmp = r.borrow(); _lua_tmp.clone() }, _lua_true()}).as_bool() {
1754return _lua_call({ let _lua_tmp = env_get.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![])]);
1755}
1756return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1757
1758_lua_nil()
1759}}));
1760*real_apply.borrow_mut() = _lua_lambda(Box::new({let new_error = new_error.clone();
1761let system_atom = system_atom.clone();
1762let new_list = new_list.clone();
1763let function_builtin_use_systemName = function_builtin_use_systemName.clone();
1764let apply_function_builtin_systemName = apply_function_builtin_systemName.clone();
1765let jsArray_to_list = jsArray_to_list.clone();
1766let force1 = force1.clone();
1767let delay_just_p = delay_just_p.clone();
1768let data_p = data_p.clone();
1769let force_all = force_all.clone();
1770let data_name = data_name.clone();
1771let atom_p = atom_p.clone();
1772let atom_equal_p = atom_equal_p.clone();
1773let function_atom = function_atom.clone();
1774let data_list = data_list.clone();
1775let construction_p = construction_p.clone();
1776let force_all_rec = force_all_rec.clone();
1777let construction_head = construction_head.clone();
1778let construction_tail = construction_tail.clone();
1779let null_p = null_p.clone();
1780let env_null_v = env_null_v.clone();
1781let name_unlazy1_p3 = name_unlazy1_p3.clone();
1782let null_v = null_v.clone();
1783let new_construction = new_construction.clone();
1784let env_set = env_set.clone();
1785let evaluate = evaluate.clone();
1786move |mut _lua_arg_tmp| {
1787let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1788let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1789let selfvalraw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1790let error_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
1791*error_v.borrow_mut() = _lua_lambda(Box::new({let new_error = new_error.clone();
1792let system_atom = system_atom.clone();
1793let new_list = new_list.clone();
1794let function_builtin_use_systemName = function_builtin_use_systemName.clone();
1795let apply_function_builtin_systemName = apply_function_builtin_systemName.clone();
1796let f = f.clone();
1797let jsArray_to_list = jsArray_to_list.clone();
1798let xs = xs.clone();
1799move |mut _lua_arg_tmp| {
1800return _lua_call({ let _lua_tmp = new_error.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_builtin_use_systemName.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = apply_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])])])])]);
1801
1802_lua_nil()
1803}}));
1804*f.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }]);
1805if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }])).as_bool() {
1806return { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() };
1807}
1808if (_lua_not(_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }]))).as_bool() {
1809return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1810}
1811let f_type = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }])])));
1812if (_lua_not(_lua_op!{and, _lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_type.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_type.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }])})).as_bool() {
1813return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1814}
1815let f_list = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }])])));
1816if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list.borrow(); _lua_tmp.clone() }]))).as_bool() {
1817return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1818}
1819let args_pat = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all_rec.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list.borrow(); _lua_tmp.clone() }])])));
1820let f_list_cdr = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list.borrow(); _lua_tmp.clone() }])])));
1821if (_lua_not(_lua_op!{and, _lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list_cdr.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list_cdr.borrow(); _lua_tmp.clone() }])])])})).as_bool() {
1822return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1823}
1824let f_code = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_list_cdr.borrow(); _lua_tmp.clone() }])));
1825let env = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = env_null_v.borrow(); _lua_tmp.clone() }));
1826let xs_i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
1827while (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }]))).as_bool() {
1828let r = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = name_unlazy1_p3.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }])));
1829if (_lua_op!{eq, { let _lua_tmp = r.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
1830return { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() };
1831}
1832if (_lua_op!{eq, { let _lua_tmp = r.borrow(); _lua_tmp.clone() }, _lua_true()}).as_bool() {
1833let x = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }));
1834{
1835let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_op!{sub, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(1)}));
1836while (_lua_op!{greater_eq, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, { let _lua_tmp = xs_i.borrow(); _lua_tmp.clone() }}).as_bool() {
1837*x.borrow_mut() = _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1838*i.borrow_mut() = _lua_op!{sub, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1839}
1840}
1841*env.borrow_mut() = _lua_call({ let _lua_tmp = env_set.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, { let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1842*xs_i.borrow_mut() = _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() });
1843*args_pat.borrow_mut() = { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() };
1844} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }])).as_bool() {
1845if (_lua_op!{less, { let _lua_tmp = xs_i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() })}).as_bool() {
1846let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = xs_i.borrow(); _lua_tmp.clone() }, _lua_num!(1)})));
1847*xs_i.borrow_mut() = _lua_op!{add, { let _lua_tmp = xs_i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
1848*env.borrow_mut() = _lua_call({ let _lua_tmp = env_set.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1849*args_pat.borrow_mut() = _lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }]);
1850} else {
1851return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1852}
1853} else {
1854return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1855}
1856}
1857if (_lua_op!{not_eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), { let _lua_tmp = xs_i.borrow(); _lua_tmp.clone() }}).as_bool() {
1858return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1859}
1860return _lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, { let _lua_tmp = f_code.borrow(); _lua_tmp.clone() }]);
1861
1862_lua_nil()
1863}}));
1864*real_builtin_func_apply.borrow_mut() = _lua_lambda(Box::new({let new_error = new_error.clone();
1865let system_atom = system_atom.clone();
1866let new_list = new_list.clone();
1867let function_builtin_use_systemName = function_builtin_use_systemName.clone();
1868let jsArray_to_list = jsArray_to_list.clone();
1869let equal_p = equal_p.clone();
1870let LANG_ERROR = LANG_ERROR.clone();
1871let real_builtin_func_apply_s = real_builtin_func_apply_s.clone();
1872move |mut _lua_arg_tmp| {
1873let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1874let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1875let selfvalraw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1876let error_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
1877*error_v.borrow_mut() = _lua_lambda(Box::new({let new_error = new_error.clone();
1878let system_atom = system_atom.clone();
1879let new_list = new_list.clone();
1880let function_builtin_use_systemName = function_builtin_use_systemName.clone();
1881let f = f.clone();
1882let jsArray_to_list = jsArray_to_list.clone();
1883let xs = xs.clone();
1884move |mut _lua_arg_tmp| {
1885return _lua_call({ let _lua_tmp = new_error.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_builtin_use_systemName.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])])])]);
1886
1887_lua_nil()
1888}}));
1889let _lua_tmp_t={ let _lua_tmp = real_builtin_func_apply_s.borrow(); _lua_tmp.clone() };
1890for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
1891let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
1892let xx=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
1893if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(1))])).as_bool() {
1894if (_lua_op!{not_eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2))}).as_bool() {
1895return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1896}
1897if (_lua_op!{eq, _lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_num!(1)}).as_bool() {
1898return _lua_call(_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3)), vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() }]);
1899} else if (_lua_op!{eq, _lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_num!(2)}).as_bool() {
1900return _lua_call(_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3)), vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), { let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() }]);
1901} else if (_lua_op!{eq, _lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_num!(3)}).as_bool() {
1902return _lua_call(_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3)), vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(3)), { let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = selfvalraw.borrow(); _lua_tmp.clone() }]);
1903}
1904return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
1905}
1906}
1907return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1908
1909_lua_nil()
1910}}));
1911*real_builtin_form_apply.borrow_mut() = _lua_lambda(Box::new({let new_error = new_error.clone();
1912let system_atom = system_atom.clone();
1913let new_list = new_list.clone();
1914let form_builtin_use_systemName = form_builtin_use_systemName.clone();
1915let env2val = env2val.clone();
1916let jsArray_to_list = jsArray_to_list.clone();
1917let equal_p = equal_p.clone();
1918let quote_form_builtin_systemName = quote_form_builtin_systemName.clone();
1919let lambda_form_builtin_systemName = lambda_form_builtin_systemName.clone();
1920let new_lambda = new_lambda.clone();
1921let comment_form_builtin_systemName = comment_form_builtin_systemName.clone();
1922let new_comment = new_comment.clone();
1923let evaluate = evaluate.clone();
1924move |mut _lua_arg_tmp| {
1925let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1926let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1927let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1928let selfvalraw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1929let error_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
1930*error_v.borrow_mut() = _lua_lambda(Box::new({let new_error = new_error.clone();
1931let system_atom = system_atom.clone();
1932let new_list = new_list.clone();
1933let form_builtin_use_systemName = form_builtin_use_systemName.clone();
1934let env2val = env2val.clone();
1935let env = env.clone();
1936let f = f.clone();
1937let jsArray_to_list = jsArray_to_list.clone();
1938let xs = xs.clone();
1939move |mut _lua_arg_tmp| {
1940return _lua_call({ let _lua_tmp = new_error.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_builtin_use_systemName.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = f.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])])])]);
1941
1942_lua_nil()
1943}}));
1944if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = quote_form_builtin_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1945if (_lua_op!{not_eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(1)}).as_bool() {
1946return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1947}
1948return _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1));
1949} else if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = lambda_form_builtin_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1950if (_lua_op!{not_eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(2)}).as_bool() {
1951return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1952}
1953return _lua_call({ let _lua_tmp = new_lambda.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), { let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }]);
1954} else if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = comment_form_builtin_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
1955if (_lua_op!{not_eq, _lua_len({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }), _lua_num!(2)}).as_bool() {
1956return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1957}
1958return _lua_call({ let _lua_tmp = new_comment.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = xs.borrow(); _lua_tmp.clone() },_lua_num!(2))])]);
1959}
1960return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
1961
1962_lua_nil()
1963}}));
1964*make_quote.borrow_mut() = _lua_lambda(Box::new({let new_list = new_list.clone();
1965let form_builtin_use_systemName = form_builtin_use_systemName.clone();
1966let quote_form_builtin_systemName = quote_form_builtin_systemName.clone();
1967move |mut _lua_arg_tmp| {
1968let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1969return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_builtin_use_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = quote_form_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
1970
1971_lua_nil()
1972}}));
1973*new_lambda.borrow_mut() = _lua_lambda(Box::new({let unlazy_all_rec = unlazy_all_rec.clone();
1974let null_p = null_p.clone();
1975let name_unlazy1_p3 = name_unlazy1_p3.clone();
1976let LANG_ASSERT = LANG_ASSERT.clone();
1977let __TS__ArrayPush = __TS__ArrayPush.clone();
1978let null_v = null_v.clone();
1979let construction_p = construction_p.clone();
1980let construction_head = construction_head.clone();
1981let construction_tail = construction_tail.clone();
1982let jsArray_to_list = jsArray_to_list.clone();
1983let env_foreach = env_foreach.clone();
1984let equal_p = equal_p.clone();
1985let new_construction = new_construction.clone();
1986let make_quote = make_quote.clone();
1987let must_env_get = must_env_get.clone();
1988let new_data = new_data.clone();
1989let function_atom = function_atom.clone();
1990let new_list = new_list.clone();
1991move |mut _lua_arg_tmp| {
1992let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1993let args_pat = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1994let body = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1995let error_v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
1996*args_pat.borrow_mut() = _lua_call({ let _lua_tmp = unlazy_all_rec.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }]);
1997let args_pat_vars = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
1998let args_pat_is_dot = std::sync::Arc::new(std::cell::RefCell::new(_lua_false()));
1999let args_pat_iter = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }));
2000while (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat_iter.borrow(); _lua_tmp.clone() }]))).as_bool() {
2001let r = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = name_unlazy1_p3.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat_iter.borrow(); _lua_tmp.clone() }])));
2002_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{not_eq, { let _lua_tmp = r.borrow(); _lua_tmp.clone() }, _lua_nil()}]);
2003if ({ let _lua_tmp = r.borrow(); _lua_tmp.clone() }).as_bool() {
2004_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat_vars.borrow(); _lua_tmp.clone() }, { let _lua_tmp = args_pat_iter.borrow(); _lua_tmp.clone() }]);
2005*args_pat_is_dot.borrow_mut() = _lua_true();
2006*args_pat_iter.borrow_mut() = { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() };
2007} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat_iter.borrow(); _lua_tmp.clone() }])).as_bool() {
2008_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat_vars.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat_iter.borrow(); _lua_tmp.clone() }])]);
2009*args_pat_iter.borrow_mut() = _lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat_iter.borrow(); _lua_tmp.clone() }]);
2010} else {
2011return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
2012}
2013}
2014let args_pat_vars_val = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2015if ({ let _lua_tmp = args_pat_is_dot.borrow(); _lua_tmp.clone() }).as_bool() {
2016*args_pat_vars_val.borrow_mut() = _lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat_vars.borrow(); _lua_tmp.clone() }]);
2017} else {
2018*args_pat_vars_val.borrow_mut() = { let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() };
2019}
2020let env_vars = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
2021_lua_call({ let _lua_tmp = env_foreach.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_lambda(Box::new({let args_pat_vars = args_pat_vars.clone();
2022let equal_p = equal_p.clone();
2023let __TS__ArrayPush = __TS__ArrayPush.clone();
2024let env_vars = env_vars.clone();
2025move |mut _lua_arg_tmp| {
2026let k = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2027let v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2028{
2029let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
2030while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = args_pat_vars.borrow(); _lua_tmp.clone() })}).as_bool() {
2031if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = args_pat_vars.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}), { let _lua_tmp = k.borrow(); _lua_tmp.clone() }])).as_bool() {
2032return _lua_nil();
2033}
2034*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
2035}
2036}
2037_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env_vars.borrow(); _lua_tmp.clone() }, { let _lua_tmp = k.borrow(); _lua_tmp.clone() }]);
2038
2039_lua_nil()
2040}}))]);
2041let new_args_pat = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = args_pat_vars_val.borrow(); _lua_tmp.clone() }));
2042{
2043let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_op!{sub, _lua_len({ let _lua_tmp = env_vars.borrow(); _lua_tmp.clone() }), _lua_num!(1)}));
2044while (_lua_op!{greater_eq, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}).as_bool() {
2045*new_args_pat.borrow_mut() = _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = env_vars.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}), { let _lua_tmp = new_args_pat.borrow(); _lua_tmp.clone() }]);
2046*i.borrow_mut() = _lua_op!{sub, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
2047}
2048}
2049let new_args = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = args_pat_vars_val.borrow(); _lua_tmp.clone() }));
2050{
2051let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_op!{sub, _lua_len({ let _lua_tmp = env_vars.borrow(); _lua_tmp.clone() }), _lua_num!(1)}));
2052while (_lua_op!{greater_eq, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}).as_bool() {
2053*new_args.borrow_mut() = _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = make_quote.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = must_env_get.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_lookup({ let _lua_tmp = env_vars.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)})])]), { let _lua_tmp = new_args.borrow(); _lua_tmp.clone() }]);
2054*i.borrow_mut() = _lua_op!{sub, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
2055}
2056}
2057return _lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = args_pat.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = make_quote.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = new_args_pat.borrow(); _lua_tmp.clone() }, { let _lua_tmp = body.borrow(); _lua_tmp.clone() }])])]), { let _lua_tmp = new_args.borrow(); _lua_tmp.clone() }])])]);
2058
2059_lua_nil()
2060}}));
2061*jsbool_equal_p_inner.borrow_mut() = _lua_lambda(Box::new({let force_all = force_all.clone();
2062let jsbool_equal_p_inner = jsbool_equal_p_inner.clone();
2063let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
2064let comment_p = comment_p.clone();
2065let un_comment_all = un_comment_all.clone();
2066let null_p = null_p.clone();
2067let atom_p = atom_p.clone();
2068let atom_equal_p = atom_equal_p.clone();
2069let construction_p = construction_p.clone();
2070let construction_head = construction_head.clone();
2071let construction_tail = construction_tail.clone();
2072let data_p = data_p.clone();
2073let data_name = data_name.clone();
2074let data_list = data_list.clone();
2075let LANG_ERROR = LANG_ERROR.clone();
2076move |mut _lua_arg_tmp| {
2077let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2078let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2079if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }}).as_bool() {
2080return _lua_true();
2081}
2082*x.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2083*y.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
2084if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }}).as_bool() {
2085return _lua_true();
2086}
2087let end_2 = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2088*end_2.borrow_mut() = _lua_lambda(Box::new({let jsbool_equal_p_inner = jsbool_equal_p_inner.clone();
2089let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
2090move |mut _lua_arg_tmp| {
2091let xx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2092let yy = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2093let f1 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2094let f2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2095let r1 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = jsbool_equal_p_inner.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = f1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = f1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = yy.borrow(); _lua_tmp.clone() }])])));
2096let r2 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = jsbool_equal_p_inner.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = f2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = f2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = yy.borrow(); _lua_tmp.clone() }])])));
2097if (_lua_op!{and, _lua_op!{eq, { let _lua_tmp = r1.borrow(); _lua_tmp.clone() }, _lua_true()}, _lua_op!{eq, { let _lua_tmp = r2.borrow(); _lua_tmp.clone() }, _lua_true()}}).as_bool() {
2098_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }, { let _lua_tmp = yy.borrow(); _lua_tmp.clone() }]);
2099return _lua_true();
2100} else if (_lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = r1.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{not_eq, { let _lua_tmp = r2.borrow(); _lua_tmp.clone() }, _lua_false()}}).as_bool() {
2101return _lua_nil();
2102} else {
2103return _lua_false();
2104}
2105
2106_lua_nil()
2107}}));
2108if (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2109let x2 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = un_comment_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
2110let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = jsbool_equal_p_inner.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x2.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }])));
2111if (_lua_op!{eq, { let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, _lua_true()}).as_bool() {
2112*ret.borrow_mut() = _lua_nil();
2113}
2114return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
2115} else if (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }])).as_bool() {
2116let y2 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = un_comment_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }])));
2117let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = jsbool_equal_p_inner.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y2.borrow(); _lua_tmp.clone() }])));
2118if (_lua_op!{eq, { let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, _lua_true()}).as_bool() {
2119*ret.borrow_mut() = _lua_nil();
2120}
2121return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
2122} else if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2123if (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2124return _lua_false();
2125}
2126_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
2127return _lua_true();
2128} else if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2129if (_lua_not(_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2130return _lua_false();
2131}
2132return _lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
2133} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2134if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2135return _lua_false();
2136}
2137return _lua_call({ let _lua_tmp = end_2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }]);
2138} else if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2139if (_lua_not(_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2140return _lua_false();
2141}
2142return _lua_call({ let _lua_tmp = end_2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }]);
2143}
2144return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
2145
2146_lua_nil()
2147}}));
2148*equal_p.borrow_mut() = _lua_lambda(Box::new({let jsbool_equal_p_inner = jsbool_equal_p_inner.clone();
2149move |mut _lua_arg_tmp| {
2150let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2151let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2152return _lua_op!{not_eq, _lua_call({ let _lua_tmp = jsbool_equal_p_inner.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }]), _lua_false()};
2153
2154_lua_nil()
2155}}));
2156*simple_print.borrow_mut() = _lua_lambda(Box::new({let un_just_all = un_just_all.clone();
2157let null_p = null_p.clone();
2158let construction_p = construction_p.clone();
2159let tostring = tostring.clone();
2160let simple_print = simple_print.clone();
2161let construction_head = construction_head.clone();
2162let construction_tail = construction_tail.clone();
2163let data_p = data_p.clone();
2164let new_construction = new_construction.clone();
2165let data_name = data_name.clone();
2166let data_list = data_list.clone();
2167let atom_p = atom_p.clone();
2168let un_atom = un_atom.clone();
2169let comment_p = comment_p.clone();
2170let comment_comment = comment_comment.clone();
2171let comment_x = comment_x.clone();
2172let delay_evaluate_p = delay_evaluate_p.clone();
2173let env2val = env2val.clone();
2174let delay_evaluate_env = delay_evaluate_env.clone();
2175let delay_evaluate_x = delay_evaluate_x.clone();
2176let delay_builtin_func_p = delay_builtin_func_p.clone();
2177let delay_builtin_func_f = delay_builtin_func_f.clone();
2178let jsArray_to_list = jsArray_to_list.clone();
2179let delay_builtin_func_xs = delay_builtin_func_xs.clone();
2180let delay_builtin_form_p = delay_builtin_form_p.clone();
2181let delay_builtin_form_env = delay_builtin_form_env.clone();
2182let delay_builtin_form_f = delay_builtin_form_f.clone();
2183let delay_builtin_form_xs = delay_builtin_form_xs.clone();
2184let delay_apply_p = delay_apply_p.clone();
2185let delay_apply_f = delay_apply_f.clone();
2186let delay_apply_xs = delay_apply_xs.clone();
2187let LANG_ERROR = LANG_ERROR.clone();
2188move |mut _lua_arg_tmp| {
2189let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2190*x.borrow_mut() = _lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2191let temp = std::sync::Arc::new(std::cell::RefCell::new(_lua_str("")));
2192let prefix = std::sync::Arc::new(std::cell::RefCell::new(_lua_str("")));
2193if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2194return _lua_str("()");
2195} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2196*temp.borrow_mut() = _lua_str("(");
2197*prefix.borrow_mut() = _lua_str("");
2198while (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2199*temp.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = temp.borrow(); _lua_tmp.clone() }]), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = prefix.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])}};
2200*prefix.borrow_mut() = _lua_str(" ");
2201*x.borrow_mut() = _lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
2202}
2203if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2204*temp.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = temp.borrow(); _lua_tmp.clone() }]), _lua_str(")")};
2205} else {
2206*temp.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = temp.borrow(); _lua_tmp.clone() }]), _lua_op!{concat, _lua_str(" . "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]), _lua_str(")")}}};
2207}
2208return { let _lua_tmp = temp.borrow(); _lua_tmp.clone() };
2209} else if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2210return _lua_op!{concat, _lua_str("#"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])])};
2211} else if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2212return _lua_call({ let _lua_tmp = un_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2213} else if (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2214return _lua_op!{concat, _lua_str(";("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = comment_comment.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = comment_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_str(")")}}}};
2215} else if (_lua_call({ let _lua_tmp = delay_evaluate_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2216return _lua_op!{concat, _lua_str("$("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_evaluate_env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_evaluate_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_str(")")}}}};
2217} else if (_lua_call({ let _lua_tmp = delay_builtin_func_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2218return _lua_op!{concat, _lua_str("%("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_func_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_func_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_str(")")}}}};
2219} else if (_lua_call({ let _lua_tmp = delay_builtin_form_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2220return _lua_op!{concat, _lua_str("@("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_form_env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_form_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_form_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_str(")")}}}}}};
2221} else if (_lua_call({ let _lua_tmp = delay_apply_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2222return _lua_op!{concat, _lua_str("^("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_apply_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_apply_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_str(")")}}}};
2223}
2224return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
2225
2226_lua_nil()
2227}}));
2228let run_trampoline = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2229*run_trampoline.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
2230let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2231let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, vec![])));
2232while (_lua_lookup({ let _lua_tmp = i.borrow(); _lua_tmp.clone() },_lua_num!(1))).as_bool() {
2233*i.borrow_mut() = _lua_call(_lua_lookup({ let _lua_tmp = i.borrow(); _lua_tmp.clone() },_lua_num!(2)), vec![]);
2234}
2235return _lua_lookup({ let _lua_tmp = i.borrow(); _lua_tmp.clone() },_lua_num!(2));
2236
2237_lua_nil()
2238}}));
2239*atom_t.borrow_mut() = _lua_num!(0);
2240*construction_t.borrow_mut() = _lua_num!(1);
2241*null_t.borrow_mut() = _lua_num!(2);
2242*data_t.borrow_mut() = _lua_num!(3);
2243*just_t.borrow_mut() = _lua_num!(4);
2244*delay_evaluate_t.borrow_mut() = _lua_num!(5);
2245*delay_builtin_func_t.borrow_mut() = _lua_num!(6);
2246*delay_builtin_form_t.borrow_mut() = _lua_num!(7);
2247*delay_apply_t.borrow_mut() = _lua_num!(8);
2248*comment_t.borrow_mut() = _lua_num!(10);
2249*hole_t.borrow_mut() = _lua_num!(9);
2250let new_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2251*new_atom.borrow_mut() = _lua_lambda(Box::new({let atom_t = atom_t.clone();
2252move |mut _lua_arg_tmp| {
2253let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2254return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = atom_t.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = x.borrow(); _lua_tmp.clone() })]);
2255
2256_lua_nil()
2257}}));
2258*null_v.borrow_mut() = _lua_table(vec![(_lua_num!(1), { let _lua_tmp = null_t.borrow(); _lua_tmp.clone() })]);
2259let force_uncomment_all_rec = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2260*force_uncomment_all_rec.borrow_mut() = _lua_lambda(Box::new({let force_uncomment_all = force_uncomment_all.clone();
2261let force_all_rec = force_all_rec.clone();
2262let comment_p = comment_p.clone();
2263let lang_copy_do = lang_copy_do.clone();
2264let force_uncomment_all_rec = force_uncomment_all_rec.clone();
2265let data_p = data_p.clone();
2266let construction_p = construction_p.clone();
2267move |mut _lua_arg_tmp| {
2268let raw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2269let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_uncomment_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }])));
2270let conslike = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2271*conslike.borrow_mut() = _lua_lambda(Box::new({let force_all_rec = force_all_rec.clone();
2272let comment_p = comment_p.clone();
2273let lang_copy_do = lang_copy_do.clone();
2274let force_uncomment_all_rec = force_uncomment_all_rec.clone();
2275move |mut _lua_arg_tmp| {
2276let xx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2277_lua_set({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2),_lua_call({ let _lua_tmp = force_all_rec.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2))]));
2278_lua_set({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3),_lua_call({ let _lua_tmp = force_all_rec.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3))]));
2279if (_lua_op!{or, _lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2))]), _lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3))])}).as_bool() {
2280let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = lang_copy_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }])));
2281let a = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(2))));
2282let d = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = xx.borrow(); _lua_tmp.clone() },_lua_num!(3))));
2283let a1 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_uncomment_all_rec.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = a.borrow(); _lua_tmp.clone() }])));
2284let d1 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_uncomment_all_rec.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = d.borrow(); _lua_tmp.clone() }])));
2285_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_num!(2),{ let _lua_tmp = a1.borrow(); _lua_tmp.clone() });
2286_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_num!(3),{ let _lua_tmp = d1.borrow(); _lua_tmp.clone() });
2287return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
2288} else {
2289return { let _lua_tmp = xx.borrow(); _lua_tmp.clone() };
2290}
2291
2292_lua_nil()
2293}}));
2294if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2295return _lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2296} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2297return _lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2298}
2299return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
2300
2301_lua_nil()
2302}}));
2303*unlazy_all_rec.borrow_mut() = { let _lua_tmp = force_uncomment_all_rec.borrow(); _lua_tmp.clone() };
2304*system_atom.borrow_mut() = _lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("太始初核")]);
2305*name_atom.borrow_mut() = _lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("符名")]);
2306*function_atom.borrow_mut() = _lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("化滅")]);
2307*form_atom.borrow_mut() = _lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("式形")]);
2308let equal_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("等同")])));
2309let evaluate_sym = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("解算")])));
2310let theThing_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("特定其物")])));
2311let something_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("省略一物")])));
2312*mapping_atom.borrow_mut() = _lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("映表")]);
2313let if_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("如若")])));
2314let typeAnnotation_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("一類何物")])));
2315let isOrNot_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("是非")])));
2316let sub_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("其子")])));
2317let true_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("爻陽")])));
2318let false_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("爻陰")])));
2319let quote_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("引用")])));
2320let apply_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("應用")])));
2321let null_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("間空")])));
2322let construction_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("連頸")])));
2323let data_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("構物")])));
2324*error_atom.borrow_mut() = _lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("謬誤")]);
2325let atom_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("詞素")])));
2326let list_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("列序")])));
2327let head_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("首始")])));
2328let tail_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("尾末")])));
2329let thing_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("之物")])));
2330let theWorldStopped_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("宇宙亡矣")])));
2331let effect_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("效應")])));
2332let comment_atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("註疏")])));
2333*the_world_stopped_v.borrow_mut() = _lua_call({ let _lua_tmp = new_error.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = theWorldStopped_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }])]);
2334let systemName_make = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2335*systemName_make.borrow_mut() = _lua_lambda(Box::new({let new_data = new_data.clone();
2336let name_atom = name_atom.clone();
2337let new_construction = new_construction.clone();
2338let system_atom = system_atom.clone();
2339let null_v = null_v.clone();
2340move |mut _lua_arg_tmp| {
2341let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2342return _lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = name_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }])])]);
2343
2344_lua_nil()
2345}}));
2346let make_builtin_f_new_sym_f = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2347*make_builtin_f_new_sym_f.borrow_mut() = _lua_lambda(Box::new({let systemName_make = systemName_make.clone();
2348let new_list = new_list.clone();
2349let typeAnnotation_atom = typeAnnotation_atom.clone();
2350let function_atom = function_atom.clone();
2351let something_atom = something_atom.clone();
2352let theThing_atom = theThing_atom.clone();
2353move |mut _lua_arg_tmp| {
2354let x_sym = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2355return _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x_sym.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = theThing_atom.borrow(); _lua_tmp.clone() }])]);
2356
2357_lua_nil()
2358}}));
2359let make_builtin_f_get_sym_f = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2360*make_builtin_f_get_sym_f.borrow_mut() = _lua_lambda(Box::new({let systemName_make = systemName_make.clone();
2361let new_list = new_list.clone();
2362let typeAnnotation_atom = typeAnnotation_atom.clone();
2363let function_atom = function_atom.clone();
2364let something_atom = something_atom.clone();
2365move |mut _lua_arg_tmp| {
2366let t_sym = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2367let x_sym = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2368return _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = t_sym.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = x_sym.borrow(); _lua_tmp.clone() }])]);
2369
2370_lua_nil()
2371}}));
2372let make_builtin_f_p_sym_f = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2373*make_builtin_f_p_sym_f.borrow_mut() = _lua_lambda(Box::new({let systemName_make = systemName_make.clone();
2374let new_list = new_list.clone();
2375let typeAnnotation_atom = typeAnnotation_atom.clone();
2376let function_atom = function_atom.clone();
2377let isOrNot_atom = isOrNot_atom.clone();
2378let something_atom = something_atom.clone();
2379move |mut _lua_arg_tmp| {
2380let t_sym = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2381return _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = isOrNot_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = t_sym.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }])])])]);
2382
2383_lua_nil()
2384}}));
2385let new_data_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = make_builtin_f_new_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = data_atom.borrow(); _lua_tmp.clone() }])));
2386*data_name_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = make_builtin_f_get_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = data_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = name_atom.borrow(); _lua_tmp.clone() }]);
2387*data_list_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = make_builtin_f_get_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = data_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = list_atom.borrow(); _lua_tmp.clone() }]);
2388*data_p_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = make_builtin_f_p_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = data_atom.borrow(); _lua_tmp.clone() }]);
2389let new_construction_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = make_builtin_f_new_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = construction_atom.borrow(); _lua_tmp.clone() }])));
2390*construction_p_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = make_builtin_f_p_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = construction_atom.borrow(); _lua_tmp.clone() }]);
2391*construction_head_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = make_builtin_f_get_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = construction_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = head_atom.borrow(); _lua_tmp.clone() }]);
2392*construction_tail_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = make_builtin_f_get_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = construction_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = tail_atom.borrow(); _lua_tmp.clone() }]);
2393*atom_p_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = make_builtin_f_p_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = atom_atom.borrow(); _lua_tmp.clone() }]);
2394*null_p_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = make_builtin_f_p_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = null_atom.borrow(); _lua_tmp.clone() }]);
2395*equal_p_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = isOrNot_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = equal_atom.borrow(); _lua_tmp.clone() }])])]);
2396*apply_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = apply_atom.borrow(); _lua_tmp.clone() }])]);
2397*evaluate_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = evaluate_sym.borrow(); _lua_tmp.clone() }])]);
2398let list_chooseOne_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = make_builtin_f_get_sym_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = thing_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }])])));
2399*if_function_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = if_atom.borrow(); _lua_tmp.clone() }])]);
2400*quote_form_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = quote_atom.borrow(); _lua_tmp.clone() }])]);
2401*lambda_form_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }])]), { let _lua_tmp = theThing_atom.borrow(); _lua_tmp.clone() }])]);
2402*function_builtin_use_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }])])]);
2403*form_builtin_use_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }])])]);
2404*form_use_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }])]);
2405let comment_function_builtin_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = comment_atom.borrow(); _lua_tmp.clone() }])])));
2406*comment_form_builtin_systemName.borrow_mut() = _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = comment_atom.borrow(); _lua_tmp.clone() }])]);
2407let false_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = false_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![])])));
2408let true_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = true_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![])])));
2409let list_to_jsArray = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2410*list_to_jsArray.borrow_mut() = _lua_lambda(Box::new({let construction_p = construction_p.clone();
2411let __TS__ArrayPush = __TS__ArrayPush.clone();
2412let construction_head = construction_head.clone();
2413let construction_tail = construction_tail.clone();
2414let null_p = null_p.clone();
2415move |mut _lua_arg_tmp| {
2416let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2417let k_done = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2418let k_tail = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2419let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
2420while (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])).as_bool() {
2421_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])]);
2422*xs.borrow_mut() = _lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]);
2423}
2424if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])).as_bool() {
2425return _lua_call({ let _lua_tmp = k_done.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]);
2426}
2427return _lua_call({ let _lua_tmp = k_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, { let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]);
2428
2429_lua_nil()
2430}}));
2431let maybe_list_to_jsArray = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2432*maybe_list_to_jsArray.borrow_mut() = _lua_lambda(Box::new({let list_to_jsArray = list_to_jsArray.clone();
2433move |mut _lua_arg_tmp| {
2434let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2435return _lua_call({ let _lua_tmp = list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
2436let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2437return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
2438
2439_lua_nil()
2440}})), _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
2441let _1 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2442let _2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2443return _lua_false();
2444
2445_lua_nil()
2446}}))]);
2447
2448_lua_nil()
2449}}));
2450let un_just_comment_all = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2451*un_just_comment_all.borrow_mut() = _lua_lambda(Box::new({let just_p = just_p.clone();
2452let comment_p = comment_p.clone();
2453let un_just_all = un_just_all.clone();
2454let un_comment_all = un_comment_all.clone();
2455move |mut _lua_arg_tmp| {
2456let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2457while (_lua_op!{or, _lua_call({ let _lua_tmp = just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])}).as_bool() {
2458*x.borrow_mut() = _lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = un_comment_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
2459}
2460return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
2461
2462_lua_nil()
2463}}));
2464let delay2delay_evaluate = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2465*delay2delay_evaluate.borrow_mut() = _lua_lambda(Box::new({let delay_evaluate_p = delay_evaluate_p.clone();
2466let delay_builtin_form_p = delay_builtin_form_p.clone();
2467let error = error.clone();
2468let delay_builtin_func_p = delay_builtin_func_p.clone();
2469let delay_apply_p = delay_apply_p.clone();
2470let LANG_ERROR = LANG_ERROR.clone();
2471move |mut _lua_arg_tmp| {
2472let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2473if (_lua_call({ let _lua_tmp = delay_evaluate_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2474return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
2475} else if (_lua_call({ let _lua_tmp = delay_builtin_form_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2476_lua_call({ let _lua_tmp = error.borrow(); _lua_tmp.clone() }, vec![_lua_str("WIP")]);
2477} else if (_lua_call({ let _lua_tmp = delay_builtin_func_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2478_lua_call({ let _lua_tmp = error.borrow(); _lua_tmp.clone() }, vec![_lua_str("WIP")]);
2479} else if (_lua_call({ let _lua_tmp = delay_apply_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2480_lua_call({ let _lua_tmp = error.borrow(); _lua_tmp.clone() }, vec![_lua_str("WIP")]);
2481}
2482return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
2483
2484_lua_nil()
2485}}));
2486let delay_env = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2487*delay_env.borrow_mut() = _lua_lambda(Box::new({let delay_evaluate_env = delay_evaluate_env.clone();
2488let delay2delay_evaluate = delay2delay_evaluate.clone();
2489move |mut _lua_arg_tmp| {
2490let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2491return _lua_call({ let _lua_tmp = delay_evaluate_env.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay2delay_evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
2492
2493_lua_nil()
2494}}));
2495let delay_x = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2496*delay_x.borrow_mut() = _lua_lambda(Box::new({let delay_evaluate_x = delay_evaluate_x.clone();
2497let delay2delay_evaluate = delay2delay_evaluate.clone();
2498move |mut _lua_arg_tmp| {
2499let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2500return _lua_call({ let _lua_tmp = delay_evaluate_x.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay2delay_evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
2501
2502_lua_nil()
2503}}));
2504let force_uncomment1 = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2505*force_uncomment1.borrow_mut() = _lua_lambda(Box::new({let comment_p = comment_p.clone();
2506let comment_x = comment_x.clone();
2507let force1 = force1.clone();
2508move |mut _lua_arg_tmp| {
2509let raw = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2510if (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }])).as_bool() {
2511return _lua_call({ let _lua_tmp = comment_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }]);
2512} else {
2513return _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = raw.borrow(); _lua_tmp.clone() }]);
2514}
2515
2516_lua_nil()
2517}}));
2518let enviroment_null_v = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = make_enviroment_null_v.borrow(); _lua_tmp.clone() }, vec![])));
2519let enviroment_set = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2520*enviroment_set.borrow_mut() = _lua_lambda(Box::new({let make_enviroment_null_v = make_enviroment_null_v.clone();
2521let run_trampoline = run_trampoline.clone();
2522let enviroment_set_helper = enviroment_set_helper.clone();
2523move |mut _lua_arg_tmp| {
2524let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2525let key = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2526let val = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2527let result = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = make_enviroment_null_v.borrow(); _lua_tmp.clone() }, vec![])));
2528return _lua_call({ let _lua_tmp = run_trampoline.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = enviroment_set_helper.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = key.borrow(); _lua_tmp.clone() })]), { let _lua_tmp = val.borrow(); _lua_tmp.clone() }, { let _lua_tmp = result.borrow(); _lua_tmp.clone() }, { let _lua_tmp = result.borrow(); _lua_tmp.clone() }])]);
2529
2530_lua_nil()
2531}}));
2532*env_null_v.borrow_mut() = _lua_table(vec![]);
2533let val2env = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2534*val2env.borrow_mut() = _lua_lambda(Box::new({let force_all = force_all.clone();
2535let data_p = data_p.clone();
2536let data_name = data_name.clone();
2537let atom_p = atom_p.clone();
2538let atom_equal_p = atom_equal_p.clone();
2539let mapping_atom = mapping_atom.clone();
2540let data_list = data_list.clone();
2541let construction_p = construction_p.clone();
2542let null_p = null_p.clone();
2543let construction_tail = construction_tail.clone();
2544let construction_head = construction_head.clone();
2545let equal_p = equal_p.clone();
2546let __TS__ArrayPush = __TS__ArrayPush.clone();
2547move |mut _lua_arg_tmp| {
2548let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2549*x.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2550if (_lua_not(_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
2551return _lua_false();
2552}
2553let s = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])));
2554if (_lua_not(_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = s.borrow(); _lua_tmp.clone() }]))).as_bool() {
2555return _lua_false();
2556}
2557if (_lua_not(_lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = s.borrow(); _lua_tmp.clone() }, { let _lua_tmp = mapping_atom.borrow(); _lua_tmp.clone() }]))).as_bool() {
2558return _lua_false();
2559}
2560*s.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
2561if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = s.borrow(); _lua_tmp.clone() }]))).as_bool() {
2562return _lua_false();
2563}
2564if (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = s.borrow(); _lua_tmp.clone() }])])]))).as_bool() {
2565return _lua_false();
2566}
2567let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
2568let xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = s.borrow(); _lua_tmp.clone() }])])));
2569while (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]))).as_bool() {
2570if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]))).as_bool() {
2571return _lua_false();
2572}
2573let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])])));
2574*xs.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])]);
2575if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
2576return _lua_false();
2577}
2578let k = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
2579*x.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
2580if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
2581return _lua_false();
2582}
2583let v = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
2584if (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]))).as_bool() {
2585return _lua_false();
2586}
2587let not_breaked = std::sync::Arc::new(std::cell::RefCell::new(_lua_true()));
2588{
2589let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(0)));
2590while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() })}).as_bool() {
2591if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(0)}, _lua_num!(1)}), { let _lua_tmp = k.borrow(); _lua_tmp.clone() }])).as_bool() {
2592_lua_set({ let _lua_tmp = ret.borrow(); _lua_tmp.clone() },_lua_op!{add, _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_num!(1)},{ let _lua_tmp = v.borrow(); _lua_tmp.clone() });
2593*not_breaked.borrow_mut() = _lua_false();
2594break;
2595}
2596*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(2)};
2597}
2598}
2599if ({ let _lua_tmp = not_breaked.borrow(); _lua_tmp.clone() }).as_bool() {
2600_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }, { let _lua_tmp = k.borrow(); _lua_tmp.clone() }, { let _lua_tmp = v.borrow(); _lua_tmp.clone() }]);
2601}
2602}
2603return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
2604
2605_lua_nil()
2606}}));
2607let make_builtin_p_func = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2608*make_builtin_p_func.borrow_mut() = _lua_lambda(Box::new({let force1 = force1.clone();
2609let delay_just_p = delay_just_p.clone();
2610let builtin_func_apply = builtin_func_apply.clone();
2611let true_v = true_v.clone();
2612let false_v = false_v.clone();
2613move |mut _lua_arg_tmp| {
2614let p_sym = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2615let p_jsfunc = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2616return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = p_sym.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(1)), (_lua_num!(3), _lua_lambda(Box::new({let force1 = force1.clone();
2617let delay_just_p = delay_just_p.clone();
2618let builtin_func_apply = builtin_func_apply.clone();
2619let p_sym = p_sym.clone();
2620let p_jsfunc = p_jsfunc.clone();
2621let true_v = true_v.clone();
2622let false_v = false_v.clone();
2623move |mut _lua_arg_tmp| {
2624let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2625*x.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2626if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2627return _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = p_sym.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = x.borrow(); _lua_tmp.clone() })])]);
2628}
2629if (_lua_call({ let _lua_tmp = p_jsfunc.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2630return { let _lua_tmp = true_v.borrow(); _lua_tmp.clone() };
2631}
2632return { let _lua_tmp = false_v.borrow(); _lua_tmp.clone() };
2633
2634_lua_nil()
2635}})))]);
2636
2637_lua_nil()
2638}}));
2639let make_builtin_get_func = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2640*make_builtin_get_func.borrow_mut() = _lua_lambda(Box::new({let force1 = force1.clone();
2641let delay_just_p = delay_just_p.clone();
2642let builtin_func_apply = builtin_func_apply.clone();
2643move |mut _lua_arg_tmp| {
2644let f_sym = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2645let p_jsfunc = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2646let f_jsfunc = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2647return _lua_table(vec![(_lua_num!(1), { let _lua_tmp = f_sym.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(1)), (_lua_num!(3), _lua_lambda(Box::new({let force1 = force1.clone();
2648let delay_just_p = delay_just_p.clone();
2649let builtin_func_apply = builtin_func_apply.clone();
2650let f_sym = f_sym.clone();
2651let p_jsfunc = p_jsfunc.clone();
2652let f_jsfunc = f_jsfunc.clone();
2653move |mut _lua_arg_tmp| {
2654let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2655let error_v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2656*x.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2657if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2658return _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f_sym.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = x.borrow(); _lua_tmp.clone() })])]);
2659}
2660if (_lua_call({ let _lua_tmp = p_jsfunc.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2661return _lua_call({ let _lua_tmp = f_jsfunc.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2662}
2663return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
2664
2665_lua_nil()
2666}})))]);
2667
2668_lua_nil()
2669}}));
2670*real_builtin_func_apply_s.borrow_mut() = _lua_table(vec![(_lua_num!(1), _lua_call({ let _lua_tmp = make_builtin_p_func.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = data_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }])), (_lua_num!(2), _lua_table(vec![(_lua_num!(1), { let _lua_tmp = new_data_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(2)), (_lua_num!(3), { let _lua_tmp = new_data.borrow(); _lua_tmp.clone() })])), (_lua_num!(3), _lua_call({ let _lua_tmp = make_builtin_get_func.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = data_name_function_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }])), (_lua_num!(4), _lua_call({ let _lua_tmp = make_builtin_get_func.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = data_list_function_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }])), (_lua_num!(5), _lua_call({ let _lua_tmp = make_builtin_p_func.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = null_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }])), (_lua_num!(6), _lua_table(vec![(_lua_num!(1), { let _lua_tmp = new_construction_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(2)), (_lua_num!(3), { let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() })])), (_lua_num!(7), _lua_call({ let _lua_tmp = make_builtin_p_func.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = construction_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }])), (_lua_num!(8), _lua_call({ let _lua_tmp = make_builtin_get_func.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = construction_head_function_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }])), (_lua_num!(9), _lua_call({ let _lua_tmp = make_builtin_get_func.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = construction_tail_function_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }])), (_lua_num!(10), _lua_table(vec![(_lua_num!(1), { let _lua_tmp = equal_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(2)), (_lua_num!(3), _lua_lambda(Box::new({let true_v = true_v.clone();
2671let force1 = force1.clone();
2672let delay_just_p = delay_just_p.clone();
2673let builtin_func_apply = builtin_func_apply.clone();
2674let equal_p_function_builtin_systemName = equal_p_function_builtin_systemName.clone();
2675let if_function_builtin_systemName = if_function_builtin_systemName.clone();
2676let false_v = false_v.clone();
2677let LANG_ASSERT = LANG_ASSERT.clone();
2678let null_p = null_p.clone();
2679let atom_p = atom_p.clone();
2680let atom_equal_p = atom_equal_p.clone();
2681let data_p = data_p.clone();
2682let data_name = data_name.clone();
2683let data_list = data_list.clone();
2684let construction_p = construction_p.clone();
2685let construction_head = construction_head.clone();
2686let construction_tail = construction_tail.clone();
2687let LANG_ERROR = LANG_ERROR.clone();
2688move |mut _lua_arg_tmp| {
2689let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2690let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2691let error_v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2692if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }}).as_bool() {
2693return { let _lua_tmp = true_v.borrow(); _lua_tmp.clone() };
2694}
2695*x.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2696*y.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
2697if (_lua_op!{or, _lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }])}).as_bool() {
2698return _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = equal_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = y.borrow(); _lua_tmp.clone() })])]);
2699}
2700if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }}).as_bool() {
2701return { let _lua_tmp = true_v.borrow(); _lua_tmp.clone() };
2702}
2703let H_if = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2704*H_if.borrow_mut() = _lua_lambda(Box::new({let builtin_func_apply = builtin_func_apply.clone();
2705let if_function_builtin_systemName = if_function_builtin_systemName.clone();
2706move |mut _lua_arg_tmp| {
2707let b = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2708let xx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2709let yy = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2710return _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = if_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = b.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = xx.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = yy.borrow(); _lua_tmp.clone() })])]);
2711
2712_lua_nil()
2713}}));
2714let H_and = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2715*H_and.borrow_mut() = _lua_lambda(Box::new({let H_if = H_if.clone();
2716let false_v = false_v.clone();
2717move |mut _lua_arg_tmp| {
2718let xx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2719let yy = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2720return _lua_call({ let _lua_tmp = H_if.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }, { let _lua_tmp = yy.borrow(); _lua_tmp.clone() }, { let _lua_tmp = false_v.borrow(); _lua_tmp.clone() }]);
2721
2722_lua_nil()
2723}}));
2724_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_not(_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))]);
2725let end_2 = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2726*end_2.borrow_mut() = _lua_lambda(Box::new({let H_and = H_and.clone();
2727let builtin_func_apply = builtin_func_apply.clone();
2728let equal_p_function_builtin_systemName = equal_p_function_builtin_systemName.clone();
2729move |mut _lua_arg_tmp| {
2730let xx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2731let yy = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2732let f1 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2733let f2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2734return _lua_call({ let _lua_tmp = H_and.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = equal_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), _lua_call({ let _lua_tmp = f1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }])), (_lua_num!(2), _lua_call({ let _lua_tmp = f1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = yy.borrow(); _lua_tmp.clone() }]))])]), _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = equal_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), _lua_call({ let _lua_tmp = f2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }])), (_lua_num!(2), _lua_call({ let _lua_tmp = f2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = yy.borrow(); _lua_tmp.clone() }]))])])]);
2735
2736_lua_nil()
2737}}));
2738if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2739if (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
2740return { let _lua_tmp = false_v.borrow(); _lua_tmp.clone() };
2741}
2742return { let _lua_tmp = true_v.borrow(); _lua_tmp.clone() };
2743} else if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2744if (_lua_not(_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2745return { let _lua_tmp = false_v.borrow(); _lua_tmp.clone() };
2746}
2747if (_lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }])).as_bool() {
2748return { let _lua_tmp = true_v.borrow(); _lua_tmp.clone() };
2749} else {
2750return { let _lua_tmp = false_v.borrow(); _lua_tmp.clone() };
2751}
2752} else if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2753if (_lua_not(_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2754return { let _lua_tmp = false_v.borrow(); _lua_tmp.clone() };
2755}
2756return _lua_call({ let _lua_tmp = end_2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }]);
2757} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2758if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2759return { let _lua_tmp = false_v.borrow(); _lua_tmp.clone() };
2760}
2761return _lua_call({ let _lua_tmp = end_2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }]);
2762}
2763return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
2764
2765_lua_nil()
2766}})))])), (_lua_num!(11), _lua_table(vec![(_lua_num!(1), { let _lua_tmp = apply_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(2)), (_lua_num!(3), _lua_lambda(Box::new({let force_all = force_all.clone();
2767let construction_p = construction_p.clone();
2768let __TS__ArrayPush = __TS__ArrayPush.clone();
2769let construction_head = construction_head.clone();
2770let construction_tail = construction_tail.clone();
2771let null_p = null_p.clone();
2772let apply = apply.clone();
2773move |mut _lua_arg_tmp| {
2774let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2775let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2776let error_v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2777let jslist = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
2778let iter = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])));
2779while (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = iter.borrow(); _lua_tmp.clone() }])).as_bool() {
2780_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = jslist.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = iter.borrow(); _lua_tmp.clone() }])]);
2781*iter.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = iter.borrow(); _lua_tmp.clone() }])]);
2782}
2783if (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = iter.borrow(); _lua_tmp.clone() }]))).as_bool() {
2784return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
2785}
2786return _lua_call({ let _lua_tmp = apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = jslist.borrow(); _lua_tmp.clone() }]);
2787
2788_lua_nil()
2789}})))])), (_lua_num!(12), _lua_table(vec![(_lua_num!(1), { let _lua_tmp = evaluate_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(2)), (_lua_num!(3), _lua_lambda(Box::new({let val2env = val2env.clone();
2790let evaluate = evaluate.clone();
2791move |mut _lua_arg_tmp| {
2792let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2793let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2794let error_v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2795let maybeenv = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = val2env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }])));
2796if (_lua_op!{eq, { let _lua_tmp = maybeenv.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
2797return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
2798}
2799return _lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = maybeenv.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2800
2801_lua_nil()
2802}})))])), (_lua_num!(13), _lua_call({ let _lua_tmp = make_builtin_p_func.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = atom_p_function_builtin_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }])), (_lua_num!(14), _lua_table(vec![(_lua_num!(1), { let _lua_tmp = list_chooseOne_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(1)), (_lua_num!(3), _lua_lambda(Box::new({let force1 = force1.clone();
2803let delay_just_p = delay_just_p.clone();
2804let builtin_func_apply = builtin_func_apply.clone();
2805let list_chooseOne_function_builtin_systemName = list_chooseOne_function_builtin_systemName.clone();
2806let construction_p = construction_p.clone();
2807let construction_head = construction_head.clone();
2808move |mut _lua_arg_tmp| {
2809let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2810let error_v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2811*xs.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]);
2812if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])).as_bool() {
2813return _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list_chooseOne_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = xs.borrow(); _lua_tmp.clone() })])]);
2814}
2815if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]))).as_bool() {
2816return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
2817}
2818return _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]);
2819
2820_lua_nil()
2821}})))])), (_lua_num!(15), _lua_table(vec![(_lua_num!(1), { let _lua_tmp = if_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(3)), (_lua_num!(3), _lua_lambda(Box::new({let force1 = force1.clone();
2822let delay_just_p = delay_just_p.clone();
2823let builtin_func_apply = builtin_func_apply.clone();
2824let if_function_builtin_systemName = if_function_builtin_systemName.clone();
2825let data_p = data_p.clone();
2826let force_all = force_all.clone();
2827let data_name = data_name.clone();
2828let atom_p = atom_p.clone();
2829let atom_equal_p = atom_equal_p.clone();
2830let true_atom = true_atom.clone();
2831let false_atom = false_atom.clone();
2832move |mut _lua_arg_tmp| {
2833let b = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2834let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2835let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2836let error_v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2837*b.borrow_mut() = _lua_call({ let _lua_tmp = force1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = b.borrow(); _lua_tmp.clone() }]);
2838if (_lua_call({ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = b.borrow(); _lua_tmp.clone() }])).as_bool() {
2839return _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = if_function_builtin_systemName.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = b.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = y.borrow(); _lua_tmp.clone() })])]);
2840}
2841if (_lua_not(_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = b.borrow(); _lua_tmp.clone() }]))).as_bool() {
2842return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
2843}
2844let nam = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = b.borrow(); _lua_tmp.clone() }])])));
2845if (_lua_not(_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = nam.borrow(); _lua_tmp.clone() }]))).as_bool() {
2846return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
2847}
2848if (_lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = nam.borrow(); _lua_tmp.clone() }, { let _lua_tmp = true_atom.borrow(); _lua_tmp.clone() }])).as_bool() {
2849return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
2850}
2851if (_lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = nam.borrow(); _lua_tmp.clone() }, { let _lua_tmp = false_atom.borrow(); _lua_tmp.clone() }])).as_bool() {
2852return { let _lua_tmp = y.borrow(); _lua_tmp.clone() };
2853}
2854return _lua_call({ let _lua_tmp = error_v.borrow(); _lua_tmp.clone() }, vec![]);
2855
2856_lua_nil()
2857}})))])), (_lua_num!(16), _lua_table(vec![(_lua_num!(1), { let _lua_tmp = comment_function_builtin_systemName.borrow(); _lua_tmp.clone() }), (_lua_num!(2), _lua_num!(2)), (_lua_num!(3), { let _lua_tmp = new_comment.borrow(); _lua_tmp.clone() })]))]);
2858let jsbool_no_force_isomorphism_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2859*jsbool_no_force_isomorphism_p.borrow_mut() = _lua_lambda(Box::new({let un_just_all = un_just_all.clone();
2860let jsbool_no_force_isomorphism_p = jsbool_no_force_isomorphism_p.clone();
2861let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
2862let null_p = null_p.clone();
2863let null_v = null_v.clone();
2864let atom_p = atom_p.clone();
2865let atom_equal_p = atom_equal_p.clone();
2866let construction_p = construction_p.clone();
2867let construction_head = construction_head.clone();
2868let construction_tail = construction_tail.clone();
2869let data_p = data_p.clone();
2870let data_name = data_name.clone();
2871let data_list = data_list.clone();
2872let delay_p = delay_p.clone();
2873let LANG_ERROR = LANG_ERROR.clone();
2874move |mut _lua_arg_tmp| {
2875let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2876let y = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2877if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }}).as_bool() {
2878return _lua_true();
2879}
2880*x.borrow_mut() = _lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
2881*y.borrow_mut() = _lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
2882if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }}).as_bool() {
2883return _lua_true();
2884}
2885let end_2 = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2886*end_2.borrow_mut() = _lua_lambda(Box::new({let jsbool_no_force_isomorphism_p = jsbool_no_force_isomorphism_p.clone();
2887let lang_assert_equal_set_do = lang_assert_equal_set_do.clone();
2888move |mut _lua_arg_tmp| {
2889let xx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2890let yy = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2891let f1 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2892let f2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2893if (_lua_op!{and, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = f1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = f1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = yy.borrow(); _lua_tmp.clone() }])]), _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = f2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = f2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = yy.borrow(); _lua_tmp.clone() }])])}).as_bool() {
2894_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }, { let _lua_tmp = yy.borrow(); _lua_tmp.clone() }]);
2895return _lua_true();
2896} else {
2897return _lua_false();
2898}
2899
2900_lua_nil()
2901}}));
2902if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2903if (_lua_not(_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2904return _lua_false();
2905}
2906_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }]);
2907_lua_call({ let _lua_tmp = lang_assert_equal_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }]);
2908return _lua_true();
2909} else if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2910if (_lua_not(_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2911return _lua_false();
2912}
2913return _lua_call({ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
2914} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2915if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2916return _lua_false();
2917}
2918return _lua_call({ let _lua_tmp = end_2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }]);
2919} else if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2920if (_lua_not(_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }]))).as_bool() {
2921return _lua_false();
2922}
2923return _lua_call({ let _lua_tmp = end_2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }]);
2924} else if (_lua_call({ let _lua_tmp = delay_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
2925return _lua_false();
2926}
2927return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
2928
2929_lua_nil()
2930}}));
2931let complex_parse = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2932*complex_parse.borrow_mut() = _lua_lambda(Box::new({let LANG_ASSERT = LANG_ASSERT.clone();
2933let string = string.clone();
2934let error = error.clone();
2935let tostring = tostring.clone();
2936let new_atom = new_atom.clone();
2937let new_hole_do = new_hole_do.clone();
2938let hole_set_do = hole_set_do.clone();
2939let new_construction = new_construction.clone();
2940let null_v = null_v.clone();
2941let construction_p = construction_p.clone();
2942let new_data = new_data.clone();
2943let construction_head = construction_head.clone();
2944let construction_tail = construction_tail.clone();
2945let new_list = new_list.clone();
2946let typeAnnotation_atom = typeAnnotation_atom.clone();
2947let function_atom = function_atom.clone();
2948let something_atom = something_atom.clone();
2949let isOrNot_atom = isOrNot_atom.clone();
2950let __TS__ArrayPush = __TS__ArrayPush.clone();
2951let sub_atom = sub_atom.clone();
2952let jsArray_to_list = jsArray_to_list.clone();
2953let form_atom = form_atom.clone();
2954let system_atom = system_atom.clone();
2955let theThing_atom = theThing_atom.clone();
2956let atom_p = atom_p.clone();
2957let systemName_make = systemName_make.clone();
2958let null_p = null_p.clone();
2959let val2env = val2env.clone();
2960let evaluate = evaluate.clone();
2961let list_to_jsArray = list_to_jsArray.clone();
2962let builtin_func_apply = builtin_func_apply.clone();
2963let builtin_form_apply = builtin_form_apply.clone();
2964let apply = apply.clone();
2965let new_comment = new_comment.clone();
2966move |mut _lua_arg_tmp| {
2967let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
2968let state_const = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2969let state = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2970let eof = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2971let get = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2972let put = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2973let parse_error = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2974let a_space_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2975let space = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2976let atom = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2977let readlist = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2978let data = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2979let readeval = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2980let readfuncapply = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2981let readformbuiltin = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2982let readapply = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2983let readcomment = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2984let a_atom_p = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2985let val = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2986let un_maybe = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2987let not_eof = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2988let assert_get = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2989let readsysname_no_pack_inner_must = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2990let may_xfx_xf = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2991let readsysname_no_pack = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2992let readsysname = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
2993*eof.borrow_mut() = _lua_lambda(Box::new({let state_const = state_const.clone();
2994let state = state.clone();
2995move |mut _lua_arg_tmp| {
2996return _lua_op!{eq, _lua_len({ let _lua_tmp = state_const.borrow(); _lua_tmp.clone() }), { let _lua_tmp = state.borrow(); _lua_tmp.clone() }};
2997
2998_lua_nil()
2999}}));
3000*get.borrow_mut() = _lua_lambda(Box::new({let LANG_ASSERT = LANG_ASSERT.clone();
3001let eof = eof.clone();
3002let string = string.clone();
3003let state_const = state_const.clone();
3004let state = state.clone();
3005move |mut _lua_arg_tmp| {
3006_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_not(_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![]))]);
3007let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_call(_lua_lookup({ let _lua_tmp = string.borrow(); _lua_tmp.clone() },_lua_str("sub")), vec![{ let _lua_tmp = state_const.borrow(); _lua_tmp.clone() }, _lua_op!{add, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_op!{add, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_num!(1)}])));
3008*state.borrow_mut() = _lua_op!{add, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
3009return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
3010
3011_lua_nil()
3012}}));
3013*put.borrow_mut() = _lua_lambda(Box::new({let LANG_ASSERT = LANG_ASSERT.clone();
3014let string = string.clone();
3015let state_const = state_const.clone();
3016let state = state.clone();
3017move |mut _lua_arg_tmp| {
3018let chr = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3019_lua_call({ let _lua_tmp = LANG_ASSERT.borrow(); _lua_tmp.clone() }, vec![_lua_op!{eq, _lua_call(_lua_lookup({ let _lua_tmp = string.borrow(); _lua_tmp.clone() },_lua_str("sub")), vec![{ let _lua_tmp = state_const.borrow(); _lua_tmp.clone() }, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }}]);
3020*state.borrow_mut() = _lua_op!{sub, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
3021
3022_lua_nil()
3023}}));
3024*parse_error.borrow_mut() = _lua_lambda(Box::new({let error = error.clone();
3025let tostring = tostring.clone();
3026move |mut _lua_arg_tmp| {
3027let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3028if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
3029*x.borrow_mut() = _lua_str("");
3030}
3031_lua_call({ let _lua_tmp = error.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_str("TheLanguage parse ERROR!"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])}]);
3032
3033_lua_nil()
3034}}));
3035*a_space_p.borrow_mut() = _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
3036let chr = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3037return _lua_op!{or, _lua_op!{or, _lua_op!{or, _lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str(" ")}, _lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str("\n")}}, _lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str("\t")}}, _lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str("\r")}};
3038
3039_lua_nil()
3040}}));
3041*space.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3042let get = get.clone();
3043let a_space_p = a_space_p.clone();
3044let put = put.clone();
3045move |mut _lua_arg_tmp| {
3046if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3047return _lua_false();
3048}
3049let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3050if (_lua_not(_lua_call({ let _lua_tmp = a_space_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
3051_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3052return _lua_false();
3053}
3054while (_lua_op!{and, _lua_call({ let _lua_tmp = a_space_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_not(_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![]))}).as_bool() {
3055*x.borrow_mut() = _lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![]);
3056}
3057if (_lua_not(_lua_call({ let _lua_tmp = a_space_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
3058_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3059}
3060return _lua_true();
3061
3062_lua_nil()
3063}}));
3064*atom.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3065let get = get.clone();
3066let a_atom_p = a_atom_p.clone();
3067let put = put.clone();
3068let tostring = tostring.clone();
3069let new_atom = new_atom.clone();
3070move |mut _lua_arg_tmp| {
3071if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3072return _lua_false();
3073}
3074let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3075let ret = std::sync::Arc::new(std::cell::RefCell::new(_lua_str("")));
3076if (_lua_not(_lua_call({ let _lua_tmp = a_atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
3077_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3078return _lua_false();
3079}
3080while (_lua_op!{and, _lua_call({ let _lua_tmp = a_atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_not(_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![]))}).as_bool() {
3081*ret.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])};
3082*x.borrow_mut() = _lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![]);
3083}
3084if (_lua_call({ let _lua_tmp = a_atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3085*ret.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])};
3086} else {
3087_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3088}
3089return _lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret.borrow(); _lua_tmp.clone() }]);
3090
3091_lua_nil()
3092}}));
3093*readlist.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3094let get = get.clone();
3095let put = put.clone();
3096let new_hole_do = new_hole_do.clone();
3097let hole_set_do = hole_set_do.clone();
3098let new_construction = new_construction.clone();
3099let space = space.clone();
3100let parse_error = parse_error.clone();
3101let null_v = null_v.clone();
3102let val = val.clone();
3103move |mut _lua_arg_tmp| {
3104if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3105return _lua_false();
3106}
3107let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3108if (_lua_op!{not_eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_str("(")}).as_bool() {
3109_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3110return _lua_false();
3111}
3112let ret_last = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_hole_do.borrow(); _lua_tmp.clone() }, vec![])));
3113let ret = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = ret_last.borrow(); _lua_tmp.clone() }));
3114let last_add_do = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3115*last_add_do.borrow_mut() = _lua_lambda(Box::new({let new_hole_do = new_hole_do.clone();
3116let hole_set_do = hole_set_do.clone();
3117let ret_last = ret_last.clone();
3118let new_construction = new_construction.clone();
3119move |mut _lua_arg_tmp| {
3120let val = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3121let ret_last2 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_hole_do.borrow(); _lua_tmp.clone() }, vec![])));
3122_lua_call({ let _lua_tmp = hole_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret_last.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = val.borrow(); _lua_tmp.clone() }, { let _lua_tmp = ret_last2.borrow(); _lua_tmp.clone() }])]);
3123*ret_last.borrow_mut() = { let _lua_tmp = ret_last2.borrow(); _lua_tmp.clone() };
3124
3125_lua_nil()
3126}}));
3127while (_lua_true()).as_bool() {
3128_lua_call({ let _lua_tmp = space.borrow(); _lua_tmp.clone() }, vec![]);
3129if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3130return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3131}
3132*x.borrow_mut() = _lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![]);
3133if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_str(")")}).as_bool() {
3134_lua_call({ let _lua_tmp = hole_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret_last.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }]);
3135return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
3136}
3137if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_str(".")}).as_bool() {
3138_lua_call({ let _lua_tmp = space.borrow(); _lua_tmp.clone() }, vec![]);
3139let e = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = val.borrow(); _lua_tmp.clone() }, vec![])));
3140_lua_call({ let _lua_tmp = hole_set_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ret_last.borrow(); _lua_tmp.clone() }, { let _lua_tmp = e.borrow(); _lua_tmp.clone() }]);
3141_lua_call({ let _lua_tmp = space.borrow(); _lua_tmp.clone() }, vec![]);
3142if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3143return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3144}
3145*x.borrow_mut() = _lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![]);
3146if (_lua_op!{not_eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_str(")")}).as_bool() {
3147return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3148}
3149return { let _lua_tmp = ret.borrow(); _lua_tmp.clone() };
3150}
3151_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3152let e = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = val.borrow(); _lua_tmp.clone() }, vec![])));
3153_lua_call({ let _lua_tmp = last_add_do.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = e.borrow(); _lua_tmp.clone() }]);
3154}
3155
3156_lua_nil()
3157}}));
3158*data.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3159let get = get.clone();
3160let put = put.clone();
3161let readlist = readlist.clone();
3162let parse_error = parse_error.clone();
3163let construction_p = construction_p.clone();
3164let new_data = new_data.clone();
3165let construction_head = construction_head.clone();
3166let construction_tail = construction_tail.clone();
3167move |mut _lua_arg_tmp| {
3168if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3169return _lua_false();
3170}
3171let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3172if (_lua_op!{not_eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_str("#")}).as_bool() {
3173_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3174return _lua_false();
3175}
3176let xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readlist.borrow(); _lua_tmp.clone() }, vec![])));
3177if (_lua_op!{eq, { let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3178return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3179}
3180if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]))).as_bool() {
3181return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3182}
3183return _lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])]);
3184
3185_lua_nil()
3186}}));
3187*a_atom_p.borrow_mut() = _lua_lambda(Box::new({let a_space_p = a_space_p.clone();
3188move |mut _lua_arg_tmp| {
3189let chr = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3190if (_lua_call({ let _lua_tmp = a_space_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = chr.borrow(); _lua_tmp.clone() }])).as_bool() {
3191return _lua_false();
3192}
3193let _lua_tmp_t=_lua_table(vec![(_lua_num!(1), _lua_str("(")), (_lua_num!(2), _lua_str(")")), (_lua_num!(3), _lua_str("!")), (_lua_num!(4), _lua_str("#")), (_lua_num!(5), _lua_str(".")), (_lua_num!(6), _lua_str("$")), (_lua_num!(7), _lua_str("%")), (_lua_num!(8), _lua_str("^")), (_lua_num!(9), _lua_str("@")), (_lua_num!(10), _lua_str("~")), (_lua_num!(11), _lua_str("/")), (_lua_num!(12), _lua_str("-")), (_lua_num!(13), _lua_str(">")), (_lua_num!(14), _lua_str("_")), (_lua_num!(15), _lua_str(":")), (_lua_num!(16), _lua_str("?")), (_lua_num!(17), _lua_str("[")), (_lua_num!(18), _lua_str("]")), (_lua_num!(19), _lua_str("&")), (_lua_num!(20), _lua_str(";"))]);
3194for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
3195let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
3196let v=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
3197if (_lua_op!{eq, { let _lua_tmp = v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }}).as_bool() {
3198return _lua_false();
3199}
3200}
3201return _lua_true();
3202
3203_lua_nil()
3204}}));
3205*val.borrow_mut() = _lua_lambda(Box::new({let space = space.clone();
3206let readlist = readlist.clone();
3207let readsysname = readsysname.clone();
3208let data = data.clone();
3209let readeval = readeval.clone();
3210let readfuncapply = readfuncapply.clone();
3211let readformbuiltin = readformbuiltin.clone();
3212let readapply = readapply.clone();
3213let readcomment = readcomment.clone();
3214let parse_error = parse_error.clone();
3215move |mut _lua_arg_tmp| {
3216_lua_call({ let _lua_tmp = space.borrow(); _lua_tmp.clone() }, vec![]);
3217let fs = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![(_lua_num!(1), { let _lua_tmp = readlist.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = readsysname.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = data.borrow(); _lua_tmp.clone() }), (_lua_num!(4), { let _lua_tmp = readeval.borrow(); _lua_tmp.clone() }), (_lua_num!(5), { let _lua_tmp = readfuncapply.borrow(); _lua_tmp.clone() }), (_lua_num!(6), { let _lua_tmp = readformbuiltin.borrow(); _lua_tmp.clone() }), (_lua_num!(7), { let _lua_tmp = readapply.borrow(); _lua_tmp.clone() }), (_lua_num!(8), { let _lua_tmp = readcomment.borrow(); _lua_tmp.clone() })])));
3218let _lua_tmp_t={ let _lua_tmp = fs.borrow(); _lua_tmp.clone() };
3219for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
3220let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
3221let f=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
3222let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, vec![])));
3223if (_lua_op!{not_eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3224return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
3225}
3226}
3227return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3228
3229_lua_nil()
3230}}));
3231*un_maybe.borrow_mut() = _lua_lambda(Box::new({let parse_error = parse_error.clone();
3232move |mut _lua_arg_tmp| {
3233let vl = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3234if (_lua_op!{eq, { let _lua_tmp = vl.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3235return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3236}
3237return { let _lua_tmp = vl.borrow(); _lua_tmp.clone() };
3238
3239_lua_nil()
3240}}));
3241*not_eof.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3242move |mut _lua_arg_tmp| {
3243return _lua_not(_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![]));
3244
3245_lua_nil()
3246}}));
3247*assert_get.borrow_mut() = _lua_lambda(Box::new({let un_maybe = un_maybe.clone();
3248let not_eof = not_eof.clone();
3249let get = get.clone();
3250move |mut _lua_arg_tmp| {
3251let c = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3252_lua_call({ let _lua_tmp = un_maybe.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = not_eof.borrow(); _lua_tmp.clone() }, vec![])]);
3253_lua_call({ let _lua_tmp = un_maybe.borrow(); _lua_tmp.clone() }, vec![_lua_op!{eq, _lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![]), { let _lua_tmp = c.borrow(); _lua_tmp.clone() }}]);
3254
3255_lua_nil()
3256}}));
3257*readsysname_no_pack_inner_must.borrow_mut() = _lua_lambda(Box::new({let assert_get = assert_get.clone();
3258let readsysname_no_pack_inner_must = readsysname_no_pack_inner_must.clone();
3259let readlist = readlist.clone();
3260let atom = atom.clone();
3261let data = data.clone();
3262let readeval = readeval.clone();
3263let readfuncapply = readfuncapply.clone();
3264let readformbuiltin = readformbuiltin.clone();
3265let readapply = readapply.clone();
3266let readcomment = readcomment.clone();
3267let readsysname_no_pack = readsysname_no_pack.clone();
3268let parse_error = parse_error.clone();
3269move |mut _lua_arg_tmp| {
3270let strict = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3271if (_lua_op!{eq, { let _lua_tmp = strict.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
3272*strict.borrow_mut() = _lua_false();
3273}
3274let readsysname_no_pack_bracket = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3275*readsysname_no_pack_bracket.borrow_mut() = _lua_lambda(Box::new({let assert_get = assert_get.clone();
3276let readsysname_no_pack_inner_must = readsysname_no_pack_inner_must.clone();
3277move |mut _lua_arg_tmp| {
3278_lua_call({ let _lua_tmp = assert_get.borrow(); _lua_tmp.clone() }, vec![_lua_str("[")]);
3279let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3280_lua_call({ let _lua_tmp = assert_get.borrow(); _lua_tmp.clone() }, vec![_lua_str("]")]);
3281return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
3282
3283_lua_nil()
3284}}));
3285let fs = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3286if ({ let _lua_tmp = strict.borrow(); _lua_tmp.clone() }).as_bool() {
3287*fs.borrow_mut() = _lua_table(vec![(_lua_num!(1), { let _lua_tmp = readlist.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = atom.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = readsysname_no_pack_bracket.borrow(); _lua_tmp.clone() }), (_lua_num!(4), { let _lua_tmp = data.borrow(); _lua_tmp.clone() }), (_lua_num!(5), { let _lua_tmp = readeval.borrow(); _lua_tmp.clone() }), (_lua_num!(6), { let _lua_tmp = readfuncapply.borrow(); _lua_tmp.clone() }), (_lua_num!(7), { let _lua_tmp = readformbuiltin.borrow(); _lua_tmp.clone() }), (_lua_num!(8), { let _lua_tmp = readapply.borrow(); _lua_tmp.clone() }), (_lua_num!(9), { let _lua_tmp = readcomment.borrow(); _lua_tmp.clone() })]);
3288} else {
3289*fs.borrow_mut() = _lua_table(vec![(_lua_num!(1), { let _lua_tmp = readlist.borrow(); _lua_tmp.clone() }), (_lua_num!(2), { let _lua_tmp = readsysname_no_pack.borrow(); _lua_tmp.clone() }), (_lua_num!(3), { let _lua_tmp = data.borrow(); _lua_tmp.clone() }), (_lua_num!(4), { let _lua_tmp = readeval.borrow(); _lua_tmp.clone() }), (_lua_num!(5), { let _lua_tmp = readfuncapply.borrow(); _lua_tmp.clone() }), (_lua_num!(6), { let _lua_tmp = readformbuiltin.borrow(); _lua_tmp.clone() }), (_lua_num!(7), { let _lua_tmp = readapply.borrow(); _lua_tmp.clone() }), (_lua_num!(8), { let _lua_tmp = readcomment.borrow(); _lua_tmp.clone() })]);
3290}
3291let _lua_tmp_t={ let _lua_tmp = fs.borrow(); _lua_tmp.clone() };
3292for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
3293let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
3294let f=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
3295let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, vec![])));
3296if (_lua_op!{not_eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3297return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
3298}
3299}
3300return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3301
3302_lua_nil()
3303}}));
3304*may_xfx_xf.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3305let get = get.clone();
3306let readsysname_no_pack_inner_must = readsysname_no_pack_inner_must.clone();
3307let new_list = new_list.clone();
3308let typeAnnotation_atom = typeAnnotation_atom.clone();
3309let function_atom = function_atom.clone();
3310let something_atom = something_atom.clone();
3311let isOrNot_atom = isOrNot_atom.clone();
3312let new_construction = new_construction.clone();
3313let __TS__ArrayPush = __TS__ArrayPush.clone();
3314let put = put.clone();
3315let sub_atom = sub_atom.clone();
3316let jsArray_to_list = jsArray_to_list.clone();
3317move |mut _lua_arg_tmp| {
3318let vl = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3319if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3320return { let _lua_tmp = vl.borrow(); _lua_tmp.clone() };
3321}
3322let head = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3323if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str(".")}).as_bool() {
3324let y = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3325return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = vl.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
3326} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str(":")}).as_bool() {
3327let y = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3328return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }, { let _lua_tmp = vl.borrow(); _lua_tmp.clone() }]);
3329} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str("~")}).as_bool() {
3330return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = isOrNot_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = vl.borrow(); _lua_tmp.clone() }]);
3331} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str("@")}).as_bool() {
3332let y = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3333return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = vl.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
3334} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str("?")}).as_bool() {
3335return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = isOrNot_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = vl.borrow(); _lua_tmp.clone() }])]);
3336} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str("/")}).as_bool() {
3337let ys = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![(_lua_num!(1), { let _lua_tmp = vl.borrow(); _lua_tmp.clone() })])));
3338while (_lua_true()).as_bool() {
3339let y = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![_lua_true()])));
3340_lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ys.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }]);
3341if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3342break;
3343}
3344let c0 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3345if (_lua_op!{not_eq, { let _lua_tmp = c0.borrow(); _lua_tmp.clone() }, _lua_str("/")}).as_bool() {
3346_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = c0.borrow(); _lua_tmp.clone() }]);
3347break;
3348}
3349}
3350return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = sub_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ys.borrow(); _lua_tmp.clone() }])]);
3351} else {
3352_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = head.borrow(); _lua_tmp.clone() }]);
3353return { let _lua_tmp = vl.borrow(); _lua_tmp.clone() };
3354}
3355
3356_lua_nil()
3357}}));
3358*readsysname_no_pack.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3359let get = get.clone();
3360let un_maybe = un_maybe.clone();
3361let not_eof = not_eof.clone();
3362let readsysname_no_pack_inner_must = readsysname_no_pack_inner_must.clone();
3363let new_list = new_list.clone();
3364let form_atom = form_atom.clone();
3365let system_atom = system_atom.clone();
3366let put = put.clone();
3367let assert_get = assert_get.clone();
3368let typeAnnotation_atom = typeAnnotation_atom.clone();
3369let function_atom = function_atom.clone();
3370let something_atom = something_atom.clone();
3371let theThing_atom = theThing_atom.clone();
3372let may_xfx_xf = may_xfx_xf.clone();
3373let atom = atom.clone();
3374move |mut _lua_arg_tmp| {
3375if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3376return _lua_false();
3377}
3378let head = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3379if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str("&")}).as_bool() {
3380_lua_call({ let _lua_tmp = un_maybe.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = not_eof.borrow(); _lua_tmp.clone() }, vec![])]);
3381let c0 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3382if (_lua_op!{eq, { let _lua_tmp = c0.borrow(); _lua_tmp.clone() }, _lua_str("+")}).as_bool() {
3383let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3384return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
3385} else {
3386_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = c0.borrow(); _lua_tmp.clone() }]);
3387}
3388let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3389return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3390} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str(":")}).as_bool() {
3391_lua_call({ let _lua_tmp = un_maybe.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = not_eof.borrow(); _lua_tmp.clone() }, vec![])]);
3392let c0 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3393if (_lua_op!{eq, { let _lua_tmp = c0.borrow(); _lua_tmp.clone() }, _lua_str("&")}).as_bool() {
3394_lua_call({ let _lua_tmp = assert_get.borrow(); _lua_tmp.clone() }, vec![_lua_str(">")]);
3395let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3396return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]), { let _lua_tmp = theThing_atom.borrow(); _lua_tmp.clone() }]);
3397} else if (_lua_op!{eq, { let _lua_tmp = c0.borrow(); _lua_tmp.clone() }, _lua_str(">")}).as_bool() {
3398let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3399return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = theThing_atom.borrow(); _lua_tmp.clone() }]);
3400} else {
3401_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = c0.borrow(); _lua_tmp.clone() }]);
3402}
3403let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3404return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = theThing_atom.borrow(); _lua_tmp.clone() }]);
3405} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str("+")}).as_bool() {
3406let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3407return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3408} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str("[")}).as_bool() {
3409let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3410_lua_call({ let _lua_tmp = assert_get.borrow(); _lua_tmp.clone() }, vec![_lua_str("]")]);
3411return _lua_call({ let _lua_tmp = may_xfx_xf.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3412} else if (_lua_op!{eq, { let _lua_tmp = head.borrow(); _lua_tmp.clone() }, _lua_str("_")}).as_bool() {
3413_lua_call({ let _lua_tmp = assert_get.borrow(); _lua_tmp.clone() }, vec![_lua_str(":")]);
3414let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack_inner_must.borrow(); _lua_tmp.clone() }, vec![])));
3415return _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }]);
3416} else {
3417_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = head.borrow(); _lua_tmp.clone() }]);
3418let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = atom.borrow(); _lua_tmp.clone() }, vec![])));
3419if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3420return _lua_false();
3421}
3422return _lua_call({ let _lua_tmp = may_xfx_xf.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3423}
3424
3425_lua_nil()
3426}}));
3427*readsysname.borrow_mut() = _lua_lambda(Box::new({let readsysname_no_pack = readsysname_no_pack.clone();
3428let atom_p = atom_p.clone();
3429let systemName_make = systemName_make.clone();
3430move |mut _lua_arg_tmp| {
3431let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readsysname_no_pack.borrow(); _lua_tmp.clone() }, vec![])));
3432if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3433return _lua_false();
3434}
3435if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3436return { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
3437}
3438return _lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3439
3440_lua_nil()
3441}}));
3442*state_const.borrow_mut() = { let _lua_tmp = x.borrow(); _lua_tmp.clone() };
3443*state.borrow_mut() = _lua_num!(0);
3444let make_read_two = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3445*make_read_two.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3446let get = get.clone();
3447let put = put.clone();
3448let readlist = readlist.clone();
3449let parse_error = parse_error.clone();
3450let construction_p = construction_p.clone();
3451let construction_tail = construction_tail.clone();
3452let null_p = null_p.clone();
3453let construction_head = construction_head.clone();
3454move |mut _lua_arg_tmp| {
3455let prefix = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3456let k = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3457return _lua_lambda(Box::new({let eof = eof.clone();
3458let get = get.clone();
3459let prefix = prefix.clone();
3460let put = put.clone();
3461let readlist = readlist.clone();
3462let parse_error = parse_error.clone();
3463let construction_p = construction_p.clone();
3464let construction_tail = construction_tail.clone();
3465let null_p = null_p.clone();
3466let k = k.clone();
3467let construction_head = construction_head.clone();
3468move |mut _lua_arg_tmp| {
3469if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3470return _lua_false();
3471}
3472let c = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3473if (_lua_op!{not_eq, { let _lua_tmp = c.borrow(); _lua_tmp.clone() }, { let _lua_tmp = prefix.borrow(); _lua_tmp.clone() }}).as_bool() {
3474_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = c.borrow(); _lua_tmp.clone() }]);
3475return _lua_false();
3476}
3477let xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readlist.borrow(); _lua_tmp.clone() }, vec![])));
3478if (_lua_op!{eq, { let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3479return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3480}
3481if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]))).as_bool() {
3482return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3483}
3484let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])));
3485if (_lua_not(_lua_op!{and, _lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])})).as_bool() {
3486return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3487}
3488return _lua_call({ let _lua_tmp = k.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
3489
3490_lua_nil()
3491}}));
3492
3493_lua_nil()
3494}}));
3495let make_read_three = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3496*make_read_three.borrow_mut() = _lua_lambda(Box::new({let eof = eof.clone();
3497let get = get.clone();
3498let put = put.clone();
3499let readlist = readlist.clone();
3500let parse_error = parse_error.clone();
3501let construction_p = construction_p.clone();
3502let construction_tail = construction_tail.clone();
3503let null_p = null_p.clone();
3504let construction_head = construction_head.clone();
3505move |mut _lua_arg_tmp| {
3506let prefix = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3507let k = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3508return _lua_lambda(Box::new({let eof = eof.clone();
3509let get = get.clone();
3510let prefix = prefix.clone();
3511let put = put.clone();
3512let readlist = readlist.clone();
3513let parse_error = parse_error.clone();
3514let construction_p = construction_p.clone();
3515let construction_tail = construction_tail.clone();
3516let null_p = null_p.clone();
3517let k = k.clone();
3518let construction_head = construction_head.clone();
3519move |mut _lua_arg_tmp| {
3520if (_lua_call({ let _lua_tmp = eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3521return _lua_false();
3522}
3523let c = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get.borrow(); _lua_tmp.clone() }, vec![])));
3524if (_lua_op!{not_eq, { let _lua_tmp = c.borrow(); _lua_tmp.clone() }, { let _lua_tmp = prefix.borrow(); _lua_tmp.clone() }}).as_bool() {
3525_lua_call({ let _lua_tmp = put.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = c.borrow(); _lua_tmp.clone() }]);
3526return _lua_false();
3527}
3528let xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = readlist.borrow(); _lua_tmp.clone() }, vec![])));
3529if (_lua_op!{eq, { let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3530return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3531}
3532if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]))).as_bool() {
3533return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3534}
3535let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }])));
3536if (_lua_not(_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]))).as_bool() {
3537return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3538}
3539let x_d = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
3540if (_lua_not(_lua_op!{and, _lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x_d.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x_d.borrow(); _lua_tmp.clone() }])])})).as_bool() {
3541return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3542}
3543return _lua_call({ let _lua_tmp = k.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x_d.borrow(); _lua_tmp.clone() }])]);
3544
3545_lua_nil()
3546}}));
3547
3548_lua_nil()
3549}}));
3550*readeval.borrow_mut() = _lua_call({ let _lua_tmp = make_read_two.borrow(); _lua_tmp.clone() }, vec![_lua_str("$"), _lua_lambda(Box::new({let val2env = val2env.clone();
3551let parse_error = parse_error.clone();
3552let evaluate = evaluate.clone();
3553move |mut _lua_arg_tmp| {
3554let ev = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3555let val = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3556let env = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = val2env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = ev.borrow(); _lua_tmp.clone() }])));
3557if (_lua_op!{eq, { let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3558return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3559}
3560return _lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, { let _lua_tmp = val.borrow(); _lua_tmp.clone() }]);
3561
3562_lua_nil()
3563}}))]);
3564*readfuncapply.borrow_mut() = _lua_call({ let _lua_tmp = make_read_two.borrow(); _lua_tmp.clone() }, vec![_lua_str("%"), _lua_lambda(Box::new({let list_to_jsArray = list_to_jsArray.clone();
3565let parse_error = parse_error.clone();
3566let builtin_func_apply = builtin_func_apply.clone();
3567move |mut _lua_arg_tmp| {
3568let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3569let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3570let jsxs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
3571let v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3572return { let _lua_tmp = v.borrow(); _lua_tmp.clone() };
3573
3574_lua_nil()
3575}})), _lua_lambda(Box::new({let parse_error = parse_error.clone();
3576move |mut _lua_arg_tmp| {
3577let _1 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3578let _2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3579return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3580
3581_lua_nil()
3582}}))])));
3583return _lua_call({ let _lua_tmp = builtin_func_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = jsxs.borrow(); _lua_tmp.clone() }]);
3584
3585_lua_nil()
3586}}))]);
3587*readformbuiltin.borrow_mut() = _lua_call({ let _lua_tmp = make_read_three.borrow(); _lua_tmp.clone() }, vec![_lua_str("@"), _lua_lambda(Box::new({let list_to_jsArray = list_to_jsArray.clone();
3588let parse_error = parse_error.clone();
3589let val2env = val2env.clone();
3590let builtin_form_apply = builtin_form_apply.clone();
3591move |mut _lua_arg_tmp| {
3592let e = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3593let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3594let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3595let jsxs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
3596let v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3597return { let _lua_tmp = v.borrow(); _lua_tmp.clone() };
3598
3599_lua_nil()
3600}})), _lua_lambda(Box::new({let parse_error = parse_error.clone();
3601move |mut _lua_arg_tmp| {
3602let _1 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3603let _2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3604return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3605
3606_lua_nil()
3607}}))])));
3608let env = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = val2env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = e.borrow(); _lua_tmp.clone() }])));
3609if (_lua_op!{eq, { let _lua_tmp = env.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3610return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3611}
3612return _lua_call({ let _lua_tmp = builtin_form_apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }, { let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = jsxs.borrow(); _lua_tmp.clone() }]);
3613
3614_lua_nil()
3615}}))]);
3616*readapply.borrow_mut() = _lua_call({ let _lua_tmp = make_read_two.borrow(); _lua_tmp.clone() }, vec![_lua_str("^"), _lua_lambda(Box::new({let list_to_jsArray = list_to_jsArray.clone();
3617let parse_error = parse_error.clone();
3618let apply = apply.clone();
3619move |mut _lua_arg_tmp| {
3620let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3621let xs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3622let jsxs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xs.borrow(); _lua_tmp.clone() }, _lua_lambda(Box::new({move |mut _lua_arg_tmp| {
3623let v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3624return { let _lua_tmp = v.borrow(); _lua_tmp.clone() };
3625
3626_lua_nil()
3627}})), _lua_lambda(Box::new({let parse_error = parse_error.clone();
3628move |mut _lua_arg_tmp| {
3629let _1 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3630let _2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3631return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3632
3633_lua_nil()
3634}}))])));
3635return _lua_call({ let _lua_tmp = apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = f.borrow(); _lua_tmp.clone() }, { let _lua_tmp = jsxs.borrow(); _lua_tmp.clone() }]);
3636
3637_lua_nil()
3638}}))]);
3639*readcomment.borrow_mut() = _lua_call({ let _lua_tmp = make_read_two.borrow(); _lua_tmp.clone() }, vec![_lua_str(";"), _lua_lambda(Box::new({let new_comment = new_comment.clone();
3640move |mut _lua_arg_tmp| {
3641let comment = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3642let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3643return _lua_call({ let _lua_tmp = new_comment.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = comment.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3644
3645_lua_nil()
3646}}))]);
3647return _lua_call({ let _lua_tmp = val.borrow(); _lua_tmp.clone() }, vec![]);
3648
3649_lua_nil()
3650}}));
3651let complex_print = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3652*complex_print.borrow_mut() = _lua_lambda(Box::new({let atom_p = atom_p.clone();
3653let un_atom = un_atom.clone();
3654let tostring = tostring.clone();
3655let maybe_list_to_jsArray = maybe_list_to_jsArray.clone();
3656let jsbool_no_force_isomorphism_p = jsbool_no_force_isomorphism_p.clone();
3657let typeAnnotation_atom = typeAnnotation_atom.clone();
3658let function_atom = function_atom.clone();
3659let something_atom = something_atom.clone();
3660let construction_p = construction_p.clone();
3661let construction_tail = construction_tail.clone();
3662let construction_head = construction_head.clone();
3663let theThing_atom = theThing_atom.clone();
3664let isOrNot_atom = isOrNot_atom.clone();
3665let form_atom = form_atom.clone();
3666let system_atom = system_atom.clone();
3667let sub_atom = sub_atom.clone();
3668let simple_print = simple_print.clone();
3669let systemName_make = systemName_make.clone();
3670let complex_parse = complex_parse.clone();
3671let null_p = null_p.clone();
3672let complex_print = complex_print.clone();
3673let data_p = data_p.clone();
3674let data_name = data_name.clone();
3675let data_list = data_list.clone();
3676let name_atom = name_atom.clone();
3677let new_construction = new_construction.clone();
3678let comment_p = comment_p.clone();
3679let comment_comment = comment_comment.clone();
3680let comment_x = comment_x.clone();
3681let delay_evaluate_p = delay_evaluate_p.clone();
3682let env2val = env2val.clone();
3683let delay_evaluate_env = delay_evaluate_env.clone();
3684let delay_evaluate_x = delay_evaluate_x.clone();
3685let delay_builtin_func_p = delay_builtin_func_p.clone();
3686let delay_builtin_func_f = delay_builtin_func_f.clone();
3687let jsArray_to_list = jsArray_to_list.clone();
3688let delay_builtin_func_xs = delay_builtin_func_xs.clone();
3689let delay_builtin_form_p = delay_builtin_form_p.clone();
3690let delay_builtin_form_env = delay_builtin_form_env.clone();
3691let delay_builtin_form_f = delay_builtin_form_f.clone();
3692let delay_builtin_form_xs = delay_builtin_form_xs.clone();
3693let delay_apply_p = delay_apply_p.clone();
3694let delay_apply_f = delay_apply_f.clone();
3695let delay_apply_xs = delay_apply_xs.clone();
3696let LANG_ERROR = LANG_ERROR.clone();
3697move |mut _lua_arg_tmp| {
3698let val = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3699let print_sys_name = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3700*print_sys_name.borrow_mut() = _lua_lambda(Box::new({let atom_p = atom_p.clone();
3701let un_atom = un_atom.clone();
3702let tostring = tostring.clone();
3703let maybe_list_to_jsArray = maybe_list_to_jsArray.clone();
3704let jsbool_no_force_isomorphism_p = jsbool_no_force_isomorphism_p.clone();
3705let typeAnnotation_atom = typeAnnotation_atom.clone();
3706let function_atom = function_atom.clone();
3707let something_atom = something_atom.clone();
3708let print_sys_name = print_sys_name.clone();
3709let construction_p = construction_p.clone();
3710let construction_tail = construction_tail.clone();
3711let construction_head = construction_head.clone();
3712let theThing_atom = theThing_atom.clone();
3713let isOrNot_atom = isOrNot_atom.clone();
3714let form_atom = form_atom.clone();
3715let system_atom = system_atom.clone();
3716let sub_atom = sub_atom.clone();
3717let simple_print = simple_print.clone();
3718let systemName_make = systemName_make.clone();
3719move |mut _lua_arg_tmp| {
3720let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3721let is_inner_bool = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3722if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3723return _lua_call({ let _lua_tmp = un_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3724}
3725let inner_bracket = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3726*inner_bracket.borrow_mut() = _lua_lambda(Box::new({let is_inner_bool = is_inner_bool.clone();
3727let tostring = tostring.clone();
3728move |mut _lua_arg_tmp| {
3729let vl = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3730if ({ let _lua_tmp = is_inner_bool.borrow(); _lua_tmp.clone() }).as_bool() {
3731return _lua_op!{concat, _lua_str("["), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = vl.borrow(); _lua_tmp.clone() }]), _lua_str("]")}};
3732} else {
3733return { let _lua_tmp = vl.borrow(); _lua_tmp.clone() };
3734}
3735
3736_lua_nil()
3737}}));
3738let maybe_xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
3739if (_lua_op!{and, _lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() }), _lua_num!(3)}}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3740let maybe_lst_2 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2))])));
3741if (_lua_op!{and, _lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() }), _lua_num!(3)}}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3742let var_2_1 = std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() },_lua_num!(2))));
3743let maybe_lst_3 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = var_2_1.borrow(); _lua_tmp.clone() }])));
3744if (_lua_op!{and, _lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_lst_3.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_lst_3.borrow(); _lua_tmp.clone() }), _lua_num!(1)}}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() },_lua_num!(3)), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3745return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_3.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_true()])]), _lua_op!{concat, _lua_str("."), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(3)), _lua_true()])])}}]);
3746} else if (_lua_op!{and, _lua_op!{and, _lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = var_2_1.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = var_2_1.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }])}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() },_lua_num!(3)), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3747return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = var_2_1.borrow(); _lua_tmp.clone() }]), _lua_true()])]), _lua_op!{concat, _lua_str("@"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(3)), _lua_true()])])}}]);
3748} else if (_lua_op!{and, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = var_2_1.borrow(); _lua_tmp.clone() }, { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(3)), { let _lua_tmp = theThing_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3749return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_str(":>"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() },_lua_num!(3)), _lua_true()])])}]);
3750}
3751}
3752let maybe_lst_44 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(3))])));
3753if (_lua_op!{and, _lua_op!{and, _lua_op!{and, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }]), _lua_op!{not_eq, { let _lua_tmp = maybe_lst_44.borrow(); _lua_tmp.clone() }, _lua_false()}}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_lst_44.borrow(); _lua_tmp.clone() }), _lua_num!(2)}}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_44.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = isOrNot_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3754return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_44.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_true()])]), _lua_str("?")}]);
3755}
3756if (_lua_op!{and, _lua_op!{and, _lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() }), _lua_num!(2)}}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(3)), { let _lua_tmp = theThing_atom.borrow(); _lua_tmp.clone() }])}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3757let maybe_lst_88 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_2.borrow(); _lua_tmp.clone() },_lua_num!(2))])));
3758if (_lua_op!{and, _lua_op!{and, _lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_lst_88.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_lst_88.borrow(); _lua_tmp.clone() }), _lua_num!(3)}}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_88.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }])}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_88.borrow(); _lua_tmp.clone() },_lua_num!(2)), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3759return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_str(":&>"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_88.borrow(); _lua_tmp.clone() },_lua_num!(3)), _lua_true()])])}]);
3760}
3761}
3762let hd = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3763if (_lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(3)), { let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }])).as_bool() {
3764*hd.borrow_mut() = _lua_str("_");
3765} else if (_lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(3)), { let _lua_tmp = theThing_atom.borrow(); _lua_tmp.clone() }])).as_bool() {
3766*hd.borrow_mut() = _lua_str("");
3767} else {
3768*hd.borrow_mut() = _lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(3)), _lua_true()]);
3769}
3770return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = hd.borrow(); _lua_tmp.clone() }]), _lua_op!{concat, _lua_str(":"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_true()])])}}]);
3771} else if (_lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() }), _lua_num!(2)}}).as_bool() {
3772if (_lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = form_atom.borrow(); _lua_tmp.clone() }])).as_bool() {
3773let maybe_lst_288 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2))])));
3774if (_lua_op!{and, _lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_lst_288.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_lst_288.borrow(); _lua_tmp.clone() }), _lua_num!(2)}}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_288.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3775return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_str("&+"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_288.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_true()])])}]);
3776}
3777return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_str("&"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_true()])])}]);
3778} else if (_lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = isOrNot_atom.borrow(); _lua_tmp.clone() }])).as_bool() {
3779return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_true()])]), _lua_str("~")}]);
3780} else if (_lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }])).as_bool() {
3781return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_str("+"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_true()])])}]);
3782} else if (_lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = sub_atom.borrow(); _lua_tmp.clone() }])).as_bool() {
3783let maybe_lst_8934 = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2))])));
3784if (_lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_lst_8934.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{greater, _lua_len({ let _lua_tmp = maybe_lst_8934.borrow(); _lua_tmp.clone() }), _lua_num!(1)}}).as_bool() {
3785let tmp = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_8934.borrow(); _lua_tmp.clone() },_lua_num!(1)), _lua_true()])));
3786{
3787let i = std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(1)));
3788while (_lua_op!{less, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_len({ let _lua_tmp = maybe_lst_8934.borrow(); _lua_tmp.clone() })}).as_bool() {
3789*tmp.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = tmp.borrow(); _lua_tmp.clone() }]), _lua_op!{concat, _lua_str("/"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_lst_8934.borrow(); _lua_tmp.clone() },_lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)}), _lua_true()])])}};
3790*i.borrow_mut() = _lua_op!{add, { let _lua_tmp = i.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
3791}
3792}
3793return _lua_call({ let _lua_tmp = inner_bracket.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = tmp.borrow(); _lua_tmp.clone() }]);
3794}
3795}
3796}
3797if ({ let _lua_tmp = is_inner_bool.borrow(); _lua_tmp.clone() }).as_bool() {
3798return _lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3799} else {
3800return _lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]);
3801}
3802
3803_lua_nil()
3804}}));
3805let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = complex_parse.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = val.borrow(); _lua_tmp.clone() }])])));
3806let temp = std::sync::Arc::new(std::cell::RefCell::new(_lua_str("")));
3807let prefix = std::sync::Arc::new(std::cell::RefCell::new(_lua_str("")));
3808if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3809return _lua_str("()");
3810} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3811*temp.borrow_mut() = _lua_str("(");
3812*prefix.borrow_mut() = _lua_str("");
3813while (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3814*temp.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = temp.borrow(); _lua_tmp.clone() }]), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = prefix.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])}};
3815*prefix.borrow_mut() = _lua_str(" ");
3816*x.borrow_mut() = _lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3817}
3818if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3819*temp.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = temp.borrow(); _lua_tmp.clone() }]), _lua_str(")")};
3820} else {
3821*temp.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = temp.borrow(); _lua_tmp.clone() }]), _lua_op!{concat, _lua_str(" . "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]), _lua_str(")")}}};
3822}
3823return { let _lua_tmp = temp.borrow(); _lua_tmp.clone() };
3824} else if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3825let name = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
3826let list = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
3827let maybe_xs = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }])));
3828if (_lua_op!{and, _lua_op!{and, _lua_op!{and, _lua_op!{not_eq, { let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() }, _lua_false()}, _lua_op!{eq, _lua_len({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() }), _lua_num!(2)}}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = name.borrow(); _lua_tmp.clone() }, { let _lua_tmp = name_atom.borrow(); _lua_tmp.clone() }])}, _lua_call({ let _lua_tmp = jsbool_no_force_isomorphism_p.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(1)), { let _lua_tmp = system_atom.borrow(); _lua_tmp.clone() }])}).as_bool() {
3829return _lua_call({ let _lua_tmp = print_sys_name.borrow(); _lua_tmp.clone() }, vec![_lua_lookup({ let _lua_tmp = maybe_xs.borrow(); _lua_tmp.clone() },_lua_num!(2)), _lua_false()]);
3830}
3831return _lua_op!{concat, _lua_str("#"), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = name.borrow(); _lua_tmp.clone() }, { let _lua_tmp = list.borrow(); _lua_tmp.clone() }])])])};
3832} else if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3833return _lua_call({ let _lua_tmp = un_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
3834} else if (_lua_call({ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3835return _lua_op!{concat, _lua_str(";("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = comment_comment.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = comment_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_str(")")}}}};
3836} else if (_lua_call({ let _lua_tmp = delay_evaluate_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3837return _lua_op!{concat, _lua_str("$("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_evaluate_env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_evaluate_x.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_str(")")}}}};
3838} else if (_lua_call({ let _lua_tmp = delay_builtin_func_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3839return _lua_op!{concat, _lua_str("%("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_func_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_func_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_str(")")}}}};
3840} else if (_lua_call({ let _lua_tmp = delay_builtin_form_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3841return _lua_op!{concat, _lua_str("@("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_form_env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_form_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_builtin_form_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_str(")")}}}}}};
3842} else if (_lua_call({ let _lua_tmp = delay_apply_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
3843return _lua_op!{concat, _lua_str("^("), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_apply_f.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])]), _lua_op!{concat, _lua_str(" "), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_apply_xs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])])])]), _lua_str(")")}}}};
3844}
3845return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
3846
3847_lua_nil()
3848}}));
3849let machinetext_parse = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3850*machinetext_parse.borrow_mut() = _lua_lambda(Box::new({let error = error.clone();
3851let tostring = tostring.clone();
3852let string = string.clone();
3853let table = table.clone();
3854let __TS__ArrayUnshift = __TS__ArrayUnshift.clone();
3855let new_atom = new_atom.clone();
3856let new_construction = new_construction.clone();
3857let new_data = new_data.clone();
3858let val2env = val2env.clone();
3859let evaluate = evaluate.clone();
3860let null_v = null_v.clone();
3861move |mut _lua_arg_tmp| {
3862let rawstr = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3863let state = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3864let is_eof = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3865let is_not_eof = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3866*is_eof.borrow_mut() = _lua_lambda(Box::new({let state = state.clone();
3867move |mut _lua_arg_tmp| {
3868return _lua_op!{eq, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_num!(0)};
3869
3870_lua_nil()
3871}}));
3872*is_not_eof.borrow_mut() = _lua_lambda(Box::new({let is_eof = is_eof.clone();
3873move |mut _lua_arg_tmp| {
3874return _lua_not(_lua_call({ let _lua_tmp = is_eof.borrow(); _lua_tmp.clone() }, vec![]));
3875
3876_lua_nil()
3877}}));
3878*state.borrow_mut() = _lua_len({ let _lua_tmp = rawstr.borrow(); _lua_tmp.clone() });
3879let parse_error = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3880*parse_error.borrow_mut() = _lua_lambda(Box::new({let error = error.clone();
3881let tostring = tostring.clone();
3882move |mut _lua_arg_tmp| {
3883let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3884if (_lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
3885*x.borrow_mut() = _lua_str("");
3886}
3887_lua_call({ let _lua_tmp = error.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_str("MT parse ERROR "), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])}]);
3888
3889_lua_nil()
3890}}));
3891let parse_assert = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3892*parse_assert.borrow_mut() = _lua_lambda(Box::new({let parse_error = parse_error.clone();
3893move |mut _lua_arg_tmp| {
3894let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3895if (_lua_not({ let _lua_tmp = x.borrow(); _lua_tmp.clone() })).as_bool() {
3896return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3897}
3898
3899_lua_nil()
3900}}));
3901let get_do = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3902*get_do.borrow_mut() = _lua_lambda(Box::new({let parse_assert = parse_assert.clone();
3903let is_not_eof = is_not_eof.clone();
3904let state = state.clone();
3905let string = string.clone();
3906let rawstr = rawstr.clone();
3907move |mut _lua_arg_tmp| {
3908_lua_call({ let _lua_tmp = parse_assert.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = is_not_eof.borrow(); _lua_tmp.clone() }, vec![])]);
3909*state.borrow_mut() = _lua_op!{sub, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_num!(1)};
3910return _lua_call(_lua_lookup({ let _lua_tmp = string.borrow(); _lua_tmp.clone() },_lua_str("sub")), vec![{ let _lua_tmp = rawstr.borrow(); _lua_tmp.clone() }, _lua_op!{add, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_num!(1)}, _lua_op!{add, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_num!(1)}]);
3911
3912_lua_nil()
3913}}));
3914let stack = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
3915let conslike = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3916*conslike.borrow_mut() = _lua_lambda(Box::new({let table = table.clone();
3917let stack = stack.clone();
3918let parse_error = parse_error.clone();
3919let __TS__ArrayUnshift = __TS__ArrayUnshift.clone();
3920move |mut _lua_arg_tmp| {
3921let c = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3922let y = std::sync::Arc::new(std::cell::RefCell::new(_lua_call(_lua_lookup({ let _lua_tmp = table.borrow(); _lua_tmp.clone() },_lua_str("remove")), vec![{ let _lua_tmp = stack.borrow(); _lua_tmp.clone() }])));
3923let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call(_lua_lookup({ let _lua_tmp = table.borrow(); _lua_tmp.clone() },_lua_str("remove")), vec![{ let _lua_tmp = stack.borrow(); _lua_tmp.clone() }])));
3924if (_lua_op!{or, _lua_op!{eq, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_nil()}, _lua_op!{eq, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }, _lua_nil()}}).as_bool() {
3925return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3926} else {
3927return _lua_call({ let _lua_tmp = __TS__ArrayUnshift.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = stack.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = c.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, { let _lua_tmp = y.borrow(); _lua_tmp.clone() }])]);
3928}
3929
3930_lua_nil()
3931}}));
3932while (_lua_call({ let _lua_tmp = is_not_eof.borrow(); _lua_tmp.clone() }, vec![])).as_bool() {
3933let chr = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get_do.borrow(); _lua_tmp.clone() }, vec![])));
3934if (_lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str("^")}).as_bool() {
3935let tmp = std::sync::Arc::new(std::cell::RefCell::new(_lua_str("")));
3936while (_lua_true()).as_bool() {
3937let chr = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = get_do.borrow(); _lua_tmp.clone() }, vec![])));
3938if (_lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str("^")}).as_bool() {
3939break;
3940}
3941*tmp.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = chr.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = tmp.borrow(); _lua_tmp.clone() }])};
3942}
3943_lua_call({ let _lua_tmp = __TS__ArrayUnshift.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = stack.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = tmp.borrow(); _lua_tmp.clone() }])]);
3944} else if (_lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str(".")}).as_bool() {
3945_lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }]);
3946} else if (_lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str("#")}).as_bool() {
3947_lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }]);
3948} else if (_lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str("$")}).as_bool() {
3949_lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![_lua_lambda(Box::new({let val2env = val2env.clone();
3950let parse_error = parse_error.clone();
3951let evaluate = evaluate.clone();
3952move |mut _lua_arg_tmp| {
3953let env = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3954let val = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3955let r_env = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = val2env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = env.borrow(); _lua_tmp.clone() }])));
3956if (_lua_op!{eq, { let _lua_tmp = r_env.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
3957return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3958} else {
3959return _lua_call({ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = r_env.borrow(); _lua_tmp.clone() }, { let _lua_tmp = val.borrow(); _lua_tmp.clone() }]);
3960}
3961
3962_lua_nil()
3963}}))]);
3964} else if (_lua_op!{eq, { let _lua_tmp = chr.borrow(); _lua_tmp.clone() }, _lua_str("_")}).as_bool() {
3965_lua_call({ let _lua_tmp = __TS__ArrayUnshift.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = stack.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }]);
3966} else {
3967return _lua_call({ let _lua_tmp = parse_error.borrow(); _lua_tmp.clone() }, vec![]);
3968}
3969}
3970_lua_call({ let _lua_tmp = parse_assert.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = is_eof.borrow(); _lua_tmp.clone() }, vec![])]);
3971_lua_call({ let _lua_tmp = parse_assert.borrow(); _lua_tmp.clone() }, vec![_lua_op!{eq, _lua_len({ let _lua_tmp = stack.borrow(); _lua_tmp.clone() }), _lua_num!(1)}]);
3972return _lua_lookup({ let _lua_tmp = stack.borrow(); _lua_tmp.clone() },_lua_num!(1));
3973
3974_lua_nil()
3975}}));
3976let machinetext_print = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
3977*machinetext_print.borrow_mut() = _lua_lambda(Box::new({let un_just_all = un_just_all.clone();
3978let tostring = tostring.clone();
3979let __TS__ArrayPush = __TS__ArrayPush.clone();
3980let atom_p = atom_p.clone();
3981let un_atom = un_atom.clone();
3982let construction_p = construction_p.clone();
3983let construction_head = construction_head.clone();
3984let construction_tail = construction_tail.clone();
3985let null_p = null_p.clone();
3986let data_p = data_p.clone();
3987let data_name = data_name.clone();
3988let data_list = data_list.clone();
3989let delay_p = delay_p.clone();
3990let delay2delay_evaluate = delay2delay_evaluate.clone();
3991let env2val = env2val.clone();
3992let delay_evaluate_env = delay_evaluate_env.clone();
3993let delay_evaluate_x = delay_evaluate_x.clone();
3994let LANG_ERROR = LANG_ERROR.clone();
3995move |mut _lua_arg_tmp| {
3996let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
3997let stack = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![(_lua_num!(1), { let _lua_tmp = x.borrow(); _lua_tmp.clone() })])));
3998let result = std::sync::Arc::new(std::cell::RefCell::new(_lua_str("")));
3999while (_lua_op!{not_eq, _lua_len({ let _lua_tmp = stack.borrow(); _lua_tmp.clone() }), _lua_num!(0)}).as_bool() {
4000let new_stack = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
4001let _lua_tmp_t={ let _lua_tmp = stack.borrow(); _lua_tmp.clone() };
4002for _lua_tmp_k in 1..=(_lua_len(_lua_tmp_t.clone()).as_f64() as usize) {
4003let ____=std::sync::Arc::new(std::cell::RefCell::new(_lua_num!(_lua_tmp_k)));
4004let x=std::sync::Arc::new(std::cell::RefCell::new(_lua_lookup(_lua_tmp_t.clone(),____.borrow().clone())));
4005*x.borrow_mut() = _lua_call({ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
4006let conslike = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4007*conslike.borrow_mut() = _lua_lambda(Box::new({let result = result.clone();
4008let tostring = tostring.clone();
4009let __TS__ArrayPush = __TS__ArrayPush.clone();
4010let new_stack = new_stack.clone();
4011move |mut _lua_arg_tmp| {
4012let xx = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4013let s = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4014let g1 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4015let g2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4016*result.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = result.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = s.borrow(); _lua_tmp.clone() }])};
4017return _lua_call({ let _lua_tmp = __TS__ArrayPush.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = new_stack.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = g1.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = g2.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = xx.borrow(); _lua_tmp.clone() }])]);
4018
4019_lua_nil()
4020}}));
4021if (_lua_call({ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
4022*result.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = result.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_op!{concat, _lua_str("^"), _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = un_atom.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])]), _lua_str("^")}}])};
4023} else if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
4024_lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_str("."), { let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, { let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }]);
4025} else if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
4026*result.borrow_mut() = _lua_op!{concat, _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = result.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = tostring.borrow(); _lua_tmp.clone() }, vec![_lua_str("_")])};
4027} else if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
4028_lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }, _lua_str("#"), { let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, { let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }]);
4029} else if (_lua_call({ let _lua_tmp = delay_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])).as_bool() {
4030let y = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = delay2delay_evaluate.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }])));
4031_lua_call({ let _lua_tmp = conslike.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = y.borrow(); _lua_tmp.clone() }, _lua_str("$"), _lua_lambda(Box::new({let env2val = env2val.clone();
4032let delay_evaluate_env = delay_evaluate_env.clone();
4033move |mut _lua_arg_tmp| {
4034let vl = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4035return _lua_call({ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = delay_evaluate_env.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = vl.borrow(); _lua_tmp.clone() }])]);
4036
4037_lua_nil()
4038}})), { let _lua_tmp = delay_evaluate_x.borrow(); _lua_tmp.clone() }]);
4039} else {
4040return _lua_call({ let _lua_tmp = LANG_ERROR.borrow(); _lua_tmp.clone() }, vec![]);
4041}
4042}
4043*stack.borrow_mut() = { let _lua_tmp = new_stack.borrow(); _lua_tmp.clone() };
4044}
4045return { let _lua_tmp = result.borrow(); _lua_tmp.clone() };
4046
4047_lua_nil()
4048}}));
4049let return_effect_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = sub_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = effect_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = typeAnnotation_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = thing_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = something_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }])])]), { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }])]), { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }])])])));
4050let bind_effect_systemName = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = systemName_make.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = sub_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = effect_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = construction_atom.borrow(); _lua_tmp.clone() }, { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }])]), { let _lua_tmp = null_v.borrow(); _lua_tmp.clone() }])])])));
4051let new_effect_bind = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4052*new_effect_bind.borrow_mut() = _lua_lambda(Box::new({let new_data = new_data.clone();
4053let bind_effect_systemName = bind_effect_systemName.clone();
4054let new_list = new_list.clone();
4055move |mut _lua_arg_tmp| {
4056let monad = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4057let func = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4058return _lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = bind_effect_systemName.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = monad.borrow(); _lua_tmp.clone() }, { let _lua_tmp = func.borrow(); _lua_tmp.clone() }])]);
4059
4060_lua_nil()
4061}}));
4062let new_effect_return = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4063*new_effect_return.borrow_mut() = _lua_lambda(Box::new({let new_data = new_data.clone();
4064let return_effect_systemName = return_effect_systemName.clone();
4065move |mut _lua_arg_tmp| {
4066let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4067return _lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = return_effect_systemName.borrow(); _lua_tmp.clone() }, { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]);
4068
4069_lua_nil()
4070}}));
4071let run_monad_helper = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4072*run_monad_helper.borrow_mut() = _lua_lambda(Box::new({let error = error.clone();
4073let force_all = force_all.clone();
4074let data_p = data_p.clone();
4075let data_name = data_name.clone();
4076let data_list = data_list.clone();
4077let equal_p = equal_p.clone();
4078let return_effect_systemName = return_effect_systemName.clone();
4079let construction_p = construction_p.clone();
4080let construction_head = construction_head.clone();
4081let construction_tail = construction_tail.clone();
4082let null_p = null_p.clone();
4083let trampoline_delay = trampoline_delay.clone();
4084let run_monad_helper = run_monad_helper.clone();
4085let apply = apply.clone();
4086let bind_effect_systemName = bind_effect_systemName.clone();
4087let new_atom = new_atom.clone();
4088let new_data = new_data.clone();
4089let function_atom = function_atom.clone();
4090let new_list = new_list.clone();
4091let make_quote = make_quote.clone();
4092move |mut _lua_arg_tmp| {
4093let return_handler = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4094let op_handler = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4095let code = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4096let state = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4097let next = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4098if (_lua_op!{eq, { let _lua_tmp = next.borrow(); _lua_tmp.clone() }, _lua_nil()}).as_bool() {
4099*next.borrow_mut() = _lua_false();
4100}
4101let make_bind = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4102*make_bind.borrow_mut() = _lua_lambda(Box::new({let error = error.clone();
4103move |mut _lua_arg_tmp| {
4104let x = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4105let f = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4106_lua_call({ let _lua_tmp = error.borrow(); _lua_tmp.clone() }, vec![_lua_str("WIP")]);
4107
4108_lua_nil()
4109}}));
4110*code.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = code.borrow(); _lua_tmp.clone() }]);
4111if (_lua_call({ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = code.borrow(); _lua_tmp.clone() }])).as_bool() {
4112let name = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = code.borrow(); _lua_tmp.clone() }])));
4113let list = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = data_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = code.borrow(); _lua_tmp.clone() }])));
4114if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = name.borrow(); _lua_tmp.clone() }, { let _lua_tmp = return_effect_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
4115*list.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }]);
4116if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }])).as_bool() {
4117let list_a = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }])));
4118let list_d = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }])])));
4119if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list_d.borrow(); _lua_tmp.clone() }])).as_bool() {
4120if (_lua_op!{eq, { let _lua_tmp = next.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
4121let upval_v = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = list_a.borrow(); _lua_tmp.clone() }));
4122let upval_st = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = state.borrow(); _lua_tmp.clone() }));
4123let r = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4124*r.borrow_mut() = _lua_lambda(Box::new({let return_handler = return_handler.clone();
4125let upval_v = upval_v.clone();
4126let upval_st = upval_st.clone();
4127move |mut _lua_arg_tmp| {
4128return _lua_call({ let _lua_tmp = return_handler.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = upval_v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_st.borrow(); _lua_tmp.clone() }]);
4129
4130_lua_nil()
4131}}));
4132return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = r.borrow(); _lua_tmp.clone() }]);
4133} else {
4134let upval_rt = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4135*upval_rt.borrow_mut() = { let _lua_tmp = return_handler.borrow(); _lua_tmp.clone() };
4136let upval_op = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4137*upval_op.borrow_mut() = { let _lua_tmp = op_handler.borrow(); _lua_tmp.clone() };
4138let upval_v = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = list_a.borrow(); _lua_tmp.clone() }));
4139let upval_st = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = state.borrow(); _lua_tmp.clone() }));
4140let r = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4141*r.borrow_mut() = _lua_lambda(Box::new({let run_monad_helper = run_monad_helper.clone();
4142let upval_rt = upval_rt.clone();
4143let upval_op = upval_op.clone();
4144let apply = apply.clone();
4145let next = next.clone();
4146let upval_v = upval_v.clone();
4147let upval_st = upval_st.clone();
4148move |mut _lua_arg_tmp| {
4149return _lua_call({ let _lua_tmp = run_monad_helper.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = upval_rt.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_op.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = next.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_v.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = upval_st.borrow(); _lua_tmp.clone() }]);
4150
4151_lua_nil()
4152}}));
4153return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = r.borrow(); _lua_tmp.clone() }]);
4154}
4155}
4156}
4157} else if (_lua_call({ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = name.borrow(); _lua_tmp.clone() }, { let _lua_tmp = bind_effect_systemName.borrow(); _lua_tmp.clone() }])).as_bool() {
4158*list.borrow_mut() = _lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }]);
4159if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }])).as_bool() {
4160let list_a = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }])));
4161let list_d = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list.borrow(); _lua_tmp.clone() }])])));
4162if (_lua_call({ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list_d.borrow(); _lua_tmp.clone() }])).as_bool() {
4163let list_d_a = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list_d.borrow(); _lua_tmp.clone() }])));
4164let list_d_d = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list_d.borrow(); _lua_tmp.clone() }])])));
4165if (_lua_call({ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = list_d_d.borrow(); _lua_tmp.clone() }])).as_bool() {
4166if (_lua_op!{eq, { let _lua_tmp = next.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
4167let upval_rt = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4168*upval_rt.borrow_mut() = { let _lua_tmp = return_handler.borrow(); _lua_tmp.clone() };
4169let upval_op = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4170*upval_op.borrow_mut() = { let _lua_tmp = op_handler.borrow(); _lua_tmp.clone() };
4171let upval_a = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = list_a.borrow(); _lua_tmp.clone() }));
4172let upval_b = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = list_d_a.borrow(); _lua_tmp.clone() }));
4173let upval_st = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = state.borrow(); _lua_tmp.clone() }));
4174let r = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4175*r.borrow_mut() = _lua_lambda(Box::new({let run_monad_helper = run_monad_helper.clone();
4176let upval_rt = upval_rt.clone();
4177let upval_op = upval_op.clone();
4178let upval_a = upval_a.clone();
4179let upval_st = upval_st.clone();
4180let upval_b = upval_b.clone();
4181move |mut _lua_arg_tmp| {
4182return _lua_call({ let _lua_tmp = run_monad_helper.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = upval_rt.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_op.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_a.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_st.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_b.borrow(); _lua_tmp.clone() }]);
4183
4184_lua_nil()
4185}}));
4186return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = r.borrow(); _lua_tmp.clone() }]);
4187} else {
4188let upval_rt = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4189*upval_rt.borrow_mut() = { let _lua_tmp = return_handler.borrow(); _lua_tmp.clone() };
4190let upval_op = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4191*upval_op.borrow_mut() = { let _lua_tmp = op_handler.borrow(); _lua_tmp.clone() };
4192let upval_a = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = list_a.borrow(); _lua_tmp.clone() }));
4193let upval_b = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = list_d_a.borrow(); _lua_tmp.clone() }));
4194let upval_st = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = state.borrow(); _lua_tmp.clone() }));
4195let upval_nt = std::sync::Arc::new(std::cell::RefCell::new({ let _lua_tmp = next.borrow(); _lua_tmp.clone() }));
4196let x = std::sync::Arc::new(std::cell::RefCell::new(_lua_call({ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() }, vec![_lua_str("序甲")])));
4197let r = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4198*r.borrow_mut() = _lua_lambda(Box::new({let run_monad_helper = run_monad_helper.clone();
4199let upval_rt = upval_rt.clone();
4200let upval_op = upval_op.clone();
4201let upval_a = upval_a.clone();
4202let upval_st = upval_st.clone();
4203let new_data = new_data.clone();
4204let function_atom = function_atom.clone();
4205let new_list = new_list.clone();
4206let x = x.clone();
4207let make_bind = make_bind.clone();
4208let make_quote = make_quote.clone();
4209let upval_b = upval_b.clone();
4210let upval_nt = upval_nt.clone();
4211move |mut _lua_arg_tmp| {
4212return _lua_call({ let _lua_tmp = run_monad_helper.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = upval_rt.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_op.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_a.borrow(); _lua_tmp.clone() }, { let _lua_tmp = upval_st.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = function_atom.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = make_bind.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = make_quote.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = upval_b.borrow(); _lua_tmp.clone() }]), { let _lua_tmp = x.borrow(); _lua_tmp.clone() }]), _lua_call({ let _lua_tmp = make_quote.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = upval_nt.borrow(); _lua_tmp.clone() }])])])])]);
4213
4214_lua_nil()
4215}}));
4216return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = r.borrow(); _lua_tmp.clone() }]);
4217}
4218}
4219}
4220}
4221}
4222}
4223if (_lua_op!{eq, { let _lua_tmp = next.borrow(); _lua_tmp.clone() }, _lua_false()}).as_bool() {
4224return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![_lua_lambda(Box::new({let op_handler = op_handler.clone();
4225let code = code.clone();
4226let state = state.clone();
4227let return_handler = return_handler.clone();
4228move |mut _lua_arg_tmp| {
4229return _lua_call({ let _lua_tmp = op_handler.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = code.borrow(); _lua_tmp.clone() }, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, { let _lua_tmp = return_handler.borrow(); _lua_tmp.clone() }]);
4230
4231_lua_nil()
4232}}))]);
4233} else {
4234return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![_lua_lambda(Box::new({let op_handler = op_handler.clone();
4235let code = code.clone();
4236let state = state.clone();
4237let trampoline_delay = trampoline_delay.clone();
4238let run_monad_helper = run_monad_helper.clone();
4239let return_handler = return_handler.clone();
4240let apply = apply.clone();
4241let next = next.clone();
4242move |mut _lua_arg_tmp| {
4243return _lua_call({ let _lua_tmp = op_handler.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = code.borrow(); _lua_tmp.clone() }, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }, _lua_lambda(Box::new({let trampoline_delay = trampoline_delay.clone();
4244let run_monad_helper = run_monad_helper.clone();
4245let return_handler = return_handler.clone();
4246let op_handler = op_handler.clone();
4247let apply = apply.clone();
4248let next = next.clone();
4249move |mut _lua_arg_tmp| {
4250let val2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4251let state2 = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4252return _lua_call({ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() }, vec![_lua_lambda(Box::new({let run_monad_helper = run_monad_helper.clone();
4253let return_handler = return_handler.clone();
4254let op_handler = op_handler.clone();
4255let apply = apply.clone();
4256let next = next.clone();
4257let val2 = val2.clone();
4258let state2 = state2.clone();
4259move |mut _lua_arg_tmp| {
4260return _lua_call({ let _lua_tmp = run_monad_helper.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = return_handler.borrow(); _lua_tmp.clone() }, { let _lua_tmp = op_handler.borrow(); _lua_tmp.clone() }, _lua_call({ let _lua_tmp = apply.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = next.borrow(); _lua_tmp.clone() }, _lua_table(vec![(_lua_num!(1), { let _lua_tmp = val2.borrow(); _lua_tmp.clone() })])]), { let _lua_tmp = state2.borrow(); _lua_tmp.clone() }]);
4261
4262_lua_nil()
4263}}))]);
4264
4265_lua_nil()
4266}}))]);
4267
4268_lua_nil()
4269}}))]);
4270}
4271
4272_lua_nil()
4273}}));
4274let run_monad_trampoline = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4275*run_monad_trampoline.borrow_mut() = _lua_lambda(Box::new({let run_monad_helper = run_monad_helper.clone();
4276move |mut _lua_arg_tmp| {
4277let return_handler = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4278let op_handler = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4279let code = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4280let state = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4281return _lua_call({ let _lua_tmp = run_monad_helper.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = return_handler.borrow(); _lua_tmp.clone() }, { let _lua_tmp = op_handler.borrow(); _lua_tmp.clone() }, { let _lua_tmp = code.borrow(); _lua_tmp.clone() }, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }]);
4282
4283_lua_nil()
4284}}));
4285let run_monad_stackoverflow = std::sync::Arc::new(std::cell::RefCell::new(_lua_nil()));
4286*run_monad_stackoverflow.borrow_mut() = _lua_lambda(Box::new({let run_trampoline = run_trampoline.clone();
4287let run_monad_helper = run_monad_helper.clone();
4288let trampoline_return = trampoline_return.clone();
4289move |mut _lua_arg_tmp| {
4290let return_handler = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4291let op_handler = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4292let code = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4293let state = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4294return _lua_call({ let _lua_tmp = run_trampoline.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = run_monad_helper.borrow(); _lua_tmp.clone() }, vec![_lua_lambda(Box::new({let trampoline_return = trampoline_return.clone();
4295let return_handler = return_handler.clone();
4296move |mut _lua_arg_tmp| {
4297let v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4298let s = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4299return _lua_call({ let _lua_tmp = trampoline_return.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = return_handler.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = s.borrow(); _lua_tmp.clone() }])]);
4300
4301_lua_nil()
4302}})), _lua_lambda(Box::new({let trampoline_return = trampoline_return.clone();
4303let op_handler = op_handler.clone();
4304let run_trampoline = run_trampoline.clone();
4305move |mut _lua_arg_tmp| {
4306let op = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4307let st = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4308let rs = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4309return _lua_call({ let _lua_tmp = trampoline_return.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = op_handler.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = op.borrow(); _lua_tmp.clone() }, { let _lua_tmp = st.borrow(); _lua_tmp.clone() }, _lua_lambda(Box::new({let run_trampoline = run_trampoline.clone();
4310let rs = rs.clone();
4311move |mut _lua_arg_tmp| {
4312let v = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4313let s = std::sync::Arc::new(std::cell::RefCell::new(if _lua_arg_tmp.is_empty() { _lua_nil() } else { _lua_arg_tmp.remove(0) }));
4314return _lua_call({ let _lua_tmp = run_trampoline.borrow(); _lua_tmp.clone() }, vec![_lua_call({ let _lua_tmp = rs.borrow(); _lua_tmp.clone() }, vec![{ let _lua_tmp = v.borrow(); _lua_tmp.clone() }, { let _lua_tmp = s.borrow(); _lua_tmp.clone() }])]);
4315
4316_lua_nil()
4317}}))])]);
4318
4319_lua_nil()
4320}})), { let _lua_tmp = code.borrow(); _lua_tmp.clone() }, { let _lua_tmp = state.borrow(); _lua_tmp.clone() }])]);
4321
4322_lua_nil()
4323}}));
4324let ____exports = std::sync::Arc::new(std::cell::RefCell::new(_lua_table(vec![])));
4325_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("trampoline_return"),{ let _lua_tmp = trampoline_return.borrow(); _lua_tmp.clone() });
4326_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("trampoline_delay"),{ let _lua_tmp = trampoline_delay.borrow(); _lua_tmp.clone() });
4327_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("run_trampoline"),{ let _lua_tmp = run_trampoline.borrow(); _lua_tmp.clone() });
4328_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("new_comment"),{ let _lua_tmp = new_comment.borrow(); _lua_tmp.clone() });
4329_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("comment_p"),{ let _lua_tmp = comment_p.borrow(); _lua_tmp.clone() });
4330_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("comment_comment"),{ let _lua_tmp = comment_comment.borrow(); _lua_tmp.clone() });
4331_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("comment_x"),{ let _lua_tmp = comment_x.borrow(); _lua_tmp.clone() });
4332_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("un_comment_all"),{ let _lua_tmp = un_comment_all.borrow(); _lua_tmp.clone() });
4333_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("new_atom"),{ let _lua_tmp = new_atom.borrow(); _lua_tmp.clone() });
4334_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("atom_p"),{ let _lua_tmp = atom_p.borrow(); _lua_tmp.clone() });
4335_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("un_atom"),{ let _lua_tmp = un_atom.borrow(); _lua_tmp.clone() });
4336_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("atom_equal_p"),{ let _lua_tmp = atom_equal_p.borrow(); _lua_tmp.clone() });
4337_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("new_construction"),{ let _lua_tmp = new_construction.borrow(); _lua_tmp.clone() });
4338_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("construction_p"),{ let _lua_tmp = construction_p.borrow(); _lua_tmp.clone() });
4339_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("construction_head"),{ let _lua_tmp = construction_head.borrow(); _lua_tmp.clone() });
4340_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("construction_tail"),{ let _lua_tmp = construction_tail.borrow(); _lua_tmp.clone() });
4341_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("null_v"),{ let _lua_tmp = null_v.borrow(); _lua_tmp.clone() });
4342_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("null_p"),{ let _lua_tmp = null_p.borrow(); _lua_tmp.clone() });
4343_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("new_data"),{ let _lua_tmp = new_data.borrow(); _lua_tmp.clone() });
4344_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("data_p"),{ let _lua_tmp = data_p.borrow(); _lua_tmp.clone() });
4345_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("data_name"),{ let _lua_tmp = data_name.borrow(); _lua_tmp.clone() });
4346_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("data_list"),{ let _lua_tmp = data_list.borrow(); _lua_tmp.clone() });
4347_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("just_p"),{ let _lua_tmp = just_p.borrow(); _lua_tmp.clone() });
4348_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("evaluate"),{ let _lua_tmp = evaluate.borrow(); _lua_tmp.clone() });
4349_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("apply"),{ let _lua_tmp = apply.borrow(); _lua_tmp.clone() });
4350_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("force_all_rec"),{ let _lua_tmp = force_all_rec.borrow(); _lua_tmp.clone() });
4351_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("force_uncomment_all_rec"),{ let _lua_tmp = force_uncomment_all_rec.borrow(); _lua_tmp.clone() });
4352_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("unlazy_all_rec"),{ let _lua_tmp = unlazy_all_rec.borrow(); _lua_tmp.clone() });
4353_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("jsArray_to_list"),{ let _lua_tmp = jsArray_to_list.borrow(); _lua_tmp.clone() });
4354_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("maybe_list_to_jsArray"),{ let _lua_tmp = maybe_list_to_jsArray.borrow(); _lua_tmp.clone() });
4355_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("new_list"),{ let _lua_tmp = new_list.borrow(); _lua_tmp.clone() });
4356_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("un_just_all"),{ let _lua_tmp = un_just_all.borrow(); _lua_tmp.clone() });
4357_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("un_just_comment_all"),{ let _lua_tmp = un_just_comment_all.borrow(); _lua_tmp.clone() });
4358_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("delay_p"),{ let _lua_tmp = delay_p.borrow(); _lua_tmp.clone() });
4359_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("delay_just_p"),{ let _lua_tmp = delay_just_p.borrow(); _lua_tmp.clone() });
4360_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("lazy_p"),{ let _lua_tmp = lazy_p.borrow(); _lua_tmp.clone() });
4361_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("delay_env"),{ let _lua_tmp = delay_env.borrow(); _lua_tmp.clone() });
4362_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("delay_x"),{ let _lua_tmp = delay_x.borrow(); _lua_tmp.clone() });
4363_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("force_all"),{ let _lua_tmp = force_all.borrow(); _lua_tmp.clone() });
4364_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("force1"),{ let _lua_tmp = force1.borrow(); _lua_tmp.clone() });
4365_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("force_uncomment1"),{ let _lua_tmp = force_uncomment1.borrow(); _lua_tmp.clone() });
4366_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("force_uncomment_all"),{ let _lua_tmp = force_uncomment_all.borrow(); _lua_tmp.clone() });
4367_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("unlazy1"),{ let _lua_tmp = unlazy1.borrow(); _lua_tmp.clone() });
4368_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("env_null_v"),{ let _lua_tmp = env_null_v.borrow(); _lua_tmp.clone() });
4369_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("env_set"),{ let _lua_tmp = env_set.borrow(); _lua_tmp.clone() });
4370_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("env_get"),{ let _lua_tmp = env_get.borrow(); _lua_tmp.clone() });
4371_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("env2val"),{ let _lua_tmp = env2val.borrow(); _lua_tmp.clone() });
4372_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("env_foreach"),{ let _lua_tmp = env_foreach.borrow(); _lua_tmp.clone() });
4373_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("val2env"),{ let _lua_tmp = val2env.borrow(); _lua_tmp.clone() });
4374_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("equal_p"),{ let _lua_tmp = equal_p.borrow(); _lua_tmp.clone() });
4375_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("simple_print"),{ let _lua_tmp = simple_print.borrow(); _lua_tmp.clone() });
4376_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("complex_parse"),{ let _lua_tmp = complex_parse.borrow(); _lua_tmp.clone() });
4377_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("complex_print"),{ let _lua_tmp = complex_print.borrow(); _lua_tmp.clone() });
4378_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("machinetext_parse"),{ let _lua_tmp = machinetext_parse.borrow(); _lua_tmp.clone() });
4379_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("machinetext_print"),{ let _lua_tmp = machinetext_print.borrow(); _lua_tmp.clone() });
4380_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("return_effect_systemName"),{ let _lua_tmp = return_effect_systemName.borrow(); _lua_tmp.clone() });
4381_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("bind_effect_systemName"),{ let _lua_tmp = bind_effect_systemName.borrow(); _lua_tmp.clone() });
4382_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("new_effect_bind"),{ let _lua_tmp = new_effect_bind.borrow(); _lua_tmp.clone() });
4383_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("new_effect_return"),{ let _lua_tmp = new_effect_return.borrow(); _lua_tmp.clone() });
4384_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("run_monad_trampoline"),{ let _lua_tmp = run_monad_trampoline.borrow(); _lua_tmp.clone() });
4385_lua_set({ let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() },_lua_str("run_monad_stackoverflow"),{ let _lua_tmp = run_monad_stackoverflow.borrow(); _lua_tmp.clone() });
4386return { let _lua_tmp = ____exports.borrow(); _lua_tmp.clone() };
4387 _lua_nil()
4388}