From cb6ba9fc51fcae1617d5e11d699f330e66b1c594 Mon Sep 17 00:00:00 2001 From: Reuben Brooks Date: Thu, 27 Aug 2026 11:08:53 -0500 Subject: [PATCH 1/6] Update Shen kernel and standard library to S42 --- bin/shen-rust/src/main.rs | 2 +- crates/klcompile/src/lib.rs | 4 +- crates/shen-rust/src/aot/kernel/backend.rs | 474 +- crates/shen-rust/src/aot/kernel/core.rs | 10780 ---------------- .../shen-rust/src/aot/kernel/declarations.rs | 146 +- crates/shen-rust/src/aot/kernel/load.rs | 370 +- crates/shen-rust/src/aot/kernel/macros.rs | 766 +- crates/shen-rust/src/aot/kernel/mod.rs | 2 +- crates/shen-rust/src/aot/kernel/prolog.rs | 3230 ++--- crates/shen-rust/src/aot/kernel/reader.rs | 3732 +++--- crates/shen-rust/src/aot/kernel/sequent.rs | 2020 +-- crates/shen-rust/src/aot/kernel/sys.rs | 1532 +-- crates/shen-rust/src/aot/kernel/t_star.rs | 3322 ++--- crates/shen-rust/src/aot/kernel/toplevel.rs | 436 +- crates/shen-rust/src/aot/kernel/track.rs | 388 +- crates/shen-rust/src/aot/kernel/types.rs | 983 +- crates/shen-rust/src/aot/kernel/writer.rs | 536 +- crates/shen-rust/src/interp/boot.rs | 12 +- crates/shen-rust/tests/boot_kernel.rs | 4 +- crates/shen-rust/tests/cli_launcher.rs | 6 +- crates/shenffi/src/lib.rs | 2 +- kernel/README.md | 2 +- kernel/klambda/PROVENANCE.md | 103 +- kernel/klambda/backend.kl | 20 +- kernel/klambda/core.kl | 128 +- kernel/klambda/declarations.kl | 26 +- kernel/klambda/load.kl | 40 +- kernel/klambda/macros.kl | 62 +- kernel/klambda/prolog.kl | 200 +- kernel/klambda/reader.kl | 276 +- kernel/klambda/sequent.kl | 104 +- kernel/klambda/sys.kl | 208 +- kernel/klambda/t-star.kl | 102 +- kernel/klambda/toplevel.kl | 32 +- kernel/klambda/track.kl | 62 +- kernel/klambda/types.kl | 12 +- kernel/klambda/writer.kl | 48 +- kernel/stlib/Calendar/date.shen | 160 + kernel/stlib/Data/data.shen | 26 + kernel/stlib/Lists/lists.shen.kl | 110 + kernel/stlib/Maths/r.shen | 6 + kernel/stlib/PROVENANCE.md | 69 +- kernel/stlib/Strings/regex.shen | 286 + kernel/stlib/Strings/smartmem.shen | 63 + scripts/shen-check.sh | 2 +- 45 files changed, 10560 insertions(+), 20334 deletions(-) create mode 100644 kernel/stlib/Calendar/date.shen create mode 100644 kernel/stlib/Data/data.shen create mode 100644 kernel/stlib/Lists/lists.shen.kl create mode 100644 kernel/stlib/Maths/r.shen create mode 100644 kernel/stlib/Strings/regex.shen create mode 100644 kernel/stlib/Strings/smartmem.shen diff --git a/bin/shen-rust/src/main.rs b/bin/shen-rust/src/main.rs index f0d252c..8c0d252 100644 --- a/bin/shen-rust/src/main.rs +++ b/bin/shen-rust/src/main.rs @@ -1,6 +1,6 @@ //! shen-rust REPL. //! -//! Boots the ShenOSKernel-41.2 then routes each user line through the +//! Boots the Shen 42 kernel then routes each user line through the //! kernel's own `eval` (which in turn does `(eval-kl (shen.shen->kl …))`). //! Input is read one balanced s-expression at a time — partial lines are //! buffered until the parentheses balance. diff --git a/crates/klcompile/src/lib.rs b/crates/klcompile/src/lib.rs index 153adce..7018715 100644 --- a/crates/klcompile/src/lib.rs +++ b/crates/klcompile/src/lib.rs @@ -140,7 +140,7 @@ pub struct CompileReport { /// invocation's policy (see `CompileOptions::kernel`), not a property of /// the compiler. /// -/// Empty since the S41.2 refresh: the only members were the four +/// Empty since the S42 refresh: the only members were the four /// `stlib.initialise-*` defuns in the community `stlib.kl`, which is /// retired — the standard library now loads from the `Lib/StLib` Shen /// sources at boot (`kernel/stlib/`) and is not part of the kernel AOT set. @@ -1111,7 +1111,7 @@ mod tests { } /// Pin the kernel skip set: with the kernel options, no defun across - /// the kernel .kl files is force-skipped (empty since the S41.2 refresh + /// the kernel .kl files is force-skipped (empty since the S42 refresh /// retired `stlib.kl`, whose four `stlib.initialise-*` defuns were the /// only members). A budget heuristic must never silently change this — /// the kernel AOT bytes are frozen behind Gate 6. diff --git a/crates/shen-rust/src/aot/kernel/backend.rs b/crates/shen-rust/src/aot/kernel/backend.rs index 0055651..9399f6e 100644 --- a/crates/shen-rust/src/aot/kernel/backend.rs +++ b/crates/shen-rust/src/aot/kernel/backend.rs @@ -32,12 +32,12 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5674 = args[0].clone(); + let mut v_V5715 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t0 = Value::nil(); - let __t1 = v_V5674.clone(); + let __t1 = v_V5715.clone(); rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t0, __t1])? }); } @@ -60,17 +60,17 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( ))); } #[allow(unused_mut)] - let mut v_V5682 = args[0].clone(); + let mut v_V5723 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5683 = args[1].clone(); + let mut v_V5724 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t343 = { let __t339 = Value::sym(interp.intern("T")); let __t342 = { - let __t340 = v_V5683.clone(); - let __t341 = v_V5682.clone(); + let __t340 = v_V5724.clone(); + let __t341 = v_V5723.clone(); rt::apply_direct(interp, "MEMBER", &[__t340, __t341])? }; rt::eq(&__t339, &__t342) @@ -79,12 +79,12 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5683.clone()); + break Ok(v_V5724.clone()); } else { { let __t338 = { let __t332 = { - let __t312 = v_V5683.clone(); + let __t312 = v_V5724.clone(); rt::is_cons(&__t312) }; if !rt::is_truthy(interp, &__t332)? { @@ -94,7 +94,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t330 = { let __t313 = Value::sym(interp.intern("type")); let __t315 = { - let __t314 = v_V5683.clone(); + let __t314 = v_V5724.clone(); rt::hd(&__t314)? }; rt::eq(&__t313, &__t315) @@ -105,7 +105,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t331 = { let __t328 = { let __t317 = { - let __t316 = v_V5683.clone(); + let __t316 = v_V5724.clone(); rt::tl(&__t316)? }; rt::is_cons(&__t317) @@ -117,7 +117,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t326 = { let __t320 = { let __t319 = { - let __t318 = v_V5683.clone(); + let __t318 = v_V5724.clone(); rt::tl(&__t318)? }; rt::tl(&__t319)? @@ -132,7 +132,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t325 = { let __t324 = { let __t323 = { - let __t322 = v_V5683.clone(); + let __t322 = v_V5724.clone(); rt::tl(&__t322)? }; rt::tl(&__t323)? @@ -158,23 +158,23 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( Err(e) => break Err(e), } { { - let __t334 = v_V5682.clone(); + let __t334 = v_V5723.clone(); let __t337 = { let __t336 = { - let __t335 = v_V5683.clone(); + let __t335 = v_V5724.clone(); rt::tl(&__t335)? }; rt::hd(&__t336)? }; - v_V5682 = __t334; - v_V5683 = __t337; + v_V5723 = __t334; + v_V5724 = __t337; continue; } } else { { let __t311 = { let __t305 = { - let __t291 = v_V5683.clone(); + let __t291 = v_V5724.clone(); rt::is_cons(&__t291) }; if !rt::is_truthy(interp, &__t305)? { @@ -184,7 +184,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t303 = { let __t292 = Value::sym(interp.intern("protect")); let __t294 = { - let __t293 = v_V5683.clone(); + let __t293 = v_V5724.clone(); rt::hd(&__t293)? }; rt::eq(&__t292, &__t294) @@ -195,7 +195,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t304 = { let __t301 = { let __t296 = { - let __t295 = v_V5683.clone(); + let __t295 = v_V5724.clone(); rt::tl(&__t295)? }; rt::is_cons(&__t296) @@ -207,7 +207,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t297 = Value::nil(); let __t300 = { let __t299 = { - let __t298 = v_V5683.clone(); + let __t298 = v_V5724.clone(); rt::tl(&__t298)? }; rt::tl(&__t299)? @@ -228,23 +228,23 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( Err(e) => break Err(e), } { { - let __t307 = v_V5682.clone(); + let __t307 = v_V5723.clone(); let __t310 = { let __t309 = { - let __t308 = v_V5683.clone(); + let __t308 = v_V5724.clone(); rt::tl(&__t308)? }; rt::hd(&__t309)? }; - v_V5682 = __t307; - v_V5683 = __t310; + v_V5723 = __t307; + v_V5724 = __t310; continue; } } else { { let __t290 = { let __t285 = { - let __t259 = v_V5683.clone(); + let __t259 = v_V5724.clone(); rt::is_cons(&__t259) }; if !rt::is_truthy(interp, &__t285)? { @@ -255,7 +255,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t260 = Value::sym(interp.intern("lambda")); let __t262 = { - let __t261 = v_V5683.clone(); + let __t261 = v_V5724.clone(); rt::hd(&__t261)? }; rt::eq(&__t260, &__t262) @@ -266,7 +266,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t284 = { let __t281 = { let __t264 = { - let __t263 = v_V5683.clone(); + let __t263 = v_V5724.clone(); rt::tl(&__t263)? }; rt::is_cons(&__t264) @@ -279,7 +279,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t267 = { let __t266 = { let __t265 = - v_V5683.clone(); + v_V5724.clone(); rt::tl(&__t265)? }; rt::tl(&__t266)? @@ -297,7 +297,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t272 = { let __t271 = { let __t270 = { - let __t269 = v_V5683.clone(); + let __t269 = v_V5724.clone(); rt::tl( &__t269, )? @@ -316,7 +316,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t278 = { let __t275 = { let __t274 = { - let __t273 = v_V5683.clone(); + let __t273 = v_V5724.clone(); rt::tl( &__t273, )? @@ -363,20 +363,20 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( Err(e) => break Err(e), } { { - let __t287 = v_V5682.clone(); + let __t287 = v_V5723.clone(); let __t289 = { - let __t288 = v_V5683.clone(); + let __t288 = v_V5724.clone(); rt::apply_direct(interp, "cl.rectify-t", &[__t288])? }; - v_V5682 = __t287; - v_V5683 = __t289; + v_V5723 = __t287; + v_V5724 = __t289; continue; } } else { { let __t258 = { let __t233 = { - let __t213 = v_V5683.clone(); + let __t213 = v_V5724.clone(); rt::is_cons(&__t213) }; if !rt::is_truthy(interp, &__t233)? { @@ -387,7 +387,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t214 = Value::sym(interp.intern("lambda")); let __t216 = { - let __t215 = v_V5683.clone(); + let __t215 = v_V5724.clone(); rt::hd(&__t215)? }; rt::eq(&__t214, &__t216) @@ -399,7 +399,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t229 = { let __t218 = { let __t217 = - v_V5683.clone(); + v_V5724.clone(); rt::tl(&__t217)? }; rt::is_cons(&__t218) @@ -413,7 +413,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t221 = { let __t220 = { let __t219 = - v_V5683 + v_V5724 .clone( ); rt::tl(&__t219)? @@ -433,7 +433,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t226 = { let __t225 = { let __t224 = { - let __t223 = v_V5683.clone(); + let __t223 = v_V5724.clone(); rt::tl(&__t223)? }; rt::tl( @@ -483,7 +483,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t239 = { let __t238 = { let __t237 = - v_V5683.clone(); + v_V5724.clone(); rt::tl(&__t237)? }; rt::hd(&__t238)? @@ -497,7 +497,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t244 = { let __t243 = { let __t242 = - v_V5683 + v_V5724 .clone( ); rt::tl(&__t242)? @@ -505,7 +505,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( rt::hd(&__t243)? }; let __t245 = - v_V5682.clone(); + v_V5723.clone(); rt::cons( &__t244, &__t245, ) @@ -514,7 +514,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t249 = { let __t248 = { let __t247 = - v_V5683 + v_V5724 .clone( ); rt::tl(&__t247)? @@ -545,7 +545,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( { let __t212 = { let __t207 = { - let __t174 = v_V5683.clone(); + let __t174 = v_V5724.clone(); rt::is_cons(&__t174) }; if !rt::is_truthy(interp, &__t207)? { @@ -558,7 +558,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( ); let __t177 = { let __t176 = - v_V5683.clone(); + v_V5724.clone(); rt::hd(&__t176)? }; rt::eq(&__t175, &__t177) @@ -571,7 +571,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t203 = { let __t179 = { let __t178 = - v_V5683.clone(); + v_V5724.clone(); rt::tl(&__t178)? }; rt::is_cons(&__t179) @@ -585,7 +585,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t201 = { let __t182 = { let __t181 = { - let __t180 = v_V5683.clone(); + let __t180 = v_V5724.clone(); rt::tl(&__t180)? }; rt::tl( @@ -606,12 +606,12 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t202 = { let __t199 = { let __t186 = { - let __t185 = { let __t184 = { let __t183 = v_V5683.clone(); rt::tl(&__t183)? }; rt::tl(&__t184)? }; + let __t185 = { let __t184 = { let __t183 = v_V5724.clone(); rt::tl(&__t183)? }; rt::tl(&__t184)? }; rt::tl(&__t185)? }; rt::is_cons(&__t186) }; - if !rt::is_truthy(interp, &__t199)? { Value::bool(false) } else { let __t200 = { let __t197 = { let __t187 = Value::nil(); let __t192 = { let __t191 = { let __t190 = { let __t189 = { let __t188 = v_V5683.clone(); rt::tl(&__t188)? }; rt::tl(&__t189)? }; rt::tl(&__t190)? }; rt::tl(&__t191)? }; rt::eq(&__t187, &__t192) }; if !rt::is_truthy(interp, &__t197)? { Value::bool(false) } else { let __t198 = { let __t195 = { let __t194 = { let __t193 = v_V5683.clone(); rt::tl(&__t193)? }; rt::hd(&__t194)? }; let __t196 = Value::sym(interp.intern("T")); rt::eq(&__t195, &__t196) }; Value::bool(rt::is_truthy(interp, &__t198)?) } }; Value::bool(rt::is_truthy(interp, &__t200)?) } + if !rt::is_truthy(interp, &__t199)? { Value::bool(false) } else { let __t200 = { let __t197 = { let __t187 = Value::nil(); let __t192 = { let __t191 = { let __t190 = { let __t189 = { let __t188 = v_V5724.clone(); rt::tl(&__t188)? }; rt::tl(&__t189)? }; rt::tl(&__t190)? }; rt::tl(&__t191)? }; rt::eq(&__t187, &__t192) }; if !rt::is_truthy(interp, &__t197)? { Value::bool(false) } else { let __t198 = { let __t195 = { let __t194 = { let __t193 = v_V5724.clone(); rt::tl(&__t193)? }; rt::hd(&__t194)? }; let __t196 = Value::sym(interp.intern("T")); rt::eq(&__t195, &__t196) }; Value::bool(rt::is_truthy(interp, &__t198)?) } }; Value::bool(rt::is_truthy(interp, &__t200)?) } }; Value::bool(rt::is_truthy(interp, &__t202)?) } @@ -638,24 +638,24 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( Err(e) => break Err(e), } { { - let __t209 = v_V5682.clone(); + let __t209 = v_V5723.clone(); let __t211 = { - let __t210 = v_V5683.clone(); + let __t210 = v_V5724.clone(); rt::apply_direct( interp, "cl.rectify-t", &[__t210], )? }; - v_V5682 = __t209; - v_V5683 = __t211; + v_V5723 = __t209; + v_V5724 = __t211; continue; } } else { { let __t173 = { let __t142 = { - let __t115 = v_V5683.clone(); + let __t115 = v_V5724.clone(); rt::is_cons(&__t115) }; if !rt::is_truthy(interp, &__t142)? @@ -670,7 +670,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( ); let __t118 = { let __t117 = - v_V5683.clone(); + v_V5724.clone(); rt::hd(&__t117)? }; rt::eq(&__t116, &__t118) @@ -683,7 +683,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t141 = { let __t138 = { let __t120 = { - let __t119 = v_V5683.clone(); + let __t119 = v_V5724.clone(); rt::tl( &__t119, )? @@ -702,12 +702,12 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t139 = { let __t136 = { let __t123 = { - let __t122 = { let __t121 = v_V5683.clone(); rt::tl(&__t121)? }; + let __t122 = { let __t121 = v_V5724.clone(); rt::tl(&__t121)? }; rt::tl(&__t122)? }; rt::is_cons(&__t123) }; - if !rt::is_truthy(interp, &__t136)? { Value::bool(false) } else { let __t137 = { let __t134 = { let __t127 = { let __t126 = { let __t125 = { let __t124 = v_V5683.clone(); rt::tl(&__t124)? }; rt::tl(&__t125)? }; rt::tl(&__t126)? }; rt::is_cons(&__t127) }; if !rt::is_truthy(interp, &__t134)? { Value::bool(false) } else { let __t135 = { let __t128 = Value::nil(); let __t133 = { let __t132 = { let __t131 = { let __t130 = { let __t129 = v_V5683.clone(); rt::tl(&__t129)? }; rt::tl(&__t130)? }; rt::tl(&__t131)? }; rt::tl(&__t132)? }; rt::eq(&__t128, &__t133) }; Value::bool(rt::is_truthy(interp, &__t135)?) } }; Value::bool(rt::is_truthy(interp, &__t137)?) } + if !rt::is_truthy(interp, &__t136)? { Value::bool(false) } else { let __t137 = { let __t134 = { let __t127 = { let __t126 = { let __t125 = { let __t124 = v_V5724.clone(); rt::tl(&__t124)? }; rt::tl(&__t125)? }; rt::tl(&__t126)? }; rt::is_cons(&__t127) }; if !rt::is_truthy(interp, &__t134)? { Value::bool(false) } else { let __t135 = { let __t128 = Value::nil(); let __t133 = { let __t132 = { let __t131 = { let __t130 = { let __t129 = v_V5724.clone(); rt::tl(&__t129)? }; rt::tl(&__t130)? }; rt::tl(&__t131)? }; rt::tl(&__t132)? }; rt::eq(&__t128, &__t133) }; Value::bool(rt::is_truthy(interp, &__t135)?) } }; Value::bool(rt::is_truthy(interp, &__t137)?) } }; Value::bool(rt::is_truthy(interp, &__t139)?) } @@ -738,7 +738,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t156 = { let __t147 = { let __t146 = { - let __t145 = v_V5683.clone(); + let __t145 = v_V5724.clone(); rt::tl( &__t145, )? @@ -747,10 +747,10 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( }; let __t155 = { let __t153 = { - let __t148 = v_V5682.clone(); + let __t148 = v_V5723.clone(); let __t152 = { let __t151 = { - let __t150 = { let __t149 = v_V5683.clone(); rt::tl(&__t149)? }; + let __t150 = { let __t149 = v_V5724.clone(); rt::tl(&__t149)? }; rt::tl(&__t150)? }; rt::hd(&__t151)? @@ -781,7 +781,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t163 = { let __t161 = { let __t160 = { - let __t159 = v_V5683.clone(); + let __t159 = v_V5724.clone(); rt::tl(&__t159)? }; rt::hd( @@ -789,7 +789,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( )? }; let __t162 = - v_V5682 + v_V5723 .clone( ); rt::cons( @@ -801,7 +801,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t167 = { let __t166 = { let __t165 = { - let __t164 = v_V5683.clone(); + let __t164 = v_V5724.clone(); rt::tl(&__t164)? }; rt::tl(&__t165)? @@ -829,7 +829,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t114 = { let __t90 = { let __t63 = - v_V5683.clone(); + v_V5724.clone(); rt::is_cons(&__t63) }; if !rt::is_truthy( @@ -841,7 +841,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t88 = { let __t64 = Value::sym(interp.intern("defun")); let __t66 = { - let __t65 = v_V5683.clone(); + let __t65 = v_V5724.clone(); rt::hd( &__t65, )? @@ -861,12 +861,12 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t89 = { let __t86 = { let __t68 = { - let __t67 = v_V5683.clone(); + let __t67 = v_V5724.clone(); rt::tl(&__t67)? }; rt::is_cons(&__t68) }; - if !rt::is_truthy(interp, &__t86)? { Value::bool(false) } else { let __t87 = { let __t84 = { let __t71 = { let __t70 = { let __t69 = v_V5683.clone(); rt::tl(&__t69)? }; rt::tl(&__t70)? }; rt::is_cons(&__t71) }; if !rt::is_truthy(interp, &__t84)? { Value::bool(false) } else { let __t85 = { let __t82 = { let __t75 = { let __t74 = { let __t73 = { let __t72 = v_V5683.clone(); rt::tl(&__t72)? }; rt::tl(&__t73)? }; rt::tl(&__t74)? }; rt::is_cons(&__t75) }; if !rt::is_truthy(interp, &__t82)? { Value::bool(false) } else { let __t83 = { let __t76 = Value::nil(); let __t81 = { let __t80 = { let __t79 = { let __t78 = { let __t77 = v_V5683.clone(); rt::tl(&__t77)? }; rt::tl(&__t78)? }; rt::tl(&__t79)? }; rt::tl(&__t80)? }; rt::eq(&__t76, &__t81) }; Value::bool(rt::is_truthy(interp, &__t83)?) } }; Value::bool(rt::is_truthy(interp, &__t85)?) } }; Value::bool(rt::is_truthy(interp, &__t87)?) } + if !rt::is_truthy(interp, &__t86)? { Value::bool(false) } else { let __t87 = { let __t84 = { let __t71 = { let __t70 = { let __t69 = v_V5724.clone(); rt::tl(&__t69)? }; rt::tl(&__t70)? }; rt::is_cons(&__t71) }; if !rt::is_truthy(interp, &__t84)? { Value::bool(false) } else { let __t85 = { let __t82 = { let __t75 = { let __t74 = { let __t73 = { let __t72 = v_V5724.clone(); rt::tl(&__t72)? }; rt::tl(&__t73)? }; rt::tl(&__t74)? }; rt::is_cons(&__t75) }; if !rt::is_truthy(interp, &__t82)? { Value::bool(false) } else { let __t83 = { let __t76 = Value::nil(); let __t81 = { let __t80 = { let __t79 = { let __t78 = { let __t77 = v_V5724.clone(); rt::tl(&__t77)? }; rt::tl(&__t78)? }; rt::tl(&__t79)? }; rt::tl(&__t80)? }; rt::eq(&__t76, &__t81) }; Value::bool(rt::is_truthy(interp, &__t83)?) } }; Value::bool(rt::is_truthy(interp, &__t85)?) } }; Value::bool(rt::is_truthy(interp, &__t87)?) } }; Value::bool(rt::is_truthy(interp, &__t89)?) } @@ -893,7 +893,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t113 = { let __t95 = { let __t94 = { - let __t93 = v_V5683.clone(); + let __t93 = v_V5724.clone(); rt::tl( &__t93, )? @@ -904,7 +904,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t99 = { let __t98 = { let __t97 = { - let __t96 = v_V5683.clone(); + let __t96 = v_V5724.clone(); rt::tl(&__t96)? }; rt::tl(&__t97)? @@ -916,11 +916,11 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t111 = { let __t109 = { let __t103 = { - let __t102 = { let __t101 = { let __t100 = v_V5683.clone(); rt::tl(&__t100)? }; rt::tl(&__t101)? }; + let __t102 = { let __t101 = { let __t100 = v_V5724.clone(); rt::tl(&__t100)? }; rt::tl(&__t101)? }; rt::hd(&__t102)? }; let __t108 = { - let __t107 = { let __t106 = { let __t105 = { let __t104 = v_V5683.clone(); rt::tl(&__t104)? }; rt::tl(&__t105)? }; rt::tl(&__t106)? }; + let __t107 = { let __t106 = { let __t105 = { let __t104 = v_V5724.clone(); rt::tl(&__t104)? }; rt::tl(&__t105)? }; rt::tl(&__t106)? }; rt::hd(&__t107)? }; rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t103, __t108])? @@ -949,7 +949,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t62 = { let __t53 = { let __t49 = - v_V5683 + v_V5724 .clone( ); rt::is_cons( @@ -966,7 +966,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t54 = { let __t50 = Value::sym(interp.intern("cond")); let __t52 = { - let __t51 = v_V5683.clone(); + let __t51 = v_V5724.clone(); rt::hd(&__t51)? }; rt::eq( @@ -989,11 +989,11 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( let __t55 = Value::sym(interp.intern("COND")); let __t61 = { let __t58 = { - let v_V5682 = v_V5682.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z5684 = args[0].clone(); Ok({ let __t56 = v_V5682.clone(); let __t57 = v_Z5684.clone(); rt::apply_direct(interp, "cl.cond-code", &[__t56, __t57])? }) }, vec![v_V5682], interp) + let v_V5723 = v_V5723.clone(); + rt::make_aot_closure("", 1, move |interp, args| { let v_Z5725 = args[0].clone(); Ok({ let __t56 = v_V5723.clone(); let __t57 = v_Z5725.clone(); rt::apply_direct(interp, "cl.cond-code", &[__t56, __t57])? }) }, vec![v_V5723], interp) }; let __t60 = { - let __t59 = v_V5683.clone(); + let __t59 = v_V5724.clone(); rt::tl(&__t59)? }; rt::apply_direct(interp, "CL.MAPCAR", &[__t58, __t60])? @@ -1007,12 +1007,12 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( { let __t48 = { let __t41 = { - let __t31 = v_V5683.clone(); + let __t31 = v_V5724.clone(); rt::is_cons(&__t31) }; - if !rt::is_truthy(interp, &__t41)? { Value::bool(false) } else { let __t42 = { let __t39 = { let __t32 = Value::sym(interp.intern("T")); let __t36 = { let __t34 = { let __t33 = v_V5683.clone(); rt::hd(&__t33)? }; let __t35 = v_V5682.clone(); rt::apply_direct(interp, "MEMBER", &[__t34, __t35])? }; rt::eq(&__t32, &__t36) }; if rt::is_truthy(interp, &__t39)? { Value::bool(true) } else { let __t40 = { let __t38 = { let __t37 = v_V5683.clone(); rt::hd(&__t37)? }; rt::is_cons(&__t38) }; Value::bool(rt::is_truthy(interp, &__t40)?) } }; Value::bool(rt::is_truthy(interp, &__t42)?) } + if !rt::is_truthy(interp, &__t41)? { Value::bool(false) } else { let __t42 = { let __t39 = { let __t32 = Value::sym(interp.intern("T")); let __t36 = { let __t34 = { let __t33 = v_V5724.clone(); rt::hd(&__t33)? }; let __t35 = v_V5723.clone(); rt::apply_direct(interp, "MEMBER", &[__t34, __t35])? }; rt::eq(&__t32, &__t36) }; if rt::is_truthy(interp, &__t39)? { Value::bool(true) } else { let __t40 = { let __t38 = { let __t37 = v_V5724.clone(); rt::hd(&__t37)? }; rt::is_cons(&__t38) }; Value::bool(rt::is_truthy(interp, &__t40)?) } }; Value::bool(rt::is_truthy(interp, &__t42)?) } }; - if match rt::is_truthy(interp, &__t48) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5685 = { let __t45 = { let v_V5682 = v_V5682.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5686 = args[0].clone(); Ok({ let __t43 = v_V5682.clone(); let __t44 = v_Z5686.clone(); rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t43, __t44])? }) }, vec![v_V5682], interp) }; let __t46 = v_V5683.clone(); rt::apply_direct(interp, "CL.MAPCAR", &[__t45, __t46])? }; break Ok({ let __t47 = v_W5685.clone(); rt::apply_direct(interp, "cl.currylisp", &[__t47])? }); } } else { { let __t30 = { let __t18 = { let __t15 = v_V5683.clone(); rt::is_cons(&__t15) }; if !rt::is_truthy(interp, &__t18)? { Value::bool(false) } else { let __t19 = { let __t17 = { let __t16 = v_V5683.clone(); rt::hd(&__t16)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t17])? }; Value::bool(rt::is_truthy(interp, &__t19)?) } }; if match rt::is_truthy(interp, &__t30) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5687 = { let __t22 = { let v_V5682 = v_V5682.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5688 = args[0].clone(); Ok({ let __t20 = v_V5682.clone(); let __t21 = v_Z5688.clone(); rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t20, __t21])? }) }, vec![v_V5682], interp) }; let __t24 = { let __t23 = v_V5683.clone(); rt::tl(&__t23)? }; rt::apply_direct(interp, "CL.MAPCAR", &[__t22, __t24])? }; { let v_W5689 = { let __t26 = { let __t25 = v_V5683.clone(); rt::hd(&__t25)? }; rt::apply_direct(interp, "cl.maplispsym", &[__t26])? }; break Ok({ let __t29 = { let __t27 = v_W5689.clone(); let __t28 = v_W5687.clone(); rt::cons(&__t27, &__t28) }; rt::apply_direct(interp, "cl.optimise-application", &[__t29])? }); } } } else { { let __t14 = { let __t12 = { let __t7 = v_V5683.clone(); rt::is_number(&__t7) }; if rt::is_truthy(interp, &__t12)? { Value::bool(true) } else { let __t13 = { let __t10 = { let __t8 = v_V5683.clone(); rt::is_string(&__t8) }; if rt::is_truthy(interp, &__t10)? { Value::bool(true) } else { let __t11 = { let __t9 = v_V5683.clone(); rt::apply_direct(interp, "empty?", &[__t9])? }; Value::bool(rt::is_truthy(interp, &__t11)?) } }; Value::bool(rt::is_truthy(interp, &__t13)?) } }; if match rt::is_truthy(interp, &__t14) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5683.clone()); } else { { let __t6 = Value::bool(true); if match rt::is_truthy(interp, &__t6) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2 = Value::sym(interp.intern("QUOTE")); let __t5 = { let __t3 = v_V5683.clone(); let __t4 = Value::nil(); rt::cons(&__t3, &__t4) }; rt::cons(&__t2, &__t5) }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } + if match rt::is_truthy(interp, &__t48) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5726 = { let __t45 = { let v_V5723 = v_V5723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5727 = args[0].clone(); Ok({ let __t43 = v_V5723.clone(); let __t44 = v_Z5727.clone(); rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t43, __t44])? }) }, vec![v_V5723], interp) }; let __t46 = v_V5724.clone(); rt::apply_direct(interp, "CL.MAPCAR", &[__t45, __t46])? }; break Ok({ let __t47 = v_W5726.clone(); rt::apply_direct(interp, "cl.currylisp", &[__t47])? }); } } else { { let __t30 = { let __t18 = { let __t15 = v_V5724.clone(); rt::is_cons(&__t15) }; if !rt::is_truthy(interp, &__t18)? { Value::bool(false) } else { let __t19 = { let __t17 = { let __t16 = v_V5724.clone(); rt::hd(&__t16)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t17])? }; Value::bool(rt::is_truthy(interp, &__t19)?) } }; if match rt::is_truthy(interp, &__t30) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5728 = { let __t22 = { let v_V5723 = v_V5723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5729 = args[0].clone(); Ok({ let __t20 = v_V5723.clone(); let __t21 = v_Z5729.clone(); rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t20, __t21])? }) }, vec![v_V5723], interp) }; let __t24 = { let __t23 = v_V5724.clone(); rt::tl(&__t23)? }; rt::apply_direct(interp, "CL.MAPCAR", &[__t22, __t24])? }; { let v_W5730 = { let __t26 = { let __t25 = v_V5724.clone(); rt::hd(&__t25)? }; rt::apply_direct(interp, "cl.maplispsym", &[__t26])? }; break Ok({ let __t29 = { let __t27 = v_W5730.clone(); let __t28 = v_W5728.clone(); rt::cons(&__t27, &__t28) }; rt::apply_direct(interp, "cl.optimise-application", &[__t29])? }); } } } else { { let __t14 = { let __t12 = { let __t7 = v_V5724.clone(); rt::is_number(&__t7) }; if rt::is_truthy(interp, &__t12)? { Value::bool(true) } else { let __t13 = { let __t10 = { let __t8 = v_V5724.clone(); rt::is_string(&__t8) }; if rt::is_truthy(interp, &__t10)? { Value::bool(true) } else { let __t11 = { let __t9 = v_V5724.clone(); rt::apply_direct(interp, "empty?", &[__t9])? }; Value::bool(rt::is_truthy(interp, &__t11)?) } }; Value::bool(rt::is_truthy(interp, &__t13)?) } }; if match rt::is_truthy(interp, &__t14) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5724.clone()); } else { { let __t6 = Value::bool(true); if match rt::is_truthy(interp, &__t6) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2 = Value::sym(interp.intern("QUOTE")); let __t5 = { let __t3 = v_V5724.clone(); let __t4 = Value::nil(); rt::cons(&__t3, &__t4) }; rt::cons(&__t2, &__t5) }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } @@ -1049,7 +1049,7 @@ pub fn aot_cl_x2e_rectify_x2d_t(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V5690 = args[0].clone(); + let mut v_V5731 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -1058,7 +1058,7 @@ pub fn aot_cl_x2e_rectify_x2d_t(interp: &mut Interp, args: &[Value]) -> ShenResu rt::apply_direct(interp, "GENSYM", &[__t344])? }; let __t346 = Value::sym(interp.intern("T")); - let __t347 = v_V5690.clone(); + let __t347 = v_V5731.clone(); rt::apply_direct(interp, "SUBST", &[__t345, __t346, __t347])? }); } @@ -1078,13 +1078,13 @@ pub fn aot_cl_x2e_currylisp(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V5691.clone()); + break Ok(v_V5732.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -1272,13 +1272,13 @@ pub fn aot_cl_x2e_optimise_x2d_application( ))); } #[allow(unused_mut)] - let mut v_V5692 = args[0].clone(); + let mut v_V5733 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t827 = { let __t822 = { - let __t808 = v_V5692.clone(); + let __t808 = v_V5733.clone(); rt::is_cons(&__t808) }; if !rt::is_truthy(interp, &__t822)? { @@ -1288,7 +1288,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t820 = { let __t809 = Value::sym(interp.intern("protect")); let __t811 = { - let __t810 = v_V5692.clone(); + let __t810 = v_V5733.clone(); rt::hd(&__t810)? }; rt::eq(&__t809, &__t811) @@ -1299,7 +1299,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t821 = { let __t818 = { let __t813 = { - let __t812 = v_V5692.clone(); + let __t812 = v_V5733.clone(); rt::tl(&__t812)? }; rt::is_cons(&__t813) @@ -1311,7 +1311,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t814 = Value::nil(); let __t817 = { let __t816 = { - let __t815 = v_V5692.clone(); + let __t815 = v_V5733.clone(); rt::tl(&__t815)? }; rt::tl(&__t816)? @@ -1334,19 +1334,19 @@ pub fn aot_cl_x2e_optimise_x2d_application( { let __t826 = { let __t825 = { - let __t824 = v_V5692.clone(); + let __t824 = v_V5733.clone(); rt::tl(&__t824)? }; rt::hd(&__t825)? }; - v_V5692 = __t826; + v_V5733 = __t826; continue; } } else { { let __t807 = { let __t798 = { - let __t784 = v_V5692.clone(); + let __t784 = v_V5733.clone(); rt::is_cons(&__t784) }; if !rt::is_truthy(interp, &__t798)? { @@ -1356,7 +1356,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t796 = { let __t785 = Value::sym(interp.intern("hd")); let __t787 = { - let __t786 = v_V5692.clone(); + let __t786 = v_V5733.clone(); rt::hd(&__t786)? }; rt::eq(&__t785, &__t787) @@ -1367,7 +1367,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t797 = { let __t794 = { let __t789 = { - let __t788 = v_V5692.clone(); + let __t788 = v_V5733.clone(); rt::tl(&__t788)? }; rt::is_cons(&__t789) @@ -1379,7 +1379,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t790 = Value::nil(); let __t793 = { let __t792 = { - let __t791 = v_V5692.clone(); + let __t791 = v_V5733.clone(); rt::tl(&__t791)? }; rt::tl(&__t792)? @@ -1405,7 +1405,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t804 = { let __t803 = { let __t802 = { - let __t801 = v_V5692.clone(); + let __t801 = v_V5733.clone(); rt::tl(&__t801)? }; rt::hd(&__t802)? @@ -1421,7 +1421,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( { let __t783 = { let __t774 = { - let __t760 = v_V5692.clone(); + let __t760 = v_V5733.clone(); rt::is_cons(&__t760) }; if !rt::is_truthy(interp, &__t774)? { @@ -1431,7 +1431,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t772 = { let __t761 = Value::sym(interp.intern("tl")); let __t763 = { - let __t762 = v_V5692.clone(); + let __t762 = v_V5733.clone(); rt::hd(&__t762)? }; rt::eq(&__t761, &__t763) @@ -1442,7 +1442,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t773 = { let __t770 = { let __t765 = { - let __t764 = v_V5692.clone(); + let __t764 = v_V5733.clone(); rt::tl(&__t764)? }; rt::is_cons(&__t765) @@ -1454,7 +1454,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t766 = Value::nil(); let __t769 = { let __t768 = { - let __t767 = v_V5692.clone(); + let __t767 = v_V5733.clone(); rt::tl(&__t767)? }; rt::tl(&__t768)? @@ -1480,7 +1480,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t780 = { let __t779 = { let __t778 = { - let __t777 = v_V5692.clone(); + let __t777 = v_V5733.clone(); rt::tl(&__t777)? }; rt::hd(&__t778)? @@ -1500,7 +1500,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( { let __t759 = { let __t744 = { - let __t724 = v_V5692.clone(); + let __t724 = v_V5733.clone(); rt::is_cons(&__t724) }; if !rt::is_truthy(interp, &__t744)? { @@ -1510,7 +1510,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t742 = { let __t725 = Value::sym(interp.intern("cons")); let __t727 = { - let __t726 = v_V5692.clone(); + let __t726 = v_V5733.clone(); rt::hd(&__t726)? }; rt::eq(&__t725, &__t727) @@ -1521,7 +1521,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t743 = { let __t740 = { let __t729 = { - let __t728 = v_V5692.clone(); + let __t728 = v_V5733.clone(); rt::tl(&__t728)? }; rt::is_cons(&__t729) @@ -1534,7 +1534,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t732 = { let __t731 = { let __t730 = - v_V5692.clone(); + v_V5733.clone(); rt::tl(&__t730)? }; rt::tl(&__t731)? @@ -1551,7 +1551,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t736 = { let __t735 = { let __t734 = - v_V5692 + v_V5733 .clone( ); rt::tl(&__t734)? @@ -1588,7 +1588,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t750 = { let __t749 = { let __t748 = { - let __t747 = v_V5692.clone(); + let __t747 = v_V5733.clone(); rt::tl(&__t747)? }; rt::hd(&__t748)? @@ -1604,7 +1604,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t754 = { let __t753 = { let __t752 = { - let __t751 = v_V5692.clone(); + let __t751 = v_V5733.clone(); rt::tl(&__t751)? }; rt::tl(&__t752)? @@ -1628,7 +1628,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( { let __t723 = { let __t708 = { - let __t688 = v_V5692.clone(); + let __t688 = v_V5733.clone(); rt::is_cons(&__t688) }; if !rt::is_truthy(interp, &__t708)? { @@ -1639,7 +1639,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t689 = Value::sym(interp.intern("append")); let __t691 = { - let __t690 = v_V5692.clone(); + let __t690 = v_V5733.clone(); rt::hd(&__t690)? }; rt::eq(&__t689, &__t691) @@ -1651,7 +1651,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t704 = { let __t693 = { let __t692 = - v_V5692.clone(); + v_V5733.clone(); rt::tl(&__t692)? }; rt::is_cons(&__t693) @@ -1665,7 +1665,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t696 = { let __t695 = { let __t694 = - v_V5692 + v_V5733 .clone( ); rt::tl(&__t694)? @@ -1685,7 +1685,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t701 = { let __t700 = { let __t699 = { - let __t698 = v_V5692.clone(); + let __t698 = v_V5733.clone(); rt::tl(&__t698)? }; rt::tl( @@ -1730,7 +1730,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t714 = { let __t713 = { let __t712 = { - let __t711 = v_V5692.clone(); + let __t711 = v_V5733.clone(); rt::tl(&__t711)? }; rt::hd(&__t712)? @@ -1747,7 +1747,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t717 = { let __t716 = { let __t715 = - v_V5692.clone(); + v_V5733.clone(); rt::tl(&__t715)? }; rt::tl(&__t716)? @@ -1771,7 +1771,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( { let __t687 = { let __t678 = { - let __t664 = v_V5692.clone(); + let __t664 = v_V5733.clone(); rt::is_cons(&__t664) }; if !rt::is_truthy(interp, &__t678)? { @@ -1784,7 +1784,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( ); let __t667 = { let __t666 = - v_V5692.clone(); + v_V5733.clone(); rt::hd(&__t666)? }; rt::eq(&__t665, &__t667) @@ -1797,7 +1797,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t674 = { let __t669 = { let __t668 = - v_V5692.clone(); + v_V5733.clone(); rt::tl(&__t668)? }; rt::is_cons(&__t669) @@ -1812,7 +1812,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( Value::nil(); let __t673 = { let __t672 = { - let __t671 = v_V5692.clone(); + let __t671 = v_V5733.clone(); rt::tl( &__t671, )? @@ -1854,7 +1854,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t683 = { let __t682 = { let __t681 = - v_V5692.clone(); + v_V5733.clone(); rt::tl(&__t681)? }; rt::hd(&__t682)? @@ -1874,7 +1874,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( { let __t663 = { let __t654 = { - let __t640 = v_V5692.clone(); + let __t640 = v_V5733.clone(); rt::is_cons(&__t640) }; if !rt::is_truthy(interp, &__t654)? @@ -1890,7 +1890,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( ); let __t643 = { let __t642 = - v_V5692.clone(); + v_V5733.clone(); rt::hd(&__t642)? }; rt::eq(&__t641, &__t643) @@ -1903,7 +1903,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t653 = { let __t650 = { let __t645 = { - let __t644 = v_V5692.clone(); + let __t644 = v_V5733.clone(); rt::tl( &__t644, )? @@ -1923,7 +1923,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t646 = Value::nil(); let __t649 = { let __t648 = { - let __t647 = v_V5692.clone(); + let __t647 = v_V5733.clone(); rt::tl(&__t647)? }; rt::tl(&__t648)? @@ -1963,7 +1963,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t659 = { let __t658 = { let __t657 = - v_V5692 + v_V5733 .clone( ); rt::tl(&__t657)? @@ -1982,7 +1982,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t639 = { let __t617 = { let __t590 = - v_V5692.clone(); + v_V5733.clone(); rt::is_cons(&__t590) }; if !rt::is_truthy( @@ -1994,7 +1994,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t615 = { let __t591 = Value::sym(interp.intern("if")); let __t593 = { - let __t592 = v_V5692.clone(); + let __t592 = v_V5733.clone(); rt::hd( &__t592, )? @@ -2014,12 +2014,12 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t616 = { let __t613 = { let __t595 = { - let __t594 = v_V5692.clone(); + let __t594 = v_V5733.clone(); rt::tl(&__t594)? }; rt::is_cons(&__t595) }; - if !rt::is_truthy(interp, &__t613)? { Value::bool(false) } else { let __t614 = { let __t611 = { let __t598 = { let __t597 = { let __t596 = v_V5692.clone(); rt::tl(&__t596)? }; rt::tl(&__t597)? }; rt::is_cons(&__t598) }; if !rt::is_truthy(interp, &__t611)? { Value::bool(false) } else { let __t612 = { let __t609 = { let __t602 = { let __t601 = { let __t600 = { let __t599 = v_V5692.clone(); rt::tl(&__t599)? }; rt::tl(&__t600)? }; rt::tl(&__t601)? }; rt::is_cons(&__t602) }; if !rt::is_truthy(interp, &__t609)? { Value::bool(false) } else { let __t610 = { let __t603 = Value::nil(); let __t608 = { let __t607 = { let __t606 = { let __t605 = { let __t604 = v_V5692.clone(); rt::tl(&__t604)? }; rt::tl(&__t605)? }; rt::tl(&__t606)? }; rt::tl(&__t607)? }; rt::eq(&__t603, &__t608) }; Value::bool(rt::is_truthy(interp, &__t610)?) } }; Value::bool(rt::is_truthy(interp, &__t612)?) } }; Value::bool(rt::is_truthy(interp, &__t614)?) } + if !rt::is_truthy(interp, &__t613)? { Value::bool(false) } else { let __t614 = { let __t611 = { let __t598 = { let __t597 = { let __t596 = v_V5733.clone(); rt::tl(&__t596)? }; rt::tl(&__t597)? }; rt::is_cons(&__t598) }; if !rt::is_truthy(interp, &__t611)? { Value::bool(false) } else { let __t612 = { let __t609 = { let __t602 = { let __t601 = { let __t600 = { let __t599 = v_V5733.clone(); rt::tl(&__t599)? }; rt::tl(&__t600)? }; rt::tl(&__t601)? }; rt::is_cons(&__t602) }; if !rt::is_truthy(interp, &__t609)? { Value::bool(false) } else { let __t610 = { let __t603 = Value::nil(); let __t608 = { let __t607 = { let __t606 = { let __t605 = { let __t604 = v_V5733.clone(); rt::tl(&__t604)? }; rt::tl(&__t605)? }; rt::tl(&__t606)? }; rt::tl(&__t607)? }; rt::eq(&__t603, &__t608) }; Value::bool(rt::is_truthy(interp, &__t610)?) } }; Value::bool(rt::is_truthy(interp, &__t612)?) } }; Value::bool(rt::is_truthy(interp, &__t614)?) } }; Value::bool(rt::is_truthy(interp, &__t616)?) } @@ -2045,7 +2045,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t623 = { let __t622 = { let __t621 = { - let __t620 = v_V5692.clone(); + let __t620 = v_V5733.clone(); rt::tl(&__t620)? }; rt::hd( @@ -2058,7 +2058,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t628 = { let __t627 = { let __t626 = { - let __t625 = { let __t624 = v_V5692.clone(); rt::tl(&__t624)? }; + let __t625 = { let __t624 = v_V5733.clone(); rt::tl(&__t624)? }; rt::tl(&__t625)? }; rt::hd(&__t626)? @@ -2068,7 +2068,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t636 = { let __t634 = { let __t633 = { - let __t632 = { let __t631 = { let __t630 = { let __t629 = v_V5692.clone(); rt::tl(&__t629)? }; rt::tl(&__t630)? }; rt::tl(&__t631)? }; + let __t632 = { let __t631 = { let __t630 = { let __t629 = v_V5733.clone(); rt::tl(&__t629)? }; rt::tl(&__t630)? }; rt::tl(&__t631)? }; rt::hd(&__t632)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t633])? @@ -2098,7 +2098,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t589 = { let __t583 = { let __t543 = - v_V5692 + v_V5733 .clone( ); rt::is_cons( @@ -2116,12 +2116,12 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t581 = { let __t544 = Value::sym(interp.intern("value")); let __t546 = { - let __t545 = v_V5692.clone(); + let __t545 = v_V5733.clone(); rt::hd(&__t545)? }; rt::eq(&__t544, &__t546) }; - if !rt::is_truthy(interp, &__t581)? { Value::bool(false) } else { let __t582 = { let __t579 = { let __t548 = { let __t547 = v_V5692.clone(); rt::tl(&__t547)? }; rt::is_cons(&__t548) }; if !rt::is_truthy(interp, &__t579)? { Value::bool(false) } else { let __t580 = { let __t577 = { let __t551 = { let __t550 = { let __t549 = v_V5692.clone(); rt::tl(&__t549)? }; rt::hd(&__t550)? }; rt::is_cons(&__t551) }; if !rt::is_truthy(interp, &__t577)? { Value::bool(false) } else { let __t578 = { let __t575 = { let __t555 = { let __t554 = { let __t553 = { let __t552 = v_V5692.clone(); rt::tl(&__t552)? }; rt::hd(&__t553)? }; rt::tl(&__t554)? }; rt::is_cons(&__t555) }; if !rt::is_truthy(interp, &__t575)? { Value::bool(false) } else { let __t576 = { let __t573 = { let __t556 = Value::nil(); let __t561 = { let __t560 = { let __t559 = { let __t558 = { let __t557 = v_V5692.clone(); rt::tl(&__t557)? }; rt::hd(&__t558)? }; rt::tl(&__t559)? }; rt::tl(&__t560)? }; rt::eq(&__t556, &__t561) }; if !rt::is_truthy(interp, &__t573)? { Value::bool(false) } else { let __t574 = { let __t571 = { let __t562 = Value::nil(); let __t565 = { let __t564 = { let __t563 = v_V5692.clone(); rt::tl(&__t563)? }; rt::tl(&__t564)? }; rt::eq(&__t562, &__t565) }; if !rt::is_truthy(interp, &__t571)? { Value::bool(false) } else { let __t572 = { let __t569 = { let __t568 = { let __t567 = { let __t566 = v_V5692.clone(); rt::tl(&__t566)? }; rt::hd(&__t567)? }; rt::hd(&__t568)? }; let __t570 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t569, &__t570) }; Value::bool(rt::is_truthy(interp, &__t572)?) } }; Value::bool(rt::is_truthy(interp, &__t574)?) } }; Value::bool(rt::is_truthy(interp, &__t576)?) } }; Value::bool(rt::is_truthy(interp, &__t578)?) } }; Value::bool(rt::is_truthy(interp, &__t580)?) } }; Value::bool(rt::is_truthy(interp, &__t582)?) } + if !rt::is_truthy(interp, &__t581)? { Value::bool(false) } else { let __t582 = { let __t579 = { let __t548 = { let __t547 = v_V5733.clone(); rt::tl(&__t547)? }; rt::is_cons(&__t548) }; if !rt::is_truthy(interp, &__t579)? { Value::bool(false) } else { let __t580 = { let __t577 = { let __t551 = { let __t550 = { let __t549 = v_V5733.clone(); rt::tl(&__t549)? }; rt::hd(&__t550)? }; rt::is_cons(&__t551) }; if !rt::is_truthy(interp, &__t577)? { Value::bool(false) } else { let __t578 = { let __t575 = { let __t555 = { let __t554 = { let __t553 = { let __t552 = v_V5733.clone(); rt::tl(&__t552)? }; rt::hd(&__t553)? }; rt::tl(&__t554)? }; rt::is_cons(&__t555) }; if !rt::is_truthy(interp, &__t575)? { Value::bool(false) } else { let __t576 = { let __t573 = { let __t556 = Value::nil(); let __t561 = { let __t560 = { let __t559 = { let __t558 = { let __t557 = v_V5733.clone(); rt::tl(&__t557)? }; rt::hd(&__t558)? }; rt::tl(&__t559)? }; rt::tl(&__t560)? }; rt::eq(&__t556, &__t561) }; if !rt::is_truthy(interp, &__t573)? { Value::bool(false) } else { let __t574 = { let __t571 = { let __t562 = Value::nil(); let __t565 = { let __t564 = { let __t563 = v_V5733.clone(); rt::tl(&__t563)? }; rt::tl(&__t564)? }; rt::eq(&__t562, &__t565) }; if !rt::is_truthy(interp, &__t571)? { Value::bool(false) } else { let __t572 = { let __t569 = { let __t568 = { let __t567 = { let __t566 = v_V5733.clone(); rt::tl(&__t566)? }; rt::hd(&__t567)? }; rt::hd(&__t568)? }; let __t570 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t569, &__t570) }; Value::bool(rt::is_truthy(interp, &__t572)?) } }; Value::bool(rt::is_truthy(interp, &__t574)?) } }; Value::bool(rt::is_truthy(interp, &__t576)?) } }; Value::bool(rt::is_truthy(interp, &__t578)?) } }; Value::bool(rt::is_truthy(interp, &__t580)?) } }; Value::bool(rt::is_truthy(interp, &__t582)?) } }; Value::bool(rt::is_truthy(interp, &__t584)?) } @@ -2138,7 +2138,7 @@ pub fn aot_cl_x2e_optimise_x2d_application( let __t588 = { let __t587 = { let __t586 = { - let __t585 = v_V5692.clone(); + let __t585 = v_V5733.clone(); rt::tl(&__t585)? }; rt::hd(&__t586)? @@ -2153,12 +2153,12 @@ pub fn aot_cl_x2e_optimise_x2d_application( { let __t542 = { let __t537 = { - let __t517 = v_V5692.clone(); + let __t517 = v_V5733.clone(); rt::is_cons(&__t517) }; - if !rt::is_truthy(interp, &__t537)? { Value::bool(false) } else { let __t538 = { let __t535 = { let __t518 = Value::sym(interp.intern("map")); let __t520 = { let __t519 = v_V5692.clone(); rt::hd(&__t519)? }; rt::eq(&__t518, &__t520) }; if !rt::is_truthy(interp, &__t535)? { Value::bool(false) } else { let __t536 = { let __t533 = { let __t522 = { let __t521 = v_V5692.clone(); rt::tl(&__t521)? }; rt::is_cons(&__t522) }; if !rt::is_truthy(interp, &__t533)? { Value::bool(false) } else { let __t534 = { let __t531 = { let __t525 = { let __t524 = { let __t523 = v_V5692.clone(); rt::tl(&__t523)? }; rt::tl(&__t524)? }; rt::is_cons(&__t525) }; if !rt::is_truthy(interp, &__t531)? { Value::bool(false) } else { let __t532 = { let __t526 = Value::nil(); let __t530 = { let __t529 = { let __t528 = { let __t527 = v_V5692.clone(); rt::tl(&__t527)? }; rt::tl(&__t528)? }; rt::tl(&__t529)? }; rt::eq(&__t526, &__t530) }; Value::bool(rt::is_truthy(interp, &__t532)?) } }; Value::bool(rt::is_truthy(interp, &__t534)?) } }; Value::bool(rt::is_truthy(interp, &__t536)?) } }; Value::bool(rt::is_truthy(interp, &__t538)?) } + if !rt::is_truthy(interp, &__t537)? { Value::bool(false) } else { let __t538 = { let __t535 = { let __t518 = Value::sym(interp.intern("map")); let __t520 = { let __t519 = v_V5733.clone(); rt::hd(&__t519)? }; rt::eq(&__t518, &__t520) }; if !rt::is_truthy(interp, &__t535)? { Value::bool(false) } else { let __t536 = { let __t533 = { let __t522 = { let __t521 = v_V5733.clone(); rt::tl(&__t521)? }; rt::is_cons(&__t522) }; if !rt::is_truthy(interp, &__t533)? { Value::bool(false) } else { let __t534 = { let __t531 = { let __t525 = { let __t524 = { let __t523 = v_V5733.clone(); rt::tl(&__t523)? }; rt::tl(&__t524)? }; rt::is_cons(&__t525) }; if !rt::is_truthy(interp, &__t531)? { Value::bool(false) } else { let __t532 = { let __t526 = Value::nil(); let __t530 = { let __t529 = { let __t528 = { let __t527 = v_V5733.clone(); rt::tl(&__t527)? }; rt::tl(&__t528)? }; rt::tl(&__t529)? }; rt::eq(&__t526, &__t530) }; Value::bool(rt::is_truthy(interp, &__t532)?) } }; Value::bool(rt::is_truthy(interp, &__t534)?) } }; Value::bool(rt::is_truthy(interp, &__t536)?) } }; Value::bool(rt::is_truthy(interp, &__t538)?) } }; - if match rt::is_truthy(interp, &__t542) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t539 = Value::sym(interp.intern("CL.MAPCAR")); let __t541 = { let __t540 = v_V5692.clone(); rt::tl(&__t540)? }; rt::cons(&__t539, &__t541) }); } else { { let __t516 = { let __t505 = { let __t479 = v_V5692.clone(); rt::is_cons(&__t479) }; if !rt::is_truthy(interp, &__t505)? { Value::bool(false) } else { let __t506 = { let __t503 = { let __t480 = Value::sym(interp.intern("+")); let __t482 = { let __t481 = v_V5692.clone(); rt::hd(&__t481)? }; rt::eq(&__t480, &__t482) }; if !rt::is_truthy(interp, &__t503)? { Value::bool(false) } else { let __t504 = { let __t501 = { let __t484 = { let __t483 = v_V5692.clone(); rt::tl(&__t483)? }; rt::is_cons(&__t484) }; if !rt::is_truthy(interp, &__t501)? { Value::bool(false) } else { let __t502 = { let __t499 = { let __t485 = Value::int(1i64); let __t488 = { let __t487 = { let __t486 = v_V5692.clone(); rt::tl(&__t486)? }; rt::hd(&__t487)? }; rt::eq(&__t485, &__t488) }; if !rt::is_truthy(interp, &__t499)? { Value::bool(false) } else { let __t500 = { let __t497 = { let __t491 = { let __t490 = { let __t489 = v_V5692.clone(); rt::tl(&__t489)? }; rt::tl(&__t490)? }; rt::is_cons(&__t491) }; if !rt::is_truthy(interp, &__t497)? { Value::bool(false) } else { let __t498 = { let __t492 = Value::nil(); let __t496 = { let __t495 = { let __t494 = { let __t493 = v_V5692.clone(); rt::tl(&__t493)? }; rt::tl(&__t494)? }; rt::tl(&__t495)? }; rt::eq(&__t492, &__t496) }; Value::bool(rt::is_truthy(interp, &__t498)?) } }; Value::bool(rt::is_truthy(interp, &__t500)?) } }; Value::bool(rt::is_truthy(interp, &__t502)?) } }; Value::bool(rt::is_truthy(interp, &__t504)?) } }; Value::bool(rt::is_truthy(interp, &__t506)?) } }; if match rt::is_truthy(interp, &__t516) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t508 = { let __t507 = Value::str("1+"); rt::apply_direct(interp, "intern", &[__t507])? }; let __t515 = { let __t513 = { let __t512 = { let __t511 = { let __t510 = { let __t509 = v_V5692.clone(); rt::tl(&__t509)? }; rt::tl(&__t510)? }; rt::hd(&__t511)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t512])? }; let __t514 = Value::nil(); rt::cons(&__t513, &__t514) }; rt::cons(&__t508, &__t515) }); } else { { let __t478 = { let __t468 = { let __t441 = v_V5692.clone(); rt::is_cons(&__t441) }; if !rt::is_truthy(interp, &__t468)? { Value::bool(false) } else { let __t469 = { let __t466 = { let __t442 = Value::sym(interp.intern("+")); let __t444 = { let __t443 = v_V5692.clone(); rt::hd(&__t443)? }; rt::eq(&__t442, &__t444) }; if !rt::is_truthy(interp, &__t466)? { Value::bool(false) } else { let __t467 = { let __t464 = { let __t446 = { let __t445 = v_V5692.clone(); rt::tl(&__t445)? }; rt::is_cons(&__t446) }; if !rt::is_truthy(interp, &__t464)? { Value::bool(false) } else { let __t465 = { let __t462 = { let __t449 = { let __t448 = { let __t447 = v_V5692.clone(); rt::tl(&__t447)? }; rt::tl(&__t448)? }; rt::is_cons(&__t449) }; if !rt::is_truthy(interp, &__t462)? { Value::bool(false) } else { let __t463 = { let __t460 = { let __t450 = Value::int(1i64); let __t454 = { let __t453 = { let __t452 = { let __t451 = v_V5692.clone(); rt::tl(&__t451)? }; rt::tl(&__t452)? }; rt::hd(&__t453)? }; rt::eq(&__t450, &__t454) }; if !rt::is_truthy(interp, &__t460)? { Value::bool(false) } else { let __t461 = { let __t455 = Value::nil(); let __t459 = { let __t458 = { let __t457 = { let __t456 = v_V5692.clone(); rt::tl(&__t456)? }; rt::tl(&__t457)? }; rt::tl(&__t458)? }; rt::eq(&__t455, &__t459) }; Value::bool(rt::is_truthy(interp, &__t461)?) } }; Value::bool(rt::is_truthy(interp, &__t463)?) } }; Value::bool(rt::is_truthy(interp, &__t465)?) } }; Value::bool(rt::is_truthy(interp, &__t467)?) } }; Value::bool(rt::is_truthy(interp, &__t469)?) } }; if match rt::is_truthy(interp, &__t478) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t471 = { let __t470 = Value::str("1+"); rt::apply_direct(interp, "intern", &[__t470])? }; let __t477 = { let __t475 = { let __t474 = { let __t473 = { let __t472 = v_V5692.clone(); rt::tl(&__t472)? }; rt::hd(&__t473)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t474])? }; let __t476 = Value::nil(); rt::cons(&__t475, &__t476) }; rt::cons(&__t471, &__t477) }); } else { { let __t440 = { let __t430 = { let __t403 = v_V5692.clone(); rt::is_cons(&__t403) }; if !rt::is_truthy(interp, &__t430)? { Value::bool(false) } else { let __t431 = { let __t428 = { let __t404 = Value::sym(interp.intern("-")); let __t406 = { let __t405 = v_V5692.clone(); rt::hd(&__t405)? }; rt::eq(&__t404, &__t406) }; if !rt::is_truthy(interp, &__t428)? { Value::bool(false) } else { let __t429 = { let __t426 = { let __t408 = { let __t407 = v_V5692.clone(); rt::tl(&__t407)? }; rt::is_cons(&__t408) }; if !rt::is_truthy(interp, &__t426)? { Value::bool(false) } else { let __t427 = { let __t424 = { let __t411 = { let __t410 = { let __t409 = v_V5692.clone(); rt::tl(&__t409)? }; rt::tl(&__t410)? }; rt::is_cons(&__t411) }; if !rt::is_truthy(interp, &__t424)? { Value::bool(false) } else { let __t425 = { let __t422 = { let __t412 = Value::int(1i64); let __t416 = { let __t415 = { let __t414 = { let __t413 = v_V5692.clone(); rt::tl(&__t413)? }; rt::tl(&__t414)? }; rt::hd(&__t415)? }; rt::eq(&__t412, &__t416) }; if !rt::is_truthy(interp, &__t422)? { Value::bool(false) } else { let __t423 = { let __t417 = Value::nil(); let __t421 = { let __t420 = { let __t419 = { let __t418 = v_V5692.clone(); rt::tl(&__t418)? }; rt::tl(&__t419)? }; rt::tl(&__t420)? }; rt::eq(&__t417, &__t421) }; Value::bool(rt::is_truthy(interp, &__t423)?) } }; Value::bool(rt::is_truthy(interp, &__t425)?) } }; Value::bool(rt::is_truthy(interp, &__t427)?) } }; Value::bool(rt::is_truthy(interp, &__t429)?) } }; Value::bool(rt::is_truthy(interp, &__t431)?) } }; if match rt::is_truthy(interp, &__t440) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t433 = { let __t432 = Value::str("1-"); rt::apply_direct(interp, "intern", &[__t432])? }; let __t439 = { let __t437 = { let __t436 = { let __t435 = { let __t434 = v_V5692.clone(); rt::tl(&__t434)? }; rt::hd(&__t435)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t436])? }; let __t438 = Value::nil(); rt::cons(&__t437, &__t438) }; rt::cons(&__t433, &__t439) }); } else { { let __t402 = { let __t398 = v_V5692.clone(); rt::is_cons(&__t398) }; if match rt::is_truthy(interp, &__t402) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t400 = { rt::make_aot_closure("", 1, move |interp, args| { let v_Z5693 = args[0].clone(); Ok({ let __t399 = v_Z5693.clone(); rt::apply_direct(interp, "cl.optimise-application", &[__t399])? }) }, Vec::new(), interp) }; let __t401 = v_V5692.clone(); rt::apply_direct(interp, "CL.MAPCAR", &[__t400, __t401])? }); } else { { let __t397 = Value::bool(true); if match rt::is_truthy(interp, &__t397) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5692.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } } + if match rt::is_truthy(interp, &__t542) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t539 = Value::sym(interp.intern("CL.MAPCAR")); let __t541 = { let __t540 = v_V5733.clone(); rt::tl(&__t540)? }; rt::cons(&__t539, &__t541) }); } else { { let __t516 = { let __t505 = { let __t479 = v_V5733.clone(); rt::is_cons(&__t479) }; if !rt::is_truthy(interp, &__t505)? { Value::bool(false) } else { let __t506 = { let __t503 = { let __t480 = Value::sym(interp.intern("+")); let __t482 = { let __t481 = v_V5733.clone(); rt::hd(&__t481)? }; rt::eq(&__t480, &__t482) }; if !rt::is_truthy(interp, &__t503)? { Value::bool(false) } else { let __t504 = { let __t501 = { let __t484 = { let __t483 = v_V5733.clone(); rt::tl(&__t483)? }; rt::is_cons(&__t484) }; if !rt::is_truthy(interp, &__t501)? { Value::bool(false) } else { let __t502 = { let __t499 = { let __t485 = Value::int(1i64); let __t488 = { let __t487 = { let __t486 = v_V5733.clone(); rt::tl(&__t486)? }; rt::hd(&__t487)? }; rt::eq(&__t485, &__t488) }; if !rt::is_truthy(interp, &__t499)? { Value::bool(false) } else { let __t500 = { let __t497 = { let __t491 = { let __t490 = { let __t489 = v_V5733.clone(); rt::tl(&__t489)? }; rt::tl(&__t490)? }; rt::is_cons(&__t491) }; if !rt::is_truthy(interp, &__t497)? { Value::bool(false) } else { let __t498 = { let __t492 = Value::nil(); let __t496 = { let __t495 = { let __t494 = { let __t493 = v_V5733.clone(); rt::tl(&__t493)? }; rt::tl(&__t494)? }; rt::tl(&__t495)? }; rt::eq(&__t492, &__t496) }; Value::bool(rt::is_truthy(interp, &__t498)?) } }; Value::bool(rt::is_truthy(interp, &__t500)?) } }; Value::bool(rt::is_truthy(interp, &__t502)?) } }; Value::bool(rt::is_truthy(interp, &__t504)?) } }; Value::bool(rt::is_truthy(interp, &__t506)?) } }; if match rt::is_truthy(interp, &__t516) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t508 = { let __t507 = Value::str("1+"); rt::apply_direct(interp, "intern", &[__t507])? }; let __t515 = { let __t513 = { let __t512 = { let __t511 = { let __t510 = { let __t509 = v_V5733.clone(); rt::tl(&__t509)? }; rt::tl(&__t510)? }; rt::hd(&__t511)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t512])? }; let __t514 = Value::nil(); rt::cons(&__t513, &__t514) }; rt::cons(&__t508, &__t515) }); } else { { let __t478 = { let __t468 = { let __t441 = v_V5733.clone(); rt::is_cons(&__t441) }; if !rt::is_truthy(interp, &__t468)? { Value::bool(false) } else { let __t469 = { let __t466 = { let __t442 = Value::sym(interp.intern("+")); let __t444 = { let __t443 = v_V5733.clone(); rt::hd(&__t443)? }; rt::eq(&__t442, &__t444) }; if !rt::is_truthy(interp, &__t466)? { Value::bool(false) } else { let __t467 = { let __t464 = { let __t446 = { let __t445 = v_V5733.clone(); rt::tl(&__t445)? }; rt::is_cons(&__t446) }; if !rt::is_truthy(interp, &__t464)? { Value::bool(false) } else { let __t465 = { let __t462 = { let __t449 = { let __t448 = { let __t447 = v_V5733.clone(); rt::tl(&__t447)? }; rt::tl(&__t448)? }; rt::is_cons(&__t449) }; if !rt::is_truthy(interp, &__t462)? { Value::bool(false) } else { let __t463 = { let __t460 = { let __t450 = Value::int(1i64); let __t454 = { let __t453 = { let __t452 = { let __t451 = v_V5733.clone(); rt::tl(&__t451)? }; rt::tl(&__t452)? }; rt::hd(&__t453)? }; rt::eq(&__t450, &__t454) }; if !rt::is_truthy(interp, &__t460)? { Value::bool(false) } else { let __t461 = { let __t455 = Value::nil(); let __t459 = { let __t458 = { let __t457 = { let __t456 = v_V5733.clone(); rt::tl(&__t456)? }; rt::tl(&__t457)? }; rt::tl(&__t458)? }; rt::eq(&__t455, &__t459) }; Value::bool(rt::is_truthy(interp, &__t461)?) } }; Value::bool(rt::is_truthy(interp, &__t463)?) } }; Value::bool(rt::is_truthy(interp, &__t465)?) } }; Value::bool(rt::is_truthy(interp, &__t467)?) } }; Value::bool(rt::is_truthy(interp, &__t469)?) } }; if match rt::is_truthy(interp, &__t478) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t471 = { let __t470 = Value::str("1+"); rt::apply_direct(interp, "intern", &[__t470])? }; let __t477 = { let __t475 = { let __t474 = { let __t473 = { let __t472 = v_V5733.clone(); rt::tl(&__t472)? }; rt::hd(&__t473)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t474])? }; let __t476 = Value::nil(); rt::cons(&__t475, &__t476) }; rt::cons(&__t471, &__t477) }); } else { { let __t440 = { let __t430 = { let __t403 = v_V5733.clone(); rt::is_cons(&__t403) }; if !rt::is_truthy(interp, &__t430)? { Value::bool(false) } else { let __t431 = { let __t428 = { let __t404 = Value::sym(interp.intern("-")); let __t406 = { let __t405 = v_V5733.clone(); rt::hd(&__t405)? }; rt::eq(&__t404, &__t406) }; if !rt::is_truthy(interp, &__t428)? { Value::bool(false) } else { let __t429 = { let __t426 = { let __t408 = { let __t407 = v_V5733.clone(); rt::tl(&__t407)? }; rt::is_cons(&__t408) }; if !rt::is_truthy(interp, &__t426)? { Value::bool(false) } else { let __t427 = { let __t424 = { let __t411 = { let __t410 = { let __t409 = v_V5733.clone(); rt::tl(&__t409)? }; rt::tl(&__t410)? }; rt::is_cons(&__t411) }; if !rt::is_truthy(interp, &__t424)? { Value::bool(false) } else { let __t425 = { let __t422 = { let __t412 = Value::int(1i64); let __t416 = { let __t415 = { let __t414 = { let __t413 = v_V5733.clone(); rt::tl(&__t413)? }; rt::tl(&__t414)? }; rt::hd(&__t415)? }; rt::eq(&__t412, &__t416) }; if !rt::is_truthy(interp, &__t422)? { Value::bool(false) } else { let __t423 = { let __t417 = Value::nil(); let __t421 = { let __t420 = { let __t419 = { let __t418 = v_V5733.clone(); rt::tl(&__t418)? }; rt::tl(&__t419)? }; rt::tl(&__t420)? }; rt::eq(&__t417, &__t421) }; Value::bool(rt::is_truthy(interp, &__t423)?) } }; Value::bool(rt::is_truthy(interp, &__t425)?) } }; Value::bool(rt::is_truthy(interp, &__t427)?) } }; Value::bool(rt::is_truthy(interp, &__t429)?) } }; Value::bool(rt::is_truthy(interp, &__t431)?) } }; if match rt::is_truthy(interp, &__t440) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t433 = { let __t432 = Value::str("1-"); rt::apply_direct(interp, "intern", &[__t432])? }; let __t439 = { let __t437 = { let __t436 = { let __t435 = { let __t434 = v_V5733.clone(); rt::tl(&__t434)? }; rt::hd(&__t435)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t436])? }; let __t438 = Value::nil(); rt::cons(&__t437, &__t438) }; rt::cons(&__t433, &__t439) }); } else { { let __t402 = { let __t398 = v_V5733.clone(); rt::is_cons(&__t398) }; if match rt::is_truthy(interp, &__t402) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t400 = { rt::make_aot_closure("", 1, move |interp, args| { let v_Z5734 = args[0].clone(); Ok({ let __t399 = v_Z5734.clone(); rt::apply_direct(interp, "cl.optimise-application", &[__t399])? }) }, Vec::new(), interp) }; let __t401 = v_V5733.clone(); rt::apply_direct(interp, "CL.MAPCAR", &[__t400, __t401])? }); } else { { let __t397 = Value::bool(true); if match rt::is_truthy(interp, &__t397) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5733.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } } } } } @@ -2202,15 +2202,15 @@ pub fn aot_cl_x2e_cond_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V5698 = args[0].clone(); + let mut v_V5739 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5699 = args[1].clone(); + let mut v_V5740 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t853 = { let __t839 = { - let __t830 = v_V5699.clone(); + let __t830 = v_V5740.clone(); rt::is_cons(&__t830) }; if !rt::is_truthy(interp, &__t839)? { @@ -2219,7 +2219,7 @@ pub fn aot_cl_x2e_cond_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResu let __t840 = { let __t837 = { let __t832 = { - let __t831 = v_V5699.clone(); + let __t831 = v_V5740.clone(); rt::tl(&__t831)? }; rt::is_cons(&__t832) @@ -2231,7 +2231,7 @@ pub fn aot_cl_x2e_cond_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResu let __t833 = Value::nil(); let __t836 = { let __t835 = { - let __t834 = v_V5699.clone(); + let __t834 = v_V5740.clone(); rt::tl(&__t834)? }; rt::tl(&__t835)? @@ -2249,11 +2249,11 @@ pub fn aot_cl_x2e_cond_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W5700 = { + let v_W5741 = { let __t844 = { - let __t841 = v_V5698.clone(); + let __t841 = v_V5739.clone(); let __t843 = { - let __t842 = v_V5699.clone(); + let __t842 = v_V5740.clone(); rt::hd(&__t842)? }; rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t841, __t843])? @@ -2261,11 +2261,11 @@ pub fn aot_cl_x2e_cond_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResu rt::apply_direct(interp, "cl.wrap", &[__t844])? }; { - let v_W5701 = { - let __t845 = v_V5698.clone(); + let v_W5742 = { + let __t845 = v_V5739.clone(); let __t848 = { let __t847 = { - let __t846 = v_V5699.clone(); + let __t846 = v_V5740.clone(); rt::tl(&__t846)? }; rt::hd(&__t847)? @@ -2273,9 +2273,9 @@ pub fn aot_cl_x2e_cond_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResu rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t845, __t848])? }; break Ok({ - let __t849 = v_W5700.clone(); + let __t849 = v_W5741.clone(); let __t852 = { - let __t850 = v_W5701.clone(); + let __t850 = v_W5742.clone(); let __t851 = Value::nil(); rt::cons(&__t850, &__t851) }; @@ -2317,13 +2317,13 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V5702 = args[0].clone(); + let mut v_V5743 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1598 = { let __t1596 = { - let __t1576 = v_V5702.clone(); + let __t1576 = v_V5743.clone(); rt::is_cons(&__t1576) }; if !rt::is_truthy(interp, &__t1596)? { @@ -2332,7 +2332,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1597 = { let __t1594 = { let __t1578 = { - let __t1577 = v_V5702.clone(); + let __t1577 = v_V5743.clone(); rt::tl(&__t1577)? }; rt::is_cons(&__t1578) @@ -2345,7 +2345,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1579 = Value::bool(true); let __t1582 = { let __t1581 = { - let __t1580 = v_V5702.clone(); + let __t1580 = v_V5743.clone(); rt::tl(&__t1580)? }; rt::hd(&__t1581)? @@ -2360,7 +2360,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1583 = Value::nil(); let __t1586 = { let __t1585 = { - let __t1584 = v_V5702.clone(); + let __t1584 = v_V5743.clone(); rt::tl(&__t1584)? }; rt::tl(&__t1585)? @@ -2372,7 +2372,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t1591 = { let __t1588 = { - let __t1587 = v_V5702.clone(); + let __t1587 = v_V5743.clone(); rt::hd(&__t1587)? }; let __t1589 = Value::sym(interp.intern("QUOTE")); @@ -2399,7 +2399,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t1575 = { let __t1570 = { - let __t1556 = v_V5702.clone(); + let __t1556 = v_V5743.clone(); rt::is_cons(&__t1556) }; if !rt::is_truthy(interp, &__t1570)? { @@ -2409,7 +2409,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1568 = { let __t1557 = Value::sym(interp.intern("cons?")); let __t1559 = { - let __t1558 = v_V5702.clone(); + let __t1558 = v_V5743.clone(); rt::hd(&__t1558)? }; rt::eq(&__t1557, &__t1559) @@ -2420,7 +2420,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1569 = { let __t1566 = { let __t1561 = { - let __t1560 = v_V5702.clone(); + let __t1560 = v_V5743.clone(); rt::tl(&__t1560)? }; rt::is_cons(&__t1561) @@ -2432,7 +2432,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1562 = Value::nil(); let __t1565 = { let __t1564 = { - let __t1563 = v_V5702.clone(); + let __t1563 = v_V5743.clone(); rt::tl(&__t1563)? }; rt::tl(&__t1564)? @@ -2455,7 +2455,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok({ let __t1572 = Value::sym(interp.intern("CONSP")); let __t1574 = { - let __t1573 = v_V5702.clone(); + let __t1573 = v_V5743.clone(); rt::tl(&__t1573)? }; rt::cons(&__t1572, &__t1574) @@ -2464,7 +2464,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t1555 = { let __t1550 = { - let __t1536 = v_V5702.clone(); + let __t1536 = v_V5743.clone(); rt::is_cons(&__t1536) }; if !rt::is_truthy(interp, &__t1550)? { @@ -2474,7 +2474,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1548 = { let __t1537 = Value::sym(interp.intern("string?")); let __t1539 = { - let __t1538 = v_V5702.clone(); + let __t1538 = v_V5743.clone(); rt::hd(&__t1538)? }; rt::eq(&__t1537, &__t1539) @@ -2485,7 +2485,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1549 = { let __t1546 = { let __t1541 = { - let __t1540 = v_V5702.clone(); + let __t1540 = v_V5743.clone(); rt::tl(&__t1540)? }; rt::is_cons(&__t1541) @@ -2497,7 +2497,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1542 = Value::nil(); let __t1545 = { let __t1544 = { - let __t1543 = v_V5702.clone(); + let __t1543 = v_V5743.clone(); rt::tl(&__t1543)? }; rt::tl(&__t1544)? @@ -2520,7 +2520,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok({ let __t1552 = Value::sym(interp.intern("STRINGP")); let __t1554 = { - let __t1553 = v_V5702.clone(); + let __t1553 = v_V5743.clone(); rt::tl(&__t1553)? }; rt::cons(&__t1552, &__t1554) @@ -2529,7 +2529,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t1535 = { let __t1530 = { - let __t1516 = v_V5702.clone(); + let __t1516 = v_V5743.clone(); rt::is_cons(&__t1516) }; if !rt::is_truthy(interp, &__t1530)? { @@ -2540,7 +2540,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1517 = Value::sym(interp.intern("number?")); let __t1519 = { - let __t1518 = v_V5702.clone(); + let __t1518 = v_V5743.clone(); rt::hd(&__t1518)? }; rt::eq(&__t1517, &__t1519) @@ -2551,7 +2551,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1529 = { let __t1526 = { let __t1521 = { - let __t1520 = v_V5702.clone(); + let __t1520 = v_V5743.clone(); rt::tl(&__t1520)? }; rt::is_cons(&__t1521) @@ -2564,7 +2564,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1525 = { let __t1524 = { let __t1523 = - v_V5702.clone(); + v_V5743.clone(); rt::tl(&__t1523)? }; rt::tl(&__t1524)? @@ -2589,7 +2589,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok({ let __t1532 = Value::sym(interp.intern("NUMBERP")); let __t1534 = { - let __t1533 = v_V5702.clone(); + let __t1533 = v_V5743.clone(); rt::tl(&__t1533)? }; rt::cons(&__t1532, &__t1534) @@ -2598,7 +2598,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t1515 = { let __t1510 = { - let __t1496 = v_V5702.clone(); + let __t1496 = v_V5743.clone(); rt::is_cons(&__t1496) }; if !rt::is_truthy(interp, &__t1510)? { @@ -2609,7 +2609,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1497 = Value::sym(interp.intern("empty?")); let __t1499 = { - let __t1498 = v_V5702.clone(); + let __t1498 = v_V5743.clone(); rt::hd(&__t1498)? }; rt::eq(&__t1497, &__t1499) @@ -2621,7 +2621,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1506 = { let __t1501 = { let __t1500 = - v_V5702.clone(); + v_V5743.clone(); rt::tl(&__t1500)? }; rt::is_cons(&__t1501) @@ -2635,7 +2635,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1505 = { let __t1504 = { let __t1503 = - v_V5702.clone(); + v_V5743.clone(); rt::tl(&__t1503)? }; rt::tl(&__t1504)? @@ -2662,7 +2662,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok({ let __t1512 = Value::sym(interp.intern("NULL")); let __t1514 = { - let __t1513 = v_V5702.clone(); + let __t1513 = v_V5743.clone(); rt::tl(&__t1513)? }; rt::cons(&__t1512, &__t1514) @@ -2671,7 +2671,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t1495 = { let __t1480 = { - let __t1460 = v_V5702.clone(); + let __t1460 = v_V5743.clone(); rt::is_cons(&__t1460) }; if !rt::is_truthy(interp, &__t1480)? { @@ -2684,7 +2684,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult ); let __t1463 = { let __t1462 = - v_V5702.clone(); + v_V5743.clone(); rt::hd(&__t1462)? }; rt::eq(&__t1461, &__t1463) @@ -2697,7 +2697,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1476 = { let __t1465 = { let __t1464 = - v_V5702.clone(); + v_V5743.clone(); rt::tl(&__t1464)? }; rt::is_cons(&__t1465) @@ -2711,7 +2711,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1474 = { let __t1468 = { let __t1467 = { - let __t1466 = v_V5702.clone(); + let __t1466 = v_V5743.clone(); rt::tl(&__t1466)? }; rt::tl(&__t1467)? @@ -2732,7 +2732,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1469 = Value::nil(); let __t1473 = { let __t1472 = { - let __t1471 = { let __t1470 = v_V5702.clone(); rt::tl(&__t1470)? }; + let __t1471 = { let __t1470 = v_V5743.clone(); rt::tl(&__t1470)? }; rt::tl(&__t1471)? }; rt::tl(&__t1472)? @@ -2772,7 +2772,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1485 = { let __t1484 = { let __t1483 = - v_V5702.clone(); + v_V5743.clone(); rt::tl(&__t1483)? }; rt::hd(&__t1484)? @@ -2789,7 +2789,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1489 = { let __t1488 = { let __t1487 = - v_V5702 + v_V5743 .clone( ); rt::tl( @@ -2817,7 +2817,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t1459 = { let __t1444 = { - let __t1424 = v_V5702.clone(); + let __t1424 = v_V5743.clone(); rt::is_cons(&__t1424) }; if !rt::is_truthy(interp, &__t1444)? @@ -2834,7 +2834,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult ); let __t1427 = { let __t1426 = - v_V5702.clone(); + v_V5743.clone(); rt::hd(&__t1426)? }; rt::eq( @@ -2849,7 +2849,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1443 = { let __t1440 = { let __t1429 = { - let __t1428 = v_V5702.clone(); + let __t1428 = v_V5743.clone(); rt::tl(&__t1428)? }; rt::is_cons( @@ -2867,12 +2867,12 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1441 = { let __t1438 = { let __t1432 = { - let __t1431 = { let __t1430 = v_V5702.clone(); rt::tl(&__t1430)? }; + let __t1431 = { let __t1430 = v_V5743.clone(); rt::tl(&__t1430)? }; rt::tl(&__t1431)? }; rt::is_cons(&__t1432) }; - if !rt::is_truthy(interp, &__t1438)? { Value::bool(false) } else { let __t1439 = { let __t1433 = Value::nil(); let __t1437 = { let __t1436 = { let __t1435 = { let __t1434 = v_V5702.clone(); rt::tl(&__t1434)? }; rt::tl(&__t1435)? }; rt::tl(&__t1436)? }; rt::eq(&__t1433, &__t1437) }; Value::bool(rt::is_truthy(interp, &__t1439)?) } + if !rt::is_truthy(interp, &__t1438)? { Value::bool(false) } else { let __t1439 = { let __t1433 = Value::nil(); let __t1437 = { let __t1436 = { let __t1435 = { let __t1434 = v_V5743.clone(); rt::tl(&__t1434)? }; rt::tl(&__t1435)? }; rt::tl(&__t1436)? }; rt::eq(&__t1433, &__t1437) }; Value::bool(rt::is_truthy(interp, &__t1439)?) } }; Value::bool(rt::is_truthy(interp, &__t1441)?) } @@ -2904,7 +2904,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1449 = { let __t1448 = { let __t1447 = - v_V5702 + v_V5743 .clone( ); rt::tl( @@ -2924,7 +2924,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1454 = { let __t1453 = { let __t1452 = { - let __t1451 = v_V5702.clone(); + let __t1451 = v_V5743.clone(); rt::tl(&__t1451)? }; rt::tl(&__t1452)? @@ -2954,7 +2954,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1423 = { let __t1414 = { let __t1400 = - v_V5702.clone(); + v_V5743.clone(); rt::is_cons(&__t1400) }; if !rt::is_truthy( @@ -2966,7 +2966,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1412 = { let __t1401 = Value::sym(interp.intern("not")); let __t1403 = { - let __t1402 = v_V5702.clone(); + let __t1402 = v_V5743.clone(); rt::hd(&__t1402)? }; rt::eq( @@ -2985,12 +2985,12 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1413 = { let __t1410 = { let __t1405 = { - let __t1404 = v_V5702.clone(); + let __t1404 = v_V5743.clone(); rt::tl(&__t1404)? }; rt::is_cons(&__t1405) }; - if !rt::is_truthy(interp, &__t1410)? { Value::bool(false) } else { let __t1411 = { let __t1406 = Value::nil(); let __t1409 = { let __t1408 = { let __t1407 = v_V5702.clone(); rt::tl(&__t1407)? }; rt::tl(&__t1408)? }; rt::eq(&__t1406, &__t1409) }; Value::bool(rt::is_truthy(interp, &__t1411)?) } + if !rt::is_truthy(interp, &__t1410)? { Value::bool(false) } else { let __t1411 = { let __t1406 = Value::nil(); let __t1409 = { let __t1408 = { let __t1407 = v_V5743.clone(); rt::tl(&__t1407)? }; rt::tl(&__t1408)? }; rt::eq(&__t1406, &__t1409) }; Value::bool(rt::is_truthy(interp, &__t1411)?) } }; Value::bool(rt::is_truthy(interp, &__t1413)?) } @@ -3020,7 +3020,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1420 = { let __t1419 = { let __t1418 = { - let __t1417 = v_V5702.clone(); + let __t1417 = v_V5743.clone(); rt::tl(&__t1417)? }; rt::hd(&__t1418)? @@ -3043,7 +3043,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1399 = { let __t1391 = { let __t1364 = - v_V5702 + v_V5743 .clone( ); rt::is_cons( @@ -3062,12 +3062,12 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1389 = { let __t1365 = Value::sym(interp.intern("cl.equal?")); let __t1367 = { - let __t1366 = v_V5702.clone(); + let __t1366 = v_V5743.clone(); rt::hd(&__t1366)? }; rt::eq(&__t1365, &__t1367) }; - if !rt::is_truthy(interp, &__t1389)? { Value::bool(false) } else { let __t1390 = { let __t1387 = { let __t1369 = { let __t1368 = v_V5702.clone(); rt::tl(&__t1368)? }; rt::is_cons(&__t1369) }; if !rt::is_truthy(interp, &__t1387)? { Value::bool(false) } else { let __t1388 = { let __t1385 = { let __t1372 = { let __t1371 = { let __t1370 = v_V5702.clone(); rt::tl(&__t1370)? }; rt::tl(&__t1371)? }; rt::is_cons(&__t1372) }; if !rt::is_truthy(interp, &__t1385)? { Value::bool(false) } else { let __t1386 = { let __t1383 = { let __t1373 = Value::nil(); let __t1377 = { let __t1376 = { let __t1375 = { let __t1374 = v_V5702.clone(); rt::tl(&__t1374)? }; rt::tl(&__t1375)? }; rt::hd(&__t1376)? }; rt::eq(&__t1373, &__t1377) }; if !rt::is_truthy(interp, &__t1383)? { Value::bool(false) } else { let __t1384 = { let __t1378 = Value::nil(); let __t1382 = { let __t1381 = { let __t1380 = { let __t1379 = v_V5702.clone(); rt::tl(&__t1379)? }; rt::tl(&__t1380)? }; rt::tl(&__t1381)? }; rt::eq(&__t1378, &__t1382) }; Value::bool(rt::is_truthy(interp, &__t1384)?) } }; Value::bool(rt::is_truthy(interp, &__t1386)?) } }; Value::bool(rt::is_truthy(interp, &__t1388)?) } }; Value::bool(rt::is_truthy(interp, &__t1390)?) } + if !rt::is_truthy(interp, &__t1389)? { Value::bool(false) } else { let __t1390 = { let __t1387 = { let __t1369 = { let __t1368 = v_V5743.clone(); rt::tl(&__t1368)? }; rt::is_cons(&__t1369) }; if !rt::is_truthy(interp, &__t1387)? { Value::bool(false) } else { let __t1388 = { let __t1385 = { let __t1372 = { let __t1371 = { let __t1370 = v_V5743.clone(); rt::tl(&__t1370)? }; rt::tl(&__t1371)? }; rt::is_cons(&__t1372) }; if !rt::is_truthy(interp, &__t1385)? { Value::bool(false) } else { let __t1386 = { let __t1383 = { let __t1373 = Value::nil(); let __t1377 = { let __t1376 = { let __t1375 = { let __t1374 = v_V5743.clone(); rt::tl(&__t1374)? }; rt::tl(&__t1375)? }; rt::hd(&__t1376)? }; rt::eq(&__t1373, &__t1377) }; if !rt::is_truthy(interp, &__t1383)? { Value::bool(false) } else { let __t1384 = { let __t1378 = Value::nil(); let __t1382 = { let __t1381 = { let __t1380 = { let __t1379 = v_V5743.clone(); rt::tl(&__t1379)? }; rt::tl(&__t1380)? }; rt::tl(&__t1381)? }; rt::eq(&__t1378, &__t1382) }; Value::bool(rt::is_truthy(interp, &__t1384)?) } }; Value::bool(rt::is_truthy(interp, &__t1386)?) } }; Value::bool(rt::is_truthy(interp, &__t1388)?) } }; Value::bool(rt::is_truthy(interp, &__t1390)?) } }; Value::bool(rt::is_truthy(interp, &__t1392)?) } @@ -3085,7 +3085,7 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1398 = { let __t1396 = { let __t1395 = { - let __t1394 = v_V5702.clone(); + let __t1394 = v_V5743.clone(); rt::tl(&__t1394)? }; rt::hd(&__t1395)? @@ -3102,12 +3102,12 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t1363 = { let __t1357 = { - let __t1331 = v_V5702.clone(); + let __t1331 = v_V5743.clone(); rt::is_cons(&__t1331) }; - if !rt::is_truthy(interp, &__t1357)? { Value::bool(false) } else { let __t1358 = { let __t1355 = { let __t1332 = Value::sym(interp.intern("cl.equal?")); let __t1334 = { let __t1333 = v_V5702.clone(); rt::hd(&__t1333)? }; rt::eq(&__t1332, &__t1334) }; if !rt::is_truthy(interp, &__t1355)? { Value::bool(false) } else { let __t1356 = { let __t1353 = { let __t1336 = { let __t1335 = v_V5702.clone(); rt::tl(&__t1335)? }; rt::is_cons(&__t1336) }; if !rt::is_truthy(interp, &__t1353)? { Value::bool(false) } else { let __t1354 = { let __t1351 = { let __t1337 = Value::nil(); let __t1340 = { let __t1339 = { let __t1338 = v_V5702.clone(); rt::tl(&__t1338)? }; rt::hd(&__t1339)? }; rt::eq(&__t1337, &__t1340) }; if !rt::is_truthy(interp, &__t1351)? { Value::bool(false) } else { let __t1352 = { let __t1349 = { let __t1343 = { let __t1342 = { let __t1341 = v_V5702.clone(); rt::tl(&__t1341)? }; rt::tl(&__t1342)? }; rt::is_cons(&__t1343) }; if !rt::is_truthy(interp, &__t1349)? { Value::bool(false) } else { let __t1350 = { let __t1344 = Value::nil(); let __t1348 = { let __t1347 = { let __t1346 = { let __t1345 = v_V5702.clone(); rt::tl(&__t1345)? }; rt::tl(&__t1346)? }; rt::tl(&__t1347)? }; rt::eq(&__t1344, &__t1348) }; Value::bool(rt::is_truthy(interp, &__t1350)?) } }; Value::bool(rt::is_truthy(interp, &__t1352)?) } }; Value::bool(rt::is_truthy(interp, &__t1354)?) } }; Value::bool(rt::is_truthy(interp, &__t1356)?) } }; Value::bool(rt::is_truthy(interp, &__t1358)?) } + if !rt::is_truthy(interp, &__t1357)? { Value::bool(false) } else { let __t1358 = { let __t1355 = { let __t1332 = Value::sym(interp.intern("cl.equal?")); let __t1334 = { let __t1333 = v_V5743.clone(); rt::hd(&__t1333)? }; rt::eq(&__t1332, &__t1334) }; if !rt::is_truthy(interp, &__t1355)? { Value::bool(false) } else { let __t1356 = { let __t1353 = { let __t1336 = { let __t1335 = v_V5743.clone(); rt::tl(&__t1335)? }; rt::is_cons(&__t1336) }; if !rt::is_truthy(interp, &__t1353)? { Value::bool(false) } else { let __t1354 = { let __t1351 = { let __t1337 = Value::nil(); let __t1340 = { let __t1339 = { let __t1338 = v_V5743.clone(); rt::tl(&__t1338)? }; rt::hd(&__t1339)? }; rt::eq(&__t1337, &__t1340) }; if !rt::is_truthy(interp, &__t1351)? { Value::bool(false) } else { let __t1352 = { let __t1349 = { let __t1343 = { let __t1342 = { let __t1341 = v_V5743.clone(); rt::tl(&__t1341)? }; rt::tl(&__t1342)? }; rt::is_cons(&__t1343) }; if !rt::is_truthy(interp, &__t1349)? { Value::bool(false) } else { let __t1350 = { let __t1344 = Value::nil(); let __t1348 = { let __t1347 = { let __t1346 = { let __t1345 = v_V5743.clone(); rt::tl(&__t1345)? }; rt::tl(&__t1346)? }; rt::tl(&__t1347)? }; rt::eq(&__t1344, &__t1348) }; Value::bool(rt::is_truthy(interp, &__t1350)?) } }; Value::bool(rt::is_truthy(interp, &__t1352)?) } }; Value::bool(rt::is_truthy(interp, &__t1354)?) } }; Value::bool(rt::is_truthy(interp, &__t1356)?) } }; Value::bool(rt::is_truthy(interp, &__t1358)?) } }; - if match rt::is_truthy(interp, &__t1363) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1359 = Value::sym(interp.intern("NULL")); let __t1362 = { let __t1361 = { let __t1360 = v_V5702.clone(); rt::tl(&__t1360)? }; rt::tl(&__t1361)? }; rt::cons(&__t1359, &__t1362) }); } else { { let __t1330 = { let __t1325 = { let __t1267 = v_V5702.clone(); rt::is_cons(&__t1267) }; if !rt::is_truthy(interp, &__t1325)? { Value::bool(false) } else { let __t1326 = { let __t1323 = { let __t1268 = Value::sym(interp.intern("cl.equal?")); let __t1270 = { let __t1269 = v_V5702.clone(); rt::hd(&__t1269)? }; rt::eq(&__t1268, &__t1270) }; if !rt::is_truthy(interp, &__t1323)? { Value::bool(false) } else { let __t1324 = { let __t1321 = { let __t1272 = { let __t1271 = v_V5702.clone(); rt::tl(&__t1271)? }; rt::is_cons(&__t1272) }; if !rt::is_truthy(interp, &__t1321)? { Value::bool(false) } else { let __t1322 = { let __t1319 = { let __t1275 = { let __t1274 = { let __t1273 = v_V5702.clone(); rt::tl(&__t1273)? }; rt::tl(&__t1274)? }; rt::is_cons(&__t1275) }; if !rt::is_truthy(interp, &__t1319)? { Value::bool(false) } else { let __t1320 = { let __t1317 = { let __t1279 = { let __t1278 = { let __t1277 = { let __t1276 = v_V5702.clone(); rt::tl(&__t1276)? }; rt::tl(&__t1277)? }; rt::hd(&__t1278)? }; rt::is_cons(&__t1279) }; if !rt::is_truthy(interp, &__t1317)? { Value::bool(false) } else { let __t1318 = { let __t1315 = { let __t1284 = { let __t1283 = { let __t1282 = { let __t1281 = { let __t1280 = v_V5702.clone(); rt::tl(&__t1280)? }; rt::tl(&__t1281)? }; rt::hd(&__t1282)? }; rt::tl(&__t1283)? }; rt::is_cons(&__t1284) }; if !rt::is_truthy(interp, &__t1315)? { Value::bool(false) } else { let __t1316 = { let __t1313 = { let __t1285 = Value::nil(); let __t1291 = { let __t1290 = { let __t1289 = { let __t1288 = { let __t1287 = { let __t1286 = v_V5702.clone(); rt::tl(&__t1286)? }; rt::tl(&__t1287)? }; rt::hd(&__t1288)? }; rt::tl(&__t1289)? }; rt::tl(&__t1290)? }; rt::eq(&__t1285, &__t1291) }; if !rt::is_truthy(interp, &__t1313)? { Value::bool(false) } else { let __t1314 = { let __t1311 = { let __t1292 = Value::nil(); let __t1296 = { let __t1295 = { let __t1294 = { let __t1293 = v_V5702.clone(); rt::tl(&__t1293)? }; rt::tl(&__t1294)? }; rt::tl(&__t1295)? }; rt::eq(&__t1292, &__t1296) }; if !rt::is_truthy(interp, &__t1311)? { Value::bool(false) } else { let __t1312 = { let __t1309 = { let __t1301 = { let __t1300 = { let __t1299 = { let __t1298 = { let __t1297 = v_V5702.clone(); rt::tl(&__t1297)? }; rt::tl(&__t1298)? }; rt::hd(&__t1299)? }; rt::hd(&__t1300)? }; let __t1302 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t1301, &__t1302) }; if !rt::is_truthy(interp, &__t1309)? { Value::bool(false) } else { let __t1310 = { let __t1308 = { let __t1307 = { let __t1306 = { let __t1305 = { let __t1304 = { let __t1303 = v_V5702.clone(); rt::tl(&__t1303)? }; rt::tl(&__t1304)? }; rt::hd(&__t1305)? }; rt::tl(&__t1306)? }; rt::hd(&__t1307)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t1308])? }; Value::bool(rt::is_truthy(interp, &__t1310)?) } }; Value::bool(rt::is_truthy(interp, &__t1312)?) } }; Value::bool(rt::is_truthy(interp, &__t1314)?) } }; Value::bool(rt::is_truthy(interp, &__t1316)?) } }; Value::bool(rt::is_truthy(interp, &__t1318)?) } }; Value::bool(rt::is_truthy(interp, &__t1320)?) } }; Value::bool(rt::is_truthy(interp, &__t1322)?) } }; Value::bool(rt::is_truthy(interp, &__t1324)?) } }; Value::bool(rt::is_truthy(interp, &__t1326)?) } }; if match rt::is_truthy(interp, &__t1330) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1327 = Value::sym(interp.intern("EQ")); let __t1329 = { let __t1328 = v_V5702.clone(); rt::tl(&__t1328)? }; rt::cons(&__t1327, &__t1329) }); } else { { let __t1266 = { let __t1261 = { let __t1208 = v_V5702.clone(); rt::is_cons(&__t1208) }; if !rt::is_truthy(interp, &__t1261)? { Value::bool(false) } else { let __t1262 = { let __t1259 = { let __t1209 = Value::sym(interp.intern("cl.equal?")); let __t1211 = { let __t1210 = v_V5702.clone(); rt::hd(&__t1210)? }; rt::eq(&__t1209, &__t1211) }; if !rt::is_truthy(interp, &__t1259)? { Value::bool(false) } else { let __t1260 = { let __t1257 = { let __t1213 = { let __t1212 = v_V5702.clone(); rt::tl(&__t1212)? }; rt::is_cons(&__t1213) }; if !rt::is_truthy(interp, &__t1257)? { Value::bool(false) } else { let __t1258 = { let __t1255 = { let __t1216 = { let __t1215 = { let __t1214 = v_V5702.clone(); rt::tl(&__t1214)? }; rt::hd(&__t1215)? }; rt::is_cons(&__t1216) }; if !rt::is_truthy(interp, &__t1255)? { Value::bool(false) } else { let __t1256 = { let __t1253 = { let __t1220 = { let __t1219 = { let __t1218 = { let __t1217 = v_V5702.clone(); rt::tl(&__t1217)? }; rt::hd(&__t1218)? }; rt::tl(&__t1219)? }; rt::is_cons(&__t1220) }; if !rt::is_truthy(interp, &__t1253)? { Value::bool(false) } else { let __t1254 = { let __t1251 = { let __t1221 = Value::nil(); let __t1226 = { let __t1225 = { let __t1224 = { let __t1223 = { let __t1222 = v_V5702.clone(); rt::tl(&__t1222)? }; rt::hd(&__t1223)? }; rt::tl(&__t1224)? }; rt::tl(&__t1225)? }; rt::eq(&__t1221, &__t1226) }; if !rt::is_truthy(interp, &__t1251)? { Value::bool(false) } else { let __t1252 = { let __t1249 = { let __t1229 = { let __t1228 = { let __t1227 = v_V5702.clone(); rt::tl(&__t1227)? }; rt::tl(&__t1228)? }; rt::is_cons(&__t1229) }; if !rt::is_truthy(interp, &__t1249)? { Value::bool(false) } else { let __t1250 = { let __t1247 = { let __t1230 = Value::nil(); let __t1234 = { let __t1233 = { let __t1232 = { let __t1231 = v_V5702.clone(); rt::tl(&__t1231)? }; rt::tl(&__t1232)? }; rt::tl(&__t1233)? }; rt::eq(&__t1230, &__t1234) }; if !rt::is_truthy(interp, &__t1247)? { Value::bool(false) } else { let __t1248 = { let __t1245 = { let __t1238 = { let __t1237 = { let __t1236 = { let __t1235 = v_V5702.clone(); rt::tl(&__t1235)? }; rt::hd(&__t1236)? }; rt::hd(&__t1237)? }; let __t1239 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t1238, &__t1239) }; if !rt::is_truthy(interp, &__t1245)? { Value::bool(false) } else { let __t1246 = { let __t1244 = { let __t1243 = { let __t1242 = { let __t1241 = { let __t1240 = v_V5702.clone(); rt::tl(&__t1240)? }; rt::hd(&__t1241)? }; rt::tl(&__t1242)? }; rt::hd(&__t1243)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t1244])? }; Value::bool(rt::is_truthy(interp, &__t1246)?) } }; Value::bool(rt::is_truthy(interp, &__t1248)?) } }; Value::bool(rt::is_truthy(interp, &__t1250)?) } }; Value::bool(rt::is_truthy(interp, &__t1252)?) } }; Value::bool(rt::is_truthy(interp, &__t1254)?) } }; Value::bool(rt::is_truthy(interp, &__t1256)?) } }; Value::bool(rt::is_truthy(interp, &__t1258)?) } }; Value::bool(rt::is_truthy(interp, &__t1260)?) } }; Value::bool(rt::is_truthy(interp, &__t1262)?) } }; if match rt::is_truthy(interp, &__t1266) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1263 = Value::sym(interp.intern("EQ")); let __t1265 = { let __t1264 = v_V5702.clone(); rt::tl(&__t1264)? }; rt::cons(&__t1263, &__t1265) }); } else { { let __t1207 = { let __t1202 = { let __t1163 = v_V5702.clone(); rt::is_cons(&__t1163) }; if !rt::is_truthy(interp, &__t1202)? { Value::bool(false) } else { let __t1203 = { let __t1200 = { let __t1164 = Value::sym(interp.intern("cl.equal?")); let __t1166 = { let __t1165 = v_V5702.clone(); rt::hd(&__t1165)? }; rt::eq(&__t1164, &__t1166) }; if !rt::is_truthy(interp, &__t1200)? { Value::bool(false) } else { let __t1201 = { let __t1198 = { let __t1168 = { let __t1167 = v_V5702.clone(); rt::tl(&__t1167)? }; rt::is_cons(&__t1168) }; if !rt::is_truthy(interp, &__t1198)? { Value::bool(false) } else { let __t1199 = { let __t1196 = { let __t1171 = { let __t1170 = { let __t1169 = v_V5702.clone(); rt::tl(&__t1169)? }; rt::hd(&__t1170)? }; rt::is_cons(&__t1171) }; if !rt::is_truthy(interp, &__t1196)? { Value::bool(false) } else { let __t1197 = { let __t1194 = { let __t1172 = Value::sym(interp.intern("fail")); let __t1176 = { let __t1175 = { let __t1174 = { let __t1173 = v_V5702.clone(); rt::tl(&__t1173)? }; rt::hd(&__t1174)? }; rt::hd(&__t1175)? }; rt::eq(&__t1172, &__t1176) }; if !rt::is_truthy(interp, &__t1194)? { Value::bool(false) } else { let __t1195 = { let __t1192 = { let __t1177 = Value::nil(); let __t1181 = { let __t1180 = { let __t1179 = { let __t1178 = v_V5702.clone(); rt::tl(&__t1178)? }; rt::hd(&__t1179)? }; rt::tl(&__t1180)? }; rt::eq(&__t1177, &__t1181) }; if !rt::is_truthy(interp, &__t1192)? { Value::bool(false) } else { let __t1193 = { let __t1190 = { let __t1184 = { let __t1183 = { let __t1182 = v_V5702.clone(); rt::tl(&__t1182)? }; rt::tl(&__t1183)? }; rt::is_cons(&__t1184) }; if !rt::is_truthy(interp, &__t1190)? { Value::bool(false) } else { let __t1191 = { let __t1185 = Value::nil(); let __t1189 = { let __t1188 = { let __t1187 = { let __t1186 = v_V5702.clone(); rt::tl(&__t1186)? }; rt::tl(&__t1187)? }; rt::tl(&__t1188)? }; rt::eq(&__t1185, &__t1189) }; Value::bool(rt::is_truthy(interp, &__t1191)?) } }; Value::bool(rt::is_truthy(interp, &__t1193)?) } }; Value::bool(rt::is_truthy(interp, &__t1195)?) } }; Value::bool(rt::is_truthy(interp, &__t1197)?) } }; Value::bool(rt::is_truthy(interp, &__t1199)?) } }; Value::bool(rt::is_truthy(interp, &__t1201)?) } }; Value::bool(rt::is_truthy(interp, &__t1203)?) } }; if match rt::is_truthy(interp, &__t1207) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1204 = Value::sym(interp.intern("EQ")); let __t1206 = { let __t1205 = v_V5702.clone(); rt::tl(&__t1205)? }; rt::cons(&__t1204, &__t1206) }); } else { { let __t1162 = { let __t1157 = { let __t1115 = v_V5702.clone(); rt::is_cons(&__t1115) }; if !rt::is_truthy(interp, &__t1157)? { Value::bool(false) } else { let __t1158 = { let __t1155 = { let __t1116 = Value::sym(interp.intern("cl.equal?")); let __t1118 = { let __t1117 = v_V5702.clone(); rt::hd(&__t1117)? }; rt::eq(&__t1116, &__t1118) }; if !rt::is_truthy(interp, &__t1155)? { Value::bool(false) } else { let __t1156 = { let __t1153 = { let __t1120 = { let __t1119 = v_V5702.clone(); rt::tl(&__t1119)? }; rt::is_cons(&__t1120) }; if !rt::is_truthy(interp, &__t1153)? { Value::bool(false) } else { let __t1154 = { let __t1151 = { let __t1123 = { let __t1122 = { let __t1121 = v_V5702.clone(); rt::tl(&__t1121)? }; rt::tl(&__t1122)? }; rt::is_cons(&__t1123) }; if !rt::is_truthy(interp, &__t1151)? { Value::bool(false) } else { let __t1152 = { let __t1149 = { let __t1127 = { let __t1126 = { let __t1125 = { let __t1124 = v_V5702.clone(); rt::tl(&__t1124)? }; rt::tl(&__t1125)? }; rt::hd(&__t1126)? }; rt::is_cons(&__t1127) }; if !rt::is_truthy(interp, &__t1149)? { Value::bool(false) } else { let __t1150 = { let __t1147 = { let __t1128 = Value::sym(interp.intern("fail")); let __t1133 = { let __t1132 = { let __t1131 = { let __t1130 = { let __t1129 = v_V5702.clone(); rt::tl(&__t1129)? }; rt::tl(&__t1130)? }; rt::hd(&__t1131)? }; rt::hd(&__t1132)? }; rt::eq(&__t1128, &__t1133) }; if !rt::is_truthy(interp, &__t1147)? { Value::bool(false) } else { let __t1148 = { let __t1145 = { let __t1134 = Value::nil(); let __t1139 = { let __t1138 = { let __t1137 = { let __t1136 = { let __t1135 = v_V5702.clone(); rt::tl(&__t1135)? }; rt::tl(&__t1136)? }; rt::hd(&__t1137)? }; rt::tl(&__t1138)? }; rt::eq(&__t1134, &__t1139) }; if !rt::is_truthy(interp, &__t1145)? { Value::bool(false) } else { let __t1146 = { let __t1140 = Value::nil(); let __t1144 = { let __t1143 = { let __t1142 = { let __t1141 = v_V5702.clone(); rt::tl(&__t1141)? }; rt::tl(&__t1142)? }; rt::tl(&__t1143)? }; rt::eq(&__t1140, &__t1144) }; Value::bool(rt::is_truthy(interp, &__t1146)?) } }; Value::bool(rt::is_truthy(interp, &__t1148)?) } }; Value::bool(rt::is_truthy(interp, &__t1150)?) } }; Value::bool(rt::is_truthy(interp, &__t1152)?) } }; Value::bool(rt::is_truthy(interp, &__t1154)?) } }; Value::bool(rt::is_truthy(interp, &__t1156)?) } }; Value::bool(rt::is_truthy(interp, &__t1158)?) } }; if match rt::is_truthy(interp, &__t1162) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1159 = Value::sym(interp.intern("EQ")); let __t1161 = { let __t1160 = v_V5702.clone(); rt::tl(&__t1160)? }; rt::cons(&__t1159, &__t1161) }); } else { { let __t1114 = { let __t1109 = { let __t1084 = v_V5702.clone(); rt::is_cons(&__t1084) }; if !rt::is_truthy(interp, &__t1109)? { Value::bool(false) } else { let __t1110 = { let __t1107 = { let __t1085 = Value::sym(interp.intern("cl.equal?")); let __t1087 = { let __t1086 = v_V5702.clone(); rt::hd(&__t1086)? }; rt::eq(&__t1085, &__t1087) }; if !rt::is_truthy(interp, &__t1107)? { Value::bool(false) } else { let __t1108 = { let __t1105 = { let __t1089 = { let __t1088 = v_V5702.clone(); rt::tl(&__t1088)? }; rt::is_cons(&__t1089) }; if !rt::is_truthy(interp, &__t1105)? { Value::bool(false) } else { let __t1106 = { let __t1103 = { let __t1092 = { let __t1091 = { let __t1090 = v_V5702.clone(); rt::tl(&__t1090)? }; rt::tl(&__t1091)? }; rt::is_cons(&__t1092) }; if !rt::is_truthy(interp, &__t1103)? { Value::bool(false) } else { let __t1104 = { let __t1101 = { let __t1093 = Value::nil(); let __t1097 = { let __t1096 = { let __t1095 = { let __t1094 = v_V5702.clone(); rt::tl(&__t1094)? }; rt::tl(&__t1095)? }; rt::tl(&__t1096)? }; rt::eq(&__t1093, &__t1097) }; if !rt::is_truthy(interp, &__t1101)? { Value::bool(false) } else { let __t1102 = { let __t1100 = { let __t1099 = { let __t1098 = v_V5702.clone(); rt::tl(&__t1098)? }; rt::hd(&__t1099)? }; rt::is_string(&__t1100) }; Value::bool(rt::is_truthy(interp, &__t1102)?) } }; Value::bool(rt::is_truthy(interp, &__t1104)?) } }; Value::bool(rt::is_truthy(interp, &__t1106)?) } }; Value::bool(rt::is_truthy(interp, &__t1108)?) } }; Value::bool(rt::is_truthy(interp, &__t1110)?) } }; if match rt::is_truthy(interp, &__t1114) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1111 = Value::sym(interp.intern("EQUAL")); let __t1113 = { let __t1112 = v_V5702.clone(); rt::tl(&__t1112)? }; rt::cons(&__t1111, &__t1113) }); } else { { let __t1083 = { let __t1078 = { let __t1052 = v_V5702.clone(); rt::is_cons(&__t1052) }; if !rt::is_truthy(interp, &__t1078)? { Value::bool(false) } else { let __t1079 = { let __t1076 = { let __t1053 = Value::sym(interp.intern("cl.equal?")); let __t1055 = { let __t1054 = v_V5702.clone(); rt::hd(&__t1054)? }; rt::eq(&__t1053, &__t1055) }; if !rt::is_truthy(interp, &__t1076)? { Value::bool(false) } else { let __t1077 = { let __t1074 = { let __t1057 = { let __t1056 = v_V5702.clone(); rt::tl(&__t1056)? }; rt::is_cons(&__t1057) }; if !rt::is_truthy(interp, &__t1074)? { Value::bool(false) } else { let __t1075 = { let __t1072 = { let __t1060 = { let __t1059 = { let __t1058 = v_V5702.clone(); rt::tl(&__t1058)? }; rt::tl(&__t1059)? }; rt::is_cons(&__t1060) }; if !rt::is_truthy(interp, &__t1072)? { Value::bool(false) } else { let __t1073 = { let __t1070 = { let __t1061 = Value::nil(); let __t1065 = { let __t1064 = { let __t1063 = { let __t1062 = v_V5702.clone(); rt::tl(&__t1062)? }; rt::tl(&__t1063)? }; rt::tl(&__t1064)? }; rt::eq(&__t1061, &__t1065) }; if !rt::is_truthy(interp, &__t1070)? { Value::bool(false) } else { let __t1071 = { let __t1069 = { let __t1068 = { let __t1067 = { let __t1066 = v_V5702.clone(); rt::tl(&__t1066)? }; rt::tl(&__t1067)? }; rt::hd(&__t1068)? }; rt::is_string(&__t1069) }; Value::bool(rt::is_truthy(interp, &__t1071)?) } }; Value::bool(rt::is_truthy(interp, &__t1073)?) } }; Value::bool(rt::is_truthy(interp, &__t1075)?) } }; Value::bool(rt::is_truthy(interp, &__t1077)?) } }; Value::bool(rt::is_truthy(interp, &__t1079)?) } }; if match rt::is_truthy(interp, &__t1083) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1080 = Value::sym(interp.intern("EQUAL")); let __t1082 = { let __t1081 = v_V5702.clone(); rt::tl(&__t1081)? }; rt::cons(&__t1080, &__t1082) }); } else { { let __t1051 = { let __t1046 = { let __t1021 = v_V5702.clone(); rt::is_cons(&__t1021) }; if !rt::is_truthy(interp, &__t1046)? { Value::bool(false) } else { let __t1047 = { let __t1044 = { let __t1022 = Value::sym(interp.intern("cl.equal?")); let __t1024 = { let __t1023 = v_V5702.clone(); rt::hd(&__t1023)? }; rt::eq(&__t1022, &__t1024) }; if !rt::is_truthy(interp, &__t1044)? { Value::bool(false) } else { let __t1045 = { let __t1042 = { let __t1026 = { let __t1025 = v_V5702.clone(); rt::tl(&__t1025)? }; rt::is_cons(&__t1026) }; if !rt::is_truthy(interp, &__t1042)? { Value::bool(false) } else { let __t1043 = { let __t1040 = { let __t1029 = { let __t1028 = { let __t1027 = v_V5702.clone(); rt::tl(&__t1027)? }; rt::tl(&__t1028)? }; rt::is_cons(&__t1029) }; if !rt::is_truthy(interp, &__t1040)? { Value::bool(false) } else { let __t1041 = { let __t1038 = { let __t1030 = Value::nil(); let __t1034 = { let __t1033 = { let __t1032 = { let __t1031 = v_V5702.clone(); rt::tl(&__t1031)? }; rt::tl(&__t1032)? }; rt::tl(&__t1033)? }; rt::eq(&__t1030, &__t1034) }; if !rt::is_truthy(interp, &__t1038)? { Value::bool(false) } else { let __t1039 = { let __t1037 = { let __t1036 = { let __t1035 = v_V5702.clone(); rt::tl(&__t1035)? }; rt::hd(&__t1036)? }; rt::is_number(&__t1037) }; Value::bool(rt::is_truthy(interp, &__t1039)?) } }; Value::bool(rt::is_truthy(interp, &__t1041)?) } }; Value::bool(rt::is_truthy(interp, &__t1043)?) } }; Value::bool(rt::is_truthy(interp, &__t1045)?) } }; Value::bool(rt::is_truthy(interp, &__t1047)?) } }; if match rt::is_truthy(interp, &__t1051) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1048 = Value::sym(interp.intern("EQUALP")); let __t1050 = { let __t1049 = v_V5702.clone(); rt::tl(&__t1049)? }; rt::cons(&__t1048, &__t1050) }); } else { { let __t1020 = { let __t1015 = { let __t989 = v_V5702.clone(); rt::is_cons(&__t989) }; if !rt::is_truthy(interp, &__t1015)? { Value::bool(false) } else { let __t1016 = { let __t1013 = { let __t990 = Value::sym(interp.intern("cl.equal?")); let __t992 = { let __t991 = v_V5702.clone(); rt::hd(&__t991)? }; rt::eq(&__t990, &__t992) }; if !rt::is_truthy(interp, &__t1013)? { Value::bool(false) } else { let __t1014 = { let __t1011 = { let __t994 = { let __t993 = v_V5702.clone(); rt::tl(&__t993)? }; rt::is_cons(&__t994) }; if !rt::is_truthy(interp, &__t1011)? { Value::bool(false) } else { let __t1012 = { let __t1009 = { let __t997 = { let __t996 = { let __t995 = v_V5702.clone(); rt::tl(&__t995)? }; rt::tl(&__t996)? }; rt::is_cons(&__t997) }; if !rt::is_truthy(interp, &__t1009)? { Value::bool(false) } else { let __t1010 = { let __t1007 = { let __t998 = Value::nil(); let __t1002 = { let __t1001 = { let __t1000 = { let __t999 = v_V5702.clone(); rt::tl(&__t999)? }; rt::tl(&__t1000)? }; rt::tl(&__t1001)? }; rt::eq(&__t998, &__t1002) }; if !rt::is_truthy(interp, &__t1007)? { Value::bool(false) } else { let __t1008 = { let __t1006 = { let __t1005 = { let __t1004 = { let __t1003 = v_V5702.clone(); rt::tl(&__t1003)? }; rt::tl(&__t1004)? }; rt::hd(&__t1005)? }; rt::is_number(&__t1006) }; Value::bool(rt::is_truthy(interp, &__t1008)?) } }; Value::bool(rt::is_truthy(interp, &__t1010)?) } }; Value::bool(rt::is_truthy(interp, &__t1012)?) } }; Value::bool(rt::is_truthy(interp, &__t1014)?) } }; Value::bool(rt::is_truthy(interp, &__t1016)?) } }; if match rt::is_truthy(interp, &__t1020) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1017 = Value::sym(interp.intern("EQUALP")); let __t1019 = { let __t1018 = v_V5702.clone(); rt::tl(&__t1018)? }; rt::cons(&__t1017, &__t1019) }); } else { { let __t988 = { let __t983 = { let __t963 = v_V5702.clone(); rt::is_cons(&__t963) }; if !rt::is_truthy(interp, &__t983)? { Value::bool(false) } else { let __t984 = { let __t981 = { let __t964 = Value::sym(interp.intern("cl.equal?")); let __t966 = { let __t965 = v_V5702.clone(); rt::hd(&__t965)? }; rt::eq(&__t964, &__t966) }; if !rt::is_truthy(interp, &__t981)? { Value::bool(false) } else { let __t982 = { let __t979 = { let __t968 = { let __t967 = v_V5702.clone(); rt::tl(&__t967)? }; rt::is_cons(&__t968) }; if !rt::is_truthy(interp, &__t979)? { Value::bool(false) } else { let __t980 = { let __t977 = { let __t971 = { let __t970 = { let __t969 = v_V5702.clone(); rt::tl(&__t969)? }; rt::tl(&__t970)? }; rt::is_cons(&__t971) }; if !rt::is_truthy(interp, &__t977)? { Value::bool(false) } else { let __t978 = { let __t972 = Value::nil(); let __t976 = { let __t975 = { let __t974 = { let __t973 = v_V5702.clone(); rt::tl(&__t973)? }; rt::tl(&__t974)? }; rt::tl(&__t975)? }; rt::eq(&__t972, &__t976) }; Value::bool(rt::is_truthy(interp, &__t978)?) } }; Value::bool(rt::is_truthy(interp, &__t980)?) } }; Value::bool(rt::is_truthy(interp, &__t982)?) } }; Value::bool(rt::is_truthy(interp, &__t984)?) } }; if match rt::is_truthy(interp, &__t988) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t985 = Value::sym(interp.intern("cl.ABSEQUAL")); let __t987 = { let __t986 = v_V5702.clone(); rt::tl(&__t986)? }; rt::cons(&__t985, &__t987) }); } else { { let __t962 = { let __t957 = { let __t937 = v_V5702.clone(); rt::is_cons(&__t937) }; if !rt::is_truthy(interp, &__t957)? { Value::bool(false) } else { let __t958 = { let __t955 = { let __t938 = Value::sym(interp.intern("cl.greater?")); let __t940 = { let __t939 = v_V5702.clone(); rt::hd(&__t939)? }; rt::eq(&__t938, &__t940) }; if !rt::is_truthy(interp, &__t955)? { Value::bool(false) } else { let __t956 = { let __t953 = { let __t942 = { let __t941 = v_V5702.clone(); rt::tl(&__t941)? }; rt::is_cons(&__t942) }; if !rt::is_truthy(interp, &__t953)? { Value::bool(false) } else { let __t954 = { let __t951 = { let __t945 = { let __t944 = { let __t943 = v_V5702.clone(); rt::tl(&__t943)? }; rt::tl(&__t944)? }; rt::is_cons(&__t945) }; if !rt::is_truthy(interp, &__t951)? { Value::bool(false) } else { let __t952 = { let __t946 = Value::nil(); let __t950 = { let __t949 = { let __t948 = { let __t947 = v_V5702.clone(); rt::tl(&__t947)? }; rt::tl(&__t948)? }; rt::tl(&__t949)? }; rt::eq(&__t946, &__t950) }; Value::bool(rt::is_truthy(interp, &__t952)?) } }; Value::bool(rt::is_truthy(interp, &__t954)?) } }; Value::bool(rt::is_truthy(interp, &__t956)?) } }; Value::bool(rt::is_truthy(interp, &__t958)?) } }; if match rt::is_truthy(interp, &__t962) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t959 = Value::sym(interp.intern(">")); let __t961 = { let __t960 = v_V5702.clone(); rt::tl(&__t960)? }; rt::cons(&__t959, &__t961) }); } else { { let __t936 = { let __t931 = { let __t911 = v_V5702.clone(); rt::is_cons(&__t911) }; if !rt::is_truthy(interp, &__t931)? { Value::bool(false) } else { let __t932 = { let __t929 = { let __t912 = Value::sym(interp.intern("cl.greater-than-or-equal-to?")); let __t914 = { let __t913 = v_V5702.clone(); rt::hd(&__t913)? }; rt::eq(&__t912, &__t914) }; if !rt::is_truthy(interp, &__t929)? { Value::bool(false) } else { let __t930 = { let __t927 = { let __t916 = { let __t915 = v_V5702.clone(); rt::tl(&__t915)? }; rt::is_cons(&__t916) }; if !rt::is_truthy(interp, &__t927)? { Value::bool(false) } else { let __t928 = { let __t925 = { let __t919 = { let __t918 = { let __t917 = v_V5702.clone(); rt::tl(&__t917)? }; rt::tl(&__t918)? }; rt::is_cons(&__t919) }; if !rt::is_truthy(interp, &__t925)? { Value::bool(false) } else { let __t926 = { let __t920 = Value::nil(); let __t924 = { let __t923 = { let __t922 = { let __t921 = v_V5702.clone(); rt::tl(&__t921)? }; rt::tl(&__t922)? }; rt::tl(&__t923)? }; rt::eq(&__t920, &__t924) }; Value::bool(rt::is_truthy(interp, &__t926)?) } }; Value::bool(rt::is_truthy(interp, &__t928)?) } }; Value::bool(rt::is_truthy(interp, &__t930)?) } }; Value::bool(rt::is_truthy(interp, &__t932)?) } }; if match rt::is_truthy(interp, &__t936) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t933 = Value::sym(interp.intern(">=")); let __t935 = { let __t934 = v_V5702.clone(); rt::tl(&__t934)? }; rt::cons(&__t933, &__t935) }); } else { { let __t910 = { let __t905 = { let __t885 = v_V5702.clone(); rt::is_cons(&__t885) }; if !rt::is_truthy(interp, &__t905)? { Value::bool(false) } else { let __t906 = { let __t903 = { let __t886 = Value::sym(interp.intern("cl.less?")); let __t888 = { let __t887 = v_V5702.clone(); rt::hd(&__t887)? }; rt::eq(&__t886, &__t888) }; if !rt::is_truthy(interp, &__t903)? { Value::bool(false) } else { let __t904 = { let __t901 = { let __t890 = { let __t889 = v_V5702.clone(); rt::tl(&__t889)? }; rt::is_cons(&__t890) }; if !rt::is_truthy(interp, &__t901)? { Value::bool(false) } else { let __t902 = { let __t899 = { let __t893 = { let __t892 = { let __t891 = v_V5702.clone(); rt::tl(&__t891)? }; rt::tl(&__t892)? }; rt::is_cons(&__t893) }; if !rt::is_truthy(interp, &__t899)? { Value::bool(false) } else { let __t900 = { let __t894 = Value::nil(); let __t898 = { let __t897 = { let __t896 = { let __t895 = v_V5702.clone(); rt::tl(&__t895)? }; rt::tl(&__t896)? }; rt::tl(&__t897)? }; rt::eq(&__t894, &__t898) }; Value::bool(rt::is_truthy(interp, &__t900)?) } }; Value::bool(rt::is_truthy(interp, &__t902)?) } }; Value::bool(rt::is_truthy(interp, &__t904)?) } }; Value::bool(rt::is_truthy(interp, &__t906)?) } }; if match rt::is_truthy(interp, &__t910) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t907 = Value::sym(interp.intern("<")); let __t909 = { let __t908 = v_V5702.clone(); rt::tl(&__t908)? }; rt::cons(&__t907, &__t909) }); } else { { let __t884 = { let __t879 = { let __t859 = v_V5702.clone(); rt::is_cons(&__t859) }; if !rt::is_truthy(interp, &__t879)? { Value::bool(false) } else { let __t880 = { let __t877 = { let __t860 = Value::sym(interp.intern("cl.less-than-or-equal-to?")); let __t862 = { let __t861 = v_V5702.clone(); rt::hd(&__t861)? }; rt::eq(&__t860, &__t862) }; if !rt::is_truthy(interp, &__t877)? { Value::bool(false) } else { let __t878 = { let __t875 = { let __t864 = { let __t863 = v_V5702.clone(); rt::tl(&__t863)? }; rt::is_cons(&__t864) }; if !rt::is_truthy(interp, &__t875)? { Value::bool(false) } else { let __t876 = { let __t873 = { let __t867 = { let __t866 = { let __t865 = v_V5702.clone(); rt::tl(&__t865)? }; rt::tl(&__t866)? }; rt::is_cons(&__t867) }; if !rt::is_truthy(interp, &__t873)? { Value::bool(false) } else { let __t874 = { let __t868 = Value::nil(); let __t872 = { let __t871 = { let __t870 = { let __t869 = v_V5702.clone(); rt::tl(&__t869)? }; rt::tl(&__t870)? }; rt::tl(&__t871)? }; rt::eq(&__t868, &__t872) }; Value::bool(rt::is_truthy(interp, &__t874)?) } }; Value::bool(rt::is_truthy(interp, &__t876)?) } }; Value::bool(rt::is_truthy(interp, &__t878)?) } }; Value::bool(rt::is_truthy(interp, &__t880)?) } }; if match rt::is_truthy(interp, &__t884) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t881 = Value::sym(interp.intern("<=")); let __t883 = { let __t882 = v_V5702.clone(); rt::tl(&__t882)? }; rt::cons(&__t881, &__t883) }); } else { { let __t858 = Value::bool(true); if match rt::is_truthy(interp, &__t858) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t854 = Value::sym(interp.intern("cl.wrapper")); let __t857 = { let __t855 = v_V5702.clone(); let __t856 = Value::nil(); rt::cons(&__t855, &__t856) }; rt::cons(&__t854, &__t857) }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } + if match rt::is_truthy(interp, &__t1363) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1359 = Value::sym(interp.intern("NULL")); let __t1362 = { let __t1361 = { let __t1360 = v_V5743.clone(); rt::tl(&__t1360)? }; rt::tl(&__t1361)? }; rt::cons(&__t1359, &__t1362) }); } else { { let __t1330 = { let __t1325 = { let __t1267 = v_V5743.clone(); rt::is_cons(&__t1267) }; if !rt::is_truthy(interp, &__t1325)? { Value::bool(false) } else { let __t1326 = { let __t1323 = { let __t1268 = Value::sym(interp.intern("cl.equal?")); let __t1270 = { let __t1269 = v_V5743.clone(); rt::hd(&__t1269)? }; rt::eq(&__t1268, &__t1270) }; if !rt::is_truthy(interp, &__t1323)? { Value::bool(false) } else { let __t1324 = { let __t1321 = { let __t1272 = { let __t1271 = v_V5743.clone(); rt::tl(&__t1271)? }; rt::is_cons(&__t1272) }; if !rt::is_truthy(interp, &__t1321)? { Value::bool(false) } else { let __t1322 = { let __t1319 = { let __t1275 = { let __t1274 = { let __t1273 = v_V5743.clone(); rt::tl(&__t1273)? }; rt::tl(&__t1274)? }; rt::is_cons(&__t1275) }; if !rt::is_truthy(interp, &__t1319)? { Value::bool(false) } else { let __t1320 = { let __t1317 = { let __t1279 = { let __t1278 = { let __t1277 = { let __t1276 = v_V5743.clone(); rt::tl(&__t1276)? }; rt::tl(&__t1277)? }; rt::hd(&__t1278)? }; rt::is_cons(&__t1279) }; if !rt::is_truthy(interp, &__t1317)? { Value::bool(false) } else { let __t1318 = { let __t1315 = { let __t1284 = { let __t1283 = { let __t1282 = { let __t1281 = { let __t1280 = v_V5743.clone(); rt::tl(&__t1280)? }; rt::tl(&__t1281)? }; rt::hd(&__t1282)? }; rt::tl(&__t1283)? }; rt::is_cons(&__t1284) }; if !rt::is_truthy(interp, &__t1315)? { Value::bool(false) } else { let __t1316 = { let __t1313 = { let __t1285 = Value::nil(); let __t1291 = { let __t1290 = { let __t1289 = { let __t1288 = { let __t1287 = { let __t1286 = v_V5743.clone(); rt::tl(&__t1286)? }; rt::tl(&__t1287)? }; rt::hd(&__t1288)? }; rt::tl(&__t1289)? }; rt::tl(&__t1290)? }; rt::eq(&__t1285, &__t1291) }; if !rt::is_truthy(interp, &__t1313)? { Value::bool(false) } else { let __t1314 = { let __t1311 = { let __t1292 = Value::nil(); let __t1296 = { let __t1295 = { let __t1294 = { let __t1293 = v_V5743.clone(); rt::tl(&__t1293)? }; rt::tl(&__t1294)? }; rt::tl(&__t1295)? }; rt::eq(&__t1292, &__t1296) }; if !rt::is_truthy(interp, &__t1311)? { Value::bool(false) } else { let __t1312 = { let __t1309 = { let __t1301 = { let __t1300 = { let __t1299 = { let __t1298 = { let __t1297 = v_V5743.clone(); rt::tl(&__t1297)? }; rt::tl(&__t1298)? }; rt::hd(&__t1299)? }; rt::hd(&__t1300)? }; let __t1302 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t1301, &__t1302) }; if !rt::is_truthy(interp, &__t1309)? { Value::bool(false) } else { let __t1310 = { let __t1308 = { let __t1307 = { let __t1306 = { let __t1305 = { let __t1304 = { let __t1303 = v_V5743.clone(); rt::tl(&__t1303)? }; rt::tl(&__t1304)? }; rt::hd(&__t1305)? }; rt::tl(&__t1306)? }; rt::hd(&__t1307)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t1308])? }; Value::bool(rt::is_truthy(interp, &__t1310)?) } }; Value::bool(rt::is_truthy(interp, &__t1312)?) } }; Value::bool(rt::is_truthy(interp, &__t1314)?) } }; Value::bool(rt::is_truthy(interp, &__t1316)?) } }; Value::bool(rt::is_truthy(interp, &__t1318)?) } }; Value::bool(rt::is_truthy(interp, &__t1320)?) } }; Value::bool(rt::is_truthy(interp, &__t1322)?) } }; Value::bool(rt::is_truthy(interp, &__t1324)?) } }; Value::bool(rt::is_truthy(interp, &__t1326)?) } }; if match rt::is_truthy(interp, &__t1330) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1327 = Value::sym(interp.intern("EQ")); let __t1329 = { let __t1328 = v_V5743.clone(); rt::tl(&__t1328)? }; rt::cons(&__t1327, &__t1329) }); } else { { let __t1266 = { let __t1261 = { let __t1208 = v_V5743.clone(); rt::is_cons(&__t1208) }; if !rt::is_truthy(interp, &__t1261)? { Value::bool(false) } else { let __t1262 = { let __t1259 = { let __t1209 = Value::sym(interp.intern("cl.equal?")); let __t1211 = { let __t1210 = v_V5743.clone(); rt::hd(&__t1210)? }; rt::eq(&__t1209, &__t1211) }; if !rt::is_truthy(interp, &__t1259)? { Value::bool(false) } else { let __t1260 = { let __t1257 = { let __t1213 = { let __t1212 = v_V5743.clone(); rt::tl(&__t1212)? }; rt::is_cons(&__t1213) }; if !rt::is_truthy(interp, &__t1257)? { Value::bool(false) } else { let __t1258 = { let __t1255 = { let __t1216 = { let __t1215 = { let __t1214 = v_V5743.clone(); rt::tl(&__t1214)? }; rt::hd(&__t1215)? }; rt::is_cons(&__t1216) }; if !rt::is_truthy(interp, &__t1255)? { Value::bool(false) } else { let __t1256 = { let __t1253 = { let __t1220 = { let __t1219 = { let __t1218 = { let __t1217 = v_V5743.clone(); rt::tl(&__t1217)? }; rt::hd(&__t1218)? }; rt::tl(&__t1219)? }; rt::is_cons(&__t1220) }; if !rt::is_truthy(interp, &__t1253)? { Value::bool(false) } else { let __t1254 = { let __t1251 = { let __t1221 = Value::nil(); let __t1226 = { let __t1225 = { let __t1224 = { let __t1223 = { let __t1222 = v_V5743.clone(); rt::tl(&__t1222)? }; rt::hd(&__t1223)? }; rt::tl(&__t1224)? }; rt::tl(&__t1225)? }; rt::eq(&__t1221, &__t1226) }; if !rt::is_truthy(interp, &__t1251)? { Value::bool(false) } else { let __t1252 = { let __t1249 = { let __t1229 = { let __t1228 = { let __t1227 = v_V5743.clone(); rt::tl(&__t1227)? }; rt::tl(&__t1228)? }; rt::is_cons(&__t1229) }; if !rt::is_truthy(interp, &__t1249)? { Value::bool(false) } else { let __t1250 = { let __t1247 = { let __t1230 = Value::nil(); let __t1234 = { let __t1233 = { let __t1232 = { let __t1231 = v_V5743.clone(); rt::tl(&__t1231)? }; rt::tl(&__t1232)? }; rt::tl(&__t1233)? }; rt::eq(&__t1230, &__t1234) }; if !rt::is_truthy(interp, &__t1247)? { Value::bool(false) } else { let __t1248 = { let __t1245 = { let __t1238 = { let __t1237 = { let __t1236 = { let __t1235 = v_V5743.clone(); rt::tl(&__t1235)? }; rt::hd(&__t1236)? }; rt::hd(&__t1237)? }; let __t1239 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t1238, &__t1239) }; if !rt::is_truthy(interp, &__t1245)? { Value::bool(false) } else { let __t1246 = { let __t1244 = { let __t1243 = { let __t1242 = { let __t1241 = { let __t1240 = v_V5743.clone(); rt::tl(&__t1240)? }; rt::hd(&__t1241)? }; rt::tl(&__t1242)? }; rt::hd(&__t1243)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t1244])? }; Value::bool(rt::is_truthy(interp, &__t1246)?) } }; Value::bool(rt::is_truthy(interp, &__t1248)?) } }; Value::bool(rt::is_truthy(interp, &__t1250)?) } }; Value::bool(rt::is_truthy(interp, &__t1252)?) } }; Value::bool(rt::is_truthy(interp, &__t1254)?) } }; Value::bool(rt::is_truthy(interp, &__t1256)?) } }; Value::bool(rt::is_truthy(interp, &__t1258)?) } }; Value::bool(rt::is_truthy(interp, &__t1260)?) } }; Value::bool(rt::is_truthy(interp, &__t1262)?) } }; if match rt::is_truthy(interp, &__t1266) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1263 = Value::sym(interp.intern("EQ")); let __t1265 = { let __t1264 = v_V5743.clone(); rt::tl(&__t1264)? }; rt::cons(&__t1263, &__t1265) }); } else { { let __t1207 = { let __t1202 = { let __t1163 = v_V5743.clone(); rt::is_cons(&__t1163) }; if !rt::is_truthy(interp, &__t1202)? { Value::bool(false) } else { let __t1203 = { let __t1200 = { let __t1164 = Value::sym(interp.intern("cl.equal?")); let __t1166 = { let __t1165 = v_V5743.clone(); rt::hd(&__t1165)? }; rt::eq(&__t1164, &__t1166) }; if !rt::is_truthy(interp, &__t1200)? { Value::bool(false) } else { let __t1201 = { let __t1198 = { let __t1168 = { let __t1167 = v_V5743.clone(); rt::tl(&__t1167)? }; rt::is_cons(&__t1168) }; if !rt::is_truthy(interp, &__t1198)? { Value::bool(false) } else { let __t1199 = { let __t1196 = { let __t1171 = { let __t1170 = { let __t1169 = v_V5743.clone(); rt::tl(&__t1169)? }; rt::hd(&__t1170)? }; rt::is_cons(&__t1171) }; if !rt::is_truthy(interp, &__t1196)? { Value::bool(false) } else { let __t1197 = { let __t1194 = { let __t1172 = Value::sym(interp.intern("fail")); let __t1176 = { let __t1175 = { let __t1174 = { let __t1173 = v_V5743.clone(); rt::tl(&__t1173)? }; rt::hd(&__t1174)? }; rt::hd(&__t1175)? }; rt::eq(&__t1172, &__t1176) }; if !rt::is_truthy(interp, &__t1194)? { Value::bool(false) } else { let __t1195 = { let __t1192 = { let __t1177 = Value::nil(); let __t1181 = { let __t1180 = { let __t1179 = { let __t1178 = v_V5743.clone(); rt::tl(&__t1178)? }; rt::hd(&__t1179)? }; rt::tl(&__t1180)? }; rt::eq(&__t1177, &__t1181) }; if !rt::is_truthy(interp, &__t1192)? { Value::bool(false) } else { let __t1193 = { let __t1190 = { let __t1184 = { let __t1183 = { let __t1182 = v_V5743.clone(); rt::tl(&__t1182)? }; rt::tl(&__t1183)? }; rt::is_cons(&__t1184) }; if !rt::is_truthy(interp, &__t1190)? { Value::bool(false) } else { let __t1191 = { let __t1185 = Value::nil(); let __t1189 = { let __t1188 = { let __t1187 = { let __t1186 = v_V5743.clone(); rt::tl(&__t1186)? }; rt::tl(&__t1187)? }; rt::tl(&__t1188)? }; rt::eq(&__t1185, &__t1189) }; Value::bool(rt::is_truthy(interp, &__t1191)?) } }; Value::bool(rt::is_truthy(interp, &__t1193)?) } }; Value::bool(rt::is_truthy(interp, &__t1195)?) } }; Value::bool(rt::is_truthy(interp, &__t1197)?) } }; Value::bool(rt::is_truthy(interp, &__t1199)?) } }; Value::bool(rt::is_truthy(interp, &__t1201)?) } }; Value::bool(rt::is_truthy(interp, &__t1203)?) } }; if match rt::is_truthy(interp, &__t1207) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1204 = Value::sym(interp.intern("EQ")); let __t1206 = { let __t1205 = v_V5743.clone(); rt::tl(&__t1205)? }; rt::cons(&__t1204, &__t1206) }); } else { { let __t1162 = { let __t1157 = { let __t1115 = v_V5743.clone(); rt::is_cons(&__t1115) }; if !rt::is_truthy(interp, &__t1157)? { Value::bool(false) } else { let __t1158 = { let __t1155 = { let __t1116 = Value::sym(interp.intern("cl.equal?")); let __t1118 = { let __t1117 = v_V5743.clone(); rt::hd(&__t1117)? }; rt::eq(&__t1116, &__t1118) }; if !rt::is_truthy(interp, &__t1155)? { Value::bool(false) } else { let __t1156 = { let __t1153 = { let __t1120 = { let __t1119 = v_V5743.clone(); rt::tl(&__t1119)? }; rt::is_cons(&__t1120) }; if !rt::is_truthy(interp, &__t1153)? { Value::bool(false) } else { let __t1154 = { let __t1151 = { let __t1123 = { let __t1122 = { let __t1121 = v_V5743.clone(); rt::tl(&__t1121)? }; rt::tl(&__t1122)? }; rt::is_cons(&__t1123) }; if !rt::is_truthy(interp, &__t1151)? { Value::bool(false) } else { let __t1152 = { let __t1149 = { let __t1127 = { let __t1126 = { let __t1125 = { let __t1124 = v_V5743.clone(); rt::tl(&__t1124)? }; rt::tl(&__t1125)? }; rt::hd(&__t1126)? }; rt::is_cons(&__t1127) }; if !rt::is_truthy(interp, &__t1149)? { Value::bool(false) } else { let __t1150 = { let __t1147 = { let __t1128 = Value::sym(interp.intern("fail")); let __t1133 = { let __t1132 = { let __t1131 = { let __t1130 = { let __t1129 = v_V5743.clone(); rt::tl(&__t1129)? }; rt::tl(&__t1130)? }; rt::hd(&__t1131)? }; rt::hd(&__t1132)? }; rt::eq(&__t1128, &__t1133) }; if !rt::is_truthy(interp, &__t1147)? { Value::bool(false) } else { let __t1148 = { let __t1145 = { let __t1134 = Value::nil(); let __t1139 = { let __t1138 = { let __t1137 = { let __t1136 = { let __t1135 = v_V5743.clone(); rt::tl(&__t1135)? }; rt::tl(&__t1136)? }; rt::hd(&__t1137)? }; rt::tl(&__t1138)? }; rt::eq(&__t1134, &__t1139) }; if !rt::is_truthy(interp, &__t1145)? { Value::bool(false) } else { let __t1146 = { let __t1140 = Value::nil(); let __t1144 = { let __t1143 = { let __t1142 = { let __t1141 = v_V5743.clone(); rt::tl(&__t1141)? }; rt::tl(&__t1142)? }; rt::tl(&__t1143)? }; rt::eq(&__t1140, &__t1144) }; Value::bool(rt::is_truthy(interp, &__t1146)?) } }; Value::bool(rt::is_truthy(interp, &__t1148)?) } }; Value::bool(rt::is_truthy(interp, &__t1150)?) } }; Value::bool(rt::is_truthy(interp, &__t1152)?) } }; Value::bool(rt::is_truthy(interp, &__t1154)?) } }; Value::bool(rt::is_truthy(interp, &__t1156)?) } }; Value::bool(rt::is_truthy(interp, &__t1158)?) } }; if match rt::is_truthy(interp, &__t1162) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1159 = Value::sym(interp.intern("EQ")); let __t1161 = { let __t1160 = v_V5743.clone(); rt::tl(&__t1160)? }; rt::cons(&__t1159, &__t1161) }); } else { { let __t1114 = { let __t1109 = { let __t1084 = v_V5743.clone(); rt::is_cons(&__t1084) }; if !rt::is_truthy(interp, &__t1109)? { Value::bool(false) } else { let __t1110 = { let __t1107 = { let __t1085 = Value::sym(interp.intern("cl.equal?")); let __t1087 = { let __t1086 = v_V5743.clone(); rt::hd(&__t1086)? }; rt::eq(&__t1085, &__t1087) }; if !rt::is_truthy(interp, &__t1107)? { Value::bool(false) } else { let __t1108 = { let __t1105 = { let __t1089 = { let __t1088 = v_V5743.clone(); rt::tl(&__t1088)? }; rt::is_cons(&__t1089) }; if !rt::is_truthy(interp, &__t1105)? { Value::bool(false) } else { let __t1106 = { let __t1103 = { let __t1092 = { let __t1091 = { let __t1090 = v_V5743.clone(); rt::tl(&__t1090)? }; rt::tl(&__t1091)? }; rt::is_cons(&__t1092) }; if !rt::is_truthy(interp, &__t1103)? { Value::bool(false) } else { let __t1104 = { let __t1101 = { let __t1093 = Value::nil(); let __t1097 = { let __t1096 = { let __t1095 = { let __t1094 = v_V5743.clone(); rt::tl(&__t1094)? }; rt::tl(&__t1095)? }; rt::tl(&__t1096)? }; rt::eq(&__t1093, &__t1097) }; if !rt::is_truthy(interp, &__t1101)? { Value::bool(false) } else { let __t1102 = { let __t1100 = { let __t1099 = { let __t1098 = v_V5743.clone(); rt::tl(&__t1098)? }; rt::hd(&__t1099)? }; rt::is_string(&__t1100) }; Value::bool(rt::is_truthy(interp, &__t1102)?) } }; Value::bool(rt::is_truthy(interp, &__t1104)?) } }; Value::bool(rt::is_truthy(interp, &__t1106)?) } }; Value::bool(rt::is_truthy(interp, &__t1108)?) } }; Value::bool(rt::is_truthy(interp, &__t1110)?) } }; if match rt::is_truthy(interp, &__t1114) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1111 = Value::sym(interp.intern("EQUAL")); let __t1113 = { let __t1112 = v_V5743.clone(); rt::tl(&__t1112)? }; rt::cons(&__t1111, &__t1113) }); } else { { let __t1083 = { let __t1078 = { let __t1052 = v_V5743.clone(); rt::is_cons(&__t1052) }; if !rt::is_truthy(interp, &__t1078)? { Value::bool(false) } else { let __t1079 = { let __t1076 = { let __t1053 = Value::sym(interp.intern("cl.equal?")); let __t1055 = { let __t1054 = v_V5743.clone(); rt::hd(&__t1054)? }; rt::eq(&__t1053, &__t1055) }; if !rt::is_truthy(interp, &__t1076)? { Value::bool(false) } else { let __t1077 = { let __t1074 = { let __t1057 = { let __t1056 = v_V5743.clone(); rt::tl(&__t1056)? }; rt::is_cons(&__t1057) }; if !rt::is_truthy(interp, &__t1074)? { Value::bool(false) } else { let __t1075 = { let __t1072 = { let __t1060 = { let __t1059 = { let __t1058 = v_V5743.clone(); rt::tl(&__t1058)? }; rt::tl(&__t1059)? }; rt::is_cons(&__t1060) }; if !rt::is_truthy(interp, &__t1072)? { Value::bool(false) } else { let __t1073 = { let __t1070 = { let __t1061 = Value::nil(); let __t1065 = { let __t1064 = { let __t1063 = { let __t1062 = v_V5743.clone(); rt::tl(&__t1062)? }; rt::tl(&__t1063)? }; rt::tl(&__t1064)? }; rt::eq(&__t1061, &__t1065) }; if !rt::is_truthy(interp, &__t1070)? { Value::bool(false) } else { let __t1071 = { let __t1069 = { let __t1068 = { let __t1067 = { let __t1066 = v_V5743.clone(); rt::tl(&__t1066)? }; rt::tl(&__t1067)? }; rt::hd(&__t1068)? }; rt::is_string(&__t1069) }; Value::bool(rt::is_truthy(interp, &__t1071)?) } }; Value::bool(rt::is_truthy(interp, &__t1073)?) } }; Value::bool(rt::is_truthy(interp, &__t1075)?) } }; Value::bool(rt::is_truthy(interp, &__t1077)?) } }; Value::bool(rt::is_truthy(interp, &__t1079)?) } }; if match rt::is_truthy(interp, &__t1083) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1080 = Value::sym(interp.intern("EQUAL")); let __t1082 = { let __t1081 = v_V5743.clone(); rt::tl(&__t1081)? }; rt::cons(&__t1080, &__t1082) }); } else { { let __t1051 = { let __t1046 = { let __t1021 = v_V5743.clone(); rt::is_cons(&__t1021) }; if !rt::is_truthy(interp, &__t1046)? { Value::bool(false) } else { let __t1047 = { let __t1044 = { let __t1022 = Value::sym(interp.intern("cl.equal?")); let __t1024 = { let __t1023 = v_V5743.clone(); rt::hd(&__t1023)? }; rt::eq(&__t1022, &__t1024) }; if !rt::is_truthy(interp, &__t1044)? { Value::bool(false) } else { let __t1045 = { let __t1042 = { let __t1026 = { let __t1025 = v_V5743.clone(); rt::tl(&__t1025)? }; rt::is_cons(&__t1026) }; if !rt::is_truthy(interp, &__t1042)? { Value::bool(false) } else { let __t1043 = { let __t1040 = { let __t1029 = { let __t1028 = { let __t1027 = v_V5743.clone(); rt::tl(&__t1027)? }; rt::tl(&__t1028)? }; rt::is_cons(&__t1029) }; if !rt::is_truthy(interp, &__t1040)? { Value::bool(false) } else { let __t1041 = { let __t1038 = { let __t1030 = Value::nil(); let __t1034 = { let __t1033 = { let __t1032 = { let __t1031 = v_V5743.clone(); rt::tl(&__t1031)? }; rt::tl(&__t1032)? }; rt::tl(&__t1033)? }; rt::eq(&__t1030, &__t1034) }; if !rt::is_truthy(interp, &__t1038)? { Value::bool(false) } else { let __t1039 = { let __t1037 = { let __t1036 = { let __t1035 = v_V5743.clone(); rt::tl(&__t1035)? }; rt::hd(&__t1036)? }; rt::is_number(&__t1037) }; Value::bool(rt::is_truthy(interp, &__t1039)?) } }; Value::bool(rt::is_truthy(interp, &__t1041)?) } }; Value::bool(rt::is_truthy(interp, &__t1043)?) } }; Value::bool(rt::is_truthy(interp, &__t1045)?) } }; Value::bool(rt::is_truthy(interp, &__t1047)?) } }; if match rt::is_truthy(interp, &__t1051) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1048 = Value::sym(interp.intern("EQUALP")); let __t1050 = { let __t1049 = v_V5743.clone(); rt::tl(&__t1049)? }; rt::cons(&__t1048, &__t1050) }); } else { { let __t1020 = { let __t1015 = { let __t989 = v_V5743.clone(); rt::is_cons(&__t989) }; if !rt::is_truthy(interp, &__t1015)? { Value::bool(false) } else { let __t1016 = { let __t1013 = { let __t990 = Value::sym(interp.intern("cl.equal?")); let __t992 = { let __t991 = v_V5743.clone(); rt::hd(&__t991)? }; rt::eq(&__t990, &__t992) }; if !rt::is_truthy(interp, &__t1013)? { Value::bool(false) } else { let __t1014 = { let __t1011 = { let __t994 = { let __t993 = v_V5743.clone(); rt::tl(&__t993)? }; rt::is_cons(&__t994) }; if !rt::is_truthy(interp, &__t1011)? { Value::bool(false) } else { let __t1012 = { let __t1009 = { let __t997 = { let __t996 = { let __t995 = v_V5743.clone(); rt::tl(&__t995)? }; rt::tl(&__t996)? }; rt::is_cons(&__t997) }; if !rt::is_truthy(interp, &__t1009)? { Value::bool(false) } else { let __t1010 = { let __t1007 = { let __t998 = Value::nil(); let __t1002 = { let __t1001 = { let __t1000 = { let __t999 = v_V5743.clone(); rt::tl(&__t999)? }; rt::tl(&__t1000)? }; rt::tl(&__t1001)? }; rt::eq(&__t998, &__t1002) }; if !rt::is_truthy(interp, &__t1007)? { Value::bool(false) } else { let __t1008 = { let __t1006 = { let __t1005 = { let __t1004 = { let __t1003 = v_V5743.clone(); rt::tl(&__t1003)? }; rt::tl(&__t1004)? }; rt::hd(&__t1005)? }; rt::is_number(&__t1006) }; Value::bool(rt::is_truthy(interp, &__t1008)?) } }; Value::bool(rt::is_truthy(interp, &__t1010)?) } }; Value::bool(rt::is_truthy(interp, &__t1012)?) } }; Value::bool(rt::is_truthy(interp, &__t1014)?) } }; Value::bool(rt::is_truthy(interp, &__t1016)?) } }; if match rt::is_truthy(interp, &__t1020) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1017 = Value::sym(interp.intern("EQUALP")); let __t1019 = { let __t1018 = v_V5743.clone(); rt::tl(&__t1018)? }; rt::cons(&__t1017, &__t1019) }); } else { { let __t988 = { let __t983 = { let __t963 = v_V5743.clone(); rt::is_cons(&__t963) }; if !rt::is_truthy(interp, &__t983)? { Value::bool(false) } else { let __t984 = { let __t981 = { let __t964 = Value::sym(interp.intern("cl.equal?")); let __t966 = { let __t965 = v_V5743.clone(); rt::hd(&__t965)? }; rt::eq(&__t964, &__t966) }; if !rt::is_truthy(interp, &__t981)? { Value::bool(false) } else { let __t982 = { let __t979 = { let __t968 = { let __t967 = v_V5743.clone(); rt::tl(&__t967)? }; rt::is_cons(&__t968) }; if !rt::is_truthy(interp, &__t979)? { Value::bool(false) } else { let __t980 = { let __t977 = { let __t971 = { let __t970 = { let __t969 = v_V5743.clone(); rt::tl(&__t969)? }; rt::tl(&__t970)? }; rt::is_cons(&__t971) }; if !rt::is_truthy(interp, &__t977)? { Value::bool(false) } else { let __t978 = { let __t972 = Value::nil(); let __t976 = { let __t975 = { let __t974 = { let __t973 = v_V5743.clone(); rt::tl(&__t973)? }; rt::tl(&__t974)? }; rt::tl(&__t975)? }; rt::eq(&__t972, &__t976) }; Value::bool(rt::is_truthy(interp, &__t978)?) } }; Value::bool(rt::is_truthy(interp, &__t980)?) } }; Value::bool(rt::is_truthy(interp, &__t982)?) } }; Value::bool(rt::is_truthy(interp, &__t984)?) } }; if match rt::is_truthy(interp, &__t988) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t985 = Value::sym(interp.intern("cl.ABSEQUAL")); let __t987 = { let __t986 = v_V5743.clone(); rt::tl(&__t986)? }; rt::cons(&__t985, &__t987) }); } else { { let __t962 = { let __t957 = { let __t937 = v_V5743.clone(); rt::is_cons(&__t937) }; if !rt::is_truthy(interp, &__t957)? { Value::bool(false) } else { let __t958 = { let __t955 = { let __t938 = Value::sym(interp.intern("cl.greater?")); let __t940 = { let __t939 = v_V5743.clone(); rt::hd(&__t939)? }; rt::eq(&__t938, &__t940) }; if !rt::is_truthy(interp, &__t955)? { Value::bool(false) } else { let __t956 = { let __t953 = { let __t942 = { let __t941 = v_V5743.clone(); rt::tl(&__t941)? }; rt::is_cons(&__t942) }; if !rt::is_truthy(interp, &__t953)? { Value::bool(false) } else { let __t954 = { let __t951 = { let __t945 = { let __t944 = { let __t943 = v_V5743.clone(); rt::tl(&__t943)? }; rt::tl(&__t944)? }; rt::is_cons(&__t945) }; if !rt::is_truthy(interp, &__t951)? { Value::bool(false) } else { let __t952 = { let __t946 = Value::nil(); let __t950 = { let __t949 = { let __t948 = { let __t947 = v_V5743.clone(); rt::tl(&__t947)? }; rt::tl(&__t948)? }; rt::tl(&__t949)? }; rt::eq(&__t946, &__t950) }; Value::bool(rt::is_truthy(interp, &__t952)?) } }; Value::bool(rt::is_truthy(interp, &__t954)?) } }; Value::bool(rt::is_truthy(interp, &__t956)?) } }; Value::bool(rt::is_truthy(interp, &__t958)?) } }; if match rt::is_truthy(interp, &__t962) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t959 = Value::sym(interp.intern(">")); let __t961 = { let __t960 = v_V5743.clone(); rt::tl(&__t960)? }; rt::cons(&__t959, &__t961) }); } else { { let __t936 = { let __t931 = { let __t911 = v_V5743.clone(); rt::is_cons(&__t911) }; if !rt::is_truthy(interp, &__t931)? { Value::bool(false) } else { let __t932 = { let __t929 = { let __t912 = Value::sym(interp.intern("cl.greater-than-or-equal-to?")); let __t914 = { let __t913 = v_V5743.clone(); rt::hd(&__t913)? }; rt::eq(&__t912, &__t914) }; if !rt::is_truthy(interp, &__t929)? { Value::bool(false) } else { let __t930 = { let __t927 = { let __t916 = { let __t915 = v_V5743.clone(); rt::tl(&__t915)? }; rt::is_cons(&__t916) }; if !rt::is_truthy(interp, &__t927)? { Value::bool(false) } else { let __t928 = { let __t925 = { let __t919 = { let __t918 = { let __t917 = v_V5743.clone(); rt::tl(&__t917)? }; rt::tl(&__t918)? }; rt::is_cons(&__t919) }; if !rt::is_truthy(interp, &__t925)? { Value::bool(false) } else { let __t926 = { let __t920 = Value::nil(); let __t924 = { let __t923 = { let __t922 = { let __t921 = v_V5743.clone(); rt::tl(&__t921)? }; rt::tl(&__t922)? }; rt::tl(&__t923)? }; rt::eq(&__t920, &__t924) }; Value::bool(rt::is_truthy(interp, &__t926)?) } }; Value::bool(rt::is_truthy(interp, &__t928)?) } }; Value::bool(rt::is_truthy(interp, &__t930)?) } }; Value::bool(rt::is_truthy(interp, &__t932)?) } }; if match rt::is_truthy(interp, &__t936) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t933 = Value::sym(interp.intern(">=")); let __t935 = { let __t934 = v_V5743.clone(); rt::tl(&__t934)? }; rt::cons(&__t933, &__t935) }); } else { { let __t910 = { let __t905 = { let __t885 = v_V5743.clone(); rt::is_cons(&__t885) }; if !rt::is_truthy(interp, &__t905)? { Value::bool(false) } else { let __t906 = { let __t903 = { let __t886 = Value::sym(interp.intern("cl.less?")); let __t888 = { let __t887 = v_V5743.clone(); rt::hd(&__t887)? }; rt::eq(&__t886, &__t888) }; if !rt::is_truthy(interp, &__t903)? { Value::bool(false) } else { let __t904 = { let __t901 = { let __t890 = { let __t889 = v_V5743.clone(); rt::tl(&__t889)? }; rt::is_cons(&__t890) }; if !rt::is_truthy(interp, &__t901)? { Value::bool(false) } else { let __t902 = { let __t899 = { let __t893 = { let __t892 = { let __t891 = v_V5743.clone(); rt::tl(&__t891)? }; rt::tl(&__t892)? }; rt::is_cons(&__t893) }; if !rt::is_truthy(interp, &__t899)? { Value::bool(false) } else { let __t900 = { let __t894 = Value::nil(); let __t898 = { let __t897 = { let __t896 = { let __t895 = v_V5743.clone(); rt::tl(&__t895)? }; rt::tl(&__t896)? }; rt::tl(&__t897)? }; rt::eq(&__t894, &__t898) }; Value::bool(rt::is_truthy(interp, &__t900)?) } }; Value::bool(rt::is_truthy(interp, &__t902)?) } }; Value::bool(rt::is_truthy(interp, &__t904)?) } }; Value::bool(rt::is_truthy(interp, &__t906)?) } }; if match rt::is_truthy(interp, &__t910) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t907 = Value::sym(interp.intern("<")); let __t909 = { let __t908 = v_V5743.clone(); rt::tl(&__t908)? }; rt::cons(&__t907, &__t909) }); } else { { let __t884 = { let __t879 = { let __t859 = v_V5743.clone(); rt::is_cons(&__t859) }; if !rt::is_truthy(interp, &__t879)? { Value::bool(false) } else { let __t880 = { let __t877 = { let __t860 = Value::sym(interp.intern("cl.less-than-or-equal-to?")); let __t862 = { let __t861 = v_V5743.clone(); rt::hd(&__t861)? }; rt::eq(&__t860, &__t862) }; if !rt::is_truthy(interp, &__t877)? { Value::bool(false) } else { let __t878 = { let __t875 = { let __t864 = { let __t863 = v_V5743.clone(); rt::tl(&__t863)? }; rt::is_cons(&__t864) }; if !rt::is_truthy(interp, &__t875)? { Value::bool(false) } else { let __t876 = { let __t873 = { let __t867 = { let __t866 = { let __t865 = v_V5743.clone(); rt::tl(&__t865)? }; rt::tl(&__t866)? }; rt::is_cons(&__t867) }; if !rt::is_truthy(interp, &__t873)? { Value::bool(false) } else { let __t874 = { let __t868 = Value::nil(); let __t872 = { let __t871 = { let __t870 = { let __t869 = v_V5743.clone(); rt::tl(&__t869)? }; rt::tl(&__t870)? }; rt::tl(&__t871)? }; rt::eq(&__t868, &__t872) }; Value::bool(rt::is_truthy(interp, &__t874)?) } }; Value::bool(rt::is_truthy(interp, &__t876)?) } }; Value::bool(rt::is_truthy(interp, &__t878)?) } }; Value::bool(rt::is_truthy(interp, &__t880)?) } }; if match rt::is_truthy(interp, &__t884) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t881 = Value::sym(interp.intern("<=")); let __t883 = { let __t882 = v_V5743.clone(); rt::tl(&__t882)? }; rt::cons(&__t881, &__t883) }); } else { { let __t858 = Value::bool(true); if match rt::is_truthy(interp, &__t858) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t854 = Value::sym(interp.intern("cl.wrapper")); let __t857 = { let __t855 = v_V5743.clone(); let __t856 = Value::nil(); rt::cons(&__t855, &__t856) }; rt::cons(&__t854, &__t857) }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } @@ -3144,12 +3144,12 @@ pub fn aot_cl_x2e_fastsymbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V5709 = args[0].clone(); + let mut v_V5750 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1608 = { - let __t1607 = v_V5709.clone(); + let __t1607 = v_V5750.clone(); rt::is_cons(&__t1607) }; if match rt::is_truthy(interp, &__t1608) { @@ -3161,7 +3161,7 @@ pub fn aot_cl_x2e_fastsymbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t1606 = { let __t1604 = Value::nil(); - let __t1605 = v_V5709.clone(); + let __t1605 = v_V5750.clone(); rt::eq(&__t1604, &__t1605) }; if match rt::is_truthy(interp, &__t1606) { @@ -3172,7 +3172,7 @@ pub fn aot_cl_x2e_fastsymbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe } else { { let __t1603 = { - let __t1602 = v_V5709.clone(); + let __t1602 = v_V5750.clone(); rt::is_string(&__t1602) }; if match rt::is_truthy(interp, &__t1603) { @@ -3183,7 +3183,7 @@ pub fn aot_cl_x2e_fastsymbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe } else { { let __t1601 = { - let __t1600 = v_V5709.clone(); + let __t1600 = v_V5750.clone(); rt::is_number(&__t1600) }; if match rt::is_truthy(interp, &__t1601) { @@ -3230,13 +3230,13 @@ pub fn aot_cl_x2e_wrapper(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult< ))); } #[allow(unused_mut)] - let mut v_V5711 = args[0].clone(); + let mut v_V5752 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1644 = { let __t1642 = Value::sym(interp.intern("=")); - let __t1643 = v_V5711.clone(); + let __t1643 = v_V5752.clone(); rt::eq(&__t1642, &__t1643) }; if match rt::is_truthy(interp, &__t1644) { @@ -3310,7 +3310,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< { let __t1641 = { let __t1639 = Value::sym(interp.intern(">")); - let __t1640 = v_V5711.clone(); + let __t1640 = v_V5752.clone(); rt::eq(&__t1639, &__t1640) }; if match rt::is_truthy(interp, &__t1641) { @@ -3322,7 +3322,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< { let __t1638 = { let __t1636 = Value::sym(interp.intern("<")); - let __t1637 = v_V5711.clone(); + let __t1637 = v_V5752.clone(); rt::eq(&__t1636, &__t1637) }; if match rt::is_truthy(interp, &__t1638) { @@ -3334,7 +3334,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< { let __t1635 = { let __t1633 = Value::sym(interp.intern(">=")); - let __t1634 = v_V5711.clone(); + let __t1634 = v_V5752.clone(); rt::eq(&__t1633, &__t1634) }; if match rt::is_truthy(interp, &__t1635) { @@ -3348,7 +3348,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< { let __t1632 = { let __t1630 = Value::sym(interp.intern("<=")); - let __t1631 = v_V5711.clone(); + let __t1631 = v_V5752.clone(); rt::eq(&__t1630, &__t1631) }; if match rt::is_truthy(interp, &__t1632) { @@ -3363,7 +3363,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< let __t1629 = { let __t1627 = Value::sym(interp.intern("+")); - let __t1628 = v_V5711.clone(); + let __t1628 = v_V5752.clone(); rt::eq(&__t1627, &__t1628) }; if match rt::is_truthy(interp, &__t1629) { @@ -3378,7 +3378,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< let __t1626 = { let __t1624 = Value::sym(interp.intern("-")); - let __t1625 = v_V5711.clone(); + let __t1625 = v_V5752.clone(); rt::eq(&__t1624, &__t1625) }; if match rt::is_truthy(interp, &__t1626) @@ -3396,7 +3396,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< interp.intern("/"), ); let __t1622 = - v_V5711.clone(); + v_V5752.clone(); rt::eq(&__t1621, &__t1622) }; if match rt::is_truthy( @@ -3421,7 +3421,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< ), ); let __t1619 = - v_V5711.clone(); + v_V5752.clone(); rt::eq( &__t1618, &__t1619, @@ -3442,7 +3442,7 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< Value::bool( true, ); - if match rt::is_truthy(interp, &__t1617) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5711.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } + if match rt::is_truthy(interp, &__t1617) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5752.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } } } } diff --git a/crates/shen-rust/src/aot/kernel/core.rs b/crates/shen-rust/src/aot/kernel/core.rs index a1d9554..8b13789 100644 --- a/crates/shen-rust/src/aot/kernel/core.rs +++ b/crates/shen-rust/src/aot/kernel/core.rs @@ -1,10781 +1 @@ -//! Auto-generated by `klcompile` from kernel/klambda/core.kl. -//! -//! DO NOT EDIT. Re-run klcompile to regenerate. -#![allow( - unused_variables, - unused_braces, - unused_imports, - clippy::let_and_return, - clippy::needless_question_mark, - clippy::redundant_clone, - clippy::needless_late_init, - clippy::len_zero, - clippy::needless_borrow, - clippy::approx_constant, - clippy::redundant_closure_call, - non_snake_case -)] - -use crate::aot::runtime as rt; -use crate::error::{ShenError, ShenResult}; -use crate::interp::eval::Interp; -use crate::value::Value; -use std::rc::Rc; - -/// AOT-compiled from KL `(defun shen.shen->kl ...)` -pub fn aot_shen_x2e_shen_x2d__x3e_kl(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.shen->kl: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V521 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W522 = { - let __t0 = v_V521.clone(); - rt::apply_direct(interp, "shen.shen->kl-h", &[__t0])? - }; - break Ok({ - let __t1 = v_W522.clone(); - rt::apply_direct(interp, "shen.record-and-evaluate", &[__t1])? - }); - } - } -} - -fn install_shen_x2e_shen_x2d__x3e_kl(interp: &mut Interp) { - interp.register_native("shen.shen->kl", 1, aot_shen_x2e_shen_x2d__x3e_kl); - interp.register_aot_direct("shen.shen->kl", aot_shen_x2e_shen_x2d__x3e_kl); -} - -/// AOT-compiled from KL `(defun shen.record-and-evaluate ...)` -pub fn aot_shen_x2e_record_x2d_and_x2d_evaluate( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.record-and-evaluate: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V523 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t58 = { - let __t30 = { - let __t3 = v_V523.clone(); - rt::is_cons(&__t3) - }; - if !rt::is_truthy(interp, &__t30)? { - Value::bool(false) - } else { - let __t31 = { - let __t28 = { - let __t4 = Value::sym(interp.intern("defun")); - let __t6 = { - let __t5 = v_V523.clone(); - rt::hd(&__t5)? - }; - rt::eq(&__t4, &__t6) - }; - if !rt::is_truthy(interp, &__t28)? { - Value::bool(false) - } else { - let __t29 = { - let __t26 = { - let __t8 = { - let __t7 = v_V523.clone(); - rt::tl(&__t7)? - }; - rt::is_cons(&__t8) - }; - if !rt::is_truthy(interp, &__t26)? { - Value::bool(false) - } else { - let __t27 = { - let __t24 = { - let __t11 = { - let __t10 = { - let __t9 = v_V523.clone(); - rt::tl(&__t9)? - }; - rt::tl(&__t10)? - }; - rt::is_cons(&__t11) - }; - if !rt::is_truthy(interp, &__t24)? { - Value::bool(false) - } else { - let __t25 = { - let __t22 = { - let __t15 = { - let __t14 = { - let __t13 = { - let __t12 = v_V523.clone(); - rt::tl(&__t12)? - }; - rt::tl(&__t13)? - }; - rt::tl(&__t14)? - }; - rt::is_cons(&__t15) - }; - if !rt::is_truthy(interp, &__t22)? { - Value::bool(false) - } else { - let __t23 = { - let __t16 = Value::nil(); - let __t21 = { - let __t20 = { - let __t19 = { - let __t18 = { - let __t17 = v_V523.clone(); - rt::tl(&__t17)? - }; - rt::tl(&__t18)? - }; - rt::tl(&__t19)? - }; - rt::tl(&__t20)? - }; - rt::eq(&__t16, &__t21) - }; - Value::bool(rt::is_truthy(interp, &__t23)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t25)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t27)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t29)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t31)?) - } - }; - if match rt::is_truthy(interp, &__t58) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W524 = { - let __t41 = { - let __t34 = { - let __t33 = { - let __t32 = v_V523.clone(); - rt::tl(&__t32)? - }; - rt::hd(&__t33)? - }; - rt::apply_direct(interp, "shen.sysfunc?", &[__t34])? - }; - if rt::is_truthy(interp, &__t41)? { - { - let __t40 = { - let __t37 = { - let __t36 = { - let __t35 = v_V523.clone(); - rt::tl(&__t35)? - }; - rt::hd(&__t36)? - }; - let __t38 = Value::str(" is not a legitimate function name\n"); - let __t39 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t37, __t38, __t39])? - }; - rt::apply_direct(interp, "simple-error", &[__t40])? - } - } else { - Value::sym(interp.intern("shen.skip")) - } - }; - { - let v_W525 = { - let __t44 = { - let __t43 = { - let __t42 = v_V523.clone(); - rt::tl(&__t42)? - }; - rt::hd(&__t43)? - }; - let __t49 = { - let __t48 = { - let __t47 = { - let __t46 = { - let __t45 = v_V523.clone(); - rt::tl(&__t45)? - }; - rt::tl(&__t46)? - }; - rt::hd(&__t47)? - }; - rt::apply_direct(interp, "length", &[__t48])? - }; - rt::apply_direct(interp, "shen.store-arity", &[__t44, __t49])? - }; - { - let v_W526 = { - let __t52 = { - let __t51 = { - let __t50 = v_V523.clone(); - rt::tl(&__t50)? - }; - rt::hd(&__t51)? - }; - let __t53 = v_V523.clone(); - rt::apply_direct(interp, "shen.record-kl", &[__t52, __t53])? - }; - { - let v_W527 = { - let __t54 = v_V523.clone(); - rt::apply_direct(interp, "eval-kl", &[__t54])? - }; - break Ok({ - let __t57 = { - let __t56 = { - let __t55 = v_V523.clone(); - rt::tl(&__t55)? - }; - rt::hd(&__t56)? - }; - rt::apply_direct(interp, "shen.fn-print", &[__t57])? - }); - } - } - } - } - } else { - { - let __t2 = Value::bool(true); - if match rt::is_truthy(interp, &__t2) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V523.clone()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_record_x2d_and_x2d_evaluate(interp: &mut Interp) { - interp.register_native( - "shen.record-and-evaluate", - 1, - aot_shen_x2e_record_x2d_and_x2d_evaluate, - ); - interp.register_aot_direct( - "shen.record-and-evaluate", - aot_shen_x2e_record_x2d_and_x2d_evaluate, - ); -} - -/// AOT-compiled from KL `(defun shen.shen->kl-h ...)` -pub fn aot_shen_x2e_shen_x2d__x3e_kl_x2d_h( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.shen->kl-h: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V528 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t178 = { - let __t170 = { - let __t162 = v_V528.clone(); - rt::is_cons(&__t162) - }; - if !rt::is_truthy(interp, &__t170)? { - Value::bool(false) - } else { - let __t171 = { - let __t168 = { - let __t163 = Value::sym(interp.intern("define")); - let __t165 = { - let __t164 = v_V528.clone(); - rt::hd(&__t164)? - }; - rt::eq(&__t163, &__t165) - }; - if !rt::is_truthy(interp, &__t168)? { - Value::bool(false) - } else { - let __t169 = { - let __t167 = { - let __t166 = v_V528.clone(); - rt::tl(&__t166)? - }; - rt::is_cons(&__t167) - }; - Value::bool(rt::is_truthy(interp, &__t169)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t171)?) - } - }; - if match rt::is_truthy(interp, &__t178) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t174 = { - let __t173 = { - let __t172 = v_V528.clone(); - rt::tl(&__t172)? - }; - rt::hd(&__t173)? - }; - let __t177 = { - let __t176 = { - let __t175 = v_V528.clone(); - rt::tl(&__t175)? - }; - rt::tl(&__t176)? - }; - rt::apply_direct(interp, "shen.shendef->kldef", &[__t174, __t177])? - }); - } else { - { - let __t161 = { - let __t159 = { - let __t132 = v_V528.clone(); - rt::is_cons(&__t132) - }; - if !rt::is_truthy(interp, &__t159)? { - Value::bool(false) - } else { - let __t160 = { - let __t157 = { - let __t133 = Value::sym(interp.intern("defun")); - let __t135 = { - let __t134 = v_V528.clone(); - rt::hd(&__t134)? - }; - rt::eq(&__t133, &__t135) - }; - if !rt::is_truthy(interp, &__t157)? { - Value::bool(false) - } else { - let __t158 = { - let __t155 = { - let __t137 = { - let __t136 = v_V528.clone(); - rt::tl(&__t136)? - }; - rt::is_cons(&__t137) - }; - if !rt::is_truthy(interp, &__t155)? { - Value::bool(false) - } else { - let __t156 = { - let __t153 = { - let __t140 = { - let __t139 = { - let __t138 = v_V528.clone(); - rt::tl(&__t138)? - }; - rt::tl(&__t139)? - }; - rt::is_cons(&__t140) - }; - if !rt::is_truthy(interp, &__t153)? { - Value::bool(false) - } else { - let __t154 = { - let __t151 = { - let __t144 = { - let __t143 = { - let __t142 = { - let __t141 = v_V528.clone(); - rt::tl(&__t141)? - }; - rt::tl(&__t142)? - }; - rt::tl(&__t143)? - }; - rt::is_cons(&__t144) - }; - if !rt::is_truthy(interp, &__t151)? { - Value::bool(false) - } else { - let __t152 = { - let __t145 = Value::nil(); - let __t150 = { - let __t149 = { - let __t148 = { - let __t147 = { - let __t146 = - v_V528.clone(); - rt::tl(&__t146)? - }; - rt::tl(&__t147)? - }; - rt::tl(&__t148)? - }; - rt::tl(&__t149)? - }; - rt::eq(&__t145, &__t150) - }; - Value::bool(rt::is_truthy( - interp, &__t152, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t154)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t156)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t158)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t160)?) - } - }; - if match rt::is_truthy(interp, &__t161) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V528.clone()); - } else { - { - let __t131 = { - let __t117 = { - let __t97 = v_V528.clone(); - rt::is_cons(&__t97) - }; - if !rt::is_truthy(interp, &__t117)? { - Value::bool(false) - } else { - let __t118 = { - let __t115 = { - let __t98 = Value::sym(interp.intern("type")); - let __t100 = { - let __t99 = v_V528.clone(); - rt::hd(&__t99)? - }; - rt::eq(&__t98, &__t100) - }; - if !rt::is_truthy(interp, &__t115)? { - Value::bool(false) - } else { - let __t116 = { - let __t113 = { - let __t102 = { - let __t101 = v_V528.clone(); - rt::tl(&__t101)? - }; - rt::is_cons(&__t102) - }; - if !rt::is_truthy(interp, &__t113)? { - Value::bool(false) - } else { - let __t114 = { - let __t111 = { - let __t105 = { - let __t104 = { - let __t103 = v_V528.clone(); - rt::tl(&__t103)? - }; - rt::tl(&__t104)? - }; - rt::is_cons(&__t105) - }; - if !rt::is_truthy(interp, &__t111)? { - Value::bool(false) - } else { - let __t112 = { - let __t106 = Value::nil(); - let __t110 = { - let __t109 = { - let __t108 = { - let __t107 = - v_V528.clone(); - rt::tl(&__t107)? - }; - rt::tl(&__t108)? - }; - rt::tl(&__t109)? - }; - rt::eq(&__t106, &__t110) - }; - Value::bool(rt::is_truthy( - interp, &__t112, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t114)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t116)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t118)?) - } - }; - if match rt::is_truthy(interp, &__t131) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t119 = Value::sym(interp.intern("type")); - let __t130 = { - let __t122 = { - let __t121 = { - let __t120 = v_V528.clone(); - rt::tl(&__t120)? - }; - rt::hd(&__t121)? - }; - let __t129 = { - let __t127 = { - let __t126 = { - let __t125 = { - let __t124 = { - let __t123 = v_V528.clone(); - rt::tl(&__t123)? - }; - rt::tl(&__t124)? - }; - rt::hd(&__t125)? - }; - rt::apply_direct( - interp, - "shen.rcons_form", - &[__t126], - )? - }; - let __t128 = Value::nil(); - rt::cons(&__t127, &__t128) - }; - rt::cons(&__t122, &__t129) - }; - rt::cons(&__t119, &__t130) - }); - } else { - { - let __t96 = { - let __t85 = { - let __t65 = v_V528.clone(); - rt::is_cons(&__t65) - }; - if !rt::is_truthy(interp, &__t85)? { - Value::bool(false) - } else { - let __t86 = { - let __t83 = { - let __t66 = Value::sym(interp.intern("input+")); - let __t68 = { - let __t67 = v_V528.clone(); - rt::hd(&__t67)? - }; - rt::eq(&__t66, &__t68) - }; - if !rt::is_truthy(interp, &__t83)? { - Value::bool(false) - } else { - let __t84 = { - let __t81 = { - let __t70 = { - let __t69 = v_V528.clone(); - rt::tl(&__t69)? - }; - rt::is_cons(&__t70) - }; - if !rt::is_truthy(interp, &__t81)? { - Value::bool(false) - } else { - let __t82 = { - let __t79 = { - let __t73 = { - let __t72 = { - let __t71 = - v_V528.clone(); - rt::tl(&__t71)? - }; - rt::tl(&__t72)? - }; - rt::is_cons(&__t73) - }; - if !rt::is_truthy(interp, &__t79)? { - Value::bool(false) - } else { - let __t80 = { - let __t74 = Value::nil(); - let __t78 = { - let __t77 = { - let __t76 = { - let __t75 = - v_V528 - .clone( - ); - rt::tl(&__t75)? - }; - rt::tl(&__t76)? - }; - rt::tl(&__t77)? - }; - rt::eq(&__t74, &__t78) - }; - Value::bool(rt::is_truthy( - interp, &__t80, - )?) - } - }; - Value::bool(rt::is_truthy( - interp, &__t82, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t84)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t86)?) - } - }; - if match rt::is_truthy(interp, &__t96) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t87 = Value::sym(interp.intern("input+")); - let __t95 = { - let __t91 = { - let __t90 = { - let __t89 = { - let __t88 = v_V528.clone(); - rt::tl(&__t88)? - }; - rt::hd(&__t89)? - }; - rt::apply_direct( - interp, - "shen.rcons_form", - &[__t90], - )? - }; - let __t94 = { - let __t93 = { - let __t92 = v_V528.clone(); - rt::tl(&__t92)? - }; - rt::tl(&__t93)? - }; - rt::cons(&__t91, &__t94) - }; - rt::cons(&__t87, &__t95) - }); - } else { - { - let __t64 = { - let __t60 = v_V528.clone(); - rt::is_cons(&__t60) - }; - if match rt::is_truthy(interp, &__t64) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t62 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z529 = args[0].clone(); - Ok({ - let __t61 = v_Z529.clone(); - rt::apply_direct( - interp, - "shen.shen->kl-h", - &[__t61], - )? - }) - }, - Vec::new(), - interp, - ) - }; - let __t63 = v_V528.clone(); - rt::apply_direct( - interp, - "map", - &[__t62, __t63], - )? - }); - } else { - { - let __t59 = Value::bool(true); - if match rt::is_truthy(interp, &__t59) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V528.clone()); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_shen_x2d__x3e_kl_x2d_h(interp: &mut Interp) { - interp.register_native("shen.shen->kl-h", 1, aot_shen_x2e_shen_x2d__x3e_kl_x2d_h); - interp.register_aot_direct("shen.shen->kl-h", aot_shen_x2e_shen_x2d__x3e_kl_x2d_h); -} - -/// AOT-compiled from KL `(defun shen.shendef->kldef ...)` -pub fn aot_shen_x2e_shendef_x2d__x3e_kldef( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.shendef->kldef: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V530 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V531 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - break Ok({ - let __t180 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z532 = args[0].clone(); - Ok({ - let __t179 = v_Z532.clone(); - rt::apply_direct(interp, "shen.", &[__t179])? - }) - }, - Vec::new(), - interp, - ) - }; - let __t183 = { - let __t181 = v_V530.clone(); - let __t182 = v_V531.clone(); - rt::cons(&__t181, &__t182) - }; - rt::apply_direct(interp, "compile", &[__t180, __t183])? - }); - } -} - -fn install_shen_x2e_shendef_x2d__x3e_kldef(interp: &mut Interp) { - interp.register_native( - "shen.shendef->kldef", - 2, - aot_shen_x2e_shendef_x2d__x3e_kldef, - ); - interp.register_aot_direct("shen.shendef->kldef", aot_shen_x2e_shendef_x2d__x3e_kldef); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_define_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V533 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W534 = { - let v_W535 = { - let __t184 = v_V533.clone(); - rt::apply_direct(interp, "shen.", &[__t184])? - }; - { - let __t209 = { - let __t185 = v_W535.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t185])? - }; - if rt::is_truthy(interp, &__t209)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W536 = { - let __t186 = v_W535.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t186])? - }; - { - let v_W537 = { - let __t187 = v_W535.clone(); - rt::apply_direct(interp, "shen.in->", &[__t187])? - }; - { - let __t208 = { - let __t188 = v_W537.clone(); - let __t189 = Value::sym(interp.intern("{")); - rt::apply_direct(interp, "shen.hds=?", &[__t188, __t189])? - }; - if rt::is_truthy(interp, &__t208)? { - { - let v_W538 = { - let __t190 = v_W537.clone(); - rt::apply_direct(interp, "tail", &[__t190])? - }; - { - let v_W539 = { - let __t191 = v_W538.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t191], - )? - }; - { - let __t207 = { - let __t192 = v_W539.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t192], - )? - }; - if rt::is_truthy(interp, &__t207)? { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } else { - { - let v_W540 = { - let __t193 = v_W539.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t193], - )? - }; - { - let __t206 = { - let __t194 = v_W540.clone(); - let __t195 = Value::sym( - interp.intern("}"), - ); - rt::apply_direct( - interp, - "shen.hds=?", - &[__t194, __t195], - )? - }; - if rt::is_truthy(interp, &__t206)? { - { - let v_W541 = { - let __t196 = - v_W540.clone(); - rt::apply_direct( - interp, - "tail", - &[__t196], - )? - }; - { - let v_W542 = { - let __t197 = - v_W541.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t197], - )? - }; - { - let __t205 = { - let __t198 = - v_W542 - .clone( - ); - rt::apply_direct(interp, "shen.parse-failure?", &[__t198])? - }; - if rt::is_truthy( - interp, &__t205, - )? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W543 = { - let __t199 = v_W542.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t199])? - }; - { - let v_W544 = { - let __t200 = v_W542.clone(); - rt::apply_direct(interp, "shen.in->", &[__t200])? - }; - { - let __t201 = v_W544.clone(); - let __t204 = { let __t202 = v_W536.clone(); let __t203 = v_W543.clone(); rt::apply_direct(interp, "shen.shendef->kldef-h", &[__t202, __t203])? }; - rt::apply_direct(interp, "shen.comb", &[__t201, __t204])? - } - } - } - } - } - } - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - } - } - } - } - } - }; - { - let __t211 = { - let __t210 = v_W534.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t210])? - }; - if match rt::is_truthy(interp, &__t211) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W545 = { - let v_W546 = { - let __t212 = v_V533.clone(); - rt::apply_direct(interp, "shen.", &[__t212])? - }; - { - let __t225 = { - let __t213 = v_W546.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t213])? - }; - if rt::is_truthy(interp, &__t225)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W547 = { - let __t214 = v_W546.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t214])? - }; - { - let v_W548 = { - let __t215 = v_W546.clone(); - rt::apply_direct(interp, "shen.in->", &[__t215])? - }; - { - let v_W549 = { - let __t216 = v_W548.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t216], - )? - }; - { - let __t224 = { - let __t217 = v_W549.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t217], - )? - }; - if rt::is_truthy(interp, &__t224)? { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } else { - { - let v_W550 = { - let __t218 = v_W549.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t218], - )? - }; - { - let v_W551 = { - let __t219 = v_W549.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t219], - )? - }; - { - let __t220 = v_W551.clone(); - let __t223 = { - let __t221 = v_W547.clone(); - let __t222 = v_W550.clone(); - rt::apply_direct( - interp, - "shen.shendef->kldef-h", - &[__t221, __t222], - )? - }; - rt::apply_direct( - interp, - "shen.comb", - &[__t220, __t223], - )? - } - } - } - } - } - } - } - } - } - } - }; - { - let __t227 = { - let __t226 = v_W545.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t226])? - }; - if match rt::is_truthy(interp, &__t227) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W545.clone()); - } - } - } - } else { - break Ok(v_W534.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_define_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_define_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_define_x3e_); -} - -/// AOT-compiled from KL `(defun shen.shendef->kldef-h ...)` -pub fn aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.shendef->kldef-h: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V552 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V553 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W554 = { - let __t229 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z555 = args[0].clone(); - Ok({ - let __t228 = v_Z555.clone(); - rt::apply_direct(interp, "fst", &[__t228])? - }) - }, - Vec::new(), - interp, - ) - }; - let __t230 = v_V553.clone(); - rt::apply_direct(interp, "map", &[__t229, __t230])? - }; - { - let v_W556 = { - let __t231 = v_V552.clone(); - let __t232 = v_W554.clone(); - rt::apply_direct(interp, "shen.arity-chk", &[__t231, __t232])? - }; - { - let v_W557 = { - let __t235 = { - let v_V552 = v_V552.clone(); - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z558 = args[0].clone(); - Ok({ - let __t233 = v_V552.clone(); - let __t234 = v_Z558.clone(); - rt::apply_direct( - interp, - "shen.free-var-chk", - &[__t233, __t234], - )? - }) - }, - vec![v_V552], - interp, - ) - }; - let __t236 = v_V553.clone(); - rt::apply_direct(interp, "map", &[__t235, __t236])? - }; - { - let v_W559 = { - let __t237 = v_V553.clone(); - rt::apply_direct(interp, "shen.unprotect", &[__t237])? - }; - { - let v_W560 = { - let __t241 = { - let __t238 = v_V552.clone(); - let __t239 = v_W559.clone(); - let __t240 = v_W556.clone(); - rt::apply_direct( - interp, - "shen.compile-to-kl", - &[__t238, __t239, __t240], - )? - }; - rt::apply_direct(interp, "shen.factorise-code", &[__t241])? - }; - break Ok(v_W560.clone()); - } - } - } - } - } - } -} - -fn install_shen_x2e_shendef_x2d__x3e_kldef_x2d_h(interp: &mut Interp) { - interp.register_native( - "shen.shendef->kldef-h", - 2, - aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h, - ); - interp.register_aot_direct( - "shen.shendef->kldef-h", - aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h, - ); -} - -/// AOT-compiled from KL `(defun shen.unprotect ...)` -pub fn aot_shen_x2e_unprotect(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.unprotect: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V561 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t275 = { - let __t268 = v_V561.clone(); - rt::apply_direct(interp, "tuple?", &[__t268])? - }; - if match rt::is_truthy(interp, &__t275) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t271 = { - let __t270 = { - let __t269 = v_V561.clone(); - rt::apply_direct(interp, "fst", &[__t269])? - }; - rt::apply_direct(interp, "shen.unprotect", &[__t270])? - }; - let __t274 = { - let __t273 = { - let __t272 = v_V561.clone(); - rt::apply_direct(interp, "snd", &[__t272])? - }; - rt::apply_direct(interp, "shen.unprotect", &[__t273])? - }; - rt::apply_direct(interp, "@p", &[__t271, __t274])? - }); - } else { - { - let __t267 = { - let __t262 = { - let __t248 = v_V561.clone(); - rt::is_cons(&__t248) - }; - if !rt::is_truthy(interp, &__t262)? { - Value::bool(false) - } else { - let __t263 = { - let __t260 = { - let __t249 = Value::sym(interp.intern("protect")); - let __t251 = { - let __t250 = v_V561.clone(); - rt::hd(&__t250)? - }; - rt::eq(&__t249, &__t251) - }; - if !rt::is_truthy(interp, &__t260)? { - Value::bool(false) - } else { - let __t261 = { - let __t258 = { - let __t253 = { - let __t252 = v_V561.clone(); - rt::tl(&__t252)? - }; - rt::is_cons(&__t253) - }; - if !rt::is_truthy(interp, &__t258)? { - Value::bool(false) - } else { - let __t259 = { - let __t254 = Value::nil(); - let __t257 = { - let __t256 = { - let __t255 = v_V561.clone(); - rt::tl(&__t255)? - }; - rt::tl(&__t256)? - }; - rt::eq(&__t254, &__t257) - }; - Value::bool(rt::is_truthy(interp, &__t259)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t261)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t263)?) - } - }; - if match rt::is_truthy(interp, &__t267) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t266 = { - let __t265 = { - let __t264 = v_V561.clone(); - rt::tl(&__t264)? - }; - rt::hd(&__t265)? - }; - v_V561 = __t266; - continue; - } - } else { - { - let __t247 = { - let __t243 = v_V561.clone(); - rt::is_cons(&__t243) - }; - if match rt::is_truthy(interp, &__t247) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t245 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z562 = args[0].clone(); - Ok({ - let __t244 = v_Z562.clone(); - rt::apply_direct( - interp, - "shen.unprotect", - &[__t244], - )? - }) - }, - Vec::new(), - interp, - ) - }; - let __t246 = v_V561.clone(); - rt::apply_direct(interp, "map", &[__t245, __t246])? - }); - } else { - { - let __t242 = Value::bool(true); - if match rt::is_truthy(interp, &__t242) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V561.clone()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_unprotect(interp: &mut Interp) { - interp.register_native("shen.unprotect", 1, aot_shen_x2e_unprotect); - interp.register_aot_direct("shen.unprotect", aot_shen_x2e_unprotect); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_name_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V563 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W564 = { - let __t291 = { - let __t276 = v_V563.clone(); - rt::is_cons(&__t276) - }; - if rt::is_truthy(interp, &__t291)? { - { - let v_W565 = { - let __t277 = v_V563.clone(); - rt::apply_direct(interp, "head", &[__t277])? - }; - { - let v_W566 = { - let __t278 = v_V563.clone(); - rt::apply_direct(interp, "tail", &[__t278])? - }; - { - let __t279 = v_W566.clone(); - let __t290 = { - let __t289 = { - let __t283 = { - let __t280 = v_W565.clone(); - rt::is_symbol(&__t280) - }; - if !rt::is_truthy(interp, &__t283)? { - Value::bool(false) - } else { - let __t284 = { - let __t282 = { - let __t281 = v_W565.clone(); - rt::apply_direct( - interp, - "variable?", - &[__t281], - )? - }; - rt::apply_direct(interp, "not", &[__t282])? - }; - Value::bool(rt::is_truthy(interp, &__t284)?) - } - }; - if rt::is_truthy(interp, &__t289)? { - v_W565.clone() - } else { - { - let __t288 = { - let __t285 = v_W565.clone(); - let __t286 = Value::str( - " is not a legitimate function name.\n", - ); - let __t287 = Value::sym(interp.intern("shen.a")); - rt::apply_direct( - interp, - "shen.app", - &[__t285, __t286, __t287], - )? - }; - rt::apply_direct(interp, "simple-error", &[__t288])? - } - } - }; - rt::apply_direct(interp, "shen.comb", &[__t279, __t290])? - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - }; - { - let __t293 = { - let __t292 = v_W564.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t292])? - }; - if match rt::is_truthy(interp, &__t293) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W564.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_name_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_name_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_name_x3e_); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_signature_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V567 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W568 = { - let __t314 = { - let __t294 = v_V567.clone(); - rt::is_cons(&__t294) - }; - if rt::is_truthy(interp, &__t314)? { - { - let v_W569 = { - let __t295 = v_V567.clone(); - rt::apply_direct(interp, "head", &[__t295])? - }; - { - let v_W570 = { - let __t296 = v_V567.clone(); - rt::apply_direct(interp, "tail", &[__t296])? - }; - { - let v_W571 = { - let __t297 = v_W570.clone(); - rt::apply_direct(interp, "shen.", &[__t297])? - }; - { - let __t313 = { - let __t298 = v_W571.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t298])? - }; - if rt::is_truthy(interp, &__t313)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W572 = { - let __t299 = v_W571.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t299])? - }; - { - let v_W573 = { - let __t300 = v_W571.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t300], - )? - }; - { - let __t312 = { - let __t307 = { - let __t301 = v_W569.clone(); - let __t306 = { - let __t302 = - Value::sym(interp.intern("{")); - let __t305 = { - let __t303 = Value::sym( - interp.intern("}"), - ); - let __t304 = Value::nil(); - rt::cons(&__t303, &__t304) - }; - rt::cons(&__t302, &__t305) - }; - rt::apply_direct( - interp, - "element?", - &[__t301, __t306], - )? - }; - rt::apply_direct(interp, "not", &[__t307])? - }; - if rt::is_truthy(interp, &__t312)? { - { - let __t308 = v_W573.clone(); - let __t311 = { - let __t309 = v_W569.clone(); - let __t310 = v_W572.clone(); - rt::cons(&__t309, &__t310) - }; - rt::apply_direct( - interp, - "shen.comb", - &[__t308, __t311], - )? - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } - } - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - }; - { - let __t316 = { - let __t315 = v_W568.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t315])? - }; - if match rt::is_truthy(interp, &__t316) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W574 = { - let v_W575 = { - let __t317 = v_V567.clone(); - rt::apply_direct(interp, "", &[__t317])? - }; - { - let __t322 = { - let __t318 = v_W575.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t318])? - }; - if rt::is_truthy(interp, &__t322)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W576 = { - let __t319 = v_W575.clone(); - rt::apply_direct(interp, "shen.in->", &[__t319])? - }; - { - let __t320 = v_W576.clone(); - let __t321 = Value::nil(); - rt::apply_direct( - interp, - "shen.comb", - &[__t320, __t321], - )? - } - } - } - } - }; - { - let __t324 = { - let __t323 = v_W574.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t323])? - }; - if match rt::is_truthy(interp, &__t324) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W574.clone()); - } - } - } - } else { - break Ok(v_W568.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_signature_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_signature_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_signature_x3e_); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_rules_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V577 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W578 = { - let v_W579 = { - let __t325 = v_V577.clone(); - rt::apply_direct(interp, "shen.", &[__t325])? - }; - { - let __t339 = { - let __t326 = v_W579.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t326])? - }; - if rt::is_truthy(interp, &__t339)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W580 = { - let __t327 = v_W579.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t327])? - }; - { - let v_W581 = { - let __t328 = v_W579.clone(); - rt::apply_direct(interp, "shen.in->", &[__t328])? - }; - { - let v_W582 = { - let __t329 = v_W581.clone(); - rt::apply_direct(interp, "shen.", &[__t329])? - }; - { - let __t338 = { - let __t330 = v_W582.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t330], - )? - }; - if rt::is_truthy(interp, &__t338)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W583 = { - let __t331 = v_W582.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t331], - )? - }; - { - let v_W584 = { - let __t332 = v_W582.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t332], - )? - }; - { - let __t333 = v_W584.clone(); - let __t337 = { - let __t335 = { - let __t334 = v_W580.clone(); - rt::apply_direct( - interp, - "shen.linearise", - &[__t334], - )? - }; - let __t336 = v_W583.clone(); - rt::cons(&__t335, &__t336) - }; - rt::apply_direct( - interp, - "shen.comb", - &[__t333, __t337], - )? - } - } - } - } - } - } - } - } - } - } - }; - { - let __t341 = { - let __t340 = v_W578.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t340])? - }; - if match rt::is_truthy(interp, &__t341) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W585 = { - let v_W586 = { - let __t342 = v_V577.clone(); - rt::apply_direct(interp, "", &[__t342])? - }; - { - let __t356 = { - let __t343 = v_W586.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t343])? - }; - if rt::is_truthy(interp, &__t356)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W587 = { - let __t344 = v_W586.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t344])? - }; - { - let v_W588 = { - let __t345 = v_W586.clone(); - rt::apply_direct(interp, "shen.in->", &[__t345])? - }; - { - let __t346 = v_W588.clone(); - let __t355 = { - let __t354 = { - let __t347 = v_W587.clone(); - rt::apply_direct( - interp, - "empty?", - &[__t347], - )? - }; - if rt::is_truthy(interp, &__t354)? { - Value::nil() - } else { - { - let __t353 = { - let __t348 = Value::str( - "Shen syntax error here:\n ", - ); - let __t352 = { - let __t349 = v_W587.clone(); - let __t350 = - Value::str("\n ..."); - let __t351 = Value::sym( - interp.intern("shen.r"), - ); - rt::apply_direct( - interp, - "shen.app", - &[__t349, __t350, __t351], - )? - }; - rt::apply_direct( - interp, - "cn", - &[__t348, __t352], - )? - }; - rt::apply_direct( - interp, - "simple-error", - &[__t353], - )? - } - } - }; - rt::apply_direct( - interp, - "shen.comb", - &[__t346, __t355], - )? - } - } - } - } - } - }; - { - let __t358 = { - let __t357 = v_W585.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t357])? - }; - if match rt::is_truthy(interp, &__t358) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W585.clone()); - } - } - } - } else { - break Ok(v_W578.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_rules_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_rules_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_rules_x3e_); -} - -/// AOT-compiled from KL `(defun shen.linearise ...)` -pub fn aot_shen_x2e_linearise(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.linearise: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V591 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t369 = { - let __t361 = v_V591.clone(); - rt::apply_direct(interp, "tuple?", &[__t361])? - }; - if match rt::is_truthy(interp, &__t369) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t363 = { - let __t362 = v_V591.clone(); - rt::apply_direct(interp, "fst", &[__t362])? - }; - let __t365 = { - let __t364 = v_V591.clone(); - rt::apply_direct(interp, "fst", &[__t364])? - }; - let __t366 = Value::nil(); - let __t368 = { - let __t367 = v_V591.clone(); - rt::apply_direct(interp, "snd", &[__t367])? - }; - rt::apply_direct( - interp, - "shen.linearise-h", - &[__t363, __t365, __t366, __t368], - )? - }); - } else { - { - let __t360 = Value::bool(true); - if match rt::is_truthy(interp, &__t360) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t359 = Value::str("implementation error in shen.linearise"); - rt::apply_direct(interp, "simple-error", &[__t359])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_linearise(interp: &mut Interp) { - interp.register_native("shen.linearise", 1, aot_shen_x2e_linearise); - interp.register_aot_direct("shen.linearise", aot_shen_x2e_linearise); -} - -/// AOT-compiled from KL `(defun shen.linearise-h ...)` -pub fn aot_shen_x2e_linearise_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 4 { - return Err(ShenError::new(format!( - "shen.linearise-h: expected 4 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V604 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V605 = args[1].clone(); - #[allow(unused_mut)] - let mut v_V606 = args[2].clone(); - #[allow(unused_mut)] - let mut v_V607 = args[3].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t438 = { - let __t434 = Value::nil(); - let __t435 = v_V604.clone(); - rt::eq(&__t434, &__t435) - }; - if match rt::is_truthy(interp, &__t438) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t436 = v_V605.clone(); - let __t437 = v_V607.clone(); - rt::apply_direct(interp, "@p", &[__t436, __t437])? - }); - } else { - { - let __t433 = { - let __t423 = { - let __t420 = v_V604.clone(); - rt::is_cons(&__t420) - }; - if !rt::is_truthy(interp, &__t423)? { - Value::bool(false) - } else { - let __t424 = { - let __t422 = { - let __t421 = v_V604.clone(); - rt::hd(&__t421)? - }; - rt::is_cons(&__t422) - }; - Value::bool(rt::is_truthy(interp, &__t424)?) - } - }; - if match rt::is_truthy(interp, &__t433) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t429 = { - let __t426 = { - let __t425 = v_V604.clone(); - rt::hd(&__t425)? - }; - let __t428 = { - let __t427 = v_V604.clone(); - rt::tl(&__t427)? - }; - rt::apply_direct(interp, "append", &[__t426, __t428])? - }; - let __t430 = v_V605.clone(); - let __t431 = v_V606.clone(); - let __t432 = v_V607.clone(); - v_V604 = __t429; - v_V605 = __t430; - v_V606 = __t431; - v_V607 = __t432; - continue; - } - } else { - { - let __t419 = { - let __t382 = { - let __t379 = v_V604.clone(); - rt::is_cons(&__t379) - }; - if !rt::is_truthy(interp, &__t382)? { - Value::bool(false) - } else { - let __t383 = { - let __t381 = { - let __t380 = v_V604.clone(); - rt::hd(&__t380)? - }; - rt::apply_direct(interp, "variable?", &[__t381])? - }; - Value::bool(rt::is_truthy(interp, &__t383)?) - } - }; - if match rt::is_truthy(interp, &__t419) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t387 = { - let __t385 = { - let __t384 = v_V604.clone(); - rt::hd(&__t384)? - }; - let __t386 = v_V606.clone(); - rt::apply_direct(interp, "element?", &[__t385, __t386])? - }; - if match rt::is_truthy(interp, &__t387) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W608 = { - let __t388 = Value::sym(interp.intern("V")); - rt::apply_direct(interp, "gensym", &[__t388])? - }; - { - let __t390 = { - let __t389 = v_V604.clone(); - rt::tl(&__t389)? - }; - let __t395 = { - let __t392 = { - let __t391 = v_V604.clone(); - rt::hd(&__t391)? - }; - let __t393 = v_W608.clone(); - let __t394 = v_V605.clone(); - rt::apply_direct( - interp, - "shen.rep-X", - &[__t392, __t393, __t394], - )? - }; - let __t396 = v_V606.clone(); - let __t410 = { - let __t397 = Value::sym(interp.intern("where")); - let __t409 = { - let __t405 = { - let __t398 = - Value::sym(interp.intern("=")); - let __t404 = { - let __t399 = v_W608.clone(); - let __t403 = { - let __t401 = { - let __t400 = v_V604.clone(); - rt::hd(&__t400)? - }; - let __t402 = Value::nil(); - rt::cons(&__t401, &__t402) - }; - rt::cons(&__t399, &__t403) - }; - rt::cons(&__t398, &__t404) - }; - let __t408 = { - let __t406 = v_V607.clone(); - let __t407 = Value::nil(); - rt::cons(&__t406, &__t407) - }; - rt::cons(&__t405, &__t408) - }; - rt::cons(&__t397, &__t409) - }; - v_V604 = __t390; - v_V605 = __t395; - v_V606 = __t396; - v_V607 = __t410; - continue; - } - } - } else { - { - let __t412 = { - let __t411 = v_V604.clone(); - rt::tl(&__t411)? - }; - let __t413 = v_V605.clone(); - let __t417 = { - let __t415 = { - let __t414 = v_V604.clone(); - rt::hd(&__t414)? - }; - let __t416 = v_V606.clone(); - rt::cons(&__t415, &__t416) - }; - let __t418 = v_V607.clone(); - v_V604 = __t412; - v_V605 = __t413; - v_V606 = __t417; - v_V607 = __t418; - continue; - } - } - } - } else { - { - let __t378 = { - let __t372 = v_V604.clone(); - rt::is_cons(&__t372) - }; - if match rt::is_truthy(interp, &__t378) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t374 = { - let __t373 = v_V604.clone(); - rt::tl(&__t373)? - }; - let __t375 = v_V605.clone(); - let __t376 = v_V606.clone(); - let __t377 = v_V607.clone(); - v_V604 = __t374; - v_V605 = __t375; - v_V606 = __t376; - v_V607 = __t377; - continue; - } - } else { - { - let __t371 = Value::bool(true); - if match rt::is_truthy(interp, &__t371) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t370 = Value::str( - "implementation error in shen.linearise-h", - ); - rt::apply_direct( - interp, - "simple-error", - &[__t370], - )? - }); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_linearise_x2d_h(interp: &mut Interp) { - interp.register_native("shen.linearise-h", 4, aot_shen_x2e_linearise_x2d_h); - interp.register_aot_direct("shen.linearise-h", aot_shen_x2e_linearise_x2d_h); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V609 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W610 = { - let v_W611 = { - let __t439 = v_V609.clone(); - rt::apply_direct(interp, "shen.", &[__t439])? - }; - { - let __t469 = { - let __t440 = v_W611.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t440])? - }; - if rt::is_truthy(interp, &__t469)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W612 = { - let __t441 = v_W611.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t441])? - }; - { - let v_W613 = { - let __t442 = v_W611.clone(); - rt::apply_direct(interp, "shen.in->", &[__t442])? - }; - { - let __t468 = { - let __t443 = v_W613.clone(); - let __t444 = Value::sym(interp.intern("->")); - rt::apply_direct(interp, "shen.hds=?", &[__t443, __t444])? - }; - if rt::is_truthy(interp, &__t468)? { - { - let v_W614 = { - let __t445 = v_W613.clone(); - rt::apply_direct(interp, "tail", &[__t445])? - }; - { - let __t467 = { - let __t446 = v_W614.clone(); - rt::is_cons(&__t446) - }; - if rt::is_truthy(interp, &__t467)? { - { - let v_W615 = { - let __t447 = v_W614.clone(); - rt::apply_direct( - interp, - "head", - &[__t447], - )? - }; - { - let v_W616 = { - let __t448 = v_W614.clone(); - rt::apply_direct( - interp, - "tail", - &[__t448], - )? - }; - { - let __t466 = { - let __t449 = v_W616.clone(); - let __t450 = Value::sym( - interp.intern("where"), - ); - rt::apply_direct( - interp, - "shen.hds=?", - &[__t449, __t450], - )? - }; - if rt::is_truthy(interp, &__t466)? { - { - let v_W617 = { - let __t451 = - v_W616.clone(); - rt::apply_direct( - interp, - "tail", - &[__t451], - )? - }; - { - let __t465 = { - let __t452 = - v_W617.clone(); - rt::is_cons(&__t452) - }; - if rt::is_truthy( - interp, &__t465, - )? { - { - let v_W618 = { - let __t453 = v_W617.clone(); - rt::apply_direct(interp, "head", &[__t453])? - }; - { - let v_W619 = { - let __t454 = v_W617.clone(); - rt::apply_direct(interp, "tail", &[__t454])? - }; - { - let __t455 = v_W619.clone(); - let __t464 = { - let __t456 = v_W612.clone(); - let __t463 = { let __t457 = Value::sym(interp.intern("where")); let __t462 = { let __t458 = v_W618.clone(); let __t461 = { let __t459 = v_W615.clone(); let __t460 = Value::nil(); rt::cons(&__t459, &__t460) }; rt::cons(&__t458, &__t461) }; rt::cons(&__t457, &__t462) }; - rt::apply_direct(interp, "@p", &[__t456, __t463])? - }; - rt::apply_direct(interp, "shen.comb", &[__t455, __t464])? - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - } - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - } - } - } - } - } - }; - { - let __t471 = { - let __t470 = v_W610.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t470])? - }; - if match rt::is_truthy(interp, &__t471) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W620 = { - let v_W621 = { - let __t472 = v_V609.clone(); - rt::apply_direct(interp, "shen.", &[__t472])? - }; - { - let __t488 = { - let __t473 = v_W621.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t473])? - }; - if rt::is_truthy(interp, &__t488)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W622 = { - let __t474 = v_W621.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t474])? - }; - { - let v_W623 = { - let __t475 = v_W621.clone(); - rt::apply_direct(interp, "shen.in->", &[__t475])? - }; - { - let __t487 = { - let __t476 = v_W623.clone(); - let __t477 = Value::sym(interp.intern("->")); - rt::apply_direct( - interp, - "shen.hds=?", - &[__t476, __t477], - )? - }; - if rt::is_truthy(interp, &__t487)? { - { - let v_W624 = { - let __t478 = v_W623.clone(); - rt::apply_direct( - interp, - "tail", - &[__t478], - )? - }; - { - let __t486 = { - let __t479 = v_W624.clone(); - rt::is_cons(&__t479) - }; - if rt::is_truthy(interp, &__t486)? { - { - let v_W625 = { - let __t480 = v_W624.clone(); - rt::apply_direct( - interp, - "head", - &[__t480], - )? - }; - { - let v_W626 = { - let __t481 = - v_W624.clone(); - rt::apply_direct( - interp, - "tail", - &[__t481], - )? - }; - { - let __t482 = - v_W626.clone(); - let __t485 = { - let __t483 = - v_W622.clone(); - let __t484 = - v_W625.clone(); - rt::apply_direct( - interp, - "@p", - &[ - __t483, - __t484, - ], - )? - }; - rt::apply_direct( - interp, - "shen.comb", - &[__t482, __t485], - )? - } - } - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } - } - } - }; - { - let __t490 = { - let __t489 = v_W620.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t489])? - }; - if match rt::is_truthy(interp, &__t490) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W627 = { - let v_W628 = { - let __t491 = v_V609.clone(); - rt::apply_direct(interp, "shen.", &[__t491])? - }; - { - let __t525 = { - let __t492 = v_W628.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t492], - )? - }; - if rt::is_truthy(interp, &__t525)? { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } else { - { - let v_W629 = { - let __t493 = v_W628.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t493], - )? - }; - { - let v_W630 = { - let __t494 = v_W628.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t494], - )? - }; - { - let __t524 = { - let __t495 = v_W630.clone(); - let __t496 = - Value::sym(interp.intern("<-")); - rt::apply_direct( - interp, - "shen.hds=?", - &[__t495, __t496], - )? - }; - if rt::is_truthy(interp, &__t524)? { - { - let v_W631 = { - let __t497 = v_W630.clone(); - rt::apply_direct( - interp, - "tail", - &[__t497], - )? - }; - { - let __t523 = { - let __t498 = - v_W631.clone(); - rt::is_cons(&__t498) - }; - if rt::is_truthy( - interp, &__t523, - )? { - { - let v_W632 = { - let __t499 = - v_W631 - .clone( - ); - rt::apply_direct(interp, "head", &[__t499])? - }; - { - let v_W633 = { - let __t500 = v_W631.clone(); - rt::apply_direct(interp, "tail", &[__t500])? - }; - { - let __t522 = { - let __t501 = v_W633.clone(); - let __t502 = Value::sym(interp.intern("where")); - rt::apply_direct(interp, "shen.hds=?", &[__t501, __t502])? - }; - if rt::is_truthy(interp, &__t522)? { { let v_W634 = { let __t503 = v_W633.clone(); rt::apply_direct(interp, "tail", &[__t503])? }; { let __t521 = { let __t504 = v_W634.clone(); rt::is_cons(&__t504) }; if rt::is_truthy(interp, &__t521)? { { let v_W635 = { let __t505 = v_W634.clone(); rt::apply_direct(interp, "head", &[__t505])? }; { let v_W636 = { let __t506 = v_W634.clone(); rt::apply_direct(interp, "tail", &[__t506])? }; { let __t507 = v_W636.clone(); let __t520 = { let __t508 = v_W629.clone(); let __t519 = { let __t509 = Value::sym(interp.intern("where")); let __t518 = { let __t510 = v_W635.clone(); let __t517 = { let __t515 = { let __t511 = Value::sym(interp.intern("shen.choicepoint!")); let __t514 = { let __t512 = v_W632.clone(); let __t513 = Value::nil(); rt::cons(&__t512, &__t513) }; rt::cons(&__t511, &__t514) }; let __t516 = Value::nil(); rt::cons(&__t515, &__t516) }; rt::cons(&__t510, &__t517) }; rt::cons(&__t509, &__t518) }; rt::apply_direct(interp, "@p", &[__t508, __t519])? }; rt::apply_direct(interp, "shen.comb", &[__t507, __t520])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - } - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } - } - } - }; - { - let __t527 = { - let __t526 = v_W627.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t526], - )? - }; - if match rt::is_truthy(interp, &__t527) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W637 = { - let v_W638 = { - let __t528 = v_V609.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t528], - )? - }; - { - let __t548 = { - let __t529 = v_W638.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t529], - )? - }; - if rt::is_truthy(interp, &__t548)? { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } else { - { - let v_W639 = { - let __t530 = v_W638.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t530], - )? - }; - { - let v_W640 = { - let __t531 = v_W638.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t531], - )? - }; - { - let __t547 = { - let __t532 = - v_W640.clone(); - let __t533 = Value::sym( - interp.intern("<-"), - ); - rt::apply_direct( - interp, - "shen.hds=?", - &[__t532, __t533], - )? - }; - if rt::is_truthy( - interp, &__t547, - )? { - { - let v_W641 = { - let __t534 = - v_W640 - .clone( - ); - rt::apply_direct(interp, "tail", &[__t534])? - }; - { - let __t546 = { - let __t535 = v_W641.clone(); - rt::is_cons( - &__t535, - ) - }; - if rt::is_truthy(interp, &__t546)? { { let v_W642 = { let __t536 = v_W641.clone(); rt::apply_direct(interp, "head", &[__t536])? }; { let v_W643 = { let __t537 = v_W641.clone(); rt::apply_direct(interp, "tail", &[__t537])? }; { let __t538 = v_W643.clone(); let __t545 = { let __t539 = v_W639.clone(); let __t544 = { let __t540 = Value::sym(interp.intern("shen.choicepoint!")); let __t543 = { let __t541 = v_W642.clone(); let __t542 = Value::nil(); rt::cons(&__t541, &__t542) }; rt::cons(&__t540, &__t543) }; rt::apply_direct(interp, "@p", &[__t539, __t544])? }; rt::apply_direct(interp, "shen.comb", &[__t538, __t545])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - } - } - } - } - } - }; - { - let __t550 = { - let __t549 = v_W637.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t549], - )? - }; - if match rt::is_truthy(interp, &__t550) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - }); - } else { - break Ok(v_W637.clone()); - } - } - } - } else { - break Ok(v_W627.clone()); - } - } - } - } else { - break Ok(v_W620.clone()); - } - } - } - } else { - break Ok(v_W610.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_rule_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_rule_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_rule_x3e_); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_patterns_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V644 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W645 = { - let v_W646 = { - let __t551 = v_V644.clone(); - rt::apply_direct(interp, "shen.", &[__t551])? - }; - { - let __t564 = { - let __t552 = v_W646.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t552])? - }; - if rt::is_truthy(interp, &__t564)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W647 = { - let __t553 = v_W646.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t553])? - }; - { - let v_W648 = { - let __t554 = v_W646.clone(); - rt::apply_direct(interp, "shen.in->", &[__t554])? - }; - { - let v_W649 = { - let __t555 = v_W648.clone(); - rt::apply_direct(interp, "shen.", &[__t555])? - }; - { - let __t563 = { - let __t556 = v_W649.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t556], - )? - }; - if rt::is_truthy(interp, &__t563)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W650 = { - let __t557 = v_W649.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t557], - )? - }; - { - let v_W651 = { - let __t558 = v_W649.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t558], - )? - }; - { - let __t559 = v_W651.clone(); - let __t562 = { - let __t560 = v_W647.clone(); - let __t561 = v_W650.clone(); - rt::cons(&__t560, &__t561) - }; - rt::apply_direct( - interp, - "shen.comb", - &[__t559, __t562], - )? - } - } - } - } - } - } - } - } - } - } - }; - { - let __t566 = { - let __t565 = v_W645.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t565])? - }; - if match rt::is_truthy(interp, &__t566) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W652 = { - let v_W653 = { - let __t567 = v_V644.clone(); - rt::apply_direct(interp, "", &[__t567])? - }; - { - let __t572 = { - let __t568 = v_W653.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t568])? - }; - if rt::is_truthy(interp, &__t572)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W654 = { - let __t569 = v_W653.clone(); - rt::apply_direct(interp, "shen.in->", &[__t569])? - }; - { - let __t570 = v_W654.clone(); - let __t571 = Value::nil(); - rt::apply_direct( - interp, - "shen.comb", - &[__t570, __t571], - )? - } - } - } - } - }; - { - let __t574 = { - let __t573 = v_W652.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t573])? - }; - if match rt::is_truthy(interp, &__t574) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W652.clone()); - } - } - } - } else { - break Ok(v_W645.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_patterns_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_patterns_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_patterns_x3e_); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V655 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W656 = { - let __t605 = { - let __t575 = v_V655.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t575])? - }; - if rt::is_truthy(interp, &__t605)? { - { - let v_W657 = { - let __t576 = v_V655.clone(); - rt::apply_direct(interp, "head", &[__t576])? - }; - { - let v_W658 = { - let __t577 = v_V655.clone(); - rt::apply_direct(interp, "tail", &[__t577])? - }; - { - let v_W659 = { - let __t578 = v_W657.clone(); - rt::apply_direct(interp, "shen.", &[__t578])? - }; - { - let __t604 = { - let __t579 = v_W659.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t579])? - }; - if rt::is_truthy(interp, &__t604)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W660 = { - let __t580 = v_W659.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t580])? - }; - { - let v_W661 = { - let __t581 = v_W659.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t581], - )? - }; - { - let v_W662 = { - let __t582 = v_W661.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t582], - )? - }; - { - let __t603 = { - let __t583 = v_W662.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t583], - )? - }; - if rt::is_truthy(interp, &__t603)? { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } else { - { - let v_W663 = { - let __t584 = v_W662.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t584], - )? - }; - { - let v_W664 = { - let __t585 = v_W662.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t585], - )? - }; - { - let v_W665 = { - let __t586 = - v_W664.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t586], - )? - }; - { - let __t602 = { - let __t587 = - v_W665.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t587])? - }; - if rt::is_truthy( - interp, &__t602, - )? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W666 = { - let __t588 = v_W665.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t588])? - }; - { - let v_W667 = { - let __t589 = v_W665.clone(); - rt::apply_direct(interp, "shen.in->", &[__t589])? - }; - { - let v_W668 = { - let __t590 = v_W667.clone(); - rt::apply_direct(interp, "", &[__t590])? - }; - { - let __t601 = { let __t591 = v_W668.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t591])? }; - if rt::is_truthy(interp, &__t601)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W669 = { let __t592 = v_W668.clone(); rt::apply_direct(interp, "shen.in->", &[__t592])? }; { let __t593 = v_W658.clone(); let __t600 = { let __t594 = v_W660.clone(); let __t599 = { let __t595 = v_W663.clone(); let __t598 = { let __t596 = v_W666.clone(); let __t597 = Value::nil(); rt::cons(&__t596, &__t597) }; rt::cons(&__t595, &__t598) }; rt::cons(&__t594, &__t599) }; rt::apply_direct(interp, "shen.comb", &[__t593, __t600])? } } } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - }; - { - let __t607 = { - let __t606 = v_W656.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t606])? - }; - if match rt::is_truthy(interp, &__t607) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W670 = { - let __t629 = { - let __t608 = v_V655.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t608])? - }; - if rt::is_truthy(interp, &__t629)? { - { - let v_W671 = { - let __t609 = v_V655.clone(); - rt::apply_direct(interp, "head", &[__t609])? - }; - { - let v_W672 = { - let __t610 = v_V655.clone(); - rt::apply_direct(interp, "tail", &[__t610])? - }; - { - let __t628 = { - let __t611 = v_W671.clone(); - let __t612 = Value::sym(interp.intern("vector")); - rt::apply_direct( - interp, - "shen.hds=?", - &[__t611, __t612], - )? - }; - if rt::is_truthy(interp, &__t628)? { - { - let v_W673 = { - let __t613 = v_W671.clone(); - rt::apply_direct(interp, "tail", &[__t613])? - }; - { - let __t627 = { - let __t614 = v_W673.clone(); - let __t615 = Value::int(0i64); - rt::apply_direct( - interp, - "shen.hds=?", - &[__t614, __t615], - )? - }; - if rt::is_truthy(interp, &__t627)? { - { - let v_W674 = { - let __t616 = v_W673.clone(); - rt::apply_direct( - interp, - "tail", - &[__t616], - )? - }; - { - let v_W675 = { - let __t617 = v_W674.clone(); - rt::apply_direct( - interp, - "", - &[__t617], - )? - }; - { - let __t626 = { - let __t618 = - v_W675.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t618])? - }; - if rt::is_truthy( - interp, &__t626, - )? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W676 = { - let __t619 = - v_W675 - .clone( - ); - rt::apply_direct(interp, "shen.in->", &[__t619])? - }; - { - let __t620 = - v_W672 - .clone( - ); - let __t625 = { - let __t621 = Value::sym(interp.intern("vector")); - let __t624 = { - let __t622 = Value::int(0i64); - let __t623 = Value::nil(); - rt::cons(&__t622, &__t623) - }; - rt::cons( - &__t621, - &__t624, - ) - }; - rt::apply_direct(interp, "shen.comb", &[__t620, __t625])? - } - } - } - } - } - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - }; - { - let __t631 = { - let __t630 = v_W670.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t630])? - }; - if match rt::is_truthy(interp, &__t631) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W677 = { - let __t640 = { - let __t632 = v_V655.clone(); - rt::is_cons(&__t632) - }; - if rt::is_truthy(interp, &__t640)? { - { - let v_W678 = { - let __t633 = v_V655.clone(); - rt::apply_direct(interp, "head", &[__t633])? - }; - { - let v_W679 = { - let __t634 = v_V655.clone(); - rt::apply_direct(interp, "tail", &[__t634])? - }; - { - let __t639 = { - let __t635 = v_W678.clone(); - rt::is_cons(&__t635) - }; - if rt::is_truthy(interp, &__t639)? { - { - let __t636 = v_W679.clone(); - let __t638 = { - let __t637 = v_W678.clone(); - rt::apply_direct( - interp, - "shen.constructor-error", - &[__t637], - )? - }; - rt::apply_direct( - interp, - "shen.comb", - &[__t636, __t638], - )? - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - }; - { - let __t642 = { - let __t641 = v_W677.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t641], - )? - }; - if match rt::is_truthy(interp, &__t642) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W680 = { - let v_W681 = { - let __t643 = v_V655.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t643], - )? - }; - { - let __t649 = { - let __t644 = v_W681.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t644], - )? - }; - if rt::is_truthy(interp, &__t649)? { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } else { - { - let v_W682 = { - let __t645 = v_W681.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t645], - )? - }; - { - let v_W683 = { - let __t646 = v_W681.clone(); - rt::apply_direct( - interp, - "shen.in->", - &[__t646], - )? - }; - { - let __t647 = v_W683.clone(); - let __t648 = v_W682.clone(); - rt::apply_direct( - interp, - "shen.comb", - &[__t647, __t648], - )? - } - } - } - } - } - }; - { - let __t651 = { - let __t650 = v_W680.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t650], - )? - }; - if match rt::is_truthy(interp, &__t651) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - }); - } else { - break Ok(v_W680.clone()); - } - } - } - } else { - break Ok(v_W677.clone()); - } - } - } - } else { - break Ok(v_W670.clone()); - } - } - } - } else { - break Ok(v_W656.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_pattern_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_pattern_x3e_); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_constructor_x3e_( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V684 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W685 = { - let __t659 = { - let __t652 = v_V684.clone(); - rt::is_cons(&__t652) - }; - if rt::is_truthy(interp, &__t659)? { - { - let v_W686 = { - let __t653 = v_V684.clone(); - rt::apply_direct(interp, "head", &[__t653])? - }; - { - let v_W687 = { - let __t654 = v_V684.clone(); - rt::apply_direct(interp, "tail", &[__t654])? - }; - { - let __t658 = { - let __t655 = v_W686.clone(); - rt::apply_direct(interp, "shen.constructor?", &[__t655])? - }; - if rt::is_truthy(interp, &__t658)? { - { - let __t656 = v_W687.clone(); - let __t657 = v_W686.clone(); - rt::apply_direct(interp, "shen.comb", &[__t656, __t657])? - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - }; - { - let __t661 = { - let __t660 = v_W685.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t660])? - }; - if match rt::is_truthy(interp, &__t661) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W685.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_constructor_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_constructor_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_constructor_x3e_); -} - -/// AOT-compiled from KL `(defun shen.constructor? ...)` -pub fn aot_shen_x2e_constructor_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.constructor?: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V688 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - break Ok({ - let __t662 = v_V688.clone(); - let __t671 = { - let __t663 = Value::sym(interp.intern("cons")); - let __t670 = { - let __t664 = Value::sym(interp.intern("@p")); - let __t669 = { - let __t665 = Value::sym(interp.intern("@s")); - let __t668 = { - let __t666 = Value::sym(interp.intern("@v")); - let __t667 = Value::nil(); - rt::cons(&__t666, &__t667) - }; - rt::cons(&__t665, &__t668) - }; - rt::cons(&__t664, &__t669) - }; - rt::cons(&__t663, &__t670) - }; - rt::apply_direct(interp, "element?", &[__t662, __t671])? - }); - } -} - -fn install_shen_x2e_constructor_x3f_(interp: &mut Interp) { - interp.register_native("shen.constructor?", 1, aot_shen_x2e_constructor_x3f_); - interp.register_aot_direct("shen.constructor?", aot_shen_x2e_constructor_x3f_); -} - -/// AOT-compiled from KL `(defun shen.constructor-error ...)` -pub fn aot_shen_x2e_constructor_x2d_error( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.constructor-error: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V689 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - break Ok({ - let __t675 = { - let __t672 = v_V689.clone(); - let __t673 = Value::str(" is not a legitimate constructor\n"); - let __t674 = Value::sym(interp.intern("shen.r")); - rt::apply_direct(interp, "shen.app", &[__t672, __t673, __t674])? - }; - rt::apply_direct(interp, "simple-error", &[__t675])? - }); - } -} - -fn install_shen_x2e_constructor_x2d_error(interp: &mut Interp) { - interp.register_native( - "shen.constructor-error", - 1, - aot_shen_x2e_constructor_x2d_error, - ); - interp.register_aot_direct("shen.constructor-error", aot_shen_x2e_constructor_x2d_error); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_simple_x2d_pattern_x3e_( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V690 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W691 = { - let __t685 = { - let __t676 = v_V690.clone(); - rt::is_cons(&__t676) - }; - if rt::is_truthy(interp, &__t685)? { - { - let v_W692 = { - let __t677 = v_V690.clone(); - rt::apply_direct(interp, "head", &[__t677])? - }; - { - let v_W693 = { - let __t678 = v_V690.clone(); - rt::apply_direct(interp, "tail", &[__t678])? - }; - { - let __t684 = { - let __t679 = v_W692.clone(); - let __t680 = Value::sym(interp.intern("_")); - rt::eq(&__t679, &__t680) - }; - if rt::is_truthy(interp, &__t684)? { - { - let __t681 = v_W693.clone(); - let __t683 = { - let __t682 = Value::sym(interp.intern("Y")); - rt::apply_direct(interp, "gensym", &[__t682])? - }; - rt::apply_direct(interp, "shen.comb", &[__t681, __t683])? - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - }; - { - let __t687 = { - let __t686 = v_W691.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t686])? - }; - if match rt::is_truthy(interp, &__t687) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W694 = { - let __t701 = { - let __t688 = v_V690.clone(); - rt::is_cons(&__t688) - }; - if rt::is_truthy(interp, &__t701)? { - { - let v_W695 = { - let __t689 = v_V690.clone(); - rt::apply_direct(interp, "head", &[__t689])? - }; - { - let v_W696 = { - let __t690 = v_V690.clone(); - rt::apply_direct(interp, "tail", &[__t690])? - }; - { - let __t700 = { - let __t697 = { - let __t691 = v_W695.clone(); - let __t696 = { - let __t692 = - Value::sym(interp.intern("->")); - let __t695 = { - let __t693 = - Value::sym(interp.intern("<-")); - let __t694 = Value::nil(); - rt::cons(&__t693, &__t694) - }; - rt::cons(&__t692, &__t695) - }; - rt::apply_direct( - interp, - "element?", - &[__t691, __t696], - )? - }; - rt::apply_direct(interp, "not", &[__t697])? - }; - if rt::is_truthy(interp, &__t700)? { - { - let __t698 = v_W696.clone(); - let __t699 = v_W695.clone(); - rt::apply_direct( - interp, - "shen.comb", - &[__t698, __t699], - )? - } - } else { - { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? - } - } - } - } - } - } else { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } - }; - { - let __t703 = { - let __t702 = v_W694.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t702])? - }; - if match rt::is_truthy(interp, &__t703) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W694.clone()); - } - } - } - } else { - break Ok(v_W691.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_simple_x2d_pattern_x3e_(interp: &mut Interp) { - interp.register_native( - "shen.", - 1, - aot_shen_x2e__x3c_simple_x2d_pattern_x3e_, - ); - interp.register_aot_direct( - "shen.", - aot_shen_x2e__x3c_simple_x2d_pattern_x3e_, - ); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_pattern1_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V697 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W698 = { - let v_W699 = { - let __t704 = v_V697.clone(); - rt::apply_direct(interp, "shen.", &[__t704])? - }; - { - let __t710 = { - let __t705 = v_W699.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t705])? - }; - if rt::is_truthy(interp, &__t710)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W700 = { - let __t706 = v_W699.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t706])? - }; - { - let v_W701 = { - let __t707 = v_W699.clone(); - rt::apply_direct(interp, "shen.in->", &[__t707])? - }; - { - let __t708 = v_W701.clone(); - let __t709 = v_W700.clone(); - rt::apply_direct(interp, "shen.comb", &[__t708, __t709])? - } - } - } - } - } - }; - { - let __t712 = { - let __t711 = v_W698.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t711])? - }; - if match rt::is_truthy(interp, &__t712) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W698.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_pattern1_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_pattern1_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_pattern1_x3e_); -} - -/// AOT-compiled from KL `(defun shen. ...)` -pub fn aot_shen_x2e__x3c_pattern2_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V702 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W703 = { - let v_W704 = { - let __t713 = v_V702.clone(); - rt::apply_direct(interp, "shen.", &[__t713])? - }; - { - let __t719 = { - let __t714 = v_W704.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t714])? - }; - if rt::is_truthy(interp, &__t719)? { - { - rt::apply_direct(interp, "shen.parse-failure", &[])? - } - } else { - { - let v_W705 = { - let __t715 = v_W704.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t715])? - }; - { - let v_W706 = { - let __t716 = v_W704.clone(); - rt::apply_direct(interp, "shen.in->", &[__t716])? - }; - { - let __t717 = v_W706.clone(); - let __t718 = v_W705.clone(); - rt::apply_direct(interp, "shen.comb", &[__t717, __t718])? - } - } - } - } - } - }; - { - let __t721 = { - let __t720 = v_W703.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t720])? - }; - if match rt::is_truthy(interp, &__t721) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); - } else { - break Ok(v_W703.clone()); - } - } - } - } -} - -fn install_shen_x2e__x3c_pattern2_x3e_(interp: &mut Interp) { - interp.register_native("shen.", 1, aot_shen_x2e__x3c_pattern2_x3e_); - interp.register_aot_direct("shen.", aot_shen_x2e__x3c_pattern2_x3e_); -} - -/// AOT-compiled from KL `(defun shen.fn-print ...)` -pub fn aot_shen_x2e_fn_x2d_print(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.fn-print: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V707 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W708 = { - let __t722 = Value::int(2i64); - rt::apply_direct(interp, "absvector", &[__t722])? - }; - { - let v_W709 = { - let __t723 = v_W708.clone(); - let __t724 = Value::int(0i64); - let __t725 = Value::sym(interp.intern("shen.printF")); - rt::apply_direct(interp, "address->", &[__t723, __t724, __t725])? - }; - { - let v_W710 = { - let __t726 = v_W709.clone(); - let __t727 = Value::int(1i64); - let __t739 = { - let __t728 = Value::str("("); - let __t738 = { - let __t729 = Value::str("f"); - let __t737 = { - let __t730 = Value::str("n"); - let __t736 = { - let __t731 = Value::str(" "); - let __t735 = { - let __t733 = { - let __t732 = v_V707.clone(); - rt::apply_direct(interp, "str", &[__t732])? - }; - let __t734 = Value::str(")"); - rt::apply_direct(interp, "@s", &[__t733, __t734])? - }; - rt::apply_direct(interp, "@s", &[__t731, __t735])? - }; - rt::apply_direct(interp, "@s", &[__t730, __t736])? - }; - rt::apply_direct(interp, "@s", &[__t729, __t737])? - }; - rt::apply_direct(interp, "@s", &[__t728, __t738])? - }; - rt::apply_direct(interp, "address->", &[__t726, __t727, __t739])? - }; - break Ok(v_W710.clone()); - } - } - } - } -} - -fn install_shen_x2e_fn_x2d_print(interp: &mut Interp) { - interp.register_native("shen.fn-print", 1, aot_shen_x2e_fn_x2d_print); - interp.register_aot_direct("shen.fn-print", aot_shen_x2e_fn_x2d_print); -} - -/// AOT-compiled from KL `(defun shen.printF ...)` -pub fn aot_shen_x2e_printF(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.printF: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V711 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - break Ok({ - let __t740 = v_V711.clone(); - let __t741 = Value::int(1i64); - rt::apply_direct(interp, "<-address", &[__t740, __t741])? - }); - } -} - -fn install_shen_x2e_printF(interp: &mut Interp) { - interp.register_native("shen.printF", 1, aot_shen_x2e_printF); - interp.register_aot_direct("shen.printF", aot_shen_x2e_printF); -} - -/// AOT-compiled from KL `(defun shen.arity-chk ...)` -pub fn aot_shen_x2e_arity_x2d_chk(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.arity-chk: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V716 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V717 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t775 = { - let __t771 = { - let __t767 = v_V717.clone(); - rt::is_cons(&__t767) - }; - if !rt::is_truthy(interp, &__t771)? { - Value::bool(false) - } else { - let __t772 = { - let __t768 = Value::nil(); - let __t770 = { - let __t769 = v_V717.clone(); - rt::tl(&__t769)? - }; - rt::eq(&__t768, &__t770) - }; - Value::bool(rt::is_truthy(interp, &__t772)?) - } - }; - if match rt::is_truthy(interp, &__t775) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t774 = { - let __t773 = v_V717.clone(); - rt::hd(&__t773)? - }; - rt::apply_direct(interp, "length", &[__t774])? - }); - } else { - { - let __t766 = { - let __t761 = { - let __t749 = v_V717.clone(); - rt::is_cons(&__t749) - }; - if !rt::is_truthy(interp, &__t761)? { - Value::bool(false) - } else { - let __t762 = { - let __t759 = { - let __t751 = { - let __t750 = v_V717.clone(); - rt::tl(&__t750)? - }; - rt::is_cons(&__t751) - }; - if !rt::is_truthy(interp, &__t759)? { - Value::bool(false) - } else { - let __t760 = { - let __t754 = { - let __t753 = { - let __t752 = v_V717.clone(); - rt::hd(&__t752)? - }; - rt::apply_direct(interp, "length", &[__t753])? - }; - let __t758 = { - let __t757 = { - let __t756 = { - let __t755 = v_V717.clone(); - rt::tl(&__t755)? - }; - rt::hd(&__t756)? - }; - rt::apply_direct(interp, "length", &[__t757])? - }; - rt::eq(&__t754, &__t758) - }; - Value::bool(rt::is_truthy(interp, &__t760)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t762)?) - } - }; - if match rt::is_truthy(interp, &__t766) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t763 = v_V716.clone(); - let __t765 = { - let __t764 = v_V717.clone(); - rt::tl(&__t764)? - }; - v_V716 = __t763; - v_V717 = __t765; - continue; - } - } else { - { - let __t748 = Value::bool(true); - if match rt::is_truthy(interp, &__t748) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t747 = { - let __t742 = Value::str("arity error in "); - let __t746 = { - let __t743 = v_V716.clone(); - let __t744 = Value::str("\n"); - let __t745 = Value::sym(interp.intern("shen.a")); - rt::apply_direct( - interp, - "shen.app", - &[__t743, __t744, __t745], - )? - }; - rt::apply_direct(interp, "cn", &[__t742, __t746])? - }; - rt::apply_direct(interp, "simple-error", &[__t747])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } -} - -fn install_shen_x2e_arity_x2d_chk(interp: &mut Interp) { - interp.register_native("shen.arity-chk", 2, aot_shen_x2e_arity_x2d_chk); - interp.register_aot_direct("shen.arity-chk", aot_shen_x2e_arity_x2d_chk); -} - -/// AOT-compiled from KL `(defun shen.free-var-chk ...)` -pub fn aot_shen_x2e_free_x2d_var_x2d_chk(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.free-var-chk: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V718 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V719 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t786 = { - let __t778 = v_V719.clone(); - rt::apply_direct(interp, "tuple?", &[__t778])? - }; - if match rt::is_truthy(interp, &__t786) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t779 = v_V718.clone(); - let __t785 = { - let __t782 = { - let __t781 = { - let __t780 = v_V719.clone(); - rt::apply_direct(interp, "fst", &[__t780])? - }; - rt::apply_direct(interp, "shen.extract-vars", &[__t781])? - }; - let __t784 = { - let __t783 = v_V719.clone(); - rt::apply_direct(interp, "snd", &[__t783])? - }; - rt::apply_direct(interp, "shen.find-free-vars", &[__t782, __t784])? - }; - rt::apply_direct( - interp, - "shen.free-variable-error-message", - &[__t779, __t785], - )? - }); - } else { - { - let __t777 = Value::bool(true); - if match rt::is_truthy(interp, &__t777) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t776 = Value::str("partial function shen.free-var-chk"); - rt::apply_direct(interp, "simple-error", &[__t776])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_free_x2d_var_x2d_chk(interp: &mut Interp) { - interp.register_native("shen.free-var-chk", 2, aot_shen_x2e_free_x2d_var_x2d_chk); - interp.register_aot_direct("shen.free-var-chk", aot_shen_x2e_free_x2d_var_x2d_chk); -} - -/// AOT-compiled from KL `(defun shen.free-variable-error-message ...)` -pub fn aot_shen_x2e_free_x2d_variable_x2d_error_x2d_message( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.free-variable-error-message: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V720 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V721 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t788 = { - let __t787 = v_V721.clone(); - rt::apply_direct(interp, "empty?", &[__t787])? - }; - if match rt::is_truthy(interp, &__t788) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("shen.skip"))); - } else { - { - let _ = { - let __t794 = { - let __t789 = Value::str("free variables in "); - let __t793 = { - let __t790 = v_V720.clone(); - let __t791 = Value::str(":"); - let __t792 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t790, __t791, __t792])? - }; - rt::apply_direct(interp, "cn", &[__t789, __t793])? - }; - let __t795 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t794, __t795])? - }; - { - let _ = { - let __t803 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z722 = args[0].clone(); - Ok({ - let __t801 = { - let __t796 = Value::str(" "); - let __t800 = { - let __t797 = v_Z722.clone(); - let __t798 = Value::str(""); - let __t799 = - Value::sym(interp.intern("shen.a")); - rt::apply_direct( - interp, - "shen.app", - &[__t797, __t798, __t799], - )? - }; - rt::apply_direct(interp, "cn", &[__t796, __t800])? - }; - let __t802 = - { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t801, __t802])? - }) - }, - Vec::new(), - interp, - ) - }; - let __t804 = v_V721.clone(); - rt::apply_direct(interp, "map", &[__t803, __t804])? - }; - { - let _ = { - let __t805 = Value::int(1i64); - rt::apply_direct(interp, "nl", &[__t805])? - }; - break Ok({ rt::apply_direct(interp, "abort", &[])? }); - } - } - } - } - } - } -} - -fn install_shen_x2e_free_x2d_variable_x2d_error_x2d_message(interp: &mut Interp) { - interp.register_native( - "shen.free-variable-error-message", - 2, - aot_shen_x2e_free_x2d_variable_x2d_error_x2d_message, - ); - interp.register_aot_direct( - "shen.free-variable-error-message", - aot_shen_x2e_free_x2d_variable_x2d_error_x2d_message, - ); -} - -/// AOT-compiled from KL `(defun shen.extract-vars ...)` -pub fn aot_shen_x2e_extract_x2d_vars(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.extract-vars: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V725 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t818 = { - let __t815 = v_V725.clone(); - rt::apply_direct(interp, "variable?", &[__t815])? - }; - if match rt::is_truthy(interp, &__t818) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t816 = v_V725.clone(); - let __t817 = Value::nil(); - rt::cons(&__t816, &__t817) - }); - } else { - { - let __t814 = { - let __t807 = v_V725.clone(); - rt::is_cons(&__t807) - }; - if match rt::is_truthy(interp, &__t814) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t810 = { - let __t809 = { - let __t808 = v_V725.clone(); - rt::hd(&__t808)? - }; - rt::apply_direct(interp, "shen.extract-vars", &[__t809])? - }; - let __t813 = { - let __t812 = { - let __t811 = v_V725.clone(); - rt::tl(&__t811)? - }; - rt::apply_direct(interp, "shen.extract-vars", &[__t812])? - }; - rt::apply_direct(interp, "union", &[__t810, __t813])? - }); - } else { - { - let __t806 = Value::bool(true); - if match rt::is_truthy(interp, &__t806) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::nil()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } -} - -fn install_shen_x2e_extract_x2d_vars(interp: &mut Interp) { - interp.register_native("shen.extract-vars", 1, aot_shen_x2e_extract_x2d_vars); - interp.register_aot_direct("shen.extract-vars", aot_shen_x2e_extract_x2d_vars); -} - -/// AOT-compiled from KL `(defun shen.find-free-vars ...)` -pub fn aot_shen_x2e_find_x2d_free_x2d_vars( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.find-free-vars: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V730 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V731 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t930 = { - let __t928 = { - let __t914 = v_V731.clone(); - rt::is_cons(&__t914) - }; - if !rt::is_truthy(interp, &__t928)? { - Value::bool(false) - } else { - let __t929 = { - let __t926 = { - let __t915 = Value::sym(interp.intern("protect")); - let __t917 = { - let __t916 = v_V731.clone(); - rt::hd(&__t916)? - }; - rt::eq(&__t915, &__t917) - }; - if !rt::is_truthy(interp, &__t926)? { - Value::bool(false) - } else { - let __t927 = { - let __t924 = { - let __t919 = { - let __t918 = v_V731.clone(); - rt::tl(&__t918)? - }; - rt::is_cons(&__t919) - }; - if !rt::is_truthy(interp, &__t924)? { - Value::bool(false) - } else { - let __t925 = { - let __t920 = Value::nil(); - let __t923 = { - let __t922 = { - let __t921 = v_V731.clone(); - rt::tl(&__t921)? - }; - rt::tl(&__t922)? - }; - rt::eq(&__t920, &__t923) - }; - Value::bool(rt::is_truthy(interp, &__t925)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t927)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t929)?) - } - }; - if match rt::is_truthy(interp, &__t930) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::nil()); - } else { - { - let __t913 = { - let __t894 = { - let __t867 = v_V731.clone(); - rt::is_cons(&__t867) - }; - if !rt::is_truthy(interp, &__t894)? { - Value::bool(false) - } else { - let __t895 = { - let __t892 = { - let __t868 = Value::sym(interp.intern("let")); - let __t870 = { - let __t869 = v_V731.clone(); - rt::hd(&__t869)? - }; - rt::eq(&__t868, &__t870) - }; - if !rt::is_truthy(interp, &__t892)? { - Value::bool(false) - } else { - let __t893 = { - let __t890 = { - let __t872 = { - let __t871 = v_V731.clone(); - rt::tl(&__t871)? - }; - rt::is_cons(&__t872) - }; - if !rt::is_truthy(interp, &__t890)? { - Value::bool(false) - } else { - let __t891 = { - let __t888 = { - let __t875 = { - let __t874 = { - let __t873 = v_V731.clone(); - rt::tl(&__t873)? - }; - rt::tl(&__t874)? - }; - rt::is_cons(&__t875) - }; - if !rt::is_truthy(interp, &__t888)? { - Value::bool(false) - } else { - let __t889 = { - let __t886 = { - let __t879 = { - let __t878 = { - let __t877 = { - let __t876 = v_V731.clone(); - rt::tl(&__t876)? - }; - rt::tl(&__t877)? - }; - rt::tl(&__t878)? - }; - rt::is_cons(&__t879) - }; - if !rt::is_truthy(interp, &__t886)? { - Value::bool(false) - } else { - let __t887 = { - let __t880 = Value::nil(); - let __t885 = { - let __t884 = { - let __t883 = { - let __t882 = { - let __t881 = - v_V731.clone(); - rt::tl(&__t881)? - }; - rt::tl(&__t882)? - }; - rt::tl(&__t883)? - }; - rt::tl(&__t884)? - }; - rt::eq(&__t880, &__t885) - }; - Value::bool(rt::is_truthy( - interp, &__t887, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t889)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t891)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t893)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t895)?) - } - }; - if match rt::is_truthy(interp, &__t913) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t901 = { - let __t896 = v_V730.clone(); - let __t900 = { - let __t899 = { - let __t898 = { - let __t897 = v_V731.clone(); - rt::tl(&__t897)? - }; - rt::tl(&__t898)? - }; - rt::hd(&__t899)? - }; - rt::apply_direct(interp, "shen.find-free-vars", &[__t896, __t900])? - }; - let __t912 = { - let __t906 = { - let __t904 = { - let __t903 = { - let __t902 = v_V731.clone(); - rt::tl(&__t902)? - }; - rt::hd(&__t903)? - }; - let __t905 = v_V730.clone(); - rt::cons(&__t904, &__t905) - }; - let __t911 = { - let __t910 = { - let __t909 = { - let __t908 = { - let __t907 = v_V731.clone(); - rt::tl(&__t907)? - }; - rt::tl(&__t908)? - }; - rt::tl(&__t909)? - }; - rt::hd(&__t910)? - }; - rt::apply_direct(interp, "shen.find-free-vars", &[__t906, __t911])? - }; - rt::apply_direct(interp, "union", &[__t901, __t912])? - }); - } else { - { - let __t866 = { - let __t855 = { - let __t835 = v_V731.clone(); - rt::is_cons(&__t835) - }; - if !rt::is_truthy(interp, &__t855)? { - Value::bool(false) - } else { - let __t856 = { - let __t853 = { - let __t836 = Value::sym(interp.intern("lambda")); - let __t838 = { - let __t837 = v_V731.clone(); - rt::hd(&__t837)? - }; - rt::eq(&__t836, &__t838) - }; - if !rt::is_truthy(interp, &__t853)? { - Value::bool(false) - } else { - let __t854 = { - let __t851 = { - let __t840 = { - let __t839 = v_V731.clone(); - rt::tl(&__t839)? - }; - rt::is_cons(&__t840) - }; - if !rt::is_truthy(interp, &__t851)? { - Value::bool(false) - } else { - let __t852 = { - let __t849 = { - let __t843 = { - let __t842 = { - let __t841 = v_V731.clone(); - rt::tl(&__t841)? - }; - rt::tl(&__t842)? - }; - rt::is_cons(&__t843) - }; - if !rt::is_truthy(interp, &__t849)? { - Value::bool(false) - } else { - let __t850 = { - let __t844 = Value::nil(); - let __t848 = { - let __t847 = { - let __t846 = { - let __t845 = - v_V731.clone(); - rt::tl(&__t845)? - }; - rt::tl(&__t846)? - }; - rt::tl(&__t847)? - }; - rt::eq(&__t844, &__t848) - }; - Value::bool(rt::is_truthy( - interp, &__t850, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t852)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t854)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t856)?) - } - }; - if match rt::is_truthy(interp, &__t866) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t861 = { - let __t859 = { - let __t858 = { - let __t857 = v_V731.clone(); - rt::tl(&__t857)? - }; - rt::hd(&__t858)? - }; - let __t860 = v_V730.clone(); - rt::cons(&__t859, &__t860) - }; - let __t865 = { - let __t864 = { - let __t863 = { - let __t862 = v_V731.clone(); - rt::tl(&__t862)? - }; - rt::tl(&__t863)? - }; - rt::hd(&__t864)? - }; - v_V730 = __t861; - v_V731 = __t865; - continue; - } - } else { - { - let __t834 = { - let __t825 = v_V731.clone(); - rt::is_cons(&__t825) - }; - if match rt::is_truthy(interp, &__t834) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t829 = { - let __t826 = v_V730.clone(); - let __t828 = { - let __t827 = v_V731.clone(); - rt::hd(&__t827)? - }; - rt::apply_direct( - interp, - "shen.find-free-vars", - &[__t826, __t828], - )? - }; - let __t833 = { - let __t830 = v_V730.clone(); - let __t832 = { - let __t831 = v_V731.clone(); - rt::tl(&__t831)? - }; - rt::apply_direct( - interp, - "shen.find-free-vars", - &[__t830, __t832], - )? - }; - rt::apply_direct(interp, "union", &[__t829, __t833])? - }); - } else { - { - let __t824 = { - let __t820 = v_V731.clone(); - let __t821 = v_V730.clone(); - rt::apply_direct( - interp, - "shen.free-variable?", - &[__t820, __t821], - )? - }; - if match rt::is_truthy(interp, &__t824) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t822 = v_V731.clone(); - let __t823 = Value::nil(); - rt::cons(&__t822, &__t823) - }); - } else { - { - let __t819 = Value::bool(true); - if match rt::is_truthy(interp, &__t819) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::nil()); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_find_x2d_free_x2d_vars(interp: &mut Interp) { - interp.register_native( - "shen.find-free-vars", - 2, - aot_shen_x2e_find_x2d_free_x2d_vars, - ); - interp.register_aot_direct("shen.find-free-vars", aot_shen_x2e_find_x2d_free_x2d_vars); -} - -/// AOT-compiled from KL `(defun shen.free-variable? ...)` -pub fn aot_shen_x2e_free_x2d_variable_x3f_( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.free-variable?: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V732 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V733 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t932 = { - let __t931 = v_V732.clone(); - rt::apply_direct(interp, "variable?", &[__t931])? - }; - if !match rt::is_truthy(interp, &__t932) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::bool(false)); - } else { - break Ok({ - let __t935 = { - let __t933 = v_V732.clone(); - let __t934 = v_V733.clone(); - rt::apply_direct(interp, "element?", &[__t933, __t934])? - }; - rt::apply_direct(interp, "not", &[__t935])? - }); - } - } - } -} - -fn install_shen_x2e_free_x2d_variable_x3f_(interp: &mut Interp) { - interp.register_native( - "shen.free-variable?", - 2, - aot_shen_x2e_free_x2d_variable_x3f_, - ); - interp.register_aot_direct("shen.free-variable?", aot_shen_x2e_free_x2d_variable_x3f_); -} - -/// AOT-compiled from KL `(defun shen.record-kl ...)` -pub fn aot_shen_x2e_record_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.record-kl: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V734 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V735 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let _ = { - let __t936 = Value::sym(interp.intern("shen.*userdefs*")); - let __t940 = { - let __t937 = v_V734.clone(); - let __t939 = { - let __t938 = Value::sym(interp.intern("shen.*userdefs*")); - rt::apply_direct(interp, "value", &[__t938])? - }; - rt::apply_direct(interp, "adjoin", &[__t937, __t939])? - }; - rt::apply_direct(interp, "set", &[__t936, __t940])? - }; - break Ok({ - let __t941 = v_V734.clone(); - let __t942 = Value::sym(interp.intern("shen.source")); - let __t943 = v_V735.clone(); - let __t945 = { - let __t944 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t944])? - }; - rt::apply_direct(interp, "put", &[__t941, __t942, __t943, __t945])? - }); - } - } -} - -fn install_shen_x2e_record_x2d_kl(interp: &mut Interp) { - interp.register_native("shen.record-kl", 2, aot_shen_x2e_record_x2d_kl); - interp.register_aot_direct("shen.record-kl", aot_shen_x2e_record_x2d_kl); -} - -/// AOT-compiled from KL `(defun shen.compile-to-kl ...)` -pub fn aot_shen_x2e_compile_x2d_to_x2d_kl( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 3 { - return Err(ShenError::new(format!( - "shen.compile-to-kl: expected 3 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V736 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V737 = args[1].clone(); - #[allow(unused_mut)] - let mut v_V738 = args[2].clone(); - #[allow(clippy::never_loop)] - loop { - { - let v_W739 = { - let __t946 = v_V738.clone(); - rt::apply_direct(interp, "shen.parameters", &[__t946])? - }; - { - let v_W740 = { - let __t947 = v_V736.clone(); - let __t950 = { - let __t948 = v_V737.clone(); - let __t949 = v_W739.clone(); - rt::apply_direct(interp, "shen.kl-body", &[__t948, __t949])? - }; - rt::apply_direct(interp, "shen.scan-body", &[__t947, __t950])? - }; - { - let v_W741 = { - let __t951 = Value::sym(interp.intern("defun")); - let __t959 = { - let __t952 = v_V736.clone(); - let __t958 = { - let __t953 = v_W739.clone(); - let __t957 = { - let __t955 = { - let __t954 = v_W740.clone(); - rt::apply_direct(interp, "shen.cond-form", &[__t954])? - }; - let __t956 = Value::nil(); - rt::cons(&__t955, &__t956) - }; - rt::cons(&__t953, &__t957) - }; - rt::cons(&__t952, &__t958) - }; - rt::cons(&__t951, &__t959) - }; - break Ok(v_W741.clone()); - } - } - } - } -} - -fn install_shen_x2e_compile_x2d_to_x2d_kl(interp: &mut Interp) { - interp.register_native("shen.compile-to-kl", 3, aot_shen_x2e_compile_x2d_to_x2d_kl); - interp.register_aot_direct("shen.compile-to-kl", aot_shen_x2e_compile_x2d_to_x2d_kl); -} - -/// AOT-compiled from KL `(defun shen.parameters ...)` -pub fn aot_shen_x2e_parameters(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.parameters: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V742 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t969 = { - let __t967 = Value::int(0i64); - let __t968 = v_V742.clone(); - rt::eq(&__t967, &__t968) - }; - if match rt::is_truthy(interp, &__t969) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::nil()); - } else { - { - let __t966 = Value::bool(true); - if match rt::is_truthy(interp, &__t966) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t961 = { - let __t960 = Value::sym(interp.intern("V")); - rt::apply_direct(interp, "gensym", &[__t960])? - }; - let __t965 = { - let __t964 = { - let __t962 = v_V742.clone(); - let __t963 = Value::int(1i64); - rt::sub(&__t962, &__t963)? - }; - rt::apply_direct(interp, "shen.parameters", &[__t964])? - }; - rt::cons(&__t961, &__t965) - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_parameters(interp: &mut Interp) { - interp.register_native("shen.parameters", 1, aot_shen_x2e_parameters); - interp.register_aot_direct("shen.parameters", aot_shen_x2e_parameters); -} - -/// AOT-compiled from KL `(defun shen.cond-form ...)` -pub fn aot_shen_x2e_cond_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.cond-form: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V745 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t999 = { - let __t994 = { - let __t973 = v_V745.clone(); - rt::is_cons(&__t973) - }; - if !rt::is_truthy(interp, &__t994)? { - Value::bool(false) - } else { - let __t995 = { - let __t992 = { - let __t975 = { - let __t974 = v_V745.clone(); - rt::hd(&__t974)? - }; - rt::is_cons(&__t975) - }; - if !rt::is_truthy(interp, &__t992)? { - Value::bool(false) - } else { - let __t993 = { - let __t990 = { - let __t976 = Value::bool(true); - let __t979 = { - let __t978 = { - let __t977 = v_V745.clone(); - rt::hd(&__t977)? - }; - rt::hd(&__t978)? - }; - rt::eq(&__t976, &__t979) - }; - if !rt::is_truthy(interp, &__t990)? { - Value::bool(false) - } else { - let __t991 = { - let __t988 = { - let __t982 = { - let __t981 = { - let __t980 = v_V745.clone(); - rt::hd(&__t980)? - }; - rt::tl(&__t981)? - }; - rt::is_cons(&__t982) - }; - if !rt::is_truthy(interp, &__t988)? { - Value::bool(false) - } else { - let __t989 = { - let __t983 = Value::nil(); - let __t987 = { - let __t986 = { - let __t985 = { - let __t984 = v_V745.clone(); - rt::hd(&__t984)? - }; - rt::tl(&__t985)? - }; - rt::tl(&__t986)? - }; - rt::eq(&__t983, &__t987) - }; - Value::bool(rt::is_truthy(interp, &__t989)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t991)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t993)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t995)?) - } - }; - if match rt::is_truthy(interp, &__t999) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t998 = { - let __t997 = { - let __t996 = v_V745.clone(); - rt::hd(&__t996)? - }; - rt::tl(&__t997)? - }; - rt::hd(&__t998)? - }); - } else { - { - let __t972 = Value::bool(true); - if match rt::is_truthy(interp, &__t972) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t970 = Value::sym(interp.intern("cond")); - let __t971 = v_V745.clone(); - rt::cons(&__t970, &__t971) - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_cond_x2d_form(interp: &mut Interp) { - interp.register_native("shen.cond-form", 1, aot_shen_x2e_cond_x2d_form); - interp.register_aot_direct("shen.cond-form", aot_shen_x2e_cond_x2d_form); -} - -/// AOT-compiled from KL `(defun shen.scan-body ...)` -pub fn aot_shen_x2e_scan_x2d_body(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.scan-body: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V754 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V755 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1064 = { - let __t1052 = Value::nil(); - let __t1053 = v_V755.clone(); - rt::eq(&__t1052, &__t1053) - }; - if match rt::is_truthy(interp, &__t1064) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1062 = { - let __t1054 = Value::bool(true); - let __t1061 = { - let __t1059 = { - let __t1055 = Value::sym(interp.intern("shen.f-error")); - let __t1058 = { - let __t1056 = v_V754.clone(); - let __t1057 = Value::nil(); - rt::cons(&__t1056, &__t1057) - }; - rt::cons(&__t1055, &__t1058) - }; - let __t1060 = Value::nil(); - rt::cons(&__t1059, &__t1060) - }; - rt::cons(&__t1054, &__t1061) - }; - let __t1063 = Value::nil(); - rt::cons(&__t1062, &__t1063) - }); - } else { - { - let __t1051 = { - let __t1040 = { - let __t1037 = v_V755.clone(); - rt::is_cons(&__t1037) - }; - if !rt::is_truthy(interp, &__t1040)? { - Value::bool(false) - } else { - let __t1041 = { - let __t1039 = { - let __t1038 = v_V755.clone(); - rt::hd(&__t1038)? - }; - rt::apply_direct(interp, "shen.choicepoint?", &[__t1039])? - }; - Value::bool(rt::is_truthy(interp, &__t1041)?) - } - }; - if match rt::is_truthy(interp, &__t1051) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1042 = v_V754.clone(); - let __t1044 = { - let __t1043 = Value::sym(interp.intern("Freeze")); - rt::apply_direct(interp, "gensym", &[__t1043])? - }; - let __t1046 = { - let __t1045 = Value::sym(interp.intern("Result")); - rt::apply_direct(interp, "gensym", &[__t1045])? - }; - let __t1048 = { - let __t1047 = v_V755.clone(); - rt::hd(&__t1047)? - }; - let __t1050 = { - let __t1049 = v_V755.clone(); - rt::tl(&__t1049)? - }; - rt::apply_direct( - interp, - "shen.choicepoint", - &[__t1042, __t1044, __t1046, __t1048, __t1050], - )? - }); - } else { - { - let __t1036 = { - let __t1031 = { - let __t1010 = v_V755.clone(); - rt::is_cons(&__t1010) - }; - if !rt::is_truthy(interp, &__t1031)? { - Value::bool(false) - } else { - let __t1032 = { - let __t1029 = { - let __t1012 = { - let __t1011 = v_V755.clone(); - rt::hd(&__t1011)? - }; - rt::is_cons(&__t1012) - }; - if !rt::is_truthy(interp, &__t1029)? { - Value::bool(false) - } else { - let __t1030 = { - let __t1027 = { - let __t1013 = Value::bool(true); - let __t1016 = { - let __t1015 = { - let __t1014 = v_V755.clone(); - rt::hd(&__t1014)? - }; - rt::hd(&__t1015)? - }; - rt::eq(&__t1013, &__t1016) - }; - if !rt::is_truthy(interp, &__t1027)? { - Value::bool(false) - } else { - let __t1028 = { - let __t1025 = { - let __t1019 = { - let __t1018 = { - let __t1017 = v_V755.clone(); - rt::hd(&__t1017)? - }; - rt::tl(&__t1018)? - }; - rt::is_cons(&__t1019) - }; - if !rt::is_truthy(interp, &__t1025)? { - Value::bool(false) - } else { - let __t1026 = { - let __t1020 = Value::nil(); - let __t1024 = { - let __t1023 = { - let __t1022 = { - let __t1021 = - v_V755.clone(); - rt::hd(&__t1021)? - }; - rt::tl(&__t1022)? - }; - rt::tl(&__t1023)? - }; - rt::eq(&__t1020, &__t1024) - }; - Value::bool(rt::is_truthy( - interp, &__t1026, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1028)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1030)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1032)?) - } - }; - if match rt::is_truthy(interp, &__t1036) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1034 = { - let __t1033 = v_V755.clone(); - rt::hd(&__t1033)? - }; - let __t1035 = Value::nil(); - rt::cons(&__t1034, &__t1035) - }); - } else { - { - let __t1009 = { - let __t1002 = v_V755.clone(); - rt::is_cons(&__t1002) - }; - if match rt::is_truthy(interp, &__t1009) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1004 = { - let __t1003 = v_V755.clone(); - rt::hd(&__t1003)? - }; - let __t1008 = { - let __t1005 = v_V754.clone(); - let __t1007 = { - let __t1006 = v_V755.clone(); - rt::tl(&__t1006)? - }; - rt::apply_direct( - interp, - "shen.scan-body", - &[__t1005, __t1007], - )? - }; - rt::cons(&__t1004, &__t1008) - }); - } else { - { - let __t1001 = Value::bool(true); - if match rt::is_truthy(interp, &__t1001) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1000 = Value::str( - "implementation error in shen.scan-body", - ); - rt::apply_direct( - interp, - "simple-error", - &[__t1000], - )? - }); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_scan_x2d_body(interp: &mut Interp) { - interp.register_native("shen.scan-body", 2, aot_shen_x2e_scan_x2d_body); - interp.register_aot_direct("shen.scan-body", aot_shen_x2e_scan_x2d_body); -} - -/// AOT-compiled from KL `(defun shen.choicepoint? ...)` -pub fn aot_shen_x2e_choicepoint_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.choicepoint?: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V762 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1103 = { - let __t1101 = { - let __t1066 = v_V762.clone(); - rt::is_cons(&__t1066) - }; - if !rt::is_truthy(interp, &__t1101)? { - Value::bool(false) - } else { - let __t1102 = { - let __t1099 = { - let __t1068 = { - let __t1067 = v_V762.clone(); - rt::tl(&__t1067)? - }; - rt::is_cons(&__t1068) - }; - if !rt::is_truthy(interp, &__t1099)? { - Value::bool(false) - } else { - let __t1100 = { - let __t1097 = { - let __t1071 = { - let __t1070 = { - let __t1069 = v_V762.clone(); - rt::tl(&__t1069)? - }; - rt::hd(&__t1070)? - }; - rt::is_cons(&__t1071) - }; - if !rt::is_truthy(interp, &__t1097)? { - Value::bool(false) - } else { - let __t1098 = { - let __t1095 = { - let __t1072 = - Value::sym(interp.intern("shen.choicepoint!")); - let __t1076 = { - let __t1075 = { - let __t1074 = { - let __t1073 = v_V762.clone(); - rt::tl(&__t1073)? - }; - rt::hd(&__t1074)? - }; - rt::hd(&__t1075)? - }; - rt::eq(&__t1072, &__t1076) - }; - if !rt::is_truthy(interp, &__t1095)? { - Value::bool(false) - } else { - let __t1096 = { - let __t1093 = { - let __t1080 = { - let __t1079 = { - let __t1078 = { - let __t1077 = v_V762.clone(); - rt::tl(&__t1077)? - }; - rt::hd(&__t1078)? - }; - rt::tl(&__t1079)? - }; - rt::is_cons(&__t1080) - }; - if !rt::is_truthy(interp, &__t1093)? { - Value::bool(false) - } else { - let __t1094 = { - let __t1091 = { - let __t1081 = Value::nil(); - let __t1086 = { - let __t1085 = { - let __t1084 = { - let __t1083 = { - let __t1082 = - v_V762.clone(); - rt::tl(&__t1082)? - }; - rt::hd(&__t1083)? - }; - rt::tl(&__t1084)? - }; - rt::tl(&__t1085)? - }; - rt::eq(&__t1081, &__t1086) - }; - if !rt::is_truthy(interp, &__t1091)? { - Value::bool(false) - } else { - let __t1092 = { - let __t1087 = Value::nil(); - let __t1090 = { - let __t1089 = { - let __t1088 = - v_V762.clone(); - rt::tl(&__t1088)? - }; - rt::tl(&__t1089)? - }; - rt::eq(&__t1087, &__t1090) - }; - Value::bool(rt::is_truthy( - interp, &__t1092, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1094)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1096)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1098)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1100)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1102)?) - } - }; - if match rt::is_truthy(interp, &__t1103) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::bool(true)); - } else { - { - let __t1065 = Value::bool(true); - if match rt::is_truthy(interp, &__t1065) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::bool(false)); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_choicepoint_x3f_(interp: &mut Interp) { - interp.register_native("shen.choicepoint?", 1, aot_shen_x2e_choicepoint_x3f_); - interp.register_aot_direct("shen.choicepoint?", aot_shen_x2e_choicepoint_x3f_); -} - -/// AOT-compiled from KL `(defun shen.choicepoint ...)` -pub fn aot_shen_x2e_choicepoint(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 5 { - return Err(ShenError::new(format!( - "shen.choicepoint: expected 5 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V778 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V779 = args[1].clone(); - #[allow(unused_mut)] - let mut v_V780 = args[2].clone(); - #[allow(unused_mut)] - let mut v_V781 = args[3].clone(); - #[allow(unused_mut)] - let mut v_V782 = args[4].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1366 = { - let __t1286 = { - let __t1204 = v_V781.clone(); - rt::is_cons(&__t1204) - }; - if !rt::is_truthy(interp, &__t1286)? { - Value::bool(false) - } else { - let __t1287 = { - let __t1284 = { - let __t1206 = { - let __t1205 = v_V781.clone(); - rt::tl(&__t1205)? - }; - rt::is_cons(&__t1206) - }; - if !rt::is_truthy(interp, &__t1284)? { - Value::bool(false) - } else { - let __t1285 = { - let __t1282 = { - let __t1209 = { - let __t1208 = { - let __t1207 = v_V781.clone(); - rt::tl(&__t1207)? - }; - rt::hd(&__t1208)? - }; - rt::is_cons(&__t1209) - }; - if !rt::is_truthy(interp, &__t1282)? { - Value::bool(false) - } else { - let __t1283 = { - let __t1280 = { - let __t1213 = { - let __t1212 = { - let __t1211 = { - let __t1210 = v_V781.clone(); - rt::tl(&__t1210)? - }; - rt::hd(&__t1211)? - }; - rt::tl(&__t1212)? - }; - rt::is_cons(&__t1213) - }; - if !rt::is_truthy(interp, &__t1280)? { - Value::bool(false) - } else { - let __t1281 = { - let __t1278 = { - let __t1218 = { - let __t1217 = { - let __t1216 = { - let __t1215 = { - let __t1214 = v_V781.clone(); - rt::tl(&__t1214)? - }; - rt::hd(&__t1215)? - }; - rt::tl(&__t1216)? - }; - rt::hd(&__t1217)? - }; - rt::is_cons(&__t1218) - }; - if !rt::is_truthy(interp, &__t1278)? { - Value::bool(false) - } else { - let __t1279 = { - let __t1276 = { - let __t1219 = Value::sym( - interp.intern("fail-if"), - ); - let __t1225 = { - let __t1224 = { - let __t1223 = { - let __t1222 = { - let __t1221 = { - let __t1220 = - v_V781.clone(); - rt::tl(&__t1220)? - }; - rt::hd(&__t1221)? - }; - rt::tl(&__t1222)? - }; - rt::hd(&__t1223)? - }; - rt::hd(&__t1224)? - }; - rt::eq(&__t1219, &__t1225) - }; - if !rt::is_truthy(interp, &__t1276)? { - Value::bool(false) - } else { - let __t1277 = { - let __t1274 = { - let __t1231 = { - let __t1230 = { - let __t1229 = { - let __t1228 = { - let __t1227 = { - let __t1226 = v_V781.clone(); - rt::tl(&__t1226)? - }; - rt::hd( - &__t1227, - )? - }; - rt::tl(&__t1228)? - }; - rt::hd(&__t1229)? - }; - rt::tl(&__t1230)? - }; - rt::is_cons(&__t1231) - }; - if !rt::is_truthy(interp, &__t1274)? - { - Value::bool(false) - } else { - let __t1275 = { - let __t1272 = { - let __t1238 = { - let __t1237 = { - let __t1236 = { - let __t1235 = { - let __t1234 = { - let __t1233 = { let __t1232 = v_V781.clone(); rt::tl(&__t1232)? }; - rt::hd(&__t1233)? - }; - rt::tl(&__t1234)? - }; - rt::hd(&__t1235)? - }; - rt::tl( - &__t1236, - )? - }; - rt::tl(&__t1237)? - }; - rt::is_cons(&__t1238) - }; - if !rt::is_truthy( - interp, &__t1272, - )? { - Value::bool(false) - } else { - let __t1273 = { - let __t1270 = { - let __t1239 = - Value::nil( - ); - let __t1247 = { - let __t1246 = { - let __t1245 = { - let __t1244 = { let __t1243 = { let __t1242 = { let __t1241 = { let __t1240 = v_V781.clone(); rt::tl(&__t1240)? }; rt::hd(&__t1241)? }; rt::tl(&__t1242)? }; rt::hd(&__t1243)? }; - rt::tl(&__t1244)? - }; - rt::tl(&__t1245)? - }; - rt::tl(&__t1246)? - }; - rt::eq( - &__t1239, - &__t1247, - ) - }; - if !rt::is_truthy( - interp, - &__t1270, - )? { - Value::bool( - false, - ) - } else { - let __t1271 = { - let __t1268 = { - let __t1248 = Value::nil(); - let __t1253 = { - let __t1252 = { let __t1251 = { let __t1250 = { let __t1249 = v_V781.clone(); rt::tl(&__t1249)? }; rt::hd(&__t1250)? }; rt::tl(&__t1251)? }; - rt::tl(&__t1252)? - }; - rt::eq(&__t1248, &__t1253) - }; - if !rt::is_truthy(interp, &__t1268)? { Value::bool(false) } else { let __t1269 = { let __t1266 = { let __t1254 = Value::nil(); let __t1257 = { let __t1256 = { let __t1255 = v_V781.clone(); rt::tl(&__t1255)? }; rt::tl(&__t1256)? }; rt::eq(&__t1254, &__t1257) }; if !rt::is_truthy(interp, &__t1266)? { Value::bool(false) } else { let __t1267 = { let __t1258 = v_V778.clone(); let __t1265 = { let __t1264 = { let __t1263 = { let __t1262 = { let __t1261 = { let __t1260 = { let __t1259 = v_V781.clone(); rt::tl(&__t1259)? }; rt::hd(&__t1260)? }; rt::tl(&__t1261)? }; rt::hd(&__t1262)? }; rt::tl(&__t1263)? }; rt::hd(&__t1264)? }; rt::eq(&__t1258, &__t1265) }; Value::bool(rt::is_truthy(interp, &__t1267)?) } }; Value::bool(rt::is_truthy(interp, &__t1269)?) } - }; - Value::bool(rt::is_truthy(interp, &__t1271)?) - } - }; - Value::bool( - rt::is_truthy( - interp, - &__t1273, - )?, - ) - } - }; - Value::bool(rt::is_truthy( - interp, &__t1275, - )?) - } - }; - Value::bool(rt::is_truthy( - interp, &__t1277, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1279)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1281)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1283)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1285)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1287)?) - } - }; - if match rt::is_truthy(interp, &__t1366) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1364 = { - let __t1288 = Value::bool(true); - let __t1363 = { - let __t1361 = { - let __t1289 = Value::sym(interp.intern("let")); - let __t1360 = { - let __t1290 = v_V779.clone(); - let __t1359 = { - let __t1305 = { - let __t1291 = Value::sym(interp.intern("freeze")); - let __t1304 = { - let __t1302 = { - let __t1292 = Value::sym(interp.intern("cond")); - let __t1301 = { - let __t1299 = { - let __t1298 = { - let __t1297 = { - let __t1296 = { - let __t1295 = { - let __t1294 = { - let __t1293 = - v_V781.clone(); - rt::tl(&__t1293)? - }; - rt::hd(&__t1294)? - }; - rt::tl(&__t1295)? - }; - rt::hd(&__t1296)? - }; - rt::tl(&__t1297)? - }; - rt::hd(&__t1298)? - }; - let __t1300 = v_V782.clone(); - rt::apply_direct( - interp, - "shen.scan-body", - &[__t1299, __t1300], - )? - }; - rt::cons(&__t1292, &__t1301) - }; - let __t1303 = Value::nil(); - rt::cons(&__t1302, &__t1303) - }; - rt::cons(&__t1291, &__t1304) - }; - let __t1358 = { - let __t1356 = { - let __t1306 = Value::sym(interp.intern("if")); - let __t1355 = { - let __t1308 = { - let __t1307 = v_V781.clone(); - rt::hd(&__t1307)? - }; - let __t1354 = { - let __t1346 = { - let __t1309 = - Value::sym(interp.intern("let")); - let __t1345 = { - let __t1310 = v_V780.clone(); - let __t1344 = { - let __t1318 = { - let __t1317 = { - let __t1316 = { - let __t1315 = { - let __t1314 = { - let __t1313 = { - let __t1312 = { - let __t1311 = v_V781.clone(); - rt::tl(&__t1311)? - }; - rt::hd(&__t1312)? - }; - rt::tl(&__t1313)? - }; - rt::hd( - &__t1314, - )? - }; - rt::tl(&__t1315)? - }; - rt::tl(&__t1316)? - }; - rt::hd(&__t1317)? - }; - let __t1343 = { - let __t1341 = { - let __t1319 = - Value::sym( - interp.intern( - "if", - ), - ); - let __t1340 = { - let __t1330 = { - let __t1326 = { - let __t1325 = { - let __t1324 = { - let __t1323 = { let __t1322 = { let __t1321 = { let __t1320 = v_V781.clone(); rt::tl(&__t1320)? }; rt::hd(&__t1321)? }; rt::tl(&__t1322)? }; - rt::hd(&__t1323)? - }; - rt::tl(&__t1324)? - }; - rt::hd(&__t1325)? - }; - let __t1329 = { - let __t1327 = v_V780.clone(); - let __t1328 = Value::nil(); - rt::cons(&__t1327, &__t1328) - }; - rt::cons( - &__t1326, - &__t1329, - ) - }; - let __t1339 = { - let __t1335 = { - let __t1331 = Value::sym(interp.intern("thaw")); - let __t1334 = { - let __t1332 = v_V779.clone(); - let __t1333 = Value::nil(); - rt::cons(&__t1332, &__t1333) - }; - rt::cons(&__t1331, &__t1334) - }; - let __t1338 = { - let __t1336 = v_V780.clone(); - let __t1337 = Value::nil(); - rt::cons(&__t1336, &__t1337) - }; - rt::cons( - &__t1335, - &__t1338, - ) - }; - rt::cons( - &__t1330, - &__t1339, - ) - }; - rt::cons( - &__t1319, &__t1340, - ) - }; - let __t1342 = Value::nil(); - rt::cons(&__t1341, &__t1342) - }; - rt::cons(&__t1318, &__t1343) - }; - rt::cons(&__t1310, &__t1344) - }; - rt::cons(&__t1309, &__t1345) - }; - let __t1353 = { - let __t1351 = { - let __t1347 = Value::sym( - interp.intern("thaw"), - ); - let __t1350 = { - let __t1348 = v_V779.clone(); - let __t1349 = Value::nil(); - rt::cons(&__t1348, &__t1349) - }; - rt::cons(&__t1347, &__t1350) - }; - let __t1352 = Value::nil(); - rt::cons(&__t1351, &__t1352) - }; - rt::cons(&__t1346, &__t1353) - }; - rt::cons(&__t1308, &__t1354) - }; - rt::cons(&__t1306, &__t1355) - }; - let __t1357 = Value::nil(); - rt::cons(&__t1356, &__t1357) - }; - rt::cons(&__t1305, &__t1358) - }; - rt::cons(&__t1290, &__t1359) - }; - rt::cons(&__t1289, &__t1360) - }; - let __t1362 = Value::nil(); - rt::cons(&__t1361, &__t1362) - }; - rt::cons(&__t1288, &__t1363) - }; - let __t1365 = Value::nil(); - rt::cons(&__t1364, &__t1365) - }); - } else { - { - let __t1203 = { - let __t1134 = { - let __t1106 = v_V781.clone(); - rt::is_cons(&__t1106) - }; - if !rt::is_truthy(interp, &__t1134)? { - Value::bool(false) - } else { - let __t1135 = { - let __t1132 = { - let __t1108 = { - let __t1107 = v_V781.clone(); - rt::tl(&__t1107)? - }; - rt::is_cons(&__t1108) - }; - if !rt::is_truthy(interp, &__t1132)? { - Value::bool(false) - } else { - let __t1133 = { - let __t1130 = { - let __t1111 = { - let __t1110 = { - let __t1109 = v_V781.clone(); - rt::tl(&__t1109)? - }; - rt::hd(&__t1110)? - }; - rt::is_cons(&__t1111) - }; - if !rt::is_truthy(interp, &__t1130)? { - Value::bool(false) - } else { - let __t1131 = { - let __t1128 = { - let __t1115 = { - let __t1114 = { - let __t1113 = { - let __t1112 = v_V781.clone(); - rt::tl(&__t1112)? - }; - rt::hd(&__t1113)? - }; - rt::tl(&__t1114)? - }; - rt::is_cons(&__t1115) - }; - if !rt::is_truthy(interp, &__t1128)? { - Value::bool(false) - } else { - let __t1129 = { - let __t1126 = { - let __t1116 = Value::nil(); - let __t1121 = { - let __t1120 = { - let __t1119 = { - let __t1118 = { - let __t1117 = - v_V781.clone(); - rt::tl(&__t1117)? - }; - rt::hd(&__t1118)? - }; - rt::tl(&__t1119)? - }; - rt::tl(&__t1120)? - }; - rt::eq(&__t1116, &__t1121) - }; - if !rt::is_truthy(interp, &__t1126)? { - Value::bool(false) - } else { - let __t1127 = { - let __t1122 = Value::nil(); - let __t1125 = { - let __t1124 = { - let __t1123 = - v_V781.clone(); - rt::tl(&__t1123)? - }; - rt::tl(&__t1124)? - }; - rt::eq(&__t1122, &__t1125) - }; - Value::bool(rt::is_truthy( - interp, &__t1127, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1129)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1131)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1133)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1135)?) - } - }; - if match rt::is_truthy(interp, &__t1203) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1201 = { - let __t1136 = Value::bool(true); - let __t1200 = { - let __t1198 = { - let __t1137 = Value::sym(interp.intern("let")); - let __t1197 = { - let __t1138 = v_V779.clone(); - let __t1196 = { - let __t1147 = { - let __t1139 = - Value::sym(interp.intern("freeze")); - let __t1146 = { - let __t1144 = { - let __t1140 = - Value::sym(interp.intern("cond")); - let __t1143 = { - let __t1141 = v_V778.clone(); - let __t1142 = v_V782.clone(); - rt::apply_direct( - interp, - "shen.scan-body", - &[__t1141, __t1142], - )? - }; - rt::cons(&__t1140, &__t1143) - }; - let __t1145 = Value::nil(); - rt::cons(&__t1144, &__t1145) - }; - rt::cons(&__t1139, &__t1146) - }; - let __t1195 = { - let __t1193 = { - let __t1148 = - Value::sym(interp.intern("if")); - let __t1192 = { - let __t1150 = { - let __t1149 = v_V781.clone(); - rt::hd(&__t1149)? - }; - let __t1191 = { - let __t1183 = { - let __t1151 = Value::sym( - interp.intern("let"), - ); - let __t1182 = { - let __t1152 = - v_V780.clone(); - let __t1181 = { - let __t1157 = { - let __t1156 = { - let __t1155 = { - let __t1154 = { - let __t1153 = v_V781.clone(); - rt::tl(&__t1153)? - }; - rt::hd(&__t1154)? - }; - rt::tl( - &__t1155, - )? - }; - rt::hd(&__t1156)? - }; - let __t1180 = { - let __t1178 = { - let __t1158 = Value::sym(interp.intern("if")); - let __t1177 = { - let __t1167 = { - let __t1159 = Value::sym(interp.intern("=")); - let __t1166 = { - let __t1160 = v_V780.clone(); - let __t1165 = { let __t1163 = { let __t1161 = Value::sym(interp.intern("fail")); let __t1162 = Value::nil(); rt::cons(&__t1161, &__t1162) }; let __t1164 = Value::nil(); rt::cons(&__t1163, &__t1164) }; - rt::cons(&__t1160, &__t1165) - }; - rt::cons(&__t1159, &__t1166) - }; - let __t1176 = { - let __t1172 = { - let __t1168 = Value::sym(interp.intern("thaw")); - let __t1171 = { let __t1169 = v_V779.clone(); let __t1170 = Value::nil(); rt::cons(&__t1169, &__t1170) }; - rt::cons(&__t1168, &__t1171) - }; - let __t1175 = { - let __t1173 = v_V780.clone(); - let __t1174 = Value::nil(); - rt::cons(&__t1173, &__t1174) - }; - rt::cons(&__t1172, &__t1175) - }; - rt::cons(&__t1167, &__t1176) - }; - rt::cons( - &__t1158, - &__t1177, - ) - }; - let __t1179 = - Value::nil(); - rt::cons( - &__t1178, - &__t1179, - ) - }; - rt::cons( - &__t1157, &__t1180, - ) - }; - rt::cons(&__t1152, &__t1181) - }; - rt::cons(&__t1151, &__t1182) - }; - let __t1190 = { - let __t1188 = { - let __t1184 = Value::sym( - interp.intern("thaw"), - ); - let __t1187 = { - let __t1185 = - v_V779.clone(); - let __t1186 = - Value::nil(); - rt::cons( - &__t1185, &__t1186, - ) - }; - rt::cons(&__t1184, &__t1187) - }; - let __t1189 = Value::nil(); - rt::cons(&__t1188, &__t1189) - }; - rt::cons(&__t1183, &__t1190) - }; - rt::cons(&__t1150, &__t1191) - }; - rt::cons(&__t1148, &__t1192) - }; - let __t1194 = Value::nil(); - rt::cons(&__t1193, &__t1194) - }; - rt::cons(&__t1147, &__t1195) - }; - rt::cons(&__t1138, &__t1196) - }; - rt::cons(&__t1137, &__t1197) - }; - let __t1199 = Value::nil(); - rt::cons(&__t1198, &__t1199) - }; - rt::cons(&__t1136, &__t1200) - }; - let __t1202 = Value::nil(); - rt::cons(&__t1201, &__t1202) - }); - } else { - { - let __t1105 = Value::bool(true); - if match rt::is_truthy(interp, &__t1105) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1104 = - Value::str("implementation error in shen.choicepoint"); - rt::apply_direct(interp, "simple-error", &[__t1104])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } -} - -fn install_shen_x2e_choicepoint(interp: &mut Interp) { - interp.register_native("shen.choicepoint", 5, aot_shen_x2e_choicepoint); - interp.register_aot_direct("shen.choicepoint", aot_shen_x2e_choicepoint); -} - -/// AOT-compiled from KL `(defun shen.rep-X ...)` -pub fn aot_shen_x2e_rep_x2d_X(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 3 { - return Err(ShenError::new(format!( - "shen.rep-X: expected 3 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V784 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V785 = args[1].clone(); - #[allow(unused_mut)] - let mut v_V786 = args[2].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1390 = { - let __t1388 = v_V784.clone(); - let __t1389 = v_V786.clone(); - rt::eq(&__t1388, &__t1389) - }; - if match rt::is_truthy(interp, &__t1390) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V785.clone()); - } else { - { - let __t1387 = { - let __t1368 = v_V786.clone(); - rt::is_cons(&__t1368) - }; - if match rt::is_truthy(interp, &__t1387) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W787 = { - let __t1369 = v_V784.clone(); - let __t1370 = v_V785.clone(); - let __t1372 = { - let __t1371 = v_V786.clone(); - rt::hd(&__t1371)? - }; - rt::apply_direct( - interp, - "shen.rep-X", - &[__t1369, __t1370, __t1372], - )? - }; - { - let __t1376 = { - let __t1373 = v_W787.clone(); - let __t1375 = { - let __t1374 = v_V786.clone(); - rt::hd(&__t1374)? - }; - rt::eq(&__t1373, &__t1375) - }; - if match rt::is_truthy(interp, &__t1376) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1378 = { - let __t1377 = v_V786.clone(); - rt::hd(&__t1377)? - }; - let __t1383 = { - let __t1379 = v_V784.clone(); - let __t1380 = v_V785.clone(); - let __t1382 = { - let __t1381 = v_V786.clone(); - rt::tl(&__t1381)? - }; - rt::apply_direct( - interp, - "shen.rep-X", - &[__t1379, __t1380, __t1382], - )? - }; - rt::cons(&__t1378, &__t1383) - }); - } else { - break Ok({ - let __t1384 = v_W787.clone(); - let __t1386 = { - let __t1385 = v_V786.clone(); - rt::tl(&__t1385)? - }; - rt::cons(&__t1384, &__t1386) - }); - } - } - } - } else { - { - let __t1367 = Value::bool(true); - if match rt::is_truthy(interp, &__t1367) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V786.clone()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } -} - -fn install_shen_x2e_rep_x2d_X(interp: &mut Interp) { - interp.register_native("shen.rep-X", 3, aot_shen_x2e_rep_x2d_X); - interp.register_aot_direct("shen.rep-X", aot_shen_x2e_rep_x2d_X); -} - -/// AOT-compiled from KL `(defun shen.kl-body ...)` -pub fn aot_shen_x2e_kl_x2d_body(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.kl-body: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V788 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V789 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - break Ok({ - let __t1398 = { - let v_V789 = v_V789.clone(); - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z790 = args[0].clone(); - Ok({ - let __t1391 = Value::nil(); - let __t1393 = { - let __t1392 = v_Z790.clone(); - rt::apply_direct(interp, "fst", &[__t1392])? - }; - let __t1394 = v_V789.clone(); - let __t1397 = { - let __t1396 = { - let __t1395 = v_Z790.clone(); - rt::apply_direct(interp, "snd", &[__t1395])? - }; - rt::apply_direct(interp, "shen.alpha-convert", &[__t1396])? - }; - rt::apply_direct( - interp, - "shen.triple-stack", - &[__t1391, __t1393, __t1394, __t1397], - )? - }) - }, - vec![v_V789], - interp, - ) - }; - let __t1399 = v_V788.clone(); - rt::apply_direct(interp, "map", &[__t1398, __t1399])? - }); - } -} - -fn install_shen_x2e_kl_x2d_body(interp: &mut Interp) { - interp.register_native("shen.kl-body", 2, aot_shen_x2e_kl_x2d_body); - interp.register_aot_direct("shen.kl-body", aot_shen_x2e_kl_x2d_body); -} - -/// AOT-compiled from KL `(defun shen.alpha-convert ...)` -pub fn aot_shen_x2e_alpha_x2d_convert(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.alpha-convert: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V791 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1500 = { - let __t1480 = { - let __t1460 = v_V791.clone(); - rt::is_cons(&__t1460) - }; - if !rt::is_truthy(interp, &__t1480)? { - Value::bool(false) - } else { - let __t1481 = { - let __t1478 = { - let __t1461 = Value::sym(interp.intern("lambda")); - let __t1463 = { - let __t1462 = v_V791.clone(); - rt::hd(&__t1462)? - }; - rt::eq(&__t1461, &__t1463) - }; - if !rt::is_truthy(interp, &__t1478)? { - Value::bool(false) - } else { - let __t1479 = { - let __t1476 = { - let __t1465 = { - let __t1464 = v_V791.clone(); - rt::tl(&__t1464)? - }; - rt::is_cons(&__t1465) - }; - if !rt::is_truthy(interp, &__t1476)? { - Value::bool(false) - } else { - let __t1477 = { - let __t1474 = { - let __t1468 = { - let __t1467 = { - let __t1466 = v_V791.clone(); - rt::tl(&__t1466)? - }; - rt::tl(&__t1467)? - }; - rt::is_cons(&__t1468) - }; - if !rt::is_truthy(interp, &__t1474)? { - Value::bool(false) - } else { - let __t1475 = { - let __t1469 = Value::nil(); - let __t1473 = { - let __t1472 = { - let __t1471 = { - let __t1470 = v_V791.clone(); - rt::tl(&__t1470)? - }; - rt::tl(&__t1471)? - }; - rt::tl(&__t1472)? - }; - rt::eq(&__t1469, &__t1473) - }; - Value::bool(rt::is_truthy(interp, &__t1475)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1477)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1479)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1481)?) - } - }; - if match rt::is_truthy(interp, &__t1500) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W792 = { - let __t1482 = Value::sym(interp.intern("Z")); - rt::apply_direct(interp, "gensym", &[__t1482])? - }; - { - let v_W793 = { - let __t1483 = Value::sym(interp.intern("lambda")); - let __t1496 = { - let __t1484 = v_W792.clone(); - let __t1495 = { - let __t1493 = { - let __t1487 = { - let __t1486 = { - let __t1485 = v_V791.clone(); - rt::tl(&__t1485)? - }; - rt::hd(&__t1486)? - }; - let __t1488 = v_W792.clone(); - let __t1492 = { - let __t1491 = { - let __t1490 = { - let __t1489 = v_V791.clone(); - rt::tl(&__t1489)? - }; - rt::tl(&__t1490)? - }; - rt::hd(&__t1491)? - }; - rt::apply_direct( - interp, - "shen.beta", - &[__t1487, __t1488, __t1492], - )? - }; - let __t1494 = Value::nil(); - rt::cons(&__t1493, &__t1494) - }; - rt::cons(&__t1484, &__t1495) - }; - rt::cons(&__t1483, &__t1496) - }; - break Ok({ - let __t1498 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z794 = args[0].clone(); - Ok({ - let __t1497 = v_Z794.clone(); - rt::apply_direct( - interp, - "shen.alpha-convert", - &[__t1497], - )? - }) - }, - Vec::new(), - interp, - ) - }; - let __t1499 = v_W793.clone(); - rt::apply_direct(interp, "map", &[__t1498, __t1499])? - }); - } - } - } else { - { - let __t1459 = { - let __t1433 = { - let __t1406 = v_V791.clone(); - rt::is_cons(&__t1406) - }; - if !rt::is_truthy(interp, &__t1433)? { - Value::bool(false) - } else { - let __t1434 = { - let __t1431 = { - let __t1407 = Value::sym(interp.intern("let")); - let __t1409 = { - let __t1408 = v_V791.clone(); - rt::hd(&__t1408)? - }; - rt::eq(&__t1407, &__t1409) - }; - if !rt::is_truthy(interp, &__t1431)? { - Value::bool(false) - } else { - let __t1432 = { - let __t1429 = { - let __t1411 = { - let __t1410 = v_V791.clone(); - rt::tl(&__t1410)? - }; - rt::is_cons(&__t1411) - }; - if !rt::is_truthy(interp, &__t1429)? { - Value::bool(false) - } else { - let __t1430 = { - let __t1427 = { - let __t1414 = { - let __t1413 = { - let __t1412 = v_V791.clone(); - rt::tl(&__t1412)? - }; - rt::tl(&__t1413)? - }; - rt::is_cons(&__t1414) - }; - if !rt::is_truthy(interp, &__t1427)? { - Value::bool(false) - } else { - let __t1428 = { - let __t1425 = { - let __t1418 = { - let __t1417 = { - let __t1416 = { - let __t1415 = - v_V791.clone(); - rt::tl(&__t1415)? - }; - rt::tl(&__t1416)? - }; - rt::tl(&__t1417)? - }; - rt::is_cons(&__t1418) - }; - if !rt::is_truthy(interp, &__t1425)? { - Value::bool(false) - } else { - let __t1426 = { - let __t1419 = Value::nil(); - let __t1424 = { - let __t1423 = { - let __t1422 = { - let __t1421 = { - let __t1420 = - v_V791.clone(); - rt::tl(&__t1420)? - }; - rt::tl(&__t1421)? - }; - rt::tl(&__t1422)? - }; - rt::tl(&__t1423)? - }; - rt::eq(&__t1419, &__t1424) - }; - Value::bool(rt::is_truthy( - interp, &__t1426, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1428)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1430)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1432)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1434)?) - } - }; - if match rt::is_truthy(interp, &__t1459) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W795 = { - let __t1435 = Value::sym(interp.intern("W")); - rt::apply_direct(interp, "gensym", &[__t1435])? - }; - { - let v_W796 = { - let __t1436 = Value::sym(interp.intern("let")); - let __t1455 = { - let __t1437 = v_W795.clone(); - let __t1454 = { - let __t1441 = { - let __t1440 = { - let __t1439 = { - let __t1438 = v_V791.clone(); - rt::tl(&__t1438)? - }; - rt::tl(&__t1439)? - }; - rt::hd(&__t1440)? - }; - let __t1453 = { - let __t1451 = { - let __t1444 = { - let __t1443 = { - let __t1442 = v_V791.clone(); - rt::tl(&__t1442)? - }; - rt::hd(&__t1443)? - }; - let __t1445 = v_W795.clone(); - let __t1450 = { - let __t1449 = { - let __t1448 = { - let __t1447 = { - let __t1446 = v_V791.clone(); - rt::tl(&__t1446)? - }; - rt::tl(&__t1447)? - }; - rt::tl(&__t1448)? - }; - rt::hd(&__t1449)? - }; - rt::apply_direct( - interp, - "shen.beta", - &[__t1444, __t1445, __t1450], - )? - }; - let __t1452 = Value::nil(); - rt::cons(&__t1451, &__t1452) - }; - rt::cons(&__t1441, &__t1453) - }; - rt::cons(&__t1437, &__t1454) - }; - rt::cons(&__t1436, &__t1455) - }; - break Ok({ - let __t1457 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z797 = args[0].clone(); - Ok({ - let __t1456 = v_Z797.clone(); - rt::apply_direct( - interp, - "shen.alpha-convert", - &[__t1456], - )? - }) - }, - Vec::new(), - interp, - ) - }; - let __t1458 = v_W796.clone(); - rt::apply_direct(interp, "map", &[__t1457, __t1458])? - }); - } - } - } else { - { - let __t1405 = { - let __t1401 = v_V791.clone(); - rt::is_cons(&__t1401) - }; - if match rt::is_truthy(interp, &__t1405) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1403 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z798 = args[0].clone(); - Ok({ - let __t1402 = v_Z798.clone(); - rt::apply_direct( - interp, - "shen.alpha-convert", - &[__t1402], - )? - }) - }, - Vec::new(), - interp, - ) - }; - let __t1404 = v_V791.clone(); - rt::apply_direct(interp, "map", &[__t1403, __t1404])? - }); - } else { - { - let __t1400 = Value::bool(true); - if match rt::is_truthy(interp, &__t1400) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V791.clone()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_alpha_x2d_convert(interp: &mut Interp) { - interp.register_native("shen.alpha-convert", 1, aot_shen_x2e_alpha_x2d_convert); - interp.register_aot_direct("shen.alpha-convert", aot_shen_x2e_alpha_x2d_convert); -} - -/// AOT-compiled from KL `(defun shen.triple-stack ...)` -pub fn aot_shen_x2e_triple_x2d_stack(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 4 { - return Err(ShenError::new(format!( - "shen.triple-stack: expected 4 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V807 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V808 = args[1].clone(); - #[allow(unused_mut)] - let mut v_V809 = args[2].clone(); - #[allow(unused_mut)] - let mut v_V810 = args[3].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1678 = { - let __t1665 = { - let __t1637 = Value::nil(); - let __t1638 = v_V808.clone(); - rt::eq(&__t1637, &__t1638) - }; - if !rt::is_truthy(interp, &__t1665)? { - Value::bool(false) - } else { - let __t1666 = { - let __t1663 = { - let __t1639 = Value::nil(); - let __t1640 = v_V809.clone(); - rt::eq(&__t1639, &__t1640) - }; - if !rt::is_truthy(interp, &__t1663)? { - Value::bool(false) - } else { - let __t1664 = { - let __t1661 = { - let __t1641 = v_V810.clone(); - rt::is_cons(&__t1641) - }; - if !rt::is_truthy(interp, &__t1661)? { - Value::bool(false) - } else { - let __t1662 = { - let __t1659 = { - let __t1642 = Value::sym(interp.intern("where")); - let __t1644 = { - let __t1643 = v_V810.clone(); - rt::hd(&__t1643)? - }; - rt::eq(&__t1642, &__t1644) - }; - if !rt::is_truthy(interp, &__t1659)? { - Value::bool(false) - } else { - let __t1660 = { - let __t1657 = { - let __t1646 = { - let __t1645 = v_V810.clone(); - rt::tl(&__t1645)? - }; - rt::is_cons(&__t1646) - }; - if !rt::is_truthy(interp, &__t1657)? { - Value::bool(false) - } else { - let __t1658 = { - let __t1655 = { - let __t1649 = { - let __t1648 = { - let __t1647 = v_V810.clone(); - rt::tl(&__t1647)? - }; - rt::tl(&__t1648)? - }; - rt::is_cons(&__t1649) - }; - if !rt::is_truthy(interp, &__t1655)? { - Value::bool(false) - } else { - let __t1656 = { - let __t1650 = Value::nil(); - let __t1654 = { - let __t1653 = { - let __t1652 = { - let __t1651 = - v_V810.clone(); - rt::tl(&__t1651)? - }; - rt::tl(&__t1652)? - }; - rt::tl(&__t1653)? - }; - rt::eq(&__t1650, &__t1654) - }; - Value::bool(rt::is_truthy( - interp, &__t1656, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1658)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1660)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1662)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1664)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1666)?) - } - }; - if match rt::is_truthy(interp, &__t1678) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t1671 = { - let __t1669 = { - let __t1668 = { - let __t1667 = v_V810.clone(); - rt::tl(&__t1667)? - }; - rt::hd(&__t1668)? - }; - let __t1670 = v_V807.clone(); - rt::cons(&__t1669, &__t1670) - }; - let __t1672 = Value::nil(); - let __t1673 = Value::nil(); - let __t1677 = { - let __t1676 = { - let __t1675 = { - let __t1674 = v_V810.clone(); - rt::tl(&__t1674)? - }; - rt::tl(&__t1675)? - }; - rt::hd(&__t1676)? - }; - v_V807 = __t1671; - v_V808 = __t1672; - v_V809 = __t1673; - v_V810 = __t1677; - continue; - } - } else { - { - let __t1636 = { - let __t1628 = { - let __t1624 = Value::nil(); - let __t1625 = v_V808.clone(); - rt::eq(&__t1624, &__t1625) - }; - if !rt::is_truthy(interp, &__t1628)? { - Value::bool(false) - } else { - let __t1629 = { - let __t1626 = Value::nil(); - let __t1627 = v_V809.clone(); - rt::eq(&__t1626, &__t1627) - }; - Value::bool(rt::is_truthy(interp, &__t1629)?) - } - }; - if match rt::is_truthy(interp, &__t1636) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1632 = { - let __t1631 = { - let __t1630 = v_V807.clone(); - rt::apply_direct(interp, "reverse", &[__t1630])? - }; - rt::apply_direct(interp, "shen.rectify-test", &[__t1631])? - }; - let __t1635 = { - let __t1633 = v_V810.clone(); - let __t1634 = Value::nil(); - rt::cons(&__t1633, &__t1634) - }; - rt::cons(&__t1632, &__t1635) - }); - } else { - { - let __t1623 = { - let __t1610 = { - let __t1604 = v_V808.clone(); - rt::is_cons(&__t1604) - }; - if !rt::is_truthy(interp, &__t1610)? { - Value::bool(false) - } else { - let __t1611 = { - let __t1608 = { - let __t1605 = v_V809.clone(); - rt::is_cons(&__t1605) - }; - if !rt::is_truthy(interp, &__t1608)? { - Value::bool(false) - } else { - let __t1609 = { - let __t1607 = { - let __t1606 = v_V808.clone(); - rt::hd(&__t1606)? - }; - rt::apply_direct(interp, "variable?", &[__t1607])? - }; - Value::bool(rt::is_truthy(interp, &__t1609)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1611)?) - } - }; - if match rt::is_truthy(interp, &__t1623) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t1612 = v_V807.clone(); - let __t1614 = { - let __t1613 = v_V808.clone(); - rt::tl(&__t1613)? - }; - let __t1616 = { - let __t1615 = v_V809.clone(); - rt::tl(&__t1615)? - }; - let __t1622 = { - let __t1618 = { - let __t1617 = v_V808.clone(); - rt::hd(&__t1617)? - }; - let __t1620 = { - let __t1619 = v_V809.clone(); - rt::hd(&__t1619)? - }; - let __t1621 = v_V810.clone(); - rt::apply_direct( - interp, - "shen.beta", - &[__t1618, __t1620, __t1621], - )? - }; - v_V807 = __t1612; - v_V808 = __t1614; - v_V809 = __t1616; - v_V810 = __t1622; - continue; - } - } else { - { - let __t1603 = { - let __t1549 = { - let __t1524 = v_V808.clone(); - rt::is_cons(&__t1524) - }; - if !rt::is_truthy(interp, &__t1549)? { - Value::bool(false) - } else { - let __t1550 = { - let __t1547 = { - let __t1526 = { - let __t1525 = v_V808.clone(); - rt::hd(&__t1525)? - }; - rt::is_cons(&__t1526) - }; - if !rt::is_truthy(interp, &__t1547)? { - Value::bool(false) - } else { - let __t1548 = { - let __t1545 = { - let __t1529 = { - let __t1528 = { - let __t1527 = v_V808.clone(); - rt::hd(&__t1527)? - }; - rt::tl(&__t1528)? - }; - rt::is_cons(&__t1529) - }; - if !rt::is_truthy(interp, &__t1545)? { - Value::bool(false) - } else { - let __t1546 = { - let __t1543 = { - let __t1533 = { - let __t1532 = { - let __t1531 = { - let __t1530 = - v_V808.clone(); - rt::hd(&__t1530)? - }; - rt::tl(&__t1531)? - }; - rt::tl(&__t1532)? - }; - rt::is_cons(&__t1533) - }; - if !rt::is_truthy(interp, &__t1543)? - { - Value::bool(false) - } else { - let __t1544 = { - let __t1541 = { - let __t1534 = - Value::nil(); - let __t1539 = { - let __t1538 = { - let __t1537 = { - let __t1536 = { - let __t1535 = v_V808.clone(); - rt::hd(&__t1535)? - }; - rt::tl(&__t1536)? - }; - rt::tl( - &__t1537, - )? - }; - rt::tl(&__t1538)? - }; - rt::eq( - &__t1534, &__t1539, - ) - }; - if !rt::is_truthy( - interp, &__t1541, - )? { - Value::bool(false) - } else { - let __t1542 = { - let __t1540 = - v_V809.clone(); - rt::is_cons( - &__t1540, - ) - }; - Value::bool( - rt::is_truthy( - interp, - &__t1542, - )?, - ) - } - }; - Value::bool(rt::is_truthy( - interp, &__t1544, - )?) - } - }; - Value::bool(rt::is_truthy( - interp, &__t1546, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1548)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1550)?) - } - }; - if match rt::is_truthy(interp, &__t1603) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t1561 = { - let __t1559 = { - let __t1554 = { - let __t1553 = { - let __t1552 = { - let __t1551 = v_V808.clone(); - rt::hd(&__t1551)? - }; - rt::hd(&__t1552)? - }; - rt::apply_direct( - interp, - "shen.op-test", - &[__t1553], - )? - }; - let __t1558 = { - let __t1556 = { - let __t1555 = v_V809.clone(); - rt::hd(&__t1555)? - }; - let __t1557 = Value::nil(); - rt::cons(&__t1556, &__t1557) - }; - rt::cons(&__t1554, &__t1558) - }; - let __t1560 = v_V807.clone(); - rt::cons(&__t1559, &__t1560) - }; - let __t1574 = { - let __t1565 = { - let __t1564 = { - let __t1563 = { - let __t1562 = v_V808.clone(); - rt::hd(&__t1562)? - }; - rt::tl(&__t1563)? - }; - rt::hd(&__t1564)? - }; - let __t1573 = { - let __t1570 = { - let __t1569 = { - let __t1568 = { - let __t1567 = { - let __t1566 = v_V808.clone(); - rt::hd(&__t1566)? - }; - rt::tl(&__t1567)? - }; - rt::tl(&__t1568)? - }; - rt::hd(&__t1569)? - }; - let __t1572 = { - let __t1571 = v_V808.clone(); - rt::tl(&__t1571)? - }; - rt::cons(&__t1570, &__t1572) - }; - rt::cons(&__t1565, &__t1573) - }; - let __t1596 = { - let __t1583 = { - let __t1578 = { - let __t1577 = { - let __t1576 = { - let __t1575 = v_V808.clone(); - rt::hd(&__t1575)? - }; - rt::hd(&__t1576)? - }; - rt::apply_direct( - interp, - "shen.op1", - &[__t1577], - )? - }; - let __t1582 = { - let __t1580 = { - let __t1579 = v_V809.clone(); - rt::hd(&__t1579)? - }; - let __t1581 = Value::nil(); - rt::cons(&__t1580, &__t1581) - }; - rt::cons(&__t1578, &__t1582) - }; - let __t1595 = { - let __t1592 = { - let __t1587 = { - let __t1586 = { - let __t1585 = { - let __t1584 = v_V808.clone(); - rt::hd(&__t1584)? - }; - rt::hd(&__t1585)? - }; - rt::apply_direct( - interp, - "shen.op2", - &[__t1586], - )? - }; - let __t1591 = { - let __t1589 = { - let __t1588 = v_V809.clone(); - rt::hd(&__t1588)? - }; - let __t1590 = Value::nil(); - rt::cons(&__t1589, &__t1590) - }; - rt::cons(&__t1587, &__t1591) - }; - let __t1594 = { - let __t1593 = v_V809.clone(); - rt::tl(&__t1593)? - }; - rt::cons(&__t1592, &__t1594) - }; - rt::cons(&__t1583, &__t1595) - }; - let __t1602 = { - let __t1598 = { - let __t1597 = v_V808.clone(); - rt::hd(&__t1597)? - }; - let __t1600 = { - let __t1599 = v_V809.clone(); - rt::hd(&__t1599)? - }; - let __t1601 = v_V810.clone(); - rt::apply_direct( - interp, - "shen.beta", - &[__t1598, __t1600, __t1601], - )? - }; - v_V807 = __t1561; - v_V808 = __t1574; - v_V809 = __t1596; - v_V810 = __t1602; - continue; - } - } else { - { - let __t1523 = { - let __t1505 = { - let __t1503 = v_V808.clone(); - rt::is_cons(&__t1503) - }; - if !rt::is_truthy(interp, &__t1505)? { - Value::bool(false) - } else { - let __t1506 = { - let __t1504 = v_V809.clone(); - rt::is_cons(&__t1504) - }; - Value::bool(rt::is_truthy(interp, &__t1506)?) - } - }; - if match rt::is_truthy(interp, &__t1523) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t1517 = { - let __t1515 = { - let __t1507 = - Value::sym(interp.intern("=")); - let __t1514 = { - let __t1509 = { - let __t1508 = v_V808.clone(); - rt::hd(&__t1508)? - }; - let __t1513 = { - let __t1511 = { - let __t1510 = - v_V809.clone(); - rt::hd(&__t1510)? - }; - let __t1512 = Value::nil(); - rt::cons(&__t1511, &__t1512) - }; - rt::cons(&__t1509, &__t1513) - }; - rt::cons(&__t1507, &__t1514) - }; - let __t1516 = v_V807.clone(); - rt::cons(&__t1515, &__t1516) - }; - let __t1519 = { - let __t1518 = v_V808.clone(); - rt::tl(&__t1518)? - }; - let __t1521 = { - let __t1520 = v_V809.clone(); - rt::tl(&__t1520)? - }; - let __t1522 = v_V810.clone(); - v_V807 = __t1517; - v_V808 = __t1519; - v_V809 = __t1521; - v_V810 = __t1522; - continue; - } - } else { - { - let __t1502 = Value::bool(true); - if match rt::is_truthy(interp, &__t1502) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1501 = Value::str("implementation error in shen.triple-stack"); - rt::apply_direct( - interp, - "simple-error", - &[__t1501], - )? - }); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_triple_x2d_stack(interp: &mut Interp) { - interp.register_native("shen.triple-stack", 4, aot_shen_x2e_triple_x2d_stack); - interp.register_aot_direct("shen.triple-stack", aot_shen_x2e_triple_x2d_stack); -} - -/// AOT-compiled from KL `(defun shen.rectify-test ...)` -pub fn aot_shen_x2e_rectify_x2d_test(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.rectify-test: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V813 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1706 = { - let __t1704 = Value::nil(); - let __t1705 = v_V813.clone(); - rt::eq(&__t1704, &__t1705) - }; - if match rt::is_truthy(interp, &__t1706) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::bool(true)); - } else { - { - let __t1703 = { - let __t1700 = { - let __t1696 = v_V813.clone(); - rt::is_cons(&__t1696) - }; - if !rt::is_truthy(interp, &__t1700)? { - Value::bool(false) - } else { - let __t1701 = { - let __t1697 = Value::nil(); - let __t1699 = { - let __t1698 = v_V813.clone(); - rt::tl(&__t1698)? - }; - rt::eq(&__t1697, &__t1699) - }; - Value::bool(rt::is_truthy(interp, &__t1701)?) - } - }; - if match rt::is_truthy(interp, &__t1703) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1702 = v_V813.clone(); - rt::hd(&__t1702)? - }); - } else { - { - let __t1695 = { - let __t1684 = { - let __t1681 = v_V813.clone(); - rt::is_cons(&__t1681) - }; - if !rt::is_truthy(interp, &__t1684)? { - Value::bool(false) - } else { - let __t1685 = { - let __t1683 = { - let __t1682 = v_V813.clone(); - rt::tl(&__t1682)? - }; - rt::is_cons(&__t1683) - }; - Value::bool(rt::is_truthy(interp, &__t1685)?) - } - }; - if match rt::is_truthy(interp, &__t1695) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1686 = Value::sym(interp.intern("and")); - let __t1694 = { - let __t1688 = { - let __t1687 = v_V813.clone(); - rt::hd(&__t1687)? - }; - let __t1693 = { - let __t1691 = { - let __t1690 = { - let __t1689 = v_V813.clone(); - rt::tl(&__t1689)? - }; - rt::apply_direct( - interp, - "shen.rectify-test", - &[__t1690], - )? - }; - let __t1692 = Value::nil(); - rt::cons(&__t1691, &__t1692) - }; - rt::cons(&__t1688, &__t1693) - }; - rt::cons(&__t1686, &__t1694) - }); - } else { - { - let __t1680 = Value::bool(true); - if match rt::is_truthy(interp, &__t1680) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1679 = Value::str( - "implementation error in shen.rectify-test", - ); - rt::apply_direct(interp, "simple-error", &[__t1679])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_rectify_x2d_test(interp: &mut Interp) { - interp.register_native("shen.rectify-test", 1, aot_shen_x2e_rectify_x2d_test); - interp.register_aot_direct("shen.rectify-test", aot_shen_x2e_rectify_x2d_test); -} - -/// AOT-compiled from KL `(defun shen.beta ...)` -pub fn aot_shen_x2e_beta(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 3 { - return Err(ShenError::new(format!( - "shen.beta: expected 3 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V823 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V824 = args[1].clone(); - #[allow(unused_mut)] - let mut v_V825 = args[2].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1801 = { - let __t1799 = v_V823.clone(); - let __t1800 = v_V825.clone(); - rt::eq(&__t1799, &__t1800) - }; - if match rt::is_truthy(interp, &__t1801) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V824.clone()); - } else { - { - let __t1798 = { - let __t1796 = { - let __t1770 = v_V825.clone(); - rt::is_cons(&__t1770) - }; - if !rt::is_truthy(interp, &__t1796)? { - Value::bool(false) - } else { - let __t1797 = { - let __t1794 = { - let __t1771 = Value::sym(interp.intern("lambda")); - let __t1773 = { - let __t1772 = v_V825.clone(); - rt::hd(&__t1772)? - }; - rt::eq(&__t1771, &__t1773) - }; - if !rt::is_truthy(interp, &__t1794)? { - Value::bool(false) - } else { - let __t1795 = { - let __t1792 = { - let __t1775 = { - let __t1774 = v_V825.clone(); - rt::tl(&__t1774)? - }; - rt::is_cons(&__t1775) - }; - if !rt::is_truthy(interp, &__t1792)? { - Value::bool(false) - } else { - let __t1793 = { - let __t1790 = { - let __t1778 = { - let __t1777 = { - let __t1776 = v_V825.clone(); - rt::tl(&__t1776)? - }; - rt::tl(&__t1777)? - }; - rt::is_cons(&__t1778) - }; - if !rt::is_truthy(interp, &__t1790)? { - Value::bool(false) - } else { - let __t1791 = { - let __t1788 = { - let __t1779 = Value::nil(); - let __t1783 = { - let __t1782 = { - let __t1781 = { - let __t1780 = - v_V825.clone(); - rt::tl(&__t1780)? - }; - rt::tl(&__t1781)? - }; - rt::tl(&__t1782)? - }; - rt::eq(&__t1779, &__t1783) - }; - if !rt::is_truthy(interp, &__t1788)? { - Value::bool(false) - } else { - let __t1789 = { - let __t1784 = v_V823.clone(); - let __t1787 = { - let __t1786 = { - let __t1785 = - v_V825.clone(); - rt::tl(&__t1785)? - }; - rt::hd(&__t1786)? - }; - rt::eq(&__t1784, &__t1787) - }; - Value::bool(rt::is_truthy( - interp, &__t1789, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1791)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1793)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1795)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1797)?) - } - }; - if match rt::is_truthy(interp, &__t1798) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V825.clone()); - } else { - { - let __t1769 = { - let __t1748 = { - let __t1715 = v_V825.clone(); - rt::is_cons(&__t1715) - }; - if !rt::is_truthy(interp, &__t1748)? { - Value::bool(false) - } else { - let __t1749 = { - let __t1746 = { - let __t1716 = Value::sym(interp.intern("let")); - let __t1718 = { - let __t1717 = v_V825.clone(); - rt::hd(&__t1717)? - }; - rt::eq(&__t1716, &__t1718) - }; - if !rt::is_truthy(interp, &__t1746)? { - Value::bool(false) - } else { - let __t1747 = { - let __t1744 = { - let __t1720 = { - let __t1719 = v_V825.clone(); - rt::tl(&__t1719)? - }; - rt::is_cons(&__t1720) - }; - if !rt::is_truthy(interp, &__t1744)? { - Value::bool(false) - } else { - let __t1745 = { - let __t1742 = { - let __t1723 = { - let __t1722 = { - let __t1721 = v_V825.clone(); - rt::tl(&__t1721)? - }; - rt::tl(&__t1722)? - }; - rt::is_cons(&__t1723) - }; - if !rt::is_truthy(interp, &__t1742)? { - Value::bool(false) - } else { - let __t1743 = { - let __t1740 = { - let __t1727 = { - let __t1726 = { - let __t1725 = { - let __t1724 = - v_V825.clone(); - rt::tl(&__t1724)? - }; - rt::tl(&__t1725)? - }; - rt::tl(&__t1726)? - }; - rt::is_cons(&__t1727) - }; - if !rt::is_truthy(interp, &__t1740)? - { - Value::bool(false) - } else { - let __t1741 = { - let __t1738 = { - let __t1728 = - Value::nil(); - let __t1733 = { - let __t1732 = { - let __t1731 = { - let __t1730 = { - let __t1729 = v_V825.clone(); - rt::tl(&__t1729)? - }; - rt::tl(&__t1730)? - }; - rt::tl( - &__t1731, - )? - }; - rt::tl(&__t1732)? - }; - rt::eq( - &__t1728, &__t1733, - ) - }; - if !rt::is_truthy( - interp, &__t1738, - )? { - Value::bool(false) - } else { - let __t1739 = { - let __t1734 = - v_V823.clone(); - let __t1737 = { - let __t1736 = { - let __t1735 = v_V825.clone(); - rt::tl(&__t1735)? - }; - rt::hd( - &__t1736, - )? - }; - rt::eq( - &__t1734, - &__t1737, - ) - }; - Value::bool( - rt::is_truthy( - interp, - &__t1739, - )?, - ) - } - }; - Value::bool(rt::is_truthy( - interp, &__t1741, - )?) - } - }; - Value::bool(rt::is_truthy( - interp, &__t1743, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1745)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1747)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1749)?) - } - }; - if match rt::is_truthy(interp, &__t1769) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1750 = Value::sym(interp.intern("let")); - let __t1768 = { - let __t1753 = { - let __t1752 = { - let __t1751 = v_V825.clone(); - rt::tl(&__t1751)? - }; - rt::hd(&__t1752)? - }; - let __t1767 = { - let __t1762 = { - let __t1756 = { - let __t1755 = { - let __t1754 = v_V825.clone(); - rt::tl(&__t1754)? - }; - rt::hd(&__t1755)? - }; - let __t1757 = v_V824.clone(); - let __t1761 = { - let __t1760 = { - let __t1759 = { - let __t1758 = v_V825.clone(); - rt::tl(&__t1758)? - }; - rt::tl(&__t1759)? - }; - rt::hd(&__t1760)? - }; - rt::apply_direct( - interp, - "shen.beta", - &[__t1756, __t1757, __t1761], - )? - }; - let __t1766 = { - let __t1765 = { - let __t1764 = { - let __t1763 = v_V825.clone(); - rt::tl(&__t1763)? - }; - rt::tl(&__t1764)? - }; - rt::tl(&__t1765)? - }; - rt::cons(&__t1762, &__t1766) - }; - rt::cons(&__t1753, &__t1767) - }; - rt::cons(&__t1750, &__t1768) - }); - } else { - { - let __t1714 = { - let __t1708 = v_V825.clone(); - rt::is_cons(&__t1708) - }; - if match rt::is_truthy(interp, &__t1714) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1712 = { - let v_V823 = v_V823.clone(); - let v_V824 = v_V824.clone(); - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z826 = args[0].clone(); - Ok({ - let __t1709 = v_V823.clone(); - let __t1710 = v_V824.clone(); - let __t1711 = v_Z826.clone(); - rt::apply_direct( - interp, - "shen.beta", - &[__t1709, __t1710, __t1711], - )? - }) - }, - vec![v_V823, v_V824], - interp, - ) - }; - let __t1713 = v_V825.clone(); - rt::apply_direct(interp, "map", &[__t1712, __t1713])? - }); - } else { - { - let __t1707 = Value::bool(true); - if match rt::is_truthy(interp, &__t1707) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V825.clone()); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_beta(interp: &mut Interp) { - interp.register_native("shen.beta", 3, aot_shen_x2e_beta); - interp.register_aot_direct("shen.beta", aot_shen_x2e_beta); -} - -/// AOT-compiled from KL `(defun shen.op1 ...)` -pub fn aot_shen_x2e_op1(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.op1: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V829 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1815 = { - let __t1813 = Value::sym(interp.intern("cons")); - let __t1814 = v_V829.clone(); - rt::eq(&__t1813, &__t1814) - }; - if match rt::is_truthy(interp, &__t1815) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("hd"))); - } else { - { - let __t1812 = { - let __t1810 = Value::sym(interp.intern("@s")); - let __t1811 = v_V829.clone(); - rt::eq(&__t1810, &__t1811) - }; - if match rt::is_truthy(interp, &__t1812) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("hdstr"))); - } else { - { - let __t1809 = { - let __t1807 = Value::sym(interp.intern("@p")); - let __t1808 = v_V829.clone(); - rt::eq(&__t1807, &__t1808) - }; - if match rt::is_truthy(interp, &__t1809) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("fst"))); - } else { - { - let __t1806 = { - let __t1804 = Value::sym(interp.intern("@v")); - let __t1805 = v_V829.clone(); - rt::eq(&__t1804, &__t1805) - }; - if match rt::is_truthy(interp, &__t1806) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("hdv"))); - } else { - { - let __t1803 = Value::bool(true); - if match rt::is_truthy(interp, &__t1803) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1802 = Value::str( - "implementation error in shen.op1", - ); - rt::apply_direct( - interp, - "simple-error", - &[__t1802], - )? - }); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_op1(interp: &mut Interp) { - interp.register_native("shen.op1", 1, aot_shen_x2e_op1); - interp.register_aot_direct("shen.op1", aot_shen_x2e_op1); -} - -/// AOT-compiled from KL `(defun shen.op2 ...)` -pub fn aot_shen_x2e_op2(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.op2: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V832 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1829 = { - let __t1827 = Value::sym(interp.intern("cons")); - let __t1828 = v_V832.clone(); - rt::eq(&__t1827, &__t1828) - }; - if match rt::is_truthy(interp, &__t1829) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("tl"))); - } else { - { - let __t1826 = { - let __t1824 = Value::sym(interp.intern("@s")); - let __t1825 = v_V832.clone(); - rt::eq(&__t1824, &__t1825) - }; - if match rt::is_truthy(interp, &__t1826) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("tlstr"))); - } else { - { - let __t1823 = { - let __t1821 = Value::sym(interp.intern("@p")); - let __t1822 = v_V832.clone(); - rt::eq(&__t1821, &__t1822) - }; - if match rt::is_truthy(interp, &__t1823) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("snd"))); - } else { - { - let __t1820 = { - let __t1818 = Value::sym(interp.intern("@v")); - let __t1819 = v_V832.clone(); - rt::eq(&__t1818, &__t1819) - }; - if match rt::is_truthy(interp, &__t1820) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("tlv"))); - } else { - { - let __t1817 = Value::bool(true); - if match rt::is_truthy(interp, &__t1817) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1816 = Value::str( - "implementation error in shen.op2", - ); - rt::apply_direct( - interp, - "simple-error", - &[__t1816], - )? - }); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_op2(interp: &mut Interp) { - interp.register_native("shen.op2", 1, aot_shen_x2e_op2); - interp.register_aot_direct("shen.op2", aot_shen_x2e_op2); -} - -/// AOT-compiled from KL `(defun shen.op-test ...)` -pub fn aot_shen_x2e_op_x2d_test(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.op-test: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V835 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1843 = { - let __t1841 = Value::sym(interp.intern("cons")); - let __t1842 = v_V835.clone(); - rt::eq(&__t1841, &__t1842) - }; - if match rt::is_truthy(interp, &__t1843) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("cons?"))); - } else { - { - let __t1840 = { - let __t1838 = Value::sym(interp.intern("@s")); - let __t1839 = v_V835.clone(); - rt::eq(&__t1838, &__t1839) - }; - if match rt::is_truthy(interp, &__t1840) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("shen.+string?"))); - } else { - { - let __t1837 = { - let __t1835 = Value::sym(interp.intern("@p")); - let __t1836 = v_V835.clone(); - rt::eq(&__t1835, &__t1836) - }; - if match rt::is_truthy(interp, &__t1837) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("tuple?"))); - } else { - { - let __t1834 = { - let __t1832 = Value::sym(interp.intern("@v")); - let __t1833 = v_V835.clone(); - rt::eq(&__t1832, &__t1833) - }; - if match rt::is_truthy(interp, &__t1834) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("shen.+vector?"))); - } else { - { - let __t1831 = Value::bool(true); - if match rt::is_truthy(interp, &__t1831) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1830 = Value::str( - "implementation error in shen.op-test", - ); - rt::apply_direct( - interp, - "simple-error", - &[__t1830], - )? - }); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_op_x2d_test(interp: &mut Interp) { - interp.register_native("shen.op-test", 1, aot_shen_x2e_op_x2d_test); - interp.register_aot_direct("shen.op-test", aot_shen_x2e_op_x2d_test); -} - -/// AOT-compiled from KL `(defun shen.+string? ...)` -pub fn aot_shen_x2e__x2b_string_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.+string?: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V836 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1848 = { - let __t1846 = Value::str(""); - let __t1847 = v_V836.clone(); - rt::eq(&__t1846, &__t1847) - }; - if match rt::is_truthy(interp, &__t1848) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::bool(false)); - } else { - { - let __t1845 = Value::bool(true); - if match rt::is_truthy(interp, &__t1845) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1844 = v_V836.clone(); - rt::is_string(&__t1844) - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e__x2b_string_x3f_(interp: &mut Interp) { - interp.register_native("shen.+string?", 1, aot_shen_x2e__x2b_string_x3f_); - interp.register_aot_direct("shen.+string?", aot_shen_x2e__x2b_string_x3f_); -} - -/// AOT-compiled from KL `(defun shen.+vector? ...)` -pub fn aot_shen_x2e__x2b_vector_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.+vector?: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V837 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1854 = { - let __t1851 = v_V837.clone(); - let __t1853 = { - let __t1852 = Value::int(0i64); - rt::apply_direct(interp, "vector", &[__t1852])? - }; - rt::eq(&__t1851, &__t1853) - }; - if match rt::is_truthy(interp, &__t1854) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::bool(false)); - } else { - { - let __t1850 = Value::bool(true); - if match rt::is_truthy(interp, &__t1850) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1849 = v_V837.clone(); - rt::is_absvector(&__t1849) - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e__x2b_vector_x3f_(interp: &mut Interp) { - interp.register_native("shen.+vector?", 1, aot_shen_x2e__x2b_vector_x3f_); - interp.register_aot_direct("shen.+vector?", aot_shen_x2e__x2b_vector_x3f_); -} - -/// AOT-compiled from KL `(defun factorise ...)` -pub fn aot_factorise(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "factorise: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V840 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1866 = { - let __t1862 = Value::sym(interp.intern("+")); - let __t1863 = v_V840.clone(); - rt::eq(&__t1862, &__t1863) - }; - if match rt::is_truthy(interp, &__t1866) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1864 = Value::sym(interp.intern("shen.*factorise?*")); - let __t1865 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t1864, __t1865])? - }); - } else { - { - let __t1861 = { - let __t1857 = Value::sym(interp.intern("-")); - let __t1858 = v_V840.clone(); - rt::eq(&__t1857, &__t1858) - }; - if match rt::is_truthy(interp, &__t1861) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1859 = Value::sym(interp.intern("shen.*factorise?*")); - let __t1860 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t1859, __t1860])? - }); - } else { - { - let __t1856 = Value::bool(true); - if match rt::is_truthy(interp, &__t1856) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1855 = Value::str("factorise expects a + or a -\n"); - rt::apply_direct(interp, "simple-error", &[__t1855])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } -} - -fn install_factorise(interp: &mut Interp) { - interp.register_native("factorise", 1, aot_factorise); - interp.register_aot_direct("factorise", aot_factorise); -} - -/// AOT-compiled from KL `(defun shen.factorise-code ...)` -pub fn aot_shen_x2e_factorise_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.factorise-code: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V841 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1870 = { - let __t1868 = Value::sym(interp.intern("shen.*factorise?*")); - rt::apply_direct(interp, "value", &[__t1868])? - }; - if match rt::is_truthy(interp, &__t1870) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1869 = v_V841.clone(); - rt::apply_direct(interp, "shen.factor", &[__t1869])? - }); - } else { - { - let __t1867 = Value::bool(true); - if match rt::is_truthy(interp, &__t1867) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V841.clone()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_factorise_x2d_code(interp: &mut Interp) { - interp.register_native("shen.factorise-code", 1, aot_shen_x2e_factorise_x2d_code); - interp.register_aot_direct("shen.factorise-code", aot_shen_x2e_factorise_x2d_code); -} - -/// AOT-compiled from KL `(defun shen.factor ...)` -pub fn aot_shen_x2e_factor(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.factor: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V842 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t1936 = { - let __t1915 = { - let __t1872 = v_V842.clone(); - rt::is_cons(&__t1872) - }; - if !rt::is_truthy(interp, &__t1915)? { - Value::bool(false) - } else { - let __t1916 = { - let __t1913 = { - let __t1873 = Value::sym(interp.intern("defun")); - let __t1875 = { - let __t1874 = v_V842.clone(); - rt::hd(&__t1874)? - }; - rt::eq(&__t1873, &__t1875) - }; - if !rt::is_truthy(interp, &__t1913)? { - Value::bool(false) - } else { - let __t1914 = { - let __t1911 = { - let __t1877 = { - let __t1876 = v_V842.clone(); - rt::tl(&__t1876)? - }; - rt::is_cons(&__t1877) - }; - if !rt::is_truthy(interp, &__t1911)? { - Value::bool(false) - } else { - let __t1912 = { - let __t1909 = { - let __t1880 = { - let __t1879 = { - let __t1878 = v_V842.clone(); - rt::tl(&__t1878)? - }; - rt::tl(&__t1879)? - }; - rt::is_cons(&__t1880) - }; - if !rt::is_truthy(interp, &__t1909)? { - Value::bool(false) - } else { - let __t1910 = { - let __t1907 = { - let __t1884 = { - let __t1883 = { - let __t1882 = { - let __t1881 = v_V842.clone(); - rt::tl(&__t1881)? - }; - rt::tl(&__t1882)? - }; - rt::tl(&__t1883)? - }; - rt::is_cons(&__t1884) - }; - if !rt::is_truthy(interp, &__t1907)? { - Value::bool(false) - } else { - let __t1908 = { - let __t1905 = { - let __t1889 = { - let __t1888 = { - let __t1887 = { - let __t1886 = { - let __t1885 = - v_V842.clone(); - rt::tl(&__t1885)? - }; - rt::tl(&__t1886)? - }; - rt::tl(&__t1887)? - }; - rt::hd(&__t1888)? - }; - rt::is_cons(&__t1889) - }; - if !rt::is_truthy(interp, &__t1905)? { - Value::bool(false) - } else { - let __t1906 = { - let __t1903 = { - let __t1890 = Value::sym( - interp.intern("cond"), - ); - let __t1896 = { - let __t1895 = { - let __t1894 = { - let __t1893 = { - let __t1892 = { - let __t1891 = v_V842.clone(); - rt::tl(&__t1891)? - }; - rt::tl( - &__t1892, - )? - }; - rt::tl(&__t1893)? - }; - rt::hd(&__t1894)? - }; - rt::hd(&__t1895)? - }; - rt::eq(&__t1890, &__t1896) - }; - if !rt::is_truthy(interp, &__t1903)? - { - Value::bool(false) - } else { - let __t1904 = { - let __t1897 = Value::nil(); - let __t1902 = { - let __t1901 = { - let __t1900 = { - let __t1899 = { - let __t1898 = v_V842.clone(); - rt::tl(&__t1898)? - }; - rt::tl( - &__t1899, - )? - }; - rt::tl(&__t1900)? - }; - rt::tl(&__t1901)? - }; - rt::eq(&__t1897, &__t1902) - }; - Value::bool(rt::is_truthy( - interp, &__t1904, - )?) - } - }; - Value::bool(rt::is_truthy( - interp, &__t1906, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1908)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1910)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1912)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1914)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1916)?) - } - }; - if match rt::is_truthy(interp, &__t1936) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1917 = Value::sym(interp.intern("defun")); - let __t1935 = { - let __t1920 = { - let __t1919 = { - let __t1918 = v_V842.clone(); - rt::tl(&__t1918)? - }; - rt::hd(&__t1919)? - }; - let __t1934 = { - let __t1924 = { - let __t1923 = { - let __t1922 = { - let __t1921 = v_V842.clone(); - rt::tl(&__t1921)? - }; - rt::tl(&__t1922)? - }; - rt::hd(&__t1923)? - }; - let __t1933 = { - let __t1931 = { - let __t1930 = { - let __t1929 = { - let __t1928 = { - let __t1927 = { - let __t1926 = { - let __t1925 = v_V842.clone(); - rt::tl(&__t1925)? - }; - rt::tl(&__t1926)? - }; - rt::tl(&__t1927)? - }; - rt::hd(&__t1928)? - }; - rt::tl(&__t1929)? - }; - rt::apply_direct(interp, "shen.factor-recognisors", &[__t1930])? - }; - let __t1932 = Value::nil(); - rt::cons(&__t1931, &__t1932) - }; - rt::cons(&__t1924, &__t1933) - }; - rt::cons(&__t1920, &__t1934) - }; - rt::cons(&__t1917, &__t1935) - }); - } else { - { - let __t1871 = Value::bool(true); - if match rt::is_truthy(interp, &__t1871) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V842.clone()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_factor(interp: &mut Interp) { - interp.register_native("shen.factor", 1, aot_shen_x2e_factor); - interp.register_aot_direct("shen.factor", aot_shen_x2e_factor); -} - -/// AOT-compiled from KL `(defun shen.factor-recognisors ...)` -pub fn aot_shen_x2e_factor_x2d_recognisors( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.factor-recognisors: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V845 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t2125 = { - let __t2120 = { - let __t2099 = v_V845.clone(); - rt::is_cons(&__t2099) - }; - if !rt::is_truthy(interp, &__t2120)? { - Value::bool(false) - } else { - let __t2121 = { - let __t2118 = { - let __t2101 = { - let __t2100 = v_V845.clone(); - rt::hd(&__t2100)? - }; - rt::is_cons(&__t2101) - }; - if !rt::is_truthy(interp, &__t2118)? { - Value::bool(false) - } else { - let __t2119 = { - let __t2116 = { - let __t2102 = Value::bool(true); - let __t2105 = { - let __t2104 = { - let __t2103 = v_V845.clone(); - rt::hd(&__t2103)? - }; - rt::hd(&__t2104)? - }; - rt::eq(&__t2102, &__t2105) - }; - if !rt::is_truthy(interp, &__t2116)? { - Value::bool(false) - } else { - let __t2117 = { - let __t2114 = { - let __t2108 = { - let __t2107 = { - let __t2106 = v_V845.clone(); - rt::hd(&__t2106)? - }; - rt::tl(&__t2107)? - }; - rt::is_cons(&__t2108) - }; - if !rt::is_truthy(interp, &__t2114)? { - Value::bool(false) - } else { - let __t2115 = { - let __t2109 = Value::nil(); - let __t2113 = { - let __t2112 = { - let __t2111 = { - let __t2110 = v_V845.clone(); - rt::hd(&__t2110)? - }; - rt::tl(&__t2111)? - }; - rt::tl(&__t2112)? - }; - rt::eq(&__t2109, &__t2113) - }; - Value::bool(rt::is_truthy(interp, &__t2115)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2117)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2119)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2121)?) - } - }; - if match rt::is_truthy(interp, &__t2125) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t2124 = { - let __t2123 = { - let __t2122 = v_V845.clone(); - rt::hd(&__t2122)? - }; - rt::tl(&__t2123)? - }; - rt::hd(&__t2124)? - }); - } else { - { - let __t2098 = { - let __t2021 = { - let __t1972 = v_V845.clone(); - rt::is_cons(&__t1972) - }; - if !rt::is_truthy(interp, &__t2021)? { - Value::bool(false) - } else { - let __t2022 = { - let __t2019 = { - let __t1974 = { - let __t1973 = v_V845.clone(); - rt::hd(&__t1973)? - }; - rt::is_cons(&__t1974) - }; - if !rt::is_truthy(interp, &__t2019)? { - Value::bool(false) - } else { - let __t2020 = { - let __t2017 = { - let __t1977 = { - let __t1976 = { - let __t1975 = v_V845.clone(); - rt::hd(&__t1975)? - }; - rt::hd(&__t1976)? - }; - rt::is_cons(&__t1977) - }; - if !rt::is_truthy(interp, &__t2017)? { - Value::bool(false) - } else { - let __t2018 = { - let __t2015 = { - let __t1978 = Value::sym(interp.intern("and")); - let __t1982 = { - let __t1981 = { - let __t1980 = { - let __t1979 = v_V845.clone(); - rt::hd(&__t1979)? - }; - rt::hd(&__t1980)? - }; - rt::hd(&__t1981)? - }; - rt::eq(&__t1978, &__t1982) - }; - if !rt::is_truthy(interp, &__t2015)? { - Value::bool(false) - } else { - let __t2016 = { - let __t2013 = { - let __t1986 = { - let __t1985 = { - let __t1984 = { - let __t1983 = - v_V845.clone(); - rt::hd(&__t1983)? - }; - rt::hd(&__t1984)? - }; - rt::tl(&__t1985)? - }; - rt::is_cons(&__t1986) - }; - if !rt::is_truthy(interp, &__t2013)? { - Value::bool(false) - } else { - let __t2014 = { - let __t2011 = { - let __t1991 = { - let __t1990 = { - let __t1989 = { - let __t1988 = { - let __t1987 = - v_V845 - .clone( - ); - rt::hd( - &__t1987, - )? - }; - rt::hd(&__t1988)? - }; - rt::tl(&__t1989)? - }; - rt::tl(&__t1990)? - }; - rt::is_cons(&__t1991) - }; - if !rt::is_truthy(interp, &__t2011)? - { - Value::bool(false) - } else { - let __t2012 = { - let __t2009 = { - let __t1992 = - Value::nil(); - let __t1998 = { - let __t1997 = { - let __t1996 = { - let __t1995 = { - let __t1994 = { - let __t1993 = v_V845.clone(); - rt::hd(&__t1993)? - }; - rt::hd(&__t1994)? - }; - rt::tl(&__t1995)? - }; - rt::tl( - &__t1996, - )? - }; - rt::tl(&__t1997)? - }; - rt::eq( - &__t1992, &__t1998, - ) - }; - if !rt::is_truthy( - interp, &__t2009, - )? { - Value::bool(false) - } else { - let __t2010 = { - let __t2007 = { - let __t2001 = { - let __t2000 = { - let __t1999 = v_V845.clone(); - rt::hd(&__t1999)? - }; - rt::tl(&__t2000)? - }; - rt::is_cons( - &__t2001, - ) - }; - if !rt::is_truthy( - interp, - &__t2007, - )? { - Value::bool( - false, - ) - } else { - let __t2008 = { - let __t2002 = Value::nil(); - let __t2006 = { - let __t2005 = { - let __t2004 = { let __t2003 = v_V845.clone(); rt::hd(&__t2003)? }; - rt::tl(&__t2004)? - }; - rt::tl(&__t2005)? - }; - rt::eq(&__t2002, &__t2006) - }; - Value::bool(rt::is_truthy(interp, &__t2008)?) - } - }; - Value::bool( - rt::is_truthy( - interp, - &__t2010, - )?, - ) - } - }; - Value::bool(rt::is_truthy( - interp, &__t2012, - )?) - } - }; - Value::bool(rt::is_truthy( - interp, &__t2014, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2016)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2018)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2020)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2022)?) - } - }; - if match rt::is_truthy(interp, &__t2098) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W846 = { - let __t2027 = { - let __t2026 = { - let __t2025 = { - let __t2024 = { - let __t2023 = v_V845.clone(); - rt::hd(&__t2023)? - }; - rt::hd(&__t2024)? - }; - rt::tl(&__t2025)? - }; - rt::hd(&__t2026)? - }; - let __t2028 = v_V845.clone(); - let __t2029 = Value::nil(); - rt::apply_direct( - interp, - "shen.pivot-on", - &[__t2027, __t2028, __t2029], - )? - }; - { - let v_W847 = { - let __t2030 = v_W846.clone(); - rt::apply_direct(interp, "fst", &[__t2030])? - }; - { - let __t2032 = { - let __t2031 = v_W847.clone(); - rt::apply_direct(interp, "shen.bad-pivot?", &[__t2031])? - }; - if match rt::is_truthy(interp, &__t2032) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t2033 = Value::sym(interp.intern("if")); - let __t2047 = { - let __t2036 = { - let __t2035 = { - let __t2034 = v_V845.clone(); - rt::hd(&__t2034)? - }; - rt::hd(&__t2035)? - }; - let __t2046 = { - let __t2040 = { - let __t2039 = { - let __t2038 = { - let __t2037 = v_V845.clone(); - rt::hd(&__t2037)? - }; - rt::tl(&__t2038)? - }; - rt::hd(&__t2039)? - }; - let __t2045 = { - let __t2043 = { - let __t2042 = { - let __t2041 = v_V845.clone(); - rt::tl(&__t2041)? - }; - rt::apply_direct( - interp, - "shen.factor-recognisors", - &[__t2042], - )? - }; - let __t2044 = Value::nil(); - rt::cons(&__t2043, &__t2044) - }; - rt::cons(&__t2040, &__t2045) - }; - rt::cons(&__t2036, &__t2046) - }; - rt::cons(&__t2033, &__t2047) - }); - } else { - { - let v_W848 = { - let __t2048 = v_W846.clone(); - rt::apply_direct(interp, "snd", &[__t2048])? - }; - { - let v_W849 = { - let __t2049 = v_W848.clone(); - rt::apply_direct( - interp, - "shen.factor-recognisors", - &[__t2049], - )? - }; - { - let v_W850 = { - let __t2050 = - Value::sym(interp.intern("GoTo")); - rt::apply_direct( - interp, - "gensym", - &[__t2050], - )? - }; - { - let v_W851 = { - let __t2061 = { - let __t2059 = { - let __t2051 = Value::bool(true); - let __t2058 = { - let __t2056 = { - let __t2052 = - Value::sym( - interp.intern( - "thaw", - ), - ); - let __t2055 = { - let __t2053 = - v_W850.clone(); - let __t2054 = - Value::nil(); - rt::cons( - &__t2053, - &__t2054, - ) - }; - rt::cons( - &__t2052, &__t2055, - ) - }; - let __t2057 = Value::nil(); - rt::cons(&__t2056, &__t2057) - }; - rt::cons(&__t2051, &__t2058) - }; - let __t2060 = v_W847.clone(); - rt::cons(&__t2059, &__t2060) - }; - rt::apply_direct( - interp, - "reverse", - &[__t2061], - )? - }; - { - let v_W852 = { - let __t2062 = Value::sym( - interp.intern("let"), - ); - let __t2096 = { - let __t2063 = v_W850.clone(); - let __t2095 = { - let __t2068 = { - let __t2064 = - Value::sym( - interp.intern( - "freeze", - ), - ); - let __t2067 = { - let __t2065 = - v_W849.clone(); - let __t2066 = - Value::nil(); - rt::cons( - &__t2065, - &__t2066, - ) - }; - rt::cons( - &__t2064, &__t2067, - ) - }; - let __t2094 = { - let __t2092 = { - let __t2069 = - Value::sym( - interp - .intern( - "if", - ), - ); - let __t2091 = { - let __t2074 = { - let __t2073 = { - let __t2072 = { - let __t2071 = { let __t2070 = v_V845.clone(); rt::hd(&__t2070)? }; - rt::hd(&__t2071)? - }; - rt::tl(&__t2072)? - }; - rt::hd(&__t2073)? - }; - let __t2090 = { - let __t2082 = { - let __t2079 = { - let __t2078 = { let __t2077 = { let __t2076 = { let __t2075 = v_V845.clone(); rt::hd(&__t2075)? }; rt::hd(&__t2076)? }; rt::tl(&__t2077)? }; - rt::hd(&__t2078)? - }; - let __t2081 = { - let __t2080 = v_W851.clone(); - rt::apply_direct(interp, "shen.factor-recognisors", &[__t2080])? - }; - rt::apply_direct(interp, "shen.factor-selectors", &[__t2079, __t2081])? - }; - let __t2089 = { - let __t2087 = { - let __t2083 = Value::sym(interp.intern("thaw")); - let __t2086 = { let __t2084 = v_W850.clone(); let __t2085 = Value::nil(); rt::cons(&__t2084, &__t2085) }; - rt::cons(&__t2083, &__t2086) - }; - let __t2088 = Value::nil(); - rt::cons(&__t2087, &__t2088) - }; - rt::cons(&__t2082, &__t2089) - }; - rt::cons( - &__t2074, - &__t2090, - ) - }; - rt::cons( - &__t2069, - &__t2091, - ) - }; - let __t2093 = - Value::nil(); - rt::cons( - &__t2092, &__t2093, - ) - }; - rt::cons(&__t2068, &__t2094) - }; - rt::cons(&__t2063, &__t2095) - }; - rt::cons(&__t2062, &__t2096) - }; - break Ok({ - let __t2097 = v_W852.clone(); - rt::apply_direct( - interp, - "shen.remove-indirection", - &[__t2097], - )? - }); - } - } - } - } - } - } - } - } - } - } else { - { - let __t1971 = { - let __t1954 = { - let __t1939 = v_V845.clone(); - rt::is_cons(&__t1939) - }; - if !rt::is_truthy(interp, &__t1954)? { - Value::bool(false) - } else { - let __t1955 = { - let __t1952 = { - let __t1941 = { - let __t1940 = v_V845.clone(); - rt::hd(&__t1940)? - }; - rt::is_cons(&__t1941) - }; - if !rt::is_truthy(interp, &__t1952)? { - Value::bool(false) - } else { - let __t1953 = { - let __t1950 = { - let __t1944 = { - let __t1943 = { - let __t1942 = v_V845.clone(); - rt::hd(&__t1942)? - }; - rt::tl(&__t1943)? - }; - rt::is_cons(&__t1944) - }; - if !rt::is_truthy(interp, &__t1950)? { - Value::bool(false) - } else { - let __t1951 = { - let __t1945 = Value::nil(); - let __t1949 = { - let __t1948 = { - let __t1947 = { - let __t1946 = v_V845.clone(); - rt::hd(&__t1946)? - }; - rt::tl(&__t1947)? - }; - rt::tl(&__t1948)? - }; - rt::eq(&__t1945, &__t1949) - }; - Value::bool(rt::is_truthy(interp, &__t1951)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1953)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t1955)?) - } - }; - if match rt::is_truthy(interp, &__t1971) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1956 = Value::sym(interp.intern("if")); - let __t1970 = { - let __t1959 = { - let __t1958 = { - let __t1957 = v_V845.clone(); - rt::hd(&__t1957)? - }; - rt::hd(&__t1958)? - }; - let __t1969 = { - let __t1963 = { - let __t1962 = { - let __t1961 = { - let __t1960 = v_V845.clone(); - rt::hd(&__t1960)? - }; - rt::tl(&__t1961)? - }; - rt::hd(&__t1962)? - }; - let __t1968 = { - let __t1966 = { - let __t1965 = { - let __t1964 = v_V845.clone(); - rt::tl(&__t1964)? - }; - rt::apply_direct( - interp, - "shen.factor-recognisors", - &[__t1965], - )? - }; - let __t1967 = Value::nil(); - rt::cons(&__t1966, &__t1967) - }; - rt::cons(&__t1963, &__t1968) - }; - rt::cons(&__t1959, &__t1969) - }; - rt::cons(&__t1956, &__t1970) - }); - } else { - { - let __t1938 = Value::bool(true); - if match rt::is_truthy(interp, &__t1938) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t1937 = Value::str( - "partial function shen.factor-recognisors", - ); - rt::apply_direct(interp, "simple-error", &[__t1937])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_factor_x2d_recognisors(interp: &mut Interp) { - interp.register_native( - "shen.factor-recognisors", - 1, - aot_shen_x2e_factor_x2d_recognisors, - ); - interp.register_aot_direct( - "shen.factor-recognisors", - aot_shen_x2e_factor_x2d_recognisors, - ); -} - -/// AOT-compiled from KL `(defun shen.bad-pivot? ...)` -pub fn aot_shen_x2e_bad_x2d_pivot_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.bad-pivot?: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V857 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t2133 = { - let __t2131 = { - let __t2127 = v_V857.clone(); - rt::is_cons(&__t2127) - }; - if !rt::is_truthy(interp, &__t2131)? { - Value::bool(false) - } else { - let __t2132 = { - let __t2128 = Value::nil(); - let __t2130 = { - let __t2129 = v_V857.clone(); - rt::tl(&__t2129)? - }; - rt::eq(&__t2128, &__t2130) - }; - Value::bool(rt::is_truthy(interp, &__t2132)?) - } - }; - if match rt::is_truthy(interp, &__t2133) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::bool(true)); - } else { - { - let __t2126 = Value::bool(true); - if match rt::is_truthy(interp, &__t2126) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::bool(false)); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_bad_x2d_pivot_x3f_(interp: &mut Interp) { - interp.register_native("shen.bad-pivot?", 1, aot_shen_x2e_bad_x2d_pivot_x3f_); - interp.register_aot_direct("shen.bad-pivot?", aot_shen_x2e_bad_x2d_pivot_x3f_); -} - -/// AOT-compiled from KL `(defun shen.remove-indirection ...)` -pub fn aot_shen_x2e_remove_x2d_indirection( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.remove-indirection: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V858 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t2258 = { - let __t2240 = { - let __t2135 = v_V858.clone(); - rt::is_cons(&__t2135) - }; - if !rt::is_truthy(interp, &__t2240)? { - Value::bool(false) - } else { - let __t2241 = { - let __t2238 = { - let __t2136 = Value::sym(interp.intern("let")); - let __t2138 = { - let __t2137 = v_V858.clone(); - rt::hd(&__t2137)? - }; - rt::eq(&__t2136, &__t2138) - }; - if !rt::is_truthy(interp, &__t2238)? { - Value::bool(false) - } else { - let __t2239 = { - let __t2236 = { - let __t2140 = { - let __t2139 = v_V858.clone(); - rt::tl(&__t2139)? - }; - rt::is_cons(&__t2140) - }; - if !rt::is_truthy(interp, &__t2236)? { - Value::bool(false) - } else { - let __t2237 = { - let __t2234 = { - let __t2143 = { - let __t2142 = { - let __t2141 = v_V858.clone(); - rt::tl(&__t2141)? - }; - rt::tl(&__t2142)? - }; - rt::is_cons(&__t2143) - }; - if !rt::is_truthy(interp, &__t2234)? { - Value::bool(false) - } else { - let __t2235 = { - let __t2232 = { - let __t2147 = { - let __t2146 = { - let __t2145 = { - let __t2144 = v_V858.clone(); - rt::tl(&__t2144)? - }; - rt::tl(&__t2145)? - }; - rt::hd(&__t2146)? - }; - rt::is_cons(&__t2147) - }; - if !rt::is_truthy(interp, &__t2232)? { - Value::bool(false) - } else { - let __t2233 = { - let __t2230 = { - let __t2148 = - Value::sym(interp.intern("freeze")); - let __t2153 = { - let __t2152 = { - let __t2151 = { - let __t2150 = { - let __t2149 = - v_V858.clone(); - rt::tl(&__t2149)? - }; - rt::tl(&__t2150)? - }; - rt::hd(&__t2151)? - }; - rt::hd(&__t2152)? - }; - rt::eq(&__t2148, &__t2153) - }; - if !rt::is_truthy(interp, &__t2230)? { - Value::bool(false) - } else { - let __t2231 = { - let __t2228 = { - let __t2158 = { - let __t2157 = { - let __t2156 = { - let __t2155 = { - let __t2154 = - v_V858 - .clone( - ); - rt::tl( - &__t2154, - )? - }; - rt::tl(&__t2155)? - }; - rt::hd(&__t2156)? - }; - rt::tl(&__t2157)? - }; - rt::is_cons(&__t2158) - }; - if !rt::is_truthy(interp, &__t2228)? - { - Value::bool(false) - } else { - let __t2229 = { - let __t2226 = { - let __t2164 = { - let __t2163 = { - let __t2162 = { - let __t2161 = { - let __t2160 = { - let __t2159 = v_V858.clone(); - rt::tl(&__t2159)? - }; - rt::tl(&__t2160)? - }; - rt::hd(&__t2161)? - }; - rt::tl( - &__t2162, - )? - }; - rt::hd(&__t2163)? - }; - rt::is_cons(&__t2164) - }; - if !rt::is_truthy( - interp, &__t2226, - )? { - Value::bool(false) - } else { - let __t2227 = { - let __t2224 = { - let __t2165 = Value::sym(interp.intern("thaw")); - let __t2172 = { - let __t2171 = { - let __t2170 = { - let __t2169 = { let __t2168 = { let __t2167 = { let __t2166 = v_V858.clone(); rt::tl(&__t2166)? }; rt::tl(&__t2167)? }; rt::hd(&__t2168)? }; - rt::tl(&__t2169)? - }; - rt::hd(&__t2170)? - }; - rt::hd(&__t2171)? - }; - rt::eq( - &__t2165, - &__t2172, - ) - }; - if !rt::is_truthy( - interp, - &__t2224, - )? { - Value::bool( - false, - ) - } else { - let __t2225 = { - let __t2222 = { - let __t2179 = { - let __t2178 = { let __t2177 = { let __t2176 = { let __t2175 = { let __t2174 = { let __t2173 = v_V858.clone(); rt::tl(&__t2173)? }; rt::tl(&__t2174)? }; rt::hd(&__t2175)? }; rt::tl(&__t2176)? }; rt::hd(&__t2177)? }; - rt::tl(&__t2178)? - }; - rt::is_cons(&__t2179) - }; - if !rt::is_truthy(interp, &__t2222)? { Value::bool(false) } else { let __t2223 = { let __t2220 = { let __t2180 = Value::nil(); let __t2188 = { let __t2187 = { let __t2186 = { let __t2185 = { let __t2184 = { let __t2183 = { let __t2182 = { let __t2181 = v_V858.clone(); rt::tl(&__t2181)? }; rt::tl(&__t2182)? }; rt::hd(&__t2183)? }; rt::tl(&__t2184)? }; rt::hd(&__t2185)? }; rt::tl(&__t2186)? }; rt::tl(&__t2187)? }; rt::eq(&__t2180, &__t2188) }; if !rt::is_truthy(interp, &__t2220)? { Value::bool(false) } else { let __t2221 = { let __t2218 = { let __t2189 = Value::nil(); let __t2195 = { let __t2194 = { let __t2193 = { let __t2192 = { let __t2191 = { let __t2190 = v_V858.clone(); rt::tl(&__t2190)? }; rt::tl(&__t2191)? }; rt::hd(&__t2192)? }; rt::tl(&__t2193)? }; rt::tl(&__t2194)? }; rt::eq(&__t2189, &__t2195) }; if !rt::is_truthy(interp, &__t2218)? { Value::bool(false) } else { let __t2219 = { let __t2216 = { let __t2199 = { let __t2198 = { let __t2197 = { let __t2196 = v_V858.clone(); rt::tl(&__t2196)? }; rt::tl(&__t2197)? }; rt::tl(&__t2198)? }; rt::is_cons(&__t2199) }; if !rt::is_truthy(interp, &__t2216)? { Value::bool(false) } else { let __t2217 = { let __t2214 = { let __t2200 = Value::nil(); let __t2205 = { let __t2204 = { let __t2203 = { let __t2202 = { let __t2201 = v_V858.clone(); rt::tl(&__t2201)? }; rt::tl(&__t2202)? }; rt::tl(&__t2203)? }; rt::tl(&__t2204)? }; rt::eq(&__t2200, &__t2205) }; if !rt::is_truthy(interp, &__t2214)? { Value::bool(false) } else { let __t2215 = { let __t2213 = { let __t2212 = { let __t2211 = { let __t2210 = { let __t2209 = { let __t2208 = { let __t2207 = { let __t2206 = v_V858.clone(); rt::tl(&__t2206)? }; rt::tl(&__t2207)? }; rt::hd(&__t2208)? }; rt::tl(&__t2209)? }; rt::hd(&__t2210)? }; rt::tl(&__t2211)? }; rt::hd(&__t2212)? }; rt::is_symbol(&__t2213) }; Value::bool(rt::is_truthy(interp, &__t2215)?) } }; Value::bool(rt::is_truthy(interp, &__t2217)?) } }; Value::bool(rt::is_truthy(interp, &__t2219)?) } }; Value::bool(rt::is_truthy(interp, &__t2221)?) } }; Value::bool(rt::is_truthy(interp, &__t2223)?) } - }; - Value::bool(rt::is_truthy(interp, &__t2225)?) - } - }; - Value::bool( - rt::is_truthy( - interp, - &__t2227, - )?, - ) - } - }; - Value::bool(rt::is_truthy( - interp, &__t2229, - )?) - } - }; - Value::bool(rt::is_truthy( - interp, &__t2231, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2233)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2235)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2237)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2239)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2241)?) - } - }; - if match rt::is_truthy(interp, &__t2258) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t2249 = { - let __t2248 = { - let __t2247 = { - let __t2246 = { - let __t2245 = { - let __t2244 = { - let __t2243 = { - let __t2242 = v_V858.clone(); - rt::tl(&__t2242)? - }; - rt::tl(&__t2243)? - }; - rt::hd(&__t2244)? - }; - rt::tl(&__t2245)? - }; - rt::hd(&__t2246)? - }; - rt::tl(&__t2247)? - }; - rt::hd(&__t2248)? - }; - let __t2252 = { - let __t2251 = { - let __t2250 = v_V858.clone(); - rt::tl(&__t2250)? - }; - rt::hd(&__t2251)? - }; - let __t2257 = { - let __t2256 = { - let __t2255 = { - let __t2254 = { - let __t2253 = v_V858.clone(); - rt::tl(&__t2253)? - }; - rt::tl(&__t2254)? - }; - rt::tl(&__t2255)? - }; - rt::hd(&__t2256)? - }; - rt::apply_direct(interp, "subst", &[__t2249, __t2252, __t2257])? - }); - } else { - { - let __t2134 = Value::bool(true); - if match rt::is_truthy(interp, &__t2134) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V858.clone()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_remove_x2d_indirection(interp: &mut Interp) { - interp.register_native( - "shen.remove-indirection", - 1, - aot_shen_x2e_remove_x2d_indirection, - ); - interp.register_aot_direct( - "shen.remove-indirection", - aot_shen_x2e_remove_x2d_indirection, - ); -} - -/// AOT-compiled from KL `(defun shen.pivot-on ...)` -pub fn aot_shen_x2e_pivot_x2d_on(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 3 { - return Err(ShenError::new(format!( - "shen.pivot-on: expected 3 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V861 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V862 = args[1].clone(); - #[allow(unused_mut)] - let mut v_V863 = args[2].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t2376 = { - let __t2355 = { - let __t2298 = v_V862.clone(); - rt::is_cons(&__t2298) - }; - if !rt::is_truthy(interp, &__t2355)? { - Value::bool(false) - } else { - let __t2356 = { - let __t2353 = { - let __t2300 = { - let __t2299 = v_V862.clone(); - rt::hd(&__t2299)? - }; - rt::is_cons(&__t2300) - }; - if !rt::is_truthy(interp, &__t2353)? { - Value::bool(false) - } else { - let __t2354 = { - let __t2351 = { - let __t2303 = { - let __t2302 = { - let __t2301 = v_V862.clone(); - rt::hd(&__t2301)? - }; - rt::hd(&__t2302)? - }; - rt::is_cons(&__t2303) - }; - if !rt::is_truthy(interp, &__t2351)? { - Value::bool(false) - } else { - let __t2352 = { - let __t2349 = { - let __t2304 = Value::sym(interp.intern("and")); - let __t2308 = { - let __t2307 = { - let __t2306 = { - let __t2305 = v_V862.clone(); - rt::hd(&__t2305)? - }; - rt::hd(&__t2306)? - }; - rt::hd(&__t2307)? - }; - rt::eq(&__t2304, &__t2308) - }; - if !rt::is_truthy(interp, &__t2349)? { - Value::bool(false) - } else { - let __t2350 = { - let __t2347 = { - let __t2312 = { - let __t2311 = { - let __t2310 = { - let __t2309 = v_V862.clone(); - rt::hd(&__t2309)? - }; - rt::hd(&__t2310)? - }; - rt::tl(&__t2311)? - }; - rt::is_cons(&__t2312) - }; - if !rt::is_truthy(interp, &__t2347)? { - Value::bool(false) - } else { - let __t2348 = { - let __t2345 = { - let __t2317 = { - let __t2316 = { - let __t2315 = { - let __t2314 = { - let __t2313 = - v_V862.clone(); - rt::hd(&__t2313)? - }; - rt::hd(&__t2314)? - }; - rt::tl(&__t2315)? - }; - rt::tl(&__t2316)? - }; - rt::is_cons(&__t2317) - }; - if !rt::is_truthy(interp, &__t2345)? { - Value::bool(false) - } else { - let __t2346 = { - let __t2343 = { - let __t2318 = Value::nil(); - let __t2324 = { - let __t2323 = { - let __t2322 = { - let __t2321 = { - let __t2320 = { - let __t2319 = v_V862.clone(); - rt::hd(&__t2319)? - }; - rt::hd( - &__t2320, - )? - }; - rt::tl(&__t2321)? - }; - rt::tl(&__t2322)? - }; - rt::tl(&__t2323)? - }; - rt::eq(&__t2318, &__t2324) - }; - if !rt::is_truthy(interp, &__t2343)? - { - Value::bool(false) - } else { - let __t2344 = { - let __t2341 = { - let __t2327 = { - let __t2326 = { - let __t2325 = - v_V862 - .clone( - ); - rt::hd( - &__t2325, - )? - }; - rt::tl(&__t2326)? - }; - rt::is_cons(&__t2327) - }; - if !rt::is_truthy( - interp, &__t2341, - )? { - Value::bool(false) - } else { - let __t2342 = { - let __t2339 = { - let __t2328 = - Value::nil( - ); - let __t2332 = { - let __t2331 = { - let __t2330 = { - let __t2329 = v_V862.clone(); - rt::hd(&__t2329)? - }; - rt::tl(&__t2330)? - }; - rt::tl(&__t2331)? - }; - rt::eq( - &__t2328, - &__t2332, - ) - }; - if !rt::is_truthy( - interp, - &__t2339, - )? { - Value::bool( - false, - ) - } else { - let __t2340 = { - let __t2333 = v_V861.clone(); - let __t2338 = { - let __t2337 = { - let __t2336 = { let __t2335 = { let __t2334 = v_V862.clone(); rt::hd(&__t2334)? }; rt::hd(&__t2335)? }; - rt::tl(&__t2336)? - }; - rt::hd(&__t2337)? - }; - rt::eq(&__t2333, &__t2338) - }; - Value::bool(rt::is_truthy(interp, &__t2340)?) - } - }; - Value::bool( - rt::is_truthy( - interp, - &__t2342, - )?, - ) - } - }; - Value::bool(rt::is_truthy( - interp, &__t2344, - )?) - } - }; - Value::bool(rt::is_truthy( - interp, &__t2346, - )?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2348)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2350)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2352)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2354)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2356)?) - } - }; - if match rt::is_truthy(interp, &__t2376) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t2361 = { - let __t2360 = { - let __t2359 = { - let __t2358 = { - let __t2357 = v_V862.clone(); - rt::hd(&__t2357)? - }; - rt::hd(&__t2358)? - }; - rt::tl(&__t2359)? - }; - rt::hd(&__t2360)? - }; - let __t2363 = { - let __t2362 = v_V862.clone(); - rt::tl(&__t2362)? - }; - let __t2375 = { - let __t2373 = { - let __t2369 = { - let __t2368 = { - let __t2367 = { - let __t2366 = { - let __t2365 = { - let __t2364 = v_V862.clone(); - rt::hd(&__t2364)? - }; - rt::hd(&__t2365)? - }; - rt::tl(&__t2366)? - }; - rt::tl(&__t2367)? - }; - rt::hd(&__t2368)? - }; - let __t2372 = { - let __t2371 = { - let __t2370 = v_V862.clone(); - rt::hd(&__t2370)? - }; - rt::tl(&__t2371)? - }; - rt::cons(&__t2369, &__t2372) - }; - let __t2374 = v_V863.clone(); - rt::cons(&__t2373, &__t2374) - }; - v_V861 = __t2361; - v_V862 = __t2363; - v_V863 = __t2375; - continue; - } - } else { - { - let __t2297 = { - let __t2283 = { - let __t2262 = v_V862.clone(); - rt::is_cons(&__t2262) - }; - if !rt::is_truthy(interp, &__t2283)? { - Value::bool(false) - } else { - let __t2284 = { - let __t2281 = { - let __t2264 = { - let __t2263 = v_V862.clone(); - rt::hd(&__t2263)? - }; - rt::is_cons(&__t2264) - }; - if !rt::is_truthy(interp, &__t2281)? { - Value::bool(false) - } else { - let __t2282 = { - let __t2279 = { - let __t2267 = { - let __t2266 = { - let __t2265 = v_V862.clone(); - rt::hd(&__t2265)? - }; - rt::tl(&__t2266)? - }; - rt::is_cons(&__t2267) - }; - if !rt::is_truthy(interp, &__t2279)? { - Value::bool(false) - } else { - let __t2280 = { - let __t2277 = { - let __t2268 = Value::nil(); - let __t2272 = { - let __t2271 = { - let __t2270 = { - let __t2269 = v_V862.clone(); - rt::hd(&__t2269)? - }; - rt::tl(&__t2270)? - }; - rt::tl(&__t2271)? - }; - rt::eq(&__t2268, &__t2272) - }; - if !rt::is_truthy(interp, &__t2277)? { - Value::bool(false) - } else { - let __t2278 = { - let __t2273 = v_V861.clone(); - let __t2276 = { - let __t2275 = { - let __t2274 = v_V862.clone(); - rt::hd(&__t2274)? - }; - rt::hd(&__t2275)? - }; - rt::eq(&__t2273, &__t2276) - }; - Value::bool(rt::is_truthy(interp, &__t2278)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2280)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2282)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2284)?) - } - }; - if match rt::is_truthy(interp, &__t2297) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t2287 = { - let __t2286 = { - let __t2285 = v_V862.clone(); - rt::hd(&__t2285)? - }; - rt::hd(&__t2286)? - }; - let __t2289 = { - let __t2288 = v_V862.clone(); - rt::tl(&__t2288)? - }; - let __t2296 = { - let __t2294 = { - let __t2290 = Value::bool(true); - let __t2293 = { - let __t2292 = { - let __t2291 = v_V862.clone(); - rt::hd(&__t2291)? - }; - rt::tl(&__t2292)? - }; - rt::cons(&__t2290, &__t2293) - }; - let __t2295 = v_V863.clone(); - rt::cons(&__t2294, &__t2295) - }; - v_V861 = __t2287; - v_V862 = __t2289; - v_V863 = __t2296; - continue; - } - } else { - { - let __t2261 = Value::bool(true); - if match rt::is_truthy(interp, &__t2261) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t2259 = v_V863.clone(); - let __t2260 = v_V862.clone(); - rt::apply_direct(interp, "@p", &[__t2259, __t2260])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } -} - -fn install_shen_x2e_pivot_x2d_on(interp: &mut Interp) { - interp.register_native("shen.pivot-on", 3, aot_shen_x2e_pivot_x2d_on); - interp.register_aot_direct("shen.pivot-on", aot_shen_x2e_pivot_x2d_on); -} - -/// AOT-compiled from KL `(defun shen.factor-selectors ...)` -pub fn aot_shen_x2e_factor_x2d_selectors(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.factor-selectors: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V866 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V867 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t2408 = { - let __t2387 = { - let __t2378 = v_V866.clone(); - rt::is_cons(&__t2378) - }; - if !rt::is_truthy(interp, &__t2387)? { - Value::bool(false) - } else { - let __t2388 = { - let __t2385 = { - let __t2380 = { - let __t2379 = v_V866.clone(); - rt::tl(&__t2379)? - }; - rt::is_cons(&__t2380) - }; - if !rt::is_truthy(interp, &__t2385)? { - Value::bool(false) - } else { - let __t2386 = { - let __t2381 = Value::nil(); - let __t2384 = { - let __t2383 = { - let __t2382 = v_V866.clone(); - rt::tl(&__t2382)? - }; - rt::tl(&__t2383)? - }; - rt::eq(&__t2381, &__t2384) - }; - Value::bool(rt::is_truthy(interp, &__t2386)?) - } - }; - Value::bool(rt::is_truthy(interp, &__t2388)?) - } - }; - if match rt::is_truthy(interp, &__t2408) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W868 = { - let __t2390 = { - let __t2389 = v_V866.clone(); - rt::hd(&__t2389)? - }; - rt::apply_direct(interp, "shen.op", &[__t2390])? - }; - { - let __t2393 = { - let __t2391 = Value::sym(interp.intern("shen.skip")); - let __t2392 = v_W868.clone(); - rt::eq(&__t2391, &__t2392) - }; - if match rt::is_truthy(interp, &__t2393) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V867.clone()); - } else { - break Ok({ - let __t2406 = { - let __t2398 = { - let __t2395 = { - let __t2394 = v_W868.clone(); - rt::apply_direct(interp, "shen.op1", &[__t2394])? - }; - let __t2397 = { - let __t2396 = v_V866.clone(); - rt::tl(&__t2396)? - }; - rt::cons(&__t2395, &__t2397) - }; - let __t2405 = { - let __t2403 = { - let __t2400 = { - let __t2399 = v_W868.clone(); - rt::apply_direct(interp, "shen.op2", &[__t2399])? - }; - let __t2402 = { - let __t2401 = v_V866.clone(); - rt::tl(&__t2401)? - }; - rt::cons(&__t2400, &__t2402) - }; - let __t2404 = Value::nil(); - rt::cons(&__t2403, &__t2404) - }; - rt::cons(&__t2398, &__t2405) - }; - let __t2407 = v_V867.clone(); - rt::apply_direct( - interp, - "shen.factor-selectors-h", - &[__t2406, __t2407], - )? - }); - } - } - } - } else { - { - let __t2377 = Value::bool(true); - if match rt::is_truthy(interp, &__t2377) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V867.clone()); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } -} - -fn install_shen_x2e_factor_x2d_selectors(interp: &mut Interp) { - interp.register_native( - "shen.factor-selectors", - 2, - aot_shen_x2e_factor_x2d_selectors, - ); - interp.register_aot_direct("shen.factor-selectors", aot_shen_x2e_factor_x2d_selectors); -} - -/// AOT-compiled from KL `(defun shen.op ...)` -pub fn aot_shen_x2e_op(interp: &mut Interp, args: &[Value]) -> ShenResult { - if args.len() != 1 { - return Err(ShenError::new(format!( - "shen.op: expected 1 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V871 = args[0].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t2421 = { - let __t2419 = Value::sym(interp.intern("cons?")); - let __t2420 = v_V871.clone(); - rt::eq(&__t2419, &__t2420) - }; - if match rt::is_truthy(interp, &__t2421) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("cons"))); - } else { - { - let __t2418 = { - let __t2416 = Value::sym(interp.intern("shen.+string?")); - let __t2417 = v_V871.clone(); - rt::eq(&__t2416, &__t2417) - }; - if match rt::is_truthy(interp, &__t2418) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("@s"))); - } else { - { - let __t2415 = { - let __t2413 = Value::sym(interp.intern("shen.+vector?")); - let __t2414 = v_V871.clone(); - rt::eq(&__t2413, &__t2414) - }; - if match rt::is_truthy(interp, &__t2415) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("@v"))); - } else { - { - let __t2412 = { - let __t2410 = Value::sym(interp.intern("tuple?")); - let __t2411 = v_V871.clone(); - rt::eq(&__t2410, &__t2411) - }; - if match rt::is_truthy(interp, &__t2412) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("@p"))); - } else { - { - let __t2409 = Value::bool(true); - if match rt::is_truthy(interp, &__t2409) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(Value::sym(interp.intern("shen.skip"))); - } else { - break Err(ShenError::new( - "cond: no clause matched", - )); - } - } - } - } - } - } - } - } - } - } - } -} - -fn install_shen_x2e_op(interp: &mut Interp) { - interp.register_native("shen.op", 1, aot_shen_x2e_op); - interp.register_aot_direct("shen.op", aot_shen_x2e_op); -} - -/// AOT-compiled from KL `(defun shen.factor-selectors-h ...)` -pub fn aot_shen_x2e_factor_x2d_selectors_x2d_h( - interp: &mut Interp, - args: &[Value], -) -> ShenResult { - if args.len() != 2 { - return Err(ShenError::new(format!( - "shen.factor-selectors-h: expected 2 args, got {}", - args.len() - ))); - } - #[allow(unused_mut)] - let mut v_V872 = args[0].clone(); - #[allow(unused_mut)] - let mut v_V873 = args[1].clone(); - #[allow(clippy::never_loop)] - loop { - { - let __t2454 = { - let __t2452 = Value::nil(); - let __t2453 = v_V872.clone(); - rt::eq(&__t2452, &__t2453) - }; - if match rt::is_truthy(interp, &__t2454) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok(v_V873.clone()); - } else { - { - let __t2451 = { - let __t2424 = v_V872.clone(); - rt::is_cons(&__t2424) - }; - if match rt::is_truthy(interp, &__t2451) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let __t2430 = { - let __t2428 = { - let __t2426 = { - let __t2425 = v_V872.clone(); - rt::hd(&__t2425)? - }; - let __t2427 = v_V873.clone(); - rt::apply_direct(interp, "occurrences", &[__t2426, __t2427])? - }; - let __t2429 = Value::int(1i64); - rt::gt(&__t2428, &__t2429)? - }; - if match rt::is_truthy(interp, &__t2430) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W874 = { - let __t2431 = Value::sym(interp.intern("Select")); - rt::apply_direct(interp, "gensym", &[__t2431])? - }; - break Ok({ - let __t2432 = Value::sym(interp.intern("let")); - let __t2447 = { - let __t2433 = v_W874.clone(); - let __t2446 = { - let __t2435 = { - let __t2434 = v_V872.clone(); - rt::hd(&__t2434)? - }; - let __t2445 = { - let __t2443 = { - let __t2437 = { - let __t2436 = v_V872.clone(); - rt::tl(&__t2436)? - }; - let __t2442 = { - let __t2438 = v_W874.clone(); - let __t2440 = { - let __t2439 = v_V872.clone(); - rt::hd(&__t2439)? - }; - let __t2441 = v_V873.clone(); - rt::apply_direct( - interp, - "subst", - &[__t2438, __t2440, __t2441], - )? - }; - rt::apply_direct( - interp, - "shen.factor-selectors-h", - &[__t2437, __t2442], - )? - }; - let __t2444 = Value::nil(); - rt::cons(&__t2443, &__t2444) - }; - rt::cons(&__t2435, &__t2445) - }; - rt::cons(&__t2433, &__t2446) - }; - rt::cons(&__t2432, &__t2447) - }); - } - } else { - { - let __t2449 = { - let __t2448 = v_V872.clone(); - rt::tl(&__t2448)? - }; - let __t2450 = v_V873.clone(); - v_V872 = __t2449; - v_V873 = __t2450; - continue; - } - } - } - } else { - { - let __t2423 = Value::bool(true); - if match rt::is_truthy(interp, &__t2423) { - Ok(b) => b, - Err(e) => break Err(e), - } { - break Ok({ - let __t2422 = - Value::str("partial function shen.factor-selectors-h"); - rt::apply_direct(interp, "simple-error", &[__t2422])? - }); - } else { - break Err(ShenError::new("cond: no clause matched")); - } - } - } - } - } - } - } -} - -fn install_shen_x2e_factor_x2d_selectors_x2d_h(interp: &mut Interp) { - interp.register_native( - "shen.factor-selectors-h", - 2, - aot_shen_x2e_factor_x2d_selectors_x2d_h, - ); - interp.register_aot_direct( - "shen.factor-selectors-h", - aot_shen_x2e_factor_x2d_selectors_x2d_h, - ); -} - -/// Register every AOT-compiled function on `interp`. Call after kernel -/// boot so these names override the tree-walked defuns. -pub fn install(interp: &mut Interp) { - install_shen_x2e_shen_x2d__x3e_kl(interp); - install_shen_x2e_record_x2d_and_x2d_evaluate(interp); - install_shen_x2e_shen_x2d__x3e_kl_x2d_h(interp); - install_shen_x2e_shendef_x2d__x3e_kldef(interp); - install_shen_x2e__x3c_define_x3e_(interp); - install_shen_x2e_shendef_x2d__x3e_kldef_x2d_h(interp); - install_shen_x2e_unprotect(interp); - install_shen_x2e__x3c_name_x3e_(interp); - install_shen_x2e__x3c_signature_x3e_(interp); - install_shen_x2e__x3c_rules_x3e_(interp); - install_shen_x2e_linearise(interp); - install_shen_x2e_linearise_x2d_h(interp); - install_shen_x2e__x3c_rule_x3e_(interp); - install_shen_x2e__x3c_patterns_x3e_(interp); - install_shen_x2e__x3c_pattern_x3e_(interp); - install_shen_x2e__x3c_constructor_x3e_(interp); - install_shen_x2e_constructor_x3f_(interp); - install_shen_x2e_constructor_x2d_error(interp); - install_shen_x2e__x3c_simple_x2d_pattern_x3e_(interp); - install_shen_x2e__x3c_pattern1_x3e_(interp); - install_shen_x2e__x3c_pattern2_x3e_(interp); - install_shen_x2e_fn_x2d_print(interp); - install_shen_x2e_printF(interp); - install_shen_x2e_arity_x2d_chk(interp); - install_shen_x2e_free_x2d_var_x2d_chk(interp); - install_shen_x2e_free_x2d_variable_x2d_error_x2d_message(interp); - install_shen_x2e_extract_x2d_vars(interp); - install_shen_x2e_find_x2d_free_x2d_vars(interp); - install_shen_x2e_free_x2d_variable_x3f_(interp); - install_shen_x2e_record_x2d_kl(interp); - install_shen_x2e_compile_x2d_to_x2d_kl(interp); - install_shen_x2e_parameters(interp); - install_shen_x2e_cond_x2d_form(interp); - install_shen_x2e_scan_x2d_body(interp); - install_shen_x2e_choicepoint_x3f_(interp); - install_shen_x2e_choicepoint(interp); - install_shen_x2e_rep_x2d_X(interp); - install_shen_x2e_kl_x2d_body(interp); - install_shen_x2e_alpha_x2d_convert(interp); - install_shen_x2e_triple_x2d_stack(interp); - install_shen_x2e_rectify_x2d_test(interp); - install_shen_x2e_beta(interp); - install_shen_x2e_op1(interp); - install_shen_x2e_op2(interp); - install_shen_x2e_op_x2d_test(interp); - install_shen_x2e__x2b_string_x3f_(interp); - install_shen_x2e__x2b_vector_x3f_(interp); - install_factorise(interp); - install_shen_x2e_factorise_x2d_code(interp); - install_shen_x2e_factor(interp); - install_shen_x2e_factor_x2d_recognisors(interp); - install_shen_x2e_bad_x2d_pivot_x3f_(interp); - install_shen_x2e_remove_x2d_indirection(interp); - install_shen_x2e_pivot_x2d_on(interp); - install_shen_x2e_factor_x2d_selectors(interp); - install_shen_x2e_op(interp); - install_shen_x2e_factor_x2d_selectors_x2d_h(interp); -} diff --git a/crates/shen-rust/src/aot/kernel/declarations.rs b/crates/shen-rust/src/aot/kernel/declarations.rs index af88e71..7caddf1 100644 --- a/crates/shen-rust/src/aot/kernel/declarations.rs +++ b/crates/shen-rust/src/aot/kernel/declarations.rs @@ -39,9 +39,9 @@ pub fn aot_datatypes(interp: &mut Interp, args: &[Value]) -> ShenResult { "", 1, move |interp, args| { - let v_Z5718 = args[0].clone(); + let v_Z5759 = args[0].clone(); Ok({ - let __t0 = v_Z5718.clone(); + let __t0 = v_Z5759.clone(); rt::apply_direct(interp, "shen.typename", &[__t0])? }) }, @@ -79,9 +79,9 @@ pub fn aot_included(interp: &mut Interp, args: &[Value]) -> ShenResult { "", 1, move |interp, args| { - let v_Z5719 = args[0].clone(); + let v_Z5760 = args[0].clone(); Ok({ - let __t4 = v_Z5719.clone(); + let __t4 = v_Z5760.clone(); rt::apply_direct(interp, "shen.typename", &[__t4])? }) }, @@ -112,12 +112,12 @@ pub fn aot_shen_x2e_typename(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V5722 = args[0].clone(); + let mut v_V5763 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t15 = { - let __t10 = v_V5722.clone(); + let __t10 = v_V5763.clone(); rt::is_cons(&__t10) }; if match rt::is_truthy(interp, &__t15) { @@ -128,7 +128,7 @@ pub fn aot_shen_x2e_typename(interp: &mut Interp, args: &[Value]) -> ShenResult< let __t14 = { let __t13 = { let __t12 = { - let __t11 = v_V5722.clone(); + let __t11 = v_V5763.clone(); rt::hd(&__t11)? }; rt::apply_direct(interp, "str", &[__t12])? @@ -171,13 +171,13 @@ pub fn aot_shen_x2e_typename_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V5723 = args[0].clone(); + let mut v_V5764 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t27 = { let __t25 = Value::str("#type"); - let __t26 = v_V5723.clone(); + let __t26 = v_V5764.clone(); rt::eq(&__t25, &__t26) }; if match rt::is_truthy(interp, &__t27) { @@ -188,7 +188,7 @@ pub fn aot_shen_x2e_typename_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let __t24 = { - let __t18 = v_V5723.clone(); + let __t18 = v_V5764.clone(); rt::apply_direct(interp, "shen.+string?", &[__t18])? }; if match rt::is_truthy(interp, &__t24) { @@ -197,12 +197,12 @@ pub fn aot_shen_x2e_typename_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ let __t20 = { - let __t19 = v_V5723.clone(); + let __t19 = v_V5764.clone(); rt::apply_direct(interp, "hdstr", &[__t19])? }; let __t23 = { let __t22 = { - let __t21 = v_V5723.clone(); + let __t21 = v_V5764.clone(); rt::apply_direct(interp, "tlstr", &[__t21])? }; rt::apply_direct(interp, "shen.typename-h", &[__t22])? @@ -245,12 +245,12 @@ pub fn aot_prolog_x2d_memory(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V5724 = args[0].clone(); + let mut v_V5765 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t30 = { - let __t28 = v_V5724.clone(); + let __t28 = v_V5765.clone(); let __t29 = Value::int(0i64); rt::lt(&__t28, &__t29)? }; @@ -265,7 +265,7 @@ pub fn aot_prolog_x2d_memory(interp: &mut Interp, args: &[Value]) -> ShenResult< } else { { let __t33 = { - let __t32 = v_V5724.clone(); + let __t32 = v_V5765.clone(); rt::apply_direct(interp, "integer?", &[__t32])? }; if match rt::is_truthy(interp, &__t33) { @@ -274,7 +274,7 @@ pub fn aot_prolog_x2d_memory(interp: &mut Interp, args: &[Value]) -> ShenResult< } { break Ok({ let __t34 = Value::sym(interp.intern("shen.*prolog-memory*")); - let __t35 = v_V5724.clone(); + let __t35 = v_V5765.clone(); rt::apply_direct(interp, "set", &[__t34, __t35])? }); } else { @@ -306,13 +306,13 @@ pub fn aot_shen_x2e_initialise_x2d_lambda_x2d_tables( ))); } #[allow(unused_mut)] - let mut v_V5727 = args[0].clone(); + let mut v_V5768 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t58 = { let __t56 = Value::nil(); - let __t57 = v_V5727.clone(); + let __t57 = v_V5768.clone(); rt::eq(&__t56, &__t57) }; if match rt::is_truthy(interp, &__t58) { @@ -324,7 +324,7 @@ pub fn aot_shen_x2e_initialise_x2d_lambda_x2d_tables( { let __t55 = { let __t42 = { - let __t39 = v_V5727.clone(); + let __t39 = v_V5768.clone(); rt::is_cons(&__t39) }; if !rt::is_truthy(interp, &__t42)? { @@ -332,7 +332,7 @@ pub fn aot_shen_x2e_initialise_x2d_lambda_x2d_tables( } else { let __t43 = { let __t41 = { - let __t40 = v_V5727.clone(); + let __t40 = v_V5768.clone(); rt::tl(&__t40)? }; rt::is_cons(&__t41) @@ -345,15 +345,15 @@ pub fn aot_shen_x2e_initialise_x2d_lambda_x2d_tables( Err(e) => break Err(e), } { { - let v_W5728 = { + let v_W5769 = { let __t45 = { - let __t44 = v_V5727.clone(); + let __t44 = v_V5768.clone(); rt::hd(&__t44)? }; let __t46 = Value::sym(interp.intern("arity")); let __t49 = { let __t48 = { - let __t47 = v_V5727.clone(); + let __t47 = v_V5768.clone(); rt::tl(&__t47)? }; rt::hd(&__t48)? @@ -367,7 +367,7 @@ pub fn aot_shen_x2e_initialise_x2d_lambda_x2d_tables( break Ok({ let __t54 = { let __t53 = { - let __t52 = v_V5727.clone(); + let __t52 = v_V5768.clone(); rt::tl(&__t52)? }; rt::tl(&__t53)? @@ -420,13 +420,13 @@ pub fn aot_arity(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5729 = args[0].clone(); + let mut v_V5770 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ - let __t59 = v_V5729.clone(); + let __t59 = v_V5770.clone(); let __t60 = Value::sym(interp.intern("arity")); let __t62 = { let __t61 = Value::sym(interp.intern("*property-vector*")); @@ -442,7 +442,7 @@ pub fn aot_arity(interp: &mut Interp, args: &[Value]) -> ShenResult { "", 1, move |interp, args| { - let v_Z5730 = args[0].clone(); + let v_Z5771 = args[0].clone(); Ok(Value::int(-1i64)) }, Vec::new(), @@ -474,13 +474,13 @@ pub fn aot_shen_x2e_initialise_x2d_arity_x2d_table( ))); } #[allow(unused_mut)] - let mut v_V5733 = args[0].clone(); + let mut v_V5774 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t84 = { let __t82 = Value::nil(); - let __t83 = v_V5733.clone(); + let __t83 = v_V5774.clone(); rt::eq(&__t82, &__t83) }; if match rt::is_truthy(interp, &__t84) { @@ -492,7 +492,7 @@ pub fn aot_shen_x2e_initialise_x2d_arity_x2d_table( { let __t81 = { let __t68 = { - let __t65 = v_V5733.clone(); + let __t65 = v_V5774.clone(); rt::is_cons(&__t65) }; if !rt::is_truthy(interp, &__t68)? { @@ -500,7 +500,7 @@ pub fn aot_shen_x2e_initialise_x2d_arity_x2d_table( } else { let __t69 = { let __t67 = { - let __t66 = v_V5733.clone(); + let __t66 = v_V5774.clone(); rt::tl(&__t66)? }; rt::is_cons(&__t67) @@ -513,15 +513,15 @@ pub fn aot_shen_x2e_initialise_x2d_arity_x2d_table( Err(e) => break Err(e), } { { - let v_W5734 = { + let v_W5775 = { let __t71 = { - let __t70 = v_V5733.clone(); + let __t70 = v_V5774.clone(); rt::hd(&__t70)? }; let __t72 = Value::sym(interp.intern("arity")); let __t75 = { let __t74 = { - let __t73 = v_V5733.clone(); + let __t73 = v_V5774.clone(); rt::tl(&__t73)? }; rt::hd(&__t74)? @@ -535,12 +535,12 @@ pub fn aot_shen_x2e_initialise_x2d_arity_x2d_table( { let __t80 = { let __t79 = { - let __t78 = v_V5733.clone(); + let __t78 = v_V5774.clone(); rt::tl(&__t78)? }; rt::tl(&__t79)? }; - v_V5733 = __t80; + v_V5774 = __t80; continue; } } @@ -589,11 +589,11 @@ pub fn aot_systemf(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5735 = args[0].clone(); + let mut v_V5776 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5736 = { + let v_W5777 = { let __t85 = Value::sym(interp.intern("shen")); let __t86 = Value::sym(interp.intern("shen.external-symbols")); let __t88 = { @@ -603,12 +603,12 @@ pub fn aot_systemf(interp: &mut Interp, args: &[Value]) -> ShenResult { rt::apply_direct(interp, "get", &[__t85, __t86, __t88])? }; { - let v_W5737 = { + let v_W5778 = { let __t89 = Value::sym(interp.intern("shen")); let __t90 = Value::sym(interp.intern("shen.external-symbols")); let __t93 = { - let __t91 = v_V5735.clone(); - let __t92 = v_W5736.clone(); + let __t91 = v_V5776.clone(); + let __t92 = v_W5777.clone(); rt::apply_direct(interp, "adjoin", &[__t91, __t92])? }; let __t95 = { @@ -617,7 +617,7 @@ pub fn aot_systemf(interp: &mut Interp, args: &[Value]) -> ShenResult { }; rt::apply_direct(interp, "put", &[__t89, __t90, __t93, __t95])? }; - break Ok(v_V5735.clone()); + break Ok(v_V5776.clone()); } } } @@ -637,26 +637,26 @@ pub fn aot_adjoin(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5738 = args[0].clone(); + let mut v_V5779 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5739 = args[1].clone(); + let mut v_V5780 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t98 = { - let __t96 = v_V5738.clone(); - let __t97 = v_V5739.clone(); + let __t96 = v_V5779.clone(); + let __t97 = v_V5780.clone(); rt::apply_direct(interp, "element?", &[__t96, __t97])? }; if match rt::is_truthy(interp, &__t98) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5739.clone()); + break Ok(v_V5780.clone()); } else { break Ok({ - let __t99 = v_V5738.clone(); - let __t100 = v_V5739.clone(); + let __t99 = v_V5779.clone(); + let __t100 = v_V5780.clone(); rt::cons(&__t99, &__t100) }); } @@ -678,18 +678,18 @@ pub fn aot_shen_x2e_lambda_x2d_entry(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5740 = args[0].clone(); + let mut v_V5781 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5741 = { - let __t101 = v_V5740.clone(); + let v_W5782 = { + let __t101 = v_V5781.clone(); rt::apply_direct(interp, "arity", &[__t101])? }; { let __t108 = { let __t106 = { - let __t102 = v_W5741.clone(); + let __t102 = v_W5782.clone(); let __t103 = Value::int(-1i64); rt::eq(&__t102, &__t103) }; @@ -697,7 +697,7 @@ pub fn aot_shen_x2e_lambda_x2d_entry(interp: &mut Interp, args: &[Value]) -> She Value::bool(true) } else { let __t107 = { - let __t104 = v_W5741.clone(); + let __t104 = v_W5782.clone(); let __t105 = Value::int(0i64); rt::eq(&__t104, &__t105) }; @@ -711,15 +711,15 @@ pub fn aot_shen_x2e_lambda_x2d_entry(interp: &mut Interp, args: &[Value]) -> She break Ok(Value::nil()); } else { break Ok({ - let __t109 = v_V5740.clone(); + let __t109 = v_V5781.clone(); let __t115 = { let __t114 = { let __t112 = { - let __t110 = v_V5740.clone(); + let __t110 = v_V5781.clone(); let __t111 = Value::nil(); rt::cons(&__t110, &__t111) }; - let __t113 = v_W5741.clone(); + let __t113 = v_W5782.clone(); rt::apply_direct(interp, "shen.lambda-function", &[__t112, __t113])? }; rt::apply_direct(interp, "eval-kl", &[__t114])? @@ -749,19 +749,19 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( ))); } #[allow(unused_mut)] - let mut v_V5742 = args[0].clone(); + let mut v_V5783 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5743 = { + let v_W5784 = { let __t117 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5744 = args[0].clone(); + let v_Z5785 = args[0].clone(); Ok({ - let __t116 = v_Z5744.clone(); + let __t116 = v_Z5785.clone(); rt::apply_direct(interp, "shen.lambda-entry", &[__t116])? }) }, @@ -769,7 +769,7 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( interp, ) }; - let __t118 = v_V5742.clone(); + let __t118 = v_V5783.clone(); rt::apply_direct(interp, "map", &[__t117, __t118])? }; break Ok({ @@ -782,9 +782,9 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( "", 1, move |interp, args| { - let v_Z5745 = args[0].clone(); + let v_Z5786 = args[0].clone(); Ok({ - let __t121 = v_Z5745.clone(); + let __t121 = v_Z5786.clone(); rt::apply_direct(interp, "shen.tuple", &[__t121])? }) }, @@ -802,9 +802,9 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( "", 1, move |interp, args| { - let v_Z5746 = args[0].clone(); + let v_Z5787 = args[0].clone(); Ok({ - let __t125 = v_Z5746.clone(); + let __t125 = v_Z5787.clone(); rt::apply_direct(interp, "shen.pvar", &[__t125])? }) }, @@ -822,9 +822,9 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( "", 1, move |interp, args| { - let v_Z5747 = args[0].clone(); + let v_Z5788 = args[0].clone(); Ok({ - let __t129 = v_Z5747.clone(); + let __t129 = v_Z5788.clone(); rt::apply_direct( interp, "shen.print-prolog-vector", @@ -846,9 +846,9 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( "", 1, move |interp, args| { - let v_Z5748 = args[0].clone(); + let v_Z5789 = args[0].clone(); Ok({ - let __t133 = v_Z5748.clone(); + let __t133 = v_Z5789.clone(); rt::apply_direct( interp, "shen.print-freshterm", @@ -870,9 +870,9 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( "", 1, move |interp, args| { - let v_Z5749 = args[0].clone(); + let v_Z5790 = args[0].clone(); Ok({ - let __t137 = v_Z5749.clone(); + let __t137 = v_Z5790.clone(); rt::apply_direct( interp, "shen.printF", @@ -886,7 +886,7 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( }; rt::cons(&__t136, &__t138) }; - let __t140 = v_W5743.clone(); + let __t140 = v_W5784.clone(); rt::cons(&__t139, &__t140) }; rt::cons(&__t135, &__t141) diff --git a/crates/shen-rust/src/aot/kernel/load.rs b/crates/shen-rust/src/aot/kernel/load.rs index e6bb07e..becfe49 100644 --- a/crates/shen-rust/src/aot/kernel/load.rs +++ b/crates/shen-rust/src/aot/kernel/load.rs @@ -32,47 +32,47 @@ pub fn aot_load(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V893 = args[0].clone(); + let mut v_V907 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W894 = { + let v_W908 = { let __t0 = Value::sym(interp.intern("shen.*tc*")); rt::apply_direct(interp, "value", &[__t0])? }; { - let v_W895 = { - let v_W896 = { + let v_W909 = { + let v_W910 = { let __t1 = Value::sym(interp.intern("run")); rt::apply_direct(interp, "get-time", &[__t1])? }; { - let v_W897 = { - let __t2 = v_W894.clone(); + let v_W911 = { + let __t2 = v_W908.clone(); let __t4 = { - let __t3 = v_V893.clone(); + let __t3 = v_V907.clone(); rt::apply_direct(interp, "read-file", &[__t3])? }; rt::apply_direct(interp, "shen.load-help", &[__t2, __t4])? }; { - let v_W898 = { + let v_W912 = { let __t5 = Value::sym(interp.intern("run")); rt::apply_direct(interp, "get-time", &[__t5])? }; { - let v_W899 = { - let __t6 = v_W898.clone(); - let __t7 = v_W896.clone(); + let v_W913 = { + let __t6 = v_W912.clone(); + let __t7 = v_W910.clone(); rt::sub(&__t6, &__t7)? }; { - let v_W900 = { + let v_W914 = { let __t13 = { let __t8 = Value::str("\nrun time: "); let __t12 = { let __t10 = { - let __t9 = v_W899.clone(); + let __t9 = v_W913.clone(); rt::apply_direct(interp, "str", &[__t9])? }; let __t11 = Value::str(" secs\n"); @@ -83,15 +83,15 @@ pub fn aot_load(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t14 = { rt::apply_direct(interp, "stoutput", &[])? }; rt::apply_direct(interp, "pr", &[__t13, __t14])? }; - v_W897.clone() + v_W911.clone() } } } } }; { - let v_W901 = { - let __t22 = v_W894.clone(); + let v_W915 = { + let __t22 = v_W908.clone(); if rt::is_truthy(interp, &__t22)? { { let __t20 = { @@ -137,15 +137,15 @@ pub fn aot_shen_x2e_load_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V904 = args[0].clone(); + let mut v_V918 = args[0].clone(); #[allow(unused_mut)] - let mut v_V905 = args[1].clone(); + let mut v_V919 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t28 = { let __t25 = Value::bool(false); - let __t26 = v_V904.clone(); + let __t26 = v_V918.clone(); rt::eq(&__t25, &__t26) }; if match rt::is_truthy(interp, &__t28) { @@ -153,7 +153,7 @@ pub fn aot_shen_x2e_load_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { break Ok({ - let __t27 = v_V905.clone(); + let __t27 = v_V919.clone(); rt::apply_direct(interp, "shen.eval-and-print", &[__t27])? }); } else { @@ -164,7 +164,7 @@ pub fn aot_shen_x2e_load_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { break Ok({ - let __t23 = v_V905.clone(); + let __t23 = v_V919.clone(); rt::apply_direct(interp, "shen.check-eval-and-print", &[__t23])? }); } else { @@ -193,7 +193,7 @@ pub fn aot_shen_x2e_eval_x2d_and_x2d_print( ))); } #[allow(unused_mut)] - let mut v_V906 = args[0].clone(); + let mut v_V920 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -202,12 +202,12 @@ pub fn aot_shen_x2e_eval_x2d_and_x2d_print( "", 1, move |interp, args| { - let v_Z907 = args[0].clone(); + let v_Z921 = args[0].clone(); Ok({ let __t34 = { let __t31 = { let __t30 = { - let __t29 = v_Z907.clone(); + let __t29 = v_Z921.clone(); rt::apply_direct(interp, "shen.shen->kl", &[__t29])? }; rt::apply_direct(interp, "eval-kl", &[__t30])? @@ -224,7 +224,7 @@ pub fn aot_shen_x2e_eval_x2d_and_x2d_print( interp, ) }; - let __t37 = v_V906.clone(); + let __t37 = v_V920.clone(); rt::apply_direct(interp, "map", &[__t36, __t37])? }); } @@ -251,19 +251,19 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( ))); } #[allow(unused_mut)] - let mut v_V908 = args[0].clone(); + let mut v_V922 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W909 = { + let v_W923 = { let __t39 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z910 = args[0].clone(); + let v_Z924 = args[0].clone(); Ok({ - let __t38 = v_Z910.clone(); + let __t38 = v_Z924.clone(); rt::apply_direct(interp, "shen.typetable", &[__t38])? }) }, @@ -271,28 +271,28 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( interp, ) }; - let __t40 = v_V908.clone(); + let __t40 = v_V922.clone(); rt::apply_direct(interp, "mapcan", &[__t39, __t40])? }; { - let v_W911 = match (|| -> ShenResult { + let v_W925 = match (|| -> ShenResult { Ok({ - let __t41 = v_W909.clone(); + let __t41 = v_W923.clone(); rt::apply_direct(interp, "shen.assumetypes", &[__t41])? }) })() { Ok(v) => v, Err(e) => { let __h = { - let v_W909 = v_W909.clone(); + let v_W923 = v_W923.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z912 = args[0].clone(); + let v_Z926 = args[0].clone(); Ok({ - let __t42 = v_Z912.clone(); - let __t43 = v_W909.clone(); + let __t42 = v_Z926.clone(); + let __t43 = v_W923.clone(); rt::apply_direct( interp, "shen.unwind-types", @@ -300,7 +300,7 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( )? }) }, - vec![v_W909], + vec![v_W923], interp, ) }; @@ -311,22 +311,22 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( break Ok( match (|| -> ShenResult { Ok({ - let __t44 = v_V908.clone(); + let __t44 = v_V922.clone(); rt::apply_direct(interp, "shen.work-through", &[__t44])? }) })() { Ok(v) => v, Err(e) => { let __h = { - let v_W909 = v_W909.clone(); + let v_W923 = v_W923.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z913 = args[0].clone(); + let v_Z927 = args[0].clone(); Ok({ - let __t45 = v_Z913.clone(); - let __t46 = v_W909.clone(); + let __t45 = v_Z927.clone(); + let __t46 = v_W923.clone(); rt::apply_direct( interp, "shen.unwind-types", @@ -334,7 +334,7 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( )? }) }, - vec![v_W909], + vec![v_W923], interp, ) }; @@ -369,13 +369,13 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V918 = args[0].clone(); + let mut v_V932 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t103 = { let __t87 = { - let __t67 = v_V918.clone(); + let __t67 = v_V932.clone(); rt::is_cons(&__t67) }; if !rt::is_truthy(interp, &__t87)? { @@ -385,7 +385,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult let __t85 = { let __t68 = Value::sym(interp.intern("define")); let __t70 = { - let __t69 = v_V918.clone(); + let __t69 = v_V932.clone(); rt::hd(&__t69)? }; rt::eq(&__t68, &__t70) @@ -396,7 +396,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult let __t86 = { let __t83 = { let __t72 = { - let __t71 = v_V918.clone(); + let __t71 = v_V932.clone(); rt::tl(&__t71)? }; rt::is_cons(&__t72) @@ -408,7 +408,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult let __t81 = { let __t75 = { let __t74 = { - let __t73 = v_V918.clone(); + let __t73 = v_V932.clone(); rt::tl(&__t73)? }; rt::tl(&__t74)? @@ -423,7 +423,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult let __t80 = { let __t79 = { let __t78 = { - let __t77 = v_V918.clone(); + let __t77 = v_V932.clone(); rt::tl(&__t77)? }; rt::tl(&__t78)? @@ -451,7 +451,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok({ let __t91 = { let __t90 = { - let __t89 = v_V918.clone(); + let __t89 = v_V932.clone(); rt::tl(&__t89)? }; rt::hd(&__t90)? @@ -461,7 +461,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult let __t99 = { let __t94 = { let __t93 = { - let __t92 = v_V918.clone(); + let __t92 = v_V932.clone(); rt::tl(&__t92)? }; rt::hd(&__t93)? @@ -469,7 +469,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult let __t98 = { let __t97 = { let __t96 = { - let __t95 = v_V918.clone(); + let __t95 = v_V932.clone(); rt::tl(&__t95)? }; rt::tl(&__t96)? @@ -489,7 +489,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t66 = { let __t56 = { - let __t48 = v_V918.clone(); + let __t48 = v_V932.clone(); rt::is_cons(&__t48) }; if !rt::is_truthy(interp, &__t56)? { @@ -499,7 +499,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult let __t54 = { let __t49 = Value::sym(interp.intern("define")); let __t51 = { - let __t50 = v_V918.clone(); + let __t50 = v_V932.clone(); rt::hd(&__t50)? }; rt::eq(&__t49, &__t51) @@ -509,7 +509,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t55 = { let __t53 = { - let __t52 = v_V918.clone(); + let __t52 = v_V932.clone(); rt::tl(&__t52)? }; rt::is_cons(&__t53) @@ -530,7 +530,7 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult let __t64 = { let __t61 = { let __t60 = { - let __t59 = v_V918.clone(); + let __t59 = v_V932.clone(); rt::tl(&__t59)? }; rt::hd(&__t60)? @@ -576,15 +576,15 @@ pub fn aot_shen_x2e_type_x2d_F(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V925 = args[0].clone(); + let mut v_V939 = args[0].clone(); #[allow(unused_mut)] - let mut v_V926 = args[1].clone(); + let mut v_V940 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t125 = { let __t123 = { - let __t119 = v_V926.clone(); + let __t119 = v_V940.clone(); rt::is_cons(&__t119) }; if !rt::is_truthy(interp, &__t123)? { @@ -593,7 +593,7 @@ pub fn aot_shen_x2e_type_x2d_F(interp: &mut Interp, args: &[Value]) -> ShenResul let __t124 = { let __t120 = Value::sym(interp.intern("}")); let __t122 = { - let __t121 = v_V926.clone(); + let __t121 = v_V940.clone(); rt::hd(&__t121)? }; rt::eq(&__t120, &__t122) @@ -609,7 +609,7 @@ pub fn aot_shen_x2e_type_x2d_F(interp: &mut Interp, args: &[Value]) -> ShenResul } else { { let __t118 = { - let __t111 = v_V926.clone(); + let __t111 = v_V940.clone(); rt::is_cons(&__t111) }; if match rt::is_truthy(interp, &__t118) { @@ -618,13 +618,13 @@ pub fn aot_shen_x2e_type_x2d_F(interp: &mut Interp, args: &[Value]) -> ShenResul } { break Ok({ let __t113 = { - let __t112 = v_V926.clone(); + let __t112 = v_V940.clone(); rt::hd(&__t112)? }; let __t117 = { - let __t114 = v_V925.clone(); + let __t114 = v_V939.clone(); let __t116 = { - let __t115 = v_V926.clone(); + let __t115 = v_V940.clone(); rt::tl(&__t115)? }; rt::apply_direct(interp, "shen.type-F", &[__t114, __t116])? @@ -642,7 +642,7 @@ pub fn aot_shen_x2e_type_x2d_F(interp: &mut Interp, args: &[Value]) -> ShenResul let __t109 = { let __t104 = Value::str("missing } in "); let __t108 = { - let __t105 = v_V925.clone(); + let __t105 = v_V939.clone(); let __t106 = Value::str("\n"); let __t107 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -680,13 +680,13 @@ pub fn aot_shen_x2e_assumetypes(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V929 = args[0].clone(); + let mut v_V943 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t144 = { let __t142 = Value::nil(); - let __t143 = v_V929.clone(); + let __t143 = v_V943.clone(); rt::eq(&__t142, &__t143) }; if match rt::is_truthy(interp, &__t144) { @@ -698,7 +698,7 @@ pub fn aot_shen_x2e_assumetypes(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t141 = { let __t131 = { - let __t128 = v_V929.clone(); + let __t128 = v_V943.clone(); rt::is_cons(&__t128) }; if !rt::is_truthy(interp, &__t131)? { @@ -706,7 +706,7 @@ pub fn aot_shen_x2e_assumetypes(interp: &mut Interp, args: &[Value]) -> ShenResu } else { let __t132 = { let __t130 = { - let __t129 = v_V929.clone(); + let __t129 = v_V943.clone(); rt::tl(&__t129)? }; rt::is_cons(&__t130) @@ -721,12 +721,12 @@ pub fn aot_shen_x2e_assumetypes(interp: &mut Interp, args: &[Value]) -> ShenResu { let _ = { let __t134 = { - let __t133 = v_V929.clone(); + let __t133 = v_V943.clone(); rt::hd(&__t133)? }; let __t137 = { let __t136 = { - let __t135 = v_V929.clone(); + let __t135 = v_V943.clone(); rt::tl(&__t135)? }; rt::hd(&__t136)? @@ -736,12 +736,12 @@ pub fn aot_shen_x2e_assumetypes(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t140 = { let __t139 = { - let __t138 = v_V929.clone(); + let __t138 = v_V943.clone(); rt::tl(&__t138)? }; rt::tl(&__t139)? }; - v_V929 = __t140; + v_V943 = __t140; continue; } } @@ -782,15 +782,15 @@ pub fn aot_shen_x2e_unwind_x2d_types(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V934 = args[0].clone(); + let mut v_V948 = args[0].clone(); #[allow(unused_mut)] - let mut v_V935 = args[1].clone(); + let mut v_V949 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t159 = { let __t151 = { - let __t148 = v_V935.clone(); + let __t148 = v_V949.clone(); rt::is_cons(&__t148) }; if !rt::is_truthy(interp, &__t151)? { @@ -798,7 +798,7 @@ pub fn aot_shen_x2e_unwind_x2d_types(interp: &mut Interp, args: &[Value]) -> She } else { let __t152 = { let __t150 = { - let __t149 = v_V935.clone(); + let __t149 = v_V949.clone(); rt::tl(&__t149)? }; rt::is_cons(&__t150) @@ -813,22 +813,22 @@ pub fn aot_shen_x2e_unwind_x2d_types(interp: &mut Interp, args: &[Value]) -> She { let _ = { let __t154 = { - let __t153 = v_V935.clone(); + let __t153 = v_V949.clone(); rt::hd(&__t153)? }; rt::apply_direct(interp, "destroy", &[__t154])? }; { - let __t155 = v_V934.clone(); + let __t155 = v_V948.clone(); let __t158 = { let __t157 = { - let __t156 = v_V935.clone(); + let __t156 = v_V949.clone(); rt::tl(&__t156)? }; rt::tl(&__t157)? }; - v_V934 = __t155; - v_V935 = __t158; + v_V948 = __t155; + v_V949 = __t158; continue; } } @@ -841,7 +841,7 @@ pub fn aot_shen_x2e_unwind_x2d_types(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ let __t146 = { - let __t145 = v_V934.clone(); + let __t145 = v_V948.clone(); rt::apply_direct(interp, "error-to-string", &[__t145])? }; rt::apply_direct(interp, "simple-error", &[__t146])? @@ -869,13 +869,13 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V938 = args[0].clone(); + let mut v_V952 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t221 = { let __t219 = Value::nil(); - let __t220 = v_V938.clone(); + let __t220 = v_V952.clone(); rt::eq(&__t219, &__t220) }; if match rt::is_truthy(interp, &__t221) { @@ -887,7 +887,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She { let __t218 = { let __t189 = { - let __t174 = v_V938.clone(); + let __t174 = v_V952.clone(); rt::is_cons(&__t174) }; if !rt::is_truthy(interp, &__t189)? { @@ -896,7 +896,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She let __t190 = { let __t187 = { let __t176 = { - let __t175 = v_V938.clone(); + let __t175 = v_V952.clone(); rt::tl(&__t175)? }; rt::is_cons(&__t176) @@ -908,7 +908,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She let __t185 = { let __t179 = { let __t178 = { - let __t177 = v_V938.clone(); + let __t177 = v_V952.clone(); rt::tl(&__t177)? }; rt::tl(&__t178)? @@ -921,7 +921,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She let __t186 = { let __t182 = { let __t181 = { - let __t180 = v_V938.clone(); + let __t180 = v_V952.clone(); rt::tl(&__t180)? }; rt::hd(&__t181)? @@ -946,15 +946,15 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W939 = { + let v_W953 = { let __t192 = { - let __t191 = v_V938.clone(); + let __t191 = v_V952.clone(); rt::hd(&__t191)? }; let __t196 = { let __t195 = { let __t194 = { - let __t193 = v_V938.clone(); + let __t193 = v_V952.clone(); rt::tl(&__t193)? }; rt::tl(&__t194)? @@ -965,7 +965,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She }; { let __t199 = { - let __t197 = v_W939.clone(); + let __t197 = v_W953.clone(); let __t198 = Value::bool(false); rt::eq(&__t197, &__t198) }; @@ -978,10 +978,10 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She }); } else { { - let v_W940 = { + let v_W954 = { let __t202 = { let __t201 = { - let __t200 = v_V938.clone(); + let __t200 = v_V952.clone(); rt::hd(&__t200)? }; rt::apply_direct( @@ -993,14 +993,14 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She rt::apply_direct(interp, "eval-kl", &[__t202])? }; { - let v_W941 = { + let v_W955 = { let __t212 = { - let __t203 = v_W940.clone(); + let __t203 = v_W954.clone(); let __t210 = { let __t204 = Value::str(" : "); let __t209 = { let __t206 = { - let __t205 = v_W939.clone(); + let __t205 = v_W953.clone(); rt::apply_direct( interp, "shen.pretty-type", @@ -1038,14 +1038,14 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She let __t217 = { let __t216 = { let __t215 = { - let __t214 = v_V938.clone(); + let __t214 = v_V952.clone(); rt::tl(&__t214)? }; rt::tl(&__t215)? }; rt::tl(&__t216)? }; - v_V938 = __t217; + v_V952 = __t217; continue; } } @@ -1056,7 +1056,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She } else { { let __t173 = { - let __t162 = v_V938.clone(); + let __t162 = v_V952.clone(); rt::is_cons(&__t162) }; if match rt::is_truthy(interp, &__t173) { @@ -1066,7 +1066,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She { let __t172 = { let __t164 = { - let __t163 = v_V938.clone(); + let __t163 = v_V952.clone(); rt::hd(&__t163)? }; let __t171 = { @@ -1077,7 +1077,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She let __t170 = { let __t167 = Value::sym(interp.intern("A")); let __t169 = { - let __t168 = v_V938.clone(); + let __t168 = v_V952.clone(); rt::tl(&__t168)? }; rt::cons(&__t167, &__t169) @@ -1086,7 +1086,7 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She }; rt::cons(&__t164, &__t171) }; - v_V938 = __t172; + v_V952 = __t172; continue; } } else { @@ -1129,13 +1129,13 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V943 = args[0].clone(); + let mut v_V957 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t378 = { let __t362 = { - let __t228 = v_V943.clone(); + let __t228 = v_V957.clone(); rt::is_cons(&__t228) }; if !rt::is_truthy(interp, &__t362)? { @@ -1144,7 +1144,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t363 = { let __t360 = { let __t230 = { - let __t229 = v_V943.clone(); + let __t229 = v_V957.clone(); rt::hd(&__t229)? }; rt::is_cons(&__t230) @@ -1157,7 +1157,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t231 = Value::sym(interp.intern("list")); let __t234 = { let __t233 = { - let __t232 = v_V943.clone(); + let __t232 = v_V957.clone(); rt::hd(&__t232)? }; rt::hd(&__t233)? @@ -1171,7 +1171,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t356 = { let __t237 = { let __t236 = { - let __t235 = v_V943.clone(); + let __t235 = v_V957.clone(); rt::hd(&__t235)? }; rt::tl(&__t236)? @@ -1187,7 +1187,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t242 = { let __t241 = { let __t240 = { - let __t239 = v_V943.clone(); + let __t239 = v_V957.clone(); rt::hd(&__t239)? }; rt::tl(&__t240)? @@ -1202,7 +1202,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t355 = { let __t352 = { let __t244 = { - let __t243 = v_V943.clone(); + let __t243 = v_V957.clone(); rt::tl(&__t243)? }; rt::is_cons(&__t244) @@ -1218,7 +1218,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t248 = { let __t247 = { let __t246 = - v_V943.clone(); + v_V957.clone(); rt::tl(&__t246)? }; rt::hd(&__t247)? @@ -1234,7 +1234,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t251 = { let __t250 = { let __t249 = - v_V943 + v_V957 .clone( ); rt::tl(&__t249)? @@ -1253,7 +1253,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t255 = { let __t254 = { let __t253 = { - let __t252 = v_V943.clone(); + let __t252 = v_V957.clone(); rt::tl(&__t252)? }; rt::tl(&__t253)? @@ -1277,12 +1277,12 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t344 = { let __t256 = Value::sym(interp.intern("str")); let __t261 = { - let __t260 = { let __t259 = { let __t258 = { let __t257 = v_V943.clone(); rt::tl(&__t257)? }; rt::tl(&__t258)? }; rt::hd(&__t259)? }; + let __t260 = { let __t259 = { let __t258 = { let __t257 = v_V957.clone(); rt::tl(&__t257)? }; rt::tl(&__t258)? }; rt::hd(&__t259)? }; rt::hd(&__t260)? }; rt::eq(&__t256, &__t261) }; - if !rt::is_truthy(interp, &__t344)? { Value::bool(false) } else { let __t345 = { let __t342 = { let __t266 = { let __t265 = { let __t264 = { let __t263 = { let __t262 = v_V943.clone(); rt::tl(&__t262)? }; rt::tl(&__t263)? }; rt::hd(&__t264)? }; rt::tl(&__t265)? }; rt::is_cons(&__t266) }; if !rt::is_truthy(interp, &__t342)? { Value::bool(false) } else { let __t343 = { let __t340 = { let __t272 = { let __t271 = { let __t270 = { let __t269 = { let __t268 = { let __t267 = v_V943.clone(); rt::tl(&__t267)? }; rt::tl(&__t268)? }; rt::hd(&__t269)? }; rt::tl(&__t270)? }; rt::hd(&__t271)? }; rt::is_cons(&__t272) }; if !rt::is_truthy(interp, &__t340)? { Value::bool(false) } else { let __t341 = { let __t338 = { let __t273 = Value::sym(interp.intern("list")); let __t280 = { let __t279 = { let __t278 = { let __t277 = { let __t276 = { let __t275 = { let __t274 = v_V943.clone(); rt::tl(&__t274)? }; rt::tl(&__t275)? }; rt::hd(&__t276)? }; rt::tl(&__t277)? }; rt::hd(&__t278)? }; rt::hd(&__t279)? }; rt::eq(&__t273, &__t280) }; if !rt::is_truthy(interp, &__t338)? { Value::bool(false) } else { let __t339 = { let __t336 = { let __t287 = { let __t286 = { let __t285 = { let __t284 = { let __t283 = { let __t282 = { let __t281 = v_V943.clone(); rt::tl(&__t281)? }; rt::tl(&__t282)? }; rt::hd(&__t283)? }; rt::tl(&__t284)? }; rt::hd(&__t285)? }; rt::tl(&__t286)? }; rt::is_cons(&__t287) }; if !rt::is_truthy(interp, &__t336)? { Value::bool(false) } else { let __t337 = { let __t334 = { let __t288 = Value::nil(); let __t296 = { let __t295 = { let __t294 = { let __t293 = { let __t292 = { let __t291 = { let __t290 = { let __t289 = v_V943.clone(); rt::tl(&__t289)? }; rt::tl(&__t290)? }; rt::hd(&__t291)? }; rt::tl(&__t292)? }; rt::hd(&__t293)? }; rt::tl(&__t294)? }; rt::tl(&__t295)? }; rt::eq(&__t288, &__t296) }; if !rt::is_truthy(interp, &__t334)? { Value::bool(false) } else { let __t335 = { let __t332 = { let __t302 = { let __t301 = { let __t300 = { let __t299 = { let __t298 = { let __t297 = v_V943.clone(); rt::tl(&__t297)? }; rt::tl(&__t298)? }; rt::hd(&__t299)? }; rt::tl(&__t300)? }; rt::tl(&__t301)? }; rt::is_cons(&__t302) }; if !rt::is_truthy(interp, &__t332)? { Value::bool(false) } else { let __t333 = { let __t330 = { let __t303 = Value::nil(); let __t310 = { let __t309 = { let __t308 = { let __t307 = { let __t306 = { let __t305 = { let __t304 = v_V943.clone(); rt::tl(&__t304)? }; rt::tl(&__t305)? }; rt::hd(&__t306)? }; rt::tl(&__t307)? }; rt::tl(&__t308)? }; rt::tl(&__t309)? }; rt::eq(&__t303, &__t310) }; if !rt::is_truthy(interp, &__t330)? { Value::bool(false) } else { let __t331 = { let __t328 = { let __t311 = Value::nil(); let __t315 = { let __t314 = { let __t313 = { let __t312 = v_V943.clone(); rt::tl(&__t312)? }; rt::tl(&__t313)? }; rt::tl(&__t314)? }; rt::eq(&__t311, &__t315) }; if !rt::is_truthy(interp, &__t328)? { Value::bool(false) } else { let __t329 = { let __t319 = { let __t318 = { let __t317 = { let __t316 = v_V943.clone(); rt::hd(&__t316)? }; rt::tl(&__t317)? }; rt::hd(&__t318)? }; let __t327 = { let __t326 = { let __t325 = { let __t324 = { let __t323 = { let __t322 = { let __t321 = { let __t320 = v_V943.clone(); rt::tl(&__t320)? }; rt::tl(&__t321)? }; rt::hd(&__t322)? }; rt::tl(&__t323)? }; rt::hd(&__t324)? }; rt::tl(&__t325)? }; rt::hd(&__t326)? }; rt::eq(&__t319, &__t327) }; Value::bool(rt::is_truthy(interp, &__t329)?) } }; Value::bool(rt::is_truthy(interp, &__t331)?) } }; Value::bool(rt::is_truthy(interp, &__t333)?) } }; Value::bool(rt::is_truthy(interp, &__t335)?) } }; Value::bool(rt::is_truthy(interp, &__t337)?) } }; Value::bool(rt::is_truthy(interp, &__t339)?) } }; Value::bool(rt::is_truthy(interp, &__t341)?) } }; Value::bool(rt::is_truthy(interp, &__t343)?) } }; Value::bool(rt::is_truthy(interp, &__t345)?) } + if !rt::is_truthy(interp, &__t344)? { Value::bool(false) } else { let __t345 = { let __t342 = { let __t266 = { let __t265 = { let __t264 = { let __t263 = { let __t262 = v_V957.clone(); rt::tl(&__t262)? }; rt::tl(&__t263)? }; rt::hd(&__t264)? }; rt::tl(&__t265)? }; rt::is_cons(&__t266) }; if !rt::is_truthy(interp, &__t342)? { Value::bool(false) } else { let __t343 = { let __t340 = { let __t272 = { let __t271 = { let __t270 = { let __t269 = { let __t268 = { let __t267 = v_V957.clone(); rt::tl(&__t267)? }; rt::tl(&__t268)? }; rt::hd(&__t269)? }; rt::tl(&__t270)? }; rt::hd(&__t271)? }; rt::is_cons(&__t272) }; if !rt::is_truthy(interp, &__t340)? { Value::bool(false) } else { let __t341 = { let __t338 = { let __t273 = Value::sym(interp.intern("list")); let __t280 = { let __t279 = { let __t278 = { let __t277 = { let __t276 = { let __t275 = { let __t274 = v_V957.clone(); rt::tl(&__t274)? }; rt::tl(&__t275)? }; rt::hd(&__t276)? }; rt::tl(&__t277)? }; rt::hd(&__t278)? }; rt::hd(&__t279)? }; rt::eq(&__t273, &__t280) }; if !rt::is_truthy(interp, &__t338)? { Value::bool(false) } else { let __t339 = { let __t336 = { let __t287 = { let __t286 = { let __t285 = { let __t284 = { let __t283 = { let __t282 = { let __t281 = v_V957.clone(); rt::tl(&__t281)? }; rt::tl(&__t282)? }; rt::hd(&__t283)? }; rt::tl(&__t284)? }; rt::hd(&__t285)? }; rt::tl(&__t286)? }; rt::is_cons(&__t287) }; if !rt::is_truthy(interp, &__t336)? { Value::bool(false) } else { let __t337 = { let __t334 = { let __t288 = Value::nil(); let __t296 = { let __t295 = { let __t294 = { let __t293 = { let __t292 = { let __t291 = { let __t290 = { let __t289 = v_V957.clone(); rt::tl(&__t289)? }; rt::tl(&__t290)? }; rt::hd(&__t291)? }; rt::tl(&__t292)? }; rt::hd(&__t293)? }; rt::tl(&__t294)? }; rt::tl(&__t295)? }; rt::eq(&__t288, &__t296) }; if !rt::is_truthy(interp, &__t334)? { Value::bool(false) } else { let __t335 = { let __t332 = { let __t302 = { let __t301 = { let __t300 = { let __t299 = { let __t298 = { let __t297 = v_V957.clone(); rt::tl(&__t297)? }; rt::tl(&__t298)? }; rt::hd(&__t299)? }; rt::tl(&__t300)? }; rt::tl(&__t301)? }; rt::is_cons(&__t302) }; if !rt::is_truthy(interp, &__t332)? { Value::bool(false) } else { let __t333 = { let __t330 = { let __t303 = Value::nil(); let __t310 = { let __t309 = { let __t308 = { let __t307 = { let __t306 = { let __t305 = { let __t304 = v_V957.clone(); rt::tl(&__t304)? }; rt::tl(&__t305)? }; rt::hd(&__t306)? }; rt::tl(&__t307)? }; rt::tl(&__t308)? }; rt::tl(&__t309)? }; rt::eq(&__t303, &__t310) }; if !rt::is_truthy(interp, &__t330)? { Value::bool(false) } else { let __t331 = { let __t328 = { let __t311 = Value::nil(); let __t315 = { let __t314 = { let __t313 = { let __t312 = v_V957.clone(); rt::tl(&__t312)? }; rt::tl(&__t313)? }; rt::tl(&__t314)? }; rt::eq(&__t311, &__t315) }; if !rt::is_truthy(interp, &__t328)? { Value::bool(false) } else { let __t329 = { let __t319 = { let __t318 = { let __t317 = { let __t316 = v_V957.clone(); rt::hd(&__t316)? }; rt::tl(&__t317)? }; rt::hd(&__t318)? }; let __t327 = { let __t326 = { let __t325 = { let __t324 = { let __t323 = { let __t322 = { let __t321 = { let __t320 = v_V957.clone(); rt::tl(&__t320)? }; rt::tl(&__t321)? }; rt::hd(&__t322)? }; rt::tl(&__t323)? }; rt::hd(&__t324)? }; rt::tl(&__t325)? }; rt::hd(&__t326)? }; rt::eq(&__t319, &__t327) }; Value::bool(rt::is_truthy(interp, &__t329)?) } }; Value::bool(rt::is_truthy(interp, &__t331)?) } }; Value::bool(rt::is_truthy(interp, &__t333)?) } }; Value::bool(rt::is_truthy(interp, &__t335)?) } }; Value::bool(rt::is_truthy(interp, &__t337)?) } }; Value::bool(rt::is_truthy(interp, &__t339)?) } }; Value::bool(rt::is_truthy(interp, &__t341)?) } }; Value::bool(rt::is_truthy(interp, &__t343)?) } }; Value::bool(rt::is_truthy(interp, &__t345)?) } }; Value::bool(rt::is_truthy(interp, &__t347)?) } @@ -1329,7 +1329,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t367 = { let __t366 = { let __t365 = { - let __t364 = v_V943.clone(); + let __t364 = v_V957.clone(); rt::tl(&__t364)? }; rt::tl(&__t365)? @@ -1347,7 +1347,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen let __t374 = { let __t373 = { let __t372 = { - let __t371 = v_V943.clone(); + let __t371 = v_V957.clone(); rt::tl(&__t371)? }; rt::tl(&__t372)? @@ -1365,7 +1365,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen } else { { let __t227 = { - let __t223 = v_V943.clone(); + let __t223 = v_V957.clone(); rt::is_cons(&__t223) }; if match rt::is_truthy(interp, &__t227) { @@ -1378,9 +1378,9 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen "", 1, move |interp, args| { - let v_Z944 = args[0].clone(); + let v_Z958 = args[0].clone(); Ok({ - let __t224 = v_Z944.clone(); + let __t224 = v_Z958.clone(); rt::apply_direct(interp, "shen.pretty-type", &[__t224])? }) }, @@ -1388,7 +1388,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t226 = v_V943.clone(); + let __t226 = v_V957.clone(); rt::apply_direct(interp, "map", &[__t225, __t226])? }); } else { @@ -1398,7 +1398,7 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V943.clone()); + break Ok(v_V957.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -1446,36 +1446,36 @@ pub fn aot_bootstrap(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V945 = args[0].clone(); + let mut v_V959 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W946 = { - let __t380 = v_V945.clone(); + let v_W960 = { + let __t380 = v_V959.clone(); rt::apply_direct(interp, "shen.klfile", &[__t380])? }; { - let v_W947 = { - let __t381 = v_V945.clone(); + let v_W961 = { + let __t381 = v_V959.clone(); rt::apply_direct(interp, "read-file", &[__t381])? }; { - let v_W948 = { - let __t382 = v_W946.clone(); + let v_W962 = { + let __t382 = v_W960.clone(); let __t383 = Value::sym(interp.intern("out")); rt::apply_direct(interp, "open", &[__t382, __t383])? }; { - let v_W949 = { + let v_W963 = { let __t386 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z950 = args[0].clone(); + let v_Z964 = args[0].clone(); Ok({ let __t385 = { - let __t384 = v_Z950.clone(); + let __t384 = v_Z964.clone(); rt::apply_direct( interp, "shen.shen->kl-h", @@ -1489,16 +1489,16 @@ pub fn aot_bootstrap(interp: &mut Interp, args: &[Value]) -> ShenResult { interp, ) }; - let __t387 = v_W947.clone(); + let __t387 = v_W961.clone(); rt::apply_direct(interp, "map", &[__t386, __t387])? }; { - let v_W951 = { - let __t388 = v_W949.clone(); - let __t389 = v_W948.clone(); + let v_W965 = { + let __t388 = v_W963.clone(); + let __t389 = v_W962.clone(); rt::apply_direct(interp, "shen.write-kl", &[__t388, __t389])? }; - break Ok(v_W946.clone()); + break Ok(v_W960.clone()); } } } @@ -1521,13 +1521,13 @@ pub fn aot_shen_x2e_partial(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult", 1, move |interp, args| { - let v_Z953 = args[0].clone(); + let v_Z967 = args[0].clone(); Ok({ - let __t392 = v_Z953.clone(); + let __t392 = v_Z967.clone(); rt::apply_direct(interp, "shen.partial", &[__t392])? }) }, @@ -1628,7 +1628,7 @@ pub fn aot_shen_x2e_partial(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V952.clone()); + break Ok(v_V966.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -1664,15 +1664,15 @@ pub fn aot_shen_x2e_write_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V956 = args[0].clone(); + let mut v_V970 = args[0].clone(); #[allow(unused_mut)] - let mut v_V957 = args[1].clone(); + let mut v_V971 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t444 = { let __t441 = Value::nil(); - let __t442 = v_V956.clone(); + let __t442 = v_V970.clone(); rt::eq(&__t441, &__t442) }; if match rt::is_truthy(interp, &__t444) { @@ -1680,14 +1680,14 @@ pub fn aot_shen_x2e_write_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { break Ok({ - let __t443 = v_V957.clone(); + let __t443 = v_V971.clone(); rt::apply_direct(interp, "close", &[__t443])? }); } else { { let __t440 = { let __t432 = { - let __t429 = v_V956.clone(); + let __t429 = v_V970.clone(); rt::is_cons(&__t429) }; if !rt::is_truthy(interp, &__t432)? { @@ -1695,7 +1695,7 @@ pub fn aot_shen_x2e_write_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenRes } else { let __t433 = { let __t431 = { - let __t430 = v_V956.clone(); + let __t430 = v_V970.clone(); rt::hd(&__t430)? }; rt::is_cons(&__t431) @@ -1709,28 +1709,28 @@ pub fn aot_shen_x2e_write_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenRes } { { let __t435 = { - let __t434 = v_V956.clone(); + let __t434 = v_V970.clone(); rt::tl(&__t434)? }; let __t439 = { let _ = { let __t437 = { - let __t436 = v_V956.clone(); + let __t436 = v_V970.clone(); rt::hd(&__t436)? }; - let __t438 = v_V957.clone(); + let __t438 = v_V971.clone(); rt::apply_direct(interp, "shen.write-kl-h", &[__t437, __t438])? }; - v_V957.clone() + v_V971.clone() }; - v_V956 = __t435; - v_V957 = __t439; + v_V970 = __t435; + v_V971 = __t439; continue; } } else { { let __t428 = { - let __t424 = v_V956.clone(); + let __t424 = v_V970.clone(); rt::is_cons(&__t424) }; if match rt::is_truthy(interp, &__t428) { @@ -1739,12 +1739,12 @@ pub fn aot_shen_x2e_write_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenRes } { { let __t426 = { - let __t425 = v_V956.clone(); + let __t425 = v_V970.clone(); rt::tl(&__t425)? }; - let __t427 = v_V957.clone(); - v_V956 = __t426; - v_V957 = __t427; + let __t427 = v_V971.clone(); + v_V970 = __t426; + v_V971 = __t427; continue; } } else { @@ -1786,15 +1786,15 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V960 = args[0].clone(); + let mut v_V974 = args[0].clone(); #[allow(unused_mut)] - let mut v_V961 = args[1].clone(); + let mut v_V975 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t495 = { let __t491 = { - let __t451 = v_V960.clone(); + let __t451 = v_V974.clone(); rt::is_cons(&__t451) }; if !rt::is_truthy(interp, &__t491)? { @@ -1804,7 +1804,7 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t489 = { let __t452 = Value::sym(interp.intern("defun")); let __t454 = { - let __t453 = v_V960.clone(); + let __t453 = v_V974.clone(); rt::hd(&__t453)? }; rt::eq(&__t452, &__t454) @@ -1815,7 +1815,7 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t490 = { let __t487 = { let __t456 = { - let __t455 = v_V960.clone(); + let __t455 = v_V974.clone(); rt::tl(&__t455)? }; rt::is_cons(&__t456) @@ -1828,7 +1828,7 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t457 = Value::sym(interp.intern("fail")); let __t460 = { let __t459 = { - let __t458 = v_V960.clone(); + let __t458 = v_V974.clone(); rt::tl(&__t458)? }; rt::hd(&__t459)? @@ -1842,7 +1842,7 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t483 = { let __t463 = { let __t462 = { - let __t461 = v_V960.clone(); + let __t461 = v_V974.clone(); rt::tl(&__t461)? }; rt::tl(&__t462)? @@ -1858,7 +1858,7 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t468 = { let __t467 = { let __t466 = { - let __t465 = v_V960.clone(); + let __t465 = v_V974.clone(); rt::tl(&__t465)? }; rt::tl(&__t466)? @@ -1876,7 +1876,7 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t471 = { let __t470 = { let __t469 = - v_V960.clone(); + v_V974.clone(); rt::tl(&__t469)? }; rt::tl(&__t470)? @@ -1895,7 +1895,7 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t477 = { let __t476 = { let __t475 = { - let __t474 = v_V960.clone(); + let __t474 = v_V974.clone(); rt::tl( &__t474, )? @@ -1939,7 +1939,7 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ let __t493 = Value::str("(defun fail () shen.fail!)"); - let __t494 = v_V961.clone(); + let __t494 = v_V975.clone(); rt::apply_direct(interp, "pr", &[__t493, __t494])? }); } else { @@ -1951,12 +1951,12 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ let __t448 = { - let __t445 = v_V960.clone(); + let __t445 = v_V974.clone(); let __t446 = Value::str("\n\n"); let __t447 = Value::sym(interp.intern("shen.r")); rt::apply_direct(interp, "shen.app", &[__t445, __t446, __t447])? }; - let __t449 = v_V961.clone(); + let __t449 = v_V975.clone(); rt::apply_direct(interp, "pr", &[__t448, __t449])? }); } else { @@ -1982,13 +1982,13 @@ pub fn aot_shen_x2e_klfile(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ))); } #[allow(unused_mut)] - let mut v_V5783 = args[0].clone(); + let mut v_V5824 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5784 = { + let v_W5825 = { let __t1 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5785 = args[0].clone(); + let v_Z5826 = args[0].clone(); Ok({ - let __t0 = v_Z5785.clone(); + let __t0 = v_Z5826.clone(); rt::tl(&__t0)? }) }, @@ -59,9 +59,9 @@ pub fn aot_macroexpand(interp: &mut Interp, args: &[Value]) -> ShenResult rt::apply_direct(interp, "map", &[__t1, __t3])? }; break Ok({ - let __t4 = v_V5783.clone(); - let __t5 = v_W5784.clone(); - let __t6 = v_W5784.clone(); + let __t4 = v_V5824.clone(); + let __t5 = v_W5825.clone(); + let __t6 = v_W5825.clone(); rt::apply_direct(interp, "shen.macroexpand-h", &[__t4, __t5, __t6])? }); } @@ -82,28 +82,28 @@ pub fn aot_shen_x2e_macroexpand_x2d_h(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V5794 = args[0].clone(); + let mut v_V5835 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5795 = args[1].clone(); + let mut v_V5836 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5796 = args[2].clone(); + let mut v_V5837 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t9 = { let __t7 = Value::nil(); - let __t8 = v_V5795.clone(); + let __t8 = v_V5836.clone(); rt::eq(&__t7, &__t8) }; if match rt::is_truthy(interp, &__t9) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5794.clone()); + break Ok(v_V5835.clone()); } else { { let __t11 = { - let __t10 = v_V5795.clone(); + let __t10 = v_V5836.clone(); rt::is_cons(&__t10) }; if match rt::is_truthy(interp, &__t11) { @@ -111,18 +111,18 @@ pub fn aot_shen_x2e_macroexpand_x2d_h(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_W5797 = { + let v_W5838 = { let __t13 = { - let __t12 = v_V5795.clone(); + let __t12 = v_V5836.clone(); rt::hd(&__t12)? }; - let __t14 = v_V5794.clone(); + let __t14 = v_V5835.clone(); rt::apply_direct(interp, "shen.walk", &[__t13, __t14])? }; { let __t17 = { - let __t15 = v_V5794.clone(); - let __t16 = v_W5797.clone(); + let __t15 = v_V5835.clone(); + let __t16 = v_W5838.clone(); rt::eq(&__t15, &__t16) }; if match rt::is_truthy(interp, &__t17) { @@ -130,25 +130,25 @@ pub fn aot_shen_x2e_macroexpand_x2d_h(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let __t18 = v_V5794.clone(); + let __t18 = v_V5835.clone(); let __t20 = { - let __t19 = v_V5795.clone(); + let __t19 = v_V5836.clone(); rt::tl(&__t19)? }; - let __t21 = v_V5796.clone(); - v_V5794 = __t18; - v_V5795 = __t20; - v_V5796 = __t21; + let __t21 = v_V5837.clone(); + v_V5835 = __t18; + v_V5836 = __t20; + v_V5837 = __t21; continue; } } else { { - let __t22 = v_W5797.clone(); - let __t23 = v_V5796.clone(); - let __t24 = v_V5796.clone(); - v_V5794 = __t22; - v_V5795 = __t23; - v_V5796 = __t24; + let __t22 = v_W5838.clone(); + let __t23 = v_V5837.clone(); + let __t24 = v_V5837.clone(); + v_V5835 = __t22; + v_V5836 = __t23; + v_V5837 = __t24; continue; } } @@ -180,14 +180,14 @@ pub fn aot_shen_x2e_walk(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult", 1, move |interp, args| { - let v_Z5800 = args[0].clone(); + let v_Z5841 = args[0].clone(); Ok({ - let __t28 = v_V5798.clone(); - let __t29 = v_Z5800.clone(); + let __t28 = v_V5839.clone(); + let __t29 = v_Z5841.clone(); rt::apply_direct(interp, "shen.walk", &[__t28, __t29])? }) }, - vec![v_V5798], + vec![v_V5839], interp, ) }; - let __t31 = v_V5799.clone(); + let __t31 = v_V5840.clone(); rt::apply_direct(interp, "map", &[__t30, __t31])? }; - rt::apply_value(interp, v_V5798.clone(), &[__t32])? + rt::apply_value(interp, v_V5839.clone(), &[__t32])? }); } else { break Ok({ - let __t33 = v_V5799.clone(); - rt::apply_value(interp, v_V5798.clone(), &[__t33])? + let __t33 = v_V5840.clone(); + rt::apply_value(interp, v_V5839.clone(), &[__t33])? }); } } @@ -242,23 +242,23 @@ pub fn aot_shen_x2e_macros(interp: &mut Interp, args: &[Value]) -> ShenResult", 0, - move |interp, _args| Ok(v_V5801.clone()), - vec![v_V5801], + move |interp, _args| Ok(v_V5842.clone()), + vec![v_V5842], interp, ) }; { let __t35 = { - let __t34 = v_V5801.clone(); + let __t34 = v_V5842.clone(); rt::is_cons(&__t34) }; if match rt::is_truthy(interp, &__t35) { @@ -266,27 +266,27 @@ pub fn aot_shen_x2e_macros(interp: &mut Interp, args: &[Value]) -> ShenResult break Err(e), } { { - let v_Select5807 = { - let __t36 = v_V5801.clone(); + let v_Select5848 = { + let __t36 = v_V5842.clone(); rt::hd(&__t36)? }; { - let v_Select5808 = { - let __t37 = v_V5801.clone(); + let v_Select5849 = { + let __t37 = v_V5842.clone(); rt::tl(&__t37)? }; { let __t43 = { let __t41 = { let __t38 = Value::sym(interp.intern("defmacro")); - let __t39 = v_Select5807.clone(); + let __t39 = v_Select5848.clone(); rt::eq(&__t38, &__t39) }; if !rt::is_truthy(interp, &__t41)? { Value::bool(false) } else { let __t42 = { - let __t40 = v_Select5808.clone(); + let __t40 = v_Select5849.clone(); rt::is_cons(&__t40) }; Value::bool(rt::is_truthy(interp, &__t42)?) @@ -298,11 +298,11 @@ pub fn aot_shen_x2e_macros(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult break Err(e), } { break Ok({ - let __t51 = v_Select5808.clone(); + let __t51 = v_Select5849.clone(); rt::apply_direct( interp, "shen.yacc->shen", @@ -335,7 +335,7 @@ pub fn aot_shen_x2e_macros(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { break Ok({ let __t128 = { let __t127 = v_Select5808.clone(); rt::hd(&__t127)? }; let __t130 = { let __t129 = v_Select5808.clone(); rt::tl(&__t129)? }; rt::apply_direct(interp, "shen.mkstr", &[__t128, __t130])? }); } else { { let __t137 = { let __t135 = { let __t131 = Value::sym(interp.intern("lineread")); let __t132 = v_Select5807.clone(); rt::eq(&__t131, &__t132) }; if !rt::is_truthy(interp, &__t135)? { Value::bool(false) } else { let __t136 = { let __t133 = Value::nil(); let __t134 = v_Select5808.clone(); rt::eq(&__t133, &__t134) }; Value::bool(rt::is_truthy(interp, &__t136)?) } }; if match rt::is_truthy(interp, &__t137) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t138 = Value::sym(interp.intern("lineread")); let __t143 = { let __t141 = { let __t139 = Value::sym(interp.intern("stinput")); let __t140 = Value::nil(); rt::cons(&__t139, &__t140) }; let __t142 = Value::nil(); rt::cons(&__t141, &__t142) }; rt::cons(&__t138, &__t143) }); } else { { let __t150 = { let __t148 = { let __t144 = Value::sym(interp.intern("input")); let __t145 = v_Select5807.clone(); rt::eq(&__t144, &__t145) }; if !rt::is_truthy(interp, &__t148)? { Value::bool(false) } else { let __t149 = { let __t146 = Value::nil(); let __t147 = v_Select5808.clone(); rt::eq(&__t146, &__t147) }; Value::bool(rt::is_truthy(interp, &__t149)?) } }; if match rt::is_truthy(interp, &__t150) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t151 = Value::sym(interp.intern("input")); let __t156 = { let __t154 = { let __t152 = Value::sym(interp.intern("stinput")); let __t153 = Value::nil(); rt::cons(&__t152, &__t153) }; let __t155 = Value::nil(); rt::cons(&__t154, &__t155) }; rt::cons(&__t151, &__t156) }); } else { { let __t163 = { let __t161 = { let __t157 = Value::sym(interp.intern("read")); let __t158 = v_Select5807.clone(); rt::eq(&__t157, &__t158) }; if !rt::is_truthy(interp, &__t161)? { Value::bool(false) } else { let __t162 = { let __t159 = Value::nil(); let __t160 = v_Select5808.clone(); rt::eq(&__t159, &__t160) }; Value::bool(rt::is_truthy(interp, &__t162)?) } }; if match rt::is_truthy(interp, &__t163) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t164 = Value::sym(interp.intern("read")); let __t169 = { let __t167 = { let __t165 = Value::sym(interp.intern("stinput")); let __t166 = Value::nil(); rt::cons(&__t165, &__t166) }; let __t168 = Value::nil(); rt::cons(&__t167, &__t168) }; rt::cons(&__t164, &__t169) }); } else { { let __t175 = { let __t173 = { let __t170 = Value::sym(interp.intern("input+")); let __t171 = v_Select5807.clone(); rt::eq(&__t170, &__t171) }; if !rt::is_truthy(interp, &__t173)? { Value::bool(false) } else { let __t174 = { let __t172 = v_Select5808.clone(); rt::is_cons(&__t172) }; Value::bool(rt::is_truthy(interp, &__t174)?) } }; if match rt::is_truthy(interp, &__t175) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t176 = v_V5801.clone(); rt::apply_direct(interp, "shen.process-input+", &[__t176])? }); } else { { let __t183 = { let __t181 = { let __t177 = Value::sym(interp.intern("read-byte")); let __t178 = v_Select5807.clone(); rt::eq(&__t177, &__t178) }; if !rt::is_truthy(interp, &__t181)? { Value::bool(false) } else { let __t182 = { let __t179 = Value::nil(); let __t180 = v_Select5808.clone(); rt::eq(&__t179, &__t180) }; Value::bool(rt::is_truthy(interp, &__t182)?) } }; if match rt::is_truthy(interp, &__t183) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.process-read-byte", &[])? }); } else { { let __t186 = { let __t184 = Value::sym(interp.intern("prolog?")); let __t185 = v_Select5807.clone(); rt::eq(&__t184, &__t185) }; if match rt::is_truthy(interp, &__t186) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t187 = v_Select5808.clone(); rt::apply_direct(interp, "shen.call-prolog", &[__t187])? }); } else { { let __t193 = { let __t191 = { let __t188 = Value::sym(interp.intern("defprolog")); let __t189 = v_Select5807.clone(); rt::eq(&__t188, &__t189) }; if !rt::is_truthy(interp, &__t191)? { Value::bool(false) } else { let __t192 = { let __t190 = v_Select5808.clone(); rt::is_cons(&__t190) }; Value::bool(rt::is_truthy(interp, &__t192)?) } }; if match rt::is_truthy(interp, &__t193) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t195 = { let __t194 = v_Select5808.clone(); rt::hd(&__t194)? }; let __t197 = { let __t196 = v_Select5808.clone(); rt::tl(&__t196)? }; rt::apply_direct(interp, "shen.compile-prolog", &[__t195, __t197])? }); } else { { let __t203 = { let __t201 = { let __t198 = Value::sym(interp.intern("datatype")); let __t199 = v_Select5807.clone(); rt::eq(&__t198, &__t199) }; if !rt::is_truthy(interp, &__t201)? { Value::bool(false) } else { let __t202 = { let __t200 = v_Select5808.clone(); rt::is_cons(&__t200) }; Value::bool(rt::is_truthy(interp, &__t202)?) } }; if match rt::is_truthy(interp, &__t203) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t205 = { let __t204 = v_Select5808.clone(); rt::hd(&__t204)? }; let __t207 = { let __t206 = v_Select5808.clone(); rt::tl(&__t206)? }; rt::apply_direct(interp, "shen.process-datatype", &[__t205, __t207])? }); } else { { let __t210 = { let __t208 = Value::sym(interp.intern("@s")); let __t209 = v_Select5807.clone(); rt::eq(&__t208, &__t209) }; if match rt::is_truthy(interp, &__t210) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t211 = v_V5801.clone(); rt::apply_direct(interp, "shen.process-@s", &[__t211])? }); } else { { let __t214 = { let __t212 = Value::sym(interp.intern("synonyms")); let __t213 = v_Select5807.clone(); rt::eq(&__t212, &__t213) }; if match rt::is_truthy(interp, &__t214) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t215 = v_Select5808.clone(); rt::apply_direct(interp, "shen.process-synonyms", &[__t215])? }); } else { { let __t222 = { let __t220 = { let __t216 = Value::sym(interp.intern("nl")); let __t217 = v_Select5807.clone(); rt::eq(&__t216, &__t217) }; if !rt::is_truthy(interp, &__t220)? { Value::bool(false) } else { let __t221 = { let __t218 = Value::nil(); let __t219 = v_Select5808.clone(); rt::eq(&__t218, &__t219) }; Value::bool(rt::is_truthy(interp, &__t221)?) } }; if match rt::is_truthy(interp, &__t222) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t223 = Value::sym(interp.intern("nl")); let __t226 = { let __t224 = Value::int(1i64); let __t225 = Value::nil(); rt::cons(&__t224, &__t225) }; rt::cons(&__t223, &__t226) }); } else { { let __t229 = { let __t227 = Value::sym(interp.intern("let")); let __t228 = v_Select5807.clone(); rt::eq(&__t227, &__t228) }; if match rt::is_truthy(interp, &__t229) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t230 = v_V5801.clone(); rt::apply_direct(interp, "shen.process-let", &[__t230])? }); } else { { let __t233 = { let __t231 = Value::sym(interp.intern("/.")); let __t232 = v_Select5807.clone(); rt::eq(&__t231, &__t232) }; if match rt::is_truthy(interp, &__t233) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t234 = v_V5801.clone(); rt::apply_direct(interp, "shen.process-lambda", &[__t234])? }); } else { { let __t237 = { let __t235 = Value::sym(interp.intern("cases")); let __t236 = v_Select5807.clone(); rt::eq(&__t235, &__t236) }; if match rt::is_truthy(interp, &__t237) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t238 = v_V5801.clone(); rt::apply_direct(interp, "shen.process-cases", &[__t238])? }); } else { { let __t249 = { let __t247 = { let __t239 = Value::sym(interp.intern("time")); let __t240 = v_Select5807.clone(); rt::eq(&__t239, &__t240) }; if !rt::is_truthy(interp, &__t247)? { Value::bool(false) } else { let __t248 = { let __t245 = { let __t241 = v_Select5808.clone(); rt::is_cons(&__t241) }; if !rt::is_truthy(interp, &__t245)? { Value::bool(false) } else { let __t246 = { let __t242 = Value::nil(); let __t244 = { let __t243 = v_Select5808.clone(); rt::tl(&__t243)? }; rt::eq(&__t242, &__t244) }; Value::bool(rt::is_truthy(interp, &__t246)?) } }; Value::bool(rt::is_truthy(interp, &__t248)?) } }; if match rt::is_truthy(interp, &__t249) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t251 = { let __t250 = v_Select5808.clone(); rt::hd(&__t250)? }; rt::apply_direct(interp, "shen.process-time", &[__t251])? }); } else { { let __t273 = { let __t271 = { let __t252 = Value::sym(interp.intern("put")); let __t253 = v_Select5807.clone(); rt::eq(&__t252, &__t253) }; if !rt::is_truthy(interp, &__t271)? { Value::bool(false) } else { let __t272 = { let __t269 = { let __t254 = v_Select5808.clone(); rt::is_cons(&__t254) }; if !rt::is_truthy(interp, &__t269)? { Value::bool(false) } else { let __t270 = { let __t267 = { let __t256 = { let __t255 = v_Select5808.clone(); rt::tl(&__t255)? }; rt::is_cons(&__t256) }; if !rt::is_truthy(interp, &__t267)? { Value::bool(false) } else { let __t268 = { let __t265 = { let __t259 = { let __t258 = { let __t257 = v_Select5808.clone(); rt::tl(&__t257)? }; rt::tl(&__t258)? }; rt::is_cons(&__t259) }; if !rt::is_truthy(interp, &__t265)? { Value::bool(false) } else { let __t266 = { let __t260 = Value::nil(); let __t264 = { let __t263 = { let __t262 = { let __t261 = v_Select5808.clone(); rt::tl(&__t261)? }; rt::tl(&__t262)? }; rt::tl(&__t263)? }; rt::eq(&__t260, &__t264) }; Value::bool(rt::is_truthy(interp, &__t266)?) } }; Value::bool(rt::is_truthy(interp, &__t268)?) } }; Value::bool(rt::is_truthy(interp, &__t270)?) } }; Value::bool(rt::is_truthy(interp, &__t272)?) } }; if match rt::is_truthy(interp, &__t273) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t274 = Value::sym(interp.intern("put")); let __t293 = { let __t276 = { let __t275 = v_Select5808.clone(); rt::hd(&__t275)? }; let __t292 = { let __t279 = { let __t278 = { let __t277 = v_Select5808.clone(); rt::tl(&__t277)? }; rt::hd(&__t278)? }; let __t291 = { let __t283 = { let __t282 = { let __t281 = { let __t280 = v_Select5808.clone(); rt::tl(&__t280)? }; rt::tl(&__t281)? }; rt::hd(&__t282)? }; let __t290 = { let __t288 = { let __t284 = Value::sym(interp.intern("value")); let __t287 = { let __t285 = Value::sym(interp.intern("*property-vector*")); let __t286 = Value::nil(); rt::cons(&__t285, &__t286) }; rt::cons(&__t284, &__t287) }; let __t289 = Value::nil(); rt::cons(&__t288, &__t289) }; rt::cons(&__t283, &__t290) }; rt::cons(&__t279, &__t291) }; rt::cons(&__t276, &__t292) }; rt::cons(&__t274, &__t293) }); } else { { let __t309 = { let __t307 = { let __t294 = Value::sym(interp.intern("get")); let __t295 = v_Select5807.clone(); rt::eq(&__t294, &__t295) }; if !rt::is_truthy(interp, &__t307)? { Value::bool(false) } else { let __t308 = { let __t305 = { let __t296 = v_Select5808.clone(); rt::is_cons(&__t296) }; if !rt::is_truthy(interp, &__t305)? { Value::bool(false) } else { let __t306 = { let __t303 = { let __t298 = { let __t297 = v_Select5808.clone(); rt::tl(&__t297)? }; rt::is_cons(&__t298) }; if !rt::is_truthy(interp, &__t303)? { Value::bool(false) } else { let __t304 = { let __t299 = Value::nil(); let __t302 = { let __t301 = { let __t300 = v_Select5808.clone(); rt::tl(&__t300)? }; rt::tl(&__t301)? }; rt::eq(&__t299, &__t302) }; Value::bool(rt::is_truthy(interp, &__t304)?) } }; Value::bool(rt::is_truthy(interp, &__t306)?) } }; Value::bool(rt::is_truthy(interp, &__t308)?) } }; if match rt::is_truthy(interp, &__t309) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t310 = Value::sym(interp.intern("get")); let __t324 = { let __t312 = { let __t311 = v_Select5808.clone(); rt::hd(&__t311)? }; let __t323 = { let __t315 = { let __t314 = { let __t313 = v_Select5808.clone(); rt::tl(&__t313)? }; rt::hd(&__t314)? }; let __t322 = { let __t320 = { let __t316 = Value::sym(interp.intern("value")); let __t319 = { let __t317 = Value::sym(interp.intern("*property-vector*")); let __t318 = Value::nil(); rt::cons(&__t317, &__t318) }; rt::cons(&__t316, &__t319) }; let __t321 = Value::nil(); rt::cons(&__t320, &__t321) }; rt::cons(&__t315, &__t322) }; rt::cons(&__t312, &__t323) }; rt::cons(&__t310, &__t324) }); } else { { let __t340 = { let __t338 = { let __t325 = Value::sym(interp.intern("unput")); let __t326 = v_Select5807.clone(); rt::eq(&__t325, &__t326) }; if !rt::is_truthy(interp, &__t338)? { Value::bool(false) } else { let __t339 = { let __t336 = { let __t327 = v_Select5808.clone(); rt::is_cons(&__t327) }; if !rt::is_truthy(interp, &__t336)? { Value::bool(false) } else { let __t337 = { let __t334 = { let __t329 = { let __t328 = v_Select5808.clone(); rt::tl(&__t328)? }; rt::is_cons(&__t329) }; if !rt::is_truthy(interp, &__t334)? { Value::bool(false) } else { let __t335 = { let __t330 = Value::nil(); let __t333 = { let __t332 = { let __t331 = v_Select5808.clone(); rt::tl(&__t331)? }; rt::tl(&__t332)? }; rt::eq(&__t330, &__t333) }; Value::bool(rt::is_truthy(interp, &__t335)?) } }; Value::bool(rt::is_truthy(interp, &__t337)?) } }; Value::bool(rt::is_truthy(interp, &__t339)?) } }; if match rt::is_truthy(interp, &__t340) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t341 = Value::sym(interp.intern("unput")); let __t355 = { let __t343 = { let __t342 = v_Select5808.clone(); rt::hd(&__t342)? }; let __t354 = { let __t346 = { let __t345 = { let __t344 = v_Select5808.clone(); rt::tl(&__t344)? }; rt::hd(&__t345)? }; let __t353 = { let __t351 = { let __t347 = Value::sym(interp.intern("value")); let __t350 = { let __t348 = Value::sym(interp.intern("*property-vector*")); let __t349 = Value::nil(); rt::cons(&__t348, &__t349) }; rt::cons(&__t347, &__t350) }; let __t352 = Value::nil(); rt::cons(&__t351, &__t352) }; rt::cons(&__t346, &__t353) }; rt::cons(&__t343, &__t354) }; rt::cons(&__t341, &__t355) }); } else { { let __t366 = { let __t364 = { let __t356 = Value::sym(interp.intern("shen.@c")); let __t357 = v_Select5807.clone(); rt::eq(&__t356, &__t357) }; if !rt::is_truthy(interp, &__t364)? { Value::bool(false) } else { let __t365 = { let __t362 = { let __t358 = v_Select5808.clone(); rt::is_cons(&__t358) }; if !rt::is_truthy(interp, &__t362)? { Value::bool(false) } else { let __t363 = { let __t359 = Value::nil(); let __t361 = { let __t360 = v_Select5808.clone(); rt::tl(&__t360)? }; rt::eq(&__t359, &__t361) }; Value::bool(rt::is_truthy(interp, &__t363)?) } }; Value::bool(rt::is_truthy(interp, &__t365)?) } }; if match rt::is_truthy(interp, &__t366) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t368 = { let __t367 = v_Select5808.clone(); rt::hd(&__t367)? }; rt::apply_direct(interp, "shen.rcons_form", &[__t368])? }); } else { { let v_GoTo5803 = { let v_GoTo5802 = v_GoTo5802.clone(); let v_Select5807 = v_Select5807.clone(); let v_Select5808 = v_Select5808.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t410 = { let __t397 = { let __t369 = v_Select5808.clone(); rt::is_cons(&__t369) }; if !rt::is_truthy(interp, &__t397)? { Value::bool(false) } else { let __t398 = { let __t395 = { let __t371 = { let __t370 = v_Select5808.clone(); rt::tl(&__t370)? }; rt::is_cons(&__t371) }; if !rt::is_truthy(interp, &__t395)? { Value::bool(false) } else { let __t396 = { let __t393 = { let __t374 = { let __t373 = { let __t372 = v_Select5808.clone(); rt::tl(&__t372)? }; rt::tl(&__t373)? }; rt::is_cons(&__t374) }; if !rt::is_truthy(interp, &__t393)? { Value::bool(false) } else { let __t394 = { let __t375 = v_Select5807.clone(); let __t392 = { let __t376 = Value::sym(interp.intern("@p")); let __t391 = { let __t377 = Value::sym(interp.intern("@v")); let __t390 = { let __t378 = Value::sym(interp.intern("append")); let __t389 = { let __t379 = Value::sym(interp.intern("and")); let __t388 = { let __t380 = Value::sym(interp.intern("or")); let __t387 = { let __t381 = Value::sym(interp.intern("+")); let __t386 = { let __t382 = Value::sym(interp.intern("*")); let __t385 = { let __t383 = Value::sym(interp.intern("do")); let __t384 = Value::nil(); rt::cons(&__t383, &__t384) }; rt::cons(&__t382, &__t385) }; rt::cons(&__t381, &__t386) }; rt::cons(&__t380, &__t387) }; rt::cons(&__t379, &__t388) }; rt::cons(&__t378, &__t389) }; rt::cons(&__t377, &__t390) }; rt::cons(&__t376, &__t391) }; rt::apply_direct(interp, "element?", &[__t375, __t392])? }; Value::bool(rt::is_truthy(interp, &__t394)?) } }; Value::bool(rt::is_truthy(interp, &__t396)?) } }; Value::bool(rt::is_truthy(interp, &__t398)?) } }; if rt::is_truthy(interp, &__t410)? { { let __t399 = v_Select5807.clone(); let __t409 = { let __t401 = { let __t400 = v_Select5808.clone(); rt::hd(&__t400)? }; let __t408 = { let __t406 = { let __t405 = { let __t402 = v_Select5807.clone(); let __t404 = { let __t403 = v_Select5808.clone(); rt::tl(&__t403)? }; rt::cons(&__t402, &__t404) }; rt::apply_direct(interp, "shen.process-assoc", &[__t405])? }; let __t407 = Value::nil(); rt::cons(&__t406, &__t407) }; rt::cons(&__t401, &__t408) }; rt::cons(&__t399, &__t409) } } else { rt::apply_value(interp, v_GoTo5802.clone(), &[])? } }), vec![v_GoTo5802, v_Select5807, v_Select5808], interp) }; { let __t413 = { let __t411 = Value::sym(interp.intern("shen.@ch")); let __t412 = v_Select5807.clone(); rt::eq(&__t411, &__t412) }; if match rt::is_truthy(interp, &__t413) { Ok(b) => b, Err(e) => break Err(e), } { { let __t415 = { let __t414 = v_Select5808.clone(); rt::is_cons(&__t414) }; if match rt::is_truthy(interp, &__t415) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5805 = { let __t416 = v_Select5808.clone(); rt::hd(&__t416)? }; { let v_Select5806 = { let __t417 = v_Select5808.clone(); rt::tl(&__t417)? }; { let __t446 = { let __t444 = { let __t418 = v_Select5805.clone(); rt::is_cons(&__t418) }; if !rt::is_truthy(interp, &__t444)? { Value::bool(false) } else { let __t445 = { let __t442 = { let __t420 = { let __t419 = v_Select5805.clone(); rt::tl(&__t419)? }; rt::is_cons(&__t420) }; if !rt::is_truthy(interp, &__t442)? { Value::bool(false) } else { let __t443 = { let __t440 = { let __t423 = { let __t422 = { let __t421 = v_Select5805.clone(); rt::tl(&__t421)? }; rt::tl(&__t422)? }; rt::is_cons(&__t423) }; if !rt::is_truthy(interp, &__t440)? { Value::bool(false) } else { let __t441 = { let __t438 = { let __t424 = Value::nil(); let __t428 = { let __t427 = { let __t426 = { let __t425 = v_Select5805.clone(); rt::tl(&__t425)? }; rt::tl(&__t426)? }; rt::tl(&__t427)? }; rt::eq(&__t424, &__t428) }; if !rt::is_truthy(interp, &__t438)? { Value::bool(false) } else { let __t439 = { let __t436 = { let __t429 = Value::nil(); let __t430 = v_Select5806.clone(); rt::eq(&__t429, &__t430) }; if !rt::is_truthy(interp, &__t436)? { Value::bool(false) } else { let __t437 = { let __t433 = { let __t432 = { let __t431 = v_Select5805.clone(); rt::tl(&__t431)? }; rt::hd(&__t432)? }; let __t435 = { let __t434 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t434])? }; rt::eq(&__t433, &__t435) }; Value::bool(rt::is_truthy(interp, &__t437)?) } }; Value::bool(rt::is_truthy(interp, &__t439)?) } }; Value::bool(rt::is_truthy(interp, &__t441)?) } }; Value::bool(rt::is_truthy(interp, &__t443)?) } }; Value::bool(rt::is_truthy(interp, &__t445)?) } }; if match rt::is_truthy(interp, &__t446) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t464 = { let __t447 = Value::sym(interp.intern("-")); let __t463 = { let __t461 = { let __t449 = { let __t448 = v_Select5805.clone(); rt::hd(&__t448)? }; let __t460 = { let __t452 = { let __t451 = { let __t450 = v_Select5805.clone(); rt::tl(&__t450)? }; rt::hd(&__t451)? }; let __t459 = { let __t457 = { let __t453 = Value::sym(interp.intern("+")); let __t456 = { let __t455 = { let __t454 = v_Select5805.clone(); rt::tl(&__t454)? }; rt::tl(&__t455)? }; rt::cons(&__t453, &__t456) }; let __t458 = Value::nil(); rt::cons(&__t457, &__t458) }; rt::cons(&__t452, &__t459) }; rt::cons(&__t449, &__t460) }; let __t462 = Value::nil(); rt::cons(&__t461, &__t462) }; rt::cons(&__t447, &__t463) }; rt::apply_direct(interp, "shen.cons-form-respect-modes", &[__t464])? }); } else { { let __t467 = { let __t465 = Value::nil(); let __t466 = v_Select5806.clone(); rt::eq(&__t465, &__t466) }; if match rt::is_truthy(interp, &__t467) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t468 = v_Select5805.clone(); rt::apply_direct(interp, "shen.cons-form-respect-modes", &[__t468])? }); } else { break Ok(rt::apply_value(interp, v_GoTo5803.clone(), &[])?); } } } } } } } else { break Ok(rt::apply_value(interp, v_GoTo5803.clone(), &[])?); } } } else { break Ok(rt::apply_value(interp, v_GoTo5803.clone(), &[])?); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } + if match rt::is_truthy(interp, &__t126) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t128 = { let __t127 = v_Select5849.clone(); rt::hd(&__t127)? }; let __t130 = { let __t129 = v_Select5849.clone(); rt::tl(&__t129)? }; rt::apply_direct(interp, "shen.mkstr", &[__t128, __t130])? }); } else { { let __t137 = { let __t135 = { let __t131 = Value::sym(interp.intern("lineread")); let __t132 = v_Select5848.clone(); rt::eq(&__t131, &__t132) }; if !rt::is_truthy(interp, &__t135)? { Value::bool(false) } else { let __t136 = { let __t133 = Value::nil(); let __t134 = v_Select5849.clone(); rt::eq(&__t133, &__t134) }; Value::bool(rt::is_truthy(interp, &__t136)?) } }; if match rt::is_truthy(interp, &__t137) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t138 = Value::sym(interp.intern("lineread")); let __t143 = { let __t141 = { let __t139 = Value::sym(interp.intern("stinput")); let __t140 = Value::nil(); rt::cons(&__t139, &__t140) }; let __t142 = Value::nil(); rt::cons(&__t141, &__t142) }; rt::cons(&__t138, &__t143) }); } else { { let __t150 = { let __t148 = { let __t144 = Value::sym(interp.intern("input")); let __t145 = v_Select5848.clone(); rt::eq(&__t144, &__t145) }; if !rt::is_truthy(interp, &__t148)? { Value::bool(false) } else { let __t149 = { let __t146 = Value::nil(); let __t147 = v_Select5849.clone(); rt::eq(&__t146, &__t147) }; Value::bool(rt::is_truthy(interp, &__t149)?) } }; if match rt::is_truthy(interp, &__t150) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t151 = Value::sym(interp.intern("input")); let __t156 = { let __t154 = { let __t152 = Value::sym(interp.intern("stinput")); let __t153 = Value::nil(); rt::cons(&__t152, &__t153) }; let __t155 = Value::nil(); rt::cons(&__t154, &__t155) }; rt::cons(&__t151, &__t156) }); } else { { let __t163 = { let __t161 = { let __t157 = Value::sym(interp.intern("read")); let __t158 = v_Select5848.clone(); rt::eq(&__t157, &__t158) }; if !rt::is_truthy(interp, &__t161)? { Value::bool(false) } else { let __t162 = { let __t159 = Value::nil(); let __t160 = v_Select5849.clone(); rt::eq(&__t159, &__t160) }; Value::bool(rt::is_truthy(interp, &__t162)?) } }; if match rt::is_truthy(interp, &__t163) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t164 = Value::sym(interp.intern("read")); let __t169 = { let __t167 = { let __t165 = Value::sym(interp.intern("stinput")); let __t166 = Value::nil(); rt::cons(&__t165, &__t166) }; let __t168 = Value::nil(); rt::cons(&__t167, &__t168) }; rt::cons(&__t164, &__t169) }); } else { { let __t175 = { let __t173 = { let __t170 = Value::sym(interp.intern("input+")); let __t171 = v_Select5848.clone(); rt::eq(&__t170, &__t171) }; if !rt::is_truthy(interp, &__t173)? { Value::bool(false) } else { let __t174 = { let __t172 = v_Select5849.clone(); rt::is_cons(&__t172) }; Value::bool(rt::is_truthy(interp, &__t174)?) } }; if match rt::is_truthy(interp, &__t175) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t176 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-input+", &[__t176])? }); } else { { let __t183 = { let __t181 = { let __t177 = Value::sym(interp.intern("read-byte")); let __t178 = v_Select5848.clone(); rt::eq(&__t177, &__t178) }; if !rt::is_truthy(interp, &__t181)? { Value::bool(false) } else { let __t182 = { let __t179 = Value::nil(); let __t180 = v_Select5849.clone(); rt::eq(&__t179, &__t180) }; Value::bool(rt::is_truthy(interp, &__t182)?) } }; if match rt::is_truthy(interp, &__t183) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.process-read-byte", &[])? }); } else { { let __t186 = { let __t184 = Value::sym(interp.intern("prolog?")); let __t185 = v_Select5848.clone(); rt::eq(&__t184, &__t185) }; if match rt::is_truthy(interp, &__t186) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t187 = v_Select5849.clone(); rt::apply_direct(interp, "shen.call-prolog", &[__t187])? }); } else { { let __t193 = { let __t191 = { let __t188 = Value::sym(interp.intern("defprolog")); let __t189 = v_Select5848.clone(); rt::eq(&__t188, &__t189) }; if !rt::is_truthy(interp, &__t191)? { Value::bool(false) } else { let __t192 = { let __t190 = v_Select5849.clone(); rt::is_cons(&__t190) }; Value::bool(rt::is_truthy(interp, &__t192)?) } }; if match rt::is_truthy(interp, &__t193) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t195 = { let __t194 = v_Select5849.clone(); rt::hd(&__t194)? }; let __t197 = { let __t196 = v_Select5849.clone(); rt::tl(&__t196)? }; rt::apply_direct(interp, "shen.compile-prolog", &[__t195, __t197])? }); } else { { let __t203 = { let __t201 = { let __t198 = Value::sym(interp.intern("datatype")); let __t199 = v_Select5848.clone(); rt::eq(&__t198, &__t199) }; if !rt::is_truthy(interp, &__t201)? { Value::bool(false) } else { let __t202 = { let __t200 = v_Select5849.clone(); rt::is_cons(&__t200) }; Value::bool(rt::is_truthy(interp, &__t202)?) } }; if match rt::is_truthy(interp, &__t203) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t205 = { let __t204 = v_Select5849.clone(); rt::hd(&__t204)? }; let __t207 = { let __t206 = v_Select5849.clone(); rt::tl(&__t206)? }; rt::apply_direct(interp, "shen.process-datatype", &[__t205, __t207])? }); } else { { let __t210 = { let __t208 = Value::sym(interp.intern("@s")); let __t209 = v_Select5848.clone(); rt::eq(&__t208, &__t209) }; if match rt::is_truthy(interp, &__t210) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t211 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-@s", &[__t211])? }); } else { { let __t214 = { let __t212 = Value::sym(interp.intern("synonyms")); let __t213 = v_Select5848.clone(); rt::eq(&__t212, &__t213) }; if match rt::is_truthy(interp, &__t214) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t215 = v_Select5849.clone(); rt::apply_direct(interp, "shen.process-synonyms", &[__t215])? }); } else { { let __t222 = { let __t220 = { let __t216 = Value::sym(interp.intern("nl")); let __t217 = v_Select5848.clone(); rt::eq(&__t216, &__t217) }; if !rt::is_truthy(interp, &__t220)? { Value::bool(false) } else { let __t221 = { let __t218 = Value::nil(); let __t219 = v_Select5849.clone(); rt::eq(&__t218, &__t219) }; Value::bool(rt::is_truthy(interp, &__t221)?) } }; if match rt::is_truthy(interp, &__t222) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t223 = Value::sym(interp.intern("nl")); let __t226 = { let __t224 = Value::int(1i64); let __t225 = Value::nil(); rt::cons(&__t224, &__t225) }; rt::cons(&__t223, &__t226) }); } else { { let __t229 = { let __t227 = Value::sym(interp.intern("let")); let __t228 = v_Select5848.clone(); rt::eq(&__t227, &__t228) }; if match rt::is_truthy(interp, &__t229) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t230 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-let", &[__t230])? }); } else { { let __t233 = { let __t231 = Value::sym(interp.intern("/.")); let __t232 = v_Select5848.clone(); rt::eq(&__t231, &__t232) }; if match rt::is_truthy(interp, &__t233) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t234 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-lambda", &[__t234])? }); } else { { let __t237 = { let __t235 = Value::sym(interp.intern("cases")); let __t236 = v_Select5848.clone(); rt::eq(&__t235, &__t236) }; if match rt::is_truthy(interp, &__t237) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t238 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-cases", &[__t238])? }); } else { { let __t249 = { let __t247 = { let __t239 = Value::sym(interp.intern("time")); let __t240 = v_Select5848.clone(); rt::eq(&__t239, &__t240) }; if !rt::is_truthy(interp, &__t247)? { Value::bool(false) } else { let __t248 = { let __t245 = { let __t241 = v_Select5849.clone(); rt::is_cons(&__t241) }; if !rt::is_truthy(interp, &__t245)? { Value::bool(false) } else { let __t246 = { let __t242 = Value::nil(); let __t244 = { let __t243 = v_Select5849.clone(); rt::tl(&__t243)? }; rt::eq(&__t242, &__t244) }; Value::bool(rt::is_truthy(interp, &__t246)?) } }; Value::bool(rt::is_truthy(interp, &__t248)?) } }; if match rt::is_truthy(interp, &__t249) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t251 = { let __t250 = v_Select5849.clone(); rt::hd(&__t250)? }; rt::apply_direct(interp, "shen.process-time", &[__t251])? }); } else { { let __t273 = { let __t271 = { let __t252 = Value::sym(interp.intern("put")); let __t253 = v_Select5848.clone(); rt::eq(&__t252, &__t253) }; if !rt::is_truthy(interp, &__t271)? { Value::bool(false) } else { let __t272 = { let __t269 = { let __t254 = v_Select5849.clone(); rt::is_cons(&__t254) }; if !rt::is_truthy(interp, &__t269)? { Value::bool(false) } else { let __t270 = { let __t267 = { let __t256 = { let __t255 = v_Select5849.clone(); rt::tl(&__t255)? }; rt::is_cons(&__t256) }; if !rt::is_truthy(interp, &__t267)? { Value::bool(false) } else { let __t268 = { let __t265 = { let __t259 = { let __t258 = { let __t257 = v_Select5849.clone(); rt::tl(&__t257)? }; rt::tl(&__t258)? }; rt::is_cons(&__t259) }; if !rt::is_truthy(interp, &__t265)? { Value::bool(false) } else { let __t266 = { let __t260 = Value::nil(); let __t264 = { let __t263 = { let __t262 = { let __t261 = v_Select5849.clone(); rt::tl(&__t261)? }; rt::tl(&__t262)? }; rt::tl(&__t263)? }; rt::eq(&__t260, &__t264) }; Value::bool(rt::is_truthy(interp, &__t266)?) } }; Value::bool(rt::is_truthy(interp, &__t268)?) } }; Value::bool(rt::is_truthy(interp, &__t270)?) } }; Value::bool(rt::is_truthy(interp, &__t272)?) } }; if match rt::is_truthy(interp, &__t273) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t274 = Value::sym(interp.intern("put")); let __t293 = { let __t276 = { let __t275 = v_Select5849.clone(); rt::hd(&__t275)? }; let __t292 = { let __t279 = { let __t278 = { let __t277 = v_Select5849.clone(); rt::tl(&__t277)? }; rt::hd(&__t278)? }; let __t291 = { let __t283 = { let __t282 = { let __t281 = { let __t280 = v_Select5849.clone(); rt::tl(&__t280)? }; rt::tl(&__t281)? }; rt::hd(&__t282)? }; let __t290 = { let __t288 = { let __t284 = Value::sym(interp.intern("value")); let __t287 = { let __t285 = Value::sym(interp.intern("*property-vector*")); let __t286 = Value::nil(); rt::cons(&__t285, &__t286) }; rt::cons(&__t284, &__t287) }; let __t289 = Value::nil(); rt::cons(&__t288, &__t289) }; rt::cons(&__t283, &__t290) }; rt::cons(&__t279, &__t291) }; rt::cons(&__t276, &__t292) }; rt::cons(&__t274, &__t293) }); } else { { let __t309 = { let __t307 = { let __t294 = Value::sym(interp.intern("get")); let __t295 = v_Select5848.clone(); rt::eq(&__t294, &__t295) }; if !rt::is_truthy(interp, &__t307)? { Value::bool(false) } else { let __t308 = { let __t305 = { let __t296 = v_Select5849.clone(); rt::is_cons(&__t296) }; if !rt::is_truthy(interp, &__t305)? { Value::bool(false) } else { let __t306 = { let __t303 = { let __t298 = { let __t297 = v_Select5849.clone(); rt::tl(&__t297)? }; rt::is_cons(&__t298) }; if !rt::is_truthy(interp, &__t303)? { Value::bool(false) } else { let __t304 = { let __t299 = Value::nil(); let __t302 = { let __t301 = { let __t300 = v_Select5849.clone(); rt::tl(&__t300)? }; rt::tl(&__t301)? }; rt::eq(&__t299, &__t302) }; Value::bool(rt::is_truthy(interp, &__t304)?) } }; Value::bool(rt::is_truthy(interp, &__t306)?) } }; Value::bool(rt::is_truthy(interp, &__t308)?) } }; if match rt::is_truthy(interp, &__t309) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t310 = Value::sym(interp.intern("get")); let __t324 = { let __t312 = { let __t311 = v_Select5849.clone(); rt::hd(&__t311)? }; let __t323 = { let __t315 = { let __t314 = { let __t313 = v_Select5849.clone(); rt::tl(&__t313)? }; rt::hd(&__t314)? }; let __t322 = { let __t320 = { let __t316 = Value::sym(interp.intern("value")); let __t319 = { let __t317 = Value::sym(interp.intern("*property-vector*")); let __t318 = Value::nil(); rt::cons(&__t317, &__t318) }; rt::cons(&__t316, &__t319) }; let __t321 = Value::nil(); rt::cons(&__t320, &__t321) }; rt::cons(&__t315, &__t322) }; rt::cons(&__t312, &__t323) }; rt::cons(&__t310, &__t324) }); } else { { let __t340 = { let __t338 = { let __t325 = Value::sym(interp.intern("unput")); let __t326 = v_Select5848.clone(); rt::eq(&__t325, &__t326) }; if !rt::is_truthy(interp, &__t338)? { Value::bool(false) } else { let __t339 = { let __t336 = { let __t327 = v_Select5849.clone(); rt::is_cons(&__t327) }; if !rt::is_truthy(interp, &__t336)? { Value::bool(false) } else { let __t337 = { let __t334 = { let __t329 = { let __t328 = v_Select5849.clone(); rt::tl(&__t328)? }; rt::is_cons(&__t329) }; if !rt::is_truthy(interp, &__t334)? { Value::bool(false) } else { let __t335 = { let __t330 = Value::nil(); let __t333 = { let __t332 = { let __t331 = v_Select5849.clone(); rt::tl(&__t331)? }; rt::tl(&__t332)? }; rt::eq(&__t330, &__t333) }; Value::bool(rt::is_truthy(interp, &__t335)?) } }; Value::bool(rt::is_truthy(interp, &__t337)?) } }; Value::bool(rt::is_truthy(interp, &__t339)?) } }; if match rt::is_truthy(interp, &__t340) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t341 = Value::sym(interp.intern("unput")); let __t355 = { let __t343 = { let __t342 = v_Select5849.clone(); rt::hd(&__t342)? }; let __t354 = { let __t346 = { let __t345 = { let __t344 = v_Select5849.clone(); rt::tl(&__t344)? }; rt::hd(&__t345)? }; let __t353 = { let __t351 = { let __t347 = Value::sym(interp.intern("value")); let __t350 = { let __t348 = Value::sym(interp.intern("*property-vector*")); let __t349 = Value::nil(); rt::cons(&__t348, &__t349) }; rt::cons(&__t347, &__t350) }; let __t352 = Value::nil(); rt::cons(&__t351, &__t352) }; rt::cons(&__t346, &__t353) }; rt::cons(&__t343, &__t354) }; rt::cons(&__t341, &__t355) }); } else { { let __t366 = { let __t364 = { let __t356 = Value::sym(interp.intern("shen.@c")); let __t357 = v_Select5848.clone(); rt::eq(&__t356, &__t357) }; if !rt::is_truthy(interp, &__t364)? { Value::bool(false) } else { let __t365 = { let __t362 = { let __t358 = v_Select5849.clone(); rt::is_cons(&__t358) }; if !rt::is_truthy(interp, &__t362)? { Value::bool(false) } else { let __t363 = { let __t359 = Value::nil(); let __t361 = { let __t360 = v_Select5849.clone(); rt::tl(&__t360)? }; rt::eq(&__t359, &__t361) }; Value::bool(rt::is_truthy(interp, &__t363)?) } }; Value::bool(rt::is_truthy(interp, &__t365)?) } }; if match rt::is_truthy(interp, &__t366) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t368 = { let __t367 = v_Select5849.clone(); rt::hd(&__t367)? }; rt::apply_direct(interp, "shen.rcons_form", &[__t368])? }); } else { { let v_GoTo5844 = { let v_GoTo5843 = v_GoTo5843.clone(); let v_Select5848 = v_Select5848.clone(); let v_Select5849 = v_Select5849.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t410 = { let __t397 = { let __t369 = v_Select5849.clone(); rt::is_cons(&__t369) }; if !rt::is_truthy(interp, &__t397)? { Value::bool(false) } else { let __t398 = { let __t395 = { let __t371 = { let __t370 = v_Select5849.clone(); rt::tl(&__t370)? }; rt::is_cons(&__t371) }; if !rt::is_truthy(interp, &__t395)? { Value::bool(false) } else { let __t396 = { let __t393 = { let __t374 = { let __t373 = { let __t372 = v_Select5849.clone(); rt::tl(&__t372)? }; rt::tl(&__t373)? }; rt::is_cons(&__t374) }; if !rt::is_truthy(interp, &__t393)? { Value::bool(false) } else { let __t394 = { let __t375 = v_Select5848.clone(); let __t392 = { let __t376 = Value::sym(interp.intern("@p")); let __t391 = { let __t377 = Value::sym(interp.intern("@v")); let __t390 = { let __t378 = Value::sym(interp.intern("append")); let __t389 = { let __t379 = Value::sym(interp.intern("and")); let __t388 = { let __t380 = Value::sym(interp.intern("or")); let __t387 = { let __t381 = Value::sym(interp.intern("+")); let __t386 = { let __t382 = Value::sym(interp.intern("*")); let __t385 = { let __t383 = Value::sym(interp.intern("do")); let __t384 = Value::nil(); rt::cons(&__t383, &__t384) }; rt::cons(&__t382, &__t385) }; rt::cons(&__t381, &__t386) }; rt::cons(&__t380, &__t387) }; rt::cons(&__t379, &__t388) }; rt::cons(&__t378, &__t389) }; rt::cons(&__t377, &__t390) }; rt::cons(&__t376, &__t391) }; rt::apply_direct(interp, "element?", &[__t375, __t392])? }; Value::bool(rt::is_truthy(interp, &__t394)?) } }; Value::bool(rt::is_truthy(interp, &__t396)?) } }; Value::bool(rt::is_truthy(interp, &__t398)?) } }; if rt::is_truthy(interp, &__t410)? { { let __t399 = v_Select5848.clone(); let __t409 = { let __t401 = { let __t400 = v_Select5849.clone(); rt::hd(&__t400)? }; let __t408 = { let __t406 = { let __t405 = { let __t402 = v_Select5848.clone(); let __t404 = { let __t403 = v_Select5849.clone(); rt::tl(&__t403)? }; rt::cons(&__t402, &__t404) }; rt::apply_direct(interp, "shen.process-assoc", &[__t405])? }; let __t407 = Value::nil(); rt::cons(&__t406, &__t407) }; rt::cons(&__t401, &__t408) }; rt::cons(&__t399, &__t409) } } else { rt::apply_value(interp, v_GoTo5843.clone(), &[])? } }), vec![v_GoTo5843, v_Select5848, v_Select5849], interp) }; { let __t413 = { let __t411 = Value::sym(interp.intern("shen.@ch")); let __t412 = v_Select5848.clone(); rt::eq(&__t411, &__t412) }; if match rt::is_truthy(interp, &__t413) { Ok(b) => b, Err(e) => break Err(e), } { { let __t415 = { let __t414 = v_Select5849.clone(); rt::is_cons(&__t414) }; if match rt::is_truthy(interp, &__t415) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5846 = { let __t416 = v_Select5849.clone(); rt::hd(&__t416)? }; { let v_Select5847 = { let __t417 = v_Select5849.clone(); rt::tl(&__t417)? }; { let __t446 = { let __t444 = { let __t418 = v_Select5846.clone(); rt::is_cons(&__t418) }; if !rt::is_truthy(interp, &__t444)? { Value::bool(false) } else { let __t445 = { let __t442 = { let __t420 = { let __t419 = v_Select5846.clone(); rt::tl(&__t419)? }; rt::is_cons(&__t420) }; if !rt::is_truthy(interp, &__t442)? { Value::bool(false) } else { let __t443 = { let __t440 = { let __t423 = { let __t422 = { let __t421 = v_Select5846.clone(); rt::tl(&__t421)? }; rt::tl(&__t422)? }; rt::is_cons(&__t423) }; if !rt::is_truthy(interp, &__t440)? { Value::bool(false) } else { let __t441 = { let __t438 = { let __t424 = Value::nil(); let __t428 = { let __t427 = { let __t426 = { let __t425 = v_Select5846.clone(); rt::tl(&__t425)? }; rt::tl(&__t426)? }; rt::tl(&__t427)? }; rt::eq(&__t424, &__t428) }; if !rt::is_truthy(interp, &__t438)? { Value::bool(false) } else { let __t439 = { let __t436 = { let __t429 = Value::nil(); let __t430 = v_Select5847.clone(); rt::eq(&__t429, &__t430) }; if !rt::is_truthy(interp, &__t436)? { Value::bool(false) } else { let __t437 = { let __t433 = { let __t432 = { let __t431 = v_Select5846.clone(); rt::tl(&__t431)? }; rt::hd(&__t432)? }; let __t435 = { let __t434 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t434])? }; rt::eq(&__t433, &__t435) }; Value::bool(rt::is_truthy(interp, &__t437)?) } }; Value::bool(rt::is_truthy(interp, &__t439)?) } }; Value::bool(rt::is_truthy(interp, &__t441)?) } }; Value::bool(rt::is_truthy(interp, &__t443)?) } }; Value::bool(rt::is_truthy(interp, &__t445)?) } }; if match rt::is_truthy(interp, &__t446) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t464 = { let __t447 = Value::sym(interp.intern("-")); let __t463 = { let __t461 = { let __t449 = { let __t448 = v_Select5846.clone(); rt::hd(&__t448)? }; let __t460 = { let __t452 = { let __t451 = { let __t450 = v_Select5846.clone(); rt::tl(&__t450)? }; rt::hd(&__t451)? }; let __t459 = { let __t457 = { let __t453 = Value::sym(interp.intern("+")); let __t456 = { let __t455 = { let __t454 = v_Select5846.clone(); rt::tl(&__t454)? }; rt::tl(&__t455)? }; rt::cons(&__t453, &__t456) }; let __t458 = Value::nil(); rt::cons(&__t457, &__t458) }; rt::cons(&__t452, &__t459) }; rt::cons(&__t449, &__t460) }; let __t462 = Value::nil(); rt::cons(&__t461, &__t462) }; rt::cons(&__t447, &__t463) }; rt::apply_direct(interp, "shen.cons-form-respect-modes", &[__t464])? }); } else { { let __t467 = { let __t465 = Value::nil(); let __t466 = v_Select5847.clone(); rt::eq(&__t465, &__t466) }; if match rt::is_truthy(interp, &__t467) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t468 = v_Select5846.clone(); rt::apply_direct(interp, "shen.cons-form-respect-modes", &[__t468])? }); } else { break Ok(rt::apply_value(interp, v_GoTo5844.clone(), &[])?); } } } } } } } else { break Ok(rt::apply_value(interp, v_GoTo5844.clone(), &[])?); } } } else { break Ok(rt::apply_value(interp, v_GoTo5844.clone(), &[])?); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } @@ -635,7 +635,7 @@ pub fn aot_shen_x2e_macros(interp: &mut Interp, args: &[Value]) -> ShenResult", 0, @@ -679,7 +679,7 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( }; { let __t471 = { - let __t470 = v_V5809.clone(); + let __t470 = v_V5850.clone(); rt::is_cons(&__t470) }; if match rt::is_truthy(interp, &__t471) { @@ -687,15 +687,15 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( Err(e) => break Err(e), } { { - let v_Select5815 = { - let __t472 = v_V5809.clone(); + let v_Select5856 = { + let __t472 = v_V5850.clone(); rt::tl(&__t472)? }; { let __t476 = { let __t473 = Value::sym(interp.intern("input+")); let __t475 = { - let __t474 = v_V5809.clone(); + let __t474 = v_V5850.clone(); rt::hd(&__t474)? }; rt::eq(&__t473, &__t475) @@ -706,7 +706,7 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( } { { let __t478 = { - let __t477 = v_Select5815.clone(); + let __t477 = v_Select5856.clone(); rt::is_cons(&__t477) }; if match rt::is_truthy(interp, &__t478) { @@ -714,19 +714,19 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( Err(e) => break Err(e), } { { - let v_Select5813 = { - let __t479 = v_Select5815.clone(); + let v_Select5854 = { + let __t479 = v_Select5856.clone(); rt::hd(&__t479)? }; { - let v_Select5814 = { - let __t480 = v_Select5815.clone(); + let v_Select5855 = { + let __t480 = v_Select5856.clone(); rt::tl(&__t480)? }; { let __t483 = { let __t481 = Value::nil(); - let __t482 = v_Select5814.clone(); + let __t482 = v_Select5855.clone(); rt::eq(&__t481, &__t482) }; if match rt::is_truthy(interp, &__t483) { @@ -740,7 +740,7 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( let __t492 = { let __t486 = { let __t485 = - v_Select5813.clone(); + v_Select5854.clone(); rt::apply_direct( interp, "shen.rcons_form", @@ -768,7 +768,7 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( let __t499 = { let __t497 = { let __t493 = - v_Select5814.clone(); + v_Select5855.clone(); rt::is_cons(&__t493) }; if !rt::is_truthy(interp, &__t497)? @@ -779,7 +779,7 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( let __t494 = Value::nil(); let __t496 = { let __t495 = - v_Select5814 + v_Select5855 .clone(); rt::tl(&__t495)? }; @@ -803,7 +803,7 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( let __t504 = { let __t502 = { let __t501 = - v_Select5813 + v_Select5854 .clone(); rt::apply_direct( interp, @@ -812,7 +812,7 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( )? }; let __t503 = - v_Select5814.clone(); + v_Select5855.clone(); rt::cons(&__t502, &__t503) }; rt::cons(&__t500, &__t504) @@ -820,7 +820,7 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( } else { break Ok(rt::apply_value( interp, - v_GoTo5810.clone(), + v_GoTo5851.clone(), &[], )?); } @@ -832,18 +832,18 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( } else { break Ok(rt::apply_value( interp, - v_GoTo5810.clone(), + v_GoTo5851.clone(), &[], )?); } } } else { - break Ok(rt::apply_value(interp, v_GoTo5810.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5851.clone(), &[])?); } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5810.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5851.clone(), &[])?); } } } @@ -871,23 +871,23 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( ))); } #[allow(unused_mut)] - let mut v_V5816 = args[0].clone(); + let mut v_V5857 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_GoTo5817 = { - let v_V5816 = v_V5816.clone(); + let v_GoTo5858 = { + let v_V5857 = v_V5857.clone(); rt::make_aot_closure( "", 0, - move |interp, _args| Ok(v_V5816.clone()), - vec![v_V5816], + move |interp, _args| Ok(v_V5857.clone()), + vec![v_V5857], interp, ) }; { let __t506 = { - let __t505 = v_V5816.clone(); + let __t505 = v_V5857.clone(); rt::is_cons(&__t505) }; if match rt::is_truthy(interp, &__t506) { @@ -895,20 +895,20 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( Err(e) => break Err(e), } { { - let v_Select5818 = { - let __t507 = v_V5816.clone(); + let v_Select5859 = { + let __t507 = v_V5857.clone(); rt::hd(&__t507)? }; { - let v_Select5819 = { - let __t508 = v_V5816.clone(); + let v_Select5860 = { + let __t508 = v_V5857.clone(); rt::tl(&__t508)? }; { let __t519 = { let __t517 = { let __t509 = Value::sym(interp.intern("+")); - let __t510 = v_Select5818.clone(); + let __t510 = v_Select5859.clone(); rt::eq(&__t509, &__t510) }; if !rt::is_truthy(interp, &__t517)? { @@ -916,7 +916,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( } else { let __t518 = { let __t515 = { - let __t511 = v_Select5819.clone(); + let __t511 = v_Select5860.clone(); rt::is_cons(&__t511) }; if !rt::is_truthy(interp, &__t515)? { @@ -925,7 +925,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( let __t516 = { let __t512 = Value::nil(); let __t514 = { - let __t513 = v_Select5819.clone(); + let __t513 = v_Select5860.clone(); rt::tl(&__t513)? }; rt::eq(&__t512, &__t514) @@ -945,7 +945,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( let __t525 = { let __t523 = { let __t522 = { - let __t521 = v_Select5819.clone(); + let __t521 = v_Select5860.clone(); rt::hd(&__t521)? }; rt::apply_direct( @@ -964,7 +964,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( let __t536 = { let __t534 = { let __t526 = Value::sym(interp.intern("-")); - let __t527 = v_Select5818.clone(); + let __t527 = v_Select5859.clone(); rt::eq(&__t526, &__t527) }; if !rt::is_truthy(interp, &__t534)? { @@ -972,7 +972,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( } else { let __t535 = { let __t532 = { - let __t528 = v_Select5819.clone(); + let __t528 = v_Select5860.clone(); rt::is_cons(&__t528) }; if !rt::is_truthy(interp, &__t532)? { @@ -981,7 +981,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( let __t533 = { let __t529 = Value::nil(); let __t531 = { - let __t530 = v_Select5819.clone(); + let __t530 = v_Select5860.clone(); rt::tl(&__t530)? }; rt::eq(&__t529, &__t531) @@ -1001,7 +1001,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( let __t542 = { let __t540 = { let __t539 = { - let __t538 = v_Select5819.clone(); + let __t538 = v_Select5860.clone(); rt::hd(&__t538)? }; rt::apply_direct( @@ -1020,7 +1020,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( let __t543 = Value::sym(interp.intern("cons")); let __t550 = { let __t545 = { - let __t544 = v_Select5818.clone(); + let __t544 = v_Select5859.clone(); rt::apply_direct( interp, "shen.cons-form-respect-modes", @@ -1029,7 +1029,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( }; let __t549 = { let __t547 = { - let __t546 = v_Select5819.clone(); + let __t546 = v_Select5860.clone(); rt::apply_direct( interp, "shen.cons-form-respect-modes", @@ -1050,7 +1050,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( } } } else { - break Ok(rt::apply_value(interp, v_GoTo5817.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5858.clone(), &[])?); } } } @@ -1078,13 +1078,13 @@ pub fn aot_shen_x2e_process_x2d_def(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5820 = args[0].clone(); + let mut v_V5861 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5821 = args[1].clone(); + let mut v_V5862 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5822 = { + let v_W5863 = { let __t551 = Value::sym(interp.intern("X")); let __t556 = { let __t552 = Value::sym(interp.intern("->")); @@ -1098,14 +1098,14 @@ pub fn aot_shen_x2e_process_x2d_def(interp: &mut Interp, args: &[Value]) -> Shen rt::cons(&__t551, &__t556) }; { - let v_W5823 = { + let v_W5864 = { let __t563 = { let __t557 = Value::sym(interp.intern("define")); let __t562 = { - let __t558 = v_V5820.clone(); + let __t558 = v_V5861.clone(); let __t561 = { - let __t559 = v_V5821.clone(); - let __t560 = v_W5822.clone(); + let __t559 = v_V5862.clone(); + let __t560 = v_W5863.clone(); rt::apply_direct(interp, "append", &[__t559, __t560])? }; rt::cons(&__t558, &__t561) @@ -1115,15 +1115,15 @@ pub fn aot_shen_x2e_process_x2d_def(interp: &mut Interp, args: &[Value]) -> Shen rt::apply_direct(interp, "eval", &[__t563])? }; { - let v_W5824 = { - let __t564 = v_V5820.clone(); + let v_W5865 = { + let __t564 = v_V5861.clone(); let __t566 = { - let __t565 = v_V5820.clone(); + let __t565 = v_V5861.clone(); rt::apply_direct(interp, "fn", &[__t565])? }; rt::apply_direct(interp, "shen.record-macro", &[__t564, __t566])? }; - break Ok(v_V5820.clone()); + break Ok(v_V5861.clone()); } } } @@ -1144,13 +1144,13 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5825 = args[0].clone(); + let mut v_V5866 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t595 = { let __t593 = { - let __t567 = v_V5825.clone(); + let __t567 = v_V5866.clone(); rt::is_cons(&__t567) }; if !rt::is_truthy(interp, &__t593)? { @@ -1160,7 +1160,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen let __t591 = { let __t568 = Value::sym(interp.intern("let")); let __t570 = { - let __t569 = v_V5825.clone(); + let __t569 = v_V5866.clone(); rt::hd(&__t569)? }; rt::eq(&__t568, &__t570) @@ -1171,7 +1171,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen let __t592 = { let __t589 = { let __t572 = { - let __t571 = v_V5825.clone(); + let __t571 = v_V5866.clone(); rt::tl(&__t571)? }; rt::is_cons(&__t572) @@ -1183,7 +1183,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen let __t587 = { let __t575 = { let __t574 = { - let __t573 = v_V5825.clone(); + let __t573 = v_V5866.clone(); rt::tl(&__t573)? }; rt::tl(&__t574)? @@ -1198,7 +1198,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen let __t579 = { let __t578 = { let __t577 = { - let __t576 = v_V5825.clone(); + let __t576 = v_V5866.clone(); rt::tl(&__t576)? }; rt::tl(&__t577)? @@ -1216,7 +1216,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen let __t582 = { let __t581 = { let __t580 = - v_V5825.clone(); + v_V5866.clone(); rt::tl(&__t580)? }; rt::tl(&__t581)? @@ -1251,7 +1251,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen let __t613 = { let __t599 = { let __t598 = { - let __t597 = v_V5825.clone(); + let __t597 = v_V5866.clone(); rt::tl(&__t597)? }; rt::hd(&__t598)? @@ -1260,7 +1260,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen let __t603 = { let __t602 = { let __t601 = { - let __t600 = v_V5825.clone(); + let __t600 = v_V5866.clone(); rt::tl(&__t600)? }; rt::tl(&__t601)? @@ -1273,7 +1273,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen let __t608 = { let __t607 = { let __t606 = { - let __t605 = v_V5825.clone(); + let __t605 = v_V5866.clone(); rt::tl(&__t605)? }; rt::tl(&__t606)? @@ -1292,7 +1292,7 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen rt::cons(&__t596, &__t613) }); } else { - break Ok(v_V5825.clone()); + break Ok(v_V5866.clone()); } } } @@ -1312,23 +1312,23 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V5826 = args[0].clone(); + let mut v_V5867 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_GoTo5828 = { - let v_V5826 = v_V5826.clone(); + let v_GoTo5869 = { + let v_V5867 = v_V5867.clone(); rt::make_aot_closure( "", 0, - move |interp, _args| Ok(v_V5826.clone()), - vec![v_V5826], + move |interp, _args| Ok(v_V5867.clone()), + vec![v_V5867], interp, ) }; { let __t615 = { - let __t614 = v_V5826.clone(); + let __t614 = v_V5867.clone(); rt::is_cons(&__t614) }; if match rt::is_truthy(interp, &__t615) { @@ -1336,15 +1336,15 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_Select5835 = { - let __t616 = v_V5826.clone(); + let v_Select5876 = { + let __t616 = v_V5867.clone(); rt::tl(&__t616)? }; { let __t620 = { let __t617 = Value::sym(interp.intern("@s")); let __t619 = { - let __t618 = v_V5826.clone(); + let __t618 = v_V5867.clone(); rt::hd(&__t618)? }; rt::eq(&__t617, &__t619) @@ -1355,7 +1355,7 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S } { { let __t622 = { - let __t621 = v_Select5835.clone(); + let __t621 = v_Select5876.clone(); rt::is_cons(&__t621) }; if match rt::is_truthy(interp, &__t622) { @@ -1363,18 +1363,18 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_Select5833 = { - let __t623 = v_Select5835.clone(); + let v_Select5874 = { + let __t623 = v_Select5876.clone(); rt::hd(&__t623)? }; { - let v_Select5834 = { - let __t624 = v_Select5835.clone(); + let v_Select5875 = { + let __t624 = v_Select5876.clone(); rt::tl(&__t624)? }; { let __t626 = { - let __t625 = v_Select5834.clone(); + let __t625 = v_Select5875.clone(); rt::is_cons(&__t625) }; if match rt::is_truthy(interp, &__t626) { @@ -1382,14 +1382,14 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_Select5832 = { - let __t627 = v_Select5834.clone(); + let v_Select5873 = { + let __t627 = v_Select5875.clone(); rt::tl(&__t627)? }; { let __t629 = { let __t628 = - v_Select5832.clone(); + v_Select5873.clone(); rt::is_cons(&__t628) }; if match rt::is_truthy( @@ -1404,13 +1404,13 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S ); let __t638 = { let __t631 = - v_Select5833 + v_Select5874 .clone(); let __t637 = { let __t635 = { let __t634 = { let __t632 = Value::sym(interp.intern("@s")); - let __t633 = v_Select5834.clone(); + let __t633 = v_Select5875.clone(); rt::cons( &__t632, &__t633, @@ -1438,7 +1438,7 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S let __t639 = Value::nil(); let __t640 = - v_Select5832 + v_Select5873 .clone(); rt::eq( &__t639, @@ -1451,7 +1451,7 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S Value::bool(false) } else { let __t643 = { - let __t641 = v_Select5833.clone(); + let __t641 = v_Select5874.clone(); rt::is_string( &__t641, ) @@ -1471,14 +1471,14 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W5827 = { - let __t645 = v_Select5833.clone(); + let v_W5868 = { + let __t645 = v_Select5874.clone(); rt::apply_direct(interp, "explode", &[__t645])? }; { let __t649 = { let __t647 = { - let __t646 = v_W5827.clone(); + let __t646 = v_W5868.clone(); rt::apply_direct(interp, "length", &[__t646])? }; let __t648 = Value::int(1i64); @@ -1487,14 +1487,14 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S &__t648, )? }; - if match rt::is_truthy(interp, &__t649) { Ok(b) => b, Err(e) => break Err(e), } { { let __t654 = { let __t650 = Value::sym(interp.intern("@s")); let __t653 = { let __t651 = v_W5827.clone(); let __t652 = v_Select5834.clone(); rt::apply_direct(interp, "append", &[__t651, __t652])? }; rt::cons(&__t650, &__t653) }; v_V5826 = __t654; continue; } } else { break Ok(v_V5826.clone()); } + if match rt::is_truthy(interp, &__t649) { Ok(b) => b, Err(e) => break Err(e), } { { let __t654 = { let __t650 = Value::sym(interp.intern("@s")); let __t653 = { let __t651 = v_W5868.clone(); let __t652 = v_Select5875.clone(); rt::apply_direct(interp, "append", &[__t651, __t652])? }; rt::cons(&__t650, &__t653) }; v_V5867 = __t654; continue; } } else { break Ok(v_V5867.clone()); } } } } else { break Ok( rt::apply_value( interp, - v_GoTo5828 + v_GoTo5869 .clone(), &[], )?, @@ -1507,7 +1507,7 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S } else { break Ok(rt::apply_value( interp, - v_GoTo5828.clone(), + v_GoTo5869.clone(), &[], )?); } @@ -1517,18 +1517,18 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S } else { break Ok(rt::apply_value( interp, - v_GoTo5828.clone(), + v_GoTo5869.clone(), &[], )?); } } } else { - break Ok(rt::apply_value(interp, v_GoTo5828.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5869.clone(), &[])?); } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5828.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5869.clone(), &[])?); } } } @@ -1549,26 +1549,26 @@ pub fn aot_shen_x2e_process_x2d_datatype(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V5836 = args[0].clone(); + let mut v_V5877 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5837 = args[1].clone(); + let mut v_V5878 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5838 = { - let __t655 = v_V5836.clone(); + let v_W5879 = { + let __t655 = v_V5877.clone(); rt::apply_direct(interp, "shen.intern-type", &[__t655])? }; { - let v_W5839 = { + let v_W5880 = { let __t657 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5840 = args[0].clone(); + let v_Z5881 = args[0].clone(); Ok({ - let __t656 = v_Z5840.clone(); + let __t656 = v_Z5881.clone(); rt::apply_direct(interp, "shen.", &[__t656])? }) }, @@ -1577,13 +1577,13 @@ pub fn aot_shen_x2e_process_x2d_datatype(interp: &mut Interp, args: &[Value]) -> ) }; let __t660 = { - let __t658 = v_W5838.clone(); - let __t659 = v_V5837.clone(); + let __t658 = v_W5879.clone(); + let __t659 = v_V5878.clone(); rt::cons(&__t658, &__t659) }; rt::apply_direct(interp, "compile", &[__t657, __t660])? }; - break Ok(v_W5838.clone()); + break Ok(v_W5879.clone()); } } } @@ -1607,13 +1607,13 @@ pub fn aot_shen_x2e_intern_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5841 = args[0].clone(); + let mut v_V5882 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t664 = { let __t662 = { - let __t661 = v_V5841.clone(); + let __t661 = v_V5882.clone(); rt::apply_direct(interp, "str", &[__t661])? }; let __t663 = Value::str("#type"); @@ -1638,14 +1638,14 @@ pub fn aot_shen_x2e_process_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V5842 = args[0].clone(); + let mut v_V5883 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t670 = { let __t665 = Value::sym(interp.intern("shen.*synonyms*")); let __t669 = { - let __t666 = v_V5842.clone(); + let __t666 = v_V5883.clone(); let __t668 = { let __t667 = Value::sym(interp.intern("shen.*synonyms*")); rt::apply_direct(interp, "value", &[__t667])? @@ -1677,19 +1677,19 @@ pub fn aot_shen_x2e_synonyms_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V5843 = args[0].clone(); + let mut v_V5884 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5844 = { + let v_W5885 = { let __t672 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5845 = args[0].clone(); + let v_Z5886 = args[0].clone(); Ok({ - let __t671 = v_Z5845.clone(); + let __t671 = v_Z5886.clone(); rt::apply_direct(interp, "shen.curry-type", &[__t671])? }) }, @@ -1697,17 +1697,17 @@ pub fn aot_shen_x2e_synonyms_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenR interp, ) }; - let __t673 = v_V5843.clone(); + let __t673 = v_V5884.clone(); rt::apply_direct(interp, "map", &[__t672, __t673])? }; { - let v_W5846 = { + let v_W5887 = { let __t679 = { let __t674 = Value::sym(interp.intern("define")); let __t678 = { let __t675 = Value::sym(interp.intern("shen.demod")); let __t677 = { - let __t676 = v_W5844.clone(); + let __t676 = v_W5885.clone(); rt::apply_direct(interp, "shen.compile-synonyms", &[__t676])? }; rt::cons(&__t675, &__t677) @@ -1736,13 +1736,13 @@ pub fn aot_shen_x2e_compile_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V5849 = args[0].clone(); + let mut v_V5890 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t682 = { let __t680 = Value::nil(); - let __t681 = v_V5849.clone(); + let __t681 = v_V5890.clone(); rt::eq(&__t680, &__t681) }; if match rt::is_truthy(interp, &__t682) { @@ -1750,16 +1750,16 @@ pub fn aot_shen_x2e_compile_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W5850 = { + let v_W5891 = { let __t683 = Value::sym(interp.intern("X")); rt::apply_direct(interp, "gensym", &[__t683])? }; break Ok({ - let __t684 = v_W5850.clone(); + let __t684 = v_W5891.clone(); let __t689 = { let __t685 = Value::sym(interp.intern("->")); let __t688 = { - let __t686 = v_W5850.clone(); + let __t686 = v_W5891.clone(); let __t687 = Value::nil(); rt::cons(&__t686, &__t687) }; @@ -1772,7 +1772,7 @@ pub fn aot_shen_x2e_compile_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> { let __t695 = { let __t693 = { - let __t690 = v_V5849.clone(); + let __t690 = v_V5890.clone(); rt::is_cons(&__t690) }; if !rt::is_truthy(interp, &__t693)? { @@ -1780,7 +1780,7 @@ pub fn aot_shen_x2e_compile_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> } else { let __t694 = { let __t692 = { - let __t691 = v_V5849.clone(); + let __t691 = v_V5890.clone(); rt::tl(&__t691)? }; rt::is_cons(&__t692) @@ -1795,7 +1795,7 @@ pub fn aot_shen_x2e_compile_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> break Ok({ let __t698 = { let __t697 = { - let __t696 = v_V5849.clone(); + let __t696 = v_V5890.clone(); rt::hd(&__t696)? }; rt::apply_direct(interp, "shen.rcons_form", &[__t697])? @@ -1806,7 +1806,7 @@ pub fn aot_shen_x2e_compile_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> let __t703 = { let __t702 = { let __t701 = { - let __t700 = v_V5849.clone(); + let __t700 = v_V5890.clone(); rt::tl(&__t700)? }; rt::hd(&__t701)? @@ -1816,7 +1816,7 @@ pub fn aot_shen_x2e_compile_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> let __t707 = { let __t706 = { let __t705 = { - let __t704 = v_V5849.clone(); + let __t704 = v_V5890.clone(); rt::tl(&__t704)? }; rt::tl(&__t705)? @@ -1864,23 +1864,23 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V5851 = args[0].clone(); + let mut v_V5892 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_GoTo5852 = { - let v_V5851 = v_V5851.clone(); + let v_GoTo5893 = { + let v_V5892 = v_V5892.clone(); rt::make_aot_closure( "", 0, - move |interp, _args| Ok(v_V5851.clone()), - vec![v_V5851], + move |interp, _args| Ok(v_V5892.clone()), + vec![v_V5892], interp, ) }; { let __t712 = { - let __t711 = v_V5851.clone(); + let __t711 = v_V5892.clone(); rt::is_cons(&__t711) }; if match rt::is_truthy(interp, &__t712) { @@ -1888,15 +1888,15 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_Select5859 = { - let __t713 = v_V5851.clone(); + let v_Select5900 = { + let __t713 = v_V5892.clone(); rt::tl(&__t713)? }; { let __t717 = { let __t714 = Value::sym(interp.intern("/.")); let __t716 = { - let __t715 = v_V5851.clone(); + let __t715 = v_V5892.clone(); rt::hd(&__t715)? }; rt::eq(&__t714, &__t716) @@ -1907,7 +1907,7 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S } { { let __t719 = { - let __t718 = v_Select5859.clone(); + let __t718 = v_Select5900.clone(); rt::is_cons(&__t718) }; if match rt::is_truthy(interp, &__t719) { @@ -1915,18 +1915,18 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_Select5857 = { - let __t720 = v_Select5859.clone(); + let v_Select5898 = { + let __t720 = v_Select5900.clone(); rt::hd(&__t720)? }; { - let v_Select5858 = { - let __t721 = v_Select5859.clone(); + let v_Select5899 = { + let __t721 = v_Select5900.clone(); rt::tl(&__t721)? }; { let __t723 = { - let __t722 = v_Select5858.clone(); + let __t722 = v_Select5899.clone(); rt::is_cons(&__t722) }; if match rt::is_truthy(interp, &__t723) { @@ -1934,14 +1934,14 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_Select5856 = { - let __t724 = v_Select5858.clone(); + let v_Select5897 = { + let __t724 = v_Select5899.clone(); rt::tl(&__t724)? }; { let __t726 = { let __t725 = - v_Select5856.clone(); + v_Select5897.clone(); rt::is_cons(&__t725) }; if match rt::is_truthy( @@ -1956,13 +1956,13 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S ); let __t735 = { let __t728 = - v_Select5857 + v_Select5898 .clone(); let __t734 = { let __t732 = { let __t731 = { let __t729 = Value::sym(interp.intern("/.")); - let __t730 = v_Select5858.clone(); + let __t730 = v_Select5899.clone(); rt::cons( &__t729, &__t730, @@ -1989,7 +1989,7 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S let __t736 = Value::nil(); let __t737 = - v_Select5856 + v_Select5897 .clone(); rt::eq(&__t736, &__t737) }; @@ -2001,16 +2001,16 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S } { { let __t740 = { - let __t739 = v_Select5857.clone(); + let __t739 = v_Select5898.clone(); rt::apply_direct(interp, "variable?", &[__t739])? }; - if match rt::is_truthy(interp, &__t740) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t741 = Value::sym(interp.intern("lambda")); let __t742 = v_Select5859.clone(); rt::cons(&__t741, &__t742) }); } else { break Ok({ let __t746 = { let __t743 = v_Select5857.clone(); let __t744 = Value::str(" is not a variable\n"); let __t745 = Value::sym(interp.intern("shen.s")); rt::apply_direct(interp, "shen.app", &[__t743, __t744, __t745])? }; rt::apply_direct(interp, "simple-error", &[__t746])? }); } + if match rt::is_truthy(interp, &__t740) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t741 = Value::sym(interp.intern("lambda")); let __t742 = v_Select5900.clone(); rt::cons(&__t741, &__t742) }); } else { break Ok({ let __t746 = { let __t743 = v_Select5898.clone(); let __t744 = Value::str(" is not a variable\n"); let __t745 = Value::sym(interp.intern("shen.s")); rt::apply_direct(interp, "shen.app", &[__t743, __t744, __t745])? }; rt::apply_direct(interp, "simple-error", &[__t746])? }); } } } else { break Ok( rt::apply_value( interp, - v_GoTo5852 + v_GoTo5893 .clone(), &[], )?, @@ -2023,7 +2023,7 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S } else { break Ok(rt::apply_value( interp, - v_GoTo5852.clone(), + v_GoTo5893.clone(), &[], )?); } @@ -2033,18 +2033,18 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S } else { break Ok(rt::apply_value( interp, - v_GoTo5852.clone(), + v_GoTo5893.clone(), &[], )?); } } } else { - break Ok(rt::apply_value(interp, v_GoTo5852.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5893.clone(), &[])?); } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5852.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5893.clone(), &[])?); } } } @@ -2065,23 +2065,23 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V5862 = args[0].clone(); + let mut v_V5903 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_GoTo5863 = { - let v_V5862 = v_V5862.clone(); + let v_GoTo5904 = { + let v_V5903 = v_V5903.clone(); rt::make_aot_closure( "", 0, - move |interp, _args| Ok(v_V5862.clone()), - vec![v_V5862], + move |interp, _args| Ok(v_V5903.clone()), + vec![v_V5903], interp, ) }; { let __t748 = { - let __t747 = v_V5862.clone(); + let __t747 = v_V5903.clone(); rt::is_cons(&__t747) }; if match rt::is_truthy(interp, &__t748) { @@ -2089,15 +2089,15 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_Select5871 = { - let __t749 = v_V5862.clone(); + let v_Select5912 = { + let __t749 = v_V5903.clone(); rt::tl(&__t749)? }; { let __t753 = { let __t750 = Value::sym(interp.intern("cases")); let __t752 = { - let __t751 = v_V5862.clone(); + let __t751 = v_V5903.clone(); rt::hd(&__t751)? }; rt::eq(&__t750, &__t752) @@ -2108,7 +2108,7 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh } { { let __t755 = { - let __t754 = v_Select5871.clone(); + let __t754 = v_Select5912.clone(); rt::is_cons(&__t754) }; if match rt::is_truthy(interp, &__t755) { @@ -2116,27 +2116,27 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_Select5869 = { - let __t756 = v_Select5871.clone(); + let v_Select5910 = { + let __t756 = v_Select5912.clone(); rt::hd(&__t756)? }; { - let v_Select5870 = { - let __t757 = v_Select5871.clone(); + let v_Select5911 = { + let __t757 = v_Select5912.clone(); rt::tl(&__t757)? }; { let __t763 = { let __t761 = { let __t758 = Value::bool(true); - let __t759 = v_Select5869.clone(); + let __t759 = v_Select5910.clone(); rt::eq(&__t758, &__t759) }; if !rt::is_truthy(interp, &__t761)? { Value::bool(false) } else { let __t762 = { - let __t760 = v_Select5870.clone(); + let __t760 = v_Select5911.clone(); rt::is_cons(&__t760) }; Value::bool(rt::is_truthy( @@ -2149,15 +2149,15 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { break Ok({ - let __t764 = v_Select5870.clone(); + let __t764 = v_Select5911.clone(); rt::hd(&__t764)? }); } else { { - let v_GoTo5866 = { - let v_GoTo5863 = v_GoTo5863.clone(); - let v_Select5870 = - v_Select5870.clone(); + let v_GoTo5907 = { + let v_GoTo5904 = v_GoTo5904.clone(); + let v_Select5911 = + v_Select5911.clone(); rt::make_aot_closure( "", 0, @@ -2167,7 +2167,7 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh let __t765 = Value::nil(); let __t766 = - v_Select5870 + v_Select5911 .clone(); rt::eq( &__t765, @@ -2184,21 +2184,21 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh } else { rt::apply_value( interp, - v_GoTo5863 + v_GoTo5904 .clone(), &[], )? } }) }, - vec![v_GoTo5863, v_Select5870], + vec![v_GoTo5904, v_Select5911], interp, ) }; { let __t770 = { let __t769 = - v_Select5870.clone(); + v_Select5911.clone(); rt::is_cons(&__t769) }; if match rt::is_truthy( @@ -2208,16 +2208,16 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_Select5867 = { + let v_Select5908 = { let __t771 = - v_Select5870 + v_Select5911 .clone(); rt::hd(&__t771)? }; { - let v_Select5868 = { + let v_Select5909 = { let __t772 = - v_Select5870 + v_Select5911 .clone(); rt::tl(&__t772)? }; @@ -2226,20 +2226,20 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh let __t773 = Value::nil( ); - let __t774 = v_Select5868.clone(); + let __t774 = v_Select5909.clone(); rt::eq( &__t773, &__t774, ) }; - if match rt::is_truthy(interp, &__t775) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t776 = Value::sym(interp.intern("if")); let __t787 = { let __t777 = v_Select5869.clone(); let __t786 = { let __t778 = v_Select5867.clone(); let __t785 = { let __t783 = { let __t779 = Value::sym(interp.intern("simple-error")); let __t782 = { let __t780 = Value::str("error: cases exhausted"); let __t781 = Value::nil(); rt::cons(&__t780, &__t781) }; rt::cons(&__t779, &__t782) }; let __t784 = Value::nil(); rt::cons(&__t783, &__t784) }; rt::cons(&__t778, &__t785) }; rt::cons(&__t777, &__t786) }; rt::cons(&__t776, &__t787) }); } else { break Ok({ let __t788 = Value::sym(interp.intern("if")); let __t798 = { let __t789 = v_Select5869.clone(); let __t797 = { let __t790 = v_Select5867.clone(); let __t796 = { let __t794 = { let __t793 = { let __t791 = Value::sym(interp.intern("cases")); let __t792 = v_Select5868.clone(); rt::cons(&__t791, &__t792) }; rt::apply_direct(interp, "shen.process-cases", &[__t793])? }; let __t795 = Value::nil(); rt::cons(&__t794, &__t795) }; rt::cons(&__t790, &__t796) }; rt::cons(&__t789, &__t797) }; rt::cons(&__t788, &__t798) }); } + if match rt::is_truthy(interp, &__t775) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t776 = Value::sym(interp.intern("if")); let __t787 = { let __t777 = v_Select5910.clone(); let __t786 = { let __t778 = v_Select5908.clone(); let __t785 = { let __t783 = { let __t779 = Value::sym(interp.intern("simple-error")); let __t782 = { let __t780 = Value::str("error: cases exhausted"); let __t781 = Value::nil(); rt::cons(&__t780, &__t781) }; rt::cons(&__t779, &__t782) }; let __t784 = Value::nil(); rt::cons(&__t783, &__t784) }; rt::cons(&__t778, &__t785) }; rt::cons(&__t777, &__t786) }; rt::cons(&__t776, &__t787) }); } else { break Ok({ let __t788 = Value::sym(interp.intern("if")); let __t798 = { let __t789 = v_Select5910.clone(); let __t797 = { let __t790 = v_Select5908.clone(); let __t796 = { let __t794 = { let __t793 = { let __t791 = Value::sym(interp.intern("cases")); let __t792 = v_Select5909.clone(); rt::cons(&__t791, &__t792) }; rt::apply_direct(interp, "shen.process-cases", &[__t793])? }; let __t795 = Value::nil(); rt::cons(&__t794, &__t795) }; rt::cons(&__t790, &__t796) }; rt::cons(&__t789, &__t797) }; rt::cons(&__t788, &__t798) }); } } } } } else { break Ok(rt::apply_value( interp, - v_GoTo5866.clone(), + v_GoTo5907.clone(), &[], )?); } @@ -2252,18 +2252,18 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh } else { break Ok(rt::apply_value( interp, - v_GoTo5863.clone(), + v_GoTo5904.clone(), &[], )?); } } } else { - break Ok(rt::apply_value(interp, v_GoTo5863.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5904.clone(), &[])?); } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5863.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5904.clone(), &[])?); } } } @@ -2284,7 +2284,7 @@ pub fn aot_shen_x2e_process_x2d_time(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5872 = args[0].clone(); + let mut v_V5913 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -2304,7 +2304,7 @@ pub fn aot_shen_x2e_process_x2d_time(interp: &mut Interp, args: &[Value]) -> She let __t858 = { let __t806 = Value::sym(interp.intern("Result")); let __t857 = { - let __t807 = v_V5872.clone(); + let __t807 = v_V5913.clone(); let __t856 = { let __t808 = Value::sym(interp.intern("Finish")); let __t855 = { @@ -2455,13 +2455,13 @@ pub fn aot_shen_x2e_process_x2d_assoc(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V5873 = args[0].clone(); + let mut v_V5914 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t877 = { let __t875 = { - let __t861 = v_V5873.clone(); + let __t861 = v_V5914.clone(); rt::is_cons(&__t861) }; if !rt::is_truthy(interp, &__t875)? { @@ -2470,7 +2470,7 @@ pub fn aot_shen_x2e_process_x2d_assoc(interp: &mut Interp, args: &[Value]) -> Sh let __t876 = { let __t873 = { let __t863 = { - let __t862 = v_V5873.clone(); + let __t862 = v_V5914.clone(); rt::tl(&__t862)? }; rt::is_cons(&__t863) @@ -2482,7 +2482,7 @@ pub fn aot_shen_x2e_process_x2d_assoc(interp: &mut Interp, args: &[Value]) -> Sh let __t871 = { let __t866 = { let __t865 = { - let __t864 = v_V5873.clone(); + let __t864 = v_V5914.clone(); rt::tl(&__t864)? }; rt::tl(&__t865)? @@ -2496,7 +2496,7 @@ pub fn aot_shen_x2e_process_x2d_assoc(interp: &mut Interp, args: &[Value]) -> Sh let __t870 = { let __t869 = { let __t868 = { - let __t867 = v_V5873.clone(); + let __t867 = v_V5914.clone(); rt::tl(&__t867)? }; rt::tl(&__t868)? @@ -2520,13 +2520,13 @@ pub fn aot_shen_x2e_process_x2d_assoc(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ let __t879 = { - let __t878 = v_V5873.clone(); + let __t878 = v_V5914.clone(); rt::hd(&__t878)? }; let __t891 = { let __t882 = { let __t881 = { - let __t880 = v_V5873.clone(); + let __t880 = v_V5914.clone(); rt::tl(&__t880)? }; rt::hd(&__t881)? @@ -2534,12 +2534,12 @@ pub fn aot_shen_x2e_process_x2d_assoc(interp: &mut Interp, args: &[Value]) -> Sh let __t890 = { let __t888 = { let __t884 = { - let __t883 = v_V5873.clone(); + let __t883 = v_V5914.clone(); rt::hd(&__t883)? }; let __t887 = { let __t886 = { - let __t885 = v_V5873.clone(); + let __t885 = v_V5914.clone(); rt::tl(&__t885)? }; rt::tl(&__t886)? @@ -2554,7 +2554,7 @@ pub fn aot_shen_x2e_process_x2d_assoc(interp: &mut Interp, args: &[Value]) -> Sh rt::cons(&__t879, &__t891) }); } else { - break Ok(v_V5873.clone()); + break Ok(v_V5914.clone()); } } } @@ -2574,13 +2574,13 @@ pub fn aot_shen_x2e_make_x2d_uppercase(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V5874 = args[0].clone(); + let mut v_V5915 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t894 = { let __t893 = { - let __t892 = v_V5874.clone(); + let __t892 = v_V5915.clone(); rt::apply_direct(interp, "str", &[__t892])? }; rt::apply_direct(interp, "shen.mu-h", &[__t893])? @@ -2604,13 +2604,13 @@ pub fn aot_shen_x2e_mu_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V5875 = args[0].clone(); + let mut v_V5916 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t897 = { let __t895 = Value::str(""); - let __t896 = v_V5875.clone(); + let __t896 = v_V5916.clone(); rt::eq(&__t895, &__t896) }; if match rt::is_truthy(interp, &__t897) { @@ -2621,7 +2621,7 @@ pub fn aot_shen_x2e_mu_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult< } else { { let __t899 = { - let __t898 = v_V5875.clone(); + let __t898 = v_V5916.clone(); rt::apply_direct(interp, "shen.+string?", &[__t898])? }; if match rt::is_truthy(interp, &__t899) { @@ -2629,24 +2629,24 @@ pub fn aot_shen_x2e_mu_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult< Err(e) => break Err(e), } { { - let v_W5876 = { + let v_W5917 = { let __t901 = { - let __t900 = v_V5875.clone(); + let __t900 = v_V5916.clone(); rt::apply_direct(interp, "hdstr", &[__t900])? }; rt::apply_direct(interp, "string->n", &[__t901])? }; { - let v_W5877 = { - let __t902 = v_W5876.clone(); + let v_W5918 = { + let __t902 = v_W5917.clone(); let __t903 = Value::int(32i64); rt::sub(&__t902, &__t903)? }; { - let v_W5878 = { + let v_W5919 = { let __t912 = { let __t908 = { - let __t904 = v_W5876.clone(); + let __t904 = v_W5917.clone(); let __t905 = Value::int(97i64); rt::gte(&__t904, &__t905)? }; @@ -2654,7 +2654,7 @@ pub fn aot_shen_x2e_mu_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult< Value::bool(false) } else { let __t909 = { - let __t906 = v_W5876.clone(); + let __t906 = v_W5917.clone(); let __t907 = Value::int(122i64); rt::lte(&__t906, &__t907)? }; @@ -2663,21 +2663,21 @@ pub fn aot_shen_x2e_mu_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult< }; if rt::is_truthy(interp, &__t912)? { { - let __t910 = v_W5877.clone(); + let __t910 = v_W5918.clone(); rt::apply_direct(interp, "n->string", &[__t910])? } } else { { - let __t911 = v_V5875.clone(); + let __t911 = v_V5916.clone(); rt::apply_direct(interp, "hdstr", &[__t911])? } } }; break Ok({ - let __t913 = v_W5878.clone(); + let __t913 = v_W5919.clone(); let __t916 = { let __t915 = { - let __t914 = v_V5875.clone(); + let __t914 = v_V5916.clone(); rt::apply_direct(interp, "tlstr", &[__t914])? }; rt::apply_direct(interp, "shen.mu-h", &[__t915])? @@ -2713,16 +2713,16 @@ pub fn aot_shen_x2e_record_x2d_macro(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5879 = args[0].clone(); + let mut v_V5920 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5880 = args[1].clone(); + let mut v_V5921 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t918 = Value::sym(interp.intern("*macros*")); let __t923 = { - let __t919 = v_V5879.clone(); - let __t920 = v_V5880.clone(); + let __t919 = v_V5920.clone(); + let __t920 = v_V5921.clone(); let __t922 = { let __t921 = Value::sym(interp.intern("*macros*")); rt::apply_direct(interp, "value", &[__t921])? @@ -2748,17 +2748,17 @@ pub fn aot_shen_x2e_update_x2d_assoc(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5890 = args[0].clone(); + let mut v_V5931 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5891 = args[1].clone(); + let mut v_V5932 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5892 = args[2].clone(); + let mut v_V5933 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t926 = { let __t924 = Value::nil(); - let __t925 = v_V5892.clone(); + let __t925 = v_V5933.clone(); rt::eq(&__t924, &__t925) }; if match rt::is_truthy(interp, &__t926) { @@ -2767,8 +2767,8 @@ pub fn aot_shen_x2e_update_x2d_assoc(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ let __t929 = { - let __t927 = v_V5890.clone(); - let __t928 = v_V5891.clone(); + let __t927 = v_V5931.clone(); + let __t928 = v_V5932.clone(); rt::cons(&__t927, &__t928) }; let __t930 = Value::nil(); @@ -2776,7 +2776,7 @@ pub fn aot_shen_x2e_update_x2d_assoc(interp: &mut Interp, args: &[Value]) -> She }); } else { { - let v_GoTo5893 = { + let v_GoTo5934 = { rt::make_aot_closure( "", 0, @@ -2793,7 +2793,7 @@ pub fn aot_shen_x2e_update_x2d_assoc(interp: &mut Interp, args: &[Value]) -> She }; { let __t933 = { - let __t932 = v_V5892.clone(); + let __t932 = v_V5933.clone(); rt::is_cons(&__t932) }; if match rt::is_truthy(interp, &__t933) { @@ -2801,28 +2801,28 @@ pub fn aot_shen_x2e_update_x2d_assoc(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_Select5894 = { - let __t934 = v_V5892.clone(); + let v_Select5935 = { + let __t934 = v_V5933.clone(); rt::hd(&__t934)? }; { - let v_Select5895 = { - let __t935 = v_V5892.clone(); + let v_Select5936 = { + let __t935 = v_V5933.clone(); rt::tl(&__t935)? }; { let __t942 = { let __t940 = { - let __t936 = v_Select5894.clone(); + let __t936 = v_Select5935.clone(); rt::is_cons(&__t936) }; if !rt::is_truthy(interp, &__t940)? { Value::bool(false) } else { let __t941 = { - let __t937 = v_V5890.clone(); + let __t937 = v_V5931.clone(); let __t939 = { - let __t938 = v_Select5894.clone(); + let __t938 = v_Select5935.clone(); rt::hd(&__t938)? }; rt::eq(&__t937, &__t939) @@ -2837,22 +2837,22 @@ pub fn aot_shen_x2e_update_x2d_assoc(interp: &mut Interp, args: &[Value]) -> She break Ok({ let __t946 = { let __t944 = { - let __t943 = v_Select5894.clone(); + let __t943 = v_Select5935.clone(); rt::hd(&__t943)? }; - let __t945 = v_V5891.clone(); + let __t945 = v_V5932.clone(); rt::cons(&__t944, &__t945) }; - let __t947 = v_Select5895.clone(); + let __t947 = v_Select5936.clone(); rt::cons(&__t946, &__t947) }); } else { break Ok({ - let __t948 = v_Select5894.clone(); + let __t948 = v_Select5935.clone(); let __t952 = { - let __t949 = v_V5890.clone(); - let __t950 = v_V5891.clone(); - let __t951 = v_Select5895.clone(); + let __t949 = v_V5931.clone(); + let __t950 = v_V5932.clone(); + let __t951 = v_Select5936.clone(); rt::apply_direct( interp, "shen.update-assoc", @@ -2866,7 +2866,7 @@ pub fn aot_shen_x2e_update_x2d_assoc(interp: &mut Interp, args: &[Value]) -> She } } } else { - break Ok(rt::apply_value(interp, v_GoTo5893.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5934.clone(), &[])?); } } } @@ -2963,17 +2963,17 @@ pub fn aot_shen_x2e_call_x2d_prolog(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5896 = args[0].clone(); + let mut v_V5937 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5897 = { + let v_W5938 = { let __t971 = Value::sym(interp.intern("shen.prolog-vector")); let __t972 = Value::nil(); rt::cons(&__t971, &__t972) }; { - let v_W5898 = { + let v_W5939 = { let __t973 = Value::sym(interp.intern("@v")); let __t984 = { let __t974 = Value::bool(true); @@ -2999,9 +2999,9 @@ pub fn aot_shen_x2e_call_x2d_prolog(interp: &mut Interp, args: &[Value]) -> Shen rt::cons(&__t973, &__t984) }; { - let v_W5899 = Value::int(0i64); + let v_W5940 = Value::int(0i64); { - let v_W5900 = { + let v_W5941 = { let __t985 = Value::sym(interp.intern("freeze")); let __t988 = { let __t986 = Value::bool(true); @@ -3011,15 +3011,15 @@ pub fn aot_shen_x2e_call_x2d_prolog(interp: &mut Interp, args: &[Value]) -> Shen rt::cons(&__t985, &__t988) }; { - let v_W5901 = { + let v_W5942 = { let __t990 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5902 = args[0].clone(); + let v_Z5943 = args[0].clone(); Ok({ - let __t989 = v_Z5902.clone(); + let __t989 = v_Z5943.clone(); rt::apply_direct(interp, "shen.", &[__t989])? }) }, @@ -3027,40 +3027,40 @@ pub fn aot_shen_x2e_call_x2d_prolog(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t991 = v_V5896.clone(); + let __t991 = v_V5937.clone(); rt::apply_direct(interp, "compile", &[__t990, __t991])? }; { - let v_W5903 = { - let __t992 = v_V5896.clone(); + let v_W5944 = { + let __t992 = v_V5937.clone(); rt::apply_direct(interp, "shen.received", &[__t992])? }; { - let v_W5904 = { + let v_W5945 = { let __t993 = Value::sym(interp.intern("V")); rt::apply_direct(interp, "gensym", &[__t993])? }; { - let v_W5905 = { + let v_W5946 = { let __t994 = Value::sym(interp.intern("L")); rt::apply_direct(interp, "gensym", &[__t994])? }; { - let v_W5906 = { + let v_W5947 = { let __t995 = Value::sym(interp.intern("K")); rt::apply_direct(interp, "gensym", &[__t995])? }; { - let v_W5907 = { + let v_W5948 = { let __t996 = Value::sym(interp.intern("C")); rt::apply_direct(interp, "gensym", &[__t996])? }; { - let v_W5908 = { + let v_W5949 = { let __t997 = Value::sym(interp.intern("lambda")); let __t1026 = { - let __t998 = v_W5904.clone(); + let __t998 = v_W5945.clone(); let __t1025 = { let __t1023 = { let __t999 = Value::sym( @@ -3068,21 +3068,21 @@ pub fn aot_shen_x2e_call_x2d_prolog(interp: &mut Interp, args: &[Value]) -> Shen ); let __t1022 = { let __t1000 = - v_W5905.clone(); + v_W5946.clone(); let __t1021 = { let __t1019 = { let __t1001 = Value::sym(interp.intern("lambda")); let __t1018 = { let __t1002 = - v_W5906 + v_W5947 .clone( ); let __t1017 = { let __t1015 = { let __t1003 = Value::sym(interp.intern("lambda")); let __t1014 = { - let __t1004 = v_W5907.clone(); - let __t1013 = { let __t1011 = { let __t1005 = v_W5903.clone(); let __t1006 = v_W5901.clone(); let __t1007 = v_W5904.clone(); let __t1008 = v_W5905.clone(); let __t1009 = v_W5906.clone(); let __t1010 = v_W5907.clone(); rt::apply_direct(interp, "shen.continue", &[__t1005, __t1006, __t1007, __t1008, __t1009, __t1010])? }; let __t1012 = Value::nil(); rt::cons(&__t1011, &__t1012) }; + let __t1004 = v_W5948.clone(); + let __t1013 = { let __t1011 = { let __t1005 = v_W5944.clone(); let __t1006 = v_W5942.clone(); let __t1007 = v_W5945.clone(); let __t1008 = v_W5946.clone(); let __t1009 = v_W5947.clone(); let __t1010 = v_W5948.clone(); rt::apply_direct(interp, "shen.continue", &[__t1005, __t1006, __t1007, __t1008, __t1009, __t1010])? }; let __t1012 = Value::nil(); rt::cons(&__t1011, &__t1012) }; rt::cons(&__t1004, &__t1013) }; rt::cons(&__t1003, &__t1014) @@ -3118,16 +3118,16 @@ pub fn aot_shen_x2e_call_x2d_prolog(interp: &mut Interp, args: &[Value]) -> Shen rt::cons(&__t997, &__t1026) }; break Ok({ - let __t1027 = v_W5908.clone(); + let __t1027 = v_W5949.clone(); let __t1036 = { - let __t1028 = v_W5897.clone(); + let __t1028 = v_W5938.clone(); let __t1035 = { - let __t1029 = v_W5898.clone(); + let __t1029 = v_W5939.clone(); let __t1034 = { - let __t1030 = v_W5899.clone(); + let __t1030 = v_W5940.clone(); let __t1033 = { let __t1031 = - v_W5900.clone(); + v_W5941.clone(); let __t1032 = Value::nil(); rt::cons(&__t1031, &__t1032) }; @@ -3167,11 +3167,11 @@ pub fn aot_shen_x2e_received(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V5911 = args[0].clone(); + let mut v_V5952 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_GoTo5912 = { + let v_GoTo5953 = { rt::make_aot_closure( "", 0, @@ -3182,7 +3182,7 @@ pub fn aot_shen_x2e_received(interp: &mut Interp, args: &[Value]) -> ShenResult< }; { let __t1038 = { - let __t1037 = v_V5911.clone(); + let __t1037 = v_V5952.clone(); rt::is_cons(&__t1037) }; if match rt::is_truthy(interp, &__t1038) { @@ -3190,20 +3190,20 @@ pub fn aot_shen_x2e_received(interp: &mut Interp, args: &[Value]) -> ShenResult< Err(e) => break Err(e), } { { - let v_Select5913 = { - let __t1039 = v_V5911.clone(); + let v_Select5954 = { + let __t1039 = v_V5952.clone(); rt::hd(&__t1039)? }; { - let v_Select5914 = { - let __t1040 = v_V5911.clone(); + let v_Select5955 = { + let __t1040 = v_V5952.clone(); rt::tl(&__t1040)? }; { let __t1051 = { let __t1049 = { let __t1041 = Value::sym(interp.intern("receive")); - let __t1042 = v_Select5913.clone(); + let __t1042 = v_Select5954.clone(); rt::eq(&__t1041, &__t1042) }; if !rt::is_truthy(interp, &__t1049)? { @@ -3211,7 +3211,7 @@ pub fn aot_shen_x2e_received(interp: &mut Interp, args: &[Value]) -> ShenResult< } else { let __t1050 = { let __t1047 = { - let __t1043 = v_Select5914.clone(); + let __t1043 = v_Select5955.clone(); rt::is_cons(&__t1043) }; if !rt::is_truthy(interp, &__t1047)? { @@ -3220,7 +3220,7 @@ pub fn aot_shen_x2e_received(interp: &mut Interp, args: &[Value]) -> ShenResult< let __t1048 = { let __t1044 = Value::nil(); let __t1046 = { - let __t1045 = v_Select5914.clone(); + let __t1045 = v_Select5955.clone(); rt::tl(&__t1045)? }; rt::eq(&__t1044, &__t1046) @@ -3235,15 +3235,15 @@ pub fn aot_shen_x2e_received(interp: &mut Interp, args: &[Value]) -> ShenResult< Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_Select5914.clone()); + break Ok(v_Select5955.clone()); } else { break Ok({ let __t1053 = { - let __t1052 = v_Select5913.clone(); + let __t1052 = v_Select5954.clone(); rt::apply_direct(interp, "shen.received", &[__t1052])? }; let __t1055 = { - let __t1054 = v_Select5914.clone(); + let __t1054 = v_Select5955.clone(); rt::apply_direct(interp, "shen.received", &[__t1054])? }; rt::apply_direct(interp, "union", &[__t1053, __t1055])? @@ -3253,7 +3253,7 @@ pub fn aot_shen_x2e_received(interp: &mut Interp, args: &[Value]) -> ShenResult< } } } else { - break Ok(rt::apply_value(interp, v_GoTo5912.clone(), &[])?); + break Ok(rt::apply_value(interp, v_GoTo5953.clone(), &[])?); } } } @@ -3276,7 +3276,7 @@ pub fn aot_shen_x2e_prolog_x2d_vector(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let v_W5915 = { + let v_W5956 = { let __t1057 = { let __t1056 = Value::sym(interp.intern("shen.*prolog-memory*")); rt::apply_direct(interp, "value", &[__t1056])? @@ -3284,20 +3284,20 @@ pub fn aot_shen_x2e_prolog_x2d_vector(interp: &mut Interp, args: &[Value]) -> Sh rt::apply_direct(interp, "absvector", &[__t1057])? }; { - let v_W5916 = { - let __t1058 = v_W5915.clone(); + let v_W5957 = { + let __t1058 = v_W5956.clone(); let __t1059 = Value::int(0i64); let __t1060 = Value::sym(interp.intern("shen.print-prolog-vector")); rt::apply_direct(interp, "address->", &[__t1058, __t1059, __t1060])? }; { - let v_W5917 = { - let __t1061 = v_W5915.clone(); + let v_W5958 = { + let __t1061 = v_W5956.clone(); let __t1062 = Value::int(1i64); let __t1063 = Value::int(2i64); rt::apply_direct(interp, "address->", &[__t1061, __t1062, __t1063])? }; - break Ok(v_W5917.clone()); + break Ok(v_W5958.clone()); } } } @@ -3318,10 +3318,10 @@ pub fn aot_receive(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5918 = args[0].clone(); + let mut v_V5959 = args[0].clone(); #[allow(clippy::never_loop)] loop { - break Ok(v_V5918.clone()); + break Ok(v_V5959.clone()); } } @@ -3339,12 +3339,12 @@ pub fn aot_shen_x2e_rcons_form(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V5919 = args[0].clone(); + let mut v_V5960 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1065 = { - let __t1064 = v_V5919.clone(); + let __t1064 = v_V5960.clone(); rt::is_cons(&__t1064) }; if match rt::is_truthy(interp, &__t1065) { @@ -3356,7 +3356,7 @@ pub fn aot_shen_x2e_rcons_form(interp: &mut Interp, args: &[Value]) -> ShenResul let __t1075 = { let __t1069 = { let __t1068 = { - let __t1067 = v_V5919.clone(); + let __t1067 = v_V5960.clone(); rt::hd(&__t1067)? }; rt::apply_direct(interp, "shen.rcons_form", &[__t1068])? @@ -3364,7 +3364,7 @@ pub fn aot_shen_x2e_rcons_form(interp: &mut Interp, args: &[Value]) -> ShenResul let __t1074 = { let __t1072 = { let __t1071 = { - let __t1070 = v_V5919.clone(); + let __t1070 = v_V5960.clone(); rt::tl(&__t1070)? }; rt::apply_direct(interp, "shen.rcons_form", &[__t1071])? @@ -3377,7 +3377,7 @@ pub fn aot_shen_x2e_rcons_form(interp: &mut Interp, args: &[Value]) -> ShenResul rt::cons(&__t1066, &__t1075) }); } else { - break Ok(v_V5919.clone()); + break Ok(v_V5960.clone()); } } } @@ -3397,12 +3397,12 @@ pub fn aot_shen_x2e_tuple_x2d_up(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V5920 = args[0].clone(); + let mut v_V5961 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1077 = { - let __t1076 = v_V5920.clone(); + let __t1076 = v_V5961.clone(); rt::is_cons(&__t1076) }; if match rt::is_truthy(interp, &__t1077) { @@ -3413,13 +3413,13 @@ pub fn aot_shen_x2e_tuple_x2d_up(interp: &mut Interp, args: &[Value]) -> ShenRes let __t1078 = Value::sym(interp.intern("@p")); let __t1086 = { let __t1080 = { - let __t1079 = v_V5920.clone(); + let __t1079 = v_V5961.clone(); rt::hd(&__t1079)? }; let __t1085 = { let __t1083 = { let __t1082 = { - let __t1081 = v_V5920.clone(); + let __t1081 = v_V5961.clone(); rt::tl(&__t1081)? }; rt::apply_direct(interp, "shen.tuple-up", &[__t1082])? @@ -3432,7 +3432,7 @@ pub fn aot_shen_x2e_tuple_x2d_up(interp: &mut Interp, args: &[Value]) -> ShenRes rt::cons(&__t1078, &__t1086) }); } else { - break Ok(v_V5920.clone()); + break Ok(v_V5961.clone()); } } } @@ -3452,7 +3452,7 @@ pub fn aot_undefmacro(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V5921 = args[0].clone(); + let mut v_V5962 = args[0].clone(); #[allow(clippy::never_loop)] loop { { @@ -3460,7 +3460,7 @@ pub fn aot_undefmacro(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1087 = Value::sym(interp.intern("*macros*")); let __t1094 = { let __t1091 = { - let __t1088 = v_V5921.clone(); + let __t1088 = v_V5962.clone(); let __t1090 = { let __t1089 = Value::sym(interp.intern("*macros*")); rt::apply_direct(interp, "value", &[__t1089])? @@ -3475,7 +3475,7 @@ pub fn aot_undefmacro(interp: &mut Interp, args: &[Value]) -> ShenResult }; rt::apply_direct(interp, "set", &[__t1087, __t1094])? }; - break Ok(v_V5921.clone()); + break Ok(v_V5962.clone()); } } } diff --git a/crates/shen-rust/src/aot/kernel/mod.rs b/crates/shen-rust/src/aot/kernel/mod.rs index 938023e..57a9202 100644 --- a/crates/shen-rust/src/aot/kernel/mod.rs +++ b/crates/shen-rust/src/aot/kernel/mod.rs @@ -43,7 +43,7 @@ pub mod yacc; /// tree-walked versions while leaving property-vector setup intact. /// /// Order mirrors `interp::boot::KERNEL_FILES` (upstream `install.lsp` -/// runtime order for the Tarver S41.2 refresh, then the stdlib overlay +/// runtime order for the Tarver S42 refresh, then the standard library /// and extensions). `backend` is intentionally absent — see above. pub fn install_all(interp: &mut Interp) { sys::install(interp); diff --git a/crates/shen-rust/src/aot/kernel/prolog.rs b/crates/shen-rust/src/aot/kernel/prolog.rs index 2ede261..18bfd5f 100644 --- a/crates/shen-rust/src/aot/kernel/prolog.rs +++ b/crates/shen-rust/src/aot/kernel/prolog.rs @@ -32,11 +32,11 @@ pub fn aot_asserta(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1231 = args[0].clone(); + let mut v_V1245 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t0 = v_V1231.clone(); + let __t0 = v_V1245.clone(); let __t1 = Value::sym(interp.intern("shen.top")); rt::apply_direct(interp, "shen.assert*", &[__t0, __t1])? }); @@ -57,11 +57,11 @@ pub fn aot_assertz(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1232 = args[0].clone(); + let mut v_V1246 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t2 = v_V1232.clone(); + let __t2 = v_V1246.clone(); let __t3 = Value::sym(interp.intern("shen.bottom")); rt::apply_direct(interp, "shen.assert*", &[__t2, __t3])? }); @@ -82,15 +82,15 @@ pub fn aot_shen_x2e_assert_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V1233 = args[0].clone(); + let mut v_V1247 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1234 = args[1].clone(); + let mut v_V1248 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t42 = { let __t15 = { - let __t6 = v_V1233.clone(); + let __t6 = v_V1247.clone(); rt::is_cons(&__t6) }; if !rt::is_truthy(interp, &__t15)? { @@ -99,7 +99,7 @@ pub fn aot_shen_x2e_assert_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResu let __t16 = { let __t13 = { let __t8 = { - let __t7 = v_V1233.clone(); + let __t7 = v_V1247.clone(); rt::tl(&__t7)? }; rt::is_cons(&__t8) @@ -111,7 +111,7 @@ pub fn aot_shen_x2e_assert_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResu let __t9 = Value::sym(interp.intern("<--")); let __t12 = { let __t11 = { - let __t10 = v_V1233.clone(); + let __t10 = v_V1247.clone(); rt::tl(&__t10)? }; rt::hd(&__t11)? @@ -129,40 +129,40 @@ pub fn aot_shen_x2e_assert_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W1235 = { + let v_W1249 = { let __t18 = { - let __t17 = v_V1233.clone(); + let __t17 = v_V1247.clone(); rt::hd(&__t17)? }; rt::apply_direct(interp, "shen.predicate", &[__t18])? }; { - let v_W1236 = { + let v_W1250 = { let __t20 = { - let __t19 = v_V1233.clone(); + let __t19 = v_V1247.clone(); rt::hd(&__t19)? }; rt::apply_direct(interp, "shen.terms", &[__t20])? }; { - let v_W1237 = { - let __t21 = v_W1236.clone(); + let v_W1251 = { + let __t21 = v_W1250.clone(); rt::apply_direct(interp, "length", &[__t21])? }; { - let v_W1238 = { - let __t22 = v_W1237.clone(); + let v_W1252 = { + let __t22 = v_W1251.clone(); rt::apply_direct(interp, "shen.parameters", &[__t22])? }; { - let v_W1239 = { - let __t23 = v_W1235.clone(); + let v_W1253 = { + let __t23 = v_W1249.clone(); rt::apply_direct(interp, "arity", &[__t23])? }; { - let v_W1240 = { + let v_W1254 = { let __t34 = { - let __t24 = v_W1239.clone(); + let __t24 = v_W1253.clone(); let __t25 = Value::int(-1i64); rt::eq(&__t24, &__t25) }; @@ -170,8 +170,8 @@ pub fn aot_shen_x2e_assert_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResu { let _ = { let __t28 = { - let __t26 = v_W1235.clone(); - let __t27 = v_W1238.clone(); + let __t26 = v_W1249.clone(); + let __t27 = v_W1252.clone(); rt::apply_direct( interp, "shen.create-skeleton", @@ -181,7 +181,7 @@ pub fn aot_shen_x2e_assert_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResu rt::apply_direct(interp, "eval", &[__t28])? }; { - let __t29 = v_W1235.clone(); + let __t29 = v_W1249.clone(); let __t30 = Value::sym( interp.intern("shen.dynamic"), ); @@ -208,25 +208,25 @@ pub fn aot_shen_x2e_assert_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResu } }; { - let v_W1241 = { - let __t35 = v_W1235.clone(); - let __t36 = v_W1236.clone(); + let v_W1255 = { + let __t35 = v_W1249.clone(); + let __t36 = v_W1250.clone(); let __t39 = { let __t38 = { - let __t37 = v_V1233.clone(); + let __t37 = v_V1247.clone(); rt::tl(&__t37)? }; rt::tl(&__t38)? }; - let __t40 = v_V1233.clone(); - let __t41 = v_V1234.clone(); + let __t40 = v_V1247.clone(); + let __t41 = v_V1248.clone(); rt::apply_direct( interp, "shen.insert-info", &[__t35, __t36, __t39, __t40, __t41], )? }; - break Ok(v_W1235.clone()); + break Ok(v_W1249.clone()); } } } @@ -268,12 +268,12 @@ pub fn aot_shen_x2e_predicate(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V1244 = args[0].clone(); + let mut v_V1258 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t46 = { - let __t44 = v_V1244.clone(); + let __t44 = v_V1258.clone(); rt::is_cons(&__t44) }; if match rt::is_truthy(interp, &__t46) { @@ -281,7 +281,7 @@ pub fn aot_shen_x2e_predicate(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { break Ok({ - let __t45 = v_V1244.clone(); + let __t45 = v_V1258.clone(); rt::hd(&__t45)? }); } else { @@ -291,7 +291,7 @@ pub fn aot_shen_x2e_predicate(interp: &mut Interp, args: &[Value]) -> ShenResult Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V1244.clone()); + break Ok(v_V1258.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -315,12 +315,12 @@ pub fn aot_shen_x2e_terms(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult break Err(e), } { break Ok({ - let __t49 = v_V1249.clone(); + let __t49 = v_V1263.clone(); rt::tl(&__t49)? }); } else { @@ -362,18 +362,18 @@ pub fn aot_shen_x2e_create_x2d_skeleton(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V1250 = args[0].clone(); + let mut v_V1264 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1251 = args[1].clone(); + let mut v_V1265 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t51 = Value::sym(interp.intern("defprolog")); let __t56 = { - let __t52 = v_V1250.clone(); + let __t52 = v_V1264.clone(); let __t55 = { - let __t53 = v_V1250.clone(); - let __t54 = v_V1251.clone(); + let __t53 = v_V1264.clone(); + let __t54 = v_V1265.clone(); rt::apply_direct(interp, "shen.dynamic-default", &[__t53, __t54])? }; rt::cons(&__t52, &__t55) @@ -397,13 +397,13 @@ pub fn aot_shen_x2e_dynamic_x2d_default(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V1252 = args[0].clone(); + let mut v_V1266 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1253 = args[1].clone(); + let mut v_V1267 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t57 = v_V1253.clone(); + let __t57 = v_V1267.clone(); let __t78 = { let __t58 = Value::sym(interp.intern("<--")); let __t77 = { @@ -411,14 +411,14 @@ pub fn aot_shen_x2e_dynamic_x2d_default(interp: &mut Interp, args: &[Value]) -> let __t59 = Value::sym(interp.intern("shen.call-dynamic")); let __t71 = { let __t61 = { - let __t60 = v_V1253.clone(); + let __t60 = v_V1267.clone(); rt::apply_direct(interp, "shen.cons-form", &[__t60])? }; let __t70 = { let __t68 = { let __t62 = Value::sym(interp.intern("get")); let __t67 = { - let __t63 = v_V1252.clone(); + let __t63 = v_V1266.clone(); let __t66 = { let __t64 = Value::sym(interp.intern("shen.dynamic")); let __t65 = Value::nil(); @@ -466,39 +466,39 @@ pub fn aot_shen_x2e_insert_x2d_info(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V1254 = args[0].clone(); + let mut v_V1268 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1255 = args[1].clone(); + let mut v_V1269 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1256 = args[2].clone(); + let mut v_V1270 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1257 = args[3].clone(); + let mut v_V1271 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1258 = args[4].clone(); + let mut v_V1272 = args[4].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1259 = { + let v_W1273 = { let __t79 = Value::sym(interp.intern("shen.g")); rt::apply_direct(interp, "gensym", &[__t79])? }; { - let v_W1260 = { + let v_W1274 = { let __t90 = { let __t84 = { let __t80 = Value::sym(interp.intern("defprolog")); let __t83 = { - let __t81 = v_W1259.clone(); + let __t81 = v_W1273.clone(); let __t82 = Value::nil(); rt::cons(&__t81, &__t82) }; rt::cons(&__t80, &__t83) }; let __t89 = { - let __t85 = v_V1255.clone(); + let __t85 = v_V1269.clone(); let __t88 = { let __t86 = Value::sym(interp.intern("<--")); - let __t87 = v_V1256.clone(); + let __t87 = v_V1270.clone(); rt::cons(&__t86, &__t87) }; rt::apply_direct(interp, "append", &[__t85, __t88])? @@ -508,21 +508,21 @@ pub fn aot_shen_x2e_insert_x2d_info(interp: &mut Interp, args: &[Value]) -> Shen rt::apply_direct(interp, "eval", &[__t90])? }; { - let v_W1261 = { + let v_W1275 = { let __t92 = { - let __t91 = v_W1259.clone(); + let __t91 = v_W1273.clone(); rt::apply_direct(interp, "fn", &[__t91])? }; let __t95 = { - let __t93 = v_W1259.clone(); - let __t94 = v_V1257.clone(); + let __t93 = v_W1273.clone(); + let __t94 = v_V1271.clone(); rt::cons(&__t93, &__t94) }; rt::cons(&__t92, &__t95) }; { - let v_W1262 = { - let __t96 = v_V1254.clone(); + let v_W1276 = { + let __t96 = v_V1268.clone(); let __t97 = Value::sym(interp.intern("shen.dynamic")); let __t99 = { let __t98 = Value::sym(interp.intern("*property-vector*")); @@ -531,23 +531,23 @@ pub fn aot_shen_x2e_insert_x2d_info(interp: &mut Interp, args: &[Value]) -> Shen rt::apply_direct(interp, "get", &[__t96, __t97, __t99])? }; { - let v_W1263 = { + let v_W1277 = { let __t108 = { - let __t100 = v_V1258.clone(); + let __t100 = v_V1272.clone(); let __t101 = Value::sym(interp.intern("shen.top")); rt::eq(&__t100, &__t101) }; if rt::is_truthy(interp, &__t108)? { { - let __t102 = v_W1261.clone(); - let __t103 = v_W1262.clone(); + let __t102 = v_W1275.clone(); + let __t103 = v_W1276.clone(); rt::cons(&__t102, &__t103) } } else { { - let __t104 = v_W1262.clone(); + let __t104 = v_W1276.clone(); let __t107 = { - let __t105 = v_W1261.clone(); + let __t105 = v_W1275.clone(); let __t106 = Value::nil(); rt::cons(&__t105, &__t106) }; @@ -556,9 +556,9 @@ pub fn aot_shen_x2e_insert_x2d_info(interp: &mut Interp, args: &[Value]) -> Shen } }; break Ok({ - let __t109 = v_V1254.clone(); + let __t109 = v_V1268.clone(); let __t110 = Value::sym(interp.intern("shen.dynamic")); - let __t111 = v_W1263.clone(); + let __t111 = v_W1277.clone(); let __t113 = { let __t112 = Value::sym(interp.intern("*property-vector*")); rt::apply_direct(interp, "value", &[__t112])? @@ -589,14 +589,14 @@ pub fn aot_shen_x2e_newname(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult She ))); } #[allow(unused_mut)] - let mut v_V1266 = args[0].clone(); + let mut v_V1280 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1267 = args[1].clone(); + let mut v_V1281 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1268 = args[2].clone(); + let mut v_V1282 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1269 = args[3].clone(); + let mut v_V1283 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1270 = args[4].clone(); + let mut v_V1284 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1271 = args[5].clone(); + let mut v_V1285 = args[5].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1272 = { + let v_W1286 = { let __t139 = { - let __t122 = v_V1269.clone(); + let __t122 = v_V1283.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t122])? }; if rt::is_truthy(interp, &__t139)? { { - let v_W1273 = { - let __t123 = v_V1267.clone(); - let __t124 = v_V1268.clone(); + let v_W1287 = { + let __t123 = v_V1281.clone(); + let __t124 = v_V1282.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t123, __t124])? }; { let __t138 = { - let __t125 = v_W1273.clone(); + let __t125 = v_W1287.clone(); rt::is_cons(&__t125) }; if rt::is_truthy(interp, &__t138)? { { - let v_W1274 = { + let v_W1288 = { let __t127 = { - let __t126 = v_W1273.clone(); + let __t126 = v_W1287.clone(); rt::hd(&__t126)? }; - let __t128 = v_V1268.clone(); + let __t128 = v_V1282.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -688,13 +688,13 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She }; { let __t137 = { - let __t129 = v_W1274.clone(); + let __t129 = v_W1288.clone(); rt::is_cons(&__t129) }; if rt::is_truthy(interp, &__t137)? { { - let v_W1275 = { - let __t130 = v_W1274.clone(); + let v_W1289 = { + let __t130 = v_W1288.clone(); rt::hd(&__t130)? }; { @@ -706,12 +706,12 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She )? }; { - let __t131 = v_W1275.clone(); - let __t132 = v_V1266.clone(); - let __t133 = v_V1268.clone(); - let __t134 = v_V1269.clone(); - let __t135 = v_V1270.clone(); - let __t136 = v_V1271.clone(); + let __t131 = v_W1289.clone(); + let __t132 = v_V1280.clone(); + let __t133 = v_V1282.clone(); + let __t134 = v_V1283.clone(); + let __t135 = v_V1284.clone(); + let __t136 = v_V1285.clone(); rt::apply_direct( interp, "shen.callrec", @@ -739,7 +739,7 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She }; { let __t142 = { - let __t140 = v_W1272.clone(); + let __t140 = v_W1286.clone(); let __t141 = Value::bool(false); rt::eq(&__t140, &__t141) }; @@ -749,7 +749,7 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She } { { let __t144 = { - let __t143 = v_V1269.clone(); + let __t143 = v_V1283.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t143])? }; if match rt::is_truthy(interp, &__t144) { @@ -757,14 +757,14 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W1276 = { - let __t145 = v_V1267.clone(); - let __t146 = v_V1268.clone(); + let v_W1290 = { + let __t145 = v_V1281.clone(); + let __t146 = v_V1282.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t145, __t146])? }; { let __t148 = { - let __t147 = v_W1276.clone(); + let __t147 = v_W1290.clone(); rt::is_cons(&__t147) }; if match rt::is_truthy(interp, &__t148) { @@ -772,8 +772,8 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W1277 = { - let __t149 = v_W1276.clone(); + let v_W1291 = { + let __t149 = v_W1290.clone(); rt::tl(&__t149)? }; { @@ -781,18 +781,18 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t150 = v_V1266.clone(); - let __t151 = v_W1277.clone(); - let __t152 = v_V1268.clone(); - let __t153 = v_V1269.clone(); - let __t154 = v_V1270.clone(); - let __t155 = v_V1271.clone(); - v_V1266 = __t150; - v_V1267 = __t151; - v_V1268 = __t152; - v_V1269 = __t153; - v_V1270 = __t154; - v_V1271 = __t155; + let __t150 = v_V1280.clone(); + let __t151 = v_W1291.clone(); + let __t152 = v_V1282.clone(); + let __t153 = v_V1283.clone(); + let __t154 = v_V1284.clone(); + let __t155 = v_V1285.clone(); + v_V1280 = __t150; + v_V1281 = __t151; + v_V1282 = __t152; + v_V1283 = __t153; + v_V1284 = __t154; + v_V1285 = __t155; continue; } } @@ -807,7 +807,7 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She } } } else { - break Ok(v_W1272.clone()); + break Ok(v_W1286.clone()); } } } @@ -828,23 +828,23 @@ pub fn aot_shen_x2e_callrec(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1284 = args[0].clone(); + let mut v_V1298 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t205 = { let __t190 = { - let __t181 = v_V1284.clone(); + let __t181 = v_V1298.clone(); rt::is_cons(&__t181) }; if !rt::is_truthy(interp, &__t190)? { @@ -952,7 +952,7 @@ pub fn aot_retract(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t191 = { let __t188 = { let __t183 = { - let __t182 = v_V1284.clone(); + let __t182 = v_V1298.clone(); rt::tl(&__t182)? }; rt::is_cons(&__t183) @@ -964,7 +964,7 @@ pub fn aot_retract(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t184 = Value::sym(interp.intern("<--")); let __t187 = { let __t186 = { - let __t185 = v_V1284.clone(); + let __t185 = v_V1298.clone(); rt::tl(&__t185)? }; rt::hd(&__t186)? @@ -982,16 +982,16 @@ pub fn aot_retract(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { { - let v_W1285 = { + let v_W1299 = { let __t193 = { - let __t192 = v_V1284.clone(); + let __t192 = v_V1298.clone(); rt::hd(&__t192)? }; rt::apply_direct(interp, "shen.predicate", &[__t193])? }; { - let v_W1286 = { - let __t194 = v_W1285.clone(); + let v_W1300 = { + let __t194 = v_W1299.clone(); let __t195 = Value::sym(interp.intern("shen.dynamic")); let __t197 = { let __t196 = Value::sym(interp.intern("*property-vector*")); @@ -1000,11 +1000,11 @@ pub fn aot_retract(interp: &mut Interp, args: &[Value]) -> ShenResult { rt::apply_direct(interp, "get", &[__t194, __t195, __t197])? }; break Ok({ - let __t198 = v_W1285.clone(); + let __t198 = v_W1299.clone(); let __t199 = Value::sym(interp.intern("shen.dynamic")); let __t202 = { - let __t200 = v_V1284.clone(); - let __t201 = v_W1286.clone(); + let __t200 = v_V1298.clone(); + let __t201 = v_W1300.clone(); rt::apply_direct(interp, "shen.retract-clause", &[__t200, __t201])? }; let __t204 = { @@ -1049,15 +1049,15 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V1292 = args[0].clone(); + let mut v_V1306 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1293 = args[1].clone(); + let mut v_V1307 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t245 = { let __t243 = Value::nil(); - let __t244 = v_V1293.clone(); + let __t244 = v_V1307.clone(); rt::eq(&__t243, &__t244) }; if match rt::is_truthy(interp, &__t245) { @@ -1069,7 +1069,7 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S { let __t242 = { let __t231 = { - let __t216 = v_V1293.clone(); + let __t216 = v_V1307.clone(); rt::is_cons(&__t216) }; if !rt::is_truthy(interp, &__t231)? { @@ -1078,7 +1078,7 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S let __t232 = { let __t229 = { let __t218 = { - let __t217 = v_V1293.clone(); + let __t217 = v_V1307.clone(); rt::hd(&__t217)? }; rt::is_cons(&__t218) @@ -1090,7 +1090,7 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S let __t227 = { let __t221 = { let __t220 = { - let __t219 = v_V1293.clone(); + let __t219 = v_V1307.clone(); rt::hd(&__t219)? }; rt::tl(&__t220)? @@ -1101,11 +1101,11 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S Value::bool(false) } else { let __t228 = { - let __t222 = v_V1292.clone(); + let __t222 = v_V1306.clone(); let __t226 = { let __t225 = { let __t224 = { - let __t223 = v_V1293.clone(); + let __t223 = v_V1307.clone(); rt::hd(&__t223)? }; rt::tl(&__t224)? @@ -1134,7 +1134,7 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S let __t237 = { let __t236 = { let __t235 = { - let __t234 = v_V1293.clone(); + let __t234 = v_V1307.clone(); rt::hd(&__t234)? }; rt::tl(&__t235)? @@ -1150,14 +1150,14 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S rt::apply_direct(interp, "set", &[__t233, __t240])? }; break Ok({ - let __t241 = v_V1293.clone(); + let __t241 = v_V1307.clone(); rt::tl(&__t241)? }); } } else { { let __t215 = { - let __t208 = v_V1293.clone(); + let __t208 = v_V1307.clone(); rt::is_cons(&__t208) }; if match rt::is_truthy(interp, &__t215) { @@ -1166,13 +1166,13 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ let __t210 = { - let __t209 = v_V1293.clone(); + let __t209 = v_V1307.clone(); rt::hd(&__t209)? }; let __t214 = { - let __t211 = v_V1292.clone(); + let __t211 = v_V1306.clone(); let __t213 = { - let __t212 = v_V1293.clone(); + let __t212 = v_V1307.clone(); rt::tl(&__t212)? }; rt::apply_direct( @@ -1222,9 +1222,9 @@ pub fn aot_shen_x2e_compile_x2d_prolog(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V1294 = args[0].clone(); + let mut v_V1308 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1295 = args[1].clone(); + let mut v_V1309 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -1233,9 +1233,9 @@ pub fn aot_shen_x2e_compile_x2d_prolog(interp: &mut Interp, args: &[Value]) -> S "", 1, move |interp, args| { - let v_Z1296 = args[0].clone(); + let v_Z1310 = args[0].clone(); Ok({ - let __t246 = v_Z1296.clone(); + let __t246 = v_Z1310.clone(); rt::apply_direct(interp, "shen.", &[__t246])? }) }, @@ -1244,8 +1244,8 @@ pub fn aot_shen_x2e_compile_x2d_prolog(interp: &mut Interp, args: &[Value]) -> S ) }; let __t250 = { - let __t248 = v_V1294.clone(); - let __t249 = v_V1295.clone(); + let __t248 = v_V1308.clone(); + let __t249 = v_V1309.clone(); rt::cons(&__t248, &__t249) }; rt::apply_direct(interp, "compile", &[__t247, __t250])? @@ -1267,34 +1267,34 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V1297 = args[0].clone(); + let mut v_V1311 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1298 = { + let v_W1312 = { let __t268 = { - let __t251 = v_V1297.clone(); + let __t251 = v_V1311.clone(); rt::is_cons(&__t251) }; if rt::is_truthy(interp, &__t268)? { { - let v_W1299 = { - let __t252 = v_V1297.clone(); + let v_W1313 = { + let __t252 = v_V1311.clone(); rt::apply_direct(interp, "head", &[__t252])? }; { - let v_W1300 = { - let __t253 = v_V1297.clone(); + let v_W1314 = { + let __t253 = v_V1311.clone(); rt::apply_direct(interp, "tail", &[__t253])? }; { - let v_W1301 = { - let __t254 = v_W1300.clone(); + let v_W1315 = { + let __t254 = v_W1314.clone(); rt::apply_direct(interp, "shen.", &[__t254])? }; { let __t267 = { - let __t255 = v_W1301.clone(); + let __t255 = v_W1315.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t255])? }; if rt::is_truthy(interp, &__t267)? { @@ -1303,13 +1303,13 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W1302 = { - let __t256 = v_W1301.clone(); + let v_W1316 = { + let __t256 = v_W1315.clone(); rt::apply_direct(interp, "shen.<-out", &[__t256])? }; { - let v_W1303 = { - let __t257 = v_W1301.clone(); + let v_W1317 = { + let __t257 = v_W1315.clone(); rt::apply_direct( interp, "shen.in->", @@ -1317,11 +1317,11 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let __t258 = v_W1303.clone(); + let __t258 = v_W1317.clone(); let __t266 = { - let v_W1304 = { - let __t259 = v_W1299.clone(); - let __t260 = v_W1302.clone(); + let v_W1318 = { + let __t259 = v_W1313.clone(); + let __t260 = v_W1316.clone(); rt::apply_direct( interp, "shen.prolog-arity-check", @@ -1329,17 +1329,17 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let v_W1305 = { + let v_W1319 = { let __t262 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z1306 = + let v_Z1320 = args[0].clone(); Ok({ let __t261 = - v_Z1306.clone(); + v_Z1320.clone(); rt::apply_direct(interp, "shen.linearise-clause", &[__t261])? }) }, @@ -1347,7 +1347,7 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> interp, ) }; - let __t263 = v_W1302.clone(); + let __t263 = v_W1316.clone(); rt::apply_direct( interp, "map", @@ -1355,8 +1355,8 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let __t264 = v_W1299.clone(); - let __t265 = v_W1305.clone(); + let __t264 = v_W1313.clone(); + let __t265 = v_W1319.clone(); rt::apply_direct( interp, "shen.horn-clause-procedure", @@ -1386,7 +1386,7 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t270 = { - let __t269 = v_W1298.clone(); + let __t269 = v_W1312.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t269])? }; if match rt::is_truthy(interp, &__t270) { @@ -1395,7 +1395,7 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1298.clone()); + break Ok(v_W1312.clone()); } } } @@ -1419,15 +1419,15 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( ))); } #[allow(unused_mut)] - let mut v_V1309 = args[0].clone(); + let mut v_V1323 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1310 = args[1].clone(); + let mut v_V1324 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t323 = { let __t318 = { - let __t298 = v_V1310.clone(); + let __t298 = v_V1324.clone(); rt::is_cons(&__t298) }; if !rt::is_truthy(interp, &__t318)? { @@ -1436,7 +1436,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( let __t319 = { let __t316 = { let __t300 = { - let __t299 = v_V1310.clone(); + let __t299 = v_V1324.clone(); rt::hd(&__t299)? }; rt::is_cons(&__t300) @@ -1448,7 +1448,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( let __t314 = { let __t303 = { let __t302 = { - let __t301 = v_V1310.clone(); + let __t301 = v_V1324.clone(); rt::hd(&__t301)? }; rt::tl(&__t302)? @@ -1464,7 +1464,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( let __t308 = { let __t307 = { let __t306 = { - let __t305 = v_V1310.clone(); + let __t305 = v_V1324.clone(); rt::hd(&__t305)? }; rt::tl(&__t306)? @@ -1479,7 +1479,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( let __t313 = { let __t309 = Value::nil(); let __t311 = { - let __t310 = v_V1310.clone(); + let __t310 = v_V1324.clone(); rt::tl(&__t310)? }; rt::eq(&__t309, &__t311) @@ -1503,7 +1503,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( break Ok({ let __t322 = { let __t321 = { - let __t320 = v_V1310.clone(); + let __t320 = v_V1324.clone(); rt::hd(&__t320)? }; rt::hd(&__t321)? @@ -1514,7 +1514,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( { let __t297 = { let __t288 = { - let __t273 = v_V1310.clone(); + let __t273 = v_V1324.clone(); rt::is_cons(&__t273) }; if !rt::is_truthy(interp, &__t288)? { @@ -1523,7 +1523,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( let __t289 = { let __t286 = { let __t275 = { - let __t274 = v_V1310.clone(); + let __t274 = v_V1324.clone(); rt::hd(&__t274)? }; rt::is_cons(&__t275) @@ -1535,7 +1535,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( let __t284 = { let __t278 = { let __t277 = { - let __t276 = v_V1310.clone(); + let __t276 = v_V1324.clone(); rt::hd(&__t276)? }; rt::tl(&__t277)? @@ -1550,7 +1550,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( let __t283 = { let __t282 = { let __t281 = { - let __t280 = v_V1310.clone(); + let __t280 = v_V1324.clone(); rt::hd(&__t280)? }; rt::tl(&__t281)? @@ -1573,11 +1573,11 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( Err(e) => break Err(e), } { break Ok({ - let __t290 = v_V1309.clone(); + let __t290 = v_V1323.clone(); let __t294 = { let __t293 = { let __t292 = { - let __t291 = v_V1310.clone(); + let __t291 = v_V1324.clone(); rt::hd(&__t291)? }; rt::hd(&__t292)? @@ -1585,7 +1585,7 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( rt::apply_direct(interp, "length", &[__t293])? }; let __t296 = { - let __t295 = v_V1310.clone(); + let __t295 = v_V1324.clone(); rt::tl(&__t295)? }; rt::apply_direct(interp, "shen.pac-h", &[__t290, __t294, __t296])? @@ -1634,29 +1634,29 @@ pub fn aot_shen_x2e_pac_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V1315 = args[0].clone(); + let mut v_V1329 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1316 = args[1].clone(); + let mut v_V1330 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1317 = args[2].clone(); + let mut v_V1331 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t350 = { let __t348 = Value::nil(); - let __t349 = v_V1317.clone(); + let __t349 = v_V1331.clone(); rt::eq(&__t348, &__t349) }; if match rt::is_truthy(interp, &__t350) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V1316.clone()); + break Ok(v_V1330.clone()); } else { { let __t347 = { let __t329 = { - let __t326 = v_V1317.clone(); + let __t326 = v_V1331.clone(); rt::is_cons(&__t326) }; if !rt::is_truthy(interp, &__t329)? { @@ -1664,7 +1664,7 @@ pub fn aot_shen_x2e_pac_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t330 = { let __t328 = { - let __t327 = v_V1317.clone(); + let __t327 = v_V1331.clone(); rt::hd(&__t327)? }; rt::is_cons(&__t328) @@ -1678,11 +1678,11 @@ pub fn aot_shen_x2e_pac_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult } { { let __t336 = { - let __t331 = v_V1316.clone(); + let __t331 = v_V1330.clone(); let __t335 = { let __t334 = { let __t333 = { - let __t332 = v_V1317.clone(); + let __t332 = v_V1331.clone(); rt::hd(&__t332)? }; rt::hd(&__t333)? @@ -1696,15 +1696,15 @@ pub fn aot_shen_x2e_pac_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let __t337 = v_V1315.clone(); - let __t338 = v_V1316.clone(); + let __t337 = v_V1329.clone(); + let __t338 = v_V1330.clone(); let __t340 = { - let __t339 = v_V1317.clone(); + let __t339 = v_V1331.clone(); rt::tl(&__t339)? }; - v_V1315 = __t337; - v_V1316 = __t338; - v_V1317 = __t340; + v_V1329 = __t337; + v_V1330 = __t338; + v_V1331 = __t340; continue; } } else { @@ -1712,7 +1712,7 @@ pub fn aot_shen_x2e_pac_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult let __t346 = { let __t341 = Value::str("arity error in prolog procedure "); let __t345 = { - let __t342 = v_V1315.clone(); + let __t342 = v_V1329.clone(); let __t343 = Value::str("\n"); let __t344 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -1763,18 +1763,18 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V1318 = args[0].clone(); + let mut v_V1332 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1319 = { - let v_W1320 = { - let __t351 = v_V1318.clone(); + let v_W1333 = { + let v_W1334 = { + let __t351 = v_V1332.clone(); rt::apply_direct(interp, "shen.", &[__t351])? }; { let __t364 = { - let __t352 = v_W1320.clone(); + let __t352 = v_W1334.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t352])? }; if rt::is_truthy(interp, &__t364)? { @@ -1783,23 +1783,23 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W1321 = { - let __t353 = v_W1320.clone(); + let v_W1335 = { + let __t353 = v_W1334.clone(); rt::apply_direct(interp, "shen.<-out", &[__t353])? }; { - let v_W1322 = { - let __t354 = v_W1320.clone(); + let v_W1336 = { + let __t354 = v_W1334.clone(); rt::apply_direct(interp, "shen.in->", &[__t354])? }; { - let v_W1323 = { - let __t355 = v_W1322.clone(); + let v_W1337 = { + let __t355 = v_W1336.clone(); rt::apply_direct(interp, "shen.", &[__t355])? }; { let __t363 = { - let __t356 = v_W1323.clone(); + let __t356 = v_W1337.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1812,8 +1812,8 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W1324 = { - let __t357 = v_W1323.clone(); + let v_W1338 = { + let __t357 = v_W1337.clone(); rt::apply_direct( interp, "shen.<-out", @@ -1821,8 +1821,8 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let v_W1325 = { - let __t358 = v_W1323.clone(); + let v_W1339 = { + let __t358 = v_W1337.clone(); rt::apply_direct( interp, "shen.in->", @@ -1830,10 +1830,10 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let __t359 = v_W1325.clone(); + let __t359 = v_W1339.clone(); let __t362 = { - let __t360 = v_W1321.clone(); - let __t361 = v_W1324.clone(); + let __t360 = v_W1335.clone(); + let __t361 = v_W1338.clone(); rt::cons(&__t360, &__t361) }; rt::apply_direct( @@ -1854,7 +1854,7 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t366 = { - let __t365 = v_W1319.clone(); + let __t365 = v_W1333.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t365])? }; if match rt::is_truthy(interp, &__t366) { @@ -1862,14 +1862,14 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_W1326 = { - let v_W1327 = { - let __t367 = v_V1318.clone(); + let v_W1340 = { + let v_W1341 = { + let __t367 = v_V1332.clone(); rt::apply_direct(interp, "", &[__t367])? }; { let __t381 = { - let __t368 = v_W1327.clone(); + let __t368 = v_W1341.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t368])? }; if rt::is_truthy(interp, &__t381)? { @@ -1878,20 +1878,20 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W1328 = { - let __t369 = v_W1327.clone(); + let v_W1342 = { + let __t369 = v_W1341.clone(); rt::apply_direct(interp, "shen.<-out", &[__t369])? }; { - let v_W1329 = { - let __t370 = v_W1327.clone(); + let v_W1343 = { + let __t370 = v_W1341.clone(); rt::apply_direct(interp, "shen.in->", &[__t370])? }; { - let __t371 = v_W1329.clone(); + let __t371 = v_W1343.clone(); let __t380 = { let __t379 = { - let __t372 = v_W1328.clone(); + let __t372 = v_W1342.clone(); rt::apply_direct( interp, "empty?", @@ -1907,7 +1907,7 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh "Prolog syntax error here:\n ", ); let __t377 = { - let __t374 = v_W1328.clone(); + let __t374 = v_W1342.clone(); let __t375 = Value::str("\n ..."); let __t376 = Value::sym( @@ -1946,7 +1946,7 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t383 = { - let __t382 = v_W1326.clone(); + let __t382 = v_W1340.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t382])? }; if match rt::is_truthy(interp, &__t383) { @@ -1955,12 +1955,12 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1326.clone()); + break Ok(v_W1340.clone()); } } } } else { - break Ok(v_W1319.clone()); + break Ok(v_W1333.clone()); } } } @@ -1981,13 +1981,13 @@ pub fn aot_shen_x2e_linearise_x2d_clause(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V1330 = args[0].clone(); + let mut v_V1344 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t404 = { let __t395 = { - let __t386 = v_V1330.clone(); + let __t386 = v_V1344.clone(); rt::is_cons(&__t386) }; if !rt::is_truthy(interp, &__t395)? { @@ -1996,7 +1996,7 @@ pub fn aot_shen_x2e_linearise_x2d_clause(interp: &mut Interp, args: &[Value]) -> let __t396 = { let __t393 = { let __t388 = { - let __t387 = v_V1330.clone(); + let __t387 = v_V1344.clone(); rt::tl(&__t387)? }; rt::is_cons(&__t388) @@ -2008,7 +2008,7 @@ pub fn aot_shen_x2e_linearise_x2d_clause(interp: &mut Interp, args: &[Value]) -> let __t389 = Value::nil(); let __t392 = { let __t391 = { - let __t390 = v_V1330.clone(); + let __t390 = v_V1344.clone(); rt::tl(&__t390)? }; rt::tl(&__t391)? @@ -2029,12 +2029,12 @@ pub fn aot_shen_x2e_linearise_x2d_clause(interp: &mut Interp, args: &[Value]) -> let __t403 = { let __t402 = { let __t398 = { - let __t397 = v_V1330.clone(); + let __t397 = v_V1344.clone(); rt::hd(&__t397)? }; let __t401 = { let __t400 = { - let __t399 = v_V1330.clone(); + let __t399 = v_V1344.clone(); rt::tl(&__t399)? }; rt::hd(&__t400)? @@ -2083,12 +2083,12 @@ pub fn aot_shen_x2e_lch(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V1332.clone()); + break Ok(v_V1346.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -2431,18 +2431,18 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V1333 = args[0].clone(); + let mut v_V1347 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1334 = { - let v_W1335 = { - let __t487 = v_V1333.clone(); + let v_W1348 = { + let v_W1349 = { + let __t487 = v_V1347.clone(); rt::apply_direct(interp, "shen.", &[__t487])? }; { let __t510 = { - let __t488 = v_W1335.clone(); + let __t488 = v_W1349.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t488])? }; if rt::is_truthy(interp, &__t510)? { @@ -2451,30 +2451,30 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W1336 = { - let __t489 = v_W1335.clone(); + let v_W1350 = { + let __t489 = v_W1349.clone(); rt::apply_direct(interp, "shen.<-out", &[__t489])? }; { - let v_W1337 = { - let __t490 = v_W1335.clone(); + let v_W1351 = { + let __t490 = v_W1349.clone(); rt::apply_direct(interp, "shen.in->", &[__t490])? }; { let __t509 = { - let __t491 = v_W1337.clone(); + let __t491 = v_W1351.clone(); let __t492 = Value::sym(interp.intern("<--")); rt::apply_direct(interp, "shen.hds=?", &[__t491, __t492])? }; if rt::is_truthy(interp, &__t509)? { { - let v_W1338 = { - let __t493 = v_W1337.clone(); + let v_W1352 = { + let __t493 = v_W1351.clone(); rt::apply_direct(interp, "tail", &[__t493])? }; { - let v_W1339 = { - let __t494 = v_W1338.clone(); + let v_W1353 = { + let __t494 = v_W1352.clone(); rt::apply_direct( interp, "shen.", @@ -2483,7 +2483,7 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t508 = { - let __t495 = v_W1339.clone(); + let __t495 = v_W1353.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2500,8 +2500,8 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W1340 = { - let __t496 = v_W1339.clone(); + let v_W1354 = { + let __t496 = v_W1353.clone(); rt::apply_direct( interp, "shen.<-out", @@ -2509,8 +2509,8 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W1341 = { - let __t497 = v_W1339.clone(); + let v_W1355 = { + let __t497 = v_W1353.clone(); rt::apply_direct( interp, "shen.in->", @@ -2518,9 +2518,9 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W1342 = { + let v_W1356 = { let __t498 = - v_W1341.clone(); + v_W1355.clone(); rt::apply_direct( interp, "shen.", @@ -2530,7 +2530,7 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She { let __t507 = { let __t499 = - v_W1342.clone(); + v_W1356.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t499])? }; if rt::is_truthy( @@ -2541,22 +2541,22 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W1343 = { + let v_W1357 = { let __t500 = - v_W1342 + v_W1356 .clone( ); rt::apply_direct(interp, "shen.in->", &[__t500])? }; { let __t501 = - v_W1343 + v_W1357 .clone( ); let __t506 = { - let __t502 = v_W1336.clone(); + let __t502 = v_W1350.clone(); let __t505 = { - let __t503 = v_W1340.clone(); + let __t503 = v_W1354.clone(); let __t504 = Value::nil(); rt::cons(&__t503, &__t504) }; @@ -2590,7 +2590,7 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t512 = { - let __t511 = v_W1334.clone(); + let __t511 = v_W1348.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t511])? }; if match rt::is_truthy(interp, &__t512) { @@ -2599,7 +2599,7 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1334.clone()); + break Ok(v_W1348.clone()); } } } @@ -2620,18 +2620,18 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V1344 = args[0].clone(); + let mut v_V1358 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1345 = { - let v_W1346 = { - let __t513 = v_V1344.clone(); + let v_W1359 = { + let v_W1360 = { + let __t513 = v_V1358.clone(); rt::apply_direct(interp, "shen.", &[__t513])? }; { let __t526 = { - let __t514 = v_W1346.clone(); + let __t514 = v_W1360.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t514])? }; if rt::is_truthy(interp, &__t526)? { @@ -2640,23 +2640,23 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W1347 = { - let __t515 = v_W1346.clone(); + let v_W1361 = { + let __t515 = v_W1360.clone(); rt::apply_direct(interp, "shen.<-out", &[__t515])? }; { - let v_W1348 = { - let __t516 = v_W1346.clone(); + let v_W1362 = { + let __t516 = v_W1360.clone(); rt::apply_direct(interp, "shen.in->", &[__t516])? }; { - let v_W1349 = { - let __t517 = v_W1348.clone(); + let v_W1363 = { + let __t517 = v_W1362.clone(); rt::apply_direct(interp, "shen.", &[__t517])? }; { let __t525 = { - let __t518 = v_W1349.clone(); + let __t518 = v_W1363.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2669,8 +2669,8 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W1350 = { - let __t519 = v_W1349.clone(); + let v_W1364 = { + let __t519 = v_W1363.clone(); rt::apply_direct( interp, "shen.<-out", @@ -2678,8 +2678,8 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W1351 = { - let __t520 = v_W1349.clone(); + let v_W1365 = { + let __t520 = v_W1363.clone(); rt::apply_direct( interp, "shen.in->", @@ -2687,10 +2687,10 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let __t521 = v_W1351.clone(); + let __t521 = v_W1365.clone(); let __t524 = { - let __t522 = v_W1347.clone(); - let __t523 = v_W1350.clone(); + let __t522 = v_W1361.clone(); + let __t523 = v_W1364.clone(); rt::cons(&__t522, &__t523) }; rt::apply_direct( @@ -2711,7 +2711,7 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t528 = { - let __t527 = v_W1345.clone(); + let __t527 = v_W1359.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t527])? }; if match rt::is_truthy(interp, &__t528) { @@ -2719,14 +2719,14 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W1352 = { - let v_W1353 = { - let __t529 = v_V1344.clone(); + let v_W1366 = { + let v_W1367 = { + let __t529 = v_V1358.clone(); rt::apply_direct(interp, "", &[__t529])? }; { let __t534 = { - let __t530 = v_W1353.clone(); + let __t530 = v_W1367.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t530])? }; if rt::is_truthy(interp, &__t534)? { @@ -2735,12 +2735,12 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W1354 = { - let __t531 = v_W1353.clone(); + let v_W1368 = { + let __t531 = v_W1367.clone(); rt::apply_direct(interp, "shen.in->", &[__t531])? }; { - let __t532 = v_W1354.clone(); + let __t532 = v_W1368.clone(); let __t533 = Value::nil(); rt::apply_direct( interp, @@ -2754,7 +2754,7 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t536 = { - let __t535 = v_W1352.clone(); + let __t535 = v_W1366.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t535])? }; if match rt::is_truthy(interp, &__t536) { @@ -2763,12 +2763,12 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1352.clone()); + break Ok(v_W1366.clone()); } } } } else { - break Ok(v_W1345.clone()); + break Ok(v_W1359.clone()); } } } @@ -2789,30 +2789,30 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V1355 = args[0].clone(); + let mut v_V1369 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1356 = { + let v_W1370 = { let __t548 = { - let __t537 = v_V1355.clone(); + let __t537 = v_V1369.clone(); rt::is_cons(&__t537) }; if rt::is_truthy(interp, &__t548)? { { - let v_W1357 = { - let __t538 = v_V1355.clone(); + let v_W1371 = { + let __t538 = v_V1369.clone(); rt::apply_direct(interp, "head", &[__t538])? }; { - let v_W1358 = { - let __t539 = v_V1355.clone(); + let v_W1372 = { + let __t539 = v_V1369.clone(); rt::apply_direct(interp, "tail", &[__t539])? }; { let __t547 = { let __t543 = { - let __t540 = v_W1357.clone(); + let __t540 = v_W1371.clone(); rt::apply_direct(interp, "atom?", &[__t540])? }; if !rt::is_truthy(interp, &__t543)? { @@ -2820,7 +2820,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { let __t544 = { let __t542 = { - let __t541 = v_W1357.clone(); + let __t541 = v_W1371.clone(); rt::apply_direct( interp, "shen.prolog-keyword?", @@ -2834,8 +2834,8 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; if rt::is_truthy(interp, &__t547)? { { - let __t545 = v_W1358.clone(); - let __t546 = v_W1357.clone(); + let __t545 = v_W1372.clone(); + let __t546 = v_W1371.clone(); rt::apply_direct(interp, "shen.comb", &[__t545, __t546])? } } else { @@ -2854,7 +2854,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t550 = { - let __t549 = v_W1356.clone(); + let __t549 = v_W1370.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t549])? }; if match rt::is_truthy(interp, &__t550) { @@ -2862,25 +2862,25 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W1359 = { + let v_W1373 = { let __t560 = { - let __t551 = v_V1355.clone(); + let __t551 = v_V1369.clone(); rt::is_cons(&__t551) }; if rt::is_truthy(interp, &__t560)? { { - let v_W1360 = { - let __t552 = v_V1355.clone(); + let v_W1374 = { + let __t552 = v_V1369.clone(); rt::apply_direct(interp, "head", &[__t552])? }; { - let v_W1361 = { - let __t553 = v_V1355.clone(); + let v_W1375 = { + let __t553 = v_V1369.clone(); rt::apply_direct(interp, "tail", &[__t553])? }; { let __t559 = { - let __t554 = v_W1360.clone(); + let __t554 = v_W1374.clone(); let __t556 = { let __t555 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t555])? @@ -2889,8 +2889,8 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; if rt::is_truthy(interp, &__t559)? { { - let __t557 = v_W1361.clone(); - let __t558 = v_W1360.clone(); + let __t557 = v_W1375.clone(); + let __t558 = v_W1374.clone(); rt::apply_direct( interp, "shen.comb", @@ -2917,7 +2917,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t562 = { - let __t561 = v_W1359.clone(); + let __t561 = v_W1373.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t561])? }; if match rt::is_truthy(interp, &__t562) { @@ -2925,25 +2925,25 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W1362 = { + let v_W1376 = { let __t592 = { - let __t563 = v_V1355.clone(); + let __t563 = v_V1369.clone(); rt::apply_direct(interp, "shen.ccons?", &[__t563])? }; if rt::is_truthy(interp, &__t592)? { { - let v_W1363 = { - let __t564 = v_V1355.clone(); + let v_W1377 = { + let __t564 = v_V1369.clone(); rt::apply_direct(interp, "head", &[__t564])? }; { - let v_W1364 = { - let __t565 = v_V1355.clone(); + let v_W1378 = { + let __t565 = v_V1369.clone(); rt::apply_direct(interp, "tail", &[__t565])? }; { let __t591 = { - let __t566 = v_W1363.clone(); + let __t566 = v_W1377.clone(); let __t567 = Value::sym(interp.intern("cons")); rt::apply_direct( @@ -2954,8 +2954,8 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; if rt::is_truthy(interp, &__t591)? { { - let v_W1365 = { - let __t568 = v_W1363.clone(); + let v_W1379 = { + let __t568 = v_W1377.clone(); rt::apply_direct( interp, "tail", @@ -2963,9 +2963,9 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W1366 = { + let v_W1380 = { let __t569 = - v_W1365.clone(); + v_W1379.clone(); rt::apply_direct( interp, "shen.", @@ -2975,7 +2975,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let __t590 = { let __t570 = - v_W1366.clone(); + v_W1380.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t570])? }; if rt::is_truthy( @@ -2986,29 +2986,29 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W1367 = { + let v_W1381 = { let __t571 = - v_W1366 + v_W1380 .clone( ); rt::apply_direct(interp, "shen.<-out", &[__t571])? }; { - let v_W1368 = { - let __t572 = v_W1366.clone(); + let v_W1382 = { + let __t572 = v_W1380.clone(); rt::apply_direct(interp, "shen.in->", &[__t572])? }; { - let v_W1369 = { - let __t573 = v_W1368.clone(); + let v_W1383 = { + let __t573 = v_W1382.clone(); rt::apply_direct(interp, "shen.", &[__t573])? }; { let __t589 = { - let __t574 = v_W1369.clone(); + let __t574 = v_W1383.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t574])? }; - if rt::is_truthy(interp, &__t589)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1370 = { let __t575 = v_W1369.clone(); rt::apply_direct(interp, "shen.<-out", &[__t575])? }; { let v_W1371 = { let __t576 = v_W1369.clone(); rt::apply_direct(interp, "shen.in->", &[__t576])? }; { let v_W1372 = { let __t577 = v_W1371.clone(); rt::apply_direct(interp, "", &[__t577])? }; { let __t588 = { let __t578 = v_W1372.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t578])? }; if rt::is_truthy(interp, &__t588)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1373 = { let __t579 = v_W1372.clone(); rt::apply_direct(interp, "shen.in->", &[__t579])? }; { let __t580 = v_W1364.clone(); let __t587 = { let __t581 = Value::sym(interp.intern("cons")); let __t586 = { let __t582 = v_W1367.clone(); let __t585 = { let __t583 = v_W1370.clone(); let __t584 = Value::nil(); rt::cons(&__t583, &__t584) }; rt::cons(&__t582, &__t585) }; rt::cons(&__t581, &__t586) }; rt::apply_direct(interp, "shen.comb", &[__t580, __t587])? } } } } } } } } + if rt::is_truthy(interp, &__t589)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1384 = { let __t575 = v_W1383.clone(); rt::apply_direct(interp, "shen.<-out", &[__t575])? }; { let v_W1385 = { let __t576 = v_W1383.clone(); rt::apply_direct(interp, "shen.in->", &[__t576])? }; { let v_W1386 = { let __t577 = v_W1385.clone(); rt::apply_direct(interp, "", &[__t577])? }; { let __t588 = { let __t578 = v_W1386.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t578])? }; if rt::is_truthy(interp, &__t588)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1387 = { let __t579 = v_W1386.clone(); rt::apply_direct(interp, "shen.in->", &[__t579])? }; { let __t580 = v_W1378.clone(); let __t587 = { let __t581 = Value::sym(interp.intern("cons")); let __t586 = { let __t582 = v_W1381.clone(); let __t585 = { let __t583 = v_W1384.clone(); let __t584 = Value::nil(); rt::cons(&__t583, &__t584) }; rt::cons(&__t582, &__t585) }; rt::cons(&__t581, &__t586) }; rt::apply_direct(interp, "shen.comb", &[__t580, __t587])? } } } } } } } } } } } @@ -3037,7 +3037,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t594 = { - let __t593 = v_W1362.clone(); + let __t593 = v_W1376.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3049,9 +3049,9 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W1374 = { + let v_W1388 = { let __t617 = { - let __t595 = v_V1355.clone(); + let __t595 = v_V1369.clone(); rt::apply_direct( interp, "shen.ccons?", @@ -3060,8 +3060,8 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; if rt::is_truthy(interp, &__t617)? { { - let v_W1375 = { - let __t596 = v_V1355.clone(); + let v_W1389 = { + let __t596 = v_V1369.clone(); rt::apply_direct( interp, "head", @@ -3069,8 +3069,8 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W1376 = { - let __t597 = v_V1355.clone(); + let v_W1390 = { + let __t597 = v_V1369.clone(); rt::apply_direct( interp, "tail", @@ -3080,7 +3080,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let __t616 = { let __t598 = - v_W1375.clone(); + v_W1389.clone(); let __t599 = Value::sym( interp.intern("+"), ); @@ -3094,9 +3094,9 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen interp, &__t616, )? { { - let v_W1377 = { + let v_W1391 = { let __t600 = - v_W1375.clone(); + v_W1389.clone(); rt::apply_direct( interp, "tail", @@ -3104,19 +3104,19 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W1378 = { + let v_W1392 = { let __t601 = - v_W1377 + v_W1391 .clone( ); rt::apply_direct(interp, "shen.", &[__t601])? }; { let __t615 = { - let __t602 = v_W1378.clone(); + let __t602 = v_W1392.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t602])? }; - if rt::is_truthy(interp, &__t615)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1379 = { let __t603 = v_W1378.clone(); rt::apply_direct(interp, "shen.<-out", &[__t603])? }; { let v_W1380 = { let __t604 = v_W1378.clone(); rt::apply_direct(interp, "shen.in->", &[__t604])? }; { let v_W1381 = { let __t605 = v_W1380.clone(); rt::apply_direct(interp, "", &[__t605])? }; { let __t614 = { let __t606 = v_W1381.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t606])? }; if rt::is_truthy(interp, &__t614)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1382 = { let __t607 = v_W1381.clone(); rt::apply_direct(interp, "shen.in->", &[__t607])? }; { let __t608 = v_W1376.clone(); let __t613 = { let __t609 = Value::sym(interp.intern("shen.+m")); let __t612 = { let __t610 = v_W1379.clone(); let __t611 = Value::nil(); rt::cons(&__t610, &__t611) }; rt::cons(&__t609, &__t612) }; rt::apply_direct(interp, "shen.comb", &[__t608, __t613])? } } } } } } } } + if rt::is_truthy(interp, &__t615)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1393 = { let __t603 = v_W1392.clone(); rt::apply_direct(interp, "shen.<-out", &[__t603])? }; { let v_W1394 = { let __t604 = v_W1392.clone(); rt::apply_direct(interp, "shen.in->", &[__t604])? }; { let v_W1395 = { let __t605 = v_W1394.clone(); rt::apply_direct(interp, "", &[__t605])? }; { let __t614 = { let __t606 = v_W1395.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t606])? }; if rt::is_truthy(interp, &__t614)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1396 = { let __t607 = v_W1395.clone(); rt::apply_direct(interp, "shen.in->", &[__t607])? }; { let __t608 = v_W1390.clone(); let __t613 = { let __t609 = Value::sym(interp.intern("shen.+m")); let __t612 = { let __t610 = v_W1393.clone(); let __t611 = Value::nil(); rt::cons(&__t610, &__t611) }; rt::cons(&__t609, &__t612) }; rt::apply_direct(interp, "shen.comb", &[__t608, __t613])? } } } } } } } } } } } @@ -3140,7 +3140,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t619 = { - let __t618 = v_W1374.clone(); + let __t618 = v_W1388.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3152,9 +3152,9 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W1383 = { + let v_W1397 = { let __t642 = { - let __t620 = v_V1355.clone(); + let __t620 = v_V1369.clone(); rt::apply_direct( interp, "shen.ccons?", @@ -3163,9 +3163,9 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; if rt::is_truthy(interp, &__t642)? { { - let v_W1384 = { + let v_W1398 = { let __t621 = - v_V1355.clone(); + v_V1369.clone(); rt::apply_direct( interp, "head", @@ -3173,9 +3173,9 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W1385 = { + let v_W1399 = { let __t622 = - v_V1355.clone(); + v_V1369.clone(); rt::apply_direct( interp, "tail", @@ -3185,7 +3185,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let __t641 = { let __t623 = - v_W1384 + v_W1398 .clone( ); let __t624 = Value::sym(interp.intern("-")); @@ -3195,18 +3195,18 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen interp, &__t641, )? { { - let v_W1386 = { - let __t625 = v_W1384.clone(); + let v_W1400 = { + let __t625 = v_W1398.clone(); rt::apply_direct(interp, "tail", &[__t625])? }; { - let v_W1387 = { - let __t626 = v_W1386.clone(); + let v_W1401 = { + let __t626 = v_W1400.clone(); rt::apply_direct(interp, "shen.", &[__t626])? }; { - let __t640 = { let __t627 = v_W1387.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t627])? }; - if rt::is_truthy(interp, &__t640)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1388 = { let __t628 = v_W1387.clone(); rt::apply_direct(interp, "shen.<-out", &[__t628])? }; { let v_W1389 = { let __t629 = v_W1387.clone(); rt::apply_direct(interp, "shen.in->", &[__t629])? }; { let v_W1390 = { let __t630 = v_W1389.clone(); rt::apply_direct(interp, "", &[__t630])? }; { let __t639 = { let __t631 = v_W1390.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t631])? }; if rt::is_truthy(interp, &__t639)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1391 = { let __t632 = v_W1390.clone(); rt::apply_direct(interp, "shen.in->", &[__t632])? }; { let __t633 = v_W1385.clone(); let __t638 = { let __t634 = Value::sym(interp.intern("shen.-m")); let __t637 = { let __t635 = v_W1388.clone(); let __t636 = Value::nil(); rt::cons(&__t635, &__t636) }; rt::cons(&__t634, &__t637) }; rt::apply_direct(interp, "shen.comb", &[__t633, __t638])? } } } } } } } } + let __t640 = { let __t627 = v_W1401.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t627])? }; + if rt::is_truthy(interp, &__t640)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1402 = { let __t628 = v_W1401.clone(); rt::apply_direct(interp, "shen.<-out", &[__t628])? }; { let v_W1403 = { let __t629 = v_W1401.clone(); rt::apply_direct(interp, "shen.in->", &[__t629])? }; { let v_W1404 = { let __t630 = v_W1403.clone(); rt::apply_direct(interp, "", &[__t630])? }; { let __t639 = { let __t631 = v_W1404.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t631])? }; if rt::is_truthy(interp, &__t639)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1405 = { let __t632 = v_W1404.clone(); rt::apply_direct(interp, "shen.in->", &[__t632])? }; { let __t633 = v_W1399.clone(); let __t638 = { let __t634 = Value::sym(interp.intern("shen.-m")); let __t637 = { let __t635 = v_W1402.clone(); let __t636 = Value::nil(); rt::cons(&__t635, &__t636) }; rt::cons(&__t634, &__t637) }; rt::apply_direct(interp, "shen.comb", &[__t633, __t638])? } } } } } } } } } } } @@ -3230,7 +3230,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t644 = { - let __t643 = v_W1383.clone(); + let __t643 = v_W1397.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3244,10 +3244,10 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W1392 = { + let v_W1406 = { let __t671 = { let __t645 = - v_V1355.clone(); + v_V1369.clone(); rt::apply_direct( interp, "shen.ccons?", @@ -3258,22 +3258,22 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen interp, &__t671, )? { { - let v_W1393 = { - let __t646 = v_V1355.clone(); + let v_W1407 = { + let __t646 = v_V1369.clone(); rt::apply_direct(interp, "head", &[__t646])? }; { - let v_W1394 = { - let __t647 = v_V1355.clone(); + let v_W1408 = { + let __t647 = v_V1369.clone(); rt::apply_direct(interp, "tail", &[__t647])? }; { let __t670 = { - let __t648 = v_W1393.clone(); + let __t648 = v_W1407.clone(); let __t649 = Value::sym(interp.intern("mode")); rt::apply_direct(interp, "shen.hds=?", &[__t648, __t649])? }; - if rt::is_truthy(interp, &__t670)? { { let v_W1395 = { let __t650 = v_W1393.clone(); rt::apply_direct(interp, "tail", &[__t650])? }; { let v_W1396 = { let __t651 = v_W1395.clone(); rt::apply_direct(interp, "shen.", &[__t651])? }; { let __t669 = { let __t652 = v_W1396.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t652])? }; if rt::is_truthy(interp, &__t669)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1397 = { let __t653 = v_W1396.clone(); rt::apply_direct(interp, "shen.<-out", &[__t653])? }; { let v_W1398 = { let __t654 = v_W1396.clone(); rt::apply_direct(interp, "shen.in->", &[__t654])? }; { let __t668 = { let __t655 = v_W1398.clone(); let __t656 = Value::sym(interp.intern("+")); rt::apply_direct(interp, "shen.hds=?", &[__t655, __t656])? }; if rt::is_truthy(interp, &__t668)? { { let v_W1399 = { let __t657 = v_W1398.clone(); rt::apply_direct(interp, "tail", &[__t657])? }; { let v_W1400 = { let __t658 = v_W1399.clone(); rt::apply_direct(interp, "", &[__t658])? }; { let __t667 = { let __t659 = v_W1400.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t659])? }; if rt::is_truthy(interp, &__t667)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1401 = { let __t660 = v_W1400.clone(); rt::apply_direct(interp, "shen.in->", &[__t660])? }; { let __t661 = v_W1394.clone(); let __t666 = { let __t662 = Value::sym(interp.intern("shen.+m")); let __t665 = { let __t663 = v_W1397.clone(); let __t664 = Value::nil(); rt::cons(&__t663, &__t664) }; rt::cons(&__t662, &__t665) }; rt::apply_direct(interp, "shen.comb", &[__t661, __t666])? } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t670)? { { let v_W1409 = { let __t650 = v_W1407.clone(); rt::apply_direct(interp, "tail", &[__t650])? }; { let v_W1410 = { let __t651 = v_W1409.clone(); rt::apply_direct(interp, "shen.", &[__t651])? }; { let __t669 = { let __t652 = v_W1410.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t652])? }; if rt::is_truthy(interp, &__t669)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1411 = { let __t653 = v_W1410.clone(); rt::apply_direct(interp, "shen.<-out", &[__t653])? }; { let v_W1412 = { let __t654 = v_W1410.clone(); rt::apply_direct(interp, "shen.in->", &[__t654])? }; { let __t668 = { let __t655 = v_W1412.clone(); let __t656 = Value::sym(interp.intern("+")); rt::apply_direct(interp, "shen.hds=?", &[__t655, __t656])? }; if rt::is_truthy(interp, &__t668)? { { let v_W1413 = { let __t657 = v_W1412.clone(); rt::apply_direct(interp, "tail", &[__t657])? }; { let v_W1414 = { let __t658 = v_W1413.clone(); rt::apply_direct(interp, "", &[__t658])? }; { let __t667 = { let __t659 = v_W1414.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t659])? }; if rt::is_truthy(interp, &__t667)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1415 = { let __t660 = v_W1414.clone(); rt::apply_direct(interp, "shen.in->", &[__t660])? }; { let __t661 = v_W1408.clone(); let __t666 = { let __t662 = Value::sym(interp.intern("shen.+m")); let __t665 = { let __t663 = v_W1411.clone(); let __t664 = Value::nil(); rt::cons(&__t663, &__t664) }; rt::cons(&__t662, &__t665) }; rt::apply_direct(interp, "shen.comb", &[__t661, __t666])? } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } @@ -3286,7 +3286,7 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let __t673 = { let __t672 = - v_W1392.clone(); + v_W1406.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t672])? }; if match rt::is_truthy( @@ -3298,50 +3298,50 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } { { - let v_W1402 = { + let v_W1416 = { let __t700 = { - let __t674 = v_V1355.clone(); + let __t674 = v_V1369.clone(); rt::apply_direct(interp, "shen.ccons?", &[__t674])? }; - if rt::is_truthy(interp, &__t700)? { { let v_W1403 = { let __t675 = v_V1355.clone(); rt::apply_direct(interp, "head", &[__t675])? }; { let v_W1404 = { let __t676 = v_V1355.clone(); rt::apply_direct(interp, "tail", &[__t676])? }; { let __t699 = { let __t677 = v_W1403.clone(); let __t678 = Value::sym(interp.intern("mode")); rt::apply_direct(interp, "shen.hds=?", &[__t677, __t678])? }; if rt::is_truthy(interp, &__t699)? { { let v_W1405 = { let __t679 = v_W1403.clone(); rt::apply_direct(interp, "tail", &[__t679])? }; { let v_W1406 = { let __t680 = v_W1405.clone(); rt::apply_direct(interp, "shen.", &[__t680])? }; { let __t698 = { let __t681 = v_W1406.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t681])? }; if rt::is_truthy(interp, &__t698)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1407 = { let __t682 = v_W1406.clone(); rt::apply_direct(interp, "shen.<-out", &[__t682])? }; { let v_W1408 = { let __t683 = v_W1406.clone(); rt::apply_direct(interp, "shen.in->", &[__t683])? }; { let __t697 = { let __t684 = v_W1408.clone(); let __t685 = Value::sym(interp.intern("-")); rt::apply_direct(interp, "shen.hds=?", &[__t684, __t685])? }; if rt::is_truthy(interp, &__t697)? { { let v_W1409 = { let __t686 = v_W1408.clone(); rt::apply_direct(interp, "tail", &[__t686])? }; { let v_W1410 = { let __t687 = v_W1409.clone(); rt::apply_direct(interp, "", &[__t687])? }; { let __t696 = { let __t688 = v_W1410.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t688])? }; if rt::is_truthy(interp, &__t696)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1411 = { let __t689 = v_W1410.clone(); rt::apply_direct(interp, "shen.in->", &[__t689])? }; { let __t690 = v_W1404.clone(); let __t695 = { let __t691 = Value::sym(interp.intern("shen.-m")); let __t694 = { let __t692 = v_W1407.clone(); let __t693 = Value::nil(); rt::cons(&__t692, &__t693) }; rt::cons(&__t691, &__t694) }; rt::apply_direct(interp, "shen.comb", &[__t690, __t695])? } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t700)? { { let v_W1417 = { let __t675 = v_V1369.clone(); rt::apply_direct(interp, "head", &[__t675])? }; { let v_W1418 = { let __t676 = v_V1369.clone(); rt::apply_direct(interp, "tail", &[__t676])? }; { let __t699 = { let __t677 = v_W1417.clone(); let __t678 = Value::sym(interp.intern("mode")); rt::apply_direct(interp, "shen.hds=?", &[__t677, __t678])? }; if rt::is_truthy(interp, &__t699)? { { let v_W1419 = { let __t679 = v_W1417.clone(); rt::apply_direct(interp, "tail", &[__t679])? }; { let v_W1420 = { let __t680 = v_W1419.clone(); rt::apply_direct(interp, "shen.", &[__t680])? }; { let __t698 = { let __t681 = v_W1420.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t681])? }; if rt::is_truthy(interp, &__t698)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1421 = { let __t682 = v_W1420.clone(); rt::apply_direct(interp, "shen.<-out", &[__t682])? }; { let v_W1422 = { let __t683 = v_W1420.clone(); rt::apply_direct(interp, "shen.in->", &[__t683])? }; { let __t697 = { let __t684 = v_W1422.clone(); let __t685 = Value::sym(interp.intern("-")); rt::apply_direct(interp, "shen.hds=?", &[__t684, __t685])? }; if rt::is_truthy(interp, &__t697)? { { let v_W1423 = { let __t686 = v_W1422.clone(); rt::apply_direct(interp, "tail", &[__t686])? }; { let v_W1424 = { let __t687 = v_W1423.clone(); rt::apply_direct(interp, "", &[__t687])? }; { let __t696 = { let __t688 = v_W1424.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t688])? }; if rt::is_truthy(interp, &__t696)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1425 = { let __t689 = v_W1424.clone(); rt::apply_direct(interp, "shen.in->", &[__t689])? }; { let __t690 = v_W1418.clone(); let __t695 = { let __t691 = Value::sym(interp.intern("shen.-m")); let __t694 = { let __t692 = v_W1421.clone(); let __t693 = Value::nil(); rt::cons(&__t692, &__t693) }; rt::cons(&__t691, &__t694) }; rt::apply_direct(interp, "shen.comb", &[__t690, __t695])? } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } }; { let __t702 = { - let __t701 = v_W1402.clone(); + let __t701 = v_W1416.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t701])? }; - if match rt::is_truthy(interp, &__t702) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { break Ok(v_W1402.clone()); } + if match rt::is_truthy(interp, &__t702) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { break Ok(v_W1416.clone()); } } } } else { break Ok( - v_W1392.clone() + v_W1406.clone() ); } } } } else { - break Ok(v_W1383.clone()); + break Ok(v_W1397.clone()); } } } } else { - break Ok(v_W1374.clone()); + break Ok(v_W1388.clone()); } } } } else { - break Ok(v_W1362.clone()); + break Ok(v_W1376.clone()); } } } } else { - break Ok(v_W1359.clone()); + break Ok(v_W1373.clone()); } } } } else { - break Ok(v_W1356.clone()); + break Ok(v_W1370.clone()); } } } @@ -3365,11 +3365,11 @@ pub fn aot_shen_x2e_prolog_x2d_keyword_x3f_( ))); } #[allow(unused_mut)] - let mut v_V1412 = args[0].clone(); + let mut v_V1426 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t703 = v_V1412.clone(); + let __t703 = v_V1426.clone(); let __t709 = { let __t705 = { let __t704 = Value::str(";"); @@ -3405,12 +3405,12 @@ pub fn aot_atom_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1413 = args[0].clone(); + let mut v_V1427 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t711 = { - let __t710 = v_V1413.clone(); + let __t710 = v_V1427.clone(); rt::is_symbol(&__t710) }; if match rt::is_truthy(interp, &__t711) { @@ -3421,7 +3421,7 @@ pub fn aot_atom_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { } else { { let __t713 = { - let __t712 = v_V1413.clone(); + let __t712 = v_V1427.clone(); rt::is_string(&__t712) }; if match rt::is_truthy(interp, &__t713) { @@ -3432,7 +3432,7 @@ pub fn aot_atom_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { } else { { let __t715 = { - let __t714 = v_V1413.clone(); + let __t714 = v_V1427.clone(); rt::apply_direct(interp, "boolean?", &[__t714])? }; if match rt::is_truthy(interp, &__t715) { @@ -3443,7 +3443,7 @@ pub fn aot_atom_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { } else { { let __t717 = { - let __t716 = v_V1413.clone(); + let __t716 = v_V1427.clone(); rt::is_number(&__t716) }; if match rt::is_truthy(interp, &__t717) { @@ -3453,7 +3453,7 @@ pub fn aot_atom_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { break Ok(Value::bool(true)); } else { break Ok({ - let __t718 = v_V1413.clone(); + let __t718 = v_V1427.clone(); rt::apply_direct(interp, "empty?", &[__t718])? }); } @@ -3481,18 +3481,18 @@ pub fn aot_shen_x2e__x3c_hterm1_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V1414 = args[0].clone(); + let mut v_V1428 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1415 = { - let v_W1416 = { - let __t719 = v_V1414.clone(); + let v_W1429 = { + let v_W1430 = { + let __t719 = v_V1428.clone(); rt::apply_direct(interp, "shen.", &[__t719])? }; { let __t725 = { - let __t720 = v_W1416.clone(); + let __t720 = v_W1430.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t720])? }; if rt::is_truthy(interp, &__t725)? { @@ -3501,18 +3501,18 @@ pub fn aot_shen_x2e__x3c_hterm1_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W1417 = { - let __t721 = v_W1416.clone(); + let v_W1431 = { + let __t721 = v_W1430.clone(); rt::apply_direct(interp, "shen.<-out", &[__t721])? }; { - let v_W1418 = { - let __t722 = v_W1416.clone(); + let v_W1432 = { + let __t722 = v_W1430.clone(); rt::apply_direct(interp, "shen.in->", &[__t722])? }; { - let __t723 = v_W1418.clone(); - let __t724 = v_W1417.clone(); + let __t723 = v_W1432.clone(); + let __t724 = v_W1431.clone(); rt::apply_direct(interp, "shen.comb", &[__t723, __t724])? } } @@ -3522,7 +3522,7 @@ pub fn aot_shen_x2e__x3c_hterm1_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t727 = { - let __t726 = v_W1415.clone(); + let __t726 = v_W1429.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t726])? }; if match rt::is_truthy(interp, &__t727) { @@ -3531,7 +3531,7 @@ pub fn aot_shen_x2e__x3c_hterm1_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1415.clone()); + break Ok(v_W1429.clone()); } } } @@ -3552,18 +3552,18 @@ pub fn aot_shen_x2e__x3c_hterm2_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V1419 = args[0].clone(); + let mut v_V1433 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1420 = { - let v_W1421 = { - let __t728 = v_V1419.clone(); + let v_W1434 = { + let v_W1435 = { + let __t728 = v_V1433.clone(); rt::apply_direct(interp, "shen.", &[__t728])? }; { let __t734 = { - let __t729 = v_W1421.clone(); + let __t729 = v_W1435.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t729])? }; if rt::is_truthy(interp, &__t734)? { @@ -3572,18 +3572,18 @@ pub fn aot_shen_x2e__x3c_hterm2_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W1422 = { - let __t730 = v_W1421.clone(); + let v_W1436 = { + let __t730 = v_W1435.clone(); rt::apply_direct(interp, "shen.<-out", &[__t730])? }; { - let v_W1423 = { - let __t731 = v_W1421.clone(); + let v_W1437 = { + let __t731 = v_W1435.clone(); rt::apply_direct(interp, "shen.in->", &[__t731])? }; { - let __t732 = v_W1423.clone(); - let __t733 = v_W1422.clone(); + let __t732 = v_W1437.clone(); + let __t733 = v_W1436.clone(); rt::apply_direct(interp, "shen.comb", &[__t732, __t733])? } } @@ -3593,7 +3593,7 @@ pub fn aot_shen_x2e__x3c_hterm2_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t736 = { - let __t735 = v_W1420.clone(); + let __t735 = v_W1434.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t735])? }; if match rt::is_truthy(interp, &__t736) { @@ -3602,7 +3602,7 @@ pub fn aot_shen_x2e__x3c_hterm2_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1420.clone()); + break Ok(v_W1434.clone()); } } } @@ -3623,18 +3623,18 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V1424 = args[0].clone(); + let mut v_V1438 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1425 = { - let v_W1426 = { - let __t737 = v_V1424.clone(); + let v_W1439 = { + let v_W1440 = { + let __t737 = v_V1438.clone(); rt::apply_direct(interp, "shen.", &[__t737])? }; { let __t750 = { - let __t738 = v_W1426.clone(); + let __t738 = v_W1440.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t738])? }; if rt::is_truthy(interp, &__t750)? { @@ -3643,23 +3643,23 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W1427 = { - let __t739 = v_W1426.clone(); + let v_W1441 = { + let __t739 = v_W1440.clone(); rt::apply_direct(interp, "shen.<-out", &[__t739])? }; { - let v_W1428 = { - let __t740 = v_W1426.clone(); + let v_W1442 = { + let __t740 = v_W1440.clone(); rt::apply_direct(interp, "shen.in->", &[__t740])? }; { - let v_W1429 = { - let __t741 = v_W1428.clone(); + let v_W1443 = { + let __t741 = v_W1442.clone(); rt::apply_direct(interp, "shen.", &[__t741])? }; { let __t749 = { - let __t742 = v_W1429.clone(); + let __t742 = v_W1443.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3672,8 +3672,8 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W1430 = { - let __t743 = v_W1429.clone(); + let v_W1444 = { + let __t743 = v_W1443.clone(); rt::apply_direct( interp, "shen.<-out", @@ -3681,8 +3681,8 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W1431 = { - let __t744 = v_W1429.clone(); + let v_W1445 = { + let __t744 = v_W1443.clone(); rt::apply_direct( interp, "shen.in->", @@ -3690,10 +3690,10 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let __t745 = v_W1431.clone(); + let __t745 = v_W1445.clone(); let __t748 = { - let __t746 = v_W1427.clone(); - let __t747 = v_W1430.clone(); + let __t746 = v_W1441.clone(); + let __t747 = v_W1444.clone(); rt::cons(&__t746, &__t747) }; rt::apply_direct( @@ -3714,7 +3714,7 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t752 = { - let __t751 = v_W1425.clone(); + let __t751 = v_W1439.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t751])? }; if match rt::is_truthy(interp, &__t752) { @@ -3722,14 +3722,14 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W1432 = { - let v_W1433 = { - let __t753 = v_V1424.clone(); + let v_W1446 = { + let v_W1447 = { + let __t753 = v_V1438.clone(); rt::apply_direct(interp, "", &[__t753])? }; { let __t758 = { - let __t754 = v_W1433.clone(); + let __t754 = v_W1447.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t754])? }; if rt::is_truthy(interp, &__t758)? { @@ -3738,12 +3738,12 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W1434 = { - let __t755 = v_W1433.clone(); + let v_W1448 = { + let __t755 = v_W1447.clone(); rt::apply_direct(interp, "shen.in->", &[__t755])? }; { - let __t756 = v_W1434.clone(); + let __t756 = v_W1448.clone(); let __t757 = Value::nil(); rt::apply_direct( interp, @@ -3757,7 +3757,7 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t760 = { - let __t759 = v_W1432.clone(); + let __t759 = v_W1446.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t759])? }; if match rt::is_truthy(interp, &__t760) { @@ -3766,12 +3766,12 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1432.clone()); + break Ok(v_W1446.clone()); } } } } else { - break Ok(v_W1425.clone()); + break Ok(v_W1439.clone()); } } } @@ -3792,24 +3792,24 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V1435 = args[0].clone(); + let mut v_V1449 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1436 = { + let v_W1450 = { let __t766 = { - let __t761 = v_V1435.clone(); + let __t761 = v_V1449.clone(); let __t762 = Value::sym(interp.intern("!")); rt::apply_direct(interp, "shen.hds=?", &[__t761, __t762])? }; if rt::is_truthy(interp, &__t766)? { { - let v_W1437 = { - let __t763 = v_V1435.clone(); + let v_W1451 = { + let __t763 = v_V1449.clone(); rt::apply_direct(interp, "tail", &[__t763])? }; { - let __t764 = v_W1437.clone(); + let __t764 = v_W1451.clone(); let __t765 = Value::sym(interp.intern("!")); rt::apply_direct(interp, "shen.comb", &[__t764, __t765])? } @@ -3822,7 +3822,7 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t768 = { - let __t767 = v_W1436.clone(); + let __t767 = v_W1450.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t767])? }; if match rt::is_truthy(interp, &__t768) { @@ -3830,25 +3830,25 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_W1438 = { + let v_W1452 = { let __t783 = { - let __t769 = v_V1435.clone(); + let __t769 = v_V1449.clone(); rt::apply_direct(interp, "shen.ccons?", &[__t769])? }; if rt::is_truthy(interp, &__t783)? { { - let v_W1439 = { - let __t770 = v_V1435.clone(); + let v_W1453 = { + let __t770 = v_V1449.clone(); rt::apply_direct(interp, "head", &[__t770])? }; { - let v_W1440 = { - let __t771 = v_V1435.clone(); + let v_W1454 = { + let __t771 = v_V1449.clone(); rt::apply_direct(interp, "tail", &[__t771])? }; { - let v_W1441 = { - let __t772 = v_W1439.clone(); + let v_W1455 = { + let __t772 = v_W1453.clone(); rt::apply_direct( interp, "shen.", @@ -3857,7 +3857,7 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t782 = { - let __t773 = v_W1441.clone(); + let __t773 = v_W1455.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3874,8 +3874,8 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W1442 = { - let __t774 = v_W1441.clone(); + let v_W1456 = { + let __t774 = v_W1455.clone(); rt::apply_direct( interp, "shen.<-out", @@ -3883,8 +3883,8 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let v_W1443 = { - let __t775 = v_W1441.clone(); + let v_W1457 = { + let __t775 = v_W1455.clone(); rt::apply_direct( interp, "shen.in->", @@ -3892,8 +3892,8 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let v_W1444 = { - let __t776 = v_W1443.clone(); + let v_W1458 = { + let __t776 = v_W1457.clone(); rt::apply_direct( interp, "", @@ -3903,7 +3903,7 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh { let __t781 = { let __t777 = - v_W1444.clone(); + v_W1458.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3918,9 +3918,9 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W1445 = { + let v_W1459 = { let __t778 = - v_W1444.clone(); + v_W1458.clone(); rt::apply_direct( interp, "shen.in->", @@ -3929,9 +3929,9 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t779 = - v_W1440.clone(); + v_W1454.clone(); let __t780 = - v_W1442.clone(); + v_W1456.clone(); rt::apply_direct( interp, "shen.comb", @@ -3960,7 +3960,7 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t785 = { - let __t784 = v_W1438.clone(); + let __t784 = v_W1452.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t784])? }; if match rt::is_truthy(interp, &__t785) { @@ -3969,12 +3969,12 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1438.clone()); + break Ok(v_W1452.clone()); } } } } else { - break Ok(v_W1436.clone()); + break Ok(v_W1450.clone()); } } } @@ -3995,18 +3995,18 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V1446 = args[0].clone(); + let mut v_V1460 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1447 = { - let v_W1448 = { - let __t786 = v_V1446.clone(); + let v_W1461 = { + let v_W1462 = { + let __t786 = v_V1460.clone(); rt::apply_direct(interp, "shen.", &[__t786])? }; { let __t799 = { - let __t787 = v_W1448.clone(); + let __t787 = v_W1462.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t787])? }; if rt::is_truthy(interp, &__t799)? { @@ -4015,23 +4015,23 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W1449 = { - let __t788 = v_W1448.clone(); + let v_W1463 = { + let __t788 = v_W1462.clone(); rt::apply_direct(interp, "shen.<-out", &[__t788])? }; { - let v_W1450 = { - let __t789 = v_W1448.clone(); + let v_W1464 = { + let __t789 = v_W1462.clone(); rt::apply_direct(interp, "shen.in->", &[__t789])? }; { - let v_W1451 = { - let __t790 = v_W1450.clone(); + let v_W1465 = { + let __t790 = v_W1464.clone(); rt::apply_direct(interp, "shen.", &[__t790])? }; { let __t798 = { - let __t791 = v_W1451.clone(); + let __t791 = v_W1465.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -4044,8 +4044,8 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W1452 = { - let __t792 = v_W1451.clone(); + let v_W1466 = { + let __t792 = v_W1465.clone(); rt::apply_direct( interp, "shen.<-out", @@ -4053,8 +4053,8 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W1453 = { - let __t793 = v_W1451.clone(); + let v_W1467 = { + let __t793 = v_W1465.clone(); rt::apply_direct( interp, "shen.in->", @@ -4062,10 +4062,10 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let __t794 = v_W1453.clone(); + let __t794 = v_W1467.clone(); let __t797 = { - let __t795 = v_W1449.clone(); - let __t796 = v_W1452.clone(); + let __t795 = v_W1463.clone(); + let __t796 = v_W1466.clone(); rt::cons(&__t795, &__t796) }; rt::apply_direct( @@ -4086,7 +4086,7 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t801 = { - let __t800 = v_W1447.clone(); + let __t800 = v_W1461.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t800])? }; if match rt::is_truthy(interp, &__t801) { @@ -4094,14 +4094,14 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W1454 = { - let v_W1455 = { - let __t802 = v_V1446.clone(); + let v_W1468 = { + let v_W1469 = { + let __t802 = v_V1460.clone(); rt::apply_direct(interp, "", &[__t802])? }; { let __t807 = { - let __t803 = v_W1455.clone(); + let __t803 = v_W1469.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t803])? }; if rt::is_truthy(interp, &__t807)? { @@ -4110,12 +4110,12 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W1456 = { - let __t804 = v_W1455.clone(); + let v_W1470 = { + let __t804 = v_W1469.clone(); rt::apply_direct(interp, "shen.in->", &[__t804])? }; { - let __t805 = v_W1456.clone(); + let __t805 = v_W1470.clone(); let __t806 = Value::nil(); rt::apply_direct( interp, @@ -4129,7 +4129,7 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t809 = { - let __t808 = v_W1454.clone(); + let __t808 = v_W1468.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t808])? }; if match rt::is_truthy(interp, &__t809) { @@ -4138,12 +4138,12 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1454.clone()); + break Ok(v_W1468.clone()); } } } } else { - break Ok(v_W1447.clone()); + break Ok(v_W1461.clone()); } } } @@ -4164,18 +4164,18 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V1457 = args[0].clone(); + let mut v_V1471 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1458 = { - let v_W1459 = { - let __t810 = v_V1457.clone(); + let v_W1472 = { + let v_W1473 = { + let __t810 = v_V1471.clone(); rt::apply_direct(interp, "shen.", &[__t810])? }; { let __t816 = { - let __t811 = v_W1459.clone(); + let __t811 = v_W1473.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t811])? }; if rt::is_truthy(interp, &__t816)? { @@ -4184,18 +4184,18 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W1460 = { - let __t812 = v_W1459.clone(); + let v_W1474 = { + let __t812 = v_W1473.clone(); rt::apply_direct(interp, "shen.<-out", &[__t812])? }; { - let v_W1461 = { - let __t813 = v_W1459.clone(); + let v_W1475 = { + let __t813 = v_W1473.clone(); rt::apply_direct(interp, "shen.in->", &[__t813])? }; { - let __t814 = v_W1461.clone(); - let __t815 = v_W1460.clone(); + let __t814 = v_W1475.clone(); + let __t815 = v_W1474.clone(); rt::apply_direct(interp, "shen.comb", &[__t814, __t815])? } } @@ -4205,7 +4205,7 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t818 = { - let __t817 = v_W1458.clone(); + let __t817 = v_W1472.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t817])? }; if match rt::is_truthy(interp, &__t818) { @@ -4213,31 +4213,31 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W1462 = { + let v_W1476 = { let __t826 = { - let __t819 = v_V1457.clone(); + let __t819 = v_V1471.clone(); rt::is_cons(&__t819) }; if rt::is_truthy(interp, &__t826)? { { - let v_W1463 = { - let __t820 = v_V1457.clone(); + let v_W1477 = { + let __t820 = v_V1471.clone(); rt::apply_direct(interp, "head", &[__t820])? }; { - let v_W1464 = { - let __t821 = v_V1457.clone(); + let v_W1478 = { + let __t821 = v_V1471.clone(); rt::apply_direct(interp, "tail", &[__t821])? }; { let __t825 = { - let __t822 = v_W1463.clone(); + let __t822 = v_W1477.clone(); rt::apply_direct(interp, "atom?", &[__t822])? }; if rt::is_truthy(interp, &__t825)? { { - let __t823 = v_W1464.clone(); - let __t824 = v_W1463.clone(); + let __t823 = v_W1478.clone(); + let __t824 = v_W1477.clone(); rt::apply_direct( interp, "shen.comb", @@ -4264,7 +4264,7 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t828 = { - let __t827 = v_W1462.clone(); + let __t827 = v_W1476.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t827])? }; if match rt::is_truthy(interp, &__t828) { @@ -4272,25 +4272,25 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W1465 = { + let v_W1479 = { let __t843 = { - let __t829 = v_V1457.clone(); + let __t829 = v_V1471.clone(); rt::apply_direct(interp, "shen.ccons?", &[__t829])? }; if rt::is_truthy(interp, &__t843)? { { - let v_W1466 = { - let __t830 = v_V1457.clone(); + let v_W1480 = { + let __t830 = v_V1471.clone(); rt::apply_direct(interp, "head", &[__t830])? }; { - let v_W1467 = { - let __t831 = v_V1457.clone(); + let v_W1481 = { + let __t831 = v_V1471.clone(); rt::apply_direct(interp, "tail", &[__t831])? }; { - let v_W1468 = { - let __t832 = v_W1466.clone(); + let v_W1482 = { + let __t832 = v_W1480.clone(); rt::apply_direct( interp, "shen.", @@ -4299,7 +4299,7 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t842 = { - let __t833 = v_W1468.clone(); + let __t833 = v_W1482.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -4316,9 +4316,9 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W1469 = { + let v_W1483 = { let __t834 = - v_W1468.clone(); + v_W1482.clone(); rt::apply_direct( interp, "shen.<-out", @@ -4326,9 +4326,9 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W1470 = { + let v_W1484 = { let __t835 = - v_W1468.clone(); + v_W1482.clone(); rt::apply_direct( interp, "shen.in->", @@ -4336,9 +4336,9 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W1471 = { + let v_W1485 = { let __t836 = - v_W1470.clone(); + v_W1484.clone(); rt::apply_direct( interp, "", @@ -4348,7 +4348,7 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let __t841 = { let __t837 = - v_W1471 + v_W1485 .clone( ); rt::apply_direct(interp, "shen.parse-failure?", &[__t837])? @@ -4361,13 +4361,13 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W1472 = { - let __t838 = v_W1471.clone(); + let v_W1486 = { + let __t838 = v_W1485.clone(); rt::apply_direct(interp, "shen.in->", &[__t838])? }; { - let __t839 = v_W1467.clone(); - let __t840 = v_W1469.clone(); + let __t839 = v_W1481.clone(); + let __t840 = v_W1483.clone(); rt::apply_direct(interp, "shen.comb", &[__t839, __t840])? } } @@ -4389,7 +4389,7 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t845 = { - let __t844 = v_W1465.clone(); + let __t844 = v_W1479.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -4404,17 +4404,17 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1465.clone()); + break Ok(v_W1479.clone()); } } } } else { - break Ok(v_W1462.clone()); + break Ok(v_W1476.clone()); } } } } else { - break Ok(v_W1458.clone()); + break Ok(v_W1472.clone()); } } } @@ -4435,35 +4435,35 @@ pub fn aot_shen_x2e__x3c_wildcard_x3e_(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V1473 = args[0].clone(); + let mut v_V1487 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1474 = { + let v_W1488 = { let __t855 = { - let __t846 = v_V1473.clone(); + let __t846 = v_V1487.clone(); rt::is_cons(&__t846) }; if rt::is_truthy(interp, &__t855)? { { - let v_W1475 = { - let __t847 = v_V1473.clone(); + let v_W1489 = { + let __t847 = v_V1487.clone(); rt::apply_direct(interp, "head", &[__t847])? }; { - let v_W1476 = { - let __t848 = v_V1473.clone(); + let v_W1490 = { + let __t848 = v_V1487.clone(); rt::apply_direct(interp, "tail", &[__t848])? }; { let __t854 = { - let __t849 = v_W1475.clone(); + let __t849 = v_W1489.clone(); let __t850 = Value::sym(interp.intern("_")); rt::eq(&__t849, &__t850) }; if rt::is_truthy(interp, &__t854)? { { - let __t851 = v_W1476.clone(); + let __t851 = v_W1490.clone(); let __t853 = { let __t852 = Value::sym(interp.intern("Y")); rt::apply_direct(interp, "gensym", &[__t852])? @@ -4486,7 +4486,7 @@ pub fn aot_shen_x2e__x3c_wildcard_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t857 = { - let __t856 = v_W1474.clone(); + let __t856 = v_W1488.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t856])? }; if match rt::is_truthy(interp, &__t857) { @@ -4495,7 +4495,7 @@ pub fn aot_shen_x2e__x3c_wildcard_x3e_(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1474.clone()); + break Ok(v_W1488.clone()); } } } @@ -4516,35 +4516,35 @@ pub fn aot_shen_x2e__x3c_sc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V1477 = args[0].clone(); + let mut v_V1491 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1478 = { + let v_W1492 = { let __t865 = { - let __t858 = v_V1477.clone(); + let __t858 = v_V1491.clone(); rt::is_cons(&__t858) }; if rt::is_truthy(interp, &__t865)? { { - let v_W1479 = { - let __t859 = v_V1477.clone(); + let v_W1493 = { + let __t859 = v_V1491.clone(); rt::apply_direct(interp, "head", &[__t859])? }; { - let v_W1480 = { - let __t860 = v_V1477.clone(); + let v_W1494 = { + let __t860 = v_V1491.clone(); rt::apply_direct(interp, "tail", &[__t860])? }; { let __t864 = { - let __t861 = v_W1479.clone(); + let __t861 = v_W1493.clone(); rt::apply_direct(interp, "shen.semicolon?", &[__t861])? }; if rt::is_truthy(interp, &__t864)? { { - let __t862 = v_W1480.clone(); - let __t863 = v_W1479.clone(); + let __t862 = v_W1494.clone(); + let __t863 = v_W1493.clone(); rt::apply_direct(interp, "shen.comb", &[__t862, __t863])? } } else { @@ -4563,7 +4563,7 @@ pub fn aot_shen_x2e__x3c_sc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRes }; { let __t867 = { - let __t866 = v_W1478.clone(); + let __t866 = v_W1492.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t866])? }; if match rt::is_truthy(interp, &__t867) { @@ -4572,7 +4572,7 @@ pub fn aot_shen_x2e__x3c_sc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRes } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W1478.clone()); + break Ok(v_W1492.clone()); } } } @@ -4596,50 +4596,50 @@ pub fn aot_shen_x2e_horn_x2d_clause_x2d_procedure( ))); } #[allow(unused_mut)] - let mut v_V1481 = args[0].clone(); + let mut v_V1495 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1482 = args[1].clone(); + let mut v_V1496 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1483 = { + let v_W1497 = { let __t868 = Value::sym(interp.intern("B")); rt::apply_direct(interp, "gensym", &[__t868])? }; { - let v_W1484 = { + let v_W1498 = { let __t869 = Value::sym(interp.intern("L")); rt::apply_direct(interp, "gensym", &[__t869])? }; { - let v_W1485 = { + let v_W1499 = { let __t870 = Value::sym(interp.intern("K")); rt::apply_direct(interp, "gensym", &[__t870])? }; { - let v_W1486 = { + let v_W1500 = { let __t871 = Value::sym(interp.intern("C")); rt::apply_direct(interp, "gensym", &[__t871])? }; { - let v_W1487 = { - let __t872 = v_V1482.clone(); + let v_W1501 = { + let __t872 = v_V1496.clone(); rt::apply_direct(interp, "shen.prolog-parameters", &[__t872])? }; { - let v_W1488 = { - let __t873 = v_V1482.clone(); + let v_W1502 = { + let __t873 = v_V1496.clone(); rt::apply_direct(interp, "shen.hascut?", &[__t873])? }; { - let v_W1489 = { - let __t874 = v_V1482.clone(); - let __t875 = v_W1487.clone(); - let __t876 = v_W1483.clone(); - let __t877 = v_W1484.clone(); - let __t878 = v_W1485.clone(); - let __t879 = v_W1486.clone(); - let __t880 = v_W1488.clone(); + let v_W1503 = { + let __t874 = v_V1496.clone(); + let __t875 = v_W1501.clone(); + let __t876 = v_W1497.clone(); + let __t877 = v_W1498.clone(); + let __t878 = v_W1499.clone(); + let __t879 = v_W1500.clone(); + let __t880 = v_W1502.clone(); rt::apply_direct( interp, "shen.prolog-fbody", @@ -4650,19 +4650,19 @@ pub fn aot_shen_x2e_horn_x2d_clause_x2d_procedure( )? }; { - let v_W1490 = { - let __t895 = v_W1488.clone(); + let v_W1504 = { + let __t895 = v_W1502.clone(); if rt::is_truthy(interp, &__t895)? { { let __t881 = Value::sym(interp.intern("let")); let __t894 = { - let __t882 = v_W1485.clone(); + let __t882 = v_W1499.clone(); let __t893 = { let __t889 = { let __t883 = Value::sym(interp.intern("+")); let __t888 = { - let __t884 = v_W1485.clone(); + let __t884 = v_W1499.clone(); let __t887 = { let __t885 = Value::int(1i64); @@ -4674,7 +4674,7 @@ pub fn aot_shen_x2e_horn_x2d_clause_x2d_procedure( rt::cons(&__t883, &__t888) }; let __t892 = { - let __t890 = v_W1489.clone(); + let __t890 = v_W1503.clone(); let __t891 = Value::nil(); rt::cons(&__t890, &__t891) }; @@ -4685,27 +4685,27 @@ pub fn aot_shen_x2e_horn_x2d_clause_x2d_procedure( rt::cons(&__t881, &__t894) } } else { - v_W1489.clone() + v_W1503.clone() } }; { - let v_W1491 = { + let v_W1505 = { let __t896 = Value::sym(interp.intern("define")); let __t915 = { - let __t897 = v_V1481.clone(); + let __t897 = v_V1495.clone(); let __t914 = { - let __t898 = v_W1487.clone(); + let __t898 = v_W1501.clone(); let __t913 = { let __t909 = { - let __t899 = v_W1483.clone(); + let __t899 = v_W1497.clone(); let __t908 = { - let __t900 = v_W1484.clone(); + let __t900 = v_W1498.clone(); let __t907 = { let __t901 = - v_W1485.clone(); + v_W1499.clone(); let __t906 = { let __t902 = - v_W1486.clone(); + v_W1500.clone(); let __t905 = { let __t903 = Value::sym( @@ -4732,7 +4732,7 @@ pub fn aot_shen_x2e_horn_x2d_clause_x2d_procedure( rt::cons(&__t899, &__t908) }; let __t912 = { - let __t910 = v_W1490.clone(); + let __t910 = v_W1504.clone(); let __t911 = Value::nil(); rt::cons(&__t910, &__t911) }; @@ -4752,7 +4752,7 @@ pub fn aot_shen_x2e_horn_x2d_clause_x2d_procedure( }; rt::cons(&__t896, &__t915) }; - break Ok(v_W1491.clone()); + break Ok(v_W1505.clone()); } } } @@ -4786,13 +4786,13 @@ pub fn aot_shen_x2e_hascut_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V1494 = args[0].clone(); + let mut v_V1508 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t926 = { let __t924 = Value::sym(interp.intern("!")); - let __t925 = v_V1494.clone(); + let __t925 = v_V1508.clone(); rt::eq(&__t924, &__t925) }; if match rt::is_truthy(interp, &__t926) { @@ -4803,7 +4803,7 @@ pub fn aot_shen_x2e_hascut_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu } else { { let __t923 = { - let __t917 = v_V1494.clone(); + let __t917 = v_V1508.clone(); rt::is_cons(&__t917) }; if match rt::is_truthy(interp, &__t923) { @@ -4813,7 +4813,7 @@ pub fn aot_shen_x2e_hascut_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t920 = { let __t919 = { - let __t918 = v_V1494.clone(); + let __t918 = v_V1508.clone(); rt::hd(&__t918)? }; rt::apply_direct(interp, "shen.hascut?", &[__t919])? @@ -4826,10 +4826,10 @@ pub fn aot_shen_x2e_hascut_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu } else { { let __t922 = { - let __t921 = v_V1494.clone(); + let __t921 = v_V1508.clone(); rt::tl(&__t921)? }; - v_V1494 = __t922; + v_V1508 = __t922; continue; } } @@ -4870,13 +4870,13 @@ pub fn aot_shen_x2e_prolog_x2d_parameters( ))); } #[allow(unused_mut)] - let mut v_V1499 = args[0].clone(); + let mut v_V1513 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t938 = { let __t932 = { - let __t929 = v_V1499.clone(); + let __t929 = v_V1513.clone(); rt::is_cons(&__t929) }; if !rt::is_truthy(interp, &__t932)? { @@ -4884,7 +4884,7 @@ pub fn aot_shen_x2e_prolog_x2d_parameters( } else { let __t933 = { let __t931 = { - let __t930 = v_V1499.clone(); + let __t930 = v_V1513.clone(); rt::hd(&__t930)? }; rt::is_cons(&__t931) @@ -4900,7 +4900,7 @@ pub fn aot_shen_x2e_prolog_x2d_parameters( let __t937 = { let __t936 = { let __t935 = { - let __t934 = v_V1499.clone(); + let __t934 = v_V1513.clone(); rt::hd(&__t934)? }; rt::hd(&__t935)? @@ -4947,26 +4947,26 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V1520 = args[0].clone(); + let mut v_V1534 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1521 = args[1].clone(); + let mut v_V1535 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1522 = args[2].clone(); + let mut v_V1536 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1523 = args[3].clone(); + let mut v_V1537 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1524 = args[4].clone(); + let mut v_V1538 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1525 = args[5].clone(); + let mut v_V1539 = args[5].clone(); #[allow(unused_mut)] - let mut v_V1526 = args[6].clone(); + let mut v_V1540 = args[6].clone(); #[allow(clippy::never_loop)] loop { { let __t1089 = { let __t1081 = { let __t1077 = Value::nil(); - let __t1078 = v_V1520.clone(); + let __t1078 = v_V1534.clone(); rt::eq(&__t1077, &__t1078) }; if !rt::is_truthy(interp, &__t1081)? { @@ -4974,7 +4974,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She } else { let __t1082 = { let __t1079 = Value::bool(true); - let __t1080 = v_V1526.clone(); + let __t1080 = v_V1540.clone(); rt::eq(&__t1079, &__t1080) }; Value::bool(rt::is_truthy(interp, &__t1082)?) @@ -4987,9 +4987,9 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She break Ok({ let __t1083 = Value::sym(interp.intern("shen.unlock")); let __t1088 = { - let __t1084 = v_V1523.clone(); + let __t1084 = v_V1537.clone(); let __t1087 = { - let __t1085 = v_V1524.clone(); + let __t1085 = v_V1538.clone(); let __t1086 = Value::nil(); rt::cons(&__t1085, &__t1086) }; @@ -5001,7 +5001,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She { let __t1076 = { let __t1044 = { - let __t1020 = v_V1520.clone(); + let __t1020 = v_V1534.clone(); rt::is_cons(&__t1020) }; if !rt::is_truthy(interp, &__t1044)? { @@ -5010,7 +5010,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t1045 = { let __t1042 = { let __t1022 = { - let __t1021 = v_V1520.clone(); + let __t1021 = v_V1534.clone(); rt::hd(&__t1021)? }; rt::is_cons(&__t1022) @@ -5022,7 +5022,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t1040 = { let __t1025 = { let __t1024 = { - let __t1023 = v_V1520.clone(); + let __t1023 = v_V1534.clone(); rt::hd(&__t1023)? }; rt::tl(&__t1024)? @@ -5038,7 +5038,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t1030 = { let __t1029 = { let __t1028 = { - let __t1027 = v_V1520.clone(); + let __t1027 = v_V1534.clone(); rt::hd(&__t1027)? }; rt::tl(&__t1028)? @@ -5054,7 +5054,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t1036 = { let __t1031 = Value::nil(); let __t1033 = { - let __t1032 = v_V1520.clone(); + let __t1032 = v_V1534.clone(); rt::tl(&__t1032)? }; rt::eq(&__t1031, &__t1033) @@ -5064,7 +5064,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She } else { let __t1037 = { let __t1034 = Value::bool(false); - let __t1035 = v_V1526.clone(); + let __t1035 = v_V1540.clone(); rt::eq(&__t1034, &__t1035) }; Value::bool(rt::is_truthy( @@ -5089,10 +5089,10 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W1527 = { + let v_W1541 = { let __t1048 = { let __t1047 = { - let __t1046 = v_V1520.clone(); + let __t1046 = v_V1534.clone(); rt::hd(&__t1046)? }; rt::hd(&__t1047)? @@ -5100,17 +5100,17 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t1052 = { let __t1051 = { let __t1050 = { - let __t1049 = v_V1520.clone(); + let __t1049 = v_V1534.clone(); rt::hd(&__t1049)? }; rt::tl(&__t1050)? }; rt::hd(&__t1051)? }; - let __t1053 = v_V1522.clone(); - let __t1054 = v_V1523.clone(); - let __t1055 = v_V1524.clone(); - let __t1056 = v_V1525.clone(); + let __t1053 = v_V1536.clone(); + let __t1054 = v_V1537.clone(); + let __t1055 = v_V1538.clone(); + let __t1056 = v_V1539.clone(); rt::apply_direct( interp, "shen.continue", @@ -5123,7 +5123,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t1062 = { let __t1058 = Value::sym(interp.intern("shen.unlocked?")); let __t1061 = { - let __t1059 = v_V1523.clone(); + let __t1059 = v_V1537.clone(); let __t1060 = Value::nil(); rt::cons(&__t1059, &__t1060) }; @@ -5134,14 +5134,14 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t1063 = Value::sym(interp.intern("shen.+m")); let __t1066 = { let __t1065 = { - let __t1064 = v_V1520.clone(); + let __t1064 = v_V1534.clone(); rt::hd(&__t1064)? }; rt::hd(&__t1065)? }; - let __t1067 = v_V1521.clone(); - let __t1068 = v_V1522.clone(); - let __t1069 = v_W1527.clone(); + let __t1067 = v_V1535.clone(); + let __t1068 = v_V1536.clone(); + let __t1069 = v_W1541.clone(); rt::apply_direct( interp, "shen.compile-head", @@ -5164,7 +5164,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She { let __t1019 = { let __t956 = { - let __t941 = v_V1520.clone(); + let __t941 = v_V1534.clone(); rt::is_cons(&__t941) }; if !rt::is_truthy(interp, &__t956)? { @@ -5173,7 +5173,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t957 = { let __t954 = { let __t943 = { - let __t942 = v_V1520.clone(); + let __t942 = v_V1534.clone(); rt::hd(&__t942)? }; rt::is_cons(&__t943) @@ -5185,7 +5185,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t952 = { let __t946 = { let __t945 = { - let __t944 = v_V1520.clone(); + let __t944 = v_V1534.clone(); rt::hd(&__t944)? }; rt::tl(&__t945)? @@ -5200,7 +5200,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t951 = { let __t950 = { let __t949 = { - let __t948 = v_V1520.clone(); + let __t948 = v_V1534.clone(); rt::hd(&__t948)? }; rt::tl(&__t949)? @@ -5223,15 +5223,15 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W1528 = { + let v_W1542 = { let __t958 = Value::sym(interp.intern("C")); rt::apply_direct(interp, "gensym", &[__t958])? }; { - let v_W1529 = { + let v_W1543 = { let __t961 = { let __t960 = { - let __t959 = v_V1520.clone(); + let __t959 = v_V1534.clone(); rt::hd(&__t959)? }; rt::hd(&__t960)? @@ -5239,17 +5239,17 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t965 = { let __t964 = { let __t963 = { - let __t962 = v_V1520.clone(); + let __t962 = v_V1534.clone(); rt::hd(&__t962)? }; rt::tl(&__t963)? }; rt::hd(&__t964)? }; - let __t966 = v_V1522.clone(); - let __t967 = v_V1523.clone(); - let __t968 = v_V1524.clone(); - let __t969 = v_V1525.clone(); + let __t966 = v_V1536.clone(); + let __t967 = v_V1537.clone(); + let __t968 = v_V1538.clone(); + let __t969 = v_V1539.clone(); rt::apply_direct( interp, "shen.continue", @@ -5259,7 +5259,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She break Ok({ let __t970 = Value::sym(interp.intern("let")); let __t1018 = { - let __t971 = v_W1528.clone(); + let __t971 = v_W1542.clone(); let __t1017 = { let __t991 = { let __t972 = @@ -5270,7 +5270,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She interp.intern("shen.unlocked?"), ); let __t976 = { - let __t974 = v_V1523.clone(); + let __t974 = v_V1537.clone(); let __t975 = Value::nil(); rt::cons(&__t974, &__t975) }; @@ -5284,14 +5284,14 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t981 = { let __t980 = { let __t979 = - v_V1520.clone(); + v_V1534.clone(); rt::hd(&__t979)? }; rt::hd(&__t980)? }; - let __t982 = v_V1521.clone(); - let __t983 = v_V1522.clone(); - let __t984 = v_W1529.clone(); + let __t982 = v_V1535.clone(); + let __t983 = v_V1536.clone(); + let __t984 = v_W1543.clone(); rt::apply_direct( interp, "shen.compile-head", @@ -5323,7 +5323,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She ); let __t998 = { let __t994 = - v_W1528.clone(); + v_W1542.clone(); let __t997 = { let __t995 = Value::bool(false); @@ -5341,21 +5341,21 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She let __t1008 = { let __t1001 = { let __t1000 = - v_V1520.clone(); + v_V1534.clone(); rt::tl(&__t1000)? }; let __t1002 = - v_V1521.clone(); + v_V1535.clone(); let __t1003 = - v_V1522.clone(); + v_V1536.clone(); let __t1004 = - v_V1523.clone(); + v_V1537.clone(); let __t1005 = - v_V1524.clone(); + v_V1538.clone(); let __t1006 = - v_V1525.clone(); + v_V1539.clone(); let __t1007 = - v_V1526.clone(); + v_V1540.clone(); rt::apply_direct( interp, "shen.prolog-fbody", @@ -5369,7 +5369,7 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She }; let __t1011 = { let __t1009 = - v_W1528.clone(); + v_W1542.clone(); let __t1010 = Value::nil(); rt::cons(&__t1009, &__t1010) }; @@ -5430,23 +5430,23 @@ pub fn aot_shen_x2e_unlock(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult break Err(e), } { break Ok({ - let __t1096 = v_V1530.clone(); + let __t1096 = v_V1544.clone(); rt::apply_direct(interp, "shen.openlock", &[__t1096])? }); } else { @@ -5481,12 +5481,12 @@ pub fn aot_shen_x2e_locked_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V1532 = args[0].clone(); + let mut v_V1546 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t1098 = { - let __t1097 = v_V1532.clone(); + let __t1097 = v_V1546.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1097])? }; rt::apply_direct(interp, "not", &[__t1098])? @@ -5508,11 +5508,11 @@ pub fn aot_shen_x2e_unlocked_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V1533 = args[0].clone(); + let mut v_V1547 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t1099 = v_V1533.clone(); + let __t1099 = v_V1547.clone(); let __t1100 = Value::int(1i64); rt::apply_direct(interp, "<-address", &[__t1099, __t1100])? }); @@ -5533,12 +5533,12 @@ pub fn aot_shen_x2e_openlock(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V1534 = args[0].clone(); + let mut v_V1548 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let _ = { - let __t1101 = v_V1534.clone(); + let __t1101 = v_V1548.clone(); let __t1102 = Value::int(1i64); let __t1103 = Value::bool(true); rt::apply_direct(interp, "address->", &[__t1101, __t1102, __t1103])? @@ -5562,15 +5562,15 @@ pub fn aot_shen_x2e_fits_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V1535 = args[0].clone(); + let mut v_V1549 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1536 = args[1].clone(); + let mut v_V1550 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t1104 = v_V1535.clone(); + let __t1104 = v_V1549.clone(); let __t1107 = { - let __t1105 = v_V1536.clone(); + let __t1105 = v_V1550.clone(); let __t1106 = Value::int(2i64); rt::apply_direct(interp, "<-address", &[__t1105, __t1106])? }; @@ -5593,21 +5593,21 @@ pub fn aot_shen_x2e_cut(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult break Err(e), } { break Ok({ - let __t1114 = v_V1541.clone(); - let __t1115 = v_V1540.clone(); + let __t1114 = v_V1555.clone(); + let __t1115 = v_V1554.clone(); rt::apply_direct(interp, "shen.lock", &[__t1114, __t1115])? }); } else { - break Ok(v_W1543.clone()); + break Ok(v_W1557.clone()); } } } @@ -5652,23 +5652,23 @@ pub fn aot_shen_x2e_lock(interp: &mut Interp, args: &[Value]) -> ShenResult", &[__t1116, __t1117, __t1118])? }; { - let v_W1547 = { - let __t1119 = v_V1545.clone(); + let v_W1561 = { + let __t1119 = v_V1559.clone(); let __t1120 = Value::int(2i64); - let __t1121 = v_V1544.clone(); + let __t1121 = v_V1558.clone(); rt::apply_direct(interp, "address->", &[__t1119, __t1120, __t1121])? }; break Ok(Value::bool(false)); @@ -5691,37 +5691,37 @@ pub fn aot_shen_x2e_continue(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V1548 = args[0].clone(); + let mut v_V1562 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1549 = args[1].clone(); + let mut v_V1563 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1550 = args[2].clone(); + let mut v_V1564 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1551 = args[3].clone(); + let mut v_V1565 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1552 = args[4].clone(); + let mut v_V1566 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1553 = args[5].clone(); + let mut v_V1567 = args[5].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1554 = { - let __t1122 = v_V1548.clone(); + let v_W1568 = { + let __t1122 = v_V1562.clone(); rt::apply_direct(interp, "shen.extract-vars", &[__t1122])? }; { - let v_W1555 = { - let __t1123 = v_V1549.clone(); + let v_W1569 = { + let __t1123 = v_V1563.clone(); rt::apply_direct(interp, "shen.extract-free-vars", &[__t1123])? }; { - let v_W1556 = { - let __t1124 = v_W1555.clone(); - let __t1125 = v_W1554.clone(); + let v_W1570 = { + let __t1124 = v_W1569.clone(); + let __t1125 = v_W1568.clone(); rt::apply_direct(interp, "difference", &[__t1124, __t1125])? }; { - let v_W1557 = { + let v_W1571 = { let __t1126 = Value::sym(interp.intern("do")); let __t1138 = { let __t1129 = { @@ -5731,11 +5731,11 @@ pub fn aot_shen_x2e_continue(interp: &mut Interp, args: &[Value]) -> ShenResult< }; let __t1137 = { let __t1135 = { - let __t1130 = v_V1549.clone(); - let __t1131 = v_V1550.clone(); - let __t1132 = v_V1551.clone(); - let __t1133 = v_V1552.clone(); - let __t1134 = v_V1553.clone(); + let __t1130 = v_V1563.clone(); + let __t1131 = v_V1564.clone(); + let __t1132 = v_V1565.clone(); + let __t1133 = v_V1566.clone(); + let __t1134 = v_V1567.clone(); rt::apply_direct( interp, "shen.compile-body", @@ -5750,9 +5750,9 @@ pub fn aot_shen_x2e_continue(interp: &mut Interp, args: &[Value]) -> ShenResult< rt::cons(&__t1126, &__t1138) }; break Ok({ - let __t1139 = v_W1556.clone(); - let __t1140 = v_W1557.clone(); - let __t1141 = v_V1550.clone(); + let __t1139 = v_W1570.clone(); + let __t1140 = v_W1571.clone(); + let __t1141 = v_V1564.clone(); rt::apply_direct(interp, "shen.stpart", &[__t1139, __t1140, __t1141])? }); } @@ -5779,13 +5779,13 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( ))); } #[allow(unused_mut)] - let mut v_V1560 = args[0].clone(); + let mut v_V1574 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1185 = { let __t1175 = { - let __t1155 = v_V1560.clone(); + let __t1155 = v_V1574.clone(); rt::is_cons(&__t1155) }; if !rt::is_truthy(interp, &__t1175)? { @@ -5795,7 +5795,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( let __t1173 = { let __t1156 = Value::sym(interp.intern("lambda")); let __t1158 = { - let __t1157 = v_V1560.clone(); + let __t1157 = v_V1574.clone(); rt::hd(&__t1157)? }; rt::eq(&__t1156, &__t1158) @@ -5806,7 +5806,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( let __t1174 = { let __t1171 = { let __t1160 = { - let __t1159 = v_V1560.clone(); + let __t1159 = v_V1574.clone(); rt::tl(&__t1159)? }; rt::is_cons(&__t1160) @@ -5818,7 +5818,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( let __t1169 = { let __t1163 = { let __t1162 = { - let __t1161 = v_V1560.clone(); + let __t1161 = v_V1574.clone(); rt::tl(&__t1161)? }; rt::tl(&__t1162)? @@ -5833,7 +5833,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( let __t1168 = { let __t1167 = { let __t1166 = { - let __t1165 = v_V1560.clone(); + let __t1165 = v_V1574.clone(); rt::tl(&__t1165)? }; rt::tl(&__t1166)? @@ -5861,7 +5861,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( break Ok({ let __t1179 = { let __t1178 = { - let __t1177 = v_V1560.clone(); + let __t1177 = v_V1574.clone(); rt::tl(&__t1177)? }; rt::hd(&__t1178)? @@ -5870,7 +5870,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( let __t1183 = { let __t1182 = { let __t1181 = { - let __t1180 = v_V1560.clone(); + let __t1180 = v_V1574.clone(); rt::tl(&__t1180)? }; rt::tl(&__t1181)? @@ -5884,7 +5884,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( } else { { let __t1154 = { - let __t1147 = v_V1560.clone(); + let __t1147 = v_V1574.clone(); rt::is_cons(&__t1147) }; if match rt::is_truthy(interp, &__t1154) { @@ -5894,14 +5894,14 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( break Ok({ let __t1150 = { let __t1149 = { - let __t1148 = v_V1560.clone(); + let __t1148 = v_V1574.clone(); rt::hd(&__t1148)? }; rt::apply_direct(interp, "shen.extract-free-vars", &[__t1149])? }; let __t1153 = { let __t1152 = { - let __t1151 = v_V1560.clone(); + let __t1151 = v_V1574.clone(); rt::tl(&__t1151)? }; rt::apply_direct(interp, "shen.extract-free-vars", &[__t1152])? @@ -5911,7 +5911,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( } else { { let __t1146 = { - let __t1143 = v_V1560.clone(); + let __t1143 = v_V1574.clone(); rt::apply_direct(interp, "variable?", &[__t1143])? }; if match rt::is_truthy(interp, &__t1146) { @@ -5919,7 +5919,7 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( Err(e) => break Err(e), } { break Ok({ - let __t1144 = v_V1560.clone(); + let __t1144 = v_V1574.clone(); let __t1145 = Value::nil(); rt::cons(&__t1144, &__t1145) }); @@ -5965,21 +5965,21 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V1577 = args[0].clone(); + let mut v_V1591 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1578 = args[1].clone(); + let mut v_V1592 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1579 = args[2].clone(); + let mut v_V1593 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1580 = args[3].clone(); + let mut v_V1594 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1581 = args[4].clone(); + let mut v_V1595 = args[4].clone(); #[allow(clippy::never_loop)] loop { { let __t1252 = { let __t1246 = Value::nil(); - let __t1247 = v_V1577.clone(); + let __t1247 = v_V1591.clone(); rt::eq(&__t1246, &__t1247) }; if match rt::is_truthy(interp, &__t1252) { @@ -5989,7 +5989,7 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She break Ok({ let __t1248 = Value::sym(interp.intern("thaw")); let __t1251 = { - let __t1249 = v_V1581.clone(); + let __t1249 = v_V1595.clone(); let __t1250 = Value::nil(); rt::cons(&__t1249, &__t1250) }; @@ -5999,7 +5999,7 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She { let __t1245 = { let __t1233 = { - let __t1229 = v_V1577.clone(); + let __t1229 = v_V1591.clone(); rt::is_cons(&__t1229) }; if !rt::is_truthy(interp, &__t1233)? { @@ -6008,7 +6008,7 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She let __t1234 = { let __t1230 = Value::sym(interp.intern("!")); let __t1232 = { - let __t1231 = v_V1577.clone(); + let __t1231 = v_V1591.clone(); rt::hd(&__t1231)? }; rt::eq(&__t1230, &__t1232) @@ -6028,27 +6028,27 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She rt::cons(&__t1235, &__t1236) }; let __t1239 = { - let __t1238 = v_V1577.clone(); + let __t1238 = v_V1591.clone(); rt::tl(&__t1238)? }; rt::cons(&__t1237, &__t1239) }; - let __t1241 = v_V1578.clone(); - let __t1242 = v_V1579.clone(); - let __t1243 = v_V1580.clone(); - let __t1244 = v_V1581.clone(); - v_V1577 = __t1240; - v_V1578 = __t1241; - v_V1579 = __t1242; - v_V1580 = __t1243; - v_V1581 = __t1244; + let __t1241 = v_V1592.clone(); + let __t1242 = v_V1593.clone(); + let __t1243 = v_V1594.clone(); + let __t1244 = v_V1595.clone(); + v_V1591 = __t1240; + v_V1592 = __t1241; + v_V1593 = __t1242; + v_V1594 = __t1243; + v_V1595 = __t1244; continue; } } else { { let __t1228 = { let __t1213 = { - let __t1209 = v_V1577.clone(); + let __t1209 = v_V1591.clone(); rt::is_cons(&__t1209) }; if !rt::is_truthy(interp, &__t1213)? { @@ -6057,7 +6057,7 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She let __t1214 = { let __t1210 = Value::nil(); let __t1212 = { - let __t1211 = v_V1577.clone(); + let __t1211 = v_V1591.clone(); rt::tl(&__t1211)? }; rt::eq(&__t1210, &__t1212) @@ -6072,10 +6072,10 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She break Ok({ let __t1218 = { let __t1216 = { - let __t1215 = v_V1577.clone(); + let __t1215 = v_V1591.clone(); rt::hd(&__t1215)? }; - let __t1217 = v_V1578.clone(); + let __t1217 = v_V1592.clone(); rt::apply_direct( interp, "shen.deref-calls", @@ -6083,13 +6083,13 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She )? }; let __t1227 = { - let __t1219 = v_V1578.clone(); + let __t1219 = v_V1592.clone(); let __t1226 = { - let __t1220 = v_V1579.clone(); + let __t1220 = v_V1593.clone(); let __t1225 = { - let __t1221 = v_V1580.clone(); + let __t1221 = v_V1594.clone(); let __t1224 = { - let __t1222 = v_V1581.clone(); + let __t1222 = v_V1595.clone(); let __t1223 = Value::nil(); rt::cons(&__t1222, &__t1223) }; @@ -6104,7 +6104,7 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She } else { { let __t1208 = { - let __t1188 = v_V1577.clone(); + let __t1188 = v_V1591.clone(); rt::is_cons(&__t1188) }; if match rt::is_truthy(interp, &__t1208) { @@ -6112,12 +6112,12 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W1582 = { + let v_W1596 = { let __t1190 = { - let __t1189 = v_V1577.clone(); + let __t1189 = v_V1591.clone(); rt::hd(&__t1189)? }; - let __t1191 = v_V1578.clone(); + let __t1191 = v_V1592.clone(); rt::apply_direct( interp, "shen.deref-calls", @@ -6125,24 +6125,24 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She )? }; break Ok({ - let __t1192 = v_W1582.clone(); + let __t1192 = v_W1596.clone(); let __t1207 = { - let __t1193 = v_V1578.clone(); + let __t1193 = v_V1592.clone(); let __t1206 = { - let __t1194 = v_V1579.clone(); + let __t1194 = v_V1593.clone(); let __t1205 = { - let __t1195 = v_V1580.clone(); + let __t1195 = v_V1594.clone(); let __t1204 = { let __t1202 = { let __t1197 = { let __t1196 = - v_V1577.clone(); + v_V1591.clone(); rt::tl(&__t1196)? }; - let __t1198 = v_V1578.clone(); - let __t1199 = v_V1579.clone(); - let __t1200 = v_V1580.clone(); - let __t1201 = v_V1581.clone(); + let __t1198 = v_V1592.clone(); + let __t1199 = v_V1593.clone(); + let __t1200 = v_V1594.clone(); + let __t1201 = v_V1595.clone(); rt::apply_direct( interp, "shen.freeze-literals", @@ -6215,33 +6215,33 @@ pub fn aot_shen_x2e_freeze_x2d_literals(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V1599 = args[0].clone(); + let mut v_V1613 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1600 = args[1].clone(); + let mut v_V1614 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1601 = args[2].clone(); + let mut v_V1615 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1602 = args[3].clone(); + let mut v_V1616 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1603 = args[4].clone(); + let mut v_V1617 = args[4].clone(); #[allow(clippy::never_loop)] loop { { let __t1299 = { let __t1297 = Value::nil(); - let __t1298 = v_V1599.clone(); + let __t1298 = v_V1613.clone(); rt::eq(&__t1297, &__t1298) }; if match rt::is_truthy(interp, &__t1299) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V1603.clone()); + break Ok(v_V1617.clone()); } else { { let __t1296 = { let __t1284 = { - let __t1280 = v_V1599.clone(); + let __t1280 = v_V1613.clone(); rt::is_cons(&__t1280) }; if !rt::is_truthy(interp, &__t1284)? { @@ -6250,7 +6250,7 @@ pub fn aot_shen_x2e_freeze_x2d_literals(interp: &mut Interp, args: &[Value]) -> let __t1285 = { let __t1281 = Value::sym(interp.intern("!")); let __t1283 = { - let __t1282 = v_V1599.clone(); + let __t1282 = v_V1613.clone(); rt::hd(&__t1282)? }; rt::eq(&__t1281, &__t1283) @@ -6270,26 +6270,26 @@ pub fn aot_shen_x2e_freeze_x2d_literals(interp: &mut Interp, args: &[Value]) -> rt::cons(&__t1286, &__t1287) }; let __t1290 = { - let __t1289 = v_V1599.clone(); + let __t1289 = v_V1613.clone(); rt::tl(&__t1289)? }; rt::cons(&__t1288, &__t1290) }; - let __t1292 = v_V1600.clone(); - let __t1293 = v_V1601.clone(); - let __t1294 = v_V1602.clone(); - let __t1295 = v_V1603.clone(); - v_V1599 = __t1291; - v_V1600 = __t1292; - v_V1601 = __t1293; - v_V1602 = __t1294; - v_V1603 = __t1295; + let __t1292 = v_V1614.clone(); + let __t1293 = v_V1615.clone(); + let __t1294 = v_V1616.clone(); + let __t1295 = v_V1617.clone(); + v_V1613 = __t1291; + v_V1614 = __t1292; + v_V1615 = __t1293; + v_V1616 = __t1294; + v_V1617 = __t1295; continue; } } else { { let __t1279 = { - let __t1255 = v_V1599.clone(); + let __t1255 = v_V1613.clone(); rt::is_cons(&__t1255) }; if match rt::is_truthy(interp, &__t1279) { @@ -6297,12 +6297,12 @@ pub fn aot_shen_x2e_freeze_x2d_literals(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W1604 = { + let v_W1618 = { let __t1257 = { - let __t1256 = v_V1599.clone(); + let __t1256 = v_V1613.clone(); rt::hd(&__t1256)? }; - let __t1258 = v_V1600.clone(); + let __t1258 = v_V1614.clone(); rt::apply_direct( interp, "shen.deref-calls", @@ -6313,24 +6313,24 @@ pub fn aot_shen_x2e_freeze_x2d_literals(interp: &mut Interp, args: &[Value]) -> let __t1259 = Value::sym(interp.intern("freeze")); let __t1278 = { let __t1276 = { - let __t1260 = v_W1604.clone(); + let __t1260 = v_W1618.clone(); let __t1275 = { - let __t1261 = v_V1600.clone(); + let __t1261 = v_V1614.clone(); let __t1274 = { - let __t1262 = v_V1601.clone(); + let __t1262 = v_V1615.clone(); let __t1273 = { - let __t1263 = v_V1602.clone(); + let __t1263 = v_V1616.clone(); let __t1272 = { let __t1270 = { let __t1265 = { let __t1264 = - v_V1599.clone(); + v_V1613.clone(); rt::tl(&__t1264)? }; - let __t1266 = v_V1600.clone(); - let __t1267 = v_V1601.clone(); - let __t1268 = v_V1602.clone(); - let __t1269 = v_V1603.clone(); + let __t1266 = v_V1614.clone(); + let __t1267 = v_V1615.clone(); + let __t1268 = v_V1616.clone(); + let __t1269 = v_V1617.clone(); rt::apply_direct( interp, "shen.freeze-literals", @@ -6402,15 +6402,15 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V1609 = args[0].clone(); + let mut v_V1623 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1610 = args[1].clone(); + let mut v_V1624 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t1325 = { let __t1316 = { - let __t1312 = v_V1609.clone(); + let __t1312 = v_V1623.clone(); rt::is_cons(&__t1312) }; if !rt::is_truthy(interp, &__t1316)? { @@ -6419,7 +6419,7 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen let __t1317 = { let __t1313 = Value::sym(interp.intern("fork")); let __t1315 = { - let __t1314 = v_V1609.clone(); + let __t1314 = v_V1623.clone(); rt::hd(&__t1314)? }; rt::eq(&__t1313, &__t1315) @@ -6436,10 +6436,10 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen let __t1324 = { let __t1322 = { let __t1320 = { - let __t1319 = v_V1609.clone(); + let __t1319 = v_V1623.clone(); rt::tl(&__t1319)? }; - let __t1321 = v_V1610.clone(); + let __t1321 = v_V1624.clone(); rt::apply_direct( interp, "shen.deref-forked-literals", @@ -6454,7 +6454,7 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen } else { { let __t1311 = { - let __t1302 = v_V1609.clone(); + let __t1302 = v_V1623.clone(); rt::is_cons(&__t1302) }; if match rt::is_truthy(interp, &__t1311) { @@ -6463,20 +6463,20 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ let __t1304 = { - let __t1303 = v_V1609.clone(); + let __t1303 = v_V1623.clone(); rt::hd(&__t1303)? }; let __t1310 = { let __t1307 = { - let v_V1610 = v_V1610.clone(); + let v_V1624 = v_V1624.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z1611 = args[0].clone(); + let v_Z1625 = args[0].clone(); Ok({ - let __t1305 = v_Z1611.clone(); - let __t1306 = v_V1610.clone(); + let __t1305 = v_Z1625.clone(); + let __t1306 = v_V1624.clone(); rt::apply_direct( interp, "shen.function-calls", @@ -6484,12 +6484,12 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen )? }) }, - vec![v_V1610], + vec![v_V1624], interp, ) }; let __t1309 = { - let __t1308 = v_V1609.clone(); + let __t1308 = v_V1623.clone(); rt::tl(&__t1308)? }; rt::apply_direct(interp, "map", &[__t1307, __t1309])? @@ -6536,15 +6536,15 @@ pub fn aot_shen_x2e_deref_x2d_forked_x2d_literals( ))); } #[allow(unused_mut)] - let mut v_V1618 = args[0].clone(); + let mut v_V1632 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1619 = args[1].clone(); + let mut v_V1633 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t1344 = { let __t1342 = Value::nil(); - let __t1343 = v_V1618.clone(); + let __t1343 = v_V1632.clone(); rt::eq(&__t1342, &__t1343) }; if match rt::is_truthy(interp, &__t1344) { @@ -6555,7 +6555,7 @@ pub fn aot_shen_x2e_deref_x2d_forked_x2d_literals( } else { { let __t1341 = { - let __t1328 = v_V1618.clone(); + let __t1328 = v_V1632.clone(); rt::is_cons(&__t1328) }; if match rt::is_truthy(interp, &__t1341) { @@ -6567,10 +6567,10 @@ pub fn aot_shen_x2e_deref_x2d_forked_x2d_literals( let __t1340 = { let __t1333 = { let __t1331 = { - let __t1330 = v_V1618.clone(); + let __t1330 = v_V1632.clone(); rt::hd(&__t1330)? }; - let __t1332 = v_V1619.clone(); + let __t1332 = v_V1633.clone(); rt::apply_direct( interp, "shen.deref-calls", @@ -6580,10 +6580,10 @@ pub fn aot_shen_x2e_deref_x2d_forked_x2d_literals( let __t1339 = { let __t1337 = { let __t1335 = { - let __t1334 = v_V1618.clone(); + let __t1334 = v_V1632.clone(); rt::tl(&__t1334)? }; - let __t1336 = v_V1619.clone(); + let __t1336 = v_V1633.clone(); rt::apply_direct( interp, "shen.deref-forked-literals", @@ -6640,15 +6640,15 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V1622 = args[0].clone(); + let mut v_V1636 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1623 = args[1].clone(); + let mut v_V1637 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t1388 = { let __t1371 = { - let __t1351 = v_V1622.clone(); + let __t1351 = v_V1636.clone(); rt::is_cons(&__t1351) }; if !rt::is_truthy(interp, &__t1371)? { @@ -6658,7 +6658,7 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S let __t1369 = { let __t1352 = Value::sym(interp.intern("cons")); let __t1354 = { - let __t1353 = v_V1622.clone(); + let __t1353 = v_V1636.clone(); rt::hd(&__t1353)? }; rt::eq(&__t1352, &__t1354) @@ -6669,7 +6669,7 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S let __t1370 = { let __t1367 = { let __t1356 = { - let __t1355 = v_V1622.clone(); + let __t1355 = v_V1636.clone(); rt::tl(&__t1355)? }; rt::is_cons(&__t1356) @@ -6681,7 +6681,7 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S let __t1365 = { let __t1359 = { let __t1358 = { - let __t1357 = v_V1622.clone(); + let __t1357 = v_V1636.clone(); rt::tl(&__t1357)? }; rt::tl(&__t1358)? @@ -6696,7 +6696,7 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S let __t1364 = { let __t1363 = { let __t1362 = { - let __t1361 = v_V1622.clone(); + let __t1361 = v_V1636.clone(); rt::tl(&__t1361)? }; rt::tl(&__t1362)? @@ -6727,12 +6727,12 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S let __t1378 = { let __t1376 = { let __t1375 = { - let __t1374 = v_V1622.clone(); + let __t1374 = v_V1636.clone(); rt::tl(&__t1374)? }; rt::hd(&__t1375)? }; - let __t1377 = v_V1623.clone(); + let __t1377 = v_V1637.clone(); rt::apply_direct(interp, "shen.function-calls", &[__t1376, __t1377])? }; let __t1386 = { @@ -6740,14 +6740,14 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S let __t1382 = { let __t1381 = { let __t1380 = { - let __t1379 = v_V1622.clone(); + let __t1379 = v_V1636.clone(); rt::tl(&__t1379)? }; rt::tl(&__t1380)? }; rt::hd(&__t1381)? }; - let __t1383 = v_V1623.clone(); + let __t1383 = v_V1637.clone(); rt::apply_direct( interp, "shen.function-calls", @@ -6764,7 +6764,7 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S } else { { let __t1350 = { - let __t1346 = v_V1622.clone(); + let __t1346 = v_V1636.clone(); rt::is_cons(&__t1346) }; if match rt::is_truthy(interp, &__t1350) { @@ -6772,8 +6772,8 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { break Ok({ - let __t1347 = v_V1622.clone(); - let __t1348 = v_V1623.clone(); + let __t1347 = v_V1636.clone(); + let __t1348 = v_V1637.clone(); let __t1349 = Value::nil(); rt::apply_direct( interp, @@ -6788,7 +6788,7 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V1622.clone()); + break Ok(v_V1636.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -6814,17 +6814,17 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V1632 = args[0].clone(); + let mut v_V1646 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1633 = args[1].clone(); + let mut v_V1647 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1634 = args[2].clone(); + let mut v_V1648 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t1518 = { let __t1502 = { - let __t1488 = v_V1632.clone(); + let __t1488 = v_V1646.clone(); rt::is_cons(&__t1488) }; if !rt::is_truthy(interp, &__t1502)? { @@ -6834,7 +6834,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1500 = { let __t1489 = Value::int(0i64); let __t1491 = { - let __t1490 = v_V1632.clone(); + let __t1490 = v_V1646.clone(); rt::hd(&__t1490)? }; rt::eq(&__t1489, &__t1491) @@ -6845,7 +6845,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1501 = { let __t1498 = { let __t1493 = { - let __t1492 = v_V1632.clone(); + let __t1492 = v_V1646.clone(); rt::tl(&__t1492)? }; rt::is_cons(&__t1493) @@ -6857,7 +6857,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1494 = Value::nil(); let __t1497 = { let __t1496 = { - let __t1495 = v_V1632.clone(); + let __t1495 = v_V1646.clone(); rt::tl(&__t1495)? }; rt::tl(&__t1496)? @@ -6881,7 +6881,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1507 = { let __t1506 = { let __t1505 = { - let __t1504 = v_V1632.clone(); + let __t1504 = v_V1646.clone(); rt::tl(&__t1504)? }; rt::hd(&__t1505)? @@ -6894,7 +6894,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ let __t1509 = { - let __t1508 = v_V1632.clone(); + let __t1508 = v_V1646.clone(); rt::tl(&__t1508)? }; rt::hd(&__t1509)? @@ -6906,7 +6906,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1516 = { let __t1513 = { let __t1512 = { - let __t1511 = v_V1632.clone(); + let __t1511 = v_V1646.clone(); rt::tl(&__t1511)? }; rt::hd(&__t1512)? @@ -6929,7 +6929,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen { let __t1487 = { let __t1465 = { - let __t1451 = v_V1632.clone(); + let __t1451 = v_V1646.clone(); rt::is_cons(&__t1451) }; if !rt::is_truthy(interp, &__t1465)? { @@ -6939,7 +6939,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1463 = { let __t1452 = Value::int(1i64); let __t1454 = { - let __t1453 = v_V1632.clone(); + let __t1453 = v_V1646.clone(); rt::hd(&__t1453)? }; rt::eq(&__t1452, &__t1454) @@ -6950,7 +6950,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1464 = { let __t1461 = { let __t1456 = { - let __t1455 = v_V1632.clone(); + let __t1455 = v_V1646.clone(); rt::tl(&__t1455)? }; rt::is_cons(&__t1456) @@ -6962,7 +6962,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1457 = Value::nil(); let __t1460 = { let __t1459 = { - let __t1458 = v_V1632.clone(); + let __t1458 = v_V1646.clone(); rt::tl(&__t1458)? }; rt::tl(&__t1459)? @@ -6986,7 +6986,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1470 = { let __t1469 = { let __t1468 = { - let __t1467 = v_V1632.clone(); + let __t1467 = v_V1646.clone(); rt::tl(&__t1467)? }; rt::hd(&__t1468)? @@ -7002,13 +7002,13 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1478 = { let __t1474 = { let __t1473 = { - let __t1472 = v_V1632.clone(); + let __t1472 = v_V1646.clone(); rt::tl(&__t1472)? }; rt::hd(&__t1473)? }; let __t1477 = { - let __t1475 = v_V1633.clone(); + let __t1475 = v_V1647.clone(); let __t1476 = Value::nil(); rt::cons(&__t1475, &__t1476) }; @@ -7024,7 +7024,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1485 = { let __t1482 = { let __t1481 = { - let __t1480 = v_V1632.clone(); + let __t1480 = v_V1646.clone(); rt::tl(&__t1480)? }; rt::hd(&__t1481)? @@ -7048,8 +7048,8 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1450 = { let __t1442 = { let __t1440 = { - let __t1438 = v_V1632.clone(); - let __t1439 = v_V1634.clone(); + let __t1438 = v_V1646.clone(); + let __t1439 = v_V1648.clone(); rt::apply_direct(interp, "element?", &[__t1438, __t1439])? }; rt::apply_direct(interp, "not", &[__t1440])? @@ -7058,7 +7058,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen Value::bool(false) } else { let __t1443 = { - let __t1441 = v_V1632.clone(); + let __t1441 = v_V1646.clone(); rt::apply_direct(interp, "variable?", &[__t1441])? }; Value::bool(rt::is_truthy(interp, &__t1443)?) @@ -7071,9 +7071,9 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen break Ok({ let __t1444 = Value::sym(interp.intern("shen.deref")); let __t1449 = { - let __t1445 = v_V1632.clone(); + let __t1445 = v_V1646.clone(); let __t1448 = { - let __t1446 = v_V1633.clone(); + let __t1446 = v_V1647.clone(); let __t1447 = Value::nil(); rt::cons(&__t1446, &__t1447) }; @@ -7085,7 +7085,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen { let __t1437 = { let __t1417 = { - let __t1397 = v_V1632.clone(); + let __t1397 = v_V1646.clone(); rt::is_cons(&__t1397) }; if !rt::is_truthy(interp, &__t1417)? { @@ -7096,7 +7096,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1398 = Value::sym(interp.intern("lambda")); let __t1400 = { - let __t1399 = v_V1632.clone(); + let __t1399 = v_V1646.clone(); rt::hd(&__t1399)? }; rt::eq(&__t1398, &__t1400) @@ -7107,7 +7107,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1416 = { let __t1413 = { let __t1402 = { - let __t1401 = v_V1632.clone(); + let __t1401 = v_V1646.clone(); rt::tl(&__t1401)? }; rt::is_cons(&__t1402) @@ -7120,7 +7120,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1405 = { let __t1404 = { let __t1403 = - v_V1632.clone(); + v_V1646.clone(); rt::tl(&__t1403)? }; rt::tl(&__t1404)? @@ -7137,7 +7137,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1409 = { let __t1408 = { let __t1407 = - v_V1632 + v_V1646 .clone( ); rt::tl( @@ -7175,7 +7175,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1436 = { let __t1422 = { let __t1421 = { - let __t1420 = v_V1632.clone(); + let __t1420 = v_V1646.clone(); rt::tl(&__t1420)? }; rt::hd(&__t1421)? @@ -7185,23 +7185,23 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen let __t1426 = { let __t1425 = { let __t1424 = { - let __t1423 = v_V1632.clone(); + let __t1423 = v_V1646.clone(); rt::tl(&__t1423)? }; rt::tl(&__t1424)? }; rt::hd(&__t1425)? }; - let __t1427 = v_V1633.clone(); + let __t1427 = v_V1647.clone(); let __t1432 = { let __t1430 = { let __t1429 = { - let __t1428 = v_V1632.clone(); + let __t1428 = v_V1646.clone(); rt::tl(&__t1428)? }; rt::hd(&__t1429)? }; - let __t1431 = v_V1634.clone(); + let __t1431 = v_V1648.clone(); rt::cons(&__t1430, &__t1431) }; rt::apply_direct( @@ -7220,7 +7220,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen } else { { let __t1396 = { - let __t1390 = v_V1632.clone(); + let __t1390 = v_V1646.clone(); rt::is_cons(&__t1390) }; if match rt::is_truthy(interp, &__t1396) { @@ -7229,17 +7229,17 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ let __t1394 = { - let v_V1633 = v_V1633.clone(); - let v_V1634 = v_V1634.clone(); + let v_V1647 = v_V1647.clone(); + let v_V1648 = v_V1648.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z1635 = args[0].clone(); + let v_Z1649 = args[0].clone(); Ok({ - let __t1391 = v_Z1635.clone(); - let __t1392 = v_V1633.clone(); - let __t1393 = v_V1634.clone(); + let __t1391 = v_Z1649.clone(); + let __t1392 = v_V1647.clone(); + let __t1393 = v_V1648.clone(); rt::apply_direct( interp, "shen.deref-terms", @@ -7250,11 +7250,11 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen )? }) }, - vec![v_V1633, v_V1634], + vec![v_V1647, v_V1648], interp, ) }; - let __t1395 = v_V1632.clone(); + let __t1395 = v_V1646.clone(); rt::apply_direct( interp, "map", @@ -7268,7 +7268,7 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V1632.clone()); + break Ok(v_V1646.clone()); } else { break Err(ShenError::new( "cond: no clause matched", @@ -7302,22 +7302,22 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V1653 = args[0].clone(); + let mut v_V1667 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1654 = args[1].clone(); + let mut v_V1668 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1655 = args[2].clone(); + let mut v_V1669 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1656 = args[3].clone(); + let mut v_V1670 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1657 = args[4].clone(); + let mut v_V1671 = args[4].clone(); #[allow(clippy::never_loop)] loop { { let __t1764 = { let __t1762 = { let __t1758 = Value::nil(); - let __t1759 = v_V1654.clone(); + let __t1759 = v_V1668.clone(); rt::eq(&__t1758, &__t1759) }; if !rt::is_truthy(interp, &__t1762)? { @@ -7325,7 +7325,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She } else { let __t1763 = { let __t1760 = Value::nil(); - let __t1761 = v_V1655.clone(); + let __t1761 = v_V1669.clone(); rt::eq(&__t1760, &__t1761) }; Value::bool(rt::is_truthy(interp, &__t1763)?) @@ -7335,12 +7335,12 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V1657.clone()); + break Ok(v_V1671.clone()); } else { { let __t1757 = { let __t1740 = { - let __t1719 = v_V1654.clone(); + let __t1719 = v_V1668.clone(); rt::is_cons(&__t1719) }; if !rt::is_truthy(interp, &__t1740)? { @@ -7349,7 +7349,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1741 = { let __t1738 = { let __t1721 = { - let __t1720 = v_V1654.clone(); + let __t1720 = v_V1668.clone(); rt::hd(&__t1720)? }; rt::is_cons(&__t1721) @@ -7362,7 +7362,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1722 = Value::sym(interp.intern("shen.+m")); let __t1725 = { let __t1724 = { - let __t1723 = v_V1654.clone(); + let __t1723 = v_V1668.clone(); rt::hd(&__t1723)? }; rt::hd(&__t1724)? @@ -7376,7 +7376,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1734 = { let __t1728 = { let __t1727 = { - let __t1726 = v_V1654.clone(); + let __t1726 = v_V1668.clone(); rt::hd(&__t1726)? }; rt::tl(&__t1727)? @@ -7391,7 +7391,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1733 = { let __t1732 = { let __t1731 = { - let __t1730 = v_V1654.clone(); + let __t1730 = v_V1668.clone(); rt::hd(&__t1730)? }; rt::tl(&__t1731)? @@ -7417,14 +7417,14 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let __t1742 = v_V1653.clone(); + let __t1742 = v_V1667.clone(); let __t1753 = { let __t1743 = Value::sym(interp.intern("shen.+m")); let __t1752 = { let __t1747 = { let __t1746 = { let __t1745 = { - let __t1744 = v_V1654.clone(); + let __t1744 = v_V1668.clone(); rt::hd(&__t1744)? }; rt::tl(&__t1745)? @@ -7432,9 +7432,9 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She rt::hd(&__t1746)? }; let __t1751 = { - let __t1748 = v_V1653.clone(); + let __t1748 = v_V1667.clone(); let __t1750 = { - let __t1749 = v_V1654.clone(); + let __t1749 = v_V1668.clone(); rt::tl(&__t1749)? }; rt::cons(&__t1748, &__t1750) @@ -7443,21 +7443,21 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She }; rt::cons(&__t1743, &__t1752) }; - let __t1754 = v_V1655.clone(); - let __t1755 = v_V1656.clone(); - let __t1756 = v_V1657.clone(); - v_V1653 = __t1742; - v_V1654 = __t1753; - v_V1655 = __t1754; - v_V1656 = __t1755; - v_V1657 = __t1756; + let __t1754 = v_V1669.clone(); + let __t1755 = v_V1670.clone(); + let __t1756 = v_V1671.clone(); + v_V1667 = __t1742; + v_V1668 = __t1753; + v_V1669 = __t1754; + v_V1670 = __t1755; + v_V1671 = __t1756; continue; } } else { { let __t1718 = { let __t1701 = { - let __t1680 = v_V1654.clone(); + let __t1680 = v_V1668.clone(); rt::is_cons(&__t1680) }; if !rt::is_truthy(interp, &__t1701)? { @@ -7466,7 +7466,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1702 = { let __t1699 = { let __t1682 = { - let __t1681 = v_V1654.clone(); + let __t1681 = v_V1668.clone(); rt::hd(&__t1681)? }; rt::is_cons(&__t1682) @@ -7480,7 +7480,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She Value::sym(interp.intern("shen.-m")); let __t1686 = { let __t1685 = { - let __t1684 = v_V1654.clone(); + let __t1684 = v_V1668.clone(); rt::hd(&__t1684)? }; rt::hd(&__t1685)? @@ -7494,7 +7494,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1695 = { let __t1689 = { let __t1688 = { - let __t1687 = v_V1654.clone(); + let __t1687 = v_V1668.clone(); rt::hd(&__t1687)? }; rt::tl(&__t1688)? @@ -7510,7 +7510,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1693 = { let __t1692 = { let __t1691 = - v_V1654.clone(); + v_V1668.clone(); rt::hd(&__t1691)? }; rt::tl(&__t1692)? @@ -7538,14 +7538,14 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let __t1703 = v_V1653.clone(); + let __t1703 = v_V1667.clone(); let __t1714 = { let __t1704 = Value::sym(interp.intern("shen.-m")); let __t1713 = { let __t1708 = { let __t1707 = { let __t1706 = { - let __t1705 = v_V1654.clone(); + let __t1705 = v_V1668.clone(); rt::hd(&__t1705)? }; rt::tl(&__t1706)? @@ -7553,9 +7553,9 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She rt::hd(&__t1707)? }; let __t1712 = { - let __t1709 = v_V1653.clone(); + let __t1709 = v_V1667.clone(); let __t1711 = { - let __t1710 = v_V1654.clone(); + let __t1710 = v_V1668.clone(); rt::tl(&__t1710)? }; rt::cons(&__t1709, &__t1711) @@ -7564,21 +7564,21 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She }; rt::cons(&__t1704, &__t1713) }; - let __t1715 = v_V1655.clone(); - let __t1716 = v_V1656.clone(); - let __t1717 = v_V1657.clone(); - v_V1653 = __t1703; - v_V1654 = __t1714; - v_V1655 = __t1715; - v_V1656 = __t1716; - v_V1657 = __t1717; + let __t1715 = v_V1669.clone(); + let __t1716 = v_V1670.clone(); + let __t1717 = v_V1671.clone(); + v_V1667 = __t1703; + v_V1668 = __t1714; + v_V1669 = __t1715; + v_V1670 = __t1716; + v_V1671 = __t1717; continue; } } else { { let __t1679 = { let __t1671 = { - let __t1667 = v_V1654.clone(); + let __t1667 = v_V1668.clone(); rt::is_cons(&__t1667) }; if !rt::is_truthy(interp, &__t1671)? { @@ -7587,7 +7587,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1672 = { let __t1668 = Value::sym(interp.intern("shen.-m")); let __t1670 = { - let __t1669 = v_V1654.clone(); + let __t1669 = v_V1668.clone(); rt::hd(&__t1669)? }; rt::eq(&__t1668, &__t1670) @@ -7602,24 +7602,24 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She { let __t1673 = Value::sym(interp.intern("shen.-m")); let __t1675 = { - let __t1674 = v_V1654.clone(); + let __t1674 = v_V1668.clone(); rt::tl(&__t1674)? }; - let __t1676 = v_V1655.clone(); - let __t1677 = v_V1656.clone(); - let __t1678 = v_V1657.clone(); - v_V1653 = __t1673; - v_V1654 = __t1675; - v_V1655 = __t1676; - v_V1656 = __t1677; - v_V1657 = __t1678; + let __t1676 = v_V1669.clone(); + let __t1677 = v_V1670.clone(); + let __t1678 = v_V1671.clone(); + v_V1667 = __t1673; + v_V1668 = __t1675; + v_V1669 = __t1676; + v_V1670 = __t1677; + v_V1671 = __t1678; continue; } } else { { let __t1666 = { let __t1658 = { - let __t1654 = v_V1654.clone(); + let __t1654 = v_V1668.clone(); rt::is_cons(&__t1654) }; if !rt::is_truthy(interp, &__t1658)? { @@ -7629,7 +7629,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1655 = Value::sym(interp.intern("shen.+m")); let __t1657 = { - let __t1656 = v_V1654.clone(); + let __t1656 = v_V1668.clone(); rt::hd(&__t1656)? }; rt::eq(&__t1655, &__t1657) @@ -7645,24 +7645,24 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1660 = Value::sym(interp.intern("shen.+m")); let __t1662 = { - let __t1661 = v_V1654.clone(); + let __t1661 = v_V1668.clone(); rt::tl(&__t1661)? }; - let __t1663 = v_V1655.clone(); - let __t1664 = v_V1656.clone(); - let __t1665 = v_V1657.clone(); - v_V1653 = __t1660; - v_V1654 = __t1662; - v_V1655 = __t1663; - v_V1656 = __t1664; - v_V1657 = __t1665; + let __t1663 = v_V1669.clone(); + let __t1664 = v_V1670.clone(); + let __t1665 = v_V1671.clone(); + v_V1667 = __t1660; + v_V1668 = __t1662; + v_V1669 = __t1663; + v_V1670 = __t1664; + v_V1671 = __t1665; continue; } } else { { let __t1653 = { let __t1644 = { - let __t1638 = v_V1654.clone(); + let __t1638 = v_V1668.clone(); rt::is_cons(&__t1638) }; if !rt::is_truthy(interp, &__t1644)? { @@ -7670,7 +7670,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She } else { let __t1645 = { let __t1642 = { - let __t1639 = v_V1655.clone(); + let __t1639 = v_V1669.clone(); rt::is_cons(&__t1639) }; if !rt::is_truthy(interp, &__t1642)? @@ -7680,7 +7680,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1643 = { let __t1641 = { let __t1640 = - v_V1654.clone(); + v_V1668.clone(); rt::hd(&__t1640)? }; rt::apply_direct( @@ -7704,29 +7704,29 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let __t1646 = v_V1653.clone(); + let __t1646 = v_V1667.clone(); let __t1648 = { - let __t1647 = v_V1654.clone(); + let __t1647 = v_V1668.clone(); rt::tl(&__t1647)? }; let __t1650 = { - let __t1649 = v_V1655.clone(); + let __t1649 = v_V1669.clone(); rt::tl(&__t1649)? }; - let __t1651 = v_V1656.clone(); - let __t1652 = v_V1657.clone(); - v_V1653 = __t1646; - v_V1654 = __t1648; - v_V1655 = __t1650; - v_V1656 = __t1651; - v_V1657 = __t1652; + let __t1651 = v_V1670.clone(); + let __t1652 = v_V1671.clone(); + v_V1667 = __t1646; + v_V1668 = __t1648; + v_V1669 = __t1650; + v_V1670 = __t1651; + v_V1671 = __t1652; continue; } } else { { let __t1637 = { let __t1630 = { - let __t1627 = v_V1654.clone(); + let __t1627 = v_V1668.clone(); rt::is_cons(&__t1627) }; if !rt::is_truthy(interp, &__t1630)? @@ -7736,7 +7736,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1631 = { let __t1629 = { let __t1628 = - v_V1654.clone(); + v_V1668.clone(); rt::hd(&__t1628)? }; rt::apply_direct( @@ -7756,11 +7756,11 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t1632 = v_V1653.clone(); - let __t1633 = v_V1654.clone(); - let __t1634 = v_V1655.clone(); - let __t1635 = v_V1656.clone(); - let __t1636 = v_V1657.clone(); + let __t1632 = v_V1667.clone(); + let __t1633 = v_V1668.clone(); + let __t1634 = v_V1669.clone(); + let __t1635 = v_V1670.clone(); + let __t1636 = v_V1671.clone(); rt::apply_direct( interp, "shen.variable-case", @@ -7782,7 +7782,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She ), ); let __t1614 = - v_V1653.clone(); + v_V1667.clone(); rt::eq( &__t1613, &__t1614, ) @@ -7795,7 +7795,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1621 = { let __t1618 = { let __t1615 = - v_V1654 + v_V1668 .clone( ); rt::is_cons( @@ -7812,7 +7812,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She } else { let __t1619 = { let __t1617 = { - let __t1616 = v_V1654.clone(); + let __t1616 = v_V1668.clone(); rt::hd(&__t1616)? }; rt::apply_direct(interp, "atom?", &[__t1617])? @@ -7836,13 +7836,13 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ let __t1622 = - v_V1654.clone(); + v_V1668.clone(); let __t1623 = - v_V1655.clone(); + v_V1669.clone(); let __t1624 = - v_V1656.clone(); + v_V1670.clone(); let __t1625 = - v_V1657.clone(); + v_V1671.clone(); rt::apply_direct(interp, "shen.atom-case-minus", &[__t1622, __t1623, __t1624, __t1625])? }); } else { @@ -7851,7 +7851,7 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1606 = { let __t1574 = Value::sym(interp.intern("shen.-m")); let __t1575 = - v_V1653 + v_V1667 .clone( ); rt::eq( @@ -7869,10 +7869,10 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She } else { let __t1607 = { let __t1604 = { - let __t1576 = v_V1654.clone(); + let __t1576 = v_V1668.clone(); rt::is_cons(&__t1576) }; - if !rt::is_truthy(interp, &__t1604)? { Value::bool(false) } else { let __t1605 = { let __t1602 = { let __t1578 = { let __t1577 = v_V1654.clone(); rt::hd(&__t1577)? }; rt::is_cons(&__t1578) }; if !rt::is_truthy(interp, &__t1602)? { Value::bool(false) } else { let __t1603 = { let __t1600 = { let __t1579 = Value::sym(interp.intern("cons")); let __t1582 = { let __t1581 = { let __t1580 = v_V1654.clone(); rt::hd(&__t1580)? }; rt::hd(&__t1581)? }; rt::eq(&__t1579, &__t1582) }; if !rt::is_truthy(interp, &__t1600)? { Value::bool(false) } else { let __t1601 = { let __t1598 = { let __t1585 = { let __t1584 = { let __t1583 = v_V1654.clone(); rt::hd(&__t1583)? }; rt::tl(&__t1584)? }; rt::is_cons(&__t1585) }; if !rt::is_truthy(interp, &__t1598)? { Value::bool(false) } else { let __t1599 = { let __t1596 = { let __t1589 = { let __t1588 = { let __t1587 = { let __t1586 = v_V1654.clone(); rt::hd(&__t1586)? }; rt::tl(&__t1587)? }; rt::tl(&__t1588)? }; rt::is_cons(&__t1589) }; if !rt::is_truthy(interp, &__t1596)? { Value::bool(false) } else { let __t1597 = { let __t1590 = Value::nil(); let __t1595 = { let __t1594 = { let __t1593 = { let __t1592 = { let __t1591 = v_V1654.clone(); rt::hd(&__t1591)? }; rt::tl(&__t1592)? }; rt::tl(&__t1593)? }; rt::tl(&__t1594)? }; rt::eq(&__t1590, &__t1595) }; Value::bool(rt::is_truthy(interp, &__t1597)?) } }; Value::bool(rt::is_truthy(interp, &__t1599)?) } }; Value::bool(rt::is_truthy(interp, &__t1601)?) } }; Value::bool(rt::is_truthy(interp, &__t1603)?) } }; Value::bool(rt::is_truthy(interp, &__t1605)?) } + if !rt::is_truthy(interp, &__t1604)? { Value::bool(false) } else { let __t1605 = { let __t1602 = { let __t1578 = { let __t1577 = v_V1668.clone(); rt::hd(&__t1577)? }; rt::is_cons(&__t1578) }; if !rt::is_truthy(interp, &__t1602)? { Value::bool(false) } else { let __t1603 = { let __t1600 = { let __t1579 = Value::sym(interp.intern("cons")); let __t1582 = { let __t1581 = { let __t1580 = v_V1668.clone(); rt::hd(&__t1580)? }; rt::hd(&__t1581)? }; rt::eq(&__t1579, &__t1582) }; if !rt::is_truthy(interp, &__t1600)? { Value::bool(false) } else { let __t1601 = { let __t1598 = { let __t1585 = { let __t1584 = { let __t1583 = v_V1668.clone(); rt::hd(&__t1583)? }; rt::tl(&__t1584)? }; rt::is_cons(&__t1585) }; if !rt::is_truthy(interp, &__t1598)? { Value::bool(false) } else { let __t1599 = { let __t1596 = { let __t1589 = { let __t1588 = { let __t1587 = { let __t1586 = v_V1668.clone(); rt::hd(&__t1586)? }; rt::tl(&__t1587)? }; rt::tl(&__t1588)? }; rt::is_cons(&__t1589) }; if !rt::is_truthy(interp, &__t1596)? { Value::bool(false) } else { let __t1597 = { let __t1590 = Value::nil(); let __t1595 = { let __t1594 = { let __t1593 = { let __t1592 = { let __t1591 = v_V1668.clone(); rt::hd(&__t1591)? }; rt::tl(&__t1592)? }; rt::tl(&__t1593)? }; rt::tl(&__t1594)? }; rt::eq(&__t1590, &__t1595) }; Value::bool(rt::is_truthy(interp, &__t1597)?) } }; Value::bool(rt::is_truthy(interp, &__t1599)?) } }; Value::bool(rt::is_truthy(interp, &__t1601)?) } }; Value::bool(rt::is_truthy(interp, &__t1603)?) } }; Value::bool(rt::is_truthy(interp, &__t1605)?) } }; Value::bool(rt::is_truthy(interp, &__t1607)?) } @@ -7887,19 +7887,19 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ let __t1608 = - v_V1654 + v_V1668 .clone( ); let __t1609 = - v_V1655 + v_V1669 .clone( ); let __t1610 = - v_V1656 + v_V1670 .clone( ); let __t1611 = - v_V1657 + v_V1671 .clone( ); rt::apply_direct(interp, "shen.cons-case-minus", &[__t1608, __t1609, __t1610, __t1611])? @@ -7909,12 +7909,12 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She let __t1573 = { let __t1567 = { let __t1560 = Value::sym(interp.intern("shen.+m")); - let __t1561 = v_V1653.clone(); + let __t1561 = v_V1667.clone(); rt::eq(&__t1560, &__t1561) }; - if !rt::is_truthy(interp, &__t1567)? { Value::bool(false) } else { let __t1568 = { let __t1565 = { let __t1562 = v_V1654.clone(); rt::is_cons(&__t1562) }; if !rt::is_truthy(interp, &__t1565)? { Value::bool(false) } else { let __t1566 = { let __t1564 = { let __t1563 = v_V1654.clone(); rt::hd(&__t1563)? }; rt::apply_direct(interp, "atom?", &[__t1564])? }; Value::bool(rt::is_truthy(interp, &__t1566)?) } }; Value::bool(rt::is_truthy(interp, &__t1568)?) } + if !rt::is_truthy(interp, &__t1567)? { Value::bool(false) } else { let __t1568 = { let __t1565 = { let __t1562 = v_V1668.clone(); rt::is_cons(&__t1562) }; if !rt::is_truthy(interp, &__t1565)? { Value::bool(false) } else { let __t1566 = { let __t1564 = { let __t1563 = v_V1668.clone(); rt::hd(&__t1563)? }; rt::apply_direct(interp, "atom?", &[__t1564])? }; Value::bool(rt::is_truthy(interp, &__t1566)?) } }; Value::bool(rt::is_truthy(interp, &__t1568)?) } }; - if match rt::is_truthy(interp, &__t1573) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1569 = v_V1654.clone(); let __t1570 = v_V1655.clone(); let __t1571 = v_V1656.clone(); let __t1572 = v_V1657.clone(); rt::apply_direct(interp, "shen.atom-case-plus", &[__t1569, __t1570, __t1571, __t1572])? }); } else { { let __t1559 = { let __t1553 = { let __t1521 = Value::sym(interp.intern("shen.+m")); let __t1522 = v_V1653.clone(); rt::eq(&__t1521, &__t1522) }; if !rt::is_truthy(interp, &__t1553)? { Value::bool(false) } else { let __t1554 = { let __t1551 = { let __t1523 = v_V1654.clone(); rt::is_cons(&__t1523) }; if !rt::is_truthy(interp, &__t1551)? { Value::bool(false) } else { let __t1552 = { let __t1549 = { let __t1525 = { let __t1524 = v_V1654.clone(); rt::hd(&__t1524)? }; rt::is_cons(&__t1525) }; if !rt::is_truthy(interp, &__t1549)? { Value::bool(false) } else { let __t1550 = { let __t1547 = { let __t1526 = Value::sym(interp.intern("cons")); let __t1529 = { let __t1528 = { let __t1527 = v_V1654.clone(); rt::hd(&__t1527)? }; rt::hd(&__t1528)? }; rt::eq(&__t1526, &__t1529) }; if !rt::is_truthy(interp, &__t1547)? { Value::bool(false) } else { let __t1548 = { let __t1545 = { let __t1532 = { let __t1531 = { let __t1530 = v_V1654.clone(); rt::hd(&__t1530)? }; rt::tl(&__t1531)? }; rt::is_cons(&__t1532) }; if !rt::is_truthy(interp, &__t1545)? { Value::bool(false) } else { let __t1546 = { let __t1543 = { let __t1536 = { let __t1535 = { let __t1534 = { let __t1533 = v_V1654.clone(); rt::hd(&__t1533)? }; rt::tl(&__t1534)? }; rt::tl(&__t1535)? }; rt::is_cons(&__t1536) }; if !rt::is_truthy(interp, &__t1543)? { Value::bool(false) } else { let __t1544 = { let __t1537 = Value::nil(); let __t1542 = { let __t1541 = { let __t1540 = { let __t1539 = { let __t1538 = v_V1654.clone(); rt::hd(&__t1538)? }; rt::tl(&__t1539)? }; rt::tl(&__t1540)? }; rt::tl(&__t1541)? }; rt::eq(&__t1537, &__t1542) }; Value::bool(rt::is_truthy(interp, &__t1544)?) } }; Value::bool(rt::is_truthy(interp, &__t1546)?) } }; Value::bool(rt::is_truthy(interp, &__t1548)?) } }; Value::bool(rt::is_truthy(interp, &__t1550)?) } }; Value::bool(rt::is_truthy(interp, &__t1552)?) } }; Value::bool(rt::is_truthy(interp, &__t1554)?) } }; if match rt::is_truthy(interp, &__t1559) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1555 = v_V1654.clone(); let __t1556 = v_V1655.clone(); let __t1557 = v_V1656.clone(); let __t1558 = v_V1657.clone(); rt::apply_direct(interp, "shen.cons-case-plus", &[__t1555, __t1556, __t1557, __t1558])? }); } else { { let __t1520 = Value::bool(true); if match rt::is_truthy(interp, &__t1520) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1519 = Value::str("implementation error in shen.compile-head"); rt::apply_direct(interp, "simple-error", &[__t1519])? }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } + if match rt::is_truthy(interp, &__t1573) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1569 = v_V1668.clone(); let __t1570 = v_V1669.clone(); let __t1571 = v_V1670.clone(); let __t1572 = v_V1671.clone(); rt::apply_direct(interp, "shen.atom-case-plus", &[__t1569, __t1570, __t1571, __t1572])? }); } else { { let __t1559 = { let __t1553 = { let __t1521 = Value::sym(interp.intern("shen.+m")); let __t1522 = v_V1667.clone(); rt::eq(&__t1521, &__t1522) }; if !rt::is_truthy(interp, &__t1553)? { Value::bool(false) } else { let __t1554 = { let __t1551 = { let __t1523 = v_V1668.clone(); rt::is_cons(&__t1523) }; if !rt::is_truthy(interp, &__t1551)? { Value::bool(false) } else { let __t1552 = { let __t1549 = { let __t1525 = { let __t1524 = v_V1668.clone(); rt::hd(&__t1524)? }; rt::is_cons(&__t1525) }; if !rt::is_truthy(interp, &__t1549)? { Value::bool(false) } else { let __t1550 = { let __t1547 = { let __t1526 = Value::sym(interp.intern("cons")); let __t1529 = { let __t1528 = { let __t1527 = v_V1668.clone(); rt::hd(&__t1527)? }; rt::hd(&__t1528)? }; rt::eq(&__t1526, &__t1529) }; if !rt::is_truthy(interp, &__t1547)? { Value::bool(false) } else { let __t1548 = { let __t1545 = { let __t1532 = { let __t1531 = { let __t1530 = v_V1668.clone(); rt::hd(&__t1530)? }; rt::tl(&__t1531)? }; rt::is_cons(&__t1532) }; if !rt::is_truthy(interp, &__t1545)? { Value::bool(false) } else { let __t1546 = { let __t1543 = { let __t1536 = { let __t1535 = { let __t1534 = { let __t1533 = v_V1668.clone(); rt::hd(&__t1533)? }; rt::tl(&__t1534)? }; rt::tl(&__t1535)? }; rt::is_cons(&__t1536) }; if !rt::is_truthy(interp, &__t1543)? { Value::bool(false) } else { let __t1544 = { let __t1537 = Value::nil(); let __t1542 = { let __t1541 = { let __t1540 = { let __t1539 = { let __t1538 = v_V1668.clone(); rt::hd(&__t1538)? }; rt::tl(&__t1539)? }; rt::tl(&__t1540)? }; rt::tl(&__t1541)? }; rt::eq(&__t1537, &__t1542) }; Value::bool(rt::is_truthy(interp, &__t1544)?) } }; Value::bool(rt::is_truthy(interp, &__t1546)?) } }; Value::bool(rt::is_truthy(interp, &__t1548)?) } }; Value::bool(rt::is_truthy(interp, &__t1550)?) } }; Value::bool(rt::is_truthy(interp, &__t1552)?) } }; Value::bool(rt::is_truthy(interp, &__t1554)?) } }; if match rt::is_truthy(interp, &__t1559) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1555 = v_V1668.clone(); let __t1556 = v_V1669.clone(); let __t1557 = v_V1670.clone(); let __t1558 = v_V1671.clone(); rt::apply_direct(interp, "shen.cons-case-plus", &[__t1555, __t1556, __t1557, __t1558])? }); } else { { let __t1520 = Value::bool(true); if match rt::is_truthy(interp, &__t1520) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1519 = Value::str("implementation error in shen.compile-head"); rt::apply_direct(interp, "simple-error", &[__t1519])? }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } @@ -7951,28 +7951,28 @@ pub fn aot_shen_x2e_variable_x2d_case(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V1668 = args[0].clone(); + let mut v_V1682 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1669 = args[1].clone(); + let mut v_V1683 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1670 = args[2].clone(); + let mut v_V1684 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1671 = args[3].clone(); + let mut v_V1685 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1672 = args[4].clone(); + let mut v_V1686 = args[4].clone(); #[allow(clippy::never_loop)] loop { { let __t1803 = { let __t1769 = { - let __t1767 = v_V1669.clone(); + let __t1767 = v_V1683.clone(); rt::is_cons(&__t1767) }; if !rt::is_truthy(interp, &__t1769)? { Value::bool(false) } else { let __t1770 = { - let __t1768 = v_V1670.clone(); + let __t1768 = v_V1684.clone(); rt::is_cons(&__t1768) }; Value::bool(rt::is_truthy(interp, &__t1770)?) @@ -7985,7 +7985,7 @@ pub fn aot_shen_x2e_variable_x2d_case(interp: &mut Interp, args: &[Value]) -> Sh { let __t1773 = { let __t1772 = { - let __t1771 = v_V1670.clone(); + let __t1771 = v_V1684.clone(); rt::hd(&__t1771)? }; rt::apply_direct(interp, "variable?", &[__t1772])? @@ -7995,26 +7995,26 @@ pub fn aot_shen_x2e_variable_x2d_case(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { break Ok({ - let __t1774 = v_V1668.clone(); + let __t1774 = v_V1682.clone(); let __t1776 = { - let __t1775 = v_V1669.clone(); + let __t1775 = v_V1683.clone(); rt::tl(&__t1775)? }; let __t1778 = { - let __t1777 = v_V1670.clone(); + let __t1777 = v_V1684.clone(); rt::tl(&__t1777)? }; - let __t1779 = v_V1671.clone(); + let __t1779 = v_V1685.clone(); let __t1785 = { let __t1781 = { - let __t1780 = v_V1670.clone(); + let __t1780 = v_V1684.clone(); rt::hd(&__t1780)? }; let __t1783 = { - let __t1782 = v_V1669.clone(); + let __t1782 = v_V1683.clone(); rt::hd(&__t1782)? }; - let __t1784 = v_V1672.clone(); + let __t1784 = v_V1686.clone(); rt::apply_direct(interp, "subst", &[__t1781, __t1783, __t1784])? }; rt::apply_direct( @@ -8028,27 +8028,27 @@ pub fn aot_shen_x2e_variable_x2d_case(interp: &mut Interp, args: &[Value]) -> Sh let __t1786 = Value::sym(interp.intern("let")); let __t1802 = { let __t1788 = { - let __t1787 = v_V1669.clone(); + let __t1787 = v_V1683.clone(); rt::hd(&__t1787)? }; let __t1801 = { let __t1790 = { - let __t1789 = v_V1670.clone(); + let __t1789 = v_V1684.clone(); rt::hd(&__t1789)? }; let __t1800 = { let __t1798 = { - let __t1791 = v_V1668.clone(); + let __t1791 = v_V1682.clone(); let __t1793 = { - let __t1792 = v_V1669.clone(); + let __t1792 = v_V1683.clone(); rt::tl(&__t1792)? }; let __t1795 = { - let __t1794 = v_V1670.clone(); + let __t1794 = v_V1684.clone(); rt::tl(&__t1794)? }; - let __t1796 = v_V1671.clone(); - let __t1797 = v_V1672.clone(); + let __t1796 = v_V1685.clone(); + let __t1797 = v_V1686.clone(); rt::apply_direct( interp, "shen.compile-head", @@ -8103,26 +8103,26 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_minus( ))); } #[allow(unused_mut)] - let mut v_V1681 = args[0].clone(); + let mut v_V1695 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1682 = args[1].clone(); + let mut v_V1696 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1683 = args[2].clone(); + let mut v_V1697 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1684 = args[3].clone(); + let mut v_V1698 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t1848 = { let __t1808 = { - let __t1806 = v_V1681.clone(); + let __t1806 = v_V1695.clone(); rt::is_cons(&__t1806) }; if !rt::is_truthy(interp, &__t1808)? { Value::bool(false) } else { let __t1809 = { - let __t1807 = v_V1682.clone(); + let __t1807 = v_V1696.clone(); rt::is_cons(&__t1807) }; Value::bool(rt::is_truthy(interp, &__t1809)?) @@ -8133,24 +8133,24 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_minus( Err(e) => break Err(e), } { { - let v_W1685 = { + let v_W1699 = { let __t1810 = Value::sym(interp.intern("Tm")); rt::apply_direct(interp, "gensym", &[__t1810])? }; break Ok({ let __t1811 = Value::sym(interp.intern("let")); let __t1847 = { - let __t1812 = v_W1685.clone(); + let __t1812 = v_W1699.clone(); let __t1846 = { let __t1820 = { let __t1813 = Value::sym(interp.intern("shen.lazyderef")); let __t1819 = { let __t1815 = { - let __t1814 = v_V1682.clone(); + let __t1814 = v_V1696.clone(); rt::hd(&__t1814)? }; let __t1818 = { - let __t1816 = v_V1683.clone(); + let __t1816 = v_V1697.clone(); let __t1817 = Value::nil(); rt::cons(&__t1816, &__t1817) }; @@ -8165,10 +8165,10 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_minus( let __t1829 = { let __t1822 = Value::sym(interp.intern("=")); let __t1828 = { - let __t1823 = v_W1685.clone(); + let __t1823 = v_W1699.clone(); let __t1827 = { let __t1825 = { - let __t1824 = v_V1681.clone(); + let __t1824 = v_V1695.clone(); rt::hd(&__t1824)? }; let __t1826 = Value::nil(); @@ -8183,15 +8183,15 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_minus( let __t1830 = Value::sym(interp.intern("shen.-m")); let __t1832 = { - let __t1831 = v_V1681.clone(); + let __t1831 = v_V1695.clone(); rt::tl(&__t1831)? }; let __t1834 = { - let __t1833 = v_V1682.clone(); + let __t1833 = v_V1696.clone(); rt::tl(&__t1833)? }; - let __t1835 = v_V1683.clone(); - let __t1836 = v_V1684.clone(); + let __t1835 = v_V1697.clone(); + let __t1836 = v_V1698.clone(); rt::apply_direct( interp, "shen.compile-head", @@ -8264,19 +8264,19 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( ))); } #[allow(unused_mut)] - let mut v_V1694 = args[0].clone(); + let mut v_V1708 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1695 = args[1].clone(); + let mut v_V1709 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1696 = args[2].clone(); + let mut v_V1710 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1697 = args[3].clone(); + let mut v_V1711 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t1942 = { let __t1882 = { - let __t1851 = v_V1694.clone(); + let __t1851 = v_V1708.clone(); rt::is_cons(&__t1851) }; if !rt::is_truthy(interp, &__t1882)? { @@ -8285,7 +8285,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1883 = { let __t1880 = { let __t1853 = { - let __t1852 = v_V1694.clone(); + let __t1852 = v_V1708.clone(); rt::hd(&__t1852)? }; rt::is_cons(&__t1853) @@ -8298,7 +8298,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1854 = Value::sym(interp.intern("cons")); let __t1857 = { let __t1856 = { - let __t1855 = v_V1694.clone(); + let __t1855 = v_V1708.clone(); rt::hd(&__t1855)? }; rt::hd(&__t1856)? @@ -8312,7 +8312,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1876 = { let __t1860 = { let __t1859 = { - let __t1858 = v_V1694.clone(); + let __t1858 = v_V1708.clone(); rt::hd(&__t1858)? }; rt::tl(&__t1859)? @@ -8327,7 +8327,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1864 = { let __t1863 = { let __t1862 = { - let __t1861 = v_V1694.clone(); + let __t1861 = v_V1708.clone(); rt::hd(&__t1861)? }; rt::tl(&__t1862)? @@ -8347,7 +8347,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1868 = { let __t1867 = { let __t1866 = - v_V1694.clone(); + v_V1708.clone(); rt::hd(&__t1866)? }; rt::tl(&__t1867)? @@ -8362,7 +8362,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( Value::bool(false) } else { let __t1873 = { - let __t1871 = v_V1695.clone(); + let __t1871 = v_V1709.clone(); rt::is_cons(&__t1871) }; Value::bool(rt::is_truthy( @@ -8390,24 +8390,24 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( Err(e) => break Err(e), } { { - let v_W1698 = { + let v_W1712 = { let __t1884 = Value::sym(interp.intern("Tm")); rt::apply_direct(interp, "gensym", &[__t1884])? }; break Ok({ let __t1885 = Value::sym(interp.intern("let")); let __t1941 = { - let __t1886 = v_W1698.clone(); + let __t1886 = v_W1712.clone(); let __t1940 = { let __t1894 = { let __t1887 = Value::sym(interp.intern("shen.lazyderef")); let __t1893 = { let __t1889 = { - let __t1888 = v_V1695.clone(); + let __t1888 = v_V1709.clone(); rt::hd(&__t1888)? }; let __t1892 = { - let __t1890 = v_V1696.clone(); + let __t1890 = v_V1710.clone(); let __t1891 = Value::nil(); rt::cons(&__t1890, &__t1891) }; @@ -8422,7 +8422,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1900 = { let __t1896 = Value::sym(interp.intern("cons?")); let __t1899 = { - let __t1897 = v_W1698.clone(); + let __t1897 = v_W1712.clone(); let __t1898 = Value::nil(); rt::cons(&__t1897, &__t1898) }; @@ -8436,7 +8436,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1905 = { let __t1904 = { let __t1903 = { - let __t1902 = v_V1694.clone(); + let __t1902 = v_V1708.clone(); rt::hd(&__t1902)? }; rt::tl(&__t1903)? @@ -8449,7 +8449,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1908 = { let __t1907 = { let __t1906 = - v_V1694.clone(); + v_V1708.clone(); rt::hd(&__t1906)? }; rt::tl(&__t1907)? @@ -8459,7 +8459,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( rt::hd(&__t1909)? }; let __t1912 = { - let __t1911 = v_V1694.clone(); + let __t1911 = v_V1708.clone(); rt::tl(&__t1911)? }; rt::cons(&__t1910, &__t1912) @@ -8471,7 +8471,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1915 = Value::sym(interp.intern("hd")); let __t1918 = { - let __t1916 = v_W1698.clone(); + let __t1916 = v_W1712.clone(); let __t1917 = Value::nil(); rt::cons(&__t1916, &__t1917) }; @@ -8482,22 +8482,22 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( let __t1920 = Value::sym(interp.intern("tl")); let __t1923 = { - let __t1921 = v_W1698.clone(); + let __t1921 = v_W1712.clone(); let __t1922 = Value::nil(); rt::cons(&__t1921, &__t1922) }; rt::cons(&__t1920, &__t1923) }; let __t1926 = { - let __t1925 = v_V1695.clone(); + let __t1925 = v_V1709.clone(); rt::tl(&__t1925)? }; rt::cons(&__t1924, &__t1926) }; rt::cons(&__t1919, &__t1927) }; - let __t1929 = v_V1696.clone(); - let __t1930 = v_V1697.clone(); + let __t1929 = v_V1710.clone(); + let __t1930 = v_V1711.clone(); rt::apply_direct( interp, "shen.compile-head", @@ -8570,26 +8570,26 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( ))); } #[allow(unused_mut)] - let mut v_V1707 = args[0].clone(); + let mut v_V1721 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1708 = args[1].clone(); + let mut v_V1722 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1709 = args[2].clone(); + let mut v_V1723 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1710 = args[3].clone(); + let mut v_V1724 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t2024 = { let __t1947 = { - let __t1945 = v_V1707.clone(); + let __t1945 = v_V1721.clone(); rt::is_cons(&__t1945) }; if !rt::is_truthy(interp, &__t1947)? { Value::bool(false) } else { let __t1948 = { - let __t1946 = v_V1708.clone(); + let __t1946 = v_V1722.clone(); rt::is_cons(&__t1946) }; Value::bool(rt::is_truthy(interp, &__t1948)?) @@ -8600,29 +8600,29 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( Err(e) => break Err(e), } { { - let v_W1711 = { + let v_W1725 = { let __t1949 = Value::sym(interp.intern("Tm")); rt::apply_direct(interp, "gensym", &[__t1949])? }; { - let v_W1712 = { + let v_W1726 = { let __t1950 = Value::sym(interp.intern("GoTo")); rt::apply_direct(interp, "gensym", &[__t1950])? }; break Ok({ let __t1951 = Value::sym(interp.intern("let")); let __t2023 = { - let __t1952 = v_W1711.clone(); + let __t1952 = v_W1725.clone(); let __t2022 = { let __t1960 = { let __t1953 = Value::sym(interp.intern("shen.lazyderef")); let __t1959 = { let __t1955 = { - let __t1954 = v_V1708.clone(); + let __t1954 = v_V1722.clone(); rt::hd(&__t1954)? }; let __t1958 = { - let __t1956 = v_V1709.clone(); + let __t1956 = v_V1723.clone(); let __t1957 = Value::nil(); rt::cons(&__t1956, &__t1957) }; @@ -8631,7 +8631,7 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( rt::cons(&__t1953, &__t1959) }; let __t2021 = { - let __t1961 = v_W1712.clone(); + let __t1961 = v_W1726.clone(); let __t2020 = { let __t1973 = { let __t1962 = Value::sym(interp.intern("freeze")); @@ -8640,15 +8640,15 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( let __t1963 = Value::sym(interp.intern("shen.+m")); let __t1965 = { - let __t1964 = v_V1707.clone(); + let __t1964 = v_V1721.clone(); rt::tl(&__t1964)? }; let __t1967 = { - let __t1966 = v_V1708.clone(); + let __t1966 = v_V1722.clone(); rt::tl(&__t1966)? }; - let __t1968 = v_V1709.clone(); - let __t1969 = v_V1710.clone(); + let __t1968 = v_V1723.clone(); + let __t1969 = v_V1724.clone(); rt::apply_direct( interp, "shen.compile-head", @@ -8671,11 +8671,11 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( let __t1975 = Value::sym(interp.intern("=")); let __t1981 = { - let __t1976 = v_W1711.clone(); + let __t1976 = v_W1725.clone(); let __t1980 = { let __t1978 = { let __t1977 = - v_V1707.clone(); + v_V1721.clone(); rt::hd(&__t1977)? }; let __t1979 = Value::nil(); @@ -8691,7 +8691,7 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( interp.intern("thaw"), ); let __t1986 = { - let __t1984 = v_W1712.clone(); + let __t1984 = v_W1726.clone(); let __t1985 = Value::nil(); rt::cons(&__t1984, &__t1985) }; @@ -8707,7 +8707,7 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( let __t1989 = Value::sym(interp.intern("shen.pvar?")); let __t1992 = { let __t1990 = - v_W1711.clone(); + v_W1725.clone(); let __t1991 = Value::nil(); rt::cons( @@ -8724,21 +8724,21 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( let __t1994 = Value::sym(interp.intern("shen.bind!")); let __t2005 = { let __t1995 = - v_W1711 + v_W1725 .clone( ); let __t2004 = { let __t1998 = { let __t1997 = { - let __t1996 = v_V1707.clone(); + let __t1996 = v_V1721.clone(); rt::hd(&__t1996)? }; rt::apply_direct(interp, "shen.demode", &[__t1997])? }; let __t2003 = { - let __t1999 = v_V1709.clone(); + let __t1999 = v_V1723.clone(); let __t2002 = { - let __t2000 = v_W1712.clone(); + let __t2000 = v_W1726.clone(); let __t2001 = Value::nil(); rt::cons(&__t2000, &__t2001) }; @@ -8841,19 +8841,19 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( ))); } #[allow(unused_mut)] - let mut v_V1721 = args[0].clone(); + let mut v_V1735 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1722 = args[1].clone(); + let mut v_V1736 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1723 = args[2].clone(); + let mut v_V1737 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1724 = args[3].clone(); + let mut v_V1738 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t2168 = { let __t2058 = { - let __t2027 = v_V1721.clone(); + let __t2027 = v_V1735.clone(); rt::is_cons(&__t2027) }; if !rt::is_truthy(interp, &__t2058)? { @@ -8862,7 +8862,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2059 = { let __t2056 = { let __t2029 = { - let __t2028 = v_V1721.clone(); + let __t2028 = v_V1735.clone(); rt::hd(&__t2028)? }; rt::is_cons(&__t2029) @@ -8875,7 +8875,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2030 = Value::sym(interp.intern("cons")); let __t2033 = { let __t2032 = { - let __t2031 = v_V1721.clone(); + let __t2031 = v_V1735.clone(); rt::hd(&__t2031)? }; rt::hd(&__t2032)? @@ -8889,7 +8889,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2052 = { let __t2036 = { let __t2035 = { - let __t2034 = v_V1721.clone(); + let __t2034 = v_V1735.clone(); rt::hd(&__t2034)? }; rt::tl(&__t2035)? @@ -8904,7 +8904,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2040 = { let __t2039 = { let __t2038 = { - let __t2037 = v_V1721.clone(); + let __t2037 = v_V1735.clone(); rt::hd(&__t2037)? }; rt::tl(&__t2038)? @@ -8924,7 +8924,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2044 = { let __t2043 = { let __t2042 = - v_V1721.clone(); + v_V1735.clone(); rt::hd(&__t2042)? }; rt::tl(&__t2043)? @@ -8939,7 +8939,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( Value::bool(false) } else { let __t2049 = { - let __t2047 = v_V1722.clone(); + let __t2047 = v_V1736.clone(); rt::is_cons(&__t2047) }; Value::bool(rt::is_truthy( @@ -8967,22 +8967,22 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( Err(e) => break Err(e), } { { - let v_W1725 = { + let v_W1739 = { let __t2060 = Value::sym(interp.intern("Tm")); rt::apply_direct(interp, "gensym", &[__t2060])? }; { - let v_W1726 = { + let v_W1740 = { let __t2061 = Value::sym(interp.intern("GoTo")); rt::apply_direct(interp, "gensym", &[__t2061])? }; { - let v_W1727 = { + let v_W1741 = { let __t2071 = { let __t2065 = { let __t2064 = { let __t2063 = { - let __t2062 = v_V1721.clone(); + let __t2062 = v_V1735.clone(); rt::hd(&__t2062)? }; rt::tl(&__t2063)? @@ -8993,7 +8993,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2069 = { let __t2068 = { let __t2067 = { - let __t2066 = v_V1721.clone(); + let __t2066 = v_V1735.clone(); rt::hd(&__t2066)? }; rt::tl(&__t2067)? @@ -9007,33 +9007,33 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( rt::apply_direct(interp, "shen.extract-vars", &[__t2071])? }; { - let v_W1728 = { + let v_W1742 = { let __t2073 = { - let __t2072 = v_V1721.clone(); + let __t2072 = v_V1735.clone(); rt::hd(&__t2072)? }; rt::apply_direct(interp, "shen.tame", &[__t2073])? }; { - let v_W1729 = { - let __t2074 = v_W1728.clone(); + let v_W1743 = { + let __t2074 = v_W1742.clone(); rt::apply_direct(interp, "shen.extract-vars", &[__t2074])? }; break Ok({ let __t2075 = Value::sym(interp.intern("let")); let __t2167 = { - let __t2076 = v_W1725.clone(); + let __t2076 = v_W1739.clone(); let __t2166 = { let __t2084 = { let __t2077 = Value::sym(interp.intern("shen.lazyderef")); let __t2083 = { let __t2079 = { - let __t2078 = v_V1722.clone(); + let __t2078 = v_V1736.clone(); rt::hd(&__t2078)? }; let __t2082 = { - let __t2080 = v_V1723.clone(); + let __t2080 = v_V1737.clone(); let __t2081 = Value::nil(); rt::cons(&__t2080, &__t2081) }; @@ -9042,24 +9042,24 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( rt::cons(&__t2077, &__t2083) }; let __t2165 = { - let __t2085 = v_W1726.clone(); + let __t2085 = v_W1740.clone(); let __t2164 = { let __t2095 = { - let __t2086 = v_W1727.clone(); + let __t2086 = v_W1741.clone(); let __t2094 = { let __t2087 = Value::sym( interp.intern("shen.+m"), ); let __t2089 = { - let __t2088 = v_V1721.clone(); + let __t2088 = v_V1735.clone(); rt::tl(&__t2088)? }; let __t2091 = { - let __t2090 = v_V1722.clone(); + let __t2090 = v_V1736.clone(); rt::tl(&__t2090)? }; - let __t2092 = v_V1723.clone(); - let __t2093 = v_V1724.clone(); + let __t2092 = v_V1737.clone(); + let __t2093 = v_V1738.clone(); rt::apply_direct( interp, "shen.compile-head", @@ -9086,7 +9086,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( ); let __t2100 = { let __t2098 = - v_W1725.clone(); + v_W1739.clone(); let __t2099 = Value::nil(); rt::cons( @@ -9106,7 +9106,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2105 = { let __t2104 = { let __t2103 = - v_V1721 + v_V1735 .clone( ); rt::hd( @@ -9119,7 +9119,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2110 = { let __t2106 = Value::sym(interp.intern("hd")); let __t2109 = { - let __t2107 = v_W1725.clone(); + let __t2107 = v_W1739.clone(); let __t2108 = Value::nil(); rt::cons(&__t2107, &__t2108) }; @@ -9132,7 +9132,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2115 = { let __t2111 = Value::sym(interp.intern("tl")); let __t2114 = { - let __t2112 = v_W1725.clone(); + let __t2112 = v_W1739.clone(); let __t2113 = Value::nil(); rt::cons(&__t2112, &__t2113) }; @@ -9152,12 +9152,12 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( ) }; let __t2119 = - v_V1723.clone(); + v_V1737.clone(); let __t2122 = { let __t2120 = - v_W1726.clone(); + v_W1740.clone(); let __t2121 = - v_W1727.clone(); + v_W1741.clone(); rt::apply_direct( interp, "shen.invoke", @@ -9192,7 +9192,7 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( let __t2129 = { let __t2125 = Value::sym(interp.intern("shen.pvar?")); let __t2128 = { - let __t2126 = v_W1725.clone(); + let __t2126 = v_W1739.clone(); let __t2127 = Value::nil(); rt::cons(&__t2126, &__t2127) }; @@ -9200,13 +9200,13 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( }; let __t2154 = { let __t2150 = { - let __t2130 = v_W1729.clone(); + let __t2130 = v_W1743.clone(); let __t2148 = { let __t2131 = Value::sym(interp.intern("shen.bind!")); - let __t2147 = { let __t2132 = v_W1725.clone(); let __t2146 = { let __t2134 = { let __t2133 = v_W1728.clone(); rt::apply_direct(interp, "shen.demode", &[__t2133])? }; let __t2145 = { let __t2135 = v_V1723.clone(); let __t2144 = { let __t2142 = { let __t2136 = Value::sym(interp.intern("freeze")); let __t2141 = { let __t2139 = { let __t2137 = v_W1726.clone(); let __t2138 = v_W1727.clone(); rt::apply_direct(interp, "shen.invoke", &[__t2137, __t2138])? }; let __t2140 = Value::nil(); rt::cons(&__t2139, &__t2140) }; rt::cons(&__t2136, &__t2141) }; let __t2143 = Value::nil(); rt::cons(&__t2142, &__t2143) }; rt::cons(&__t2135, &__t2144) }; rt::cons(&__t2134, &__t2145) }; rt::cons(&__t2132, &__t2146) }; + let __t2147 = { let __t2132 = v_W1739.clone(); let __t2146 = { let __t2134 = { let __t2133 = v_W1742.clone(); rt::apply_direct(interp, "shen.demode", &[__t2133])? }; let __t2145 = { let __t2135 = v_V1737.clone(); let __t2144 = { let __t2142 = { let __t2136 = Value::sym(interp.intern("freeze")); let __t2141 = { let __t2139 = { let __t2137 = v_W1740.clone(); let __t2138 = v_W1741.clone(); rt::apply_direct(interp, "shen.invoke", &[__t2137, __t2138])? }; let __t2140 = Value::nil(); rt::cons(&__t2139, &__t2140) }; rt::cons(&__t2136, &__t2141) }; let __t2143 = Value::nil(); rt::cons(&__t2142, &__t2143) }; rt::cons(&__t2135, &__t2144) }; rt::cons(&__t2134, &__t2145) }; rt::cons(&__t2132, &__t2146) }; rt::cons(&__t2131, &__t2147) }; - let __t2149 = v_V1723.clone(); + let __t2149 = v_V1737.clone(); rt::apply_direct(interp, "shen.stpart", &[__t2130, __t2148, __t2149])? }; let __t2153 = { @@ -9294,13 +9294,13 @@ pub fn aot_shen_x2e_demode(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult", 1, move |interp, args| { - let v_Z1731 = args[0].clone(); + let v_Z1745 = args[0].clone(); Ok({ - let __t2171 = v_Z1731.clone(); + let __t2171 = v_Z1745.clone(); rt::apply_direct( interp, "shen.demode", @@ -9462,7 +9462,7 @@ pub fn aot_shen_x2e_demode(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V1730.clone()); + break Ok(v_V1744.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -9500,12 +9500,12 @@ pub fn aot_shen_x2e_tame(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult", 1, move |interp, args| { - let v_Z1733 = args[0].clone(); + let v_Z1747 = args[0].clone(); Ok({ - let __t2217 = v_Z1733.clone(); + let __t2217 = v_Z1747.clone(); rt::apply_direct(interp, "shen.tame", &[__t2217])? }) }, @@ -9542,7 +9542,7 @@ pub fn aot_shen_x2e_tame(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V1732.clone()); + break Ok(v_V1746.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -9578,15 +9578,15 @@ pub fn aot_shen_x2e_goto(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult break Err(e), } { break Ok({ - let __t2224 = v_V1734.clone(); - let __t2225 = v_V1735.clone(); + let __t2224 = v_V1748.clone(); + let __t2225 = v_V1749.clone(); rt::apply_direct(interp, "shen.goto-h", &[__t2224, __t2225])? }); } else { @@ -9637,26 +9637,26 @@ pub fn aot_shen_x2e_goto_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V1736 = args[0].clone(); + let mut v_V1750 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1737 = args[1].clone(); + let mut v_V1751 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t2250 = { let __t2248 = Value::nil(); - let __t2249 = v_V1736.clone(); + let __t2249 = v_V1750.clone(); rt::eq(&__t2248, &__t2249) }; if match rt::is_truthy(interp, &__t2250) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V1737.clone()); + break Ok(v_V1751.clone()); } else { { let __t2247 = { - let __t2236 = v_V1736.clone(); + let __t2236 = v_V1750.clone(); rt::is_cons(&__t2236) }; if match rt::is_truthy(interp, &__t2247) { @@ -9667,16 +9667,16 @@ pub fn aot_shen_x2e_goto_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResul let __t2237 = Value::sym(interp.intern("lambda")); let __t2246 = { let __t2239 = { - let __t2238 = v_V1736.clone(); + let __t2238 = v_V1750.clone(); rt::hd(&__t2238)? }; let __t2245 = { let __t2243 = { let __t2241 = { - let __t2240 = v_V1736.clone(); + let __t2240 = v_V1750.clone(); rt::tl(&__t2240)? }; - let __t2242 = v_V1737.clone(); + let __t2242 = v_V1751.clone(); rt::apply_direct( interp, "shen.goto-h", @@ -9726,15 +9726,15 @@ pub fn aot_shen_x2e_invoke(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult break Err(e), } { break Ok({ - let __t2251 = v_V1738.clone(); - let __t2252 = v_V1739.clone(); + let __t2251 = v_V1752.clone(); + let __t2252 = v_V1753.clone(); rt::cons(&__t2251, &__t2252) }); } else { @@ -9785,11 +9785,11 @@ pub fn aot_shen_x2e_wildcard_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V1740 = args[0].clone(); + let mut v_V1754 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t2261 = v_V1740.clone(); + let __t2261 = v_V1754.clone(); let __t2262 = Value::sym(interp.intern("_")); rt::eq(&__t2261, &__t2262) }); @@ -9810,14 +9810,14 @@ pub fn aot_shen_x2e_pvar_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V1741 = args[0].clone(); + let mut v_V1755 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ let __t2268 = { - let __t2263 = v_V1741.clone(); + let __t2263 = v_V1755.clone(); rt::is_absvector(&__t2263) }; if !rt::is_truthy(interp, &__t2268)? { @@ -9825,7 +9825,7 @@ pub fn aot_shen_x2e_pvar_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t2269 = { let __t2266 = { - let __t2264 = v_V1741.clone(); + let __t2264 = v_V1755.clone(); let __t2265 = Value::int(0i64); rt::apply_direct(interp, "<-address", &[__t2264, __t2265])? }; @@ -9843,7 +9843,7 @@ pub fn aot_shen_x2e_pvar_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult "", 1, move |interp, args| { - let v_Z1742 = args[0].clone(); + let v_Z1756 = args[0].clone(); Ok(Value::bool(false)) }, Vec::new(), @@ -9872,14 +9872,14 @@ pub fn aot_shen_x2e_lazyderef(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V1743 = args[0].clone(); + let mut v_V1757 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1744 = args[1].clone(); + let mut v_V1758 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t2271 = { - let __t2270 = v_V1743.clone(); + let __t2270 = v_V1757.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2270])? }; if match rt::is_truthy(interp, &__t2271) { @@ -9887,10 +9887,10 @@ pub fn aot_shen_x2e_lazyderef(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let v_W1745 = { - let __t2272 = v_V1744.clone(); + let v_W1759 = { + let __t2272 = v_V1758.clone(); let __t2275 = { - let __t2273 = v_V1743.clone(); + let __t2273 = v_V1757.clone(); let __t2274 = Value::int(1i64); rt::apply_direct(interp, "<-address", &[__t2273, __t2274])? }; @@ -9898,7 +9898,7 @@ pub fn aot_shen_x2e_lazyderef(interp: &mut Interp, args: &[Value]) -> ShenResult }; { let __t2278 = { - let __t2276 = v_W1745.clone(); + let __t2276 = v_W1759.clone(); let __t2277 = Value::sym(interp.intern("shen.-null-")); rt::eq(&__t2276, &__t2277) }; @@ -9906,20 +9906,20 @@ pub fn aot_shen_x2e_lazyderef(interp: &mut Interp, args: &[Value]) -> ShenResult Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V1743.clone()); + break Ok(v_V1757.clone()); } else { { - let __t2279 = v_W1745.clone(); - let __t2280 = v_V1744.clone(); - v_V1743 = __t2279; - v_V1744 = __t2280; + let __t2279 = v_W1759.clone(); + let __t2280 = v_V1758.clone(); + v_V1757 = __t2279; + v_V1758 = __t2280; continue; } } } } } else { - break Ok(v_V1743.clone()); + break Ok(v_V1757.clone()); } } } @@ -9939,14 +9939,14 @@ pub fn aot_shen_x2e_deref(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult break Err(e), } { { - let v_W1748 = { - let __t2283 = v_V1747.clone(); + let v_W1762 = { + let __t2283 = v_V1761.clone(); let __t2286 = { - let __t2284 = v_V1746.clone(); + let __t2284 = v_V1760.clone(); let __t2285 = Value::int(1i64); rt::apply_direct( interp, @@ -10004,7 +10004,7 @@ pub fn aot_shen_x2e_deref(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V1746.clone()); + break Ok(v_V1760.clone()); } else { { - let __t2290 = v_W1748.clone(); - let __t2291 = v_V1747.clone(); - v_V1746 = __t2290; - v_V1747 = __t2291; + let __t2290 = v_W1762.clone(); + let __t2291 = v_V1761.clone(); + v_V1760 = __t2290; + v_V1761 = __t2291; continue; } } } } } else { - break Ok(v_V1746.clone()); + break Ok(v_V1760.clone()); } } } else { @@ -10051,27 +10051,27 @@ pub fn aot_shen_x2e_bind_x21_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V1749 = args[0].clone(); + let mut v_V1763 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1750 = args[1].clone(); + let mut v_V1764 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1751 = args[2].clone(); + let mut v_V1765 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1752 = args[3].clone(); + let mut v_V1766 = args[3].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1753 = { - let __t2303 = v_V1749.clone(); - let __t2304 = v_V1750.clone(); - let __t2305 = v_V1751.clone(); + let v_W1767 = { + let __t2303 = v_V1763.clone(); + let __t2304 = v_V1764.clone(); + let __t2305 = v_V1765.clone(); rt::apply_direct(interp, "shen.bindv", &[__t2303, __t2304, __t2305])? }; { - let v_W1754 = rt::apply_value(interp, v_V1752.clone(), &[])?; + let v_W1768 = rt::apply_value(interp, v_V1766.clone(), &[])?; { let __t2308 = { - let __t2306 = v_W1754.clone(); + let __t2306 = v_W1768.clone(); let __t2307 = Value::bool(false); rt::eq(&__t2306, &__t2307) }; @@ -10080,13 +10080,13 @@ pub fn aot_shen_x2e_bind_x21_(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { break Ok({ - let __t2309 = v_V1749.clone(); - let __t2310 = v_V1751.clone(); - let __t2311 = v_W1754.clone(); + let __t2309 = v_V1763.clone(); + let __t2310 = v_V1765.clone(); + let __t2311 = v_W1768.clone(); rt::apply_direct(interp, "shen.unwind", &[__t2309, __t2310, __t2311])? }); } else { - break Ok(v_W1754.clone()); + break Ok(v_W1768.clone()); } } } @@ -10108,21 +10108,21 @@ pub fn aot_shen_x2e_bindv(interp: &mut Interp, args: &[Value]) -> ShenResult", &[__t2312, __t2315, __t2316])? }); } @@ -10142,25 +10142,25 @@ pub fn aot_shen_x2e_unwind(interp: &mut Interp, args: &[Value]) -> ShenResult", &[__t2317, __t2320, __t2321])? }; - break Ok(v_V1760.clone()); + break Ok(v_V1774.clone()); } } } @@ -10179,28 +10179,28 @@ pub fn aot_shen_x2e_stpart(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V1770.clone()); + break Ok(v_V1784.clone()); } else { { let __t2348 = { - let __t2324 = v_V1769.clone(); + let __t2324 = v_V1783.clone(); rt::is_cons(&__t2324) }; if match rt::is_truthy(interp, &__t2348) { @@ -10211,14 +10211,14 @@ pub fn aot_shen_x2e_stpart(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ))); } #[allow(unused_mut)] - let mut v_V1772 = args[0].clone(); + let mut v_V1786 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1773 = args[1].clone(); + let mut v_V1787 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t2354 = { - let __t2352 = v_V1773.clone(); + let __t2352 = v_V1787.clone(); let __t2353 = Value::bool(false); rt::eq(&__t2352, &__t2353) }; @@ -10311,21 +10311,21 @@ pub fn aot_shen_x2e_gc(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let v_W1774 = { - let __t2355 = v_V1772.clone(); + let v_W1788 = { + let __t2355 = v_V1786.clone(); rt::apply_direct(interp, "shen.ticket-number", &[__t2355])? }; { let _ = { - let __t2356 = v_W1774.clone(); - let __t2357 = v_V1772.clone(); + let __t2356 = v_W1788.clone(); + let __t2357 = v_V1786.clone(); rt::apply_direct(interp, "shen.decrement-ticket", &[__t2356, __t2357])? }; - break Ok(v_V1773.clone()); + break Ok(v_V1787.clone()); } } } else { - break Ok(v_V1773.clone()); + break Ok(v_V1787.clone()); } } } @@ -10345,16 +10345,16 @@ pub fn aot_shen_x2e_decrement_x2d_ticket(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V1775 = args[0].clone(); + let mut v_V1789 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1776 = args[1].clone(); + let mut v_V1790 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t2358 = v_V1776.clone(); + let __t2358 = v_V1790.clone(); let __t2359 = Value::int(1i64); let __t2362 = { - let __t2360 = v_V1775.clone(); + let __t2360 = v_V1789.clone(); let __t2361 = Value::int(1i64); rt::sub(&__t2360, &__t2361)? }; @@ -10381,26 +10381,26 @@ pub fn aot_shen_x2e_newpv(interp: &mut Interp, args: &[Value]) -> ShenResult Sh ))); } #[allow(unused_mut)] - let mut v_V1781 = args[0].clone(); + let mut v_V1795 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t2367 = v_V1781.clone(); + let __t2367 = v_V1795.clone(); let __t2368 = Value::int(1i64); rt::apply_direct(interp, "<-address", &[__t2367, __t2368])? }); @@ -10446,23 +10446,23 @@ pub fn aot_shen_x2e_nextticket(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V1782 = args[0].clone(); + let mut v_V1796 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1783 = args[1].clone(); + let mut v_V1797 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1784 = { - let __t2369 = v_V1782.clone(); - let __t2370 = v_V1783.clone(); + let v_W1798 = { + let __t2369 = v_V1796.clone(); + let __t2370 = v_V1797.clone(); let __t2371 = Value::sym(interp.intern("shen.-null-")); rt::apply_direct(interp, "address->", &[__t2369, __t2370, __t2371])? }; break Ok({ - let __t2372 = v_W1784.clone(); + let __t2372 = v_W1798.clone(); let __t2373 = Value::int(1i64); let __t2376 = { - let __t2374 = v_V1783.clone(); + let __t2374 = v_V1797.clone(); let __t2375 = Value::int(1i64); rt::add(&__t2374, &__t2375)? }; @@ -10489,7 +10489,7 @@ pub fn aot_shen_x2e_make_x2d_prolog_x2d_variable( ))); } #[allow(unused_mut)] - let mut v_V1785 = args[0].clone(); + let mut v_V1799 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -10503,7 +10503,7 @@ pub fn aot_shen_x2e_make_x2d_prolog_x2d_variable( rt::apply_direct(interp, "address->", &[__t2378, __t2379, __t2380])? }; let __t2382 = Value::int(1i64); - let __t2383 = v_V1785.clone(); + let __t2383 = v_V1799.clone(); rt::apply_direct(interp, "address->", &[__t2381, __t2382, __t2383])? }); } @@ -10530,14 +10530,14 @@ pub fn aot_shen_x2e_pvar(interp: &mut Interp, args: &[Value]) -> ShenResult ShenRe ))); } #[allow(unused_mut)] - let mut v_V1799 = args[0].clone(); + let mut v_V1813 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1800 = args[1].clone(); + let mut v_V1814 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1801 = args[2].clone(); + let mut v_V1815 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1802 = args[3].clone(); + let mut v_V1816 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t2464 = { - let __t2462 = v_V1799.clone(); - let __t2463 = v_V1800.clone(); + let __t2462 = v_V1813.clone(); + let __t2463 = v_V1814.clone(); rt::eq(&__t2462, &__t2463) }; if match rt::is_truthy(interp, &__t2464) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(rt::apply_value(interp, v_V1802.clone(), &[])?); + break Ok(rt::apply_value(interp, v_V1816.clone(), &[])?); } else { { let __t2461 = { let __t2455 = { - let __t2449 = v_V1799.clone(); + let __t2449 = v_V1813.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2449])? }; if !rt::is_truthy(interp, &__t2455)? { @@ -10700,10 +10700,10 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe } else { let __t2456 = { let __t2454 = { - let __t2450 = v_V1799.clone(); + let __t2450 = v_V1813.clone(); let __t2453 = { - let __t2451 = v_V1800.clone(); - let __t2452 = v_V1801.clone(); + let __t2451 = v_V1814.clone(); + let __t2452 = v_V1815.clone(); rt::apply_direct(interp, "shen.deref", &[__t2451, __t2452])? }; rt::apply_direct( @@ -10722,10 +10722,10 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { break Ok({ - let __t2457 = v_V1799.clone(); - let __t2458 = v_V1800.clone(); - let __t2459 = v_V1801.clone(); - let __t2460 = v_V1802.clone(); + let __t2457 = v_V1813.clone(); + let __t2458 = v_V1814.clone(); + let __t2459 = v_V1815.clone(); + let __t2460 = v_V1816.clone(); rt::apply_direct( interp, "shen.bind!", @@ -10736,7 +10736,7 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t2448 = { let __t2442 = { - let __t2436 = v_V1800.clone(); + let __t2436 = v_V1814.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2436])? }; if !rt::is_truthy(interp, &__t2442)? { @@ -10744,10 +10744,10 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe } else { let __t2443 = { let __t2441 = { - let __t2437 = v_V1800.clone(); + let __t2437 = v_V1814.clone(); let __t2440 = { - let __t2438 = v_V1799.clone(); - let __t2439 = v_V1801.clone(); + let __t2438 = v_V1813.clone(); + let __t2439 = v_V1815.clone(); rt::apply_direct( interp, "shen.deref", @@ -10770,10 +10770,10 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { break Ok({ - let __t2444 = v_V1800.clone(); - let __t2445 = v_V1799.clone(); - let __t2446 = v_V1801.clone(); - let __t2447 = v_V1802.clone(); + let __t2444 = v_V1814.clone(); + let __t2445 = v_V1813.clone(); + let __t2446 = v_V1815.clone(); + let __t2447 = v_V1816.clone(); rt::apply_direct( interp, "shen.bind!", @@ -10784,14 +10784,14 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t2435 = { let __t2413 = { - let __t2411 = v_V1799.clone(); + let __t2411 = v_V1813.clone(); rt::is_cons(&__t2411) }; if !rt::is_truthy(interp, &__t2413)? { Value::bool(false) } else { let __t2414 = { - let __t2412 = v_V1800.clone(); + let __t2412 = v_V1814.clone(); rt::is_cons(&__t2412) }; Value::bool(rt::is_truthy(interp, &__t2414)?) @@ -10804,10 +10804,10 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t2418 = { let __t2416 = { - let __t2415 = v_V1799.clone(); + let __t2415 = v_V1813.clone(); rt::hd(&__t2415)? }; - let __t2417 = v_V1801.clone(); + let __t2417 = v_V1815.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -10816,22 +10816,22 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe }; let __t2422 = { let __t2420 = { - let __t2419 = v_V1800.clone(); + let __t2419 = v_V1814.clone(); rt::hd(&__t2419)? }; - let __t2421 = v_V1801.clone(); + let __t2421 = v_V1815.clone(); rt::apply_direct( interp, "shen.lazyderef", &[__t2420, __t2421], )? }; - let __t2423 = v_V1801.clone(); + let __t2423 = v_V1815.clone(); let __t2434 = { - let v_V1799 = v_V1799.clone(); - let v_V1800 = v_V1800.clone(); - let v_V1801 = v_V1801.clone(); - let v_V1802 = v_V1802.clone(); + let v_V1813 = v_V1813.clone(); + let v_V1814 = v_V1814.clone(); + let v_V1815 = v_V1815.clone(); + let v_V1816 = v_V1816.clone(); rt::make_aot_closure( "", 0, @@ -10839,10 +10839,10 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe Ok({ let __t2427 = { let __t2425 = { - let __t2424 = v_V1799.clone(); + let __t2424 = v_V1813.clone(); rt::tl(&__t2424)? }; - let __t2426 = v_V1801.clone(); + let __t2426 = v_V1815.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -10851,18 +10851,18 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe }; let __t2431 = { let __t2429 = { - let __t2428 = v_V1800.clone(); + let __t2428 = v_V1814.clone(); rt::tl(&__t2428)? }; - let __t2430 = v_V1801.clone(); + let __t2430 = v_V1815.clone(); rt::apply_direct( interp, "shen.lazyderef", &[__t2429, __t2430], )? }; - let __t2432 = v_V1801.clone(); - let __t2433 = v_V1802.clone(); + let __t2432 = v_V1815.clone(); + let __t2433 = v_V1816.clone(); rt::apply_direct( interp, "shen.lzy=!", @@ -10873,14 +10873,14 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe )? }) }, - vec![v_V1799, v_V1800, v_V1801, v_V1802], + vec![v_V1813, v_V1814, v_V1815, v_V1816], interp, ) }; - v_V1799 = __t2418; - v_V1800 = __t2422; - v_V1801 = __t2423; - v_V1802 = __t2434; + v_V1813 = __t2418; + v_V1814 = __t2422; + v_V1815 = __t2423; + v_V1816 = __t2434; continue; } } else { @@ -10922,30 +10922,30 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V1814 = args[0].clone(); + let mut v_V1828 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1815 = args[1].clone(); + let mut v_V1829 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1816 = args[2].clone(); + let mut v_V1830 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1817 = args[3].clone(); + let mut v_V1831 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t2505 = { - let __t2503 = v_V1814.clone(); - let __t2504 = v_V1815.clone(); + let __t2503 = v_V1828.clone(); + let __t2504 = v_V1829.clone(); rt::eq(&__t2503, &__t2504) }; if match rt::is_truthy(interp, &__t2505) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(rt::apply_value(interp, v_V1817.clone(), &[])?); + break Ok(rt::apply_value(interp, v_V1831.clone(), &[])?); } else { { let __t2502 = { - let __t2497 = v_V1814.clone(); + let __t2497 = v_V1828.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2497])? }; if match rt::is_truthy(interp, &__t2502) { @@ -10953,10 +10953,10 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< Err(e) => break Err(e), } { break Ok({ - let __t2498 = v_V1814.clone(); - let __t2499 = v_V1815.clone(); - let __t2500 = v_V1816.clone(); - let __t2501 = v_V1817.clone(); + let __t2498 = v_V1828.clone(); + let __t2499 = v_V1829.clone(); + let __t2500 = v_V1830.clone(); + let __t2501 = v_V1831.clone(); rt::apply_direct( interp, "shen.bind!", @@ -10966,7 +10966,7 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< } else { { let __t2496 = { - let __t2491 = v_V1815.clone(); + let __t2491 = v_V1829.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2491])? }; if match rt::is_truthy(interp, &__t2496) { @@ -10974,10 +10974,10 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< Err(e) => break Err(e), } { break Ok({ - let __t2492 = v_V1815.clone(); - let __t2493 = v_V1814.clone(); - let __t2494 = v_V1816.clone(); - let __t2495 = v_V1817.clone(); + let __t2492 = v_V1829.clone(); + let __t2493 = v_V1828.clone(); + let __t2494 = v_V1830.clone(); + let __t2495 = v_V1831.clone(); rt::apply_direct( interp, "shen.bind!", @@ -10988,14 +10988,14 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< { let __t2490 = { let __t2468 = { - let __t2466 = v_V1814.clone(); + let __t2466 = v_V1828.clone(); rt::is_cons(&__t2466) }; if !rt::is_truthy(interp, &__t2468)? { Value::bool(false) } else { let __t2469 = { - let __t2467 = v_V1815.clone(); + let __t2467 = v_V1829.clone(); rt::is_cons(&__t2467) }; Value::bool(rt::is_truthy(interp, &__t2469)?) @@ -11008,10 +11008,10 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< { let __t2473 = { let __t2471 = { - let __t2470 = v_V1814.clone(); + let __t2470 = v_V1828.clone(); rt::hd(&__t2470)? }; - let __t2472 = v_V1816.clone(); + let __t2472 = v_V1830.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -11020,22 +11020,22 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< }; let __t2477 = { let __t2475 = { - let __t2474 = v_V1815.clone(); + let __t2474 = v_V1829.clone(); rt::hd(&__t2474)? }; - let __t2476 = v_V1816.clone(); + let __t2476 = v_V1830.clone(); rt::apply_direct( interp, "shen.lazyderef", &[__t2475, __t2476], )? }; - let __t2478 = v_V1816.clone(); + let __t2478 = v_V1830.clone(); let __t2489 = { - let v_V1814 = v_V1814.clone(); - let v_V1815 = v_V1815.clone(); - let v_V1816 = v_V1816.clone(); - let v_V1817 = v_V1817.clone(); + let v_V1828 = v_V1828.clone(); + let v_V1829 = v_V1829.clone(); + let v_V1830 = v_V1830.clone(); + let v_V1831 = v_V1831.clone(); rt::make_aot_closure( "", 0, @@ -11043,10 +11043,10 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< Ok({ let __t2482 = { let __t2480 = { - let __t2479 = v_V1814.clone(); + let __t2479 = v_V1828.clone(); rt::tl(&__t2479)? }; - let __t2481 = v_V1816.clone(); + let __t2481 = v_V1830.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -11055,18 +11055,18 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< }; let __t2486 = { let __t2484 = { - let __t2483 = v_V1815.clone(); + let __t2483 = v_V1829.clone(); rt::tl(&__t2483)? }; - let __t2485 = v_V1816.clone(); + let __t2485 = v_V1830.clone(); rt::apply_direct( interp, "shen.lazyderef", &[__t2484, __t2485], )? }; - let __t2487 = v_V1816.clone(); - let __t2488 = v_V1817.clone(); + let __t2487 = v_V1830.clone(); + let __t2488 = v_V1831.clone(); rt::apply_direct( interp, "shen.lzy=", @@ -11077,14 +11077,14 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< )? }) }, - vec![v_V1814, v_V1815, v_V1816, v_V1817], + vec![v_V1828, v_V1829, v_V1830, v_V1831], interp, ) }; - v_V1814 = __t2473; - v_V1815 = __t2477; - v_V1816 = __t2478; - v_V1817 = __t2489; + v_V1828 = __t2473; + v_V1829 = __t2477; + v_V1830 = __t2478; + v_V1831 = __t2489; continue; } } else { @@ -11129,15 +11129,15 @@ pub fn aot_shen_x2e_occurs_x2d_check_x3f_( ))); } #[allow(unused_mut)] - let mut v_V1823 = args[0].clone(); + let mut v_V1837 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1824 = args[1].clone(); + let mut v_V1838 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t2518 = { - let __t2516 = v_V1823.clone(); - let __t2517 = v_V1824.clone(); + let __t2516 = v_V1837.clone(); + let __t2517 = v_V1838.clone(); rt::eq(&__t2516, &__t2517) }; if match rt::is_truthy(interp, &__t2518) { @@ -11148,7 +11148,7 @@ pub fn aot_shen_x2e_occurs_x2d_check_x3f_( } else { { let __t2515 = { - let __t2507 = v_V1824.clone(); + let __t2507 = v_V1838.clone(); rt::is_cons(&__t2507) }; if match rt::is_truthy(interp, &__t2515) { @@ -11157,9 +11157,9 @@ pub fn aot_shen_x2e_occurs_x2d_check_x3f_( } { { let __t2511 = { - let __t2508 = v_V1823.clone(); + let __t2508 = v_V1837.clone(); let __t2510 = { - let __t2509 = v_V1824.clone(); + let __t2509 = v_V1838.clone(); rt::hd(&__t2509)? }; rt::apply_direct(interp, "shen.occurs-check?", &[__t2508, __t2510])? @@ -11171,13 +11171,13 @@ pub fn aot_shen_x2e_occurs_x2d_check_x3f_( break Ok(Value::bool(true)); } else { { - let __t2512 = v_V1823.clone(); + let __t2512 = v_V1837.clone(); let __t2514 = { - let __t2513 = v_V1824.clone(); + let __t2513 = v_V1838.clone(); rt::tl(&__t2513)? }; - v_V1823 = __t2512; - v_V1824 = __t2514; + v_V1837 = __t2512; + v_V1838 = __t2514; continue; } } @@ -11215,31 +11215,31 @@ pub fn aot_call(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1825 = args[0].clone(); + let mut v_V1839 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1826 = args[1].clone(); + let mut v_V1840 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1827 = args[2].clone(); + let mut v_V1841 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1828 = args[3].clone(); + let mut v_V1842 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1829 = args[4].clone(); + let mut v_V1843 = args[4].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t2524 = { let __t2522 = { let __t2520 = { - let __t2519 = v_V1826.clone(); - rt::apply_value(interp, v_V1825.clone(), &[__t2519])? + let __t2519 = v_V1840.clone(); + rt::apply_value(interp, v_V1839.clone(), &[__t2519])? }; - let __t2521 = v_V1827.clone(); + let __t2521 = v_V1841.clone(); rt::apply_value(interp, __t2520, &[__t2521])? }; - let __t2523 = v_V1828.clone(); + let __t2523 = v_V1842.clone(); rt::apply_value(interp, __t2522, &[__t2523])? }; - let __t2525 = v_V1829.clone(); + let __t2525 = v_V1843.clone(); rt::apply_value(interp, __t2524, &[__t2525])? }); } @@ -11259,20 +11259,20 @@ pub fn aot_return(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1836 = args[0].clone(); + let mut v_V1850 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1837 = args[1].clone(); + let mut v_V1851 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1838 = args[2].clone(); + let mut v_V1852 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1839 = args[3].clone(); + let mut v_V1853 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1840 = args[4].clone(); + let mut v_V1854 = args[4].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t2526 = v_V1836.clone(); - let __t2527 = v_V1837.clone(); + let __t2526 = v_V1850.clone(); + let __t2527 = v_V1851.clone(); rt::apply_direct(interp, "shen.deref", &[__t2526, __t2527])? }); } @@ -11292,24 +11292,24 @@ pub fn aot_when(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1847 = args[0].clone(); + let mut v_V1861 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1848 = args[1].clone(); + let mut v_V1862 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1849 = args[2].clone(); + let mut v_V1863 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1850 = args[3].clone(); + let mut v_V1864 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1851 = args[4].clone(); + let mut v_V1865 = args[4].clone(); #[allow(clippy::never_loop)] loop { { - let __t2528 = v_V1847.clone(); + let __t2528 = v_V1861.clone(); if match rt::is_truthy(interp, &__t2528) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(rt::apply_value(interp, v_V1851.clone(), &[])?); + break Ok(rt::apply_value(interp, v_V1865.clone(), &[])?); } else { break Ok(Value::bool(false)); } @@ -11331,32 +11331,32 @@ pub fn aot_is(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1852 = args[0].clone(); + let mut v_V1866 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1853 = args[1].clone(); + let mut v_V1867 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1854 = args[2].clone(); + let mut v_V1868 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1855 = args[3].clone(); + let mut v_V1869 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1856 = args[4].clone(); + let mut v_V1870 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1857 = args[5].clone(); + let mut v_V1871 = args[5].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t2531 = { - let __t2529 = v_V1852.clone(); - let __t2530 = v_V1854.clone(); + let __t2529 = v_V1866.clone(); + let __t2530 = v_V1868.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2529, __t2530])? }; let __t2534 = { - let __t2532 = v_V1853.clone(); - let __t2533 = v_V1854.clone(); + let __t2532 = v_V1867.clone(); + let __t2533 = v_V1868.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2532, __t2533])? }; - let __t2535 = v_V1854.clone(); - let __t2536 = v_V1857.clone(); + let __t2535 = v_V1868.clone(); + let __t2536 = v_V1871.clone(); rt::apply_direct(interp, "shen.lzy=", &[__t2531, __t2534, __t2535, __t2536])? }); } @@ -11376,32 +11376,32 @@ pub fn aot_is_x21_(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1858 = args[0].clone(); + let mut v_V1872 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1859 = args[1].clone(); + let mut v_V1873 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1860 = args[2].clone(); + let mut v_V1874 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1861 = args[3].clone(); + let mut v_V1875 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1862 = args[4].clone(); + let mut v_V1876 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1863 = args[5].clone(); + let mut v_V1877 = args[5].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t2539 = { - let __t2537 = v_V1858.clone(); - let __t2538 = v_V1860.clone(); + let __t2537 = v_V1872.clone(); + let __t2538 = v_V1874.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2537, __t2538])? }; let __t2542 = { - let __t2540 = v_V1859.clone(); - let __t2541 = v_V1860.clone(); + let __t2540 = v_V1873.clone(); + let __t2541 = v_V1874.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2540, __t2541])? }; - let __t2543 = v_V1860.clone(); - let __t2544 = v_V1863.clone(); + let __t2543 = v_V1874.clone(); + let __t2544 = v_V1877.clone(); rt::apply_direct(interp, "shen.lzy=!", &[__t2539, __t2542, __t2543, __t2544])? }); } @@ -11421,24 +11421,24 @@ pub fn aot_bind(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1868 = args[0].clone(); + let mut v_V1882 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1869 = args[1].clone(); + let mut v_V1883 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1870 = args[2].clone(); + let mut v_V1884 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1871 = args[3].clone(); + let mut v_V1885 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1872 = args[4].clone(); + let mut v_V1886 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1873 = args[5].clone(); + let mut v_V1887 = args[5].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t2545 = v_V1868.clone(); - let __t2546 = v_V1869.clone(); - let __t2547 = v_V1870.clone(); - let __t2548 = v_V1873.clone(); + let __t2545 = v_V1882.clone(); + let __t2546 = v_V1883.clone(); + let __t2547 = v_V1884.clone(); + let __t2548 = v_V1887.clone(); rt::apply_direct(interp, "shen.bind!", &[__t2545, __t2546, __t2547, __t2548])? }); } @@ -11458,22 +11458,22 @@ pub fn aot_var_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1874 = args[0].clone(); + let mut v_V1888 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1875 = args[1].clone(); + let mut v_V1889 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1876 = args[2].clone(); + let mut v_V1890 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1877 = args[3].clone(); + let mut v_V1891 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1878 = args[4].clone(); + let mut v_V1892 = args[4].clone(); #[allow(clippy::never_loop)] loop { { let __t2552 = { let __t2551 = { - let __t2549 = v_V1874.clone(); - let __t2550 = v_V1875.clone(); + let __t2549 = v_V1888.clone(); + let __t2550 = v_V1889.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2549, __t2550])? }; rt::apply_direct(interp, "shen.pvar?", &[__t2551])? @@ -11482,7 +11482,7 @@ pub fn aot_var_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(rt::apply_value(interp, v_V1878.clone(), &[])?); + break Ok(rt::apply_value(interp, v_V1892.clone(), &[])?); } else { break Ok(Value::bool(false)); } @@ -11507,7 +11507,7 @@ pub fn aot_shen_x2e_print_x2d_prolog_x2d_vector( ))); } #[allow(unused_mut)] - let mut v_V1881 = args[0].clone(); + let mut v_V1895 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok(Value::str("|prolog vector|")); @@ -11535,21 +11535,21 @@ pub fn aot_fork(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1900 = args[0].clone(); + let mut v_V1914 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1901 = args[1].clone(); + let mut v_V1915 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1902 = args[2].clone(); + let mut v_V1916 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1903 = args[3].clone(); + let mut v_V1917 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1904 = args[4].clone(); + let mut v_V1918 = args[4].clone(); #[allow(clippy::never_loop)] loop { { let __t2577 = { let __t2575 = Value::nil(); - let __t2576 = v_V1900.clone(); + let __t2576 = v_V1914.clone(); rt::eq(&__t2575, &__t2576) }; if match rt::is_truthy(interp, &__t2577) { @@ -11560,7 +11560,7 @@ pub fn aot_fork(interp: &mut Interp, args: &[Value]) -> ShenResult { } else { { let __t2574 = { - let __t2555 = v_V1900.clone(); + let __t2555 = v_V1914.clone(); rt::is_cons(&__t2555) }; if match rt::is_truthy(interp, &__t2574) { @@ -11568,29 +11568,29 @@ pub fn aot_fork(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { { - let v_W1905 = { + let v_W1919 = { let __t2563 = { let __t2561 = { let __t2559 = { let __t2557 = { - let __t2556 = v_V1900.clone(); + let __t2556 = v_V1914.clone(); rt::hd(&__t2556)? }; - let __t2558 = v_V1901.clone(); + let __t2558 = v_V1915.clone(); rt::apply_value(interp, __t2557, &[__t2558])? }; - let __t2560 = v_V1902.clone(); + let __t2560 = v_V1916.clone(); rt::apply_value(interp, __t2559, &[__t2560])? }; - let __t2562 = v_V1903.clone(); + let __t2562 = v_V1917.clone(); rt::apply_value(interp, __t2561, &[__t2562])? }; - let __t2564 = v_V1904.clone(); + let __t2564 = v_V1918.clone(); rt::apply_value(interp, __t2563, &[__t2564])? }; { let __t2567 = { - let __t2565 = v_W1905.clone(); + let __t2565 = v_W1919.clone(); let __t2566 = Value::bool(false); rt::eq(&__t2565, &__t2566) }; @@ -11600,22 +11600,22 @@ pub fn aot_fork(interp: &mut Interp, args: &[Value]) -> ShenResult { } { { let __t2569 = { - let __t2568 = v_V1900.clone(); + let __t2568 = v_V1914.clone(); rt::tl(&__t2568)? }; - let __t2570 = v_V1901.clone(); - let __t2571 = v_V1902.clone(); - let __t2572 = v_V1903.clone(); - let __t2573 = v_V1904.clone(); - v_V1900 = __t2569; - v_V1901 = __t2570; - v_V1902 = __t2571; - v_V1903 = __t2572; - v_V1904 = __t2573; + let __t2570 = v_V1915.clone(); + let __t2571 = v_V1916.clone(); + let __t2572 = v_V1917.clone(); + let __t2573 = v_V1918.clone(); + v_V1914 = __t2569; + v_V1915 = __t2570; + v_V1916 = __t2571; + v_V1917 = __t2572; + v_V1918 = __t2573; continue; } } else { - break Ok(v_W1905.clone()); + break Ok(v_W1919.clone()); } } } @@ -11655,24 +11655,24 @@ pub fn aot_findall(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V1906 = args[0].clone(); + let mut v_V1920 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1907 = args[1].clone(); + let mut v_V1921 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1908 = args[2].clone(); + let mut v_V1922 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1909 = args[3].clone(); + let mut v_V1923 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1910 = args[4].clone(); + let mut v_V1924 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1911 = args[5].clone(); + let mut v_V1925 = args[5].clone(); #[allow(unused_mut)] - let mut v_V1912 = args[6].clone(); + let mut v_V1926 = args[6].clone(); #[allow(clippy::never_loop)] loop { { let __t2579 = { - let __t2578 = v_V1910.clone(); + let __t2578 = v_V1924.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2578])? }; if match rt::is_truthy(interp, &__t2579) { @@ -11680,42 +11680,42 @@ pub fn aot_findall(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { { - let v_W1913 = { - let __t2580 = v_V1909.clone(); + let v_W1927 = { + let __t2580 = v_V1923.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2580])? }; break Ok({ - let __t2581 = v_V1909.clone(); + let __t2581 = v_V1923.clone(); let __t2596 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t2582 = v_W1913.clone(); + let __t2582 = v_W1927.clone(); let __t2583 = Value::nil(); - let __t2584 = v_V1909.clone(); - let __t2585 = v_V1910.clone(); - let __t2586 = v_V1911.clone(); + let __t2584 = v_V1923.clone(); + let __t2585 = v_V1924.clone(); + let __t2586 = v_V1925.clone(); let __t2595 = { - let v_V1906 = v_V1906.clone(); - let v_V1907 = v_V1907.clone(); - let v_V1908 = v_V1908.clone(); - let v_V1909 = v_V1909.clone(); - let v_V1910 = v_V1910.clone(); - let v_V1911 = v_V1911.clone(); - let v_V1912 = v_V1912.clone(); - let v_W1913 = v_W1913.clone(); + let v_V1920 = v_V1920.clone(); + let v_V1921 = v_V1921.clone(); + let v_V1922 = v_V1922.clone(); + let v_V1923 = v_V1923.clone(); + let v_V1924 = v_V1924.clone(); + let v_V1925 = v_V1925.clone(); + let v_V1926 = v_V1926.clone(); + let v_W1927 = v_W1927.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ - let __t2587 = v_V1906.clone(); - let __t2588 = v_V1907.clone(); - let __t2589 = v_V1908.clone(); - let __t2590 = v_W1913.clone(); - let __t2591 = v_V1909.clone(); - let __t2592 = v_V1910.clone(); - let __t2593 = v_V1911.clone(); - let __t2594 = v_V1912.clone(); + let __t2587 = v_V1920.clone(); + let __t2588 = v_V1921.clone(); + let __t2589 = v_V1922.clone(); + let __t2590 = v_W1927.clone(); + let __t2591 = v_V1923.clone(); + let __t2592 = v_V1924.clone(); + let __t2593 = v_V1925.clone(); + let __t2594 = v_V1926.clone(); rt::apply_direct( interp, "shen.findall-h", @@ -11727,8 +11727,8 @@ pub fn aot_findall(interp: &mut Interp, args: &[Value]) -> ShenResult { }) }, vec![ - v_V1906, v_V1907, v_V1908, v_V1909, v_V1910, v_V1911, - v_V1912, v_W1913, + v_V1920, v_V1921, v_V1922, v_V1923, v_V1924, v_V1925, + v_V1926, v_W1927, ], interp, ) @@ -11764,55 +11764,55 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V1914 = args[0].clone(); + let mut v_V1928 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1915 = args[1].clone(); + let mut v_V1929 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1916 = args[2].clone(); + let mut v_V1930 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1917 = args[3].clone(); + let mut v_V1931 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1918 = args[4].clone(); + let mut v_V1932 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1919 = args[5].clone(); + let mut v_V1933 = args[5].clone(); #[allow(unused_mut)] - let mut v_V1920 = args[6].clone(); + let mut v_V1934 = args[6].clone(); #[allow(unused_mut)] - let mut v_V1921 = args[7].clone(); + let mut v_V1935 = args[7].clone(); #[allow(clippy::never_loop)] loop { { - let v_W1922 = { + let v_W1936 = { let __t2609 = { - let __t2597 = v_V1919.clone(); + let __t2597 = v_V1933.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2597])? }; if rt::is_truthy(interp, &__t2609)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t2598 = v_V1915.clone(); - let __t2599 = v_V1918.clone(); - let __t2600 = v_V1919.clone(); - let __t2601 = v_V1920.clone(); + let __t2598 = v_V1929.clone(); + let __t2599 = v_V1932.clone(); + let __t2600 = v_V1933.clone(); + let __t2601 = v_V1934.clone(); let __t2608 = { - let v_V1914 = v_V1914.clone(); - let v_V1917 = v_V1917.clone(); - let v_V1918 = v_V1918.clone(); - let v_V1919 = v_V1919.clone(); - let v_V1920 = v_V1920.clone(); - let v_V1921 = v_V1921.clone(); + let v_V1928 = v_V1928.clone(); + let v_V1931 = v_V1931.clone(); + let v_V1932 = v_V1932.clone(); + let v_V1933 = v_V1933.clone(); + let v_V1934 = v_V1934.clone(); + let v_V1935 = v_V1935.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ - let __t2602 = v_V1914.clone(); - let __t2603 = v_V1917.clone(); - let __t2604 = v_V1918.clone(); - let __t2605 = v_V1919.clone(); - let __t2606 = v_V1920.clone(); - let __t2607 = v_V1921.clone(); + let __t2602 = v_V1928.clone(); + let __t2603 = v_V1931.clone(); + let __t2604 = v_V1932.clone(); + let __t2605 = v_V1933.clone(); + let __t2606 = v_V1934.clone(); + let __t2607 = v_V1935.clone(); rt::apply_direct( interp, "shen.overbind", @@ -11823,7 +11823,7 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe )? }) }, - vec![v_V1914, v_V1917, v_V1918, v_V1919, v_V1920, v_V1921], + vec![v_V1928, v_V1931, v_V1932, v_V1933, v_V1934, v_V1935], interp, ) }; @@ -11840,7 +11840,7 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t2612 = { - let __t2610 = v_W1922.clone(); + let __t2610 = v_W1936.clone(); let __t2611 = Value::bool(false); rt::eq(&__t2610, &__t2611) }; @@ -11850,7 +11850,7 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe } { { let __t2614 = { - let __t2613 = v_V1919.clone(); + let __t2613 = v_V1933.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2613])? }; if match rt::is_truthy(interp, &__t2614) { @@ -11860,12 +11860,12 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; break Ok({ - let __t2615 = v_V1916.clone(); - let __t2616 = v_V1917.clone(); - let __t2617 = v_V1918.clone(); - let __t2618 = v_V1919.clone(); - let __t2619 = v_V1920.clone(); - let __t2620 = v_V1921.clone(); + let __t2615 = v_V1930.clone(); + let __t2616 = v_V1931.clone(); + let __t2617 = v_V1932.clone(); + let __t2618 = v_V1933.clone(); + let __t2619 = v_V1934.clone(); + let __t2620 = v_V1935.clone(); rt::apply_direct( interp, "is!", @@ -11878,7 +11878,7 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe } } } else { - break Ok(v_W1922.clone()); + break Ok(v_W1936.clone()); } } } @@ -11899,36 +11899,36 @@ pub fn aot_shen_x2e_overbind(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V1929 = args[0].clone(); + let mut v_V1943 = args[0].clone(); #[allow(unused_mut)] - let mut v_V1930 = args[1].clone(); + let mut v_V1944 = args[1].clone(); #[allow(unused_mut)] - let mut v_V1931 = args[2].clone(); + let mut v_V1945 = args[2].clone(); #[allow(unused_mut)] - let mut v_V1932 = args[3].clone(); + let mut v_V1946 = args[3].clone(); #[allow(unused_mut)] - let mut v_V1933 = args[4].clone(); + let mut v_V1947 = args[4].clone(); #[allow(unused_mut)] - let mut v_V1934 = args[5].clone(); + let mut v_V1948 = args[5].clone(); #[allow(clippy::never_loop)] loop { { let _ = { - let __t2621 = v_V1930.clone(); + let __t2621 = v_V1944.clone(); let __t2628 = { let __t2624 = { - let __t2622 = v_V1929.clone(); - let __t2623 = v_V1931.clone(); + let __t2622 = v_V1943.clone(); + let __t2623 = v_V1945.clone(); rt::apply_direct(interp, "shen.deref", &[__t2622, __t2623])? }; let __t2627 = { - let __t2625 = v_V1930.clone(); - let __t2626 = v_V1931.clone(); + let __t2625 = v_V1944.clone(); + let __t2626 = v_V1945.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2625, __t2626])? }; rt::cons(&__t2624, &__t2627) }; - let __t2629 = v_V1931.clone(); + let __t2629 = v_V1945.clone(); rt::apply_direct(interp, "shen.bindv", &[__t2621, __t2628, __t2629])? }; break Ok(Value::bool(false)); @@ -11950,13 +11950,13 @@ pub fn aot_occurs_x2d_check(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult { + let v_W2198 = match (|| -> ShenResult { Ok({ let __t2 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2185 = args[0].clone(); + let v_Z2199 = args[0].clone(); Ok({ - let __t1 = v_Z2185.clone(); + let __t1 = v_Z2199.clone(); rt::apply_direct(interp, "shen.", &[__t1])? }) }, @@ -58,7 +58,7 @@ pub fn aot_read_x2d_file(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult", 1, move |interp, args| { - let v_Z2186 = args[0].clone(); + let v_Z2200 = args[0].clone(); Ok({ let __t5 = { let __t4 = Value::sym(interp.intern("shen.*residue*")); @@ -87,11 +87,11 @@ pub fn aot_read_x2d_file(interp: &mut Interp, args: &[Value]) -> ShenResult She ))); } #[allow(unused_mut)] - let mut v_V2188 = args[0].clone(); + let mut v_V2202 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -125,7 +125,7 @@ pub fn aot_shen_x2e_reader_x2d_error(interp: &mut Interp, args: &[Value]) -> She rt::apply_direct(interp, "value", &[__t8])? }; let __t10 = Value::int(0i64); - let __t11 = v_V2188.clone(); + let __t11 = v_V2202.clone(); rt::apply_direct( interp, "shen.reader-error-message", @@ -158,17 +158,17 @@ pub fn aot_shen_x2e_reader_x2d_error_x2d_message( ))); } #[allow(unused_mut)] - let mut v_V2196 = args[0].clone(); + let mut v_V2210 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2197 = args[1].clone(); + let mut v_V2211 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2198 = args[2].clone(); + let mut v_V2212 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t34 = { let __t32 = Value::nil(); - let __t33 = v_V2198.clone(); + let __t33 = v_V2212.clone(); rt::eq(&__t32, &__t33) }; if match rt::is_truthy(interp, &__t34) { @@ -179,8 +179,8 @@ pub fn aot_shen_x2e_reader_x2d_error_x2d_message( } else { { let __t31 = { - let __t29 = v_V2196.clone(); - let __t30 = v_V2197.clone(); + let __t29 = v_V2210.clone(); + let __t30 = v_V2211.clone(); rt::eq(&__t29, &__t30) }; if match rt::is_truthy(interp, &__t31) { @@ -191,7 +191,7 @@ pub fn aot_shen_x2e_reader_x2d_error_x2d_message( } else { { let __t28 = { - let __t17 = v_V2198.clone(); + let __t17 = v_V2212.clone(); rt::is_cons(&__t17) }; if match rt::is_truthy(interp, &__t28) { @@ -201,20 +201,20 @@ pub fn aot_shen_x2e_reader_x2d_error_x2d_message( break Ok({ let __t20 = { let __t19 = { - let __t18 = v_V2198.clone(); + let __t18 = v_V2212.clone(); rt::hd(&__t18)? }; rt::apply_direct(interp, "n->string", &[__t19])? }; let __t27 = { - let __t21 = v_V2196.clone(); + let __t21 = v_V2210.clone(); let __t24 = { - let __t22 = v_V2197.clone(); + let __t22 = v_V2211.clone(); let __t23 = Value::int(1i64); rt::add(&__t22, &__t23)? }; let __t26 = { - let __t25 = v_V2198.clone(); + let __t25 = v_V2212.clone(); rt::tl(&__t25)? }; rt::apply_direct( @@ -297,24 +297,24 @@ pub fn aot_read_x2d_file_x2d_as_x2d_bytelist( ))); } #[allow(unused_mut)] - let mut v_V2199 = args[0].clone(); + let mut v_V2213 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2200 = { - let __t36 = v_V2199.clone(); + let v_W2214 = { + let __t36 = v_V2213.clone(); let __t37 = Value::sym(interp.intern("in")); rt::apply_direct(interp, "open", &[__t36, __t37])? }; { - let v_W2201 = { - let __t38 = v_W2200.clone(); + let v_W2215 = { + let __t38 = v_W2214.clone(); rt::apply_direct(interp, "read-byte", &[__t38])? }; { - let v_W2202 = { - let __t39 = v_W2200.clone(); - let __t40 = v_W2201.clone(); + let v_W2216 = { + let __t39 = v_W2214.clone(); + let __t40 = v_W2215.clone(); let __t41 = Value::nil(); rt::apply_direct( interp, @@ -323,12 +323,12 @@ pub fn aot_read_x2d_file_x2d_as_x2d_bytelist( )? }; { - let v_W2203 = { - let __t42 = v_W2200.clone(); + let v_W2217 = { + let __t42 = v_W2214.clone(); rt::apply_direct(interp, "close", &[__t42])? }; break Ok({ - let __t43 = v_W2202.clone(); + let __t43 = v_W2216.clone(); rt::apply_direct(interp, "reverse", &[__t43])? }); } @@ -362,24 +362,24 @@ pub fn aot_shen_x2e_read_x2d_file_x2d_as_x2d_bytelist_x2d_help( ))); } #[allow(unused_mut)] - let mut v_V2204 = args[0].clone(); + let mut v_V2218 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2205 = args[1].clone(); + let mut v_V2219 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2206 = args[2].clone(); + let mut v_V2220 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t53 = { let __t51 = Value::int(-1i64); - let __t52 = v_V2205.clone(); + let __t52 = v_V2219.clone(); rt::eq(&__t51, &__t52) }; if match rt::is_truthy(interp, &__t53) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2206.clone()); + break Ok(v_V2220.clone()); } else { { let __t50 = Value::bool(true); @@ -388,19 +388,19 @@ pub fn aot_shen_x2e_read_x2d_file_x2d_as_x2d_bytelist_x2d_help( Err(e) => break Err(e), } { { - let __t44 = v_V2204.clone(); + let __t44 = v_V2218.clone(); let __t46 = { - let __t45 = v_V2204.clone(); + let __t45 = v_V2218.clone(); rt::apply_direct(interp, "read-byte", &[__t45])? }; let __t49 = { - let __t47 = v_V2205.clone(); - let __t48 = v_V2206.clone(); + let __t47 = v_V2219.clone(); + let __t48 = v_V2220.clone(); rt::cons(&__t47, &__t48) }; - v_V2204 = __t44; - v_V2205 = __t46; - v_V2206 = __t49; + v_V2218 = __t44; + v_V2219 = __t46; + v_V2220 = __t49; continue; } } else { @@ -436,19 +436,19 @@ pub fn aot_read_x2d_file_x2d_as_x2d_string( ))); } #[allow(unused_mut)] - let mut v_V2207 = args[0].clone(); + let mut v_V2221 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2208 = { - let __t54 = v_V2207.clone(); + let v_W2222 = { + let __t54 = v_V2221.clone(); let __t55 = Value::sym(interp.intern("in")); rt::apply_direct(interp, "open", &[__t54, __t55])? }; break Ok({ - let __t56 = v_W2208.clone(); + let __t56 = v_W2222.clone(); let __t58 = { - let __t57 = v_W2208.clone(); + let __t57 = v_W2222.clone(); rt::apply_direct(interp, "read-byte", &[__t57])? }; let __t59 = Value::str(""); @@ -476,17 +476,17 @@ pub fn aot_shen_x2e_rfas_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V2209 = args[0].clone(); + let mut v_V2223 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2210 = args[1].clone(); + let mut v_V2224 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2211 = args[2].clone(); + let mut v_V2225 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t71 = { let __t68 = Value::int(-1i64); - let __t69 = v_V2210.clone(); + let __t69 = v_V2224.clone(); rt::eq(&__t68, &__t69) }; if match rt::is_truthy(interp, &__t71) { @@ -495,10 +495,10 @@ pub fn aot_shen_x2e_rfas_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResul } { { let _ = { - let __t70 = v_V2209.clone(); + let __t70 = v_V2223.clone(); rt::apply_direct(interp, "close", &[__t70])? }; - break Ok(v_V2211.clone()); + break Ok(v_V2225.clone()); } } else { { @@ -508,22 +508,22 @@ pub fn aot_shen_x2e_rfas_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResul Err(e) => break Err(e), } { { - let __t60 = v_V2209.clone(); + let __t60 = v_V2223.clone(); let __t62 = { - let __t61 = v_V2209.clone(); + let __t61 = v_V2223.clone(); rt::apply_direct(interp, "read-byte", &[__t61])? }; let __t66 = { - let __t63 = v_V2211.clone(); + let __t63 = v_V2225.clone(); let __t65 = { - let __t64 = v_V2210.clone(); + let __t64 = v_V2224.clone(); rt::apply_direct(interp, "n->string", &[__t64])? }; rt::apply_direct(interp, "cn", &[__t63, __t65])? }; - v_V2209 = __t60; - v_V2210 = __t62; - v_V2211 = __t66; + v_V2223 = __t60; + v_V2224 = __t62; + v_V2225 = __t66; continue; } } else { @@ -549,12 +549,12 @@ pub fn aot_input(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V2212 = args[0].clone(); + let mut v_V2226 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t73 = { - let __t72 = v_V2212.clone(); + let __t72 = v_V2226.clone(); rt::apply_direct(interp, "read", &[__t72])? }; rt::apply_direct(interp, "eval-kl", &[__t73])? @@ -576,27 +576,27 @@ pub fn aot_shen_x2e_input_x2d_h_x2b_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2213 = args[0].clone(); + let mut v_V2227 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2214 = args[1].clone(); + let mut v_V2228 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2215 = { - let __t74 = v_V2213.clone(); + let v_W2229 = { + let __t74 = v_V2227.clone(); rt::apply_direct(interp, "shen.monotype", &[__t74])? }; { - let v_W2216 = { - let __t75 = v_V2214.clone(); + let v_W2230 = { + let __t75 = v_V2228.clone(); rt::apply_direct(interp, "read", &[__t75])? }; { let __t80 = { let __t76 = Value::bool(false); let __t79 = { - let __t77 = v_W2216.clone(); - let __t78 = v_V2213.clone(); + let __t77 = v_W2230.clone(); + let __t78 = v_V2227.clone(); rt::apply_direct(interp, "shen.typecheck", &[__t77, __t78])? }; rt::eq(&__t76, &__t79) @@ -609,11 +609,11 @@ pub fn aot_shen_x2e_input_x2d_h_x2b_(interp: &mut Interp, args: &[Value]) -> She let __t91 = { let __t81 = Value::str("type error: "); let __t90 = { - let __t82 = v_W2216.clone(); + let __t82 = v_W2230.clone(); let __t88 = { let __t83 = Value::str(" is not of type "); let __t87 = { - let __t84 = v_V2213.clone(); + let __t84 = v_V2227.clone(); let __t85 = Value::str("\n"); let __t86 = Value::sym(interp.intern("shen.r")); rt::apply_direct( @@ -633,7 +633,7 @@ pub fn aot_shen_x2e_input_x2d_h_x2b_(interp: &mut Interp, args: &[Value]) -> She }); } else { break Ok({ - let __t92 = v_W2216.clone(); + let __t92 = v_W2230.clone(); rt::apply_direct(interp, "eval-kl", &[__t92])? }); } @@ -657,12 +657,12 @@ pub fn aot_shen_x2e_monotype(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V2217 = args[0].clone(); + let mut v_V2231 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t106 = { - let __t102 = v_V2217.clone(); + let __t102 = v_V2231.clone(); rt::is_cons(&__t102) }; if match rt::is_truthy(interp, &__t106) { @@ -675,9 +675,9 @@ pub fn aot_shen_x2e_monotype(interp: &mut Interp, args: &[Value]) -> ShenResult< "", 1, move |interp, args| { - let v_Z2218 = args[0].clone(); + let v_Z2232 = args[0].clone(); Ok({ - let __t103 = v_Z2218.clone(); + let __t103 = v_Z2232.clone(); rt::apply_direct(interp, "shen.monotype", &[__t103])? }) }, @@ -685,7 +685,7 @@ pub fn aot_shen_x2e_monotype(interp: &mut Interp, args: &[Value]) -> ShenResult< interp, ) }; - let __t105 = v_V2217.clone(); + let __t105 = v_V2231.clone(); rt::apply_direct(interp, "map", &[__t104, __t105])? }); } else { @@ -697,7 +697,7 @@ pub fn aot_shen_x2e_monotype(interp: &mut Interp, args: &[Value]) -> ShenResult< } { { let __t94 = { - let __t93 = v_V2217.clone(); + let __t93 = v_V2231.clone(); rt::apply_direct(interp, "variable?", &[__t93])? }; if match rt::is_truthy(interp, &__t94) { @@ -708,7 +708,7 @@ pub fn aot_shen_x2e_monotype(interp: &mut Interp, args: &[Value]) -> ShenResult< let __t100 = { let __t95 = Value::str("input+ expects a monotype: not "); let __t99 = { - let __t96 = v_V2217.clone(); + let __t96 = v_V2231.clone(); let __t97 = Value::str("\n"); let __t98 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -722,7 +722,7 @@ pub fn aot_shen_x2e_monotype(interp: &mut Interp, args: &[Value]) -> ShenResult< rt::apply_direct(interp, "simple-error", &[__t100])? }); } else { - break Ok(v_V2217.clone()); + break Ok(v_V2231.clone()); } } } else { @@ -748,13 +748,13 @@ pub fn aot_lineread(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V2219 = args[0].clone(); + let mut v_V2233 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t107 = v_V2219.clone(); + let __t107 = v_V2233.clone(); let __t109 = { - let __t108 = v_V2219.clone(); + let __t108 = v_V2233.clone(); rt::apply_direct(interp, "shen.my-read-byte", &[__t108])? }; let __t110 = Value::nil(); @@ -763,9 +763,9 @@ pub fn aot_lineread(interp: &mut Interp, args: &[Value]) -> ShenResult { "", 1, move |interp, args| { - let v_Z2220 = args[0].clone(); + let v_Z2234 = args[0].clone(); Ok({ - let __t111 = v_Z2220.clone(); + let __t111 = v_Z2234.clone(); rt::apply_direct(interp, "shen.return?", &[__t111])? }) }, @@ -792,24 +792,24 @@ pub fn aot_read_x2d_from_x2d_string(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2221 = args[0].clone(); + let mut v_V2235 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2222 = { - let __t113 = v_V2221.clone(); + let v_W2236 = { + let __t113 = v_V2235.clone(); rt::apply_direct(interp, "shen.str->bytes", &[__t113])? }; { - let v_W2223 = { + let v_W2237 = { let __t115 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2224 = args[0].clone(); + let v_Z2238 = args[0].clone(); Ok({ - let __t114 = v_Z2224.clone(); + let __t114 = v_Z2238.clone(); rt::apply_direct(interp, "shen.", &[__t114])? }) }, @@ -817,15 +817,15 @@ pub fn aot_read_x2d_from_x2d_string(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t116 = v_W2222.clone(); + let __t116 = v_W2236.clone(); rt::apply_direct(interp, "compile", &[__t115, __t116])? }; { - let v_W2225 = { - let __t117 = v_W2223.clone(); + let v_W2239 = { + let __t117 = v_W2237.clone(); rt::apply_direct(interp, "shen.process-sexprs", &[__t117])? }; - break Ok(v_W2225.clone()); + break Ok(v_W2239.clone()); } } } @@ -849,24 +849,24 @@ pub fn aot_read_x2d_from_x2d_string_x2d_unprocessed( ))); } #[allow(unused_mut)] - let mut v_V2226 = args[0].clone(); + let mut v_V2240 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2227 = { - let __t118 = v_V2226.clone(); + let v_W2241 = { + let __t118 = v_V2240.clone(); rt::apply_direct(interp, "shen.str->bytes", &[__t118])? }; { - let v_W2228 = { + let v_W2242 = { let __t120 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2229 = args[0].clone(); + let v_Z2243 = args[0].clone(); Ok({ - let __t119 = v_Z2229.clone(); + let __t119 = v_Z2243.clone(); rt::apply_direct(interp, "shen.", &[__t119])? }) }, @@ -874,10 +874,10 @@ pub fn aot_read_x2d_from_x2d_string_x2d_unprocessed( interp, ) }; - let __t121 = v_W2227.clone(); + let __t121 = v_W2241.clone(); rt::apply_direct(interp, "compile", &[__t120, __t121])? }; - break Ok(v_W2228.clone()); + break Ok(v_W2242.clone()); } } } @@ -904,13 +904,13 @@ pub fn aot_shen_x2e_str_x2d__x3e_bytes(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V2230 = args[0].clone(); + let mut v_V2244 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t134 = { let __t132 = Value::str(""); - let __t133 = v_V2230.clone(); + let __t133 = v_V2244.clone(); rt::eq(&__t132, &__t133) }; if match rt::is_truthy(interp, &__t134) { @@ -921,7 +921,7 @@ pub fn aot_shen_x2e_str_x2d__x3e_bytes(interp: &mut Interp, args: &[Value]) -> S } else { { let __t131 = { - let __t124 = v_V2230.clone(); + let __t124 = v_V2244.clone(); rt::apply_direct(interp, "shen.+string?", &[__t124])? }; if match rt::is_truthy(interp, &__t131) { @@ -931,14 +931,14 @@ pub fn aot_shen_x2e_str_x2d__x3e_bytes(interp: &mut Interp, args: &[Value]) -> S break Ok({ let __t127 = { let __t126 = { - let __t125 = v_V2230.clone(); + let __t125 = v_V2244.clone(); rt::apply_direct(interp, "hdstr", &[__t125])? }; rt::apply_direct(interp, "string->n", &[__t126])? }; let __t130 = { let __t129 = { - let __t128 = v_V2230.clone(); + let __t128 = v_V2244.clone(); rt::apply_direct(interp, "tlstr", &[__t128])? }; rt::apply_direct(interp, "shen.str->bytes", &[__t129])? @@ -981,14 +981,14 @@ pub fn aot_read(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V2231 = args[0].clone(); + let mut v_V2245 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t141 = { - let __t135 = v_V2231.clone(); + let __t135 = v_V2245.clone(); let __t137 = { - let __t136 = v_V2231.clone(); + let __t136 = v_V2245.clone(); rt::apply_direct(interp, "shen.my-read-byte", &[__t136])? }; let __t138 = Value::nil(); @@ -997,9 +997,9 @@ pub fn aot_read(interp: &mut Interp, args: &[Value]) -> ShenResult { "", 1, move |interp, args| { - let v_Z2232 = args[0].clone(); + let v_Z2246 = args[0].clone(); Ok({ - let __t139 = v_Z2232.clone(); + let __t139 = v_Z2246.clone(); rt::apply_direct(interp, "shen.whitespace?", &[__t139])? }) }, @@ -1028,12 +1028,12 @@ pub fn aot_shen_x2e_my_x2d_read_x2d_byte(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2233 = args[0].clone(); + let mut v_V2247 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t143 = { - let __t142 = v_V2233.clone(); + let __t142 = v_V2247.clone(); rt::apply_direct(interp, "shen.char-stinput?", &[__t142])? }; if match rt::is_truthy(interp, &__t143) { @@ -1042,14 +1042,14 @@ pub fn aot_shen_x2e_my_x2d_read_x2d_byte(interp: &mut Interp, args: &[Value]) -> } { break Ok({ let __t145 = { - let __t144 = v_V2233.clone(); + let __t144 = v_V2247.clone(); rt::apply_direct(interp, "shen.read-unit-string", &[__t144])? }; rt::apply_direct(interp, "string->n", &[__t145])? }); } else { break Ok({ - let __t146 = v_V2233.clone(); + let __t146 = v_V2247.clone(); rt::apply_direct(interp, "read-byte", &[__t146])? }); } @@ -1071,19 +1071,19 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2238 = args[0].clone(); + let mut v_V2252 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2239 = args[1].clone(); + let mut v_V2253 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2240 = args[2].clone(); + let mut v_V2254 = args[2].clone(); #[allow(unused_mut)] - let mut v_V2241 = args[3].clone(); + let mut v_V2255 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t192 = { let __t189 = Value::int(94i64); - let __t190 = v_V2239.clone(); + let __t190 = v_V2253.clone(); rt::eq(&__t189, &__t190) }; if match rt::is_truthy(interp, &__t192) { @@ -1098,7 +1098,7 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t188 = { let __t180 = Value::int(-1i64); - let __t181 = v_V2239.clone(); + let __t181 = v_V2253.clone(); rt::eq(&__t180, &__t181) }; if match rt::is_truthy(interp, &__t188) { @@ -1107,7 +1107,7 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe } { { let __t183 = { - let __t182 = v_V2240.clone(); + let __t182 = v_V2254.clone(); rt::apply_direct(interp, "empty?", &[__t182])? }; if match rt::is_truthy(interp, &__t183) { @@ -1125,9 +1125,9 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe "", 1, move |interp, args| { - let v_Z2242 = args[0].clone(); + let v_Z2256 = args[0].clone(); Ok({ - let __t185 = v_Z2242.clone(); + let __t185 = v_Z2256.clone(); rt::apply_direct( interp, "shen.", @@ -1139,7 +1139,7 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe interp, ) }; - let __t187 = v_V2240.clone(); + let __t187 = v_V2254.clone(); rt::apply_direct(interp, "compile", &[__t186, __t187])? }); } @@ -1148,7 +1148,7 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t179 = { let __t172 = Value::int(0i64); - let __t173 = v_V2239.clone(); + let __t173 = v_V2253.clone(); rt::eq(&__t172, &__t173) }; if match rt::is_truthy(interp, &__t179) { @@ -1156,17 +1156,17 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { { - let __t174 = v_V2238.clone(); + let __t174 = v_V2252.clone(); let __t176 = { - let __t175 = v_V2238.clone(); + let __t175 = v_V2252.clone(); rt::apply_direct(interp, "shen.my-read-byte", &[__t175])? }; - let __t177 = v_V2240.clone(); - let __t178 = v_V2241.clone(); - v_V2238 = __t174; - v_V2239 = __t176; - v_V2240 = __t177; - v_V2241 = __t178; + let __t177 = v_V2254.clone(); + let __t178 = v_V2255.clone(); + v_V2252 = __t174; + v_V2253 = __t176; + v_V2254 = __t177; + v_V2255 = __t178; continue; } } else { @@ -1178,16 +1178,16 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe } { { let __t148 = { - let __t147 = v_V2239.clone(); - rt::apply_value(interp, v_V2241.clone(), &[__t147])? + let __t147 = v_V2253.clone(); + rt::apply_value(interp, v_V2255.clone(), &[__t147])? }; if match rt::is_truthy(interp, &__t148) { Ok(b) => b, Err(e) => break Err(e), } { { - let v_W2243 = { - let __t149 = v_V2240.clone(); + let v_W2257 = { + let __t149 = v_V2254.clone(); rt::apply_direct( interp, "shen.try-parse", @@ -1196,7 +1196,7 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t151 = { - let __t150 = v_W2243.clone(); + let __t150 = v_W2257.clone(); rt::apply_direct( interp, "shen.nothing-doing?", @@ -1208,9 +1208,9 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { { - let __t152 = v_V2238.clone(); + let __t152 = v_V2252.clone(); let __t154 = { - let __t153 = v_V2238.clone(); + let __t153 = v_V2252.clone(); rt::apply_direct( interp, "shen.my-read-byte", @@ -1218,10 +1218,10 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; let __t159 = { - let __t155 = v_V2240.clone(); + let __t155 = v_V2254.clone(); let __t158 = { let __t156 = - v_V2239.clone(); + v_V2253.clone(); let __t157 = Value::nil(); rt::cons(&__t156, &__t157) }; @@ -1231,33 +1231,33 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe &[__t155, __t158], )? }; - let __t160 = v_V2241.clone(); - v_V2238 = __t152; - v_V2239 = __t154; - v_V2240 = __t159; - v_V2241 = __t160; + let __t160 = v_V2255.clone(); + v_V2252 = __t152; + v_V2253 = __t154; + v_V2254 = __t159; + v_V2255 = __t160; continue; } } else { { let _ = { - let __t161 = v_V2240.clone(); + let __t161 = v_V2254.clone(); rt::apply_direct( interp, "shen.record-it", &[__t161], )? }; - break Ok(v_W2243.clone()); + break Ok(v_W2257.clone()); } } } } } else { { - let __t162 = v_V2238.clone(); + let __t162 = v_V2252.clone(); let __t164 = { - let __t163 = v_V2238.clone(); + let __t163 = v_V2252.clone(); rt::apply_direct( interp, "shen.my-read-byte", @@ -1265,9 +1265,9 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; let __t169 = { - let __t165 = v_V2240.clone(); + let __t165 = v_V2254.clone(); let __t168 = { - let __t166 = v_V2239.clone(); + let __t166 = v_V2253.clone(); let __t167 = Value::nil(); rt::cons(&__t166, &__t167) }; @@ -1277,11 +1277,11 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe &[__t165, __t168], )? }; - let __t170 = v_V2241.clone(); - v_V2238 = __t162; - v_V2239 = __t164; - v_V2240 = __t169; - v_V2241 = __t170; + let __t170 = v_V2255.clone(); + v_V2252 = __t162; + v_V2253 = __t164; + v_V2254 = __t169; + v_V2255 = __t170; continue; } } @@ -1313,20 +1313,20 @@ pub fn aot_shen_x2e_try_x2d_parse(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2244 = args[0].clone(); + let mut v_V2258 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2245 = match (|| -> ShenResult { + let v_W2259 = match (|| -> ShenResult { Ok({ let __t194 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2246 = args[0].clone(); + let v_Z2260 = args[0].clone(); Ok({ - let __t193 = v_Z2246.clone(); + let __t193 = v_Z2260.clone(); rt::apply_direct(interp, "shen.", &[__t193])? }) }, @@ -1334,7 +1334,7 @@ pub fn aot_shen_x2e_try_x2d_parse(interp: &mut Interp, args: &[Value]) -> ShenRe interp, ) }; - let __t195 = v_V2244.clone(); + let __t195 = v_V2258.clone(); rt::apply_direct(interp, "compile", &[__t194, __t195])? }) })() { @@ -1345,7 +1345,7 @@ pub fn aot_shen_x2e_try_x2d_parse(interp: &mut Interp, args: &[Value]) -> ShenRe "", 1, move |interp, args| { - let v_Z2247 = args[0].clone(); + let v_Z2261 = args[0].clone(); Ok(Value::sym(interp.intern("shen.i-failed!"))) }, Vec::new(), @@ -1358,7 +1358,7 @@ pub fn aot_shen_x2e_try_x2d_parse(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t197 = { - let __t196 = v_W2245.clone(); + let __t196 = v_W2259.clone(); rt::apply_direct(interp, "shen.nothing-doing?", &[__t196])? }; if match rt::is_truthy(interp, &__t197) { @@ -1368,7 +1368,7 @@ pub fn aot_shen_x2e_try_x2d_parse(interp: &mut Interp, args: &[Value]) -> ShenRe break Ok(Value::sym(interp.intern("shen.i-failed!"))); } else { break Ok({ - let __t198 = v_W2245.clone(); + let __t198 = v_W2259.clone(); rt::apply_direct(interp, "shen.process-sexprs", &[__t198])? }); } @@ -1394,13 +1394,13 @@ pub fn aot_shen_x2e_nothing_x2d_doing_x3f_( ))); } #[allow(unused_mut)] - let mut v_V2250 = args[0].clone(); + let mut v_V2264 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t205 = { let __t203 = Value::sym(interp.intern("shen.i-failed!")); - let __t204 = v_V2250.clone(); + let __t204 = v_V2264.clone(); rt::eq(&__t203, &__t204) }; if match rt::is_truthy(interp, &__t205) { @@ -1412,7 +1412,7 @@ pub fn aot_shen_x2e_nothing_x2d_doing_x3f_( { let __t202 = { let __t200 = Value::nil(); - let __t201 = v_V2250.clone(); + let __t201 = v_V2264.clone(); rt::eq(&__t200, &__t201) }; if match rt::is_truthy(interp, &__t202) { @@ -1457,13 +1457,13 @@ pub fn aot_shen_x2e_record_x2d_it(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2251 = args[0].clone(); + let mut v_V2265 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t206 = Value::sym(interp.intern("shen.*it*")); let __t208 = { - let __t207 = v_V2251.clone(); + let __t207 = v_V2265.clone(); rt::apply_direct(interp, "shen.bytes->string", &[__t207])? }; rt::apply_direct(interp, "set", &[__t206, __t208])? @@ -1488,13 +1488,13 @@ pub fn aot_shen_x2e_bytes_x2d__x3e_string( ))); } #[allow(unused_mut)] - let mut v_V2252 = args[0].clone(); + let mut v_V2266 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t221 = { let __t219 = Value::nil(); - let __t220 = v_V2252.clone(); + let __t220 = v_V2266.clone(); rt::eq(&__t219, &__t220) }; if match rt::is_truthy(interp, &__t221) { @@ -1505,7 +1505,7 @@ pub fn aot_shen_x2e_bytes_x2d__x3e_string( } else { { let __t218 = { - let __t211 = v_V2252.clone(); + let __t211 = v_V2266.clone(); rt::is_cons(&__t211) }; if match rt::is_truthy(interp, &__t218) { @@ -1515,14 +1515,14 @@ pub fn aot_shen_x2e_bytes_x2d__x3e_string( break Ok({ let __t214 = { let __t213 = { - let __t212 = v_V2252.clone(); + let __t212 = v_V2266.clone(); rt::hd(&__t212)? }; rt::apply_direct(interp, "n->string", &[__t213])? }; let __t217 = { let __t216 = { - let __t215 = v_V2252.clone(); + let __t215 = v_V2266.clone(); rt::tl(&__t215)? }; rt::apply_direct(interp, "shen.bytes->string", &[__t216])? @@ -1565,35 +1565,35 @@ pub fn aot_shen_x2e_process_x2d_sexprs(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V2253 = args[0].clone(); + let mut v_V2267 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2254 = { - let __t222 = v_V2253.clone(); + let v_W2268 = { + let __t222 = v_V2267.clone(); rt::apply_direct(interp, "shen.unpackage¯oexpand", &[__t222])? }; { - let v_W2255 = { - let __t223 = v_W2254.clone(); + let v_W2269 = { + let __t223 = v_W2268.clone(); rt::apply_direct(interp, "shen.find-arities", &[__t223])? }; { - let v_W2256 = { - let __t224 = v_W2254.clone(); + let v_W2270 = { + let __t224 = v_W2268.clone(); rt::apply_direct(interp, "shen.find-types", &[__t224])? }; break Ok({ let __t227 = { - let v_W2256 = v_W2256.clone(); + let v_W2270 = v_W2270.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2257 = args[0].clone(); + let v_Z2271 = args[0].clone(); Ok({ - let __t225 = v_Z2257.clone(); - let __t226 = v_W2256.clone(); + let __t225 = v_Z2271.clone(); + let __t226 = v_W2270.clone(); rt::apply_direct( interp, "shen.process-applications", @@ -1601,11 +1601,11 @@ pub fn aot_shen_x2e_process_x2d_sexprs(interp: &mut Interp, args: &[Value]) -> S )? }) }, - vec![v_W2256], + vec![v_W2270], interp, ) }; - let __t228 = v_W2254.clone(); + let __t228 = v_W2268.clone(); rt::apply_direct(interp, "map", &[__t227, __t228])? }); } @@ -1628,13 +1628,13 @@ pub fn aot_shen_x2e_find_x2d_types(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2258 = args[0].clone(); + let mut v_V2272 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t256 = { let __t247 = { - let __t238 = v_V2258.clone(); + let __t238 = v_V2272.clone(); rt::is_cons(&__t238) }; if !rt::is_truthy(interp, &__t247)? { @@ -1643,7 +1643,7 @@ pub fn aot_shen_x2e_find_x2d_types(interp: &mut Interp, args: &[Value]) -> ShenR let __t248 = { let __t245 = { let __t240 = { - let __t239 = v_V2258.clone(); + let __t239 = v_V2272.clone(); rt::tl(&__t239)? }; rt::is_cons(&__t240) @@ -1653,7 +1653,7 @@ pub fn aot_shen_x2e_find_x2d_types(interp: &mut Interp, args: &[Value]) -> ShenR } else { let __t246 = { let __t242 = { - let __t241 = v_V2258.clone(); + let __t241 = v_V2272.clone(); rt::hd(&__t241)? }; let __t244 = { @@ -1675,7 +1675,7 @@ pub fn aot_shen_x2e_find_x2d_types(interp: &mut Interp, args: &[Value]) -> ShenR break Ok({ let __t251 = { let __t250 = { - let __t249 = v_V2258.clone(); + let __t249 = v_V2272.clone(); rt::tl(&__t249)? }; rt::hd(&__t250)? @@ -1683,7 +1683,7 @@ pub fn aot_shen_x2e_find_x2d_types(interp: &mut Interp, args: &[Value]) -> ShenR let __t255 = { let __t254 = { let __t253 = { - let __t252 = v_V2258.clone(); + let __t252 = v_V2272.clone(); rt::tl(&__t252)? }; rt::tl(&__t253)? @@ -1695,7 +1695,7 @@ pub fn aot_shen_x2e_find_x2d_types(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let __t237 = { - let __t230 = v_V2258.clone(); + let __t230 = v_V2272.clone(); rt::is_cons(&__t230) }; if match rt::is_truthy(interp, &__t237) { @@ -1705,14 +1705,14 @@ pub fn aot_shen_x2e_find_x2d_types(interp: &mut Interp, args: &[Value]) -> ShenR break Ok({ let __t233 = { let __t232 = { - let __t231 = v_V2258.clone(); + let __t231 = v_V2272.clone(); rt::hd(&__t231)? }; rt::apply_direct(interp, "shen.find-types", &[__t232])? }; let __t236 = { let __t235 = { - let __t234 = v_V2258.clone(); + let __t234 = v_V2272.clone(); rt::tl(&__t234)? }; rt::apply_direct(interp, "shen.find-types", &[__t235])? @@ -1752,13 +1752,13 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2261 = args[0].clone(); + let mut v_V2275 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t319 = { let __t305 = { - let __t285 = v_V2261.clone(); + let __t285 = v_V2275.clone(); rt::is_cons(&__t285) }; if !rt::is_truthy(interp, &__t305)? { @@ -1768,7 +1768,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t303 = { let __t286 = Value::sym(interp.intern("define")); let __t288 = { - let __t287 = v_V2261.clone(); + let __t287 = v_V2275.clone(); rt::hd(&__t287)? }; rt::eq(&__t286, &__t288) @@ -1779,7 +1779,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t304 = { let __t301 = { let __t290 = { - let __t289 = v_V2261.clone(); + let __t289 = v_V2275.clone(); rt::tl(&__t289)? }; rt::is_cons(&__t290) @@ -1791,7 +1791,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t299 = { let __t293 = { let __t292 = { - let __t291 = v_V2261.clone(); + let __t291 = v_V2275.clone(); rt::tl(&__t291)? }; rt::tl(&__t292)? @@ -1806,7 +1806,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t298 = { let __t297 = { let __t296 = { - let __t295 = v_V2261.clone(); + let __t295 = v_V2275.clone(); rt::tl(&__t295)? }; rt::tl(&__t296)? @@ -1834,7 +1834,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She break Ok({ let __t309 = { let __t308 = { - let __t307 = v_V2261.clone(); + let __t307 = v_V2275.clone(); rt::tl(&__t307)? }; rt::hd(&__t308)? @@ -1842,7 +1842,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t318 = { let __t312 = { let __t311 = { - let __t310 = v_V2261.clone(); + let __t310 = v_V2275.clone(); rt::tl(&__t310)? }; rt::hd(&__t311)? @@ -1851,7 +1851,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t317 = { let __t316 = { let __t315 = { - let __t314 = v_V2261.clone(); + let __t314 = v_V2275.clone(); rt::tl(&__t314)? }; rt::tl(&__t315)? @@ -1866,7 +1866,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She { let __t284 = { let __t271 = { - let __t263 = v_V2261.clone(); + let __t263 = v_V2275.clone(); rt::is_cons(&__t263) }; if !rt::is_truthy(interp, &__t271)? { @@ -1876,7 +1876,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t269 = { let __t264 = Value::sym(interp.intern("define")); let __t266 = { - let __t265 = v_V2261.clone(); + let __t265 = v_V2275.clone(); rt::hd(&__t265)? }; rt::eq(&__t264, &__t266) @@ -1886,7 +1886,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She } else { let __t270 = { let __t268 = { - let __t267 = v_V2261.clone(); + let __t267 = v_V2275.clone(); rt::tl(&__t267)? }; rt::is_cons(&__t268) @@ -1904,7 +1904,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She break Ok({ let __t275 = { let __t274 = { - let __t273 = v_V2261.clone(); + let __t273 = v_V2275.clone(); rt::tl(&__t273)? }; rt::hd(&__t274)? @@ -1912,7 +1912,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t283 = { let __t278 = { let __t277 = { - let __t276 = v_V2261.clone(); + let __t276 = v_V2275.clone(); rt::tl(&__t276)? }; rt::hd(&__t277)? @@ -1920,7 +1920,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She let __t279 = Value::int(0i64); let __t282 = { let __t281 = { - let __t280 = v_V2261.clone(); + let __t280 = v_V2275.clone(); rt::tl(&__t280)? }; rt::tl(&__t281)? @@ -1936,7 +1936,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She } else { { let __t262 = { - let __t258 = v_V2261.clone(); + let __t258 = v_V2275.clone(); rt::is_cons(&__t258) }; if match rt::is_truthy(interp, &__t262) { @@ -1949,9 +1949,9 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She "", 1, move |interp, args| { - let v_Z2262 = args[0].clone(); + let v_Z2276 = args[0].clone(); Ok({ - let __t259 = v_Z2262.clone(); + let __t259 = v_Z2276.clone(); rt::apply_direct( interp, "shen.find-arities", @@ -1963,7 +1963,7 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She interp, ) }; - let __t261 = v_V2261.clone(); + let __t261 = v_V2275.clone(); rt::apply_direct(interp, "map", &[__t260, __t261])? }); } else { @@ -2001,19 +2001,19 @@ pub fn aot_shen_x2e_store_x2d_arity(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2263 = args[0].clone(); + let mut v_V2277 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2264 = args[1].clone(); + let mut v_V2278 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2265 = { - let __t320 = v_V2263.clone(); + let v_W2279 = { + let __t320 = v_V2277.clone(); rt::apply_direct(interp, "arity", &[__t320])? }; { let __t323 = { - let __t321 = v_W2265.clone(); + let __t321 = v_W2279.clone(); let __t322 = Value::int(-1i64); rt::eq(&__t321, &__t322) }; @@ -2022,15 +2022,15 @@ pub fn aot_shen_x2e_store_x2d_arity(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { break Ok({ - let __t324 = v_V2263.clone(); - let __t325 = v_V2264.clone(); + let __t324 = v_V2277.clone(); + let __t325 = v_V2278.clone(); rt::apply_direct(interp, "shen.execute-store-arity", &[__t324, __t325])? }); } else { { let __t328 = { - let __t326 = v_W2265.clone(); - let __t327 = v_V2264.clone(); + let __t326 = v_W2279.clone(); + let __t327 = v_V2278.clone(); rt::eq(&__t326, &__t327) }; if match rt::is_truthy(interp, &__t328) { @@ -2041,7 +2041,7 @@ pub fn aot_shen_x2e_store_x2d_arity(interp: &mut Interp, args: &[Value]) -> Shen } else { { let __t330 = { - let __t329 = v_V2263.clone(); + let __t329 = v_V2277.clone(); rt::apply_direct(interp, "shen.sysfunc?", &[__t329])? }; if match rt::is_truthy(interp, &__t330) { @@ -2050,7 +2050,7 @@ pub fn aot_shen_x2e_store_x2d_arity(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ let __t334 = { - let __t331 = v_V2263.clone(); + let __t331 = v_V2277.clone(); let __t332 = Value::str(" is a system function\n"); let __t333 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -2067,7 +2067,7 @@ pub fn aot_shen_x2e_store_x2d_arity(interp: &mut Interp, args: &[Value]) -> Shen let __t340 = { let __t335 = Value::str("changing the arity of "); let __t339 = { - let __t336 = v_V2263.clone(); + let __t336 = v_V2277.clone(); let __t337 = Value::str(" may cause errors\n"); let __t338 = Value::sym(interp.intern("shen.a")); @@ -2084,8 +2084,8 @@ pub fn aot_shen_x2e_store_x2d_arity(interp: &mut Interp, args: &[Value]) -> Shen rt::apply_direct(interp, "pr", &[__t340, __t341])? }; break Ok({ - let __t342 = v_V2263.clone(); - let __t343 = v_V2264.clone(); + let __t342 = v_V2277.clone(); + let __t343 = v_V2278.clone(); rt::apply_direct( interp, "shen.execute-store-arity", @@ -2120,15 +2120,15 @@ pub fn aot_shen_x2e_execute_x2d_store_x2d_arity( ))); } #[allow(unused_mut)] - let mut v_V2266 = args[0].clone(); + let mut v_V2280 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2267 = args[1].clone(); + let mut v_V2281 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t359 = { let __t352 = Value::int(0i64); - let __t353 = v_V2267.clone(); + let __t353 = v_V2281.clone(); rt::eq(&__t352, &__t353) }; if match rt::is_truthy(interp, &__t359) { @@ -2136,7 +2136,7 @@ pub fn aot_shen_x2e_execute_x2d_store_x2d_arity( Err(e) => break Err(e), } { break Ok({ - let __t354 = v_V2266.clone(); + let __t354 = v_V2280.clone(); let __t355 = Value::sym(interp.intern("arity")); let __t356 = Value::int(0i64); let __t358 = { @@ -2154,9 +2154,9 @@ pub fn aot_shen_x2e_execute_x2d_store_x2d_arity( } { { let _ = { - let __t344 = v_V2266.clone(); + let __t344 = v_V2280.clone(); let __t345 = Value::sym(interp.intern("arity")); - let __t346 = v_V2267.clone(); + let __t346 = v_V2281.clone(); let __t348 = { let __t347 = Value::sym(interp.intern("*property-vector*")); rt::apply_direct(interp, "value", &[__t347])? @@ -2164,8 +2164,8 @@ pub fn aot_shen_x2e_execute_x2d_store_x2d_arity( rt::apply_direct(interp, "put", &[__t344, __t345, __t346, __t348])? }; break Ok({ - let __t349 = v_V2266.clone(); - let __t350 = v_V2267.clone(); + let __t349 = v_V2280.clone(); + let __t350 = v_V2281.clone(); rt::apply_direct( interp, "shen.update-lambdatable", @@ -2206,43 +2206,43 @@ pub fn aot_shen_x2e_update_x2d_lambdatable( ))); } #[allow(unused_mut)] - let mut v_V2268 = args[0].clone(); + let mut v_V2282 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2269 = args[1].clone(); + let mut v_V2283 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2270 = { + let v_W2284 = { let __t360 = Value::sym(interp.intern("shen.*lambdatable*")); rt::apply_direct(interp, "value", &[__t360])? }; { - let v_W2271 = { + let v_W2285 = { let __t365 = { let __t363 = { - let __t361 = v_V2268.clone(); + let __t361 = v_V2282.clone(); let __t362 = Value::nil(); rt::cons(&__t361, &__t362) }; - let __t364 = v_V2269.clone(); + let __t364 = v_V2283.clone(); rt::apply_direct(interp, "shen.lambda-function", &[__t363, __t364])? }; rt::apply_direct(interp, "eval-kl", &[__t365])? }; { - let v_W2272 = { - let __t366 = v_V2268.clone(); - let __t367 = v_W2271.clone(); - let __t368 = v_W2270.clone(); + let v_W2286 = { + let __t366 = v_V2282.clone(); + let __t367 = v_W2285.clone(); + let __t368 = v_W2284.clone(); rt::apply_direct(interp, "shen.assoc->", &[__t366, __t367, __t368])? }; { - let v_W2273 = { + let v_W2287 = { let __t369 = Value::sym(interp.intern("shen.*lambdatable*")); - let __t370 = v_W2272.clone(); + let __t370 = v_W2286.clone(); rt::apply_direct(interp, "set", &[__t369, __t370])? }; - break Ok(v_W2273.clone()); + break Ok(v_W2287.clone()); } } } @@ -2271,15 +2271,15 @@ pub fn aot_shen_x2e_lambda_x2d_function(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2276 = args[0].clone(); + let mut v_V2290 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2277 = args[1].clone(); + let mut v_V2291 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t403 = { let __t401 = Value::int(0i64); - let __t402 = v_V2277.clone(); + let __t402 = v_V2291.clone(); rt::eq(&__t401, &__t402) }; if match rt::is_truthy(interp, &__t403) { @@ -2291,7 +2291,7 @@ pub fn aot_shen_x2e_lambda_x2d_function(interp: &mut Interp, args: &[Value]) -> { let __t400 = { let __t387 = Value::int(1i64); - let __t388 = v_V2277.clone(); + let __t388 = v_V2291.clone(); rt::eq(&__t387, &__t388) }; if match rt::is_truthy(interp, &__t400) { @@ -2299,19 +2299,19 @@ pub fn aot_shen_x2e_lambda_x2d_function(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W2278 = { + let v_W2292 = { let __t389 = Value::sym(interp.intern("Y")); rt::apply_direct(interp, "gensym", &[__t389])? }; break Ok({ let __t390 = Value::sym(interp.intern("lambda")); let __t399 = { - let __t391 = v_W2278.clone(); + let __t391 = v_W2292.clone(); let __t398 = { let __t396 = { - let __t392 = v_V2276.clone(); + let __t392 = v_V2290.clone(); let __t395 = { - let __t393 = v_W2278.clone(); + let __t393 = v_W2292.clone(); let __t394 = Value::nil(); rt::cons(&__t393, &__t394) }; @@ -2333,20 +2333,20 @@ pub fn aot_shen_x2e_lambda_x2d_function(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W2279 = { + let v_W2293 = { let __t371 = Value::sym(interp.intern("Y")); rt::apply_direct(interp, "gensym", &[__t371])? }; break Ok({ let __t372 = Value::sym(interp.intern("lambda")); let __t385 = { - let __t373 = v_W2279.clone(); + let __t373 = v_W2293.clone(); let __t384 = { let __t382 = { let __t378 = { - let __t374 = v_V2276.clone(); + let __t374 = v_V2290.clone(); let __t377 = { - let __t375 = v_W2279.clone(); + let __t375 = v_W2293.clone(); let __t376 = Value::nil(); rt::cons(&__t375, &__t376) }; @@ -2357,7 +2357,7 @@ pub fn aot_shen_x2e_lambda_x2d_function(interp: &mut Interp, args: &[Value]) -> )? }; let __t381 = { - let __t379 = v_V2277.clone(); + let __t379 = v_V2291.clone(); let __t380 = Value::int(1i64); rt::sub(&__t379, &__t380)? }; @@ -2400,17 +2400,17 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2289 = args[0].clone(); + let mut v_V2303 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2290 = args[1].clone(); + let mut v_V2304 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2291 = args[2].clone(); + let mut v_V2305 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t440 = { let __t434 = Value::nil(); - let __t435 = v_V2291.clone(); + let __t435 = v_V2305.clone(); rt::eq(&__t434, &__t435) }; if match rt::is_truthy(interp, &__t440) { @@ -2419,8 +2419,8 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ let __t438 = { - let __t436 = v_V2289.clone(); - let __t437 = v_V2290.clone(); + let __t436 = v_V2303.clone(); + let __t437 = v_V2304.clone(); rt::cons(&__t436, &__t437) }; let __t439 = Value::nil(); @@ -2430,7 +2430,7 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let __t433 = { let __t424 = { - let __t415 = v_V2291.clone(); + let __t415 = v_V2305.clone(); rt::is_cons(&__t415) }; if !rt::is_truthy(interp, &__t424)? { @@ -2439,7 +2439,7 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen let __t425 = { let __t422 = { let __t417 = { - let __t416 = v_V2291.clone(); + let __t416 = v_V2305.clone(); rt::hd(&__t416)? }; rt::is_cons(&__t417) @@ -2448,10 +2448,10 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen Value::bool(false) } else { let __t423 = { - let __t418 = v_V2289.clone(); + let __t418 = v_V2303.clone(); let __t421 = { let __t420 = { - let __t419 = v_V2291.clone(); + let __t419 = v_V2305.clone(); rt::hd(&__t419)? }; rt::hd(&__t420)? @@ -2472,16 +2472,16 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen let __t430 = { let __t428 = { let __t427 = { - let __t426 = v_V2291.clone(); + let __t426 = v_V2305.clone(); rt::hd(&__t426)? }; rt::hd(&__t427)? }; - let __t429 = v_V2290.clone(); + let __t429 = v_V2304.clone(); rt::cons(&__t428, &__t429) }; let __t432 = { - let __t431 = v_V2291.clone(); + let __t431 = v_V2305.clone(); rt::tl(&__t431)? }; rt::cons(&__t430, &__t432) @@ -2489,7 +2489,7 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let __t414 = { - let __t406 = v_V2291.clone(); + let __t406 = v_V2305.clone(); rt::is_cons(&__t406) }; if match rt::is_truthy(interp, &__t414) { @@ -2498,14 +2498,14 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ let __t408 = { - let __t407 = v_V2291.clone(); + let __t407 = v_V2305.clone(); rt::hd(&__t407)? }; let __t413 = { - let __t409 = v_V2289.clone(); - let __t410 = v_V2290.clone(); + let __t409 = v_V2303.clone(); + let __t410 = v_V2304.clone(); let __t412 = { - let __t411 = v_V2291.clone(); + let __t411 = v_V2305.clone(); rt::tl(&__t411)? }; rt::apply_direct( @@ -2555,18 +2555,18 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2306 = args[0].clone(); + let mut v_V2320 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2307 = args[1].clone(); + let mut v_V2321 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2308 = args[2].clone(); + let mut v_V2322 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t515 = { let __t513 = { let __t505 = Value::int(0i64); - let __t506 = v_V2307.clone(); + let __t506 = v_V2321.clone(); rt::eq(&__t505, &__t506) }; if !rt::is_truthy(interp, &__t513)? { @@ -2574,7 +2574,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR } else { let __t514 = { let __t511 = { - let __t507 = v_V2308.clone(); + let __t507 = v_V2322.clone(); rt::is_cons(&__t507) }; if !rt::is_truthy(interp, &__t511)? { @@ -2582,7 +2582,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR } else { let __t512 = { let __t509 = { - let __t508 = v_V2308.clone(); + let __t508 = v_V2322.clone(); rt::hd(&__t508)? }; let __t510 = Value::sym(interp.intern("->")); @@ -2604,7 +2604,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR let __t504 = { let __t502 = { let __t494 = Value::int(0i64); - let __t495 = v_V2307.clone(); + let __t495 = v_V2321.clone(); rt::eq(&__t494, &__t495) }; if !rt::is_truthy(interp, &__t502)? { @@ -2612,7 +2612,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR } else { let __t503 = { let __t500 = { - let __t496 = v_V2308.clone(); + let __t496 = v_V2322.clone(); rt::is_cons(&__t496) }; if !rt::is_truthy(interp, &__t500)? { @@ -2620,7 +2620,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR } else { let __t501 = { let __t498 = { - let __t497 = v_V2308.clone(); + let __t497 = v_V2322.clone(); rt::hd(&__t497)? }; let __t499 = Value::sym(interp.intern("<-")); @@ -2642,14 +2642,14 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR let __t493 = { let __t485 = { let __t482 = Value::int(0i64); - let __t483 = v_V2307.clone(); + let __t483 = v_V2321.clone(); rt::eq(&__t482, &__t483) }; if !rt::is_truthy(interp, &__t485)? { Value::bool(false) } else { let __t486 = { - let __t484 = v_V2308.clone(); + let __t484 = v_V2322.clone(); rt::is_cons(&__t484) }; Value::bool(rt::is_truthy(interp, &__t486)?) @@ -2662,10 +2662,10 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR break Ok({ let __t487 = Value::int(1i64); let __t492 = { - let __t488 = v_V2306.clone(); + let __t488 = v_V2320.clone(); let __t489 = Value::int(0i64); let __t491 = { - let __t490 = v_V2308.clone(); + let __t490 = v_V2322.clone(); rt::tl(&__t490)? }; rt::apply_direct( @@ -2681,7 +2681,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR let __t481 = { let __t475 = { let __t467 = Value::int(1i64); - let __t468 = v_V2307.clone(); + let __t468 = v_V2321.clone(); rt::eq(&__t467, &__t468) }; if !rt::is_truthy(interp, &__t475)? { @@ -2689,7 +2689,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR } else { let __t476 = { let __t473 = { - let __t469 = v_V2308.clone(); + let __t469 = v_V2322.clone(); rt::is_cons(&__t469) }; if !rt::is_truthy(interp, &__t473)? { @@ -2698,7 +2698,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR let __t474 = { let __t470 = Value::sym(interp.intern("}")); let __t472 = { - let __t471 = v_V2308.clone(); + let __t471 = v_V2322.clone(); rt::hd(&__t471)? }; rt::eq(&__t470, &__t472) @@ -2714,15 +2714,15 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let __t477 = v_V2306.clone(); + let __t477 = v_V2320.clone(); let __t478 = Value::int(0i64); let __t480 = { - let __t479 = v_V2308.clone(); + let __t479 = v_V2322.clone(); rt::tl(&__t479)? }; - v_V2306 = __t477; - v_V2307 = __t478; - v_V2308 = __t480; + v_V2320 = __t477; + v_V2321 = __t478; + v_V2322 = __t480; continue; } } else { @@ -2730,14 +2730,14 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR let __t466 = { let __t460 = { let __t457 = Value::int(1i64); - let __t458 = v_V2307.clone(); + let __t458 = v_V2321.clone(); rt::eq(&__t457, &__t458) }; if !rt::is_truthy(interp, &__t460)? { Value::bool(false) } else { let __t461 = { - let __t459 = v_V2308.clone(); + let __t459 = v_V2322.clone(); rt::is_cons(&__t459) }; Value::bool(rt::is_truthy(interp, &__t461)?) @@ -2748,22 +2748,22 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let __t462 = v_V2306.clone(); + let __t462 = v_V2320.clone(); let __t463 = Value::int(1i64); let __t465 = { - let __t464 = v_V2308.clone(); + let __t464 = v_V2322.clone(); rt::tl(&__t464)? }; - v_V2306 = __t462; - v_V2307 = __t463; - v_V2308 = __t465; + v_V2320 = __t462; + v_V2321 = __t463; + v_V2322 = __t465; continue; } } else { { let __t456 = { let __t448 = Value::int(1i64); - let __t449 = v_V2307.clone(); + let __t449 = v_V2321.clone(); rt::eq(&__t448, &__t449) }; if match rt::is_truthy(interp, &__t456) { @@ -2775,7 +2775,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR let __t450 = Value::str("syntax error in "); let __t454 = { - let __t451 = v_V2306.clone(); + let __t451 = v_V2320.clone(); let __t452 = Value::str( " definition: missing }\n", ); @@ -2815,7 +2815,7 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR ); let __t445 = { let __t442 = - v_V2306.clone(); + v_V2320.clone(); let __t443 = Value::str(" definition: missing -> or <-\n"); let __t444 = Value::sym( interp.intern( @@ -2881,18 +2881,18 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( ))); } #[allow(unused_mut)] - let mut v_V2309 = args[0].clone(); + let mut v_V2323 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2310 = { - let v_W2311 = { - let __t516 = v_V2309.clone(); + let v_W2324 = { + let v_W2325 = { + let __t516 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t516])? }; { let __t538 = { - let __t517 = v_W2311.clone(); + let __t517 = v_W2325.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t517])? }; if rt::is_truthy(interp, &__t538)? { @@ -2901,18 +2901,18 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2312 = { - let __t518 = v_W2311.clone(); + let v_W2326 = { + let __t518 = v_W2325.clone(); rt::apply_direct(interp, "shen.in->", &[__t518])? }; { - let v_W2313 = { - let __t519 = v_W2312.clone(); + let v_W2327 = { + let __t519 = v_W2326.clone(); rt::apply_direct(interp, "shen.", &[__t519])? }; { let __t537 = { - let __t520 = v_W2313.clone(); + let __t520 = v_W2327.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t520])? }; if rt::is_truthy(interp, &__t537)? { @@ -2921,13 +2921,13 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2314 = { - let __t521 = v_W2313.clone(); + let v_W2328 = { + let __t521 = v_W2327.clone(); rt::apply_direct(interp, "shen.<-out", &[__t521])? }; { - let v_W2315 = { - let __t522 = v_W2313.clone(); + let v_W2329 = { + let __t522 = v_W2327.clone(); rt::apply_direct( interp, "shen.in->", @@ -2935,8 +2935,8 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2316 = { - let __t523 = v_W2315.clone(); + let v_W2330 = { + let __t523 = v_W2329.clone(); rt::apply_direct( interp, "shen.", @@ -2945,7 +2945,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t536 = { - let __t524 = v_W2316.clone(); + let __t524 = v_W2330.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2962,8 +2962,8 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2317 = { - let __t525 = v_W2316.clone(); + let v_W2331 = { + let __t525 = v_W2330.clone(); rt::apply_direct( interp, "shen.in->", @@ -2971,9 +2971,9 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2318 = { + let v_W2332 = { let __t526 = - v_W2317.clone(); + v_W2331.clone(); rt::apply_direct( interp, "shen.", @@ -2983,7 +2983,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( { let __t535 = { let __t527 = - v_W2318.clone(); + v_W2332.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t527])? }; if rt::is_truthy( @@ -2994,26 +2994,26 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2319 = { + let v_W2333 = { let __t528 = - v_W2318 + v_W2332 .clone( ); rt::apply_direct(interp, "shen.<-out", &[__t528])? }; { - let v_W2320 = { - let __t529 = v_W2318.clone(); + let v_W2334 = { + let __t529 = v_W2332.clone(); rt::apply_direct(interp, "shen.in->", &[__t529])? }; { - let __t530 = v_W2320.clone(); + let __t530 = v_W2334.clone(); let __t534 = { let __t532 = { - let __t531 = v_W2314.clone(); + let __t531 = v_W2328.clone(); rt::apply_direct(interp, "shen.cons-form", &[__t531])? }; - let __t533 = v_W2319.clone(); + let __t533 = v_W2333.clone(); rt::cons(&__t532, &__t533) }; rt::apply_direct(interp, "shen.comb", &[__t530, __t534])? @@ -3038,7 +3038,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t540 = { - let __t539 = v_W2310.clone(); + let __t539 = v_W2324.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t539])? }; if match rt::is_truthy(interp, &__t540) { @@ -3046,14 +3046,14 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( Err(e) => break Err(e), } { { - let v_W2321 = { - let v_W2322 = { - let __t541 = v_V2309.clone(); + let v_W2335 = { + let v_W2336 = { + let __t541 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t541])? }; { let __t562 = { - let __t542 = v_W2322.clone(); + let __t542 = v_W2336.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t542])? }; if rt::is_truthy(interp, &__t562)? { @@ -3062,13 +3062,13 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2323 = { - let __t543 = v_W2322.clone(); + let v_W2337 = { + let __t543 = v_W2336.clone(); rt::apply_direct(interp, "shen.in->", &[__t543])? }; { - let v_W2324 = { - let __t544 = v_W2323.clone(); + let v_W2338 = { + let __t544 = v_W2337.clone(); rt::apply_direct( interp, "shen.", @@ -3077,7 +3077,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t561 = { - let __t545 = v_W2324.clone(); + let __t545 = v_W2338.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3094,8 +3094,8 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2325 = { - let __t546 = v_W2324.clone(); + let v_W2339 = { + let __t546 = v_W2338.clone(); rt::apply_direct( interp, "shen.<-out", @@ -3103,8 +3103,8 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2326 = { - let __t547 = v_W2324.clone(); + let v_W2340 = { + let __t547 = v_W2338.clone(); rt::apply_direct( interp, "shen.in->", @@ -3112,8 +3112,8 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2327 = { - let __t548 = v_W2326.clone(); + let v_W2341 = { + let __t548 = v_W2340.clone(); rt::apply_direct( interp, "shen.", @@ -3123,7 +3123,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( { let __t560 = { let __t549 = - v_W2327.clone(); + v_W2341.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3138,9 +3138,9 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2328 = { + let v_W2342 = { let __t550 = - v_W2327.clone(); + v_W2341.clone(); rt::apply_direct( interp, "shen.in->", @@ -3148,19 +3148,19 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2329 = { + let v_W2343 = { let __t551 = - v_W2328 + v_W2342 .clone( ); rt::apply_direct(interp, "shen.", &[__t551])? }; { let __t559 = { - let __t552 = v_W2329.clone(); + let __t552 = v_W2343.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t552])? }; - if rt::is_truthy(interp, &__t559)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2330 = { let __t553 = v_W2329.clone(); rt::apply_direct(interp, "shen.<-out", &[__t553])? }; { let v_W2331 = { let __t554 = v_W2329.clone(); rt::apply_direct(interp, "shen.in->", &[__t554])? }; { let __t555 = v_W2331.clone(); let __t558 = { let __t556 = v_W2325.clone(); let __t557 = v_W2330.clone(); rt::apply_direct(interp, "shen.add-sexpr", &[__t556, __t557])? }; rt::apply_direct(interp, "shen.comb", &[__t555, __t558])? } } } } + if rt::is_truthy(interp, &__t559)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2344 = { let __t553 = v_W2343.clone(); rt::apply_direct(interp, "shen.<-out", &[__t553])? }; { let v_W2345 = { let __t554 = v_W2343.clone(); rt::apply_direct(interp, "shen.in->", &[__t554])? }; { let __t555 = v_W2345.clone(); let __t558 = { let __t556 = v_W2339.clone(); let __t557 = v_W2344.clone(); rt::apply_direct(interp, "shen.add-sexpr", &[__t556, __t557])? }; rt::apply_direct(interp, "shen.comb", &[__t555, __t558])? } } } } } } } @@ -3178,7 +3178,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t564 = { - let __t563 = v_W2321.clone(); + let __t563 = v_W2335.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t563])? }; if match rt::is_truthy(interp, &__t564) { @@ -3186,14 +3186,14 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( Err(e) => break Err(e), } { { - let v_W2332 = { - let v_W2333 = { - let __t565 = v_V2309.clone(); + let v_W2346 = { + let v_W2347 = { + let __t565 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t565])? }; { let __t577 = { - let __t566 = v_W2333.clone(); + let __t566 = v_W2347.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3210,8 +3210,8 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2334 = { - let __t567 = v_W2333.clone(); + let v_W2348 = { + let __t567 = v_W2347.clone(); rt::apply_direct( interp, "shen.in->", @@ -3219,8 +3219,8 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2335 = { - let __t568 = v_W2334.clone(); + let v_W2349 = { + let __t568 = v_W2348.clone(); rt::apply_direct( interp, "shen.", @@ -3229,7 +3229,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t576 = { - let __t569 = v_W2335.clone(); + let __t569 = v_W2349.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3246,9 +3246,9 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2336 = { + let v_W2350 = { let __t570 = - v_W2335.clone(); + v_W2349.clone(); rt::apply_direct( interp, "shen.<-out", @@ -3256,9 +3256,9 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2337 = { + let v_W2351 = { let __t571 = - v_W2335.clone(); + v_W2349.clone(); rt::apply_direct( interp, "shen.in->", @@ -3267,7 +3267,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t572 = - v_W2337.clone(); + v_W2351.clone(); let __t575 = { let __t573 = Value::sym( @@ -3277,7 +3277,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( ), ); let __t574 = - v_W2336.clone(); + v_W2350.clone(); rt::cons( &__t573, &__t574, @@ -3300,7 +3300,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t579 = { - let __t578 = v_W2332.clone(); + let __t578 = v_W2346.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3312,9 +3312,9 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( Err(e) => break Err(e), } { { - let v_W2338 = { - let v_W2339 = { - let __t580 = v_V2309.clone(); + let v_W2352 = { + let v_W2353 = { + let __t580 = v_V2323.clone(); rt::apply_direct( interp, "shen.", @@ -3323,7 +3323,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t592 = { - let __t581 = v_W2339.clone(); + let __t581 = v_W2353.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3340,8 +3340,8 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2340 = { - let __t582 = v_W2339.clone(); + let v_W2354 = { + let __t582 = v_W2353.clone(); rt::apply_direct( interp, "shen.in->", @@ -3349,9 +3349,9 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2341 = { + let v_W2355 = { let __t583 = - v_W2340.clone(); + v_W2354.clone(); rt::apply_direct( interp, "shen.", @@ -3361,7 +3361,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( { let __t591 = { let __t584 = - v_W2341.clone(); + v_W2355.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t584])? }; if rt::is_truthy( @@ -3372,23 +3372,23 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2342 = { + let v_W2356 = { let __t585 = - v_W2341 + v_W2355 .clone( ); rt::apply_direct(interp, "shen.<-out", &[__t585])? }; { - let v_W2343 = { - let __t586 = v_W2341.clone(); + let v_W2357 = { + let __t586 = v_W2355.clone(); rt::apply_direct(interp, "shen.in->", &[__t586])? }; { - let __t587 = v_W2343.clone(); + let __t587 = v_W2357.clone(); let __t590 = { let __t588 = Value::sym(interp.intern("}")); - let __t589 = v_W2342.clone(); + let __t589 = v_W2356.clone(); rt::cons(&__t588, &__t589) }; rt::apply_direct(interp, "shen.comb", &[__t587, __t590])? @@ -3404,7 +3404,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t594 = { - let __t593 = v_W2338.clone(); + let __t593 = v_W2352.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3416,9 +3416,9 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( Err(e) => break Err(e), } { { - let v_W2344 = { - let v_W2345 = { - let __t595 = v_V2309.clone(); + let v_W2358 = { + let v_W2359 = { + let __t595 = v_V2323.clone(); rt::apply_direct( interp, "shen.", @@ -3428,7 +3428,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( { let __t607 = { let __t596 = - v_W2345.clone(); + v_W2359.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3443,9 +3443,9 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2346 = { + let v_W2360 = { let __t597 = - v_W2345.clone(); + v_W2359.clone(); rt::apply_direct( interp, "shen.in->", @@ -3453,19 +3453,19 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( )? }; { - let v_W2347 = { + let v_W2361 = { let __t598 = - v_W2346 + v_W2360 .clone( ); rt::apply_direct(interp, "shen.", &[__t598])? }; { let __t606 = { - let __t599 = v_W2347.clone(); + let __t599 = v_W2361.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t599])? }; - if rt::is_truthy(interp, &__t606)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2348 = { let __t600 = v_W2347.clone(); rt::apply_direct(interp, "shen.<-out", &[__t600])? }; { let v_W2349 = { let __t601 = v_W2347.clone(); rt::apply_direct(interp, "shen.in->", &[__t601])? }; { let __t602 = v_W2349.clone(); let __t605 = { let __t603 = Value::sym(interp.intern("bar!")); let __t604 = v_W2348.clone(); rt::cons(&__t603, &__t604) }; rt::apply_direct(interp, "shen.comb", &[__t602, __t605])? } } } } + if rt::is_truthy(interp, &__t606)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2362 = { let __t600 = v_W2361.clone(); rt::apply_direct(interp, "shen.<-out", &[__t600])? }; { let v_W2363 = { let __t601 = v_W2361.clone(); rt::apply_direct(interp, "shen.in->", &[__t601])? }; { let __t602 = v_W2363.clone(); let __t605 = { let __t603 = Value::sym(interp.intern("bar!")); let __t604 = v_W2362.clone(); rt::cons(&__t603, &__t604) }; rt::apply_direct(interp, "shen.comb", &[__t602, __t605])? } } } } } } } @@ -3474,7 +3474,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( }; { let __t609 = { - let __t608 = v_W2344.clone(); + let __t608 = v_W2358.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3488,16 +3488,16 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( Err(e) => break Err(e), } { { - let v_W2350 = { - let v_W2351 = { + let v_W2364 = { + let v_W2365 = { let __t610 = - v_V2309.clone(); + v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t610])? }; { let __t623 = { let __t611 = - v_W2351 + v_W2365 .clone( ); rt::apply_direct(interp, "shen.parse-failure?", &[__t611])? @@ -3510,18 +3510,18 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } else { { - let v_W2352 = { - let __t612 = v_W2351.clone(); + let v_W2366 = { + let __t612 = v_W2365.clone(); rt::apply_direct(interp, "shen.in->", &[__t612])? }; { - let v_W2353 = { - let __t613 = v_W2352.clone(); + let v_W2367 = { + let __t613 = v_W2366.clone(); rt::apply_direct(interp, "shen.", &[__t613])? }; { - let __t622 = { let __t614 = v_W2353.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t614])? }; - if rt::is_truthy(interp, &__t622)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2354 = { let __t615 = v_W2353.clone(); rt::apply_direct(interp, "shen.<-out", &[__t615])? }; { let v_W2355 = { let __t616 = v_W2353.clone(); rt::apply_direct(interp, "shen.in->", &[__t616])? }; { let __t617 = v_W2355.clone(); let __t621 = { let __t619 = { let __t618 = Value::str(";"); rt::apply_direct(interp, "intern", &[__t618])? }; let __t620 = v_W2354.clone(); rt::cons(&__t619, &__t620) }; rt::apply_direct(interp, "shen.comb", &[__t617, __t621])? } } } } + let __t622 = { let __t614 = v_W2367.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t614])? }; + if rt::is_truthy(interp, &__t622)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2368 = { let __t615 = v_W2367.clone(); rt::apply_direct(interp, "shen.<-out", &[__t615])? }; { let v_W2369 = { let __t616 = v_W2367.clone(); rt::apply_direct(interp, "shen.in->", &[__t616])? }; { let __t617 = v_W2369.clone(); let __t621 = { let __t619 = { let __t618 = Value::str(";"); rt::apply_direct(interp, "intern", &[__t618])? }; let __t620 = v_W2368.clone(); rt::cons(&__t619, &__t620) }; rt::apply_direct(interp, "shen.comb", &[__t617, __t621])? } } } } } } } @@ -3531,7 +3531,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( { let __t625 = { let __t624 = - v_W2350.clone(); + v_W2364.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t624])? }; if match rt::is_truthy( @@ -3543,56 +3543,56 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } } { { - let v_W2356 = { - let v_W2357 = { - let __t626 = v_V2309.clone(); + let v_W2370 = { + let v_W2371 = { + let __t626 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t626])? }; { let __t643 = { - let __t627 = v_W2357.clone(); + let __t627 = v_W2371.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t627])? }; - if rt::is_truthy(interp, &__t643)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2358 = { let __t628 = v_W2357.clone(); rt::apply_direct(interp, "shen.in->", &[__t628])? }; { let v_W2359 = { let __t629 = v_W2358.clone(); rt::apply_direct(interp, "shen.", &[__t629])? }; { let __t642 = { let __t630 = v_W2359.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t630])? }; if rt::is_truthy(interp, &__t642)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2360 = { let __t631 = v_W2359.clone(); rt::apply_direct(interp, "shen.in->", &[__t631])? }; { let v_W2361 = { let __t632 = v_W2360.clone(); rt::apply_direct(interp, "shen.", &[__t632])? }; { let __t641 = { let __t633 = v_W2361.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t633])? }; if rt::is_truthy(interp, &__t641)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2362 = { let __t634 = v_W2361.clone(); rt::apply_direct(interp, "shen.<-out", &[__t634])? }; { let v_W2363 = { let __t635 = v_W2361.clone(); rt::apply_direct(interp, "shen.in->", &[__t635])? }; { let __t636 = v_W2363.clone(); let __t640 = { let __t638 = { let __t637 = Value::str(":="); rt::apply_direct(interp, "intern", &[__t637])? }; let __t639 = v_W2362.clone(); rt::cons(&__t638, &__t639) }; rt::apply_direct(interp, "shen.comb", &[__t636, __t640])? } } } } } } } } } } } } + if rt::is_truthy(interp, &__t643)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2372 = { let __t628 = v_W2371.clone(); rt::apply_direct(interp, "shen.in->", &[__t628])? }; { let v_W2373 = { let __t629 = v_W2372.clone(); rt::apply_direct(interp, "shen.", &[__t629])? }; { let __t642 = { let __t630 = v_W2373.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t630])? }; if rt::is_truthy(interp, &__t642)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2374 = { let __t631 = v_W2373.clone(); rt::apply_direct(interp, "shen.in->", &[__t631])? }; { let v_W2375 = { let __t632 = v_W2374.clone(); rt::apply_direct(interp, "shen.", &[__t632])? }; { let __t641 = { let __t633 = v_W2375.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t633])? }; if rt::is_truthy(interp, &__t641)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2376 = { let __t634 = v_W2375.clone(); rt::apply_direct(interp, "shen.<-out", &[__t634])? }; { let v_W2377 = { let __t635 = v_W2375.clone(); rt::apply_direct(interp, "shen.in->", &[__t635])? }; { let __t636 = v_W2377.clone(); let __t640 = { let __t638 = { let __t637 = Value::str(":="); rt::apply_direct(interp, "intern", &[__t637])? }; let __t639 = v_W2376.clone(); rt::cons(&__t638, &__t639) }; rt::apply_direct(interp, "shen.comb", &[__t636, __t640])? } } } } } } } } } } } } } }; { let __t645 = { - let __t644 = v_W2356.clone(); + let __t644 = v_W2370.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t644])? }; - if match rt::is_truthy(interp, &__t645) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2364 = { let v_W2365 = { let __t646 = v_V2309.clone(); rt::apply_direct(interp, "shen.", &[__t646])? }; { let __t659 = { let __t647 = v_W2365.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t647])? }; if rt::is_truthy(interp, &__t659)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2366 = { let __t648 = v_W2365.clone(); rt::apply_direct(interp, "shen.in->", &[__t648])? }; { let v_W2367 = { let __t649 = v_W2366.clone(); rt::apply_direct(interp, "shen.", &[__t649])? }; { let __t658 = { let __t650 = v_W2367.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t650])? }; if rt::is_truthy(interp, &__t658)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2368 = { let __t651 = v_W2367.clone(); rt::apply_direct(interp, "shen.<-out", &[__t651])? }; { let v_W2369 = { let __t652 = v_W2367.clone(); rt::apply_direct(interp, "shen.in->", &[__t652])? }; { let __t653 = v_W2369.clone(); let __t657 = { let __t655 = { let __t654 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t654])? }; let __t656 = v_W2368.clone(); rt::cons(&__t655, &__t656) }; rt::apply_direct(interp, "shen.comb", &[__t653, __t657])? } } } } } } } } } }; { let __t661 = { let __t660 = v_W2364.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t660])? }; if match rt::is_truthy(interp, &__t661) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2370 = { let v_W2371 = { let __t662 = v_V2309.clone(); rt::apply_direct(interp, "shen.", &[__t662])? }; { let __t675 = { let __t663 = v_W2371.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t663])? }; if rt::is_truthy(interp, &__t675)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2372 = { let __t664 = v_W2371.clone(); rt::apply_direct(interp, "shen.in->", &[__t664])? }; { let v_W2373 = { let __t665 = v_W2372.clone(); rt::apply_direct(interp, "shen.", &[__t665])? }; { let __t674 = { let __t666 = v_W2373.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t666])? }; if rt::is_truthy(interp, &__t674)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2374 = { let __t667 = v_W2373.clone(); rt::apply_direct(interp, "shen.<-out", &[__t667])? }; { let v_W2375 = { let __t668 = v_W2373.clone(); rt::apply_direct(interp, "shen.in->", &[__t668])? }; { let __t669 = v_W2375.clone(); let __t673 = { let __t671 = { let __t670 = Value::str(","); rt::apply_direct(interp, "intern", &[__t670])? }; let __t672 = v_W2374.clone(); rt::cons(&__t671, &__t672) }; rt::apply_direct(interp, "shen.comb", &[__t669, __t673])? } } } } } } } } } }; { let __t677 = { let __t676 = v_W2370.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t676])? }; if match rt::is_truthy(interp, &__t677) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2376 = { let v_W2377 = { let __t678 = v_V2309.clone(); rt::apply_direct(interp, "shen.", &[__t678])? }; { let __t688 = { let __t679 = v_W2377.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t679])? }; if rt::is_truthy(interp, &__t688)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2378 = { let __t680 = v_W2377.clone(); rt::apply_direct(interp, "shen.in->", &[__t680])? }; { let v_W2379 = { let __t681 = v_W2378.clone(); rt::apply_direct(interp, "shen.", &[__t681])? }; { let __t687 = { let __t682 = v_W2379.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t682])? }; if rt::is_truthy(interp, &__t687)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2380 = { let __t683 = v_W2379.clone(); rt::apply_direct(interp, "shen.<-out", &[__t683])? }; { let v_W2381 = { let __t684 = v_W2379.clone(); rt::apply_direct(interp, "shen.in->", &[__t684])? }; { let __t685 = v_W2381.clone(); let __t686 = v_W2380.clone(); rt::apply_direct(interp, "shen.comb", &[__t685, __t686])? } } } } } } } } } }; { let __t690 = { let __t689 = v_W2376.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t689])? }; if match rt::is_truthy(interp, &__t690) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2382 = { let v_W2383 = { let __t691 = v_V2309.clone(); rt::apply_direct(interp, "shen.", &[__t691])? }; { let __t704 = { let __t692 = v_W2383.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t692])? }; if rt::is_truthy(interp, &__t704)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2384 = { let __t693 = v_W2383.clone(); rt::apply_direct(interp, "shen.<-out", &[__t693])? }; { let v_W2385 = { let __t694 = v_W2383.clone(); rt::apply_direct(interp, "shen.in->", &[__t694])? }; { let v_W2386 = { let __t695 = v_W2385.clone(); rt::apply_direct(interp, "shen.", &[__t695])? }; { let __t703 = { let __t696 = v_W2386.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t696])? }; if rt::is_truthy(interp, &__t703)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2387 = { let __t697 = v_W2386.clone(); rt::apply_direct(interp, "shen.<-out", &[__t697])? }; { let v_W2388 = { let __t698 = v_W2386.clone(); rt::apply_direct(interp, "shen.in->", &[__t698])? }; { let __t699 = v_W2388.clone(); let __t702 = { let __t700 = v_W2384.clone(); let __t701 = v_W2387.clone(); rt::cons(&__t700, &__t701) }; rt::apply_direct(interp, "shen.comb", &[__t699, __t702])? } } } } } } } } } } }; { let __t706 = { let __t705 = v_W2382.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t705])? }; if match rt::is_truthy(interp, &__t706) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2389 = { let v_W2390 = { let __t707 = v_V2309.clone(); rt::apply_direct(interp, "shen.", &[__t707])? }; { let __t717 = { let __t708 = v_W2390.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t708])? }; if rt::is_truthy(interp, &__t717)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2391 = { let __t709 = v_W2390.clone(); rt::apply_direct(interp, "shen.in->", &[__t709])? }; { let v_W2392 = { let __t710 = v_W2391.clone(); rt::apply_direct(interp, "shen.", &[__t710])? }; { let __t716 = { let __t711 = v_W2392.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t711])? }; if rt::is_truthy(interp, &__t716)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2393 = { let __t712 = v_W2392.clone(); rt::apply_direct(interp, "shen.<-out", &[__t712])? }; { let v_W2394 = { let __t713 = v_W2392.clone(); rt::apply_direct(interp, "shen.in->", &[__t713])? }; { let __t714 = v_W2394.clone(); let __t715 = v_W2393.clone(); rt::apply_direct(interp, "shen.comb", &[__t714, __t715])? } } } } } } } } } }; { let __t719 = { let __t718 = v_W2389.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t718])? }; if match rt::is_truthy(interp, &__t719) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2395 = { let v_W2396 = { let __t720 = v_V2309.clone(); rt::apply_direct(interp, "", &[__t720])? }; { let __t725 = { let __t721 = v_W2396.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t721])? }; if rt::is_truthy(interp, &__t725)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2397 = { let __t722 = v_W2396.clone(); rt::apply_direct(interp, "shen.in->", &[__t722])? }; { let __t723 = v_W2397.clone(); let __t724 = Value::nil(); rt::apply_direct(interp, "shen.comb", &[__t723, __t724])? } } } } }; { let __t727 = { let __t726 = v_W2395.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t726])? }; if match rt::is_truthy(interp, &__t727) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { break Ok(v_W2395.clone()); } } } } else { break Ok(v_W2389.clone()); } } } } else { break Ok(v_W2382.clone()); } } } } else { break Ok(v_W2376.clone()); } } } } else { break Ok(v_W2370.clone()); } } } } else { break Ok(v_W2364.clone()); } } } } else { break Ok(v_W2356.clone()); } + if match rt::is_truthy(interp, &__t645) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2378 = { let v_W2379 = { let __t646 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t646])? }; { let __t659 = { let __t647 = v_W2379.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t647])? }; if rt::is_truthy(interp, &__t659)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2380 = { let __t648 = v_W2379.clone(); rt::apply_direct(interp, "shen.in->", &[__t648])? }; { let v_W2381 = { let __t649 = v_W2380.clone(); rt::apply_direct(interp, "shen.", &[__t649])? }; { let __t658 = { let __t650 = v_W2381.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t650])? }; if rt::is_truthy(interp, &__t658)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2382 = { let __t651 = v_W2381.clone(); rt::apply_direct(interp, "shen.<-out", &[__t651])? }; { let v_W2383 = { let __t652 = v_W2381.clone(); rt::apply_direct(interp, "shen.in->", &[__t652])? }; { let __t653 = v_W2383.clone(); let __t657 = { let __t655 = { let __t654 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t654])? }; let __t656 = v_W2382.clone(); rt::cons(&__t655, &__t656) }; rt::apply_direct(interp, "shen.comb", &[__t653, __t657])? } } } } } } } } } }; { let __t661 = { let __t660 = v_W2378.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t660])? }; if match rt::is_truthy(interp, &__t661) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2384 = { let v_W2385 = { let __t662 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t662])? }; { let __t675 = { let __t663 = v_W2385.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t663])? }; if rt::is_truthy(interp, &__t675)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2386 = { let __t664 = v_W2385.clone(); rt::apply_direct(interp, "shen.in->", &[__t664])? }; { let v_W2387 = { let __t665 = v_W2386.clone(); rt::apply_direct(interp, "shen.", &[__t665])? }; { let __t674 = { let __t666 = v_W2387.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t666])? }; if rt::is_truthy(interp, &__t674)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2388 = { let __t667 = v_W2387.clone(); rt::apply_direct(interp, "shen.<-out", &[__t667])? }; { let v_W2389 = { let __t668 = v_W2387.clone(); rt::apply_direct(interp, "shen.in->", &[__t668])? }; { let __t669 = v_W2389.clone(); let __t673 = { let __t671 = { let __t670 = Value::str(","); rt::apply_direct(interp, "intern", &[__t670])? }; let __t672 = v_W2388.clone(); rt::cons(&__t671, &__t672) }; rt::apply_direct(interp, "shen.comb", &[__t669, __t673])? } } } } } } } } } }; { let __t677 = { let __t676 = v_W2384.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t676])? }; if match rt::is_truthy(interp, &__t677) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2390 = { let v_W2391 = { let __t678 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t678])? }; { let __t688 = { let __t679 = v_W2391.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t679])? }; if rt::is_truthy(interp, &__t688)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2392 = { let __t680 = v_W2391.clone(); rt::apply_direct(interp, "shen.in->", &[__t680])? }; { let v_W2393 = { let __t681 = v_W2392.clone(); rt::apply_direct(interp, "shen.", &[__t681])? }; { let __t687 = { let __t682 = v_W2393.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t682])? }; if rt::is_truthy(interp, &__t687)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2394 = { let __t683 = v_W2393.clone(); rt::apply_direct(interp, "shen.<-out", &[__t683])? }; { let v_W2395 = { let __t684 = v_W2393.clone(); rt::apply_direct(interp, "shen.in->", &[__t684])? }; { let __t685 = v_W2395.clone(); let __t686 = v_W2394.clone(); rt::apply_direct(interp, "shen.comb", &[__t685, __t686])? } } } } } } } } } }; { let __t690 = { let __t689 = v_W2390.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t689])? }; if match rt::is_truthy(interp, &__t690) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2396 = { let v_W2397 = { let __t691 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t691])? }; { let __t704 = { let __t692 = v_W2397.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t692])? }; if rt::is_truthy(interp, &__t704)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2398 = { let __t693 = v_W2397.clone(); rt::apply_direct(interp, "shen.<-out", &[__t693])? }; { let v_W2399 = { let __t694 = v_W2397.clone(); rt::apply_direct(interp, "shen.in->", &[__t694])? }; { let v_W2400 = { let __t695 = v_W2399.clone(); rt::apply_direct(interp, "shen.", &[__t695])? }; { let __t703 = { let __t696 = v_W2400.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t696])? }; if rt::is_truthy(interp, &__t703)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2401 = { let __t697 = v_W2400.clone(); rt::apply_direct(interp, "shen.<-out", &[__t697])? }; { let v_W2402 = { let __t698 = v_W2400.clone(); rt::apply_direct(interp, "shen.in->", &[__t698])? }; { let __t699 = v_W2402.clone(); let __t702 = { let __t700 = v_W2398.clone(); let __t701 = v_W2401.clone(); rt::cons(&__t700, &__t701) }; rt::apply_direct(interp, "shen.comb", &[__t699, __t702])? } } } } } } } } } } }; { let __t706 = { let __t705 = v_W2396.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t705])? }; if match rt::is_truthy(interp, &__t706) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2403 = { let v_W2404 = { let __t707 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t707])? }; { let __t717 = { let __t708 = v_W2404.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t708])? }; if rt::is_truthy(interp, &__t717)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2405 = { let __t709 = v_W2404.clone(); rt::apply_direct(interp, "shen.in->", &[__t709])? }; { let v_W2406 = { let __t710 = v_W2405.clone(); rt::apply_direct(interp, "shen.", &[__t710])? }; { let __t716 = { let __t711 = v_W2406.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t711])? }; if rt::is_truthy(interp, &__t716)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2407 = { let __t712 = v_W2406.clone(); rt::apply_direct(interp, "shen.<-out", &[__t712])? }; { let v_W2408 = { let __t713 = v_W2406.clone(); rt::apply_direct(interp, "shen.in->", &[__t713])? }; { let __t714 = v_W2408.clone(); let __t715 = v_W2407.clone(); rt::apply_direct(interp, "shen.comb", &[__t714, __t715])? } } } } } } } } } }; { let __t719 = { let __t718 = v_W2403.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t718])? }; if match rt::is_truthy(interp, &__t719) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2409 = { let v_W2410 = { let __t720 = v_V2323.clone(); rt::apply_direct(interp, "", &[__t720])? }; { let __t725 = { let __t721 = v_W2410.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t721])? }; if rt::is_truthy(interp, &__t725)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2411 = { let __t722 = v_W2410.clone(); rt::apply_direct(interp, "shen.in->", &[__t722])? }; { let __t723 = v_W2411.clone(); let __t724 = Value::nil(); rt::apply_direct(interp, "shen.comb", &[__t723, __t724])? } } } } }; { let __t727 = { let __t726 = v_W2409.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t726])? }; if match rt::is_truthy(interp, &__t727) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { break Ok(v_W2409.clone()); } } } } else { break Ok(v_W2403.clone()); } } } } else { break Ok(v_W2396.clone()); } } } } else { break Ok(v_W2390.clone()); } } } } else { break Ok(v_W2384.clone()); } } } } else { break Ok(v_W2378.clone()); } } } } else { break Ok(v_W2370.clone()); } } } } else { break Ok( - v_W2350.clone() + v_W2364.clone() ); } } } } else { - break Ok(v_W2344.clone()); + break Ok(v_W2358.clone()); } } } } else { - break Ok(v_W2338.clone()); + break Ok(v_W2352.clone()); } } } } else { - break Ok(v_W2332.clone()); + break Ok(v_W2346.clone()); } } } } else { - break Ok(v_W2321.clone()); + break Ok(v_W2335.clone()); } } } } else { - break Ok(v_W2310.clone()); + break Ok(v_W2324.clone()); } } } @@ -3613,15 +3613,15 @@ pub fn aot_shen_x2e_add_x2d_sexpr(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2398 = args[0].clone(); + let mut v_V2412 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2399 = args[1].clone(); + let mut v_V2413 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t752 = { let __t745 = { - let __t731 = v_V2398.clone(); + let __t731 = v_V2412.clone(); rt::is_cons(&__t731) }; if !rt::is_truthy(interp, &__t745)? { @@ -3631,7 +3631,7 @@ pub fn aot_shen_x2e_add_x2d_sexpr(interp: &mut Interp, args: &[Value]) -> ShenRe let __t743 = { let __t732 = Value::sym(interp.intern("$")); let __t734 = { - let __t733 = v_V2398.clone(); + let __t733 = v_V2412.clone(); rt::hd(&__t733)? }; rt::eq(&__t732, &__t734) @@ -3642,7 +3642,7 @@ pub fn aot_shen_x2e_add_x2d_sexpr(interp: &mut Interp, args: &[Value]) -> ShenRe let __t744 = { let __t741 = { let __t736 = { - let __t735 = v_V2398.clone(); + let __t735 = v_V2412.clone(); rt::tl(&__t735)? }; rt::is_cons(&__t736) @@ -3654,7 +3654,7 @@ pub fn aot_shen_x2e_add_x2d_sexpr(interp: &mut Interp, args: &[Value]) -> ShenRe let __t737 = Value::nil(); let __t740 = { let __t739 = { - let __t738 = v_V2398.clone(); + let __t738 = v_V2412.clone(); rt::tl(&__t738)? }; rt::tl(&__t739)? @@ -3678,14 +3678,14 @@ pub fn aot_shen_x2e_add_x2d_sexpr(interp: &mut Interp, args: &[Value]) -> ShenRe let __t750 = { let __t749 = { let __t748 = { - let __t747 = v_V2398.clone(); + let __t747 = v_V2412.clone(); rt::tl(&__t747)? }; rt::hd(&__t748)? }; rt::apply_direct(interp, "explode", &[__t749])? }; - let __t751 = v_V2399.clone(); + let __t751 = v_V2413.clone(); rt::apply_direct(interp, "append", &[__t750, __t751])? }); } else { @@ -3696,8 +3696,8 @@ pub fn aot_shen_x2e_add_x2d_sexpr(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { break Ok({ - let __t728 = v_V2398.clone(); - let __t729 = v_V2399.clone(); + let __t728 = v_V2412.clone(); + let __t729 = v_V2413.clone(); rt::cons(&__t728, &__t729) }); } else { @@ -3723,24 +3723,24 @@ pub fn aot_shen_x2e__x3c_lsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2400 = args[0].clone(); + let mut v_V2414 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2401 = { + let v_W2415 = { let __t758 = { - let __t753 = v_V2400.clone(); + let __t753 = v_V2414.clone(); let __t754 = Value::int(91i64); rt::apply_direct(interp, "shen.hds=?", &[__t753, __t754])? }; if rt::is_truthy(interp, &__t758)? { { - let v_W2402 = { - let __t755 = v_V2400.clone(); + let v_W2416 = { + let __t755 = v_V2414.clone(); rt::apply_direct(interp, "tail", &[__t755])? }; { - let __t756 = v_W2402.clone(); + let __t756 = v_W2416.clone(); let __t757 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t756, __t757])? } @@ -3753,7 +3753,7 @@ pub fn aot_shen_x2e__x3c_lsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t760 = { - let __t759 = v_W2401.clone(); + let __t759 = v_W2415.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t759])? }; if match rt::is_truthy(interp, &__t760) { @@ -3762,7 +3762,7 @@ pub fn aot_shen_x2e__x3c_lsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2401.clone()); + break Ok(v_W2415.clone()); } } } @@ -3783,24 +3783,24 @@ pub fn aot_shen_x2e__x3c_rsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2403 = args[0].clone(); + let mut v_V2417 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2404 = { + let v_W2418 = { let __t766 = { - let __t761 = v_V2403.clone(); + let __t761 = v_V2417.clone(); let __t762 = Value::int(93i64); rt::apply_direct(interp, "shen.hds=?", &[__t761, __t762])? }; if rt::is_truthy(interp, &__t766)? { { - let v_W2405 = { - let __t763 = v_V2403.clone(); + let v_W2419 = { + let __t763 = v_V2417.clone(); rt::apply_direct(interp, "tail", &[__t763])? }; { - let __t764 = v_W2405.clone(); + let __t764 = v_W2419.clone(); let __t765 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t764, __t765])? } @@ -3813,7 +3813,7 @@ pub fn aot_shen_x2e__x3c_rsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t768 = { - let __t767 = v_W2404.clone(); + let __t767 = v_W2418.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t767])? }; if match rt::is_truthy(interp, &__t768) { @@ -3822,7 +3822,7 @@ pub fn aot_shen_x2e__x3c_rsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2404.clone()); + break Ok(v_W2418.clone()); } } } @@ -3846,18 +3846,18 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs1_x3e_( ))); } #[allow(unused_mut)] - let mut v_V2406 = args[0].clone(); + let mut v_V2420 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2407 = { - let v_W2408 = { - let __t769 = v_V2406.clone(); + let v_W2421 = { + let v_W2422 = { + let __t769 = v_V2420.clone(); rt::apply_direct(interp, "shen.", &[__t769])? }; { let __t775 = { - let __t770 = v_W2408.clone(); + let __t770 = v_W2422.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t770])? }; if rt::is_truthy(interp, &__t775)? { @@ -3866,18 +3866,18 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs1_x3e_( } } else { { - let v_W2409 = { - let __t771 = v_W2408.clone(); + let v_W2423 = { + let __t771 = v_W2422.clone(); rt::apply_direct(interp, "shen.<-out", &[__t771])? }; { - let v_W2410 = { - let __t772 = v_W2408.clone(); + let v_W2424 = { + let __t772 = v_W2422.clone(); rt::apply_direct(interp, "shen.in->", &[__t772])? }; { - let __t773 = v_W2410.clone(); - let __t774 = v_W2409.clone(); + let __t773 = v_W2424.clone(); + let __t774 = v_W2423.clone(); rt::apply_direct(interp, "shen.comb", &[__t773, __t774])? } } @@ -3887,7 +3887,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs1_x3e_( }; { let __t777 = { - let __t776 = v_W2407.clone(); + let __t776 = v_W2421.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t776])? }; if match rt::is_truthy(interp, &__t777) { @@ -3896,7 +3896,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs1_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2407.clone()); + break Ok(v_W2421.clone()); } } } @@ -3920,18 +3920,18 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs2_x3e_( ))); } #[allow(unused_mut)] - let mut v_V2411 = args[0].clone(); + let mut v_V2425 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2412 = { - let v_W2413 = { - let __t778 = v_V2411.clone(); + let v_W2426 = { + let v_W2427 = { + let __t778 = v_V2425.clone(); rt::apply_direct(interp, "shen.", &[__t778])? }; { let __t784 = { - let __t779 = v_W2413.clone(); + let __t779 = v_W2427.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t779])? }; if rt::is_truthy(interp, &__t784)? { @@ -3940,18 +3940,18 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs2_x3e_( } } else { { - let v_W2414 = { - let __t780 = v_W2413.clone(); + let v_W2428 = { + let __t780 = v_W2427.clone(); rt::apply_direct(interp, "shen.<-out", &[__t780])? }; { - let v_W2415 = { - let __t781 = v_W2413.clone(); + let v_W2429 = { + let __t781 = v_W2427.clone(); rt::apply_direct(interp, "shen.in->", &[__t781])? }; { - let __t782 = v_W2415.clone(); - let __t783 = v_W2414.clone(); + let __t782 = v_W2429.clone(); + let __t783 = v_W2428.clone(); rt::apply_direct(interp, "shen.comb", &[__t782, __t783])? } } @@ -3961,7 +3961,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs2_x3e_( }; { let __t786 = { - let __t785 = v_W2412.clone(); + let __t785 = v_W2426.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t785])? }; if match rt::is_truthy(interp, &__t786) { @@ -3970,7 +3970,7 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs2_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2412.clone()); + break Ok(v_W2426.clone()); } } } @@ -3991,13 +3991,13 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2417 = args[0].clone(); + let mut v_V2431 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t857 = { let __t855 = Value::nil(); - let __t856 = v_V2417.clone(); + let __t856 = v_V2431.clone(); rt::eq(&__t855, &__t856) }; if match rt::is_truthy(interp, &__t857) { @@ -4009,7 +4009,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t854 = { let __t845 = { - let __t824 = v_V2417.clone(); + let __t824 = v_V2431.clone(); rt::is_cons(&__t824) }; if !rt::is_truthy(interp, &__t845)? { @@ -4018,7 +4018,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t846 = { let __t843 = { let __t826 = { - let __t825 = v_V2417.clone(); + let __t825 = v_V2431.clone(); rt::tl(&__t825)? }; rt::is_cons(&__t826) @@ -4030,7 +4030,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t841 = { let __t829 = { let __t828 = { - let __t827 = v_V2417.clone(); + let __t827 = v_V2431.clone(); rt::tl(&__t827)? }; rt::tl(&__t828)? @@ -4046,7 +4046,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t834 = { let __t833 = { let __t832 = { - let __t831 = v_V2417.clone(); + let __t831 = v_V2431.clone(); rt::tl(&__t831)? }; rt::tl(&__t832)? @@ -4061,7 +4061,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t840 = { let __t837 = { let __t836 = { - let __t835 = v_V2417.clone(); + let __t835 = v_V2431.clone(); rt::tl(&__t835)? }; rt::hd(&__t836)? @@ -4090,12 +4090,12 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t847 = Value::sym(interp.intern("cons")); let __t853 = { let __t849 = { - let __t848 = v_V2417.clone(); + let __t848 = v_V2431.clone(); rt::hd(&__t848)? }; let __t852 = { let __t851 = { - let __t850 = v_V2417.clone(); + let __t850 = v_V2431.clone(); rt::tl(&__t850)? }; rt::tl(&__t851)? @@ -4108,7 +4108,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t823 = { let __t820 = { - let __t800 = v_V2417.clone(); + let __t800 = v_V2431.clone(); rt::is_cons(&__t800) }; if !rt::is_truthy(interp, &__t820)? { @@ -4117,7 +4117,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t821 = { let __t818 = { let __t802 = { - let __t801 = v_V2417.clone(); + let __t801 = v_V2431.clone(); rt::tl(&__t801)? }; rt::is_cons(&__t802) @@ -4129,7 +4129,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t816 = { let __t805 = { let __t804 = { - let __t803 = v_V2417.clone(); + let __t803 = v_V2431.clone(); rt::tl(&__t803)? }; rt::tl(&__t804)? @@ -4145,7 +4145,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t808 = { let __t807 = { let __t806 = - v_V2417.clone(); + v_V2431.clone(); rt::tl(&__t806)? }; rt::tl(&__t807)? @@ -4161,7 +4161,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t812 = { let __t811 = { let __t810 = - v_V2417.clone(); + v_V2431.clone(); rt::tl(&__t810)? }; rt::hd(&__t811)? @@ -4196,7 +4196,7 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe } else { { let __t799 = { - let __t789 = v_V2417.clone(); + let __t789 = v_V2431.clone(); rt::is_cons(&__t789) }; if match rt::is_truthy(interp, &__t799) { @@ -4207,13 +4207,13 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe let __t790 = Value::sym(interp.intern("cons")); let __t798 = { let __t792 = { - let __t791 = v_V2417.clone(); + let __t791 = v_V2431.clone(); rt::hd(&__t791)? }; let __t797 = { let __t795 = { let __t794 = { - let __t793 = v_V2417.clone(); + let __t793 = v_V2431.clone(); rt::tl(&__t793)? }; rt::apply_direct( @@ -4277,24 +4277,24 @@ pub fn aot_shen_x2e__x3c_lrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2418 = args[0].clone(); + let mut v_V2432 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2419 = { + let v_W2433 = { let __t863 = { - let __t858 = v_V2418.clone(); + let __t858 = v_V2432.clone(); let __t859 = Value::int(40i64); rt::apply_direct(interp, "shen.hds=?", &[__t858, __t859])? }; if rt::is_truthy(interp, &__t863)? { { - let v_W2420 = { - let __t860 = v_V2418.clone(); + let v_W2434 = { + let __t860 = v_V2432.clone(); rt::apply_direct(interp, "tail", &[__t860])? }; { - let __t861 = v_W2420.clone(); + let __t861 = v_W2434.clone(); let __t862 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t861, __t862])? } @@ -4307,7 +4307,7 @@ pub fn aot_shen_x2e__x3c_lrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t865 = { - let __t864 = v_W2419.clone(); + let __t864 = v_W2433.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t864])? }; if match rt::is_truthy(interp, &__t865) { @@ -4316,7 +4316,7 @@ pub fn aot_shen_x2e__x3c_lrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2419.clone()); + break Ok(v_W2433.clone()); } } } @@ -4337,24 +4337,24 @@ pub fn aot_shen_x2e__x3c_rrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2421 = args[0].clone(); + let mut v_V2435 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2422 = { + let v_W2436 = { let __t871 = { - let __t866 = v_V2421.clone(); + let __t866 = v_V2435.clone(); let __t867 = Value::int(41i64); rt::apply_direct(interp, "shen.hds=?", &[__t866, __t867])? }; if rt::is_truthy(interp, &__t871)? { { - let v_W2423 = { - let __t868 = v_V2421.clone(); + let v_W2437 = { + let __t868 = v_V2435.clone(); rt::apply_direct(interp, "tail", &[__t868])? }; { - let __t869 = v_W2423.clone(); + let __t869 = v_W2437.clone(); let __t870 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t869, __t870])? } @@ -4367,7 +4367,7 @@ pub fn aot_shen_x2e__x3c_rrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t873 = { - let __t872 = v_W2422.clone(); + let __t872 = v_W2436.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t872])? }; if match rt::is_truthy(interp, &__t873) { @@ -4376,7 +4376,7 @@ pub fn aot_shen_x2e__x3c_rrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2422.clone()); + break Ok(v_W2436.clone()); } } } @@ -4397,24 +4397,24 @@ pub fn aot_shen_x2e__x3c_lcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2424 = args[0].clone(); + let mut v_V2438 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2425 = { + let v_W2439 = { let __t879 = { - let __t874 = v_V2424.clone(); + let __t874 = v_V2438.clone(); let __t875 = Value::int(123i64); rt::apply_direct(interp, "shen.hds=?", &[__t874, __t875])? }; if rt::is_truthy(interp, &__t879)? { { - let v_W2426 = { - let __t876 = v_V2424.clone(); + let v_W2440 = { + let __t876 = v_V2438.clone(); rt::apply_direct(interp, "tail", &[__t876])? }; { - let __t877 = v_W2426.clone(); + let __t877 = v_W2440.clone(); let __t878 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t877, __t878])? } @@ -4427,7 +4427,7 @@ pub fn aot_shen_x2e__x3c_lcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t881 = { - let __t880 = v_W2425.clone(); + let __t880 = v_W2439.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t880])? }; if match rt::is_truthy(interp, &__t881) { @@ -4436,7 +4436,7 @@ pub fn aot_shen_x2e__x3c_lcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2425.clone()); + break Ok(v_W2439.clone()); } } } @@ -4457,24 +4457,24 @@ pub fn aot_shen_x2e__x3c_rcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2427 = args[0].clone(); + let mut v_V2441 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2428 = { + let v_W2442 = { let __t887 = { - let __t882 = v_V2427.clone(); + let __t882 = v_V2441.clone(); let __t883 = Value::int(125i64); rt::apply_direct(interp, "shen.hds=?", &[__t882, __t883])? }; if rt::is_truthy(interp, &__t887)? { { - let v_W2429 = { - let __t884 = v_V2427.clone(); + let v_W2443 = { + let __t884 = v_V2441.clone(); rt::apply_direct(interp, "tail", &[__t884])? }; { - let __t885 = v_W2429.clone(); + let __t885 = v_W2443.clone(); let __t886 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t885, __t886])? } @@ -4487,7 +4487,7 @@ pub fn aot_shen_x2e__x3c_rcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t889 = { - let __t888 = v_W2428.clone(); + let __t888 = v_W2442.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t888])? }; if match rt::is_truthy(interp, &__t889) { @@ -4496,7 +4496,7 @@ pub fn aot_shen_x2e__x3c_rcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2428.clone()); + break Ok(v_W2442.clone()); } } } @@ -4517,24 +4517,24 @@ pub fn aot_shen_x2e__x3c_bar_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2430 = args[0].clone(); + let mut v_V2444 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2431 = { + let v_W2445 = { let __t895 = { - let __t890 = v_V2430.clone(); + let __t890 = v_V2444.clone(); let __t891 = Value::int(124i64); rt::apply_direct(interp, "shen.hds=?", &[__t890, __t891])? }; if rt::is_truthy(interp, &__t895)? { { - let v_W2432 = { - let __t892 = v_V2430.clone(); + let v_W2446 = { + let __t892 = v_V2444.clone(); rt::apply_direct(interp, "tail", &[__t892])? }; { - let __t893 = v_W2432.clone(); + let __t893 = v_W2446.clone(); let __t894 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t893, __t894])? } @@ -4547,7 +4547,7 @@ pub fn aot_shen_x2e__x3c_bar_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t897 = { - let __t896 = v_W2431.clone(); + let __t896 = v_W2445.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t896])? }; if match rt::is_truthy(interp, &__t897) { @@ -4556,7 +4556,7 @@ pub fn aot_shen_x2e__x3c_bar_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2431.clone()); + break Ok(v_W2445.clone()); } } } @@ -4577,24 +4577,24 @@ pub fn aot_shen_x2e__x3c_semicolon_x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2433 = args[0].clone(); + let mut v_V2447 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2434 = { + let v_W2448 = { let __t903 = { - let __t898 = v_V2433.clone(); + let __t898 = v_V2447.clone(); let __t899 = Value::int(59i64); rt::apply_direct(interp, "shen.hds=?", &[__t898, __t899])? }; if rt::is_truthy(interp, &__t903)? { { - let v_W2435 = { - let __t900 = v_V2433.clone(); + let v_W2449 = { + let __t900 = v_V2447.clone(); rt::apply_direct(interp, "tail", &[__t900])? }; { - let __t901 = v_W2435.clone(); + let __t901 = v_W2449.clone(); let __t902 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t901, __t902])? } @@ -4607,7 +4607,7 @@ pub fn aot_shen_x2e__x3c_semicolon_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t905 = { - let __t904 = v_W2434.clone(); + let __t904 = v_W2448.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t904])? }; if match rt::is_truthy(interp, &__t905) { @@ -4616,7 +4616,7 @@ pub fn aot_shen_x2e__x3c_semicolon_x3e_(interp: &mut Interp, args: &[Value]) -> } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2434.clone()); + break Ok(v_W2448.clone()); } } } @@ -4637,24 +4637,24 @@ pub fn aot_shen_x2e__x3c_colon_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2436 = args[0].clone(); + let mut v_V2450 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2437 = { + let v_W2451 = { let __t911 = { - let __t906 = v_V2436.clone(); + let __t906 = v_V2450.clone(); let __t907 = Value::int(58i64); rt::apply_direct(interp, "shen.hds=?", &[__t906, __t907])? }; if rt::is_truthy(interp, &__t911)? { { - let v_W2438 = { - let __t908 = v_V2436.clone(); + let v_W2452 = { + let __t908 = v_V2450.clone(); rt::apply_direct(interp, "tail", &[__t908])? }; { - let __t909 = v_W2438.clone(); + let __t909 = v_W2452.clone(); let __t910 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t909, __t910])? } @@ -4667,7 +4667,7 @@ pub fn aot_shen_x2e__x3c_colon_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t913 = { - let __t912 = v_W2437.clone(); + let __t912 = v_W2451.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t912])? }; if match rt::is_truthy(interp, &__t913) { @@ -4676,7 +4676,7 @@ pub fn aot_shen_x2e__x3c_colon_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2437.clone()); + break Ok(v_W2451.clone()); } } } @@ -4697,24 +4697,24 @@ pub fn aot_shen_x2e__x3c_comma_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2439 = args[0].clone(); + let mut v_V2453 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2440 = { + let v_W2454 = { let __t919 = { - let __t914 = v_V2439.clone(); + let __t914 = v_V2453.clone(); let __t915 = Value::int(44i64); rt::apply_direct(interp, "shen.hds=?", &[__t914, __t915])? }; if rt::is_truthy(interp, &__t919)? { { - let v_W2441 = { - let __t916 = v_V2439.clone(); + let v_W2455 = { + let __t916 = v_V2453.clone(); rt::apply_direct(interp, "tail", &[__t916])? }; { - let __t917 = v_W2441.clone(); + let __t917 = v_W2455.clone(); let __t918 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t917, __t918])? } @@ -4727,7 +4727,7 @@ pub fn aot_shen_x2e__x3c_comma_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t921 = { - let __t920 = v_W2440.clone(); + let __t920 = v_W2454.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t920])? }; if match rt::is_truthy(interp, &__t921) { @@ -4736,7 +4736,7 @@ pub fn aot_shen_x2e__x3c_comma_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2440.clone()); + break Ok(v_W2454.clone()); } } } @@ -4757,24 +4757,24 @@ pub fn aot_shen_x2e__x3c_equal_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2442 = args[0].clone(); + let mut v_V2456 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2443 = { + let v_W2457 = { let __t927 = { - let __t922 = v_V2442.clone(); + let __t922 = v_V2456.clone(); let __t923 = Value::int(61i64); rt::apply_direct(interp, "shen.hds=?", &[__t922, __t923])? }; if rt::is_truthy(interp, &__t927)? { { - let v_W2444 = { - let __t924 = v_V2442.clone(); + let v_W2458 = { + let __t924 = v_V2456.clone(); rt::apply_direct(interp, "tail", &[__t924])? }; { - let __t925 = v_W2444.clone(); + let __t925 = v_W2458.clone(); let __t926 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t925, __t926])? } @@ -4787,7 +4787,7 @@ pub fn aot_shen_x2e__x3c_equal_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t929 = { - let __t928 = v_W2443.clone(); + let __t928 = v_W2457.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t928])? }; if match rt::is_truthy(interp, &__t929) { @@ -4796,7 +4796,7 @@ pub fn aot_shen_x2e__x3c_equal_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2443.clone()); + break Ok(v_W2457.clone()); } } } @@ -4817,18 +4817,18 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V2445 = args[0].clone(); + let mut v_V2459 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2446 = { - let v_W2447 = { - let __t930 = v_V2445.clone(); + let v_W2460 = { + let v_W2461 = { + let __t930 = v_V2459.clone(); rt::apply_direct(interp, "shen.", &[__t930])? }; { let __t935 = { - let __t931 = v_W2447.clone(); + let __t931 = v_W2461.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t931])? }; if rt::is_truthy(interp, &__t935)? { @@ -4837,12 +4837,12 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2448 = { - let __t932 = v_W2447.clone(); + let v_W2462 = { + let __t932 = v_W2461.clone(); rt::apply_direct(interp, "shen.in->", &[__t932])? }; { - let __t933 = v_W2448.clone(); + let __t933 = v_W2462.clone(); let __t934 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t933, __t934])? } @@ -4852,7 +4852,7 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t937 = { - let __t936 = v_W2446.clone(); + let __t936 = v_W2460.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t936])? }; if match rt::is_truthy(interp, &__t937) { @@ -4860,14 +4860,14 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_W2449 = { - let v_W2450 = { - let __t938 = v_V2445.clone(); + let v_W2463 = { + let v_W2464 = { + let __t938 = v_V2459.clone(); rt::apply_direct(interp, "shen.", &[__t938])? }; { let __t943 = { - let __t939 = v_W2450.clone(); + let __t939 = v_W2464.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t939])? }; if rt::is_truthy(interp, &__t943)? { @@ -4876,12 +4876,12 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2451 = { - let __t940 = v_W2450.clone(); + let v_W2465 = { + let __t940 = v_W2464.clone(); rt::apply_direct(interp, "shen.in->", &[__t940])? }; { - let __t941 = v_W2451.clone(); + let __t941 = v_W2465.clone(); let __t942 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( interp, @@ -4895,7 +4895,7 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t945 = { - let __t944 = v_W2449.clone(); + let __t944 = v_W2463.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t944])? }; if match rt::is_truthy(interp, &__t945) { @@ -4904,12 +4904,12 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2449.clone()); + break Ok(v_W2463.clone()); } } } } else { - break Ok(v_W2446.clone()); + break Ok(v_W2460.clone()); } } } @@ -4930,18 +4930,18 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2452 = args[0].clone(); + let mut v_V2466 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2453 = { - let v_W2454 = { - let __t946 = v_V2452.clone(); + let v_W2467 = { + let v_W2468 = { + let __t946 = v_V2466.clone(); rt::apply_direct(interp, "shen.", &[__t946])? }; { let __t963 = { - let __t947 = v_W2454.clone(); + let __t947 = v_W2468.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t947])? }; if rt::is_truthy(interp, &__t963)? { @@ -4950,18 +4950,18 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2455 = { - let __t948 = v_W2454.clone(); + let v_W2469 = { + let __t948 = v_W2468.clone(); rt::apply_direct(interp, "shen.in->", &[__t948])? }; { - let v_W2456 = { - let __t949 = v_W2455.clone(); + let v_W2470 = { + let __t949 = v_W2469.clone(); rt::apply_direct(interp, "shen.", &[__t949])? }; { let __t962 = { - let __t950 = v_W2456.clone(); + let __t950 = v_W2470.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t950])? }; if rt::is_truthy(interp, &__t962)? { @@ -4970,13 +4970,13 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2457 = { - let __t951 = v_W2456.clone(); + let v_W2471 = { + let __t951 = v_W2470.clone(); rt::apply_direct(interp, "shen.in->", &[__t951])? }; { - let v_W2458 = { - let __t952 = v_W2457.clone(); + let v_W2472 = { + let __t952 = v_W2471.clone(); rt::apply_direct( interp, "shen.", @@ -4985,7 +4985,7 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t961 = { - let __t953 = v_W2458.clone(); + let __t953 = v_W2472.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -5002,8 +5002,8 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2459 = { - let __t954 = v_W2458.clone(); + let v_W2473 = { + let __t954 = v_W2472.clone(); rt::apply_direct( interp, "shen.in->", @@ -5011,8 +5011,8 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let v_W2460 = { - let __t955 = v_W2459.clone(); + let v_W2474 = { + let __t955 = v_W2473.clone(); rt::apply_direct( interp, "shen.", @@ -5022,7 +5022,7 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> { let __t960 = { let __t956 = - v_W2460.clone(); + v_W2474.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -5037,9 +5037,9 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2461 = { + let v_W2475 = { let __t957 = - v_W2460.clone(); + v_W2474.clone(); rt::apply_direct( interp, "shen.in->", @@ -5048,7 +5048,7 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t958 = - v_W2461.clone(); + v_W2475.clone(); let __t959 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( interp, @@ -5077,7 +5077,7 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t965 = { - let __t964 = v_W2453.clone(); + let __t964 = v_W2467.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t964])? }; if match rt::is_truthy(interp, &__t965) { @@ -5086,7 +5086,7 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2453.clone()); + break Ok(v_W2467.clone()); } } } @@ -5107,24 +5107,24 @@ pub fn aot_shen_x2e__x3c_backslash_x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2462 = args[0].clone(); + let mut v_V2476 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2463 = { + let v_W2477 = { let __t971 = { - let __t966 = v_V2462.clone(); + let __t966 = v_V2476.clone(); let __t967 = Value::int(92i64); rt::apply_direct(interp, "shen.hds=?", &[__t966, __t967])? }; if rt::is_truthy(interp, &__t971)? { { - let v_W2464 = { - let __t968 = v_V2462.clone(); + let v_W2478 = { + let __t968 = v_V2476.clone(); rt::apply_direct(interp, "tail", &[__t968])? }; { - let __t969 = v_W2464.clone(); + let __t969 = v_W2478.clone(); let __t970 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t969, __t970])? } @@ -5137,7 +5137,7 @@ pub fn aot_shen_x2e__x3c_backslash_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t973 = { - let __t972 = v_W2463.clone(); + let __t972 = v_W2477.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t972])? }; if match rt::is_truthy(interp, &__t973) { @@ -5146,7 +5146,7 @@ pub fn aot_shen_x2e__x3c_backslash_x3e_(interp: &mut Interp, args: &[Value]) -> } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2463.clone()); + break Ok(v_W2477.clone()); } } } @@ -5170,18 +5170,18 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( ))); } #[allow(unused_mut)] - let mut v_V2465 = args[0].clone(); + let mut v_V2479 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2466 = { - let v_W2467 = { - let __t974 = v_V2465.clone(); + let v_W2480 = { + let v_W2481 = { + let __t974 = v_V2479.clone(); rt::apply_direct(interp, "shen.", &[__t974])? }; { let __t983 = { - let __t975 = v_W2467.clone(); + let __t975 = v_W2481.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t975])? }; if rt::is_truthy(interp, &__t983)? { @@ -5190,18 +5190,18 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( } } else { { - let v_W2468 = { - let __t976 = v_W2467.clone(); + let v_W2482 = { + let __t976 = v_W2481.clone(); rt::apply_direct(interp, "shen.in->", &[__t976])? }; { - let v_W2469 = { - let __t977 = v_W2468.clone(); + let v_W2483 = { + let __t977 = v_W2482.clone(); rt::apply_direct(interp, "shen.", &[__t977])? }; { let __t982 = { - let __t978 = v_W2469.clone(); + let __t978 = v_W2483.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t978])? }; if rt::is_truthy(interp, &__t982)? { @@ -5210,12 +5210,12 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( } } else { { - let v_W2470 = { - let __t979 = v_W2469.clone(); + let v_W2484 = { + let __t979 = v_W2483.clone(); rt::apply_direct(interp, "shen.in->", &[__t979])? }; { - let __t980 = v_W2470.clone(); + let __t980 = v_W2484.clone(); let __t981 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( interp, @@ -5233,7 +5233,7 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( }; { let __t985 = { - let __t984 = v_W2466.clone(); + let __t984 = v_W2480.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t984])? }; if match rt::is_truthy(interp, &__t985) { @@ -5241,14 +5241,14 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( Err(e) => break Err(e), } { { - let v_W2471 = { - let v_W2472 = { - let __t986 = v_V2465.clone(); + let v_W2485 = { + let v_W2486 = { + let __t986 = v_V2479.clone(); rt::apply_direct(interp, "", &[__t986])? }; { let __t991 = { - let __t987 = v_W2472.clone(); + let __t987 = v_W2486.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t987])? }; if rt::is_truthy(interp, &__t991)? { @@ -5257,12 +5257,12 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( } } else { { - let v_W2473 = { - let __t988 = v_W2472.clone(); + let v_W2487 = { + let __t988 = v_W2486.clone(); rt::apply_direct(interp, "shen.in->", &[__t988])? }; { - let __t989 = v_W2473.clone(); + let __t989 = v_W2487.clone(); let __t990 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( interp, @@ -5276,7 +5276,7 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( }; { let __t993 = { - let __t992 = v_W2471.clone(); + let __t992 = v_W2485.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t992])? }; if match rt::is_truthy(interp, &__t993) { @@ -5285,12 +5285,12 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2471.clone()); + break Ok(v_W2485.clone()); } } } } else { - break Ok(v_W2466.clone()); + break Ok(v_W2480.clone()); } } } @@ -5318,37 +5318,37 @@ pub fn aot_shen_x2e__x3c_shortnatter_x3e_( ))); } #[allow(unused_mut)] - let mut v_V2474 = args[0].clone(); + let mut v_V2488 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2475 = { + let v_W2489 = { let __t1002 = { - let __t994 = v_V2474.clone(); + let __t994 = v_V2488.clone(); rt::is_cons(&__t994) }; if rt::is_truthy(interp, &__t1002)? { { - let v_W2476 = { - let __t995 = v_V2474.clone(); + let v_W2490 = { + let __t995 = v_V2488.clone(); rt::apply_direct(interp, "head", &[__t995])? }; { - let v_W2477 = { - let __t996 = v_V2474.clone(); + let v_W2491 = { + let __t996 = v_V2488.clone(); rt::apply_direct(interp, "tail", &[__t996])? }; { let __t1001 = { let __t998 = { - let __t997 = v_W2476.clone(); + let __t997 = v_W2490.clone(); rt::apply_direct(interp, "shen.return?", &[__t997])? }; rt::apply_direct(interp, "not", &[__t998])? }; if rt::is_truthy(interp, &__t1001)? { { - let __t999 = v_W2477.clone(); + let __t999 = v_W2491.clone(); let __t1000 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t999, __t1000])? } @@ -5368,7 +5368,7 @@ pub fn aot_shen_x2e__x3c_shortnatter_x3e_( }; { let __t1004 = { - let __t1003 = v_W2475.clone(); + let __t1003 = v_W2489.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1003])? }; if match rt::is_truthy(interp, &__t1004) { @@ -5377,7 +5377,7 @@ pub fn aot_shen_x2e__x3c_shortnatter_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2475.clone()); + break Ok(v_W2489.clone()); } } } @@ -5398,18 +5398,18 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V2478 = args[0].clone(); + let mut v_V2492 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2479 = { - let v_W2480 = { - let __t1005 = v_V2478.clone(); + let v_W2493 = { + let v_W2494 = { + let __t1005 = v_V2492.clone(); rt::apply_direct(interp, "shen.", &[__t1005])? }; { let __t1014 = { - let __t1006 = v_W2480.clone(); + let __t1006 = v_W2494.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1006])? }; if rt::is_truthy(interp, &__t1014)? { @@ -5418,18 +5418,18 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2481 = { - let __t1007 = v_W2480.clone(); + let v_W2495 = { + let __t1007 = v_W2494.clone(); rt::apply_direct(interp, "shen.in->", &[__t1007])? }; { - let v_W2482 = { - let __t1008 = v_W2481.clone(); + let v_W2496 = { + let __t1008 = v_W2495.clone(); rt::apply_direct(interp, "shen.", &[__t1008])? }; { let __t1013 = { - let __t1009 = v_W2482.clone(); + let __t1009 = v_W2496.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1009])? }; if rt::is_truthy(interp, &__t1013)? { @@ -5438,12 +5438,12 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2483 = { - let __t1010 = v_W2482.clone(); + let v_W2497 = { + let __t1010 = v_W2496.clone(); rt::apply_direct(interp, "shen.in->", &[__t1010])? }; { - let __t1011 = v_W2483.clone(); + let __t1011 = v_W2497.clone(); let __t1012 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( @@ -5462,7 +5462,7 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t1016 = { - let __t1015 = v_W2479.clone(); + let __t1015 = v_W2493.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1015])? }; if match rt::is_truthy(interp, &__t1016) { @@ -5470,14 +5470,14 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_W2484 = { - let v_W2485 = { - let __t1017 = v_V2478.clone(); + let v_W2498 = { + let v_W2499 = { + let __t1017 = v_V2492.clone(); rt::apply_direct(interp, "shen.", &[__t1017])? }; { let __t1022 = { - let __t1018 = v_W2485.clone(); + let __t1018 = v_W2499.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1018])? }; if rt::is_truthy(interp, &__t1022)? { @@ -5486,12 +5486,12 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2486 = { - let __t1019 = v_W2485.clone(); + let v_W2500 = { + let __t1019 = v_W2499.clone(); rt::apply_direct(interp, "shen.in->", &[__t1019])? }; { - let __t1020 = v_W2486.clone(); + let __t1020 = v_W2500.clone(); let __t1021 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( interp, @@ -5505,7 +5505,7 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t1024 = { - let __t1023 = v_W2484.clone(); + let __t1023 = v_W2498.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1023])? }; if match rt::is_truthy(interp, &__t1024) { @@ -5514,12 +5514,12 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2484.clone()); + break Ok(v_W2498.clone()); } } } } else { - break Ok(v_W2479.clone()); + break Ok(v_W2493.clone()); } } } @@ -5540,34 +5540,34 @@ pub fn aot_shen_x2e__x3c_return_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2487 = args[0].clone(); + let mut v_V2501 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2488 = { + let v_W2502 = { let __t1032 = { - let __t1025 = v_V2487.clone(); + let __t1025 = v_V2501.clone(); rt::is_cons(&__t1025) }; if rt::is_truthy(interp, &__t1032)? { { - let v_W2489 = { - let __t1026 = v_V2487.clone(); + let v_W2503 = { + let __t1026 = v_V2501.clone(); rt::apply_direct(interp, "head", &[__t1026])? }; { - let v_W2490 = { - let __t1027 = v_V2487.clone(); + let v_W2504 = { + let __t1027 = v_V2501.clone(); rt::apply_direct(interp, "tail", &[__t1027])? }; { let __t1031 = { - let __t1028 = v_W2489.clone(); + let __t1028 = v_W2503.clone(); rt::apply_direct(interp, "shen.return?", &[__t1028])? }; if rt::is_truthy(interp, &__t1031)? { { - let __t1029 = v_W2490.clone(); + let __t1029 = v_W2504.clone(); let __t1030 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1029, __t1030])? } @@ -5587,7 +5587,7 @@ pub fn aot_shen_x2e__x3c_return_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1034 = { - let __t1033 = v_W2488.clone(); + let __t1033 = v_W2502.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1033])? }; if match rt::is_truthy(interp, &__t1034) { @@ -5596,7 +5596,7 @@ pub fn aot_shen_x2e__x3c_return_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2488.clone()); + break Ok(v_W2502.clone()); } } } @@ -5617,11 +5617,11 @@ pub fn aot_shen_x2e_return_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V2491 = args[0].clone(); + let mut v_V2505 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t1035 = v_V2491.clone(); + let __t1035 = v_V2505.clone(); let __t1042 = { let __t1036 = Value::int(9i64); let __t1041 = { @@ -5654,18 +5654,18 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2492 = args[0].clone(); + let mut v_V2506 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2493 = { - let v_W2494 = { - let __t1043 = v_V2492.clone(); + let v_W2507 = { + let v_W2508 = { + let __t1043 = v_V2506.clone(); rt::apply_direct(interp, "shen.", &[__t1043])? }; { let __t1056 = { - let __t1044 = v_W2494.clone(); + let __t1044 = v_W2508.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1044])? }; if rt::is_truthy(interp, &__t1056)? { @@ -5674,18 +5674,18 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2495 = { - let __t1045 = v_W2494.clone(); + let v_W2509 = { + let __t1045 = v_W2508.clone(); rt::apply_direct(interp, "shen.in->", &[__t1045])? }; { - let v_W2496 = { - let __t1046 = v_W2495.clone(); + let v_W2510 = { + let __t1046 = v_W2509.clone(); rt::apply_direct(interp, "shen.", &[__t1046])? }; { let __t1055 = { - let __t1047 = v_W2496.clone(); + let __t1047 = v_W2510.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1047])? }; if rt::is_truthy(interp, &__t1055)? { @@ -5694,13 +5694,13 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2497 = { - let __t1048 = v_W2496.clone(); + let v_W2511 = { + let __t1048 = v_W2510.clone(); rt::apply_direct(interp, "shen.in->", &[__t1048])? }; { - let v_W2498 = { - let __t1049 = v_W2497.clone(); + let v_W2512 = { + let __t1049 = v_W2511.clone(); rt::apply_direct( interp, "shen.", @@ -5709,7 +5709,7 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1054 = { - let __t1050 = v_W2498.clone(); + let __t1050 = v_W2512.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -5726,8 +5726,8 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2499 = { - let __t1051 = v_W2498.clone(); + let v_W2513 = { + let __t1051 = v_W2512.clone(); rt::apply_direct( interp, "shen.in->", @@ -5735,7 +5735,7 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let __t1052 = v_W2499.clone(); + let __t1052 = v_W2513.clone(); let __t1053 = Value::sym( interp.intern("shen.skip"), ); @@ -5759,7 +5759,7 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1058 = { - let __t1057 = v_W2493.clone(); + let __t1057 = v_W2507.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1057])? }; if match rt::is_truthy(interp, &__t1058) { @@ -5768,7 +5768,7 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2493.clone()); + break Ok(v_W2507.clone()); } } } @@ -5789,24 +5789,24 @@ pub fn aot_shen_x2e__x3c_times_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2500 = args[0].clone(); + let mut v_V2514 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2501 = { + let v_W2515 = { let __t1064 = { - let __t1059 = v_V2500.clone(); + let __t1059 = v_V2514.clone(); let __t1060 = Value::int(42i64); rt::apply_direct(interp, "shen.hds=?", &[__t1059, __t1060])? }; if rt::is_truthy(interp, &__t1064)? { { - let v_W2502 = { - let __t1061 = v_V2500.clone(); + let v_W2516 = { + let __t1061 = v_V2514.clone(); rt::apply_direct(interp, "tail", &[__t1061])? }; { - let __t1062 = v_W2502.clone(); + let __t1062 = v_W2516.clone(); let __t1063 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1062, __t1063])? } @@ -5819,7 +5819,7 @@ pub fn aot_shen_x2e__x3c_times_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1066 = { - let __t1065 = v_W2501.clone(); + let __t1065 = v_W2515.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1065])? }; if match rt::is_truthy(interp, &__t1066) { @@ -5828,7 +5828,7 @@ pub fn aot_shen_x2e__x3c_times_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2501.clone()); + break Ok(v_W2515.clone()); } } } @@ -5849,18 +5849,18 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2503 = args[0].clone(); + let mut v_V2517 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2504 = { - let v_W2505 = { - let __t1067 = v_V2503.clone(); + let v_W2518 = { + let v_W2519 = { + let __t1067 = v_V2517.clone(); rt::apply_direct(interp, "shen.", &[__t1067])? }; { let __t1076 = { - let __t1068 = v_W2505.clone(); + let __t1068 = v_W2519.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1068])? }; if rt::is_truthy(interp, &__t1076)? { @@ -5869,18 +5869,18 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2506 = { - let __t1069 = v_W2505.clone(); + let v_W2520 = { + let __t1069 = v_W2519.clone(); rt::apply_direct(interp, "shen.in->", &[__t1069])? }; { - let v_W2507 = { - let __t1070 = v_W2506.clone(); + let v_W2521 = { + let __t1070 = v_W2520.clone(); rt::apply_direct(interp, "shen.", &[__t1070])? }; { let __t1075 = { - let __t1071 = v_W2507.clone(); + let __t1071 = v_W2521.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1071])? }; if rt::is_truthy(interp, &__t1075)? { @@ -5889,12 +5889,12 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2508 = { - let __t1072 = v_W2507.clone(); + let v_W2522 = { + let __t1072 = v_W2521.clone(); rt::apply_direct(interp, "shen.in->", &[__t1072])? }; { - let __t1073 = v_W2508.clone(); + let __t1073 = v_W2522.clone(); let __t1074 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( @@ -5913,7 +5913,7 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1078 = { - let __t1077 = v_W2504.clone(); + let __t1077 = v_W2518.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1077])? }; if match rt::is_truthy(interp, &__t1078) { @@ -5921,14 +5921,14 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W2509 = { - let v_W2510 = { - let __t1079 = v_V2503.clone(); + let v_W2523 = { + let v_W2524 = { + let __t1079 = v_V2517.clone(); rt::apply_direct(interp, "shen.", &[__t1079])? }; { let __t1088 = { - let __t1080 = v_W2510.clone(); + let __t1080 = v_W2524.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1080])? }; if rt::is_truthy(interp, &__t1088)? { @@ -5937,13 +5937,13 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2511 = { - let __t1081 = v_W2510.clone(); + let v_W2525 = { + let __t1081 = v_W2524.clone(); rt::apply_direct(interp, "shen.in->", &[__t1081])? }; { - let v_W2512 = { - let __t1082 = v_W2511.clone(); + let v_W2526 = { + let __t1082 = v_W2525.clone(); rt::apply_direct( interp, "shen.", @@ -5952,7 +5952,7 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1087 = { - let __t1083 = v_W2512.clone(); + let __t1083 = v_W2526.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -5969,8 +5969,8 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2513 = { - let __t1084 = v_W2512.clone(); + let v_W2527 = { + let __t1084 = v_W2526.clone(); rt::apply_direct( interp, "shen.in->", @@ -5978,7 +5978,7 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let __t1085 = v_W2513.clone(); + let __t1085 = v_W2527.clone(); let __t1086 = Value::sym( interp.intern("shen.skip"), ); @@ -5998,7 +5998,7 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1090 = { - let __t1089 = v_W2509.clone(); + let __t1089 = v_W2523.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1089])? }; if match rt::is_truthy(interp, &__t1090) { @@ -6006,20 +6006,20 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W2514 = { + let v_W2528 = { let __t1099 = { - let __t1091 = v_V2503.clone(); + let __t1091 = v_V2517.clone(); rt::is_cons(&__t1091) }; if rt::is_truthy(interp, &__t1099)? { { - let v_W2515 = { - let __t1092 = v_V2503.clone(); + let v_W2529 = { + let __t1092 = v_V2517.clone(); rt::apply_direct(interp, "tail", &[__t1092])? }; { - let v_W2516 = { - let __t1093 = v_W2515.clone(); + let v_W2530 = { + let __t1093 = v_W2529.clone(); rt::apply_direct( interp, "shen.", @@ -6028,7 +6028,7 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1098 = { - let __t1094 = v_W2516.clone(); + let __t1094 = v_W2530.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -6045,8 +6045,8 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2517 = { - let __t1095 = v_W2516.clone(); + let v_W2531 = { + let __t1095 = v_W2530.clone(); rt::apply_direct( interp, "shen.in->", @@ -6054,7 +6054,7 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let __t1096 = v_W2517.clone(); + let __t1096 = v_W2531.clone(); let __t1097 = Value::sym( interp.intern("shen.skip"), ); @@ -6077,7 +6077,7 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1101 = { - let __t1100 = v_W2514.clone(); + let __t1100 = v_W2528.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -6092,17 +6092,17 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2514.clone()); + break Ok(v_W2528.clone()); } } } } else { - break Ok(v_W2509.clone()); + break Ok(v_W2523.clone()); } } } } else { - break Ok(v_W2504.clone()); + break Ok(v_W2518.clone()); } } } @@ -6123,18 +6123,18 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2518 = args[0].clone(); + let mut v_V2532 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2519 = { - let v_W2520 = { - let __t1102 = v_V2518.clone(); + let v_W2533 = { + let v_W2534 = { + let __t1102 = v_V2532.clone(); rt::apply_direct(interp, "shen.", &[__t1102])? }; { let __t1108 = { - let __t1103 = v_W2520.clone(); + let __t1103 = v_W2534.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1103])? }; if rt::is_truthy(interp, &__t1108)? { @@ -6143,18 +6143,18 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W2521 = { - let __t1104 = v_W2520.clone(); + let v_W2535 = { + let __t1104 = v_W2534.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1104])? }; { - let v_W2522 = { - let __t1105 = v_W2520.clone(); + let v_W2536 = { + let __t1105 = v_W2534.clone(); rt::apply_direct(interp, "shen.in->", &[__t1105])? }; { - let __t1106 = v_W2522.clone(); - let __t1107 = v_W2521.clone(); + let __t1106 = v_W2536.clone(); + let __t1107 = v_W2535.clone(); rt::apply_direct(interp, "shen.comb", &[__t1106, __t1107])? } } @@ -6164,7 +6164,7 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1110 = { - let __t1109 = v_W2519.clone(); + let __t1109 = v_W2533.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1109])? }; if match rt::is_truthy(interp, &__t1110) { @@ -6172,14 +6172,14 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W2523 = { - let v_W2524 = { - let __t1111 = v_V2518.clone(); + let v_W2537 = { + let v_W2538 = { + let __t1111 = v_V2532.clone(); rt::apply_direct(interp, "shen.", &[__t1111])? }; { let __t1117 = { - let __t1112 = v_W2524.clone(); + let __t1112 = v_W2538.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1112])? }; if rt::is_truthy(interp, &__t1117)? { @@ -6188,18 +6188,18 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W2525 = { - let __t1113 = v_W2524.clone(); + let v_W2539 = { + let __t1113 = v_W2538.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1113])? }; { - let v_W2526 = { - let __t1114 = v_W2524.clone(); + let v_W2540 = { + let __t1114 = v_W2538.clone(); rt::apply_direct(interp, "shen.in->", &[__t1114])? }; { - let __t1115 = v_W2526.clone(); - let __t1116 = v_W2525.clone(); + let __t1115 = v_W2540.clone(); + let __t1116 = v_W2539.clone(); rt::apply_direct( interp, "shen.comb", @@ -6213,7 +6213,7 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1119 = { - let __t1118 = v_W2523.clone(); + let __t1118 = v_W2537.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1118])? }; if match rt::is_truthy(interp, &__t1119) { @@ -6221,14 +6221,14 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W2527 = { - let v_W2528 = { - let __t1120 = v_V2518.clone(); + let v_W2541 = { + let v_W2542 = { + let __t1120 = v_V2532.clone(); rt::apply_direct(interp, "shen.", &[__t1120])? }; { let __t1134 = { - let __t1121 = v_W2528.clone(); + let __t1121 = v_W2542.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -6245,8 +6245,8 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W2529 = { - let __t1122 = v_W2528.clone(); + let v_W2543 = { + let __t1122 = v_W2542.clone(); rt::apply_direct( interp, "shen.<-out", @@ -6254,8 +6254,8 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W2530 = { - let __t1123 = v_W2528.clone(); + let v_W2544 = { + let __t1123 = v_W2542.clone(); rt::apply_direct( interp, "shen.in->", @@ -6263,10 +6263,10 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let __t1124 = v_W2530.clone(); + let __t1124 = v_W2544.clone(); let __t1133 = { let __t1132 = { - let __t1125 = v_W2529.clone(); + let __t1125 = v_W2543.clone(); let __t1126 = Value::str("<>"); rt::eq(&__t1125, &__t1126) }; @@ -6290,7 +6290,7 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let __t1131 = - v_W2529.clone(); + v_W2543.clone(); rt::apply_direct( interp, "intern", @@ -6312,7 +6312,7 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1136 = { - let __t1135 = v_W2527.clone(); + let __t1135 = v_W2541.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -6327,17 +6327,17 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2527.clone()); + break Ok(v_W2541.clone()); } } } } else { - break Ok(v_W2523.clone()); + break Ok(v_W2537.clone()); } } } } else { - break Ok(v_W2519.clone()); + break Ok(v_W2533.clone()); } } } @@ -6358,18 +6358,18 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2531 = args[0].clone(); + let mut v_V2545 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2532 = { - let v_W2533 = { - let __t1137 = v_V2531.clone(); + let v_W2546 = { + let v_W2547 = { + let __t1137 = v_V2545.clone(); rt::apply_direct(interp, "shen.", &[__t1137])? }; { let __t1150 = { - let __t1138 = v_W2533.clone(); + let __t1138 = v_W2547.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1138])? }; if rt::is_truthy(interp, &__t1150)? { @@ -6378,23 +6378,23 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W2534 = { - let __t1139 = v_W2533.clone(); + let v_W2548 = { + let __t1139 = v_W2547.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1139])? }; { - let v_W2535 = { - let __t1140 = v_W2533.clone(); + let v_W2549 = { + let __t1140 = v_W2547.clone(); rt::apply_direct(interp, "shen.in->", &[__t1140])? }; { - let v_W2536 = { - let __t1141 = v_W2535.clone(); + let v_W2550 = { + let __t1141 = v_W2549.clone(); rt::apply_direct(interp, "shen.", &[__t1141])? }; { let __t1149 = { - let __t1142 = v_W2536.clone(); + let __t1142 = v_W2550.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -6407,8 +6407,8 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W2537 = { - let __t1143 = v_W2536.clone(); + let v_W2551 = { + let __t1143 = v_W2550.clone(); rt::apply_direct( interp, "shen.<-out", @@ -6416,8 +6416,8 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; { - let v_W2538 = { - let __t1144 = v_W2536.clone(); + let v_W2552 = { + let __t1144 = v_W2550.clone(); rt::apply_direct( interp, "shen.in->", @@ -6425,10 +6425,10 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; { - let __t1145 = v_W2538.clone(); + let __t1145 = v_W2552.clone(); let __t1148 = { - let __t1146 = v_W2534.clone(); - let __t1147 = v_W2537.clone(); + let __t1146 = v_W2548.clone(); + let __t1147 = v_W2551.clone(); rt::apply_direct( interp, "cn", @@ -6453,7 +6453,7 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t1152 = { - let __t1151 = v_W2532.clone(); + let __t1151 = v_W2546.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1151])? }; if match rt::is_truthy(interp, &__t1152) { @@ -6462,7 +6462,7 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2532.clone()); + break Ok(v_W2546.clone()); } } } @@ -6483,36 +6483,36 @@ pub fn aot_shen_x2e__x3c_alpha_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2539 = args[0].clone(); + let mut v_V2553 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2540 = { + let v_W2554 = { let __t1161 = { - let __t1153 = v_V2539.clone(); + let __t1153 = v_V2553.clone(); rt::is_cons(&__t1153) }; if rt::is_truthy(interp, &__t1161)? { { - let v_W2541 = { - let __t1154 = v_V2539.clone(); + let v_W2555 = { + let __t1154 = v_V2553.clone(); rt::apply_direct(interp, "head", &[__t1154])? }; { - let v_W2542 = { - let __t1155 = v_V2539.clone(); + let v_W2556 = { + let __t1155 = v_V2553.clone(); rt::apply_direct(interp, "tail", &[__t1155])? }; { let __t1160 = { - let __t1156 = v_W2541.clone(); + let __t1156 = v_W2555.clone(); rt::apply_direct(interp, "shen.alpha?", &[__t1156])? }; if rt::is_truthy(interp, &__t1160)? { { - let __t1157 = v_W2542.clone(); + let __t1157 = v_W2556.clone(); let __t1159 = { - let __t1158 = v_W2541.clone(); + let __t1158 = v_W2555.clone(); rt::apply_direct(interp, "n->string", &[__t1158])? }; rt::apply_direct(interp, "shen.comb", &[__t1157, __t1159])? @@ -6533,7 +6533,7 @@ pub fn aot_shen_x2e__x3c_alpha_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1163 = { - let __t1162 = v_W2540.clone(); + let __t1162 = v_W2554.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1162])? }; if match rt::is_truthy(interp, &__t1163) { @@ -6542,7 +6542,7 @@ pub fn aot_shen_x2e__x3c_alpha_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2540.clone()); + break Ok(v_W2554.clone()); } } } @@ -6563,12 +6563,12 @@ pub fn aot_shen_x2e_alpha_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V2543 = args[0].clone(); + let mut v_V2557 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1165 = { - let __t1164 = v_V2543.clone(); + let __t1164 = v_V2557.clone(); rt::apply_direct(interp, "shen.lowercase?", &[__t1164])? }; if match rt::is_truthy(interp, &__t1165) { @@ -6579,7 +6579,7 @@ pub fn aot_shen_x2e_alpha_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul } else { { let __t1167 = { - let __t1166 = v_V2543.clone(); + let __t1166 = v_V2557.clone(); rt::apply_direct(interp, "shen.uppercase?", &[__t1166])? }; if match rt::is_truthy(interp, &__t1167) { @@ -6589,7 +6589,7 @@ pub fn aot_shen_x2e_alpha_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul break Ok(Value::bool(true)); } else { break Ok({ - let __t1168 = v_V2543.clone(); + let __t1168 = v_V2557.clone(); rt::apply_direct(interp, "shen.misc?", &[__t1168])? }); } @@ -6613,12 +6613,12 @@ pub fn aot_shen_x2e_lowercase_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2544 = args[0].clone(); + let mut v_V2558 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1171 = { - let __t1169 = v_V2544.clone(); + let __t1169 = v_V2558.clone(); let __t1170 = Value::int(97i64); rt::gte(&__t1169, &__t1170)? }; @@ -6629,7 +6629,7 @@ pub fn aot_shen_x2e_lowercase_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR break Ok(Value::bool(false)); } else { break Ok({ - let __t1172 = v_V2544.clone(); + let __t1172 = v_V2558.clone(); let __t1173 = Value::int(122i64); rt::lte(&__t1172, &__t1173)? }); @@ -6652,12 +6652,12 @@ pub fn aot_shen_x2e_uppercase_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2545 = args[0].clone(); + let mut v_V2559 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1176 = { - let __t1174 = v_V2545.clone(); + let __t1174 = v_V2559.clone(); let __t1175 = Value::int(65i64); rt::gte(&__t1174, &__t1175)? }; @@ -6668,7 +6668,7 @@ pub fn aot_shen_x2e_uppercase_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR break Ok(Value::bool(false)); } else { break Ok({ - let __t1177 = v_V2545.clone(); + let __t1177 = v_V2559.clone(); let __t1178 = Value::int(90i64); rt::lte(&__t1177, &__t1178)? }); @@ -6691,11 +6691,11 @@ pub fn aot_shen_x2e_misc_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V2546 = args[0].clone(); + let mut v_V2560 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t1179 = v_V2546.clone(); + let __t1179 = v_V2560.clone(); let __t1218 = { let __t1180 = Value::int(61i64); let __t1217 = { @@ -6808,18 +6808,18 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2547 = args[0].clone(); + let mut v_V2561 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2548 = { - let v_W2549 = { - let __t1219 = v_V2547.clone(); + let v_W2562 = { + let v_W2563 = { + let __t1219 = v_V2561.clone(); rt::apply_direct(interp, "shen.", &[__t1219])? }; { let __t1232 = { - let __t1220 = v_W2549.clone(); + let __t1220 = v_W2563.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1220])? }; if rt::is_truthy(interp, &__t1232)? { @@ -6828,23 +6828,23 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2550 = { - let __t1221 = v_W2549.clone(); + let v_W2564 = { + let __t1221 = v_W2563.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1221])? }; { - let v_W2551 = { - let __t1222 = v_W2549.clone(); + let v_W2565 = { + let __t1222 = v_W2563.clone(); rt::apply_direct(interp, "shen.in->", &[__t1222])? }; { - let v_W2552 = { - let __t1223 = v_W2551.clone(); + let v_W2566 = { + let __t1223 = v_W2565.clone(); rt::apply_direct(interp, "shen.", &[__t1223])? }; { let __t1231 = { - let __t1224 = v_W2552.clone(); + let __t1224 = v_W2566.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -6857,8 +6857,8 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2553 = { - let __t1225 = v_W2552.clone(); + let v_W2567 = { + let __t1225 = v_W2566.clone(); rt::apply_direct( interp, "shen.<-out", @@ -6866,8 +6866,8 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let v_W2554 = { - let __t1226 = v_W2552.clone(); + let v_W2568 = { + let __t1226 = v_W2566.clone(); rt::apply_direct( interp, "shen.in->", @@ -6875,10 +6875,10 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let __t1227 = v_W2554.clone(); + let __t1227 = v_W2568.clone(); let __t1230 = { - let __t1228 = v_W2550.clone(); - let __t1229 = v_W2553.clone(); + let __t1228 = v_W2564.clone(); + let __t1229 = v_W2567.clone(); rt::apply_direct( interp, "cn", @@ -6903,7 +6903,7 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1234 = { - let __t1233 = v_W2548.clone(); + let __t1233 = v_W2562.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1233])? }; if match rt::is_truthy(interp, &__t1234) { @@ -6911,14 +6911,14 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W2555 = { - let v_W2556 = { - let __t1235 = v_V2547.clone(); + let v_W2569 = { + let v_W2570 = { + let __t1235 = v_V2561.clone(); rt::apply_direct(interp, "", &[__t1235])? }; { let __t1240 = { - let __t1236 = v_W2556.clone(); + let __t1236 = v_W2570.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1236])? }; if rt::is_truthy(interp, &__t1240)? { @@ -6927,12 +6927,12 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W2557 = { - let __t1237 = v_W2556.clone(); + let v_W2571 = { + let __t1237 = v_W2570.clone(); rt::apply_direct(interp, "shen.in->", &[__t1237])? }; { - let __t1238 = v_W2557.clone(); + let __t1238 = v_W2571.clone(); let __t1239 = Value::str(""); rt::apply_direct( interp, @@ -6946,7 +6946,7 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1242 = { - let __t1241 = v_W2555.clone(); + let __t1241 = v_W2569.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1241])? }; if match rt::is_truthy(interp, &__t1242) { @@ -6955,12 +6955,12 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2555.clone()); + break Ok(v_W2569.clone()); } } } } else { - break Ok(v_W2548.clone()); + break Ok(v_W2562.clone()); } } } @@ -6981,18 +6981,18 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V2558 = args[0].clone(); + let mut v_V2572 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2559 = { - let v_W2560 = { - let __t1243 = v_V2558.clone(); + let v_W2573 = { + let v_W2574 = { + let __t1243 = v_V2572.clone(); rt::apply_direct(interp, "shen.", &[__t1243])? }; { let __t1249 = { - let __t1244 = v_W2560.clone(); + let __t1244 = v_W2574.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1244])? }; if rt::is_truthy(interp, &__t1249)? { @@ -7001,18 +7001,18 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W2561 = { - let __t1245 = v_W2560.clone(); + let v_W2575 = { + let __t1245 = v_W2574.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1245])? }; { - let v_W2562 = { - let __t1246 = v_W2560.clone(); + let v_W2576 = { + let __t1246 = v_W2574.clone(); rt::apply_direct(interp, "shen.in->", &[__t1246])? }; { - let __t1247 = v_W2562.clone(); - let __t1248 = v_W2561.clone(); + let __t1247 = v_W2576.clone(); + let __t1248 = v_W2575.clone(); rt::apply_direct(interp, "shen.comb", &[__t1247, __t1248])? } } @@ -7022,7 +7022,7 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t1251 = { - let __t1250 = v_W2559.clone(); + let __t1250 = v_W2573.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1250])? }; if match rt::is_truthy(interp, &__t1251) { @@ -7030,14 +7030,14 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W2563 = { - let v_W2564 = { - let __t1252 = v_V2558.clone(); + let v_W2577 = { + let v_W2578 = { + let __t1252 = v_V2572.clone(); rt::apply_direct(interp, "shen.", &[__t1252])? }; { let __t1258 = { - let __t1253 = v_W2564.clone(); + let __t1253 = v_W2578.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1253])? }; if rt::is_truthy(interp, &__t1258)? { @@ -7046,18 +7046,18 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W2565 = { - let __t1254 = v_W2564.clone(); + let v_W2579 = { + let __t1254 = v_W2578.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1254])? }; { - let v_W2566 = { - let __t1255 = v_W2564.clone(); + let v_W2580 = { + let __t1255 = v_W2578.clone(); rt::apply_direct(interp, "shen.in->", &[__t1255])? }; { - let __t1256 = v_W2566.clone(); - let __t1257 = v_W2565.clone(); + let __t1256 = v_W2580.clone(); + let __t1257 = v_W2579.clone(); rt::apply_direct( interp, "shen.comb", @@ -7071,7 +7071,7 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t1260 = { - let __t1259 = v_W2563.clone(); + let __t1259 = v_W2577.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1259])? }; if match rt::is_truthy(interp, &__t1260) { @@ -7080,12 +7080,12 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2563.clone()); + break Ok(v_W2577.clone()); } } } } else { - break Ok(v_W2559.clone()); + break Ok(v_W2573.clone()); } } } @@ -7106,36 +7106,36 @@ pub fn aot_shen_x2e__x3c_numeral_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V2567 = args[0].clone(); + let mut v_V2581 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2568 = { + let v_W2582 = { let __t1269 = { - let __t1261 = v_V2567.clone(); + let __t1261 = v_V2581.clone(); rt::is_cons(&__t1261) }; if rt::is_truthy(interp, &__t1269)? { { - let v_W2569 = { - let __t1262 = v_V2567.clone(); + let v_W2583 = { + let __t1262 = v_V2581.clone(); rt::apply_direct(interp, "head", &[__t1262])? }; { - let v_W2570 = { - let __t1263 = v_V2567.clone(); + let v_W2584 = { + let __t1263 = v_V2581.clone(); rt::apply_direct(interp, "tail", &[__t1263])? }; { let __t1268 = { - let __t1264 = v_W2569.clone(); + let __t1264 = v_W2583.clone(); rt::apply_direct(interp, "shen.digit?", &[__t1264])? }; if rt::is_truthy(interp, &__t1268)? { { - let __t1265 = v_W2570.clone(); + let __t1265 = v_W2584.clone(); let __t1267 = { - let __t1266 = v_W2569.clone(); + let __t1266 = v_W2583.clone(); rt::apply_direct(interp, "n->string", &[__t1266])? }; rt::apply_direct(interp, "shen.comb", &[__t1265, __t1267])? @@ -7156,7 +7156,7 @@ pub fn aot_shen_x2e__x3c_numeral_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t1271 = { - let __t1270 = v_W2568.clone(); + let __t1270 = v_W2582.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1270])? }; if match rt::is_truthy(interp, &__t1271) { @@ -7165,7 +7165,7 @@ pub fn aot_shen_x2e__x3c_numeral_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2568.clone()); + break Ok(v_W2582.clone()); } } } @@ -7186,12 +7186,12 @@ pub fn aot_shen_x2e_digit_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V2571 = args[0].clone(); + let mut v_V2585 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1274 = { - let __t1272 = v_V2571.clone(); + let __t1272 = v_V2585.clone(); let __t1273 = Value::int(48i64); rt::gte(&__t1272, &__t1273)? }; @@ -7202,7 +7202,7 @@ pub fn aot_shen_x2e_digit_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul break Ok(Value::bool(false)); } else { break Ok({ - let __t1275 = v_V2571.clone(); + let __t1275 = v_V2585.clone(); let __t1276 = Value::int(57i64); rt::lte(&__t1275, &__t1276)? }); @@ -7225,18 +7225,18 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2572 = args[0].clone(); + let mut v_V2586 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2573 = { - let v_W2574 = { - let __t1277 = v_V2572.clone(); + let v_W2587 = { + let v_W2588 = { + let __t1277 = v_V2586.clone(); rt::apply_direct(interp, "shen.", &[__t1277])? }; { let __t1291 = { - let __t1278 = v_W2574.clone(); + let __t1278 = v_W2588.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1278])? }; if rt::is_truthy(interp, &__t1291)? { @@ -7245,18 +7245,18 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W2575 = { - let __t1279 = v_W2574.clone(); + let v_W2589 = { + let __t1279 = v_W2588.clone(); rt::apply_direct(interp, "shen.in->", &[__t1279])? }; { - let v_W2576 = { - let __t1280 = v_W2575.clone(); + let v_W2590 = { + let __t1280 = v_W2589.clone(); rt::apply_direct(interp, "shen.", &[__t1280])? }; { let __t1290 = { - let __t1281 = v_W2576.clone(); + let __t1281 = v_W2590.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1281])? }; if rt::is_truthy(interp, &__t1290)? { @@ -7265,13 +7265,13 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W2577 = { - let __t1282 = v_W2576.clone(); + let v_W2591 = { + let __t1282 = v_W2590.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1282])? }; { - let v_W2578 = { - let __t1283 = v_W2576.clone(); + let v_W2592 = { + let __t1283 = v_W2590.clone(); rt::apply_direct( interp, "shen.in->", @@ -7279,8 +7279,8 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; { - let v_W2579 = { - let __t1284 = v_W2578.clone(); + let v_W2593 = { + let __t1284 = v_W2592.clone(); rt::apply_direct( interp, "shen.", @@ -7289,7 +7289,7 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t1289 = { - let __t1285 = v_W2579.clone(); + let __t1285 = v_W2593.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -7306,8 +7306,8 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W2580 = { - let __t1286 = v_W2579.clone(); + let v_W2594 = { + let __t1286 = v_W2593.clone(); rt::apply_direct( interp, "shen.in->", @@ -7315,8 +7315,8 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; { - let __t1287 = v_W2580.clone(); - let __t1288 = v_W2577.clone(); + let __t1287 = v_W2594.clone(); + let __t1288 = v_W2591.clone(); rt::apply_direct( interp, "shen.comb", @@ -7338,7 +7338,7 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t1293 = { - let __t1292 = v_W2573.clone(); + let __t1292 = v_W2587.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1292])? }; if match rt::is_truthy(interp, &__t1293) { @@ -7347,7 +7347,7 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2573.clone()); + break Ok(v_W2587.clone()); } } } @@ -7368,24 +7368,24 @@ pub fn aot_shen_x2e__x3c_dbq_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2581 = args[0].clone(); + let mut v_V2595 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2582 = { + let v_W2596 = { let __t1299 = { - let __t1294 = v_V2581.clone(); + let __t1294 = v_V2595.clone(); let __t1295 = Value::int(34i64); rt::apply_direct(interp, "shen.hds=?", &[__t1294, __t1295])? }; if rt::is_truthy(interp, &__t1299)? { { - let v_W2583 = { - let __t1296 = v_V2581.clone(); + let v_W2597 = { + let __t1296 = v_V2595.clone(); rt::apply_direct(interp, "tail", &[__t1296])? }; { - let __t1297 = v_W2583.clone(); + let __t1297 = v_W2597.clone(); let __t1298 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1297, __t1298])? } @@ -7398,7 +7398,7 @@ pub fn aot_shen_x2e__x3c_dbq_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t1301 = { - let __t1300 = v_W2582.clone(); + let __t1300 = v_W2596.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1300])? }; if match rt::is_truthy(interp, &__t1301) { @@ -7407,7 +7407,7 @@ pub fn aot_shen_x2e__x3c_dbq_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2582.clone()); + break Ok(v_W2596.clone()); } } } @@ -7431,18 +7431,18 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( ))); } #[allow(unused_mut)] - let mut v_V2584 = args[0].clone(); + let mut v_V2598 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2585 = { - let v_W2586 = { - let __t1302 = v_V2584.clone(); + let v_W2599 = { + let v_W2600 = { + let __t1302 = v_V2598.clone(); rt::apply_direct(interp, "shen.", &[__t1302])? }; { let __t1315 = { - let __t1303 = v_W2586.clone(); + let __t1303 = v_W2600.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1303])? }; if rt::is_truthy(interp, &__t1315)? { @@ -7451,23 +7451,23 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( } } else { { - let v_W2587 = { - let __t1304 = v_W2586.clone(); + let v_W2601 = { + let __t1304 = v_W2600.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1304])? }; { - let v_W2588 = { - let __t1305 = v_W2586.clone(); + let v_W2602 = { + let __t1305 = v_W2600.clone(); rt::apply_direct(interp, "shen.in->", &[__t1305])? }; { - let v_W2589 = { - let __t1306 = v_W2588.clone(); + let v_W2603 = { + let __t1306 = v_W2602.clone(); rt::apply_direct(interp, "shen.", &[__t1306])? }; { let __t1314 = { - let __t1307 = v_W2589.clone(); + let __t1307 = v_W2603.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -7480,8 +7480,8 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( } } else { { - let v_W2590 = { - let __t1308 = v_W2589.clone(); + let v_W2604 = { + let __t1308 = v_W2603.clone(); rt::apply_direct( interp, "shen.<-out", @@ -7489,8 +7489,8 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( )? }; { - let v_W2591 = { - let __t1309 = v_W2589.clone(); + let v_W2605 = { + let __t1309 = v_W2603.clone(); rt::apply_direct( interp, "shen.in->", @@ -7498,10 +7498,10 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( )? }; { - let __t1310 = v_W2591.clone(); + let __t1310 = v_W2605.clone(); let __t1313 = { - let __t1311 = v_W2587.clone(); - let __t1312 = v_W2590.clone(); + let __t1311 = v_W2601.clone(); + let __t1312 = v_W2604.clone(); rt::apply_direct( interp, "cn", @@ -7526,7 +7526,7 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( }; { let __t1317 = { - let __t1316 = v_W2585.clone(); + let __t1316 = v_W2599.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1316])? }; if match rt::is_truthy(interp, &__t1317) { @@ -7534,14 +7534,14 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( Err(e) => break Err(e), } { { - let v_W2592 = { - let v_W2593 = { - let __t1318 = v_V2584.clone(); + let v_W2606 = { + let v_W2607 = { + let __t1318 = v_V2598.clone(); rt::apply_direct(interp, "", &[__t1318])? }; { let __t1323 = { - let __t1319 = v_W2593.clone(); + let __t1319 = v_W2607.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1319])? }; if rt::is_truthy(interp, &__t1323)? { @@ -7550,12 +7550,12 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( } } else { { - let v_W2594 = { - let __t1320 = v_W2593.clone(); + let v_W2608 = { + let __t1320 = v_W2607.clone(); rt::apply_direct(interp, "shen.in->", &[__t1320])? }; { - let __t1321 = v_W2594.clone(); + let __t1321 = v_W2608.clone(); let __t1322 = Value::str(""); rt::apply_direct( interp, @@ -7569,7 +7569,7 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( }; { let __t1325 = { - let __t1324 = v_W2592.clone(); + let __t1324 = v_W2606.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1324])? }; if match rt::is_truthy(interp, &__t1325) { @@ -7578,12 +7578,12 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2592.clone()); + break Ok(v_W2606.clone()); } } } } else { - break Ok(v_W2585.clone()); + break Ok(v_W2599.clone()); } } } @@ -7604,18 +7604,18 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2595 = args[0].clone(); + let mut v_V2609 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2596 = { - let v_W2597 = { - let __t1326 = v_V2595.clone(); + let v_W2610 = { + let v_W2611 = { + let __t1326 = v_V2609.clone(); rt::apply_direct(interp, "shen.", &[__t1326])? }; { let __t1332 = { - let __t1327 = v_W2597.clone(); + let __t1327 = v_W2611.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1327])? }; if rt::is_truthy(interp, &__t1332)? { @@ -7624,18 +7624,18 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W2598 = { - let __t1328 = v_W2597.clone(); + let v_W2612 = { + let __t1328 = v_W2611.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1328])? }; { - let v_W2599 = { - let __t1329 = v_W2597.clone(); + let v_W2613 = { + let __t1329 = v_W2611.clone(); rt::apply_direct(interp, "shen.in->", &[__t1329])? }; { - let __t1330 = v_W2599.clone(); - let __t1331 = v_W2598.clone(); + let __t1330 = v_W2613.clone(); + let __t1331 = v_W2612.clone(); rt::apply_direct(interp, "shen.comb", &[__t1330, __t1331])? } } @@ -7645,7 +7645,7 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1334 = { - let __t1333 = v_W2596.clone(); + let __t1333 = v_W2610.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1333])? }; if match rt::is_truthy(interp, &__t1334) { @@ -7653,14 +7653,14 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W2600 = { - let v_W2601 = { - let __t1335 = v_V2595.clone(); + let v_W2614 = { + let v_W2615 = { + let __t1335 = v_V2609.clone(); rt::apply_direct(interp, "shen.", &[__t1335])? }; { let __t1341 = { - let __t1336 = v_W2601.clone(); + let __t1336 = v_W2615.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1336])? }; if rt::is_truthy(interp, &__t1341)? { @@ -7669,18 +7669,18 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W2602 = { - let __t1337 = v_W2601.clone(); + let v_W2616 = { + let __t1337 = v_W2615.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1337])? }; { - let v_W2603 = { - let __t1338 = v_W2601.clone(); + let v_W2617 = { + let __t1338 = v_W2615.clone(); rt::apply_direct(interp, "shen.in->", &[__t1338])? }; { - let __t1339 = v_W2603.clone(); - let __t1340 = v_W2602.clone(); + let __t1339 = v_W2617.clone(); + let __t1340 = v_W2616.clone(); rt::apply_direct( interp, "shen.comb", @@ -7694,7 +7694,7 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1343 = { - let __t1342 = v_W2600.clone(); + let __t1342 = v_W2614.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1342])? }; if match rt::is_truthy(interp, &__t1343) { @@ -7703,12 +7703,12 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2600.clone()); + break Ok(v_W2614.clone()); } } } } else { - break Ok(v_W2596.clone()); + break Ok(v_W2610.clone()); } } } @@ -7729,18 +7729,18 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V2604 = args[0].clone(); + let mut v_V2618 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2605 = { - let v_W2606 = { - let __t1344 = v_V2604.clone(); + let v_W2619 = { + let v_W2620 = { + let __t1344 = v_V2618.clone(); rt::apply_direct(interp, "shen.", &[__t1344])? }; { let __t1363 = { - let __t1345 = v_W2606.clone(); + let __t1345 = v_W2620.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1345])? }; if rt::is_truthy(interp, &__t1363)? { @@ -7749,18 +7749,18 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2607 = { - let __t1346 = v_W2606.clone(); + let v_W2621 = { + let __t1346 = v_W2620.clone(); rt::apply_direct(interp, "shen.in->", &[__t1346])? }; { - let v_W2608 = { - let __t1347 = v_W2607.clone(); + let v_W2622 = { + let __t1347 = v_W2621.clone(); rt::apply_direct(interp, "shen.", &[__t1347])? }; { let __t1362 = { - let __t1348 = v_W2608.clone(); + let __t1348 = v_W2622.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1348])? }; if rt::is_truthy(interp, &__t1362)? { @@ -7769,13 +7769,13 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2609 = { - let __t1349 = v_W2608.clone(); + let v_W2623 = { + let __t1349 = v_W2622.clone(); rt::apply_direct(interp, "shen.in->", &[__t1349])? }; { - let v_W2610 = { - let __t1350 = v_W2609.clone(); + let v_W2624 = { + let __t1350 = v_W2623.clone(); rt::apply_direct( interp, "shen.", @@ -7784,7 +7784,7 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t1361 = { - let __t1351 = v_W2610.clone(); + let __t1351 = v_W2624.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -7801,8 +7801,8 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2611 = { - let __t1352 = v_W2610.clone(); + let v_W2625 = { + let __t1352 = v_W2624.clone(); rt::apply_direct( interp, "shen.<-out", @@ -7810,8 +7810,8 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let v_W2612 = { - let __t1353 = v_W2610.clone(); + let v_W2626 = { + let __t1353 = v_W2624.clone(); rt::apply_direct( interp, "shen.in->", @@ -7819,9 +7819,9 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let v_W2613 = { + let v_W2627 = { let __t1354 = - v_W2612.clone(); + v_W2626.clone(); rt::apply_direct( interp, "shen.", @@ -7831,7 +7831,7 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh { let __t1360 = { let __t1355 = - v_W2613.clone(); + v_W2627.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1355])? }; if rt::is_truthy( @@ -7842,20 +7842,20 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2614 = { + let v_W2628 = { let __t1356 = - v_W2613 + v_W2627 .clone( ); rt::apply_direct(interp, "shen.in->", &[__t1356])? }; { let __t1357 = - v_W2614 + v_W2628 .clone( ); let __t1359 = { - let __t1358 = v_W2611.clone(); + let __t1358 = v_W2625.clone(); rt::apply_direct(interp, "n->string", &[__t1358])? }; rt::apply_direct(interp, "shen.comb", &[__t1357, __t1359])? @@ -7879,7 +7879,7 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t1365 = { - let __t1364 = v_W2605.clone(); + let __t1364 = v_W2619.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1364])? }; if match rt::is_truthy(interp, &__t1365) { @@ -7888,7 +7888,7 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2605.clone()); + break Ok(v_W2619.clone()); } } } @@ -7909,30 +7909,30 @@ pub fn aot_shen_x2e__x3c_notdbq_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2615 = args[0].clone(); + let mut v_V2629 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2616 = { + let v_W2630 = { let __t1376 = { - let __t1366 = v_V2615.clone(); + let __t1366 = v_V2629.clone(); rt::is_cons(&__t1366) }; if rt::is_truthy(interp, &__t1376)? { { - let v_W2617 = { - let __t1367 = v_V2615.clone(); + let v_W2631 = { + let __t1367 = v_V2629.clone(); rt::apply_direct(interp, "head", &[__t1367])? }; { - let v_W2618 = { - let __t1368 = v_V2615.clone(); + let v_W2632 = { + let __t1368 = v_V2629.clone(); rt::apply_direct(interp, "tail", &[__t1368])? }; { let __t1375 = { let __t1371 = { - let __t1369 = v_W2617.clone(); + let __t1369 = v_W2631.clone(); let __t1370 = Value::int(34i64); rt::eq(&__t1369, &__t1370) }; @@ -7940,9 +7940,9 @@ pub fn aot_shen_x2e__x3c_notdbq_x3e_(interp: &mut Interp, args: &[Value]) -> She }; if rt::is_truthy(interp, &__t1375)? { { - let __t1372 = v_W2618.clone(); + let __t1372 = v_W2632.clone(); let __t1374 = { - let __t1373 = v_W2617.clone(); + let __t1373 = v_W2631.clone(); rt::apply_direct(interp, "n->string", &[__t1373])? }; rt::apply_direct(interp, "shen.comb", &[__t1372, __t1374])? @@ -7963,7 +7963,7 @@ pub fn aot_shen_x2e__x3c_notdbq_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1378 = { - let __t1377 = v_W2616.clone(); + let __t1377 = v_W2630.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1377])? }; if match rt::is_truthy(interp, &__t1378) { @@ -7972,7 +7972,7 @@ pub fn aot_shen_x2e__x3c_notdbq_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2616.clone()); + break Ok(v_W2630.clone()); } } } @@ -7993,24 +7993,24 @@ pub fn aot_shen_x2e__x3c_lowC_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2619 = args[0].clone(); + let mut v_V2633 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2620 = { + let v_W2634 = { let __t1384 = { - let __t1379 = v_V2619.clone(); + let __t1379 = v_V2633.clone(); let __t1380 = Value::int(99i64); rt::apply_direct(interp, "shen.hds=?", &[__t1379, __t1380])? }; if rt::is_truthy(interp, &__t1384)? { { - let v_W2621 = { - let __t1381 = v_V2619.clone(); + let v_W2635 = { + let __t1381 = v_V2633.clone(); rt::apply_direct(interp, "tail", &[__t1381])? }; { - let __t1382 = v_W2621.clone(); + let __t1382 = v_W2635.clone(); let __t1383 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1382, __t1383])? } @@ -8023,7 +8023,7 @@ pub fn aot_shen_x2e__x3c_lowC_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1386 = { - let __t1385 = v_W2620.clone(); + let __t1385 = v_W2634.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1385])? }; if match rt::is_truthy(interp, &__t1386) { @@ -8032,7 +8032,7 @@ pub fn aot_shen_x2e__x3c_lowC_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2620.clone()); + break Ok(v_W2634.clone()); } } } @@ -8053,24 +8053,24 @@ pub fn aot_shen_x2e__x3c_hash_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2622 = args[0].clone(); + let mut v_V2636 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2623 = { + let v_W2637 = { let __t1392 = { - let __t1387 = v_V2622.clone(); + let __t1387 = v_V2636.clone(); let __t1388 = Value::int(35i64); rt::apply_direct(interp, "shen.hds=?", &[__t1387, __t1388])? }; if rt::is_truthy(interp, &__t1392)? { { - let v_W2624 = { - let __t1389 = v_V2622.clone(); + let v_W2638 = { + let __t1389 = v_V2636.clone(); rt::apply_direct(interp, "tail", &[__t1389])? }; { - let __t1390 = v_W2624.clone(); + let __t1390 = v_W2638.clone(); let __t1391 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1390, __t1391])? } @@ -8083,7 +8083,7 @@ pub fn aot_shen_x2e__x3c_hash_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1394 = { - let __t1393 = v_W2623.clone(); + let __t1393 = v_W2637.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1393])? }; if match rt::is_truthy(interp, &__t1394) { @@ -8092,7 +8092,7 @@ pub fn aot_shen_x2e__x3c_hash_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2623.clone()); + break Ok(v_W2637.clone()); } } } @@ -8113,18 +8113,18 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2625 = args[0].clone(); + let mut v_V2639 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2626 = { - let v_W2627 = { - let __t1395 = v_V2625.clone(); + let v_W2640 = { + let v_W2641 = { + let __t1395 = v_V2639.clone(); rt::apply_direct(interp, "shen.", &[__t1395])? }; { let __t1407 = { - let __t1396 = v_W2627.clone(); + let __t1396 = v_W2641.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1396])? }; if rt::is_truthy(interp, &__t1407)? { @@ -8133,18 +8133,18 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2628 = { - let __t1397 = v_W2627.clone(); + let v_W2642 = { + let __t1397 = v_W2641.clone(); rt::apply_direct(interp, "shen.in->", &[__t1397])? }; { - let v_W2629 = { - let __t1398 = v_W2628.clone(); + let v_W2643 = { + let __t1398 = v_W2642.clone(); rt::apply_direct(interp, "shen.", &[__t1398])? }; { let __t1406 = { - let __t1399 = v_W2629.clone(); + let __t1399 = v_W2643.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1399])? }; if rt::is_truthy(interp, &__t1406)? { @@ -8153,13 +8153,13 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2630 = { - let __t1400 = v_W2629.clone(); + let v_W2644 = { + let __t1400 = v_W2643.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1400])? }; { - let v_W2631 = { - let __t1401 = v_W2629.clone(); + let v_W2645 = { + let __t1401 = v_W2643.clone(); rt::apply_direct( interp, "shen.in->", @@ -8167,10 +8167,10 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let __t1402 = v_W2631.clone(); + let __t1402 = v_W2645.clone(); let __t1405 = { let __t1403 = Value::int(0i64); - let __t1404 = v_W2630.clone(); + let __t1404 = v_W2644.clone(); rt::sub(&__t1403, &__t1404)? }; rt::apply_direct( @@ -8190,7 +8190,7 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1409 = { - let __t1408 = v_W2626.clone(); + let __t1408 = v_W2640.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1408])? }; if match rt::is_truthy(interp, &__t1409) { @@ -8198,14 +8198,14 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W2632 = { - let v_W2633 = { - let __t1410 = v_V2625.clone(); + let v_W2646 = { + let v_W2647 = { + let __t1410 = v_V2639.clone(); rt::apply_direct(interp, "shen.", &[__t1410])? }; { let __t1420 = { - let __t1411 = v_W2633.clone(); + let __t1411 = v_W2647.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1411])? }; if rt::is_truthy(interp, &__t1420)? { @@ -8214,13 +8214,13 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2634 = { - let __t1412 = v_W2633.clone(); + let v_W2648 = { + let __t1412 = v_W2647.clone(); rt::apply_direct(interp, "shen.in->", &[__t1412])? }; { - let v_W2635 = { - let __t1413 = v_W2634.clone(); + let v_W2649 = { + let __t1413 = v_W2648.clone(); rt::apply_direct( interp, "shen.", @@ -8229,7 +8229,7 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1419 = { - let __t1414 = v_W2635.clone(); + let __t1414 = v_W2649.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -8246,8 +8246,8 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2636 = { - let __t1415 = v_W2635.clone(); + let v_W2650 = { + let __t1415 = v_W2649.clone(); rt::apply_direct( interp, "shen.<-out", @@ -8255,8 +8255,8 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W2637 = { - let __t1416 = v_W2635.clone(); + let v_W2651 = { + let __t1416 = v_W2649.clone(); rt::apply_direct( interp, "shen.in->", @@ -8264,8 +8264,8 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let __t1417 = v_W2637.clone(); - let __t1418 = v_W2636.clone(); + let __t1417 = v_W2651.clone(); + let __t1418 = v_W2650.clone(); rt::apply_direct( interp, "shen.comb", @@ -8283,7 +8283,7 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1422 = { - let __t1421 = v_W2632.clone(); + let __t1421 = v_W2646.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1421])? }; if match rt::is_truthy(interp, &__t1422) { @@ -8291,14 +8291,14 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W2638 = { - let v_W2639 = { - let __t1423 = v_V2625.clone(); + let v_W2652 = { + let v_W2653 = { + let __t1423 = v_V2639.clone(); rt::apply_direct(interp, "shen.", &[__t1423])? }; { let __t1429 = { - let __t1424 = v_W2639.clone(); + let __t1424 = v_W2653.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -8315,8 +8315,8 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2640 = { - let __t1425 = v_W2639.clone(); + let v_W2654 = { + let __t1425 = v_W2653.clone(); rt::apply_direct( interp, "shen.<-out", @@ -8324,8 +8324,8 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W2641 = { - let __t1426 = v_W2639.clone(); + let v_W2655 = { + let __t1426 = v_W2653.clone(); rt::apply_direct( interp, "shen.in->", @@ -8333,8 +8333,8 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let __t1427 = v_W2641.clone(); - let __t1428 = v_W2640.clone(); + let __t1427 = v_W2655.clone(); + let __t1428 = v_W2654.clone(); rt::apply_direct( interp, "shen.comb", @@ -8348,7 +8348,7 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1431 = { - let __t1430 = v_W2638.clone(); + let __t1430 = v_W2652.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -8360,9 +8360,9 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W2642 = { - let v_W2643 = { - let __t1432 = v_V2625.clone(); + let v_W2656 = { + let v_W2657 = { + let __t1432 = v_V2639.clone(); rt::apply_direct( interp, "shen.", @@ -8371,7 +8371,7 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1438 = { - let __t1433 = v_W2643.clone(); + let __t1433 = v_W2657.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -8388,8 +8388,8 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2644 = { - let __t1434 = v_W2643.clone(); + let v_W2658 = { + let __t1434 = v_W2657.clone(); rt::apply_direct( interp, "shen.<-out", @@ -8397,9 +8397,9 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W2645 = { + let v_W2659 = { let __t1435 = - v_W2643.clone(); + v_W2657.clone(); rt::apply_direct( interp, "shen.in->", @@ -8408,9 +8408,9 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1436 = - v_W2645.clone(); + v_W2659.clone(); let __t1437 = - v_W2644.clone(); + v_W2658.clone(); rt::apply_direct( interp, "shen.comb", @@ -8424,7 +8424,7 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1440 = { - let __t1439 = v_W2642.clone(); + let __t1439 = v_W2656.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -8436,9 +8436,9 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W2646 = { - let v_W2647 = { - let __t1441 = v_V2625.clone(); + let v_W2660 = { + let v_W2661 = { + let __t1441 = v_V2639.clone(); rt::apply_direct( interp, "shen.", @@ -8448,7 +8448,7 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She { let __t1447 = { let __t1442 = - v_W2647.clone(); + v_W2661.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -8463,9 +8463,9 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2648 = { + let v_W2662 = { let __t1443 = - v_W2647.clone(); + v_W2661.clone(); rt::apply_direct( interp, "shen.<-out", @@ -8473,20 +8473,20 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W2649 = { + let v_W2663 = { let __t1444 = - v_W2647 + v_W2661 .clone( ); rt::apply_direct(interp, "shen.in->", &[__t1444])? }; { let __t1445 = - v_W2649 + v_W2663 .clone( ); let __t1446 = - v_W2648 + v_W2662 .clone( ); rt::apply_direct(interp, "shen.comb", &[__t1445, __t1446])? @@ -8498,7 +8498,7 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1449 = { - let __t1448 = v_W2646.clone(); + let __t1448 = v_W2660.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -8519,27 +8519,27 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }); } else { - break Ok(v_W2646.clone()); + break Ok(v_W2660.clone()); } } } } else { - break Ok(v_W2642.clone()); + break Ok(v_W2656.clone()); } } } } else { - break Ok(v_W2638.clone()); + break Ok(v_W2652.clone()); } } } } else { - break Ok(v_W2632.clone()); + break Ok(v_W2646.clone()); } } } } else { - break Ok(v_W2626.clone()); + break Ok(v_W2640.clone()); } } } @@ -8560,24 +8560,24 @@ pub fn aot_shen_x2e__x3c_minus_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2650 = args[0].clone(); + let mut v_V2664 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2651 = { + let v_W2665 = { let __t1455 = { - let __t1450 = v_V2650.clone(); + let __t1450 = v_V2664.clone(); let __t1451 = Value::int(45i64); rt::apply_direct(interp, "shen.hds=?", &[__t1450, __t1451])? }; if rt::is_truthy(interp, &__t1455)? { { - let v_W2652 = { - let __t1452 = v_V2650.clone(); + let v_W2666 = { + let __t1452 = v_V2664.clone(); rt::apply_direct(interp, "tail", &[__t1452])? }; { - let __t1453 = v_W2652.clone(); + let __t1453 = v_W2666.clone(); let __t1454 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1453, __t1454])? } @@ -8590,7 +8590,7 @@ pub fn aot_shen_x2e__x3c_minus_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1457 = { - let __t1456 = v_W2651.clone(); + let __t1456 = v_W2665.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1456])? }; if match rt::is_truthy(interp, &__t1457) { @@ -8599,7 +8599,7 @@ pub fn aot_shen_x2e__x3c_minus_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2651.clone()); + break Ok(v_W2665.clone()); } } } @@ -8620,24 +8620,24 @@ pub fn aot_shen_x2e__x3c_plus_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2653 = args[0].clone(); + let mut v_V2667 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2654 = { + let v_W2668 = { let __t1463 = { - let __t1458 = v_V2653.clone(); + let __t1458 = v_V2667.clone(); let __t1459 = Value::int(43i64); rt::apply_direct(interp, "shen.hds=?", &[__t1458, __t1459])? }; if rt::is_truthy(interp, &__t1463)? { { - let v_W2655 = { - let __t1460 = v_V2653.clone(); + let v_W2669 = { + let __t1460 = v_V2667.clone(); rt::apply_direct(interp, "tail", &[__t1460])? }; { - let __t1461 = v_W2655.clone(); + let __t1461 = v_W2669.clone(); let __t1462 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1461, __t1462])? } @@ -8650,7 +8650,7 @@ pub fn aot_shen_x2e__x3c_plus_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1465 = { - let __t1464 = v_W2654.clone(); + let __t1464 = v_W2668.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1464])? }; if match rt::is_truthy(interp, &__t1465) { @@ -8659,7 +8659,7 @@ pub fn aot_shen_x2e__x3c_plus_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2654.clone()); + break Ok(v_W2668.clone()); } } } @@ -8680,18 +8680,18 @@ pub fn aot_shen_x2e__x3c_integer_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V2656 = args[0].clone(); + let mut v_V2670 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2657 = { - let v_W2658 = { - let __t1466 = v_V2656.clone(); + let v_W2671 = { + let v_W2672 = { + let __t1466 = v_V2670.clone(); rt::apply_direct(interp, "shen.", &[__t1466])? }; { let __t1473 = { - let __t1467 = v_W2658.clone(); + let __t1467 = v_W2672.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1467])? }; if rt::is_truthy(interp, &__t1473)? { @@ -8700,19 +8700,19 @@ pub fn aot_shen_x2e__x3c_integer_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W2659 = { - let __t1468 = v_W2658.clone(); + let v_W2673 = { + let __t1468 = v_W2672.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1468])? }; { - let v_W2660 = { - let __t1469 = v_W2658.clone(); + let v_W2674 = { + let __t1469 = v_W2672.clone(); rt::apply_direct(interp, "shen.in->", &[__t1469])? }; { - let __t1470 = v_W2660.clone(); + let __t1470 = v_W2674.clone(); let __t1472 = { - let __t1471 = v_W2659.clone(); + let __t1471 = v_W2673.clone(); rt::apply_direct( interp, "shen.compute-integer", @@ -8728,7 +8728,7 @@ pub fn aot_shen_x2e__x3c_integer_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t1475 = { - let __t1474 = v_W2657.clone(); + let __t1474 = v_W2671.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1474])? }; if match rt::is_truthy(interp, &__t1475) { @@ -8737,7 +8737,7 @@ pub fn aot_shen_x2e__x3c_integer_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2657.clone()); + break Ok(v_W2671.clone()); } } } @@ -8758,18 +8758,18 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2661 = args[0].clone(); + let mut v_V2675 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2662 = { - let v_W2663 = { - let __t1476 = v_V2661.clone(); + let v_W2676 = { + let v_W2677 = { + let __t1476 = v_V2675.clone(); rt::apply_direct(interp, "shen.", &[__t1476])? }; { let __t1489 = { - let __t1477 = v_W2663.clone(); + let __t1477 = v_W2677.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1477])? }; if rt::is_truthy(interp, &__t1489)? { @@ -8778,23 +8778,23 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2664 = { - let __t1478 = v_W2663.clone(); + let v_W2678 = { + let __t1478 = v_W2677.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1478])? }; { - let v_W2665 = { - let __t1479 = v_W2663.clone(); + let v_W2679 = { + let __t1479 = v_W2677.clone(); rt::apply_direct(interp, "shen.in->", &[__t1479])? }; { - let v_W2666 = { - let __t1480 = v_W2665.clone(); + let v_W2680 = { + let __t1480 = v_W2679.clone(); rt::apply_direct(interp, "shen.", &[__t1480])? }; { let __t1488 = { - let __t1481 = v_W2666.clone(); + let __t1481 = v_W2680.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -8807,8 +8807,8 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2667 = { - let __t1482 = v_W2666.clone(); + let v_W2681 = { + let __t1482 = v_W2680.clone(); rt::apply_direct( interp, "shen.<-out", @@ -8816,8 +8816,8 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W2668 = { - let __t1483 = v_W2666.clone(); + let v_W2682 = { + let __t1483 = v_W2680.clone(); rt::apply_direct( interp, "shen.in->", @@ -8825,10 +8825,10 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let __t1484 = v_W2668.clone(); + let __t1484 = v_W2682.clone(); let __t1487 = { - let __t1485 = v_W2664.clone(); - let __t1486 = v_W2667.clone(); + let __t1485 = v_W2678.clone(); + let __t1486 = v_W2681.clone(); rt::cons(&__t1485, &__t1486) }; rt::apply_direct( @@ -8849,7 +8849,7 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1491 = { - let __t1490 = v_W2662.clone(); + let __t1490 = v_W2676.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1490])? }; if match rt::is_truthy(interp, &__t1491) { @@ -8857,14 +8857,14 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W2669 = { - let v_W2670 = { - let __t1492 = v_V2661.clone(); + let v_W2683 = { + let v_W2684 = { + let __t1492 = v_V2675.clone(); rt::apply_direct(interp, "shen.", &[__t1492])? }; { let __t1500 = { - let __t1493 = v_W2670.clone(); + let __t1493 = v_W2684.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1493])? }; if rt::is_truthy(interp, &__t1500)? { @@ -8873,19 +8873,19 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W2671 = { - let __t1494 = v_W2670.clone(); + let v_W2685 = { + let __t1494 = v_W2684.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1494])? }; { - let v_W2672 = { - let __t1495 = v_W2670.clone(); + let v_W2686 = { + let __t1495 = v_W2684.clone(); rt::apply_direct(interp, "shen.in->", &[__t1495])? }; { - let __t1496 = v_W2672.clone(); + let __t1496 = v_W2686.clone(); let __t1499 = { - let __t1497 = v_W2671.clone(); + let __t1497 = v_W2685.clone(); let __t1498 = Value::nil(); rt::cons(&__t1497, &__t1498) }; @@ -8902,7 +8902,7 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t1502 = { - let __t1501 = v_W2669.clone(); + let __t1501 = v_W2683.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1501])? }; if match rt::is_truthy(interp, &__t1502) { @@ -8911,12 +8911,12 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2669.clone()); + break Ok(v_W2683.clone()); } } } } else { - break Ok(v_W2662.clone()); + break Ok(v_W2676.clone()); } } } @@ -8937,36 +8937,36 @@ pub fn aot_shen_x2e__x3c_digit_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2673 = args[0].clone(); + let mut v_V2687 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2674 = { + let v_W2688 = { let __t1511 = { - let __t1503 = v_V2673.clone(); + let __t1503 = v_V2687.clone(); rt::is_cons(&__t1503) }; if rt::is_truthy(interp, &__t1511)? { { - let v_W2675 = { - let __t1504 = v_V2673.clone(); + let v_W2689 = { + let __t1504 = v_V2687.clone(); rt::apply_direct(interp, "head", &[__t1504])? }; { - let v_W2676 = { - let __t1505 = v_V2673.clone(); + let v_W2690 = { + let __t1505 = v_V2687.clone(); rt::apply_direct(interp, "tail", &[__t1505])? }; { let __t1510 = { - let __t1506 = v_W2675.clone(); + let __t1506 = v_W2689.clone(); rt::apply_direct(interp, "shen.digit?", &[__t1506])? }; if rt::is_truthy(interp, &__t1510)? { { - let __t1507 = v_W2676.clone(); + let __t1507 = v_W2690.clone(); let __t1509 = { - let __t1508 = v_W2675.clone(); + let __t1508 = v_W2689.clone(); rt::apply_direct( interp, "shen.byte->digit", @@ -8991,7 +8991,7 @@ pub fn aot_shen_x2e__x3c_digit_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1513 = { - let __t1512 = v_W2674.clone(); + let __t1512 = v_W2688.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1512])? }; if match rt::is_truthy(interp, &__t1513) { @@ -9000,7 +9000,7 @@ pub fn aot_shen_x2e__x3c_digit_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2674.clone()); + break Ok(v_W2688.clone()); } } } @@ -9021,11 +9021,11 @@ pub fn aot_shen_x2e_byte_x2d__x3e_digit(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2677 = args[0].clone(); + let mut v_V2691 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t1514 = v_V2677.clone(); + let __t1514 = v_V2691.clone(); let __t1515 = Value::int(48i64); rt::sub(&__t1514, &__t1515)? }); @@ -9046,12 +9046,12 @@ pub fn aot_shen_x2e_compute_x2d_integer(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2678 = args[0].clone(); + let mut v_V2692 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t1517 = { - let __t1516 = v_V2678.clone(); + let __t1516 = v_V2692.clone(); rt::apply_direct(interp, "reverse", &[__t1516])? }; let __t1518 = Value::int(0i64); @@ -9077,15 +9077,15 @@ pub fn aot_shen_x2e_compute_x2d_integer_x2d_h( ))); } #[allow(unused_mut)] - let mut v_V2681 = args[0].clone(); + let mut v_V2695 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2682 = args[1].clone(); + let mut v_V2696 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t1537 = { let __t1535 = Value::nil(); - let __t1536 = v_V2681.clone(); + let __t1536 = v_V2695.clone(); rt::eq(&__t1535, &__t1536) }; if match rt::is_truthy(interp, &__t1537) { @@ -9096,7 +9096,7 @@ pub fn aot_shen_x2e_compute_x2d_integer_x2d_h( } else { { let __t1534 = { - let __t1521 = v_V2681.clone(); + let __t1521 = v_V2695.clone(); rt::is_cons(&__t1521) }; if match rt::is_truthy(interp, &__t1534) { @@ -9107,22 +9107,22 @@ pub fn aot_shen_x2e_compute_x2d_integer_x2d_h( let __t1527 = { let __t1524 = { let __t1522 = Value::int(10i64); - let __t1523 = v_V2682.clone(); + let __t1523 = v_V2696.clone(); rt::apply_direct(interp, "shen.expt", &[__t1522, __t1523])? }; let __t1526 = { - let __t1525 = v_V2681.clone(); + let __t1525 = v_V2695.clone(); rt::hd(&__t1525)? }; rt::mul(&__t1524, &__t1526)? }; let __t1533 = { let __t1529 = { - let __t1528 = v_V2681.clone(); + let __t1528 = v_V2695.clone(); rt::tl(&__t1528)? }; let __t1532 = { - let __t1530 = v_V2682.clone(); + let __t1530 = v_V2696.clone(); let __t1531 = Value::int(1i64); rt::add(&__t1530, &__t1531)? }; @@ -9178,15 +9178,15 @@ pub fn aot_shen_x2e_expt(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult break Err(e), } { break Ok({ - let __t1547 = v_V2685.clone(); + let __t1547 = v_V2699.clone(); let __t1552 = { - let __t1548 = v_V2685.clone(); + let __t1548 = v_V2699.clone(); let __t1551 = { - let __t1549 = v_V2686.clone(); + let __t1549 = v_V2700.clone(); let __t1550 = Value::int(1i64); rt::sub(&__t1549, &__t1550)? }; @@ -9227,15 +9227,15 @@ pub fn aot_shen_x2e_expt(interp: &mut Interp, args: &[Value]) -> ShenResult Shen ))); } #[allow(unused_mut)] - let mut v_V2687 = args[0].clone(); + let mut v_V2701 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2688 = { - let v_W2689 = { - let __t1557 = v_V2687.clone(); + let v_W2702 = { + let v_W2703 = { + let __t1557 = v_V2701.clone(); rt::apply_direct(interp, "shen.", &[__t1557])? }; { let __t1574 = { - let __t1558 = v_W2689.clone(); + let __t1558 = v_W2703.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1558])? }; if rt::is_truthy(interp, &__t1574)? { @@ -9283,23 +9283,23 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2690 = { - let __t1559 = v_W2689.clone(); + let v_W2704 = { + let __t1559 = v_W2703.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1559])? }; { - let v_W2691 = { - let __t1560 = v_W2689.clone(); + let v_W2705 = { + let __t1560 = v_W2703.clone(); rt::apply_direct(interp, "shen.in->", &[__t1560])? }; { - let v_W2692 = { - let __t1561 = v_W2691.clone(); + let v_W2706 = { + let __t1561 = v_W2705.clone(); rt::apply_direct(interp, "shen.", &[__t1561])? }; { let __t1573 = { - let __t1562 = v_W2692.clone(); + let __t1562 = v_W2706.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -9312,8 +9312,8 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2693 = { - let __t1563 = v_W2692.clone(); + let v_W2707 = { + let __t1563 = v_W2706.clone(); rt::apply_direct( interp, "shen.in->", @@ -9321,8 +9321,8 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W2694 = { - let __t1564 = v_W2693.clone(); + let v_W2708 = { + let __t1564 = v_W2707.clone(); rt::apply_direct( interp, "shen.", @@ -9331,7 +9331,7 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1572 = { - let __t1565 = v_W2694.clone(); + let __t1565 = v_W2708.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -9348,8 +9348,8 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2695 = { - let __t1566 = v_W2694.clone(); + let v_W2709 = { + let __t1566 = v_W2708.clone(); rt::apply_direct( interp, "shen.<-out", @@ -9357,9 +9357,9 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W2696 = { + let v_W2710 = { let __t1567 = - v_W2694.clone(); + v_W2708.clone(); rt::apply_direct( interp, "shen.in->", @@ -9368,12 +9368,12 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1568 = - v_W2696.clone(); + v_W2710.clone(); let __t1571 = { let __t1569 = - v_W2690.clone(); + v_W2704.clone(); let __t1570 = - v_W2695.clone(); + v_W2709.clone(); rt::add( &__t1569, &__t1570, )? @@ -9400,7 +9400,7 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1576 = { - let __t1575 = v_W2688.clone(); + let __t1575 = v_W2702.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1575])? }; if match rt::is_truthy(interp, &__t1576) { @@ -9408,14 +9408,14 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W2697 = { - let v_W2698 = { - let __t1577 = v_V2687.clone(); + let v_W2711 = { + let v_W2712 = { + let __t1577 = v_V2701.clone(); rt::apply_direct(interp, "shen.", &[__t1577])? }; { let __t1587 = { - let __t1578 = v_W2698.clone(); + let __t1578 = v_W2712.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1578])? }; if rt::is_truthy(interp, &__t1587)? { @@ -9424,13 +9424,13 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2699 = { - let __t1579 = v_W2698.clone(); + let v_W2713 = { + let __t1579 = v_W2712.clone(); rt::apply_direct(interp, "shen.in->", &[__t1579])? }; { - let v_W2700 = { - let __t1580 = v_W2699.clone(); + let v_W2714 = { + let __t1580 = v_W2713.clone(); rt::apply_direct( interp, "shen.", @@ -9439,7 +9439,7 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1586 = { - let __t1581 = v_W2700.clone(); + let __t1581 = v_W2714.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -9456,8 +9456,8 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2701 = { - let __t1582 = v_W2700.clone(); + let v_W2715 = { + let __t1582 = v_W2714.clone(); rt::apply_direct( interp, "shen.<-out", @@ -9465,8 +9465,8 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W2702 = { - let __t1583 = v_W2700.clone(); + let v_W2716 = { + let __t1583 = v_W2714.clone(); rt::apply_direct( interp, "shen.in->", @@ -9474,8 +9474,8 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let __t1584 = v_W2702.clone(); - let __t1585 = v_W2701.clone(); + let __t1584 = v_W2716.clone(); + let __t1585 = v_W2715.clone(); rt::apply_direct( interp, "shen.comb", @@ -9493,7 +9493,7 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1589 = { - let __t1588 = v_W2697.clone(); + let __t1588 = v_W2711.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1588])? }; if match rt::is_truthy(interp, &__t1589) { @@ -9502,12 +9502,12 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2697.clone()); + break Ok(v_W2711.clone()); } } } } else { - break Ok(v_W2688.clone()); + break Ok(v_W2702.clone()); } } } @@ -9528,24 +9528,24 @@ pub fn aot_shen_x2e__x3c_stop_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2703 = args[0].clone(); + let mut v_V2717 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2704 = { + let v_W2718 = { let __t1595 = { - let __t1590 = v_V2703.clone(); + let __t1590 = v_V2717.clone(); let __t1591 = Value::int(46i64); rt::apply_direct(interp, "shen.hds=?", &[__t1590, __t1591])? }; if rt::is_truthy(interp, &__t1595)? { { - let v_W2705 = { - let __t1592 = v_V2703.clone(); + let v_W2719 = { + let __t1592 = v_V2717.clone(); rt::apply_direct(interp, "tail", &[__t1592])? }; { - let __t1593 = v_W2705.clone(); + let __t1593 = v_W2719.clone(); let __t1594 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1593, __t1594])? } @@ -9558,7 +9558,7 @@ pub fn aot_shen_x2e__x3c_stop_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1597 = { - let __t1596 = v_W2704.clone(); + let __t1596 = v_W2718.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1596])? }; if match rt::is_truthy(interp, &__t1597) { @@ -9567,7 +9567,7 @@ pub fn aot_shen_x2e__x3c_stop_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2704.clone()); + break Ok(v_W2718.clone()); } } } @@ -9588,18 +9588,18 @@ pub fn aot_shen_x2e__x3c_fraction_x3e_(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V2706 = args[0].clone(); + let mut v_V2720 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2707 = { - let v_W2708 = { - let __t1598 = v_V2706.clone(); + let v_W2721 = { + let v_W2722 = { + let __t1598 = v_V2720.clone(); rt::apply_direct(interp, "shen.", &[__t1598])? }; { let __t1605 = { - let __t1599 = v_W2708.clone(); + let __t1599 = v_W2722.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1599])? }; if rt::is_truthy(interp, &__t1605)? { @@ -9608,19 +9608,19 @@ pub fn aot_shen_x2e__x3c_fraction_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W2709 = { - let __t1600 = v_W2708.clone(); + let v_W2723 = { + let __t1600 = v_W2722.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1600])? }; { - let v_W2710 = { - let __t1601 = v_W2708.clone(); + let v_W2724 = { + let __t1601 = v_W2722.clone(); rt::apply_direct(interp, "shen.in->", &[__t1601])? }; { - let __t1602 = v_W2710.clone(); + let __t1602 = v_W2724.clone(); let __t1604 = { - let __t1603 = v_W2709.clone(); + let __t1603 = v_W2723.clone(); rt::apply_direct( interp, "shen.compute-fraction", @@ -9636,7 +9636,7 @@ pub fn aot_shen_x2e__x3c_fraction_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t1607 = { - let __t1606 = v_W2707.clone(); + let __t1606 = v_W2721.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1606])? }; if match rt::is_truthy(interp, &__t1607) { @@ -9645,7 +9645,7 @@ pub fn aot_shen_x2e__x3c_fraction_x3e_(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2707.clone()); + break Ok(v_W2721.clone()); } } } @@ -9666,11 +9666,11 @@ pub fn aot_shen_x2e_compute_x2d_fraction(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2711 = args[0].clone(); + let mut v_V2725 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t1608 = v_V2711.clone(); + let __t1608 = v_V2725.clone(); let __t1609 = Value::int(-1i64); rt::apply_direct(interp, "shen.compute-fraction-h", &[__t1608, __t1609])? }); @@ -9698,15 +9698,15 @@ pub fn aot_shen_x2e_compute_x2d_fraction_x2d_h( ))); } #[allow(unused_mut)] - let mut v_V2714 = args[0].clone(); + let mut v_V2728 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2715 = args[1].clone(); + let mut v_V2729 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t1628 = { let __t1626 = Value::nil(); - let __t1627 = v_V2714.clone(); + let __t1627 = v_V2728.clone(); rt::eq(&__t1626, &__t1627) }; if match rt::is_truthy(interp, &__t1628) { @@ -9717,7 +9717,7 @@ pub fn aot_shen_x2e_compute_x2d_fraction_x2d_h( } else { { let __t1625 = { - let __t1612 = v_V2714.clone(); + let __t1612 = v_V2728.clone(); rt::is_cons(&__t1612) }; if match rt::is_truthy(interp, &__t1625) { @@ -9728,22 +9728,22 @@ pub fn aot_shen_x2e_compute_x2d_fraction_x2d_h( let __t1618 = { let __t1615 = { let __t1613 = Value::int(10i64); - let __t1614 = v_V2715.clone(); + let __t1614 = v_V2729.clone(); rt::apply_direct(interp, "shen.expt", &[__t1613, __t1614])? }; let __t1617 = { - let __t1616 = v_V2714.clone(); + let __t1616 = v_V2728.clone(); rt::hd(&__t1616)? }; rt::mul(&__t1615, &__t1617)? }; let __t1624 = { let __t1620 = { - let __t1619 = v_V2714.clone(); + let __t1619 = v_V2728.clone(); rt::tl(&__t1619)? }; let __t1623 = { - let __t1621 = v_V2715.clone(); + let __t1621 = v_V2729.clone(); let __t1622 = Value::int(1i64); rt::sub(&__t1621, &__t1622)? }; @@ -9802,18 +9802,18 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( ))); } #[allow(unused_mut)] - let mut v_V2716 = args[0].clone(); + let mut v_V2730 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2717 = { - let v_W2718 = { - let __t1629 = v_V2716.clone(); + let v_W2731 = { + let v_W2732 = { + let __t1629 = v_V2730.clone(); rt::apply_direct(interp, "shen.", &[__t1629])? }; { let __t1646 = { - let __t1630 = v_W2718.clone(); + let __t1630 = v_W2732.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1630])? }; if rt::is_truthy(interp, &__t1646)? { @@ -9822,23 +9822,23 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } } else { { - let v_W2719 = { - let __t1631 = v_W2718.clone(); + let v_W2733 = { + let __t1631 = v_W2732.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1631])? }; { - let v_W2720 = { - let __t1632 = v_W2718.clone(); + let v_W2734 = { + let __t1632 = v_W2732.clone(); rt::apply_direct(interp, "shen.in->", &[__t1632])? }; { - let v_W2721 = { - let __t1633 = v_W2720.clone(); + let v_W2735 = { + let __t1633 = v_W2734.clone(); rt::apply_direct(interp, "shen.", &[__t1633])? }; { let __t1645 = { - let __t1634 = v_W2721.clone(); + let __t1634 = v_W2735.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -9851,8 +9851,8 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } } else { { - let v_W2722 = { - let __t1635 = v_W2721.clone(); + let v_W2736 = { + let __t1635 = v_W2735.clone(); rt::apply_direct( interp, "shen.in->", @@ -9860,8 +9860,8 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( )? }; { - let v_W2723 = { - let __t1636 = v_W2722.clone(); + let v_W2737 = { + let __t1636 = v_W2736.clone(); rt::apply_direct( interp, "shen.", @@ -9870,7 +9870,7 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( }; { let __t1644 = { - let __t1637 = v_W2723.clone(); + let __t1637 = v_W2737.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -9887,8 +9887,8 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } } else { { - let v_W2724 = { - let __t1638 = v_W2723.clone(); + let v_W2738 = { + let __t1638 = v_W2737.clone(); rt::apply_direct( interp, "shen.<-out", @@ -9896,9 +9896,9 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( )? }; { - let v_W2725 = { + let v_W2739 = { let __t1639 = - v_W2723.clone(); + v_W2737.clone(); rt::apply_direct( interp, "shen.in->", @@ -9907,12 +9907,12 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( }; { let __t1640 = - v_W2725.clone(); + v_W2739.clone(); let __t1643 = { let __t1641 = - v_W2719.clone(); + v_W2733.clone(); let __t1642 = - v_W2724.clone(); + v_W2738.clone(); rt::apply_direct( interp, "shen.compute-E", @@ -9941,7 +9941,7 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( }; { let __t1648 = { - let __t1647 = v_W2717.clone(); + let __t1647 = v_W2731.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1647])? }; if match rt::is_truthy(interp, &__t1648) { @@ -9949,14 +9949,14 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( Err(e) => break Err(e), } { { - let v_W2726 = { - let v_W2727 = { - let __t1649 = v_V2716.clone(); + let v_W2740 = { + let v_W2741 = { + let __t1649 = v_V2730.clone(); rt::apply_direct(interp, "shen.", &[__t1649])? }; { let __t1666 = { - let __t1650 = v_W2727.clone(); + let __t1650 = v_W2741.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1650])? }; if rt::is_truthy(interp, &__t1666)? { @@ -9965,18 +9965,18 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } } else { { - let v_W2728 = { - let __t1651 = v_W2727.clone(); + let v_W2742 = { + let __t1651 = v_W2741.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1651])? }; { - let v_W2729 = { - let __t1652 = v_W2727.clone(); + let v_W2743 = { + let __t1652 = v_W2741.clone(); rt::apply_direct(interp, "shen.in->", &[__t1652])? }; { - let v_W2730 = { - let __t1653 = v_W2729.clone(); + let v_W2744 = { + let __t1653 = v_W2743.clone(); rt::apply_direct( interp, "shen.", @@ -9985,7 +9985,7 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( }; { let __t1665 = { - let __t1654 = v_W2730.clone(); + let __t1654 = v_W2744.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -10002,8 +10002,8 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } } else { { - let v_W2731 = { - let __t1655 = v_W2730.clone(); + let v_W2745 = { + let __t1655 = v_W2744.clone(); rt::apply_direct( interp, "shen.in->", @@ -10011,8 +10011,8 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( )? }; { - let v_W2732 = { - let __t1656 = v_W2731.clone(); + let v_W2746 = { + let __t1656 = v_W2745.clone(); rt::apply_direct( interp, "shen.", @@ -10022,7 +10022,7 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( { let __t1664 = { let __t1657 = - v_W2732.clone(); + v_W2746.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -10037,9 +10037,9 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } } else { { - let v_W2733 = { + let v_W2747 = { let __t1658 = - v_W2732.clone(); + v_W2746.clone(); rt::apply_direct( interp, "shen.<-out", @@ -10047,21 +10047,21 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( )? }; { - let v_W2734 = { + let v_W2748 = { let __t1659 = - v_W2732 + v_W2746 .clone( ); rt::apply_direct(interp, "shen.in->", &[__t1659])? }; { let __t1660 = - v_W2734 + v_W2748 .clone( ); let __t1663 = { - let __t1661 = v_W2728.clone(); - let __t1662 = v_W2733.clone(); + let __t1661 = v_W2742.clone(); + let __t1662 = v_W2747.clone(); rt::apply_direct(interp, "shen.compute-E", &[__t1661, __t1662])? }; rt::apply_direct(interp, "shen.comb", &[__t1660, __t1663])? @@ -10082,7 +10082,7 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( }; { let __t1668 = { - let __t1667 = v_W2726.clone(); + let __t1667 = v_W2740.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1667])? }; if match rt::is_truthy(interp, &__t1668) { @@ -10091,12 +10091,12 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2726.clone()); + break Ok(v_W2740.clone()); } } } } else { - break Ok(v_W2717.clone()); + break Ok(v_W2731.clone()); } } } @@ -10117,18 +10117,18 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2735 = args[0].clone(); + let mut v_V2749 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2736 = { - let v_W2737 = { - let __t1669 = v_V2735.clone(); + let v_W2750 = { + let v_W2751 = { + let __t1669 = v_V2749.clone(); rt::apply_direct(interp, "shen.", &[__t1669])? }; { let __t1679 = { - let __t1670 = v_W2737.clone(); + let __t1670 = v_W2751.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1670])? }; if rt::is_truthy(interp, &__t1679)? { @@ -10137,18 +10137,18 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2738 = { - let __t1671 = v_W2737.clone(); + let v_W2752 = { + let __t1671 = v_W2751.clone(); rt::apply_direct(interp, "shen.in->", &[__t1671])? }; { - let v_W2739 = { - let __t1672 = v_W2738.clone(); + let v_W2753 = { + let __t1672 = v_W2752.clone(); rt::apply_direct(interp, "shen.", &[__t1672])? }; { let __t1678 = { - let __t1673 = v_W2739.clone(); + let __t1673 = v_W2753.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1673])? }; if rt::is_truthy(interp, &__t1678)? { @@ -10157,13 +10157,13 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2740 = { - let __t1674 = v_W2739.clone(); + let v_W2754 = { + let __t1674 = v_W2753.clone(); rt::apply_direct(interp, "shen.<-out", &[__t1674])? }; { - let v_W2741 = { - let __t1675 = v_W2739.clone(); + let v_W2755 = { + let __t1675 = v_W2753.clone(); rt::apply_direct( interp, "shen.in->", @@ -10171,8 +10171,8 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let __t1676 = v_W2741.clone(); - let __t1677 = v_W2740.clone(); + let __t1676 = v_W2755.clone(); + let __t1677 = v_W2754.clone(); rt::apply_direct( interp, "shen.comb", @@ -10190,7 +10190,7 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1681 = { - let __t1680 = v_W2736.clone(); + let __t1680 = v_W2750.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1680])? }; if match rt::is_truthy(interp, &__t1681) { @@ -10198,14 +10198,14 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W2742 = { - let v_W2743 = { - let __t1682 = v_V2735.clone(); + let v_W2756 = { + let v_W2757 = { + let __t1682 = v_V2749.clone(); rt::apply_direct(interp, "shen.", &[__t1682])? }; { let __t1694 = { - let __t1683 = v_W2743.clone(); + let __t1683 = v_W2757.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1683])? }; if rt::is_truthy(interp, &__t1694)? { @@ -10214,13 +10214,13 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2744 = { - let __t1684 = v_W2743.clone(); + let v_W2758 = { + let __t1684 = v_W2757.clone(); rt::apply_direct(interp, "shen.in->", &[__t1684])? }; { - let v_W2745 = { - let __t1685 = v_W2744.clone(); + let v_W2759 = { + let __t1685 = v_W2758.clone(); rt::apply_direct( interp, "shen.", @@ -10229,7 +10229,7 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1693 = { - let __t1686 = v_W2745.clone(); + let __t1686 = v_W2759.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -10246,8 +10246,8 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2746 = { - let __t1687 = v_W2745.clone(); + let v_W2760 = { + let __t1687 = v_W2759.clone(); rt::apply_direct( interp, "shen.<-out", @@ -10255,8 +10255,8 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W2747 = { - let __t1688 = v_W2745.clone(); + let v_W2761 = { + let __t1688 = v_W2759.clone(); rt::apply_direct( interp, "shen.in->", @@ -10264,10 +10264,10 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let __t1689 = v_W2747.clone(); + let __t1689 = v_W2761.clone(); let __t1692 = { let __t1690 = Value::int(0i64); - let __t1691 = v_W2746.clone(); + let __t1691 = v_W2760.clone(); rt::sub(&__t1690, &__t1691)? }; rt::apply_direct( @@ -10287,7 +10287,7 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1696 = { - let __t1695 = v_W2742.clone(); + let __t1695 = v_W2756.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1695])? }; if match rt::is_truthy(interp, &__t1696) { @@ -10295,14 +10295,14 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W2748 = { - let v_W2749 = { - let __t1697 = v_V2735.clone(); + let v_W2762 = { + let v_W2763 = { + let __t1697 = v_V2749.clone(); rt::apply_direct(interp, "shen.", &[__t1697])? }; { let __t1703 = { - let __t1698 = v_W2749.clone(); + let __t1698 = v_W2763.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -10319,8 +10319,8 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W2750 = { - let __t1699 = v_W2749.clone(); + let v_W2764 = { + let __t1699 = v_W2763.clone(); rt::apply_direct( interp, "shen.<-out", @@ -10328,8 +10328,8 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W2751 = { - let __t1700 = v_W2749.clone(); + let v_W2765 = { + let __t1700 = v_W2763.clone(); rt::apply_direct( interp, "shen.in->", @@ -10337,8 +10337,8 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let __t1701 = v_W2751.clone(); - let __t1702 = v_W2750.clone(); + let __t1701 = v_W2765.clone(); + let __t1702 = v_W2764.clone(); rt::apply_direct( interp, "shen.comb", @@ -10352,7 +10352,7 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t1705 = { - let __t1704 = v_W2748.clone(); + let __t1704 = v_W2762.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -10367,17 +10367,17 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2748.clone()); + break Ok(v_W2762.clone()); } } } } else { - break Ok(v_W2742.clone()); + break Ok(v_W2756.clone()); } } } } else { - break Ok(v_W2736.clone()); + break Ok(v_W2750.clone()); } } } @@ -10398,24 +10398,24 @@ pub fn aot_shen_x2e__x3c_lowE_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V2752 = args[0].clone(); + let mut v_V2766 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2753 = { + let v_W2767 = { let __t1711 = { - let __t1706 = v_V2752.clone(); + let __t1706 = v_V2766.clone(); let __t1707 = Value::int(101i64); rt::apply_direct(interp, "shen.hds=?", &[__t1706, __t1707])? }; if rt::is_truthy(interp, &__t1711)? { { - let v_W2754 = { - let __t1708 = v_V2752.clone(); + let v_W2768 = { + let __t1708 = v_V2766.clone(); rt::apply_direct(interp, "tail", &[__t1708])? }; { - let __t1709 = v_W2754.clone(); + let __t1709 = v_W2768.clone(); let __t1710 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1709, __t1710])? } @@ -10428,7 +10428,7 @@ pub fn aot_shen_x2e__x3c_lowE_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t1713 = { - let __t1712 = v_W2753.clone(); + let __t1712 = v_W2767.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1712])? }; if match rt::is_truthy(interp, &__t1713) { @@ -10437,7 +10437,7 @@ pub fn aot_shen_x2e__x3c_lowE_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2753.clone()); + break Ok(v_W2767.clone()); } } } @@ -10458,16 +10458,16 @@ pub fn aot_shen_x2e_compute_x2d_E(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2755 = args[0].clone(); + let mut v_V2769 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2756 = args[1].clone(); + let mut v_V2770 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t1714 = v_V2755.clone(); + let __t1714 = v_V2769.clone(); let __t1717 = { let __t1715 = Value::int(10i64); - let __t1716 = v_V2756.clone(); + let __t1716 = v_V2770.clone(); rt::apply_direct(interp, "shen.expt", &[__t1715, __t1716])? }; rt::mul(&__t1714, &__t1717)? @@ -10492,18 +10492,18 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( ))); } #[allow(unused_mut)] - let mut v_V2757 = args[0].clone(); + let mut v_V2771 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2758 = { - let v_W2759 = { - let __t1718 = v_V2757.clone(); + let v_W2772 = { + let v_W2773 = { + let __t1718 = v_V2771.clone(); rt::apply_direct(interp, "shen.", &[__t1718])? }; { let __t1727 = { - let __t1719 = v_W2759.clone(); + let __t1719 = v_W2773.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1719])? }; if rt::is_truthy(interp, &__t1727)? { @@ -10512,18 +10512,18 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( } } else { { - let v_W2760 = { - let __t1720 = v_W2759.clone(); + let v_W2774 = { + let __t1720 = v_W2773.clone(); rt::apply_direct(interp, "shen.in->", &[__t1720])? }; { - let v_W2761 = { - let __t1721 = v_W2760.clone(); + let v_W2775 = { + let __t1721 = v_W2774.clone(); rt::apply_direct(interp, "shen.", &[__t1721])? }; { let __t1726 = { - let __t1722 = v_W2761.clone(); + let __t1722 = v_W2775.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1722])? }; if rt::is_truthy(interp, &__t1726)? { @@ -10532,12 +10532,12 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( } } else { { - let v_W2762 = { - let __t1723 = v_W2761.clone(); + let v_W2776 = { + let __t1723 = v_W2775.clone(); rt::apply_direct(interp, "shen.in->", &[__t1723])? }; { - let __t1724 = v_W2762.clone(); + let __t1724 = v_W2776.clone(); let __t1725 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( @@ -10556,7 +10556,7 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( }; { let __t1729 = { - let __t1728 = v_W2758.clone(); + let __t1728 = v_W2772.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1728])? }; if match rt::is_truthy(interp, &__t1729) { @@ -10564,14 +10564,14 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( Err(e) => break Err(e), } { { - let v_W2763 = { - let v_W2764 = { - let __t1730 = v_V2757.clone(); + let v_W2777 = { + let v_W2778 = { + let __t1730 = v_V2771.clone(); rt::apply_direct(interp, "shen.", &[__t1730])? }; { let __t1735 = { - let __t1731 = v_W2764.clone(); + let __t1731 = v_W2778.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1731])? }; if rt::is_truthy(interp, &__t1735)? { @@ -10580,12 +10580,12 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( } } else { { - let v_W2765 = { - let __t1732 = v_W2764.clone(); + let v_W2779 = { + let __t1732 = v_W2778.clone(); rt::apply_direct(interp, "shen.in->", &[__t1732])? }; { - let __t1733 = v_W2765.clone(); + let __t1733 = v_W2779.clone(); let __t1734 = Value::sym(interp.intern("shen.skip")); rt::apply_direct( interp, @@ -10599,7 +10599,7 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( }; { let __t1737 = { - let __t1736 = v_W2763.clone(); + let __t1736 = v_W2777.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1736])? }; if match rt::is_truthy(interp, &__t1737) { @@ -10608,12 +10608,12 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2763.clone()); + break Ok(v_W2777.clone()); } } } } else { - break Ok(v_W2758.clone()); + break Ok(v_W2772.clone()); } } } @@ -10634,34 +10634,34 @@ pub fn aot_shen_x2e__x3c_whitespace_x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2766 = args[0].clone(); + let mut v_V2780 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2767 = { + let v_W2781 = { let __t1745 = { - let __t1738 = v_V2766.clone(); + let __t1738 = v_V2780.clone(); rt::is_cons(&__t1738) }; if rt::is_truthy(interp, &__t1745)? { { - let v_W2768 = { - let __t1739 = v_V2766.clone(); + let v_W2782 = { + let __t1739 = v_V2780.clone(); rt::apply_direct(interp, "head", &[__t1739])? }; { - let v_W2769 = { - let __t1740 = v_V2766.clone(); + let v_W2783 = { + let __t1740 = v_V2780.clone(); rt::apply_direct(interp, "tail", &[__t1740])? }; { let __t1744 = { - let __t1741 = v_W2768.clone(); + let __t1741 = v_W2782.clone(); rt::apply_direct(interp, "shen.whitespace?", &[__t1741])? }; if rt::is_truthy(interp, &__t1744)? { { - let __t1742 = v_W2769.clone(); + let __t1742 = v_W2783.clone(); let __t1743 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t1742, __t1743])? } @@ -10681,7 +10681,7 @@ pub fn aot_shen_x2e__x3c_whitespace_x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t1747 = { - let __t1746 = v_W2767.clone(); + let __t1746 = v_W2781.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t1746])? }; if match rt::is_truthy(interp, &__t1747) { @@ -10690,7 +10690,7 @@ pub fn aot_shen_x2e__x3c_whitespace_x3e_(interp: &mut Interp, args: &[Value]) -> } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W2767.clone()); + break Ok(v_W2781.clone()); } } } @@ -10711,13 +10711,13 @@ pub fn aot_shen_x2e_whitespace_x3f_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V2772 = args[0].clone(); + let mut v_V2786 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1760 = { let __t1758 = Value::int(32i64); - let __t1759 = v_V2772.clone(); + let __t1759 = v_V2786.clone(); rt::eq(&__t1758, &__t1759) }; if match rt::is_truthy(interp, &__t1760) { @@ -10729,7 +10729,7 @@ pub fn aot_shen_x2e_whitespace_x3f_(interp: &mut Interp, args: &[Value]) -> Shen { let __t1757 = { let __t1755 = Value::int(13i64); - let __t1756 = v_V2772.clone(); + let __t1756 = v_V2786.clone(); rt::eq(&__t1755, &__t1756) }; if match rt::is_truthy(interp, &__t1757) { @@ -10741,7 +10741,7 @@ pub fn aot_shen_x2e_whitespace_x3f_(interp: &mut Interp, args: &[Value]) -> Shen { let __t1754 = { let __t1752 = Value::int(10i64); - let __t1753 = v_V2772.clone(); + let __t1753 = v_V2786.clone(); rt::eq(&__t1752, &__t1753) }; if match rt::is_truthy(interp, &__t1754) { @@ -10753,7 +10753,7 @@ pub fn aot_shen_x2e_whitespace_x3f_(interp: &mut Interp, args: &[Value]) -> Shen { let __t1751 = { let __t1749 = Value::int(9i64); - let __t1750 = v_V2772.clone(); + let __t1750 = v_V2786.clone(); rt::eq(&__t1749, &__t1750) }; if match rt::is_truthy(interp, &__t1751) { @@ -10803,13 +10803,13 @@ pub fn aot_shen_x2e_unpackage_x26_macroexpand( ))); } #[allow(unused_mut)] - let mut v_V2773 = args[0].clone(); + let mut v_V2787 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1791 = { let __t1789 = Value::nil(); - let __t1790 = v_V2773.clone(); + let __t1790 = v_V2787.clone(); rt::eq(&__t1789, &__t1790) }; if match rt::is_truthy(interp, &__t1791) { @@ -10821,7 +10821,7 @@ pub fn aot_shen_x2e_unpackage_x26_macroexpand( { let __t1788 = { let __t1780 = { - let __t1777 = v_V2773.clone(); + let __t1777 = v_V2787.clone(); rt::is_cons(&__t1777) }; if !rt::is_truthy(interp, &__t1780)? { @@ -10829,7 +10829,7 @@ pub fn aot_shen_x2e_unpackage_x26_macroexpand( } else { let __t1781 = { let __t1779 = { - let __t1778 = v_V2773.clone(); + let __t1778 = v_V2787.clone(); rt::hd(&__t1778)? }; rt::apply_direct(interp, "shen.packaged?", &[__t1779])? @@ -10845,24 +10845,24 @@ pub fn aot_shen_x2e_unpackage_x26_macroexpand( let __t1787 = { let __t1784 = { let __t1783 = { - let __t1782 = v_V2773.clone(); + let __t1782 = v_V2787.clone(); rt::hd(&__t1782)? }; rt::apply_direct(interp, "shen.unpackage", &[__t1783])? }; let __t1786 = { - let __t1785 = v_V2773.clone(); + let __t1785 = v_V2787.clone(); rt::tl(&__t1785)? }; rt::apply_direct(interp, "append", &[__t1784, __t1786])? }; - v_V2773 = __t1787; + v_V2787 = __t1787; continue; } } else { { let __t1776 = { - let __t1763 = v_V2773.clone(); + let __t1763 = v_V2787.clone(); rt::is_cons(&__t1763) }; if match rt::is_truthy(interp, &__t1776) { @@ -10870,16 +10870,16 @@ pub fn aot_shen_x2e_unpackage_x26_macroexpand( Err(e) => break Err(e), } { { - let v_W2774 = { + let v_W2788 = { let __t1765 = { - let __t1764 = v_V2773.clone(); + let __t1764 = v_V2787.clone(); rt::hd(&__t1764)? }; rt::apply_direct(interp, "macroexpand", &[__t1765])? }; { let __t1767 = { - let __t1766 = v_W2774.clone(); + let __t1766 = v_W2788.clone(); rt::apply_direct(interp, "shen.packaged?", &[__t1766])? }; if match rt::is_truthy(interp, &__t1767) { @@ -10888,22 +10888,22 @@ pub fn aot_shen_x2e_unpackage_x26_macroexpand( } { { let __t1771 = { - let __t1768 = v_W2774.clone(); + let __t1768 = v_W2788.clone(); let __t1770 = { - let __t1769 = v_V2773.clone(); + let __t1769 = v_V2787.clone(); rt::tl(&__t1769)? }; rt::cons(&__t1768, &__t1770) }; - v_V2773 = __t1771; + v_V2787 = __t1771; continue; } } else { break Ok({ - let __t1772 = v_W2774.clone(); + let __t1772 = v_W2788.clone(); let __t1775 = { let __t1774 = { - let __t1773 = v_V2773.clone(); + let __t1773 = v_V2787.clone(); rt::tl(&__t1773)? }; rt::apply_direct( @@ -10964,13 +10964,13 @@ pub fn aot_shen_x2e_packaged_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2777 = args[0].clone(); + let mut v_V2791 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1808 = { let __t1806 = { - let __t1793 = v_V2777.clone(); + let __t1793 = v_V2791.clone(); rt::is_cons(&__t1793) }; if !rt::is_truthy(interp, &__t1806)? { @@ -10980,7 +10980,7 @@ pub fn aot_shen_x2e_packaged_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe let __t1804 = { let __t1794 = Value::sym(interp.intern("package")); let __t1796 = { - let __t1795 = v_V2777.clone(); + let __t1795 = v_V2791.clone(); rt::hd(&__t1795)? }; rt::eq(&__t1794, &__t1796) @@ -10991,7 +10991,7 @@ pub fn aot_shen_x2e_packaged_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe let __t1805 = { let __t1802 = { let __t1798 = { - let __t1797 = v_V2777.clone(); + let __t1797 = v_V2791.clone(); rt::tl(&__t1797)? }; rt::is_cons(&__t1798) @@ -11002,7 +11002,7 @@ pub fn aot_shen_x2e_packaged_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe let __t1803 = { let __t1801 = { let __t1800 = { - let __t1799 = v_V2777.clone(); + let __t1799 = v_V2791.clone(); rt::tl(&__t1799)? }; rt::tl(&__t1800)? @@ -11054,13 +11054,13 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V2780 = args[0].clone(); + let mut v_V2794 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1876 = { let __t1871 = { - let __t1852 = v_V2780.clone(); + let __t1852 = v_V2794.clone(); rt::is_cons(&__t1852) }; if !rt::is_truthy(interp, &__t1871)? { @@ -11070,7 +11070,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1869 = { let __t1853 = Value::sym(interp.intern("package")); let __t1855 = { - let __t1854 = v_V2780.clone(); + let __t1854 = v_V2794.clone(); rt::hd(&__t1854)? }; rt::eq(&__t1853, &__t1855) @@ -11081,7 +11081,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1870 = { let __t1867 = { let __t1857 = { - let __t1856 = v_V2780.clone(); + let __t1856 = v_V2794.clone(); rt::tl(&__t1856)? }; rt::is_cons(&__t1857) @@ -11094,7 +11094,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1858 = Value::sym(interp.intern("null")); let __t1861 = { let __t1860 = { - let __t1859 = v_V2780.clone(); + let __t1859 = v_V2794.clone(); rt::tl(&__t1859)? }; rt::hd(&__t1860)? @@ -11107,7 +11107,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1866 = { let __t1864 = { let __t1863 = { - let __t1862 = v_V2780.clone(); + let __t1862 = v_V2794.clone(); rt::tl(&__t1862)? }; rt::tl(&__t1863)? @@ -11133,7 +11133,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok({ let __t1875 = { let __t1874 = { - let __t1873 = v_V2780.clone(); + let __t1873 = v_V2794.clone(); rt::tl(&__t1873)? }; rt::tl(&__t1874)? @@ -11144,7 +11144,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t1851 = { let __t1824 = { - let __t1811 = v_V2780.clone(); + let __t1811 = v_V2794.clone(); rt::is_cons(&__t1811) }; if !rt::is_truthy(interp, &__t1824)? { @@ -11154,7 +11154,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1822 = { let __t1812 = Value::sym(interp.intern("package")); let __t1814 = { - let __t1813 = v_V2780.clone(); + let __t1813 = v_V2794.clone(); rt::hd(&__t1813)? }; rt::eq(&__t1812, &__t1814) @@ -11165,7 +11165,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1823 = { let __t1820 = { let __t1816 = { - let __t1815 = v_V2780.clone(); + let __t1815 = v_V2794.clone(); rt::tl(&__t1815)? }; rt::is_cons(&__t1816) @@ -11176,7 +11176,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1821 = { let __t1819 = { let __t1818 = { - let __t1817 = v_V2780.clone(); + let __t1817 = v_V2794.clone(); rt::tl(&__t1817)? }; rt::tl(&__t1818)? @@ -11197,11 +11197,11 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let v_W2781 = { + let v_W2795 = { let __t1829 = { let __t1828 = { let __t1827 = { - let __t1826 = v_V2780.clone(); + let __t1826 = v_V2794.clone(); rt::tl(&__t1826)? }; rt::tl(&__t1827)? @@ -11211,22 +11211,22 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult rt::apply_direct(interp, "eval", &[__t1829])? }; { - let v_W2782 = { + let v_W2796 = { let __t1833 = { let __t1832 = { let __t1831 = { - let __t1830 = v_V2780.clone(); + let __t1830 = v_V2794.clone(); rt::tl(&__t1830)? }; rt::hd(&__t1831)? }; rt::apply_direct(interp, "str", &[__t1832])? }; - let __t1834 = v_W2781.clone(); + let __t1834 = v_W2795.clone(); let __t1838 = { let __t1837 = { let __t1836 = { - let __t1835 = v_V2780.clone(); + let __t1835 = v_V2794.clone(); rt::tl(&__t1835)? }; rt::tl(&__t1836)? @@ -11240,15 +11240,15 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult )? }; { - let v_W2783 = { + let v_W2797 = { let __t1841 = { let __t1840 = { - let __t1839 = v_V2780.clone(); + let __t1839 = v_V2794.clone(); rt::tl(&__t1839)? }; rt::hd(&__t1840)? }; - let __t1842 = v_W2781.clone(); + let __t1842 = v_W2795.clone(); rt::apply_direct( interp, "shen.record-external", @@ -11256,19 +11256,19 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult )? }; { - let v_W2784 = { + let v_W2798 = { let __t1845 = { let __t1844 = { - let __t1843 = v_V2780.clone(); + let __t1843 = v_V2794.clone(); rt::tl(&__t1843)? }; rt::hd(&__t1844)? }; - let __t1846 = v_W2781.clone(); + let __t1846 = v_W2795.clone(); let __t1850 = { let __t1849 = { let __t1848 = { - let __t1847 = v_V2780.clone(); + let __t1847 = v_V2794.clone(); rt::tl(&__t1847)? }; rt::tl(&__t1848)? @@ -11281,7 +11281,7 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult &[__t1845, __t1846, __t1850], )? }; - break Ok(v_W2782.clone()); + break Ok(v_W2796.clone()); } } } @@ -11322,17 +11322,17 @@ pub fn aot_shen_x2e_record_x2d_internal(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2785 = args[0].clone(); + let mut v_V2799 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2786 = args[1].clone(); + let mut v_V2800 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2787 = args[2].clone(); + let mut v_V2801 = args[2].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2788 = match (|| -> ShenResult { + let v_W2802 = match (|| -> ShenResult { Ok({ - let __t1877 = v_V2785.clone(); + let __t1877 = v_V2799.clone(); let __t1878 = Value::sym(interp.intern("shen.internal-symbols")); let __t1880 = { let __t1879 = Value::sym(interp.intern("*property-vector*")); @@ -11348,7 +11348,7 @@ pub fn aot_shen_x2e_record_x2d_internal(interp: &mut Interp, args: &[Value]) -> "", 1, move |interp, args| { - let v_Z2789 = args[0].clone(); + let v_Z2803 = args[0].clone(); Ok(Value::nil()) }, Vec::new(), @@ -11360,13 +11360,13 @@ pub fn aot_shen_x2e_record_x2d_internal(interp: &mut Interp, args: &[Value]) -> } }; { - let v_W2790 = { + let v_W2804 = { let __t1882 = { - let __t1881 = v_V2785.clone(); + let __t1881 = v_V2799.clone(); rt::apply_direct(interp, "str", &[__t1881])? }; - let __t1883 = v_V2786.clone(); - let __t1884 = v_V2787.clone(); + let __t1883 = v_V2800.clone(); + let __t1884 = v_V2801.clone(); rt::apply_direct( interp, "shen.internal-symbols", @@ -11374,11 +11374,11 @@ pub fn aot_shen_x2e_record_x2d_internal(interp: &mut Interp, args: &[Value]) -> )? }; break Ok({ - let __t1885 = v_V2785.clone(); + let __t1885 = v_V2799.clone(); let __t1886 = Value::sym(interp.intern("shen.internal-symbols")); let __t1889 = { - let __t1887 = v_W2790.clone(); - let __t1888 = v_W2788.clone(); + let __t1887 = v_W2804.clone(); + let __t1888 = v_W2802.clone(); rt::apply_direct(interp, "union", &[__t1887, __t1888])? }; let __t1891 = { @@ -11406,16 +11406,16 @@ pub fn aot_shen_x2e_internal_x2d_symbols(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2797 = args[0].clone(); + let mut v_V2811 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2798 = args[1].clone(); + let mut v_V2812 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2799 = args[2].clone(); + let mut v_V2813 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t1912 = { - let __t1901 = v_V2799.clone(); + let __t1901 = v_V2813.clone(); rt::is_cons(&__t1901) }; if match rt::is_truthy(interp, &__t1912) { @@ -11424,10 +11424,10 @@ pub fn aot_shen_x2e_internal_x2d_symbols(interp: &mut Interp, args: &[Value]) -> } { break Ok({ let __t1906 = { - let __t1902 = v_V2797.clone(); - let __t1903 = v_V2798.clone(); + let __t1902 = v_V2811.clone(); + let __t1903 = v_V2812.clone(); let __t1905 = { - let __t1904 = v_V2799.clone(); + let __t1904 = v_V2813.clone(); rt::hd(&__t1904)? }; rt::apply_direct( @@ -11437,10 +11437,10 @@ pub fn aot_shen_x2e_internal_x2d_symbols(interp: &mut Interp, args: &[Value]) -> )? }; let __t1911 = { - let __t1907 = v_V2797.clone(); - let __t1908 = v_V2798.clone(); + let __t1907 = v_V2811.clone(); + let __t1908 = v_V2812.clone(); let __t1910 = { - let __t1909 = v_V2799.clone(); + let __t1909 = v_V2813.clone(); rt::tl(&__t1909)? }; rt::apply_direct( @@ -11454,9 +11454,9 @@ pub fn aot_shen_x2e_internal_x2d_symbols(interp: &mut Interp, args: &[Value]) -> } else { { let __t1900 = { - let __t1893 = v_V2799.clone(); - let __t1894 = v_V2797.clone(); - let __t1895 = v_V2798.clone(); + let __t1893 = v_V2813.clone(); + let __t1894 = v_V2811.clone(); + let __t1895 = v_V2812.clone(); rt::apply_direct(interp, "shen.internal?", &[__t1893, __t1894, __t1895])? }; if match rt::is_truthy(interp, &__t1900) { @@ -11465,8 +11465,8 @@ pub fn aot_shen_x2e_internal_x2d_symbols(interp: &mut Interp, args: &[Value]) -> } { break Ok({ let __t1898 = { - let __t1896 = v_V2797.clone(); - let __t1897 = v_V2799.clone(); + let __t1896 = v_V2811.clone(); + let __t1897 = v_V2813.clone(); rt::apply_direct( interp, "shen.intern-in-package", @@ -11513,15 +11513,15 @@ pub fn aot_shen_x2e_record_x2d_external(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2800 = args[0].clone(); + let mut v_V2814 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2801 = args[1].clone(); + let mut v_V2815 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2802 = match (|| -> ShenResult { + let v_W2816 = match (|| -> ShenResult { Ok({ - let __t1913 = v_V2800.clone(); + let __t1913 = v_V2814.clone(); let __t1914 = Value::sym(interp.intern("shen.external-symbols")); let __t1916 = { let __t1915 = Value::sym(interp.intern("*property-vector*")); @@ -11537,7 +11537,7 @@ pub fn aot_shen_x2e_record_x2d_external(interp: &mut Interp, args: &[Value]) -> "", 1, move |interp, args| { - let v_Z2803 = args[0].clone(); + let v_Z2817 = args[0].clone(); Ok(Value::nil()) }, Vec::new(), @@ -11549,11 +11549,11 @@ pub fn aot_shen_x2e_record_x2d_external(interp: &mut Interp, args: &[Value]) -> } }; break Ok({ - let __t1917 = v_V2800.clone(); + let __t1917 = v_V2814.clone(); let __t1918 = Value::sym(interp.intern("shen.external-symbols")); let __t1921 = { - let __t1919 = v_V2801.clone(); - let __t1920 = v_W2802.clone(); + let __t1919 = v_V2815.clone(); + let __t1920 = v_W2816.clone(); rt::apply_direct(interp, "union", &[__t1919, __t1920])? }; let __t1923 = { @@ -11580,16 +11580,16 @@ pub fn aot_shen_x2e_package_x2d_symbols(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2808 = args[0].clone(); + let mut v_V2822 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2809 = args[1].clone(); + let mut v_V2823 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2810 = args[2].clone(); + let mut v_V2824 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t1937 = { - let __t1931 = v_V2810.clone(); + let __t1931 = v_V2824.clone(); rt::is_cons(&__t1931) }; if match rt::is_truthy(interp, &__t1937) { @@ -11598,17 +11598,17 @@ pub fn aot_shen_x2e_package_x2d_symbols(interp: &mut Interp, args: &[Value]) -> } { break Ok({ let __t1935 = { - let v_V2808 = v_V2808.clone(); - let v_V2809 = v_V2809.clone(); + let v_V2822 = v_V2822.clone(); + let v_V2823 = v_V2823.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2811 = args[0].clone(); + let v_Z2825 = args[0].clone(); Ok({ - let __t1932 = v_V2808.clone(); - let __t1933 = v_V2809.clone(); - let __t1934 = v_Z2811.clone(); + let __t1932 = v_V2822.clone(); + let __t1933 = v_V2823.clone(); + let __t1934 = v_Z2825.clone(); rt::apply_direct( interp, "shen.package-symbols", @@ -11616,19 +11616,19 @@ pub fn aot_shen_x2e_package_x2d_symbols(interp: &mut Interp, args: &[Value]) -> )? }) }, - vec![v_V2808, v_V2809], + vec![v_V2822, v_V2823], interp, ) }; - let __t1936 = v_V2810.clone(); + let __t1936 = v_V2824.clone(); rt::apply_direct(interp, "map", &[__t1935, __t1936])? }); } else { { let __t1930 = { - let __t1925 = v_V2810.clone(); - let __t1926 = v_V2808.clone(); - let __t1927 = v_V2809.clone(); + let __t1925 = v_V2824.clone(); + let __t1926 = v_V2822.clone(); + let __t1927 = v_V2823.clone(); rt::apply_direct(interp, "shen.internal?", &[__t1925, __t1926, __t1927])? }; if match rt::is_truthy(interp, &__t1930) { @@ -11636,8 +11636,8 @@ pub fn aot_shen_x2e_package_x2d_symbols(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { break Ok({ - let __t1928 = v_V2808.clone(); - let __t1929 = v_V2810.clone(); + let __t1928 = v_V2822.clone(); + let __t1929 = v_V2824.clone(); rt::apply_direct(interp, "shen.intern-in-package", &[__t1928, __t1929])? }); } else { @@ -11647,7 +11647,7 @@ pub fn aot_shen_x2e_package_x2d_symbols(interp: &mut Interp, args: &[Value]) -> Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2810.clone()); + break Ok(v_V2824.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -11676,18 +11676,18 @@ pub fn aot_shen_x2e_intern_x2d_in_x2d_package( ))); } #[allow(unused_mut)] - let mut v_V2812 = args[0].clone(); + let mut v_V2826 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2813 = args[1].clone(); + let mut v_V2827 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t1943 = { - let __t1938 = v_V2812.clone(); + let __t1938 = v_V2826.clone(); let __t1942 = { let __t1939 = Value::str("."); let __t1941 = { - let __t1940 = v_V2813.clone(); + let __t1940 = v_V2827.clone(); rt::apply_direct(interp, "str", &[__t1940])? }; rt::apply_direct(interp, "@s", &[__t1939, __t1941])? @@ -11720,18 +11720,18 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V2814 = args[0].clone(); + let mut v_V2828 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2815 = args[1].clone(); + let mut v_V2829 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2816 = args[2].clone(); + let mut v_V2830 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t1947 = { let __t1946 = { - let __t1944 = v_V2814.clone(); - let __t1945 = v_V2816.clone(); + let __t1944 = v_V2828.clone(); + let __t1945 = v_V2830.clone(); rt::apply_direct(interp, "element?", &[__t1944, __t1945])? }; rt::apply_direct(interp, "not", &[__t1946])? @@ -11745,7 +11745,7 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t1950 = { let __t1949 = { - let __t1948 = v_V2814.clone(); + let __t1948 = v_V2828.clone(); rt::apply_direct(interp, "shen.sng?", &[__t1948])? }; rt::apply_direct(interp, "not", &[__t1949])? @@ -11759,7 +11759,7 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t1953 = { let __t1952 = { - let __t1951 = v_V2814.clone(); + let __t1951 = v_V2828.clone(); rt::apply_direct(interp, "shen.dbl?", &[__t1951])? }; rt::apply_direct(interp, "not", &[__t1952])? @@ -11772,7 +11772,7 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe } else { { let __t1955 = { - let __t1954 = v_V2814.clone(); + let __t1954 = v_V2828.clone(); rt::is_symbol(&__t1954) }; if !match rt::is_truthy(interp, &__t1955) { @@ -11784,7 +11784,7 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t1958 = { let __t1957 = { - let __t1956 = v_V2814.clone(); + let __t1956 = v_V2828.clone(); rt::apply_direct( interp, "shen.sysfunc?", @@ -11802,7 +11802,7 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t1961 = { let __t1960 = { - let __t1959 = v_V2814.clone(); + let __t1959 = v_V2828.clone(); rt::apply_direct( interp, "variable?", @@ -11822,7 +11822,7 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe let __t1964 = { let __t1963 = { let __t1962 = - v_V2814.clone(); + v_V2828.clone(); rt::apply_direct( interp, "str", @@ -11852,10 +11852,10 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe break Ok({ let __t1969 = { let __t1966 = - v_V2815.clone(); + v_V2829.clone(); let __t1968 = { let __t1967 = - v_V2814.clone(); + v_V2828.clone(); rt::apply_direct( interp, "str", @@ -11908,13 +11908,13 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( ))); } #[allow(unused_mut)] - let mut v_V2821 = args[0].clone(); + let mut v_V2835 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2029 = { let __t2027 = { - let __t1971 = v_V2821.clone(); + let __t1971 = v_V2835.clone(); rt::apply_direct(interp, "shen.+string?", &[__t1971])? }; if !rt::is_truthy(interp, &__t2027)? { @@ -11924,7 +11924,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t2025 = { let __t1972 = Value::str("s"); let __t1974 = { - let __t1973 = v_V2821.clone(); + let __t1973 = v_V2835.clone(); rt::apply_direct(interp, "hdstr", &[__t1973])? }; rt::eq(&__t1972, &__t1974) @@ -11935,7 +11935,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t2026 = { let __t2023 = { let __t1976 = { - let __t1975 = v_V2821.clone(); + let __t1975 = v_V2835.clone(); rt::apply_direct(interp, "tlstr", &[__t1975])? }; rt::apply_direct(interp, "shen.+string?", &[__t1976])? @@ -11948,7 +11948,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t1977 = Value::str("h"); let __t1980 = { let __t1979 = { - let __t1978 = v_V2821.clone(); + let __t1978 = v_V2835.clone(); rt::apply_direct(interp, "tlstr", &[__t1978])? }; rt::apply_direct(interp, "hdstr", &[__t1979])? @@ -11962,7 +11962,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t2019 = { let __t1983 = { let __t1982 = { - let __t1981 = v_V2821.clone(); + let __t1981 = v_V2835.clone(); rt::apply_direct( interp, "tlstr", @@ -11991,7 +11991,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t1987 = { let __t1986 = { let __t1985 = - v_V2821.clone(); + v_V2835.clone(); rt::apply_direct( interp, "tlstr", @@ -12021,7 +12021,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t1991 = { let __t1990 = { let __t1989 = - v_V2821.clone(); + v_V2835.clone(); rt::apply_direct( interp, "tlstr", @@ -12058,7 +12058,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t1997 = { let __t1996 = { let __t1995 = { - let __t1994 = v_V2821.clone(); + let __t1994 = v_V2835.clone(); rt::apply_direct(interp, "tlstr", &[__t1994])? }; rt::apply_direct(interp, "tlstr", &[__t1995])? @@ -12085,7 +12085,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t2003 = { let __t2002 = { let __t2001 = { - let __t2000 = { let __t1999 = v_V2821.clone(); rt::apply_direct(interp, "tlstr", &[__t1999])? }; + let __t2000 = { let __t1999 = v_V2835.clone(); rt::apply_direct(interp, "tlstr", &[__t1999])? }; rt::apply_direct(interp, "tlstr", &[__t2000])? }; rt::apply_direct(interp, "tlstr", &[__t2001])? @@ -12106,7 +12106,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( let __t2004 = Value::str("."); let __t2010 = { let __t2009 = { - let __t2008 = { let __t2007 = { let __t2006 = { let __t2005 = v_V2821.clone(); rt::apply_direct(interp, "tlstr", &[__t2005])? }; rt::apply_direct(interp, "tlstr", &[__t2006])? }; rt::apply_direct(interp, "tlstr", &[__t2007])? }; + let __t2008 = { let __t2007 = { let __t2006 = { let __t2005 = v_V2835.clone(); rt::apply_direct(interp, "tlstr", &[__t2005])? }; rt::apply_direct(interp, "tlstr", &[__t2006])? }; rt::apply_direct(interp, "tlstr", &[__t2007])? }; rt::apply_direct(interp, "tlstr", &[__t2008])? }; rt::apply_direct(interp, "hdstr", &[__t2009])? @@ -12192,11 +12192,11 @@ pub fn aot_shen_x2e_sysfunc_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V2822 = args[0].clone(); + let mut v_V2836 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t2030 = v_V2822.clone(); + let __t2030 = v_V2836.clone(); let __t2035 = { let __t2031 = Value::sym(interp.intern("shen")); let __t2032 = Value::sym(interp.intern("shen.external-symbols")); @@ -12228,16 +12228,16 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_P_x3f_( ))); } #[allow(unused_mut)] - let mut v_V2830 = args[0].clone(); + let mut v_V2844 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2831 = args[1].clone(); + let mut v_V2845 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t2062 = { let __t2060 = { let __t2052 = Value::str(""); - let __t2053 = v_V2830.clone(); + let __t2053 = v_V2844.clone(); rt::eq(&__t2052, &__t2053) }; if !rt::is_truthy(interp, &__t2060)? { @@ -12245,7 +12245,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_P_x3f_( } else { let __t2061 = { let __t2058 = { - let __t2054 = v_V2831.clone(); + let __t2054 = v_V2845.clone(); rt::apply_direct(interp, "shen.+string?", &[__t2054])? }; if !rt::is_truthy(interp, &__t2058)? { @@ -12254,7 +12254,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_P_x3f_( let __t2059 = { let __t2055 = Value::str("."); let __t2057 = { - let __t2056 = v_V2831.clone(); + let __t2056 = v_V2845.clone(); rt::apply_direct(interp, "hdstr", &[__t2056])? }; rt::eq(&__t2055, &__t2057) @@ -12274,7 +12274,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_P_x3f_( { let __t2051 = { let __t2045 = { - let __t2037 = v_V2830.clone(); + let __t2037 = v_V2844.clone(); rt::apply_direct(interp, "shen.+string?", &[__t2037])? }; if !rt::is_truthy(interp, &__t2045)? { @@ -12282,7 +12282,7 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_P_x3f_( } else { let __t2046 = { let __t2043 = { - let __t2038 = v_V2831.clone(); + let __t2038 = v_V2845.clone(); rt::apply_direct(interp, "shen.+string?", &[__t2038])? }; if !rt::is_truthy(interp, &__t2043)? { @@ -12290,11 +12290,11 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_P_x3f_( } else { let __t2044 = { let __t2040 = { - let __t2039 = v_V2830.clone(); + let __t2039 = v_V2844.clone(); rt::apply_direct(interp, "hdstr", &[__t2039])? }; let __t2042 = { - let __t2041 = v_V2831.clone(); + let __t2041 = v_V2845.clone(); rt::apply_direct(interp, "hdstr", &[__t2041])? }; rt::eq(&__t2040, &__t2042) @@ -12311,15 +12311,15 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_P_x3f_( } { { let __t2048 = { - let __t2047 = v_V2830.clone(); + let __t2047 = v_V2844.clone(); rt::apply_direct(interp, "tlstr", &[__t2047])? }; let __t2050 = { - let __t2049 = v_V2831.clone(); + let __t2049 = v_V2845.clone(); rt::apply_direct(interp, "tlstr", &[__t2049])? }; - v_V2830 = __t2048; - v_V2831 = __t2050; + v_V2844 = __t2048; + v_V2845 = __t2050; continue; } } else { @@ -12365,27 +12365,27 @@ pub fn aot_shen_x2e_process_x2d_applications( ))); } #[allow(unused_mut)] - let mut v_V2834 = args[0].clone(); + let mut v_V2848 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2835 = args[1].clone(); + let mut v_V2849 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t2084 = { - let __t2082 = v_V2834.clone(); - let __t2083 = v_V2835.clone(); + let __t2082 = v_V2848.clone(); + let __t2083 = v_V2849.clone(); rt::apply_direct(interp, "element?", &[__t2082, __t2083])? }; if match rt::is_truthy(interp, &__t2084) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2834.clone()); + break Ok(v_V2848.clone()); } else { { let __t2081 = { let __t2075 = { - let __t2072 = v_V2834.clone(); + let __t2072 = v_V2848.clone(); rt::is_cons(&__t2072) }; if !rt::is_truthy(interp, &__t2075)? { @@ -12393,7 +12393,7 @@ pub fn aot_shen_x2e_process_x2d_applications( } else { let __t2076 = { let __t2074 = { - let __t2073 = v_V2834.clone(); + let __t2073 = v_V2848.clone(); rt::hd(&__t2073)? }; rt::apply_direct(interp, "shen.non-application?", &[__t2074])? @@ -12407,11 +12407,11 @@ pub fn aot_shen_x2e_process_x2d_applications( } { break Ok({ let __t2078 = { - let __t2077 = v_V2834.clone(); + let __t2077 = v_V2848.clone(); rt::hd(&__t2077)? }; - let __t2079 = v_V2834.clone(); - let __t2080 = v_V2835.clone(); + let __t2079 = v_V2848.clone(); + let __t2080 = v_V2849.clone(); rt::apply_direct( interp, "shen.special-case", @@ -12421,7 +12421,7 @@ pub fn aot_shen_x2e_process_x2d_applications( } else { { let __t2071 = { - let __t2064 = v_V2834.clone(); + let __t2064 = v_V2848.clone(); rt::is_cons(&__t2064) }; if match rt::is_truthy(interp, &__t2071) { @@ -12431,15 +12431,15 @@ pub fn aot_shen_x2e_process_x2d_applications( break Ok({ let __t2069 = { let __t2067 = { - let v_V2835 = v_V2835.clone(); + let v_V2849 = v_V2849.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2836 = args[0].clone(); + let v_Z2850 = args[0].clone(); Ok({ - let __t2065 = v_Z2836.clone(); - let __t2066 = v_V2835.clone(); + let __t2065 = v_Z2850.clone(); + let __t2066 = v_V2849.clone(); rt::apply_direct( interp, "shen.process-applications", @@ -12447,14 +12447,14 @@ pub fn aot_shen_x2e_process_x2d_applications( )? }) }, - vec![v_V2835], + vec![v_V2849], interp, ) }; - let __t2068 = v_V2834.clone(); + let __t2068 = v_V2848.clone(); rt::apply_direct(interp, "map", &[__t2067, __t2068])? }; - let __t2070 = v_V2835.clone(); + let __t2070 = v_V2849.clone(); rt::apply_direct( interp, "shen.process-application", @@ -12468,7 +12468,7 @@ pub fn aot_shen_x2e_process_x2d_applications( Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2834.clone()); + break Ok(v_V2848.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -12506,13 +12506,13 @@ pub fn aot_shen_x2e_non_x2d_application_x3f_( ))); } #[allow(unused_mut)] - let mut v_V2839 = args[0].clone(); + let mut v_V2853 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2098 = { let __t2096 = Value::sym(interp.intern("define")); - let __t2097 = v_V2839.clone(); + let __t2097 = v_V2853.clone(); rt::eq(&__t2096, &__t2097) }; if match rt::is_truthy(interp, &__t2098) { @@ -12524,7 +12524,7 @@ pub fn aot_shen_x2e_non_x2d_application_x3f_( { let __t2095 = { let __t2093 = Value::sym(interp.intern("defun")); - let __t2094 = v_V2839.clone(); + let __t2094 = v_V2853.clone(); rt::eq(&__t2093, &__t2094) }; if match rt::is_truthy(interp, &__t2095) { @@ -12536,7 +12536,7 @@ pub fn aot_shen_x2e_non_x2d_application_x3f_( { let __t2092 = { let __t2090 = Value::sym(interp.intern("synonyms")); - let __t2091 = v_V2839.clone(); + let __t2091 = v_V2853.clone(); rt::eq(&__t2090, &__t2091) }; if match rt::is_truthy(interp, &__t2092) { @@ -12547,7 +12547,7 @@ pub fn aot_shen_x2e_non_x2d_application_x3f_( } else { { let __t2089 = { - let __t2088 = v_V2839.clone(); + let __t2088 = v_V2853.clone(); rt::apply_direct(interp, "shen.special?", &[__t2088])? }; if match rt::is_truthy(interp, &__t2089) { @@ -12558,7 +12558,7 @@ pub fn aot_shen_x2e_non_x2d_application_x3f_( } else { { let __t2087 = { - let __t2086 = v_V2839.clone(); + let __t2086 = v_V2853.clone(); rt::apply_direct( interp, "shen.extraspecial?", @@ -12618,18 +12618,18 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2844 = args[0].clone(); + let mut v_V2858 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2845 = args[1].clone(); + let mut v_V2859 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2846 = args[2].clone(); + let mut v_V2860 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t2401 = { let __t2386 = { let __t2362 = Value::sym(interp.intern("lambda")); - let __t2363 = v_V2844.clone(); + let __t2363 = v_V2858.clone(); rt::eq(&__t2362, &__t2363) }; if !rt::is_truthy(interp, &__t2386)? { @@ -12637,7 +12637,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She } else { let __t2387 = { let __t2384 = { - let __t2364 = v_V2845.clone(); + let __t2364 = v_V2859.clone(); rt::is_cons(&__t2364) }; if !rt::is_truthy(interp, &__t2384)? { @@ -12647,7 +12647,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2382 = { let __t2365 = Value::sym(interp.intern("lambda")); let __t2367 = { - let __t2366 = v_V2845.clone(); + let __t2366 = v_V2859.clone(); rt::hd(&__t2366)? }; rt::eq(&__t2365, &__t2367) @@ -12658,7 +12658,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2383 = { let __t2380 = { let __t2369 = { - let __t2368 = v_V2845.clone(); + let __t2368 = v_V2859.clone(); rt::tl(&__t2368)? }; rt::is_cons(&__t2369) @@ -12670,7 +12670,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2378 = { let __t2372 = { let __t2371 = { - let __t2370 = v_V2845.clone(); + let __t2370 = v_V2859.clone(); rt::tl(&__t2370)? }; rt::tl(&__t2371)? @@ -12685,7 +12685,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2377 = { let __t2376 = { let __t2375 = { - let __t2374 = v_V2845.clone(); + let __t2374 = v_V2859.clone(); rt::tl(&__t2374)? }; rt::tl(&__t2375)? @@ -12718,7 +12718,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2400 = { let __t2391 = { let __t2390 = { - let __t2389 = v_V2845.clone(); + let __t2389 = v_V2859.clone(); rt::tl(&__t2389)? }; rt::hd(&__t2390)? @@ -12728,14 +12728,14 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2395 = { let __t2394 = { let __t2393 = { - let __t2392 = v_V2845.clone(); + let __t2392 = v_V2859.clone(); rt::tl(&__t2392)? }; rt::tl(&__t2393)? }; rt::hd(&__t2394)? }; - let __t2396 = v_V2846.clone(); + let __t2396 = v_V2860.clone(); rt::apply_direct( interp, "shen.process-applications", @@ -12754,7 +12754,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2361 = { let __t2338 = { let __t2307 = Value::sym(interp.intern("let")); - let __t2308 = v_V2844.clone(); + let __t2308 = v_V2858.clone(); rt::eq(&__t2307, &__t2308) }; if !rt::is_truthy(interp, &__t2338)? { @@ -12762,7 +12762,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She } else { let __t2339 = { let __t2336 = { - let __t2309 = v_V2845.clone(); + let __t2309 = v_V2859.clone(); rt::is_cons(&__t2309) }; if !rt::is_truthy(interp, &__t2336)? { @@ -12772,7 +12772,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2334 = { let __t2310 = Value::sym(interp.intern("let")); let __t2312 = { - let __t2311 = v_V2845.clone(); + let __t2311 = v_V2859.clone(); rt::hd(&__t2311)? }; rt::eq(&__t2310, &__t2312) @@ -12783,7 +12783,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2335 = { let __t2332 = { let __t2314 = { - let __t2313 = v_V2845.clone(); + let __t2313 = v_V2859.clone(); rt::tl(&__t2313)? }; rt::is_cons(&__t2314) @@ -12795,7 +12795,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2330 = { let __t2317 = { let __t2316 = { - let __t2315 = v_V2845.clone(); + let __t2315 = v_V2859.clone(); rt::tl(&__t2315)? }; rt::tl(&__t2316)? @@ -12811,7 +12811,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2320 = { let __t2319 = { let __t2318 = - v_V2845.clone(); + v_V2859.clone(); rt::tl(&__t2318)? }; rt::tl(&__t2319)? @@ -12830,7 +12830,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2326 = { let __t2325 = { let __t2324 = { - let __t2323 = v_V2845.clone(); + let __t2323 = v_V2859.clone(); rt::tl(&__t2323)? }; rt::tl( @@ -12874,7 +12874,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2360 = { let __t2343 = { let __t2342 = { - let __t2341 = v_V2845.clone(); + let __t2341 = v_V2859.clone(); rt::tl(&__t2341)? }; rt::hd(&__t2342)? @@ -12884,14 +12884,14 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2347 = { let __t2346 = { let __t2345 = { - let __t2344 = v_V2845.clone(); + let __t2344 = v_V2859.clone(); rt::tl(&__t2344)? }; rt::tl(&__t2345)? }; rt::hd(&__t2346)? }; - let __t2348 = v_V2846.clone(); + let __t2348 = v_V2860.clone(); rt::apply_direct( interp, "shen.process-applications", @@ -12904,7 +12904,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2353 = { let __t2352 = { let __t2351 = { - let __t2350 = v_V2845.clone(); + let __t2350 = v_V2859.clone(); rt::tl(&__t2350)? }; rt::tl(&__t2351)? @@ -12913,7 +12913,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She }; rt::hd(&__t2353)? }; - let __t2355 = v_V2846.clone(); + let __t2355 = v_V2860.clone(); rt::apply_direct( interp, "shen.process-applications", @@ -12934,7 +12934,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2306 = { let __t2304 = { let __t2273 = Value::sym(interp.intern("defun")); - let __t2274 = v_V2844.clone(); + let __t2274 = v_V2858.clone(); rt::eq(&__t2273, &__t2274) }; if !rt::is_truthy(interp, &__t2304)? { @@ -12942,7 +12942,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She } else { let __t2305 = { let __t2302 = { - let __t2275 = v_V2845.clone(); + let __t2275 = v_V2859.clone(); rt::is_cons(&__t2275) }; if !rt::is_truthy(interp, &__t2302)? { @@ -12953,7 +12953,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2276 = Value::sym(interp.intern("defun")); let __t2278 = { - let __t2277 = v_V2845.clone(); + let __t2277 = v_V2859.clone(); rt::hd(&__t2277)? }; rt::eq(&__t2276, &__t2278) @@ -12964,7 +12964,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2301 = { let __t2298 = { let __t2280 = { - let __t2279 = v_V2845.clone(); + let __t2279 = v_V2859.clone(); rt::tl(&__t2279)? }; rt::is_cons(&__t2280) @@ -12977,7 +12977,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2283 = { let __t2282 = { let __t2281 = - v_V2845.clone(); + v_V2859.clone(); rt::tl(&__t2281)? }; rt::tl(&__t2282)? @@ -12993,7 +12993,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2287 = { let __t2286 = { let __t2285 = { - let __t2284 = v_V2845.clone(); + let __t2284 = v_V2859.clone(); rt::tl(&__t2284)? }; rt::tl( @@ -13016,7 +13016,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2292 = { let __t2291 = { let __t2290 = { - let __t2289 = v_V2845.clone(); + let __t2289 = v_V2859.clone(); rt::tl(&__t2289)? }; rt::tl(&__t2290)? @@ -13063,13 +13063,13 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2845.clone()); + break Ok(v_V2859.clone()); } else { { let __t2272 = { let __t2254 = { let __t2230 = Value::sym(interp.intern("define")); - let __t2231 = v_V2844.clone(); + let __t2231 = v_V2858.clone(); rt::eq(&__t2230, &__t2231) }; if !rt::is_truthy(interp, &__t2254)? { @@ -13077,7 +13077,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She } else { let __t2255 = { let __t2252 = { - let __t2232 = v_V2845.clone(); + let __t2232 = v_V2859.clone(); rt::is_cons(&__t2232) }; if !rt::is_truthy(interp, &__t2252)? { @@ -13088,7 +13088,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2233 = Value::sym(interp.intern("define")); let __t2235 = { - let __t2234 = v_V2845.clone(); + let __t2234 = v_V2859.clone(); rt::hd(&__t2234)? }; rt::eq(&__t2233, &__t2235) @@ -13100,7 +13100,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2248 = { let __t2237 = { let __t2236 = - v_V2845.clone(); + v_V2859.clone(); rt::tl(&__t2236)? }; rt::is_cons(&__t2237) @@ -13114,7 +13114,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2240 = { let __t2239 = { let __t2238 = - v_V2845 + v_V2859 .clone( ); rt::tl( @@ -13141,7 +13141,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2245 = { let __t2244 = { let __t2243 = { - let __t2242 = v_V2845.clone(); + let __t2242 = v_V2859.clone(); rt::tl(&__t2242)? }; rt::tl(&__t2243)? @@ -13188,7 +13188,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2271 = { let __t2259 = { let __t2258 = { - let __t2257 = v_V2845.clone(); + let __t2257 = v_V2859.clone(); rt::tl(&__t2257)? }; rt::hd(&__t2258)? @@ -13198,7 +13198,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2269 = { let __t2263 = { let __t2262 = { - let __t2261 = v_V2845.clone(); + let __t2261 = v_V2859.clone(); rt::tl(&__t2261)? }; rt::hd(&__t2262)? @@ -13206,14 +13206,14 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2267 = { let __t2266 = { let __t2265 = { - let __t2264 = v_V2845.clone(); + let __t2264 = v_V2859.clone(); rt::tl(&__t2264)? }; rt::tl(&__t2265)? }; rt::tl(&__t2266)? }; - let __t2268 = v_V2846.clone(); + let __t2268 = v_V2860.clone(); rt::apply_direct( interp, "shen.process-after-type", @@ -13232,7 +13232,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2215 = { let __t2203 = Value::sym(interp.intern("define")); - let __t2204 = v_V2844.clone(); + let __t2204 = v_V2858.clone(); rt::eq(&__t2203, &__t2204) }; if !rt::is_truthy(interp, &__t2215)? { @@ -13240,7 +13240,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She } else { let __t2216 = { let __t2213 = { - let __t2205 = v_V2845.clone(); + let __t2205 = v_V2859.clone(); rt::is_cons(&__t2205) }; if !rt::is_truthy(interp, &__t2213)? { @@ -13253,7 +13253,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She ); let __t2208 = { let __t2207 = - v_V2845.clone(); + v_V2859.clone(); rt::hd(&__t2207)? }; rt::eq(&__t2206, &__t2208) @@ -13265,7 +13265,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2212 = { let __t2210 = { let __t2209 = - v_V2845.clone(); + v_V2859.clone(); rt::tl(&__t2209)? }; rt::is_cons(&__t2210) @@ -13293,35 +13293,35 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2228 = { let __t2220 = { let __t2219 = { - let __t2218 = v_V2845.clone(); + let __t2218 = v_V2859.clone(); rt::tl(&__t2218)? }; rt::hd(&__t2219)? }; let __t2227 = { let __t2223 = { - let v_V2846 = v_V2846.clone(); + let v_V2860 = v_V2860.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2847 = + let v_Z2861 = args[0].clone(); Ok({ let __t2221 = - v_Z2847.clone(); + v_Z2861.clone(); let __t2222 = - v_V2846.clone(); + v_V2860.clone(); rt::apply_direct(interp, "shen.process-applications", &[__t2221, __t2222])? }) }, - vec![v_V2846], + vec![v_V2860], interp, ) }; let __t2226 = { let __t2225 = { - let __t2224 = v_V2845.clone(); + let __t2224 = v_V2859.clone(); rt::tl(&__t2224)? }; rt::tl(&__t2225)? @@ -13341,7 +13341,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2202 = { let __t2198 = Value::sym(interp.intern("synonyms")); - let __t2199 = v_V2844.clone(); + let __t2199 = v_V2858.clone(); rt::eq(&__t2198, &__t2199) }; if match rt::is_truthy(interp, &__t2202) { @@ -13352,7 +13352,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2200 = Value::sym( interp.intern("synonyms"), ); - let __t2201 = v_V2845.clone(); + let __t2201 = v_V2859.clone(); rt::cons(&__t2200, &__t2201) }); } else { @@ -13362,7 +13362,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2161 = Value::sym( interp.intern("type"), ); - let __t2162 = v_V2844.clone(); + let __t2162 = v_V2858.clone(); rt::eq(&__t2161, &__t2162) }; if !rt::is_truthy(interp, &__t2185)? @@ -13372,7 +13372,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2186 = { let __t2183 = { let __t2163 = - v_V2845.clone(); + v_V2859.clone(); rt::is_cons(&__t2163) }; if !rt::is_truthy( @@ -13384,7 +13384,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2181 = { let __t2164 = Value::sym(interp.intern("type")); let __t2166 = { - let __t2165 = v_V2845.clone(); + let __t2165 = v_V2859.clone(); rt::hd(&__t2165)? }; rt::eq( @@ -13403,12 +13403,12 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2182 = { let __t2179 = { let __t2168 = { - let __t2167 = v_V2845.clone(); + let __t2167 = v_V2859.clone(); rt::tl(&__t2167)? }; rt::is_cons(&__t2168) }; - if !rt::is_truthy(interp, &__t2179)? { Value::bool(false) } else { let __t2180 = { let __t2177 = { let __t2171 = { let __t2170 = { let __t2169 = v_V2845.clone(); rt::tl(&__t2169)? }; rt::tl(&__t2170)? }; rt::is_cons(&__t2171) }; if !rt::is_truthy(interp, &__t2177)? { Value::bool(false) } else { let __t2178 = { let __t2172 = Value::nil(); let __t2176 = { let __t2175 = { let __t2174 = { let __t2173 = v_V2845.clone(); rt::tl(&__t2173)? }; rt::tl(&__t2174)? }; rt::tl(&__t2175)? }; rt::eq(&__t2172, &__t2176) }; Value::bool(rt::is_truthy(interp, &__t2178)?) } }; Value::bool(rt::is_truthy(interp, &__t2180)?) } + if !rt::is_truthy(interp, &__t2179)? { Value::bool(false) } else { let __t2180 = { let __t2177 = { let __t2171 = { let __t2170 = { let __t2169 = v_V2859.clone(); rt::tl(&__t2169)? }; rt::tl(&__t2170)? }; rt::is_cons(&__t2171) }; if !rt::is_truthy(interp, &__t2177)? { Value::bool(false) } else { let __t2178 = { let __t2172 = Value::nil(); let __t2176 = { let __t2175 = { let __t2174 = { let __t2173 = v_V2859.clone(); rt::tl(&__t2173)? }; rt::tl(&__t2174)? }; rt::tl(&__t2175)? }; rt::eq(&__t2172, &__t2176) }; Value::bool(rt::is_truthy(interp, &__t2178)?) } }; Value::bool(rt::is_truthy(interp, &__t2180)?) } }; Value::bool(rt::is_truthy(interp, &__t2182)?) } @@ -13440,7 +13440,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2190 = { let __t2189 = { let __t2188 = - v_V2845 + v_V2859 .clone( ); rt::tl( @@ -13450,13 +13450,13 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She rt::hd(&__t2189)? }; let __t2191 = - v_V2846.clone(); + v_V2860.clone(); rt::apply_direct(interp, "shen.process-applications", &[__t2190, __t2191])? }; let __t2195 = { let __t2194 = { let __t2193 = - v_V2845.clone(); + v_V2859.clone(); rt::tl(&__t2193)? }; rt::tl(&__t2194)? @@ -13476,7 +13476,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She ), ); let __t2122 = - v_V2844.clone(); + v_V2858.clone(); rt::eq( &__t2121, &__t2122, ) @@ -13489,7 +13489,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2146 = { let __t2143 = { let __t2123 = - v_V2845 + v_V2859 .clone( ); rt::is_cons( @@ -13508,12 +13508,12 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2141 = { let __t2124 = Value::sym(interp.intern("input+")); let __t2126 = { - let __t2125 = v_V2845.clone(); + let __t2125 = v_V2859.clone(); rt::hd(&__t2125)? }; rt::eq(&__t2124, &__t2126) }; - if !rt::is_truthy(interp, &__t2141)? { Value::bool(false) } else { let __t2142 = { let __t2139 = { let __t2128 = { let __t2127 = v_V2845.clone(); rt::tl(&__t2127)? }; rt::is_cons(&__t2128) }; if !rt::is_truthy(interp, &__t2139)? { Value::bool(false) } else { let __t2140 = { let __t2137 = { let __t2131 = { let __t2130 = { let __t2129 = v_V2845.clone(); rt::tl(&__t2129)? }; rt::tl(&__t2130)? }; rt::is_cons(&__t2131) }; if !rt::is_truthy(interp, &__t2137)? { Value::bool(false) } else { let __t2138 = { let __t2132 = Value::nil(); let __t2136 = { let __t2135 = { let __t2134 = { let __t2133 = v_V2845.clone(); rt::tl(&__t2133)? }; rt::tl(&__t2134)? }; rt::tl(&__t2135)? }; rt::eq(&__t2132, &__t2136) }; Value::bool(rt::is_truthy(interp, &__t2138)?) } }; Value::bool(rt::is_truthy(interp, &__t2140)?) } }; Value::bool(rt::is_truthy(interp, &__t2142)?) } + if !rt::is_truthy(interp, &__t2141)? { Value::bool(false) } else { let __t2142 = { let __t2139 = { let __t2128 = { let __t2127 = v_V2859.clone(); rt::tl(&__t2127)? }; rt::is_cons(&__t2128) }; if !rt::is_truthy(interp, &__t2139)? { Value::bool(false) } else { let __t2140 = { let __t2137 = { let __t2131 = { let __t2130 = { let __t2129 = v_V2859.clone(); rt::tl(&__t2129)? }; rt::tl(&__t2130)? }; rt::is_cons(&__t2131) }; if !rt::is_truthy(interp, &__t2137)? { Value::bool(false) } else { let __t2138 = { let __t2132 = Value::nil(); let __t2136 = { let __t2135 = { let __t2134 = { let __t2133 = v_V2859.clone(); rt::tl(&__t2133)? }; rt::tl(&__t2134)? }; rt::tl(&__t2135)? }; rt::eq(&__t2132, &__t2136) }; Value::bool(rt::is_truthy(interp, &__t2138)?) } }; Value::bool(rt::is_truthy(interp, &__t2140)?) } }; Value::bool(rt::is_truthy(interp, &__t2142)?) } }; Value::bool(rt::is_truthy(interp, &__t2144)?) } @@ -13542,7 +13542,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2159 = { let __t2150 = { let __t2149 = { - let __t2148 = v_V2845.clone(); + let __t2148 = v_V2859.clone(); rt::tl(&__t2148)? }; rt::hd( @@ -13553,12 +13553,12 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2156 = { let __t2154 = { let __t2153 = { - let __t2152 = { let __t2151 = v_V2845.clone(); rt::tl(&__t2151)? }; + let __t2152 = { let __t2151 = v_V2859.clone(); rt::tl(&__t2151)? }; rt::tl(&__t2152)? }; rt::hd(&__t2153)? }; - let __t2155 = v_V2846.clone(); + let __t2155 = v_V2860.clone(); rt::apply_direct(interp, "shen.process-applications", &[__t2154, __t2155])? }; let __t2157 = @@ -13583,7 +13583,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let __t2120 = { let __t2110 = { let __t2107 = - v_V2845 + v_V2859 .clone( ); rt::is_cons( @@ -13600,7 +13600,7 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She } else { let __t2111 = { let __t2109 = { - let __t2108 = v_V2845.clone(); + let __t2108 = v_V2859.clone(); rt::hd(&__t2108)? }; rt::apply_direct(interp, "shen.special?", &[__t2109])? @@ -13618,16 +13618,16 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ let __t2113 = { - let __t2112 = v_V2845.clone(); + let __t2112 = v_V2859.clone(); rt::hd(&__t2112)? }; let __t2119 = { let __t2116 = { - let v_V2846 = v_V2846.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z2848 = args[0].clone(); Ok({ let __t2114 = v_Z2848.clone(); let __t2115 = v_V2846.clone(); rt::apply_direct(interp, "shen.process-applications", &[__t2114, __t2115])? }) }, vec![v_V2846], interp) + let v_V2860 = v_V2860.clone(); + rt::make_aot_closure("", 1, move |interp, args| { let v_Z2862 = args[0].clone(); Ok({ let __t2114 = v_Z2862.clone(); let __t2115 = v_V2860.clone(); rt::apply_direct(interp, "shen.process-applications", &[__t2114, __t2115])? }) }, vec![v_V2860], interp) }; let __t2118 = { - let __t2117 = v_V2845.clone(); + let __t2117 = v_V2859.clone(); rt::tl(&__t2117)? }; rt::apply_direct(interp, "map", &[__t2116, __t2118])? @@ -13641,12 +13641,12 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She { let __t2106 = { let __t2104 = { - let __t2101 = v_V2845.clone(); + let __t2101 = v_V2859.clone(); rt::is_cons(&__t2101) }; - if !rt::is_truthy(interp, &__t2104)? { Value::bool(false) } else { let __t2105 = { let __t2103 = { let __t2102 = v_V2845.clone(); rt::hd(&__t2102)? }; rt::apply_direct(interp, "shen.extraspecial?", &[__t2103])? }; Value::bool(rt::is_truthy(interp, &__t2105)?) } + if !rt::is_truthy(interp, &__t2104)? { Value::bool(false) } else { let __t2105 = { let __t2103 = { let __t2102 = v_V2859.clone(); rt::hd(&__t2102)? }; rt::apply_direct(interp, "shen.extraspecial?", &[__t2103])? }; Value::bool(rt::is_truthy(interp, &__t2105)?) } }; - if match rt::is_truthy(interp, &__t2106) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2845.clone()); } else { { let __t2100 = Value::bool(true); if match rt::is_truthy(interp, &__t2100) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2099 = Value::str("partial function shen.special-case"); rt::apply_direct(interp, "simple-error", &[__t2099])? }); } else { break Err(ShenError::new("cond: no clause matched")); } } } + if match rt::is_truthy(interp, &__t2106) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2859.clone()); } else { { let __t2100 = Value::bool(true); if match rt::is_truthy(interp, &__t2100) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2099 = Value::str("partial function shen.special-case"); rt::apply_direct(interp, "simple-error", &[__t2099])? }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } @@ -13686,17 +13686,17 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( ))); } #[allow(unused_mut)] - let mut v_V2851 = args[0].clone(); + let mut v_V2865 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2852 = args[1].clone(); + let mut v_V2866 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2853 = args[2].clone(); + let mut v_V2867 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t2431 = { let __t2422 = { - let __t2418 = v_V2852.clone(); + let __t2418 = v_V2866.clone(); rt::is_cons(&__t2418) }; if !rt::is_truthy(interp, &__t2422)? { @@ -13705,7 +13705,7 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( let __t2423 = { let __t2419 = Value::sym(interp.intern("}")); let __t2421 = { - let __t2420 = v_V2852.clone(); + let __t2420 = v_V2866.clone(); rt::hd(&__t2420)? }; rt::eq(&__t2419, &__t2421) @@ -13721,15 +13721,15 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( let __t2424 = Value::sym(interp.intern("}")); let __t2430 = { let __t2427 = { - let v_V2853 = v_V2853.clone(); + let v_V2867 = v_V2867.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z2854 = args[0].clone(); + let v_Z2868 = args[0].clone(); Ok({ - let __t2425 = v_Z2854.clone(); - let __t2426 = v_V2853.clone(); + let __t2425 = v_Z2868.clone(); + let __t2426 = v_V2867.clone(); rt::apply_direct( interp, "shen.process-applications", @@ -13737,12 +13737,12 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( )? }) }, - vec![v_V2853], + vec![v_V2867], interp, ) }; let __t2429 = { - let __t2428 = v_V2852.clone(); + let __t2428 = v_V2866.clone(); rt::tl(&__t2428)? }; rt::apply_direct(interp, "map", &[__t2427, __t2429])? @@ -13752,7 +13752,7 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( } else { { let __t2417 = { - let __t2409 = v_V2852.clone(); + let __t2409 = v_V2866.clone(); rt::is_cons(&__t2409) }; if match rt::is_truthy(interp, &__t2417) { @@ -13761,16 +13761,16 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( } { break Ok({ let __t2411 = { - let __t2410 = v_V2852.clone(); + let __t2410 = v_V2866.clone(); rt::hd(&__t2410)? }; let __t2416 = { - let __t2412 = v_V2851.clone(); + let __t2412 = v_V2865.clone(); let __t2414 = { - let __t2413 = v_V2852.clone(); + let __t2413 = v_V2866.clone(); rt::tl(&__t2413)? }; - let __t2415 = v_V2853.clone(); + let __t2415 = v_V2867.clone(); rt::apply_direct( interp, "shen.process-after-type", @@ -13790,7 +13790,7 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( let __t2407 = { let __t2402 = Value::str("missing } in "); let __t2406 = { - let __t2403 = v_V2851.clone(); + let __t2403 = v_V2865.clone(); let __t2404 = Value::str("\n"); let __t2405 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -13838,14 +13838,14 @@ pub fn aot_shen_x2e_process_x2d_application( ))); } #[allow(unused_mut)] - let mut v_V2855 = args[0].clone(); + let mut v_V2869 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2856 = args[1].clone(); + let mut v_V2870 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t2497 = { - let __t2434 = v_V2855.clone(); + let __t2434 = v_V2869.clone(); rt::is_cons(&__t2434) }; if match rt::is_truthy(interp, &__t2497) { @@ -13853,37 +13853,37 @@ pub fn aot_shen_x2e_process_x2d_application( Err(e) => break Err(e), } { { - let v_W2857 = { + let v_W2871 = { let __t2436 = { - let __t2435 = v_V2855.clone(); + let __t2435 = v_V2869.clone(); rt::hd(&__t2435)? }; rt::apply_direct(interp, "arity", &[__t2436])? }; { - let v_W2858 = { + let v_W2872 = { let __t2438 = { - let __t2437 = v_V2855.clone(); + let __t2437 = v_V2869.clone(); rt::tl(&__t2437)? }; rt::apply_direct(interp, "length", &[__t2438])? }; { let __t2441 = { - let __t2439 = v_V2855.clone(); - let __t2440 = v_V2856.clone(); + let __t2439 = v_V2869.clone(); + let __t2440 = v_V2870.clone(); rt::apply_direct(interp, "element?", &[__t2439, __t2440])? }; if match rt::is_truthy(interp, &__t2441) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2855.clone()); + break Ok(v_V2869.clone()); } else { { let __t2444 = { let __t2443 = { - let __t2442 = v_V2855.clone(); + let __t2442 = v_V2869.clone(); rt::hd(&__t2442)? }; rt::apply_direct(interp, "shen.shen-call?", &[__t2443])? @@ -13892,11 +13892,11 @@ pub fn aot_shen_x2e_process_x2d_application( Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2855.clone()); + break Ok(v_V2869.clone()); } else { { let __t2446 = { - let __t2445 = v_V2855.clone(); + let __t2445 = v_V2869.clone(); rt::apply_direct( interp, "shen.foreign?", @@ -13908,7 +13908,7 @@ pub fn aot_shen_x2e_process_x2d_application( Err(e) => break Err(e), } { break Ok({ - let __t2447 = v_V2855.clone(); + let __t2447 = v_V2869.clone(); rt::apply_direct( interp, "shen.unpack-foreign", @@ -13918,7 +13918,7 @@ pub fn aot_shen_x2e_process_x2d_application( } else { { let __t2449 = { - let __t2448 = v_V2855.clone(); + let __t2448 = v_V2869.clone(); rt::apply_direct( interp, "shen.fn-call?", @@ -13930,7 +13930,7 @@ pub fn aot_shen_x2e_process_x2d_application( Err(e) => break Err(e), } { break Ok({ - let __t2450 = v_V2855.clone(); + let __t2450 = v_V2869.clone(); rt::apply_direct( interp, "shen.fn-call", @@ -13940,7 +13940,7 @@ pub fn aot_shen_x2e_process_x2d_application( } else { { let __t2452 = { - let __t2451 = v_V2855.clone(); + let __t2451 = v_V2869.clone(); rt::apply_direct( interp, "shen.zero-place?", @@ -13952,17 +13952,17 @@ pub fn aot_shen_x2e_process_x2d_application( Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2855.clone()); + break Ok(v_V2869.clone()); } else { { let __t2456 = { let __t2454 = { let __t2453 = - v_V2855.clone(); + v_V2869.clone(); rt::hd(&__t2453)? }; let __t2455 = - v_W2857.clone(); + v_W2871.clone(); rt::apply_direct( interp, "shen.undefined-f?", @@ -13981,7 +13981,7 @@ pub fn aot_shen_x2e_process_x2d_application( let __t2457 = Value::sym(interp.intern("fn")); let __t2461 = { let __t2459 = { - let __t2458 = v_V2855.clone(); + let __t2458 = v_V2869.clone(); rt::hd(&__t2458)? }; let __t2460 = Value::nil(); @@ -13994,7 +13994,7 @@ pub fn aot_shen_x2e_process_x2d_application( }; let __t2464 = { let __t2463 = - v_V2855 + v_V2869 .clone( ); rt::tl( @@ -14017,7 +14017,7 @@ pub fn aot_shen_x2e_process_x2d_application( let __t2468 = { let __t2467 = { let __t2466 = - v_V2855 + v_V2869 .clone( ); rt::hd( @@ -14040,7 +14040,7 @@ pub fn aot_shen_x2e_process_x2d_application( } { break Ok({ let __t2469 = - v_V2855 + v_V2869 .clone( ); rt::apply_direct(interp, "shen.simple-curry", &[__t2469])? @@ -14049,12 +14049,12 @@ pub fn aot_shen_x2e_process_x2d_application( { let __t2472 = { let __t2471 = { - let __t2470 = v_V2855.clone(); + let __t2470 = v_V2869.clone(); rt::hd(&__t2470)? }; rt::apply_direct(interp, "shen.application?", &[__t2471])? }; - if match rt::is_truthy(interp, &__t2472) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2473 = v_V2855.clone(); rt::apply_direct(interp, "shen.simple-curry", &[__t2473])? }); } else { { let __t2478 = { let __t2475 = { let __t2474 = v_V2855.clone(); rt::hd(&__t2474)? }; let __t2476 = v_W2857.clone(); let __t2477 = v_W2858.clone(); rt::apply_direct(interp, "shen.partial-application*?", &[__t2475, __t2476, __t2477])? }; if match rt::is_truthy(interp, &__t2478) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2479 = v_V2855.clone(); let __t2482 = { let __t2480 = v_W2857.clone(); let __t2481 = v_W2858.clone(); rt::sub(&__t2480, &__t2481)? }; rt::apply_direct(interp, "shen.lambda-function", &[__t2479, __t2482])? }); } else { { let __t2487 = { let __t2484 = { let __t2483 = v_V2855.clone(); rt::hd(&__t2483)? }; let __t2485 = v_W2857.clone(); let __t2486 = v_W2858.clone(); rt::apply_direct(interp, "shen.overapplication?", &[__t2484, __t2485, __t2486])? }; if match rt::is_truthy(interp, &__t2487) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2496 = { let __t2493 = { let __t2488 = Value::sym(interp.intern("fn")); let __t2492 = { let __t2490 = { let __t2489 = v_V2855.clone(); rt::hd(&__t2489)? }; let __t2491 = Value::nil(); rt::cons(&__t2490, &__t2491) }; rt::cons(&__t2488, &__t2492) }; let __t2495 = { let __t2494 = v_V2855.clone(); rt::tl(&__t2494)? }; rt::cons(&__t2493, &__t2495) }; rt::apply_direct(interp, "shen.simple-curry", &[__t2496])? }); } else { break Ok(v_V2855.clone()); } } } } } + if match rt::is_truthy(interp, &__t2472) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2473 = v_V2869.clone(); rt::apply_direct(interp, "shen.simple-curry", &[__t2473])? }); } else { { let __t2478 = { let __t2475 = { let __t2474 = v_V2869.clone(); rt::hd(&__t2474)? }; let __t2476 = v_W2871.clone(); let __t2477 = v_W2872.clone(); rt::apply_direct(interp, "shen.partial-application*?", &[__t2475, __t2476, __t2477])? }; if match rt::is_truthy(interp, &__t2478) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2479 = v_V2869.clone(); let __t2482 = { let __t2480 = v_W2871.clone(); let __t2481 = v_W2872.clone(); rt::sub(&__t2480, &__t2481)? }; rt::apply_direct(interp, "shen.lambda-function", &[__t2479, __t2482])? }); } else { { let __t2487 = { let __t2484 = { let __t2483 = v_V2869.clone(); rt::hd(&__t2483)? }; let __t2485 = v_W2871.clone(); let __t2486 = v_W2872.clone(); rt::apply_direct(interp, "shen.overapplication?", &[__t2484, __t2485, __t2486])? }; if match rt::is_truthy(interp, &__t2487) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2496 = { let __t2493 = { let __t2488 = Value::sym(interp.intern("fn")); let __t2492 = { let __t2490 = { let __t2489 = v_V2869.clone(); rt::hd(&__t2489)? }; let __t2491 = Value::nil(); rt::cons(&__t2490, &__t2491) }; rt::cons(&__t2488, &__t2492) }; let __t2495 = { let __t2494 = v_V2869.clone(); rt::tl(&__t2494)? }; rt::cons(&__t2493, &__t2495) }; rt::apply_direct(interp, "shen.simple-curry", &[__t2496])? }); } else { break Ok(v_V2869.clone()); } } } } } } } } @@ -14113,13 +14113,13 @@ pub fn aot_shen_x2e_unpack_x2d_foreign(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V2859 = args[0].clone(); + let mut v_V2873 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2529 = { let __t2521 = { - let __t2500 = v_V2859.clone(); + let __t2500 = v_V2873.clone(); rt::is_cons(&__t2500) }; if !rt::is_truthy(interp, &__t2521)? { @@ -14128,7 +14128,7 @@ pub fn aot_shen_x2e_unpack_x2d_foreign(interp: &mut Interp, args: &[Value]) -> S let __t2522 = { let __t2519 = { let __t2502 = { - let __t2501 = v_V2859.clone(); + let __t2501 = v_V2873.clone(); rt::hd(&__t2501)? }; rt::is_cons(&__t2502) @@ -14141,7 +14141,7 @@ pub fn aot_shen_x2e_unpack_x2d_foreign(interp: &mut Interp, args: &[Value]) -> S let __t2503 = Value::sym(interp.intern("foreign")); let __t2506 = { let __t2505 = { - let __t2504 = v_V2859.clone(); + let __t2504 = v_V2873.clone(); rt::hd(&__t2504)? }; rt::hd(&__t2505)? @@ -14155,7 +14155,7 @@ pub fn aot_shen_x2e_unpack_x2d_foreign(interp: &mut Interp, args: &[Value]) -> S let __t2515 = { let __t2509 = { let __t2508 = { - let __t2507 = v_V2859.clone(); + let __t2507 = v_V2873.clone(); rt::hd(&__t2507)? }; rt::tl(&__t2508)? @@ -14170,7 +14170,7 @@ pub fn aot_shen_x2e_unpack_x2d_foreign(interp: &mut Interp, args: &[Value]) -> S let __t2514 = { let __t2513 = { let __t2512 = { - let __t2511 = v_V2859.clone(); + let __t2511 = v_V2873.clone(); rt::hd(&__t2511)? }; rt::tl(&__t2512)? @@ -14199,7 +14199,7 @@ pub fn aot_shen_x2e_unpack_x2d_foreign(interp: &mut Interp, args: &[Value]) -> S let __t2526 = { let __t2525 = { let __t2524 = { - let __t2523 = v_V2859.clone(); + let __t2523 = v_V2873.clone(); rt::hd(&__t2523)? }; rt::tl(&__t2524)? @@ -14207,7 +14207,7 @@ pub fn aot_shen_x2e_unpack_x2d_foreign(interp: &mut Interp, args: &[Value]) -> S rt::hd(&__t2525)? }; let __t2528 = { - let __t2527 = v_V2859.clone(); + let __t2527 = v_V2873.clone(); rt::tl(&__t2527)? }; rt::cons(&__t2526, &__t2528) @@ -14246,13 +14246,13 @@ pub fn aot_shen_x2e_foreign_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V2862 = args[0].clone(); + let mut v_V2876 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2554 = { let __t2552 = { - let __t2531 = v_V2862.clone(); + let __t2531 = v_V2876.clone(); rt::is_cons(&__t2531) }; if !rt::is_truthy(interp, &__t2552)? { @@ -14261,7 +14261,7 @@ pub fn aot_shen_x2e_foreign_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes let __t2553 = { let __t2550 = { let __t2533 = { - let __t2532 = v_V2862.clone(); + let __t2532 = v_V2876.clone(); rt::hd(&__t2532)? }; rt::is_cons(&__t2533) @@ -14274,7 +14274,7 @@ pub fn aot_shen_x2e_foreign_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes let __t2534 = Value::sym(interp.intern("foreign")); let __t2537 = { let __t2536 = { - let __t2535 = v_V2862.clone(); + let __t2535 = v_V2876.clone(); rt::hd(&__t2535)? }; rt::hd(&__t2536)? @@ -14288,7 +14288,7 @@ pub fn aot_shen_x2e_foreign_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes let __t2546 = { let __t2540 = { let __t2539 = { - let __t2538 = v_V2862.clone(); + let __t2538 = v_V2876.clone(); rt::hd(&__t2538)? }; rt::tl(&__t2539)? @@ -14303,7 +14303,7 @@ pub fn aot_shen_x2e_foreign_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes let __t2545 = { let __t2544 = { let __t2543 = { - let __t2542 = v_V2862.clone(); + let __t2542 = v_V2876.clone(); rt::hd(&__t2542)? }; rt::tl(&__t2543)? @@ -14360,13 +14360,13 @@ pub fn aot_shen_x2e_zero_x2d_place_x3f_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2865 = args[0].clone(); + let mut v_V2879 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2562 = { let __t2560 = { - let __t2556 = v_V2865.clone(); + let __t2556 = v_V2879.clone(); rt::is_cons(&__t2556) }; if !rt::is_truthy(interp, &__t2560)? { @@ -14375,7 +14375,7 @@ pub fn aot_shen_x2e_zero_x2d_place_x3f_(interp: &mut Interp, args: &[Value]) -> let __t2561 = { let __t2557 = Value::nil(); let __t2559 = { - let __t2558 = v_V2865.clone(); + let __t2558 = v_V2879.clone(); rt::tl(&__t2558)? }; rt::eq(&__t2557, &__t2559) @@ -14419,12 +14419,12 @@ pub fn aot_shen_x2e_shen_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V2866 = args[0].clone(); + let mut v_V2880 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2564 = { - let __t2563 = v_V2866.clone(); + let __t2563 = v_V2880.clone(); rt::is_symbol(&__t2563) }; if !match rt::is_truthy(interp, &__t2564) { @@ -14435,7 +14435,7 @@ pub fn aot_shen_x2e_shen_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> S } else { break Ok({ let __t2566 = { - let __t2565 = v_V2866.clone(); + let __t2565 = v_V2880.clone(); rt::apply_direct(interp, "str", &[__t2565])? }; rt::apply_direct(interp, "shen.internal-to-shen?", &[__t2566])? @@ -14459,13 +14459,13 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2871 = args[0].clone(); + let mut v_V2885 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2602 = { let __t2600 = { - let __t2586 = v_V2871.clone(); + let __t2586 = v_V2885.clone(); rt::is_cons(&__t2586) }; if !rt::is_truthy(interp, &__t2600)? { @@ -14475,7 +14475,7 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2598 = { let __t2587 = Value::sym(interp.intern("protect")); let __t2589 = { - let __t2588 = v_V2871.clone(); + let __t2588 = v_V2885.clone(); rt::hd(&__t2588)? }; rt::eq(&__t2587, &__t2589) @@ -14486,7 +14486,7 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2599 = { let __t2596 = { let __t2591 = { - let __t2590 = v_V2871.clone(); + let __t2590 = v_V2885.clone(); rt::tl(&__t2590)? }; rt::is_cons(&__t2591) @@ -14498,7 +14498,7 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2592 = Value::nil(); let __t2595 = { let __t2594 = { - let __t2593 = v_V2871.clone(); + let __t2593 = v_V2885.clone(); rt::tl(&__t2593)? }; rt::tl(&__t2594)? @@ -14523,7 +14523,7 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She { let __t2585 = { let __t2583 = { - let __t2569 = v_V2871.clone(); + let __t2569 = v_V2885.clone(); rt::is_cons(&__t2569) }; if !rt::is_truthy(interp, &__t2583)? { @@ -14533,7 +14533,7 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2581 = { let __t2570 = Value::sym(interp.intern("foreign")); let __t2572 = { - let __t2571 = v_V2871.clone(); + let __t2571 = v_V2885.clone(); rt::hd(&__t2571)? }; rt::eq(&__t2570, &__t2572) @@ -14544,7 +14544,7 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2582 = { let __t2579 = { let __t2574 = { - let __t2573 = v_V2871.clone(); + let __t2573 = v_V2885.clone(); rt::tl(&__t2573)? }; rt::is_cons(&__t2574) @@ -14556,7 +14556,7 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2575 = Value::nil(); let __t2578 = { let __t2577 = { - let __t2576 = v_V2871.clone(); + let __t2576 = v_V2885.clone(); rt::tl(&__t2576)? }; rt::tl(&__t2577)? @@ -14585,7 +14585,7 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t2567 = v_V2871.clone(); + let __t2567 = v_V2885.clone(); rt::is_cons(&__t2567) }); } else { @@ -14613,15 +14613,15 @@ pub fn aot_shen_x2e_undefined_x2d_f_x3f_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2876 = args[0].clone(); + let mut v_V2890 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2877 = args[1].clone(); + let mut v_V2891 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t2612 = { let __t2604 = Value::int(-1i64); - let __t2605 = v_V2877.clone(); + let __t2605 = v_V2891.clone(); rt::eq(&__t2604, &__t2605) }; if match rt::is_truthy(interp, &__t2612) { @@ -14630,7 +14630,7 @@ pub fn aot_shen_x2e_undefined_x2d_f_x3f_(interp: &mut Interp, args: &[Value]) -> } { { let __t2607 = { - let __t2606 = v_V2876.clone(); + let __t2606 = v_V2890.clone(); rt::apply_direct(interp, "shen.lowercase-symbol?", &[__t2606])? }; if !match rt::is_truthy(interp, &__t2607) { @@ -14641,7 +14641,7 @@ pub fn aot_shen_x2e_undefined_x2d_f_x3f_(interp: &mut Interp, args: &[Value]) -> } else { break Ok({ let __t2611 = { - let __t2608 = v_V2876.clone(); + let __t2608 = v_V2890.clone(); let __t2610 = { let __t2609 = Value::sym(interp.intern("shen")); rt::apply_direct(interp, "external", &[__t2609])? @@ -14686,12 +14686,12 @@ pub fn aot_shen_x2e_lowercase_x2d_symbol_x3f_( ))); } #[allow(unused_mut)] - let mut v_V2878 = args[0].clone(); + let mut v_V2892 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2614 = { - let __t2613 = v_V2878.clone(); + let __t2613 = v_V2892.clone(); rt::is_symbol(&__t2613) }; if !match rt::is_truthy(interp, &__t2614) { @@ -14702,7 +14702,7 @@ pub fn aot_shen_x2e_lowercase_x2d_symbol_x3f_( } else { break Ok({ let __t2616 = { - let __t2615 = v_V2878.clone(); + let __t2615 = v_V2892.clone(); rt::apply_direct(interp, "variable?", &[__t2615])? }; rt::apply_direct(interp, "not", &[__t2616])? @@ -14733,13 +14733,13 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2879 = args[0].clone(); + let mut v_V2893 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2652 = { let __t2650 = { - let __t2641 = v_V2879.clone(); + let __t2641 = v_V2893.clone(); rt::is_cons(&__t2641) }; if !rt::is_truthy(interp, &__t2650)? { @@ -14748,7 +14748,7 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She let __t2651 = { let __t2648 = { let __t2643 = { - let __t2642 = v_V2879.clone(); + let __t2642 = v_V2893.clone(); rt::tl(&__t2642)? }; rt::is_cons(&__t2643) @@ -14760,7 +14760,7 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She let __t2644 = Value::nil(); let __t2647 = { let __t2646 = { - let __t2645 = v_V2879.clone(); + let __t2645 = v_V2893.clone(); rt::tl(&__t2645)? }; rt::tl(&__t2646)? @@ -14777,12 +14777,12 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2879.clone()); + break Ok(v_V2893.clone()); } else { { let __t2640 = { let __t2626 = { - let __t2618 = v_V2879.clone(); + let __t2618 = v_V2893.clone(); rt::is_cons(&__t2618) }; if !rt::is_truthy(interp, &__t2626)? { @@ -14791,7 +14791,7 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She let __t2627 = { let __t2624 = { let __t2620 = { - let __t2619 = v_V2879.clone(); + let __t2619 = v_V2893.clone(); rt::tl(&__t2619)? }; rt::is_cons(&__t2620) @@ -14802,7 +14802,7 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She let __t2625 = { let __t2623 = { let __t2622 = { - let __t2621 = v_V2879.clone(); + let __t2621 = v_V2893.clone(); rt::tl(&__t2621)? }; rt::tl(&__t2622)? @@ -14823,13 +14823,13 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She let __t2639 = { let __t2635 = { let __t2629 = { - let __t2628 = v_V2879.clone(); + let __t2628 = v_V2893.clone(); rt::hd(&__t2628)? }; let __t2634 = { let __t2632 = { let __t2631 = { - let __t2630 = v_V2879.clone(); + let __t2630 = v_V2893.clone(); rt::tl(&__t2630)? }; rt::hd(&__t2631)? @@ -14841,14 +14841,14 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She }; let __t2638 = { let __t2637 = { - let __t2636 = v_V2879.clone(); + let __t2636 = v_V2893.clone(); rt::tl(&__t2636)? }; rt::tl(&__t2637)? }; rt::cons(&__t2635, &__t2638) }; - v_V2879 = __t2639; + v_V2893 = __t2639; continue; } } else { @@ -14858,7 +14858,7 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2879.clone()); + break Ok(v_V2893.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -14884,11 +14884,11 @@ pub fn aot_function(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V2880 = args[0].clone(); + let mut v_V2894 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t2653 = v_V2880.clone(); + let __t2653 = v_V2894.clone(); rt::apply_direct(interp, "fn", &[__t2653])? }); } @@ -14908,13 +14908,13 @@ pub fn aot_fn(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V2881 = args[0].clone(); + let mut v_V2895 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2670 = { let __t2668 = { - let __t2667 = v_V2881.clone(); + let __t2667 = v_V2895.clone(); rt::apply_direct(interp, "arity", &[__t2667])? }; let __t2669 = Value::int(0i64); @@ -14924,7 +14924,7 @@ pub fn aot_fn(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_value(interp, v_V2881.clone(), &[])? }); + break Ok({ rt::apply_value(interp, v_V2895.clone(), &[])? }); } else { { let __t2666 = Value::bool(true); @@ -14933,8 +14933,8 @@ pub fn aot_fn(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { { - let v_W2882 = { - let __t2654 = v_V2881.clone(); + let v_W2896 = { + let __t2654 = v_V2895.clone(); let __t2656 = { let __t2655 = Value::sym(interp.intern("shen.*lambdatable*")); rt::apply_direct(interp, "value", &[__t2655])? @@ -14943,7 +14943,7 @@ pub fn aot_fn(interp: &mut Interp, args: &[Value]) -> ShenResult { }; { let __t2658 = { - let __t2657 = v_W2882.clone(); + let __t2657 = v_W2896.clone(); rt::apply_direct(interp, "empty?", &[__t2657])? }; if match rt::is_truthy(interp, &__t2658) { @@ -14954,7 +14954,7 @@ pub fn aot_fn(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t2664 = { let __t2659 = Value::str("fn: "); let __t2663 = { - let __t2660 = v_V2881.clone(); + let __t2660 = v_V2895.clone(); let __t2661 = Value::str(" is undefined\n"); let __t2662 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -14969,7 +14969,7 @@ pub fn aot_fn(interp: &mut Interp, args: &[Value]) -> ShenResult { }); } else { break Ok({ - let __t2665 = v_W2882.clone(); + let __t2665 = v_W2896.clone(); rt::tl(&__t2665)? }); } @@ -14998,13 +14998,13 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V2885 = args[0].clone(); + let mut v_V2899 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2705 = { let __t2703 = { - let __t2689 = v_V2885.clone(); + let __t2689 = v_V2899.clone(); rt::is_cons(&__t2689) }; if !rt::is_truthy(interp, &__t2703)? { @@ -15014,7 +15014,7 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2701 = { let __t2690 = Value::sym(interp.intern("fn")); let __t2692 = { - let __t2691 = v_V2885.clone(); + let __t2691 = v_V2899.clone(); rt::hd(&__t2691)? }; rt::eq(&__t2690, &__t2692) @@ -15025,7 +15025,7 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2702 = { let __t2699 = { let __t2694 = { - let __t2693 = v_V2885.clone(); + let __t2693 = v_V2899.clone(); rt::tl(&__t2693)? }; rt::is_cons(&__t2694) @@ -15037,7 +15037,7 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2695 = Value::nil(); let __t2698 = { let __t2697 = { - let __t2696 = v_V2885.clone(); + let __t2696 = v_V2899.clone(); rt::tl(&__t2696)? }; rt::tl(&__t2697)? @@ -15062,7 +15062,7 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She { let __t2688 = { let __t2686 = { - let __t2672 = v_V2885.clone(); + let __t2672 = v_V2899.clone(); rt::is_cons(&__t2672) }; if !rt::is_truthy(interp, &__t2686)? { @@ -15072,7 +15072,7 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2684 = { let __t2673 = Value::sym(interp.intern("function")); let __t2675 = { - let __t2674 = v_V2885.clone(); + let __t2674 = v_V2899.clone(); rt::hd(&__t2674)? }; rt::eq(&__t2673, &__t2675) @@ -15083,7 +15083,7 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2685 = { let __t2682 = { let __t2677 = { - let __t2676 = v_V2885.clone(); + let __t2676 = v_V2899.clone(); rt::tl(&__t2676)? }; rt::is_cons(&__t2677) @@ -15095,7 +15095,7 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She let __t2678 = Value::nil(); let __t2681 = { let __t2680 = { - let __t2679 = v_V2885.clone(); + let __t2679 = v_V2899.clone(); rt::tl(&__t2679)? }; rt::tl(&__t2680)? @@ -15149,13 +15149,13 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V2886 = args[0].clone(); + let mut v_V2900 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t2758 = { let __t2752 = { - let __t2738 = v_V2886.clone(); + let __t2738 = v_V2900.clone(); rt::is_cons(&__t2738) }; if !rt::is_truthy(interp, &__t2752)? { @@ -15165,7 +15165,7 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu let __t2750 = { let __t2739 = Value::sym(interp.intern("function")); let __t2741 = { - let __t2740 = v_V2886.clone(); + let __t2740 = v_V2900.clone(); rt::hd(&__t2740)? }; rt::eq(&__t2739, &__t2741) @@ -15176,7 +15176,7 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu let __t2751 = { let __t2748 = { let __t2743 = { - let __t2742 = v_V2886.clone(); + let __t2742 = v_V2900.clone(); rt::tl(&__t2742)? }; rt::is_cons(&__t2743) @@ -15188,7 +15188,7 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu let __t2744 = Value::nil(); let __t2747 = { let __t2746 = { - let __t2745 = v_V2886.clone(); + let __t2745 = v_V2900.clone(); rt::tl(&__t2745)? }; rt::tl(&__t2746)? @@ -15212,19 +15212,19 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu let __t2757 = { let __t2754 = Value::sym(interp.intern("fn")); let __t2756 = { - let __t2755 = v_V2886.clone(); + let __t2755 = v_V2900.clone(); rt::tl(&__t2755)? }; rt::cons(&__t2754, &__t2756) }; - v_V2886 = __t2757; + v_V2900 = __t2757; continue; } } else { { let __t2737 = { let __t2722 = { - let __t2708 = v_V2886.clone(); + let __t2708 = v_V2900.clone(); rt::is_cons(&__t2708) }; if !rt::is_truthy(interp, &__t2722)? { @@ -15234,7 +15234,7 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu let __t2720 = { let __t2709 = Value::sym(interp.intern("fn")); let __t2711 = { - let __t2710 = v_V2886.clone(); + let __t2710 = v_V2900.clone(); rt::hd(&__t2710)? }; rt::eq(&__t2709, &__t2711) @@ -15245,7 +15245,7 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu let __t2721 = { let __t2718 = { let __t2713 = { - let __t2712 = v_V2886.clone(); + let __t2712 = v_V2900.clone(); rt::tl(&__t2712)? }; rt::is_cons(&__t2713) @@ -15257,7 +15257,7 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu let __t2714 = Value::nil(); let __t2717 = { let __t2716 = { - let __t2715 = v_V2886.clone(); + let __t2715 = v_V2900.clone(); rt::tl(&__t2715)? }; rt::tl(&__t2716)? @@ -15278,10 +15278,10 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W2887 = { + let v_W2901 = { let __t2726 = { let __t2725 = { - let __t2724 = v_V2886.clone(); + let __t2724 = v_V2900.clone(); rt::tl(&__t2724)? }; rt::hd(&__t2725)? @@ -15290,7 +15290,7 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2729 = { - let __t2727 = v_W2887.clone(); + let __t2727 = v_W2901.clone(); let __t2728 = Value::int(-1i64); rt::eq(&__t2727, &__t2728) }; @@ -15298,11 +15298,11 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V2886.clone()); + break Ok(v_V2900.clone()); } else { { let __t2732 = { - let __t2730 = v_W2887.clone(); + let __t2730 = v_W2901.clone(); let __t2731 = Value::int(0i64); rt::eq(&__t2730, &__t2731) }; @@ -15311,16 +15311,16 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { break Ok({ - let __t2733 = v_V2886.clone(); + let __t2733 = v_V2900.clone(); rt::tl(&__t2733)? }); } else { break Ok({ let __t2735 = { - let __t2734 = v_V2886.clone(); + let __t2734 = v_V2900.clone(); rt::tl(&__t2734)? }; - let __t2736 = v_W2887.clone(); + let __t2736 = v_W2901.clone(); rt::apply_direct( interp, "shen.lambda-function", @@ -15371,23 +15371,23 @@ pub fn aot_shen_x2e_partial_x2d_application_x2a__x3f_( ))); } #[allow(unused_mut)] - let mut v_V2888 = args[0].clone(); + let mut v_V2902 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2889 = args[1].clone(); + let mut v_V2903 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2890 = args[2].clone(); + let mut v_V2904 = args[2].clone(); #[allow(clippy::never_loop)] loop { { - let v_W2891 = { - let __t2759 = v_V2889.clone(); - let __t2760 = v_V2890.clone(); + let v_W2905 = { + let __t2759 = v_V2903.clone(); + let __t2760 = v_V2904.clone(); rt::gt(&__t2759, &__t2760)? }; { - let v_W2892 = { + let v_W2906 = { let __t2779 = { - let __t2770 = v_W2891.clone(); + let __t2770 = v_W2905.clone(); if !rt::is_truthy(interp, &__t2770)? { Value::bool(false) } else { @@ -15398,7 +15398,7 @@ pub fn aot_shen_x2e_partial_x2d_application_x2a__x3f_( } else { let __t2769 = { let __t2767 = { - let __t2761 = v_V2888.clone(); + let __t2761 = v_V2902.clone(); let __t2766 = { let __t2762 = Value::sym(interp.intern("+")); let __t2765 = { @@ -15427,7 +15427,7 @@ pub fn aot_shen_x2e_partial_x2d_application_x2a__x3f_( let __t2777 = { let __t2772 = Value::str("partial application of "); let __t2776 = { - let __t2773 = v_V2888.clone(); + let __t2773 = v_V2902.clone(); let __t2774 = Value::str("\n"); let __t2775 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -15445,7 +15445,7 @@ pub fn aot_shen_x2e_partial_x2d_application_x2a__x3f_( Value::sym(interp.intern("shen.skip")) } }; - break Ok(v_W2891.clone()); + break Ok(v_W2905.clone()); } } } @@ -15494,17 +15494,17 @@ pub fn aot_shen_x2e_overapplication_x3f_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V2897 = args[0].clone(); + let mut v_V2911 = args[0].clone(); #[allow(unused_mut)] - let mut v_V2898 = args[1].clone(); + let mut v_V2912 = args[1].clone(); #[allow(unused_mut)] - let mut v_V2899 = args[2].clone(); + let mut v_V2913 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t2807 = { let __t2805 = Value::int(-1i64); - let __t2806 = v_V2898.clone(); + let __t2806 = v_V2912.clone(); rt::eq(&__t2805, &__t2806) }; if match rt::is_truthy(interp, &__t2807) { @@ -15520,15 +15520,15 @@ pub fn aot_shen_x2e_overapplication_x3f_(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W2900 = { - let __t2781 = v_V2898.clone(); - let __t2782 = v_V2899.clone(); + let v_W2914 = { + let __t2781 = v_V2912.clone(); + let __t2782 = v_V2913.clone(); rt::lt(&__t2781, &__t2782)? }; { - let v_W2901 = { + let v_W2915 = { let __t2803 = { - let __t2783 = v_W2900.clone(); + let __t2783 = v_W2914.clone(); if !rt::is_truthy(interp, &__t2783)? { Value::bool(false) } else { @@ -15540,18 +15540,18 @@ pub fn aot_shen_x2e_overapplication_x3f_(interp: &mut Interp, args: &[Value]) -> if rt::is_truthy(interp, &__t2803)? { { let __t2801 = { - let __t2785 = v_V2897.clone(); + let __t2785 = v_V2911.clone(); let __t2799 = { let __t2786 = Value::str(" might not like "); let __t2798 = { - let __t2787 = v_V2899.clone(); + let __t2787 = v_V2913.clone(); let __t2796 = { let __t2788 = Value::str(" argument"); let __t2795 = { let __t2792 = { let __t2791 = { let __t2789 = - v_V2899.clone(); + v_V2913.clone(); let __t2790 = Value::int(1i64); rt::eq(&__t2789, &__t2790) @@ -15609,7 +15609,7 @@ pub fn aot_shen_x2e_overapplication_x3f_(interp: &mut Interp, args: &[Value]) -> Value::sym(interp.intern("shen.skip")) } }; - break Ok(v_W2900.clone()); + break Ok(v_W2914.clone()); } } } else { diff --git a/crates/shen-rust/src/aot/kernel/sequent.rs b/crates/shen-rust/src/aot/kernel/sequent.rs index 657c0ff..8b78332 100644 --- a/crates/shen-rust/src/aot/kernel/sequent.rs +++ b/crates/shen-rust/src/aot/kernel/sequent.rs @@ -32,34 +32,34 @@ pub fn aot_shen_x2e__x3c_datatype_x3e_(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V3019 = args[0].clone(); + let mut v_V3033 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3020 = { + let v_W3034 = { let __t15 = { - let __t0 = v_V3019.clone(); + let __t0 = v_V3033.clone(); rt::is_cons(&__t0) }; if rt::is_truthy(interp, &__t15)? { { - let v_W3021 = { - let __t1 = v_V3019.clone(); + let v_W3035 = { + let __t1 = v_V3033.clone(); rt::apply_direct(interp, "head", &[__t1])? }; { - let v_W3022 = { - let __t2 = v_V3019.clone(); + let v_W3036 = { + let __t2 = v_V3033.clone(); rt::apply_direct(interp, "tail", &[__t2])? }; { - let v_W3023 = { - let __t3 = v_W3022.clone(); + let v_W3037 = { + let __t3 = v_W3036.clone(); rt::apply_direct(interp, "shen.", &[__t3])? }; { let __t14 = { - let __t4 = v_W3023.clone(); + let __t4 = v_W3037.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t4])? }; if rt::is_truthy(interp, &__t14)? { @@ -68,21 +68,21 @@ pub fn aot_shen_x2e__x3c_datatype_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W3024 = { - let __t5 = v_W3023.clone(); + let v_W3038 = { + let __t5 = v_W3037.clone(); rt::apply_direct(interp, "shen.<-out", &[__t5])? }; { - let v_W3025 = { - let __t6 = v_W3023.clone(); + let v_W3039 = { + let __t6 = v_W3037.clone(); rt::apply_direct(interp, "shen.in->", &[__t6])? }; { - let __t7 = v_W3025.clone(); + let __t7 = v_W3039.clone(); let __t13 = { - let v_W3026 = { - let __t8 = v_W3021.clone(); - let __t9 = v_W3024.clone(); + let v_W3040 = { + let __t8 = v_W3035.clone(); + let __t9 = v_W3038.clone(); rt::apply_direct( interp, "shen.rules->prolog", @@ -90,9 +90,9 @@ pub fn aot_shen_x2e__x3c_datatype_x3e_(interp: &mut Interp, args: &[Value]) -> S )? }; { - let __t10 = v_W3021.clone(); + let __t10 = v_W3035.clone(); let __t12 = { - let __t11 = v_W3021.clone(); + let __t11 = v_W3035.clone(); rt::apply_direct( interp, "fn", @@ -127,7 +127,7 @@ pub fn aot_shen_x2e__x3c_datatype_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t17 = { - let __t16 = v_W3020.clone(); + let __t16 = v_W3034.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t16])? }; if match rt::is_truthy(interp, &__t17) { @@ -136,7 +136,7 @@ pub fn aot_shen_x2e__x3c_datatype_x3e_(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3020.clone()); + break Ok(v_W3034.clone()); } } } @@ -160,17 +160,17 @@ pub fn aot_shen_x2e_remember_x2d_datatype( ))); } #[allow(unused_mut)] - let mut v_V3027 = args[0].clone(); + let mut v_V3041 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3028 = args[1].clone(); + let mut v_V3042 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let _ = { let __t18 = Value::sym(interp.intern("shen.*datatypes*")); let __t23 = { - let __t19 = v_V3027.clone(); - let __t20 = v_V3028.clone(); + let __t19 = v_V3041.clone(); + let __t20 = v_V3042.clone(); let __t22 = { let __t21 = Value::sym(interp.intern("shen.*datatypes*")); rt::apply_direct(interp, "value", &[__t21])? @@ -183,8 +183,8 @@ pub fn aot_shen_x2e_remember_x2d_datatype( let _ = { let __t24 = Value::sym(interp.intern("shen.*alldatatypes*")); let __t29 = { - let __t25 = v_V3027.clone(); - let __t26 = v_V3028.clone(); + let __t25 = v_V3041.clone(); + let __t26 = v_V3042.clone(); let __t28 = { let __t27 = Value::sym(interp.intern("shen.*alldatatypes*")); rt::apply_direct(interp, "value", &[__t27])? @@ -193,7 +193,7 @@ pub fn aot_shen_x2e_remember_x2d_datatype( }; rt::apply_direct(interp, "set", &[__t24, __t29])? }; - break Ok(v_V3027.clone()); + break Ok(v_V3041.clone()); } } } @@ -220,18 +220,18 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( ))); } #[allow(unused_mut)] - let mut v_V3029 = args[0].clone(); + let mut v_V3043 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3030 = { - let v_W3031 = { - let __t30 = v_V3029.clone(); + let v_W3044 = { + let v_W3045 = { + let __t30 = v_V3043.clone(); rt::apply_direct(interp, "shen.", &[__t30])? }; { let __t43 = { - let __t31 = v_W3031.clone(); + let __t31 = v_W3045.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t31])? }; if rt::is_truthy(interp, &__t43)? { @@ -240,23 +240,23 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( } } else { { - let v_W3032 = { - let __t32 = v_W3031.clone(); + let v_W3046 = { + let __t32 = v_W3045.clone(); rt::apply_direct(interp, "shen.<-out", &[__t32])? }; { - let v_W3033 = { - let __t33 = v_W3031.clone(); + let v_W3047 = { + let __t33 = v_W3045.clone(); rt::apply_direct(interp, "shen.in->", &[__t33])? }; { - let v_W3034 = { - let __t34 = v_W3033.clone(); + let v_W3048 = { + let __t34 = v_W3047.clone(); rt::apply_direct(interp, "shen.", &[__t34])? }; { let __t42 = { - let __t35 = v_W3034.clone(); + let __t35 = v_W3048.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -269,8 +269,8 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( } } else { { - let v_W3035 = { - let __t36 = v_W3034.clone(); + let v_W3049 = { + let __t36 = v_W3048.clone(); rt::apply_direct( interp, "shen.<-out", @@ -278,8 +278,8 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( )? }; { - let v_W3036 = { - let __t37 = v_W3034.clone(); + let v_W3050 = { + let __t37 = v_W3048.clone(); rt::apply_direct( interp, "shen.in->", @@ -287,10 +287,10 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( )? }; { - let __t38 = v_W3036.clone(); + let __t38 = v_W3050.clone(); let __t41 = { - let __t39 = v_W3032.clone(); - let __t40 = v_W3035.clone(); + let __t39 = v_W3046.clone(); + let __t40 = v_W3049.clone(); rt::apply_direct( interp, "append", @@ -315,7 +315,7 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( }; { let __t45 = { - let __t44 = v_W3030.clone(); + let __t44 = v_W3044.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t44])? }; if match rt::is_truthy(interp, &__t45) { @@ -323,14 +323,14 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( Err(e) => break Err(e), } { { - let v_W3037 = { - let v_W3038 = { - let __t46 = v_V3029.clone(); + let v_W3051 = { + let v_W3052 = { + let __t46 = v_V3043.clone(); rt::apply_direct(interp, "", &[__t46])? }; { let __t60 = { - let __t47 = v_W3038.clone(); + let __t47 = v_W3052.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t47])? }; if rt::is_truthy(interp, &__t60)? { @@ -339,20 +339,20 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( } } else { { - let v_W3039 = { - let __t48 = v_W3038.clone(); + let v_W3053 = { + let __t48 = v_W3052.clone(); rt::apply_direct(interp, "shen.<-out", &[__t48])? }; { - let v_W3040 = { - let __t49 = v_W3038.clone(); + let v_W3054 = { + let __t49 = v_W3052.clone(); rt::apply_direct(interp, "shen.in->", &[__t49])? }; { - let __t50 = v_W3040.clone(); + let __t50 = v_W3054.clone(); let __t59 = { let __t58 = { - let __t51 = v_W3039.clone(); + let __t51 = v_W3053.clone(); rt::apply_direct( interp, "empty?", @@ -366,7 +366,7 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( let __t57 = { let __t52 = Value::str("datatype syntax error here:\n "); let __t56 = { - let __t53 = v_W3039.clone(); + let __t53 = v_W3053.clone(); let __t54 = Value::str("\n ..."); let __t55 = Value::sym( @@ -405,7 +405,7 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( }; { let __t62 = { - let __t61 = v_W3037.clone(); + let __t61 = v_W3051.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t61])? }; if match rt::is_truthy(interp, &__t62) { @@ -414,12 +414,12 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3037.clone()); + break Ok(v_W3051.clone()); } } } } else { - break Ok(v_W3030.clone()); + break Ok(v_W3044.clone()); } } } @@ -450,18 +450,18 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( ))); } #[allow(unused_mut)] - let mut v_V3041 = args[0].clone(); + let mut v_V3055 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3042 = { - let v_W3043 = { - let __t63 = v_V3041.clone(); + let v_W3056 = { + let v_W3057 = { + let __t63 = v_V3055.clone(); rt::apply_direct(interp, "shen.", &[__t63])? }; { let __t69 = { - let __t64 = v_W3043.clone(); + let __t64 = v_W3057.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t64])? }; if rt::is_truthy(interp, &__t69)? { @@ -470,18 +470,18 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( } } else { { - let v_W3044 = { - let __t65 = v_W3043.clone(); + let v_W3058 = { + let __t65 = v_W3057.clone(); rt::apply_direct(interp, "shen.<-out", &[__t65])? }; { - let v_W3045 = { - let __t66 = v_W3043.clone(); + let v_W3059 = { + let __t66 = v_W3057.clone(); rt::apply_direct(interp, "shen.in->", &[__t66])? }; { - let __t67 = v_W3045.clone(); - let __t68 = v_W3044.clone(); + let __t67 = v_W3059.clone(); + let __t68 = v_W3058.clone(); rt::apply_direct(interp, "shen.comb", &[__t67, __t68])? } } @@ -491,7 +491,7 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( }; { let __t71 = { - let __t70 = v_W3042.clone(); + let __t70 = v_W3056.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t70])? }; if match rt::is_truthy(interp, &__t71) { @@ -499,14 +499,14 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( Err(e) => break Err(e), } { { - let v_W3046 = { - let v_W3047 = { - let __t72 = v_V3041.clone(); + let v_W3060 = { + let v_W3061 = { + let __t72 = v_V3055.clone(); rt::apply_direct(interp, "shen.", &[__t72])? }; { let __t78 = { - let __t73 = v_W3047.clone(); + let __t73 = v_W3061.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t73])? }; if rt::is_truthy(interp, &__t78)? { @@ -515,18 +515,18 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( } } else { { - let v_W3048 = { - let __t74 = v_W3047.clone(); + let v_W3062 = { + let __t74 = v_W3061.clone(); rt::apply_direct(interp, "shen.<-out", &[__t74])? }; { - let v_W3049 = { - let __t75 = v_W3047.clone(); + let v_W3063 = { + let __t75 = v_W3061.clone(); rt::apply_direct(interp, "shen.in->", &[__t75])? }; { - let __t76 = v_W3049.clone(); - let __t77 = v_W3048.clone(); + let __t76 = v_W3063.clone(); + let __t77 = v_W3062.clone(); rt::apply_direct( interp, "shen.comb", @@ -540,7 +540,7 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( }; { let __t80 = { - let __t79 = v_W3046.clone(); + let __t79 = v_W3060.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t79])? }; if match rt::is_truthy(interp, &__t80) { @@ -549,12 +549,12 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3046.clone()); + break Ok(v_W3060.clone()); } } } } else { - break Ok(v_W3042.clone()); + break Ok(v_W3056.clone()); } } } @@ -582,18 +582,18 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V3050 = args[0].clone(); + let mut v_V3064 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3051 = { - let v_W3052 = { - let __t81 = v_V3050.clone(); + let v_W3065 = { + let v_W3066 = { + let __t81 = v_V3064.clone(); rt::apply_direct(interp, "shen.", &[__t81])? }; { let __t113 = { - let __t82 = v_W3052.clone(); + let __t82 = v_W3066.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t82])? }; if rt::is_truthy(interp, &__t113)? { @@ -602,23 +602,23 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W3053 = { - let __t83 = v_W3052.clone(); + let v_W3067 = { + let __t83 = v_W3066.clone(); rt::apply_direct(interp, "shen.<-out", &[__t83])? }; { - let v_W3054 = { - let __t84 = v_W3052.clone(); + let v_W3068 = { + let __t84 = v_W3066.clone(); rt::apply_direct(interp, "shen.in->", &[__t84])? }; { - let v_W3055 = { - let __t85 = v_W3054.clone(); + let v_W3069 = { + let __t85 = v_W3068.clone(); rt::apply_direct(interp, "shen.", &[__t85])? }; { let __t112 = { - let __t86 = v_W3055.clone(); + let __t86 = v_W3069.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -631,8 +631,8 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W3056 = { - let __t87 = v_W3055.clone(); + let v_W3070 = { + let __t87 = v_W3069.clone(); rt::apply_direct( interp, "shen.<-out", @@ -640,8 +640,8 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W3057 = { - let __t88 = v_W3055.clone(); + let v_W3071 = { + let __t88 = v_W3069.clone(); rt::apply_direct( interp, "shen.in->", @@ -649,8 +649,8 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W3058 = { - let __t89 = v_W3057.clone(); + let v_W3072 = { + let __t89 = v_W3071.clone(); rt::apply_direct( interp, "shen.", @@ -659,7 +659,7 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t111 = { - let __t90 = v_W3058.clone(); + let __t90 = v_W3072.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -676,8 +676,8 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W3059 = { - let __t91 = v_W3058.clone(); + let v_W3073 = { + let __t91 = v_W3072.clone(); rt::apply_direct( interp, "shen.in->", @@ -685,9 +685,9 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W3060 = { + let v_W3074 = { let __t92 = - v_W3059.clone(); + v_W3073.clone(); rt::apply_direct( interp, "shen.", @@ -697,7 +697,7 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She { let __t110 = { let __t93 = - v_W3060.clone(); + v_W3074.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t93])? }; if rt::is_truthy( @@ -708,23 +708,23 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W3061 = { - let __t94 = v_W3060.clone(); + let v_W3075 = { + let __t94 = v_W3074.clone(); rt::apply_direct(interp, "shen.<-out", &[__t94])? }; { - let v_W3062 = { - let __t95 = v_W3060.clone(); + let v_W3076 = { + let __t95 = v_W3074.clone(); rt::apply_direct(interp, "shen.in->", &[__t95])? }; { - let v_W3063 = { - let __t96 = v_W3062.clone(); + let v_W3077 = { + let __t96 = v_W3076.clone(); rt::apply_direct(interp, "shen.", &[__t96])? }; { - let __t109 = { let __t97 = v_W3063.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t97])? }; - if rt::is_truthy(interp, &__t109)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3064 = { let __t98 = v_W3063.clone(); rt::apply_direct(interp, "shen.in->", &[__t98])? }; { let __t99 = v_W3064.clone(); let __t108 = { let __t106 = { let __t100 = v_W3053.clone(); let __t105 = { let __t101 = v_W3056.clone(); let __t104 = { let __t102 = v_W3061.clone(); let __t103 = Value::nil(); rt::cons(&__t102, &__t103) }; rt::cons(&__t101, &__t104) }; rt::cons(&__t100, &__t105) }; let __t107 = Value::nil(); rt::cons(&__t106, &__t107) }; rt::apply_direct(interp, "shen.comb", &[__t99, __t108])? } } } + let __t109 = { let __t97 = v_W3077.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t97])? }; + if rt::is_truthy(interp, &__t109)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3078 = { let __t98 = v_W3077.clone(); rt::apply_direct(interp, "shen.in->", &[__t98])? }; { let __t99 = v_W3078.clone(); let __t108 = { let __t106 = { let __t100 = v_W3067.clone(); let __t105 = { let __t101 = v_W3070.clone(); let __t104 = { let __t102 = v_W3075.clone(); let __t103 = Value::nil(); rt::cons(&__t102, &__t103) }; rt::cons(&__t101, &__t104) }; rt::cons(&__t100, &__t105) }; let __t107 = Value::nil(); rt::cons(&__t106, &__t107) }; rt::apply_direct(interp, "shen.comb", &[__t99, __t108])? } } } } } } @@ -748,7 +748,7 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t115 = { - let __t114 = v_W3051.clone(); + let __t114 = v_W3065.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t114])? }; if match rt::is_truthy(interp, &__t115) { @@ -757,7 +757,7 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3051.clone()); + break Ok(v_W3065.clone()); } } } @@ -778,18 +778,18 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V3065 = args[0].clone(); + let mut v_V3079 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3066 = { - let v_W3067 = { - let __t116 = v_V3065.clone(); + let v_W3080 = { + let v_W3081 = { + let __t116 = v_V3079.clone(); rt::apply_direct(interp, "shen.", &[__t116])? }; { let __t147 = { - let __t117 = v_W3067.clone(); + let __t117 = v_W3081.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t117])? }; if rt::is_truthy(interp, &__t147)? { @@ -798,23 +798,23 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W3068 = { - let __t118 = v_W3067.clone(); + let v_W3082 = { + let __t118 = v_W3081.clone(); rt::apply_direct(interp, "shen.<-out", &[__t118])? }; { - let v_W3069 = { - let __t119 = v_W3067.clone(); + let v_W3083 = { + let __t119 = v_W3081.clone(); rt::apply_direct(interp, "shen.in->", &[__t119])? }; { - let v_W3070 = { - let __t120 = v_W3069.clone(); + let v_W3084 = { + let __t120 = v_W3083.clone(); rt::apply_direct(interp, "shen.", &[__t120])? }; { let __t146 = { - let __t121 = v_W3070.clone(); + let __t121 = v_W3084.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -827,8 +827,8 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W3071 = { - let __t122 = v_W3070.clone(); + let v_W3085 = { + let __t122 = v_W3084.clone(); rt::apply_direct( interp, "shen.<-out", @@ -836,8 +836,8 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W3072 = { - let __t123 = v_W3070.clone(); + let v_W3086 = { + let __t123 = v_W3084.clone(); rt::apply_direct( interp, "shen.in->", @@ -845,8 +845,8 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W3073 = { - let __t124 = v_W3072.clone(); + let v_W3087 = { + let __t124 = v_W3086.clone(); rt::apply_direct( interp, "shen.", @@ -855,7 +855,7 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t145 = { - let __t125 = v_W3073.clone(); + let __t125 = v_W3087.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -872,9 +872,9 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W3074 = { + let v_W3088 = { let __t126 = - v_W3073.clone(); + v_W3087.clone(); rt::apply_direct( interp, "shen.in->", @@ -882,9 +882,9 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She )? }; { - let v_W3075 = { + let v_W3089 = { let __t127 = - v_W3074.clone(); + v_W3088.clone(); rt::apply_direct( interp, "shen.", @@ -894,7 +894,7 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She { let __t144 = { let __t128 = - v_W3075.clone(); + v_W3089.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t128])? }; if rt::is_truthy( @@ -905,23 +905,23 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She } } else { { - let v_W3076 = { - let __t129 = v_W3075.clone(); + let v_W3090 = { + let __t129 = v_W3089.clone(); rt::apply_direct(interp, "shen.<-out", &[__t129])? }; { - let v_W3077 = { - let __t130 = v_W3075.clone(); + let v_W3091 = { + let __t130 = v_W3089.clone(); rt::apply_direct(interp, "shen.in->", &[__t130])? }; { - let v_W3078 = { - let __t131 = v_W3077.clone(); + let v_W3092 = { + let __t131 = v_W3091.clone(); rt::apply_direct(interp, "shen.", &[__t131])? }; { - let __t143 = { let __t132 = v_W3078.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t132])? }; - if rt::is_truthy(interp, &__t143)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3079 = { let __t133 = v_W3078.clone(); rt::apply_direct(interp, "shen.in->", &[__t133])? }; { let __t134 = v_W3079.clone(); let __t142 = { let __t135 = v_W3068.clone(); let __t136 = v_W3071.clone(); let __t141 = { let __t137 = Value::nil(); let __t140 = { let __t138 = v_W3076.clone(); let __t139 = Value::nil(); rt::cons(&__t138, &__t139) }; rt::cons(&__t137, &__t140) }; rt::apply_direct(interp, "shen.lr-rule", &[__t135, __t136, __t141])? }; rt::apply_direct(interp, "shen.comb", &[__t134, __t142])? } } } + let __t143 = { let __t132 = v_W3092.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t132])? }; + if rt::is_truthy(interp, &__t143)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3093 = { let __t133 = v_W3092.clone(); rt::apply_direct(interp, "shen.in->", &[__t133])? }; { let __t134 = v_W3093.clone(); let __t142 = { let __t135 = v_W3082.clone(); let __t136 = v_W3085.clone(); let __t141 = { let __t137 = Value::nil(); let __t140 = { let __t138 = v_W3090.clone(); let __t139 = Value::nil(); rt::cons(&__t138, &__t139) }; rt::cons(&__t137, &__t140) }; rt::apply_direct(interp, "shen.lr-rule", &[__t135, __t136, __t141])? }; rt::apply_direct(interp, "shen.comb", &[__t134, __t142])? } } } } } } @@ -945,7 +945,7 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She }; { let __t149 = { - let __t148 = v_W3066.clone(); + let __t148 = v_W3080.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t148])? }; if match rt::is_truthy(interp, &__t149) { @@ -954,7 +954,7 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3066.clone()); + break Ok(v_W3080.clone()); } } } @@ -975,18 +975,18 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V3080 = args[0].clone(); + let mut v_V3094 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3081 = { - let v_W3082 = { - let __t150 = v_V3080.clone(); + let v_W3095 = { + let v_W3096 = { + let __t150 = v_V3094.clone(); rt::apply_direct(interp, "shen.", &[__t150])? }; { let __t171 = { - let __t151 = v_W3082.clone(); + let __t151 = v_W3096.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t151])? }; if rt::is_truthy(interp, &__t171)? { @@ -995,23 +995,23 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W3083 = { - let __t152 = v_W3082.clone(); + let v_W3097 = { + let __t152 = v_W3096.clone(); rt::apply_direct(interp, "shen.<-out", &[__t152])? }; { - let v_W3084 = { - let __t153 = v_W3082.clone(); + let v_W3098 = { + let __t153 = v_W3096.clone(); rt::apply_direct(interp, "shen.in->", &[__t153])? }; { - let v_W3085 = { - let __t154 = v_W3084.clone(); + let v_W3099 = { + let __t154 = v_W3098.clone(); rt::apply_direct(interp, "shen.", &[__t154])? }; { let __t170 = { - let __t155 = v_W3085.clone(); + let __t155 = v_W3099.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1024,8 +1024,8 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W3086 = { - let __t156 = v_W3085.clone(); + let v_W3100 = { + let __t156 = v_W3099.clone(); rt::apply_direct( interp, "shen.in->", @@ -1033,8 +1033,8 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S )? }; { - let v_W3087 = { - let __t157 = v_W3086.clone(); + let v_W3101 = { + let __t157 = v_W3100.clone(); rt::apply_direct( interp, "shen.", @@ -1043,7 +1043,7 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t169 = { - let __t158 = v_W3087.clone(); + let __t158 = v_W3101.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1060,8 +1060,8 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W3088 = { - let __t159 = v_W3087.clone(); + let v_W3102 = { + let __t159 = v_W3101.clone(); rt::apply_direct( interp, "shen.<-out", @@ -1069,9 +1069,9 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S )? }; { - let v_W3089 = { + let v_W3103 = { let __t160 = - v_W3087.clone(); + v_W3101.clone(); rt::apply_direct( interp, "shen.in->", @@ -1080,14 +1080,14 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t161 = - v_W3089.clone(); + v_W3103.clone(); let __t168 = { let __t166 = { let __t162 = Value::nil(); let __t165 = { let __t163 = - v_W3083 + v_W3097 .clone( ); let __t164 = @@ -1104,7 +1104,7 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S ) }; let __t167 = - v_W3088.clone(); + v_W3102.clone(); rt::cons( &__t166, &__t167, ) @@ -1131,7 +1131,7 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t173 = { - let __t172 = v_W3081.clone(); + let __t172 = v_W3095.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t172])? }; if match rt::is_truthy(interp, &__t173) { @@ -1139,14 +1139,14 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W3090 = { - let v_W3091 = { - let __t174 = v_V3080.clone(); + let v_W3104 = { + let v_W3105 = { + let __t174 = v_V3094.clone(); rt::apply_direct(interp, "shen.", &[__t174])? }; { let __t190 = { - let __t175 = v_W3091.clone(); + let __t175 = v_W3105.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t175])? }; if rt::is_truthy(interp, &__t190)? { @@ -1155,18 +1155,18 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W3092 = { - let __t176 = v_W3091.clone(); + let v_W3106 = { + let __t176 = v_W3105.clone(); rt::apply_direct(interp, "shen.<-out", &[__t176])? }; { - let v_W3093 = { - let __t177 = v_W3091.clone(); + let v_W3107 = { + let __t177 = v_W3105.clone(); rt::apply_direct(interp, "shen.in->", &[__t177])? }; { - let v_W3094 = { - let __t178 = v_W3093.clone(); + let v_W3108 = { + let __t178 = v_W3107.clone(); rt::apply_direct( interp, "shen.", @@ -1175,7 +1175,7 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t189 = { - let __t179 = v_W3094.clone(); + let __t179 = v_W3108.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1192,8 +1192,8 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } } else { { - let v_W3095 = { - let __t180 = v_W3094.clone(); + let v_W3109 = { + let __t180 = v_W3108.clone(); rt::apply_direct( interp, "shen.in->", @@ -1201,13 +1201,13 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S )? }; { - let __t181 = v_W3095.clone(); + let __t181 = v_W3109.clone(); let __t188 = { let __t186 = { let __t182 = Value::nil(); let __t185 = { let __t183 = - v_W3092.clone(); + v_W3106.clone(); let __t184 = Value::nil(); rt::cons( @@ -1236,7 +1236,7 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S }; { let __t192 = { - let __t191 = v_W3090.clone(); + let __t191 = v_W3104.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t191])? }; if match rt::is_truthy(interp, &__t192) { @@ -1245,12 +1245,12 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3090.clone()); + break Ok(v_W3104.clone()); } } } } else { - break Ok(v_W3081.clone()); + break Ok(v_W3095.clone()); } } } @@ -1271,18 +1271,18 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3096 = args[0].clone(); + let mut v_V3110 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3097 = { - let v_W3098 = { - let __t193 = v_V3096.clone(); + let v_W3111 = { + let v_W3112 = { + let __t193 = v_V3110.clone(); rt::apply_direct(interp, "shen.", &[__t193])? }; { let __t212 = { - let __t194 = v_W3098.clone(); + let __t194 = v_W3112.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t194])? }; if rt::is_truthy(interp, &__t212)? { @@ -1291,30 +1291,30 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W3099 = { - let __t195 = v_W3098.clone(); + let v_W3113 = { + let __t195 = v_W3112.clone(); rt::apply_direct(interp, "shen.<-out", &[__t195])? }; { - let v_W3100 = { - let __t196 = v_W3098.clone(); + let v_W3114 = { + let __t196 = v_W3112.clone(); rt::apply_direct(interp, "shen.in->", &[__t196])? }; { let __t211 = { - let __t197 = v_W3100.clone(); + let __t197 = v_W3114.clone(); let __t198 = Value::sym(interp.intern(">>")); rt::apply_direct(interp, "shen.hds=?", &[__t197, __t198])? }; if rt::is_truthy(interp, &__t211)? { { - let v_W3101 = { - let __t199 = v_W3100.clone(); + let v_W3115 = { + let __t199 = v_W3114.clone(); rt::apply_direct(interp, "tail", &[__t199])? }; { - let v_W3102 = { - let __t200 = v_W3101.clone(); + let v_W3116 = { + let __t200 = v_W3115.clone(); rt::apply_direct( interp, "shen.", @@ -1323,7 +1323,7 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t210 = { - let __t201 = v_W3102.clone(); + let __t201 = v_W3116.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1340,8 +1340,8 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W3103 = { - let __t202 = v_W3102.clone(); + let v_W3117 = { + let __t202 = v_W3116.clone(); rt::apply_direct( interp, "shen.<-out", @@ -1349,8 +1349,8 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W3104 = { - let __t203 = v_W3102.clone(); + let v_W3118 = { + let __t203 = v_W3116.clone(); rt::apply_direct( interp, "shen.in->", @@ -1358,13 +1358,13 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let __t204 = v_W3104.clone(); + let __t204 = v_W3118.clone(); let __t209 = { let __t205 = - v_W3099.clone(); + v_W3113.clone(); let __t208 = { let __t206 = - v_W3103.clone(); + v_W3117.clone(); let __t207 = Value::nil(); rt::cons( @@ -1398,7 +1398,7 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t214 = { - let __t213 = v_W3097.clone(); + let __t213 = v_W3111.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t213])? }; if match rt::is_truthy(interp, &__t214) { @@ -1406,14 +1406,14 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W3105 = { - let v_W3106 = { - let __t215 = v_V3096.clone(); + let v_W3119 = { + let v_W3120 = { + let __t215 = v_V3110.clone(); rt::apply_direct(interp, "shen.", &[__t215])? }; { let __t225 = { - let __t216 = v_W3106.clone(); + let __t216 = v_W3120.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t216])? }; if rt::is_truthy(interp, &__t225)? { @@ -1422,21 +1422,21 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W3107 = { - let __t217 = v_W3106.clone(); + let v_W3121 = { + let __t217 = v_W3120.clone(); rt::apply_direct(interp, "shen.<-out", &[__t217])? }; { - let v_W3108 = { - let __t218 = v_W3106.clone(); + let v_W3122 = { + let __t218 = v_W3120.clone(); rt::apply_direct(interp, "shen.in->", &[__t218])? }; { - let __t219 = v_W3108.clone(); + let __t219 = v_W3122.clone(); let __t224 = { let __t220 = Value::nil(); let __t223 = { - let __t221 = v_W3107.clone(); + let __t221 = v_W3121.clone(); let __t222 = Value::nil(); rt::cons(&__t221, &__t222) }; @@ -1455,7 +1455,7 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t227 = { - let __t226 = v_W3105.clone(); + let __t226 = v_W3119.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t226])? }; if match rt::is_truthy(interp, &__t227) { @@ -1464,12 +1464,12 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3105.clone()); + break Ok(v_W3119.clone()); } } } } else { - break Ok(v_W3097.clone()); + break Ok(v_W3111.clone()); } } } @@ -1490,18 +1490,18 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V3109 = args[0].clone(); + let mut v_V3123 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3110 = { - let v_W3111 = { - let __t228 = v_V3109.clone(); + let v_W3124 = { + let v_W3125 = { + let __t228 = v_V3123.clone(); rt::apply_direct(interp, "shen.", &[__t228])? }; { let __t245 = { - let __t229 = v_W3111.clone(); + let __t229 = v_W3125.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t229])? }; if rt::is_truthy(interp, &__t245)? { @@ -1510,23 +1510,23 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W3112 = { - let __t230 = v_W3111.clone(); + let v_W3126 = { + let __t230 = v_W3125.clone(); rt::apply_direct(interp, "shen.<-out", &[__t230])? }; { - let v_W3113 = { - let __t231 = v_W3111.clone(); + let v_W3127 = { + let __t231 = v_W3125.clone(); rt::apply_direct(interp, "shen.in->", &[__t231])? }; { - let v_W3114 = { - let __t232 = v_W3113.clone(); + let v_W3128 = { + let __t232 = v_W3127.clone(); rt::apply_direct(interp, "shen.", &[__t232])? }; { let __t244 = { - let __t233 = v_W3114.clone(); + let __t233 = v_W3128.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1539,8 +1539,8 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W3115 = { - let __t234 = v_W3114.clone(); + let v_W3129 = { + let __t234 = v_W3128.clone(); rt::apply_direct( interp, "shen.in->", @@ -1548,8 +1548,8 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W3116 = { - let __t235 = v_W3115.clone(); + let v_W3130 = { + let __t235 = v_W3129.clone(); rt::apply_direct( interp, "shen.", @@ -1558,7 +1558,7 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t243 = { - let __t236 = v_W3116.clone(); + let __t236 = v_W3130.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1575,8 +1575,8 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W3117 = { - let __t237 = v_W3116.clone(); + let v_W3131 = { + let __t237 = v_W3130.clone(); rt::apply_direct( interp, "shen.<-out", @@ -1584,9 +1584,9 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W3118 = { + let v_W3132 = { let __t238 = - v_W3116.clone(); + v_W3130.clone(); rt::apply_direct( interp, "shen.in->", @@ -1595,12 +1595,12 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t239 = - v_W3118.clone(); + v_W3132.clone(); let __t242 = { let __t240 = - v_W3112.clone(); + v_W3126.clone(); let __t241 = - v_W3117.clone(); + v_W3131.clone(); rt::cons( &__t240, &__t241, ) @@ -1627,7 +1627,7 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t247 = { - let __t246 = v_W3110.clone(); + let __t246 = v_W3124.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t246])? }; if match rt::is_truthy(interp, &__t247) { @@ -1635,14 +1635,14 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W3119 = { - let v_W3120 = { - let __t248 = v_V3109.clone(); + let v_W3133 = { + let v_W3134 = { + let __t248 = v_V3123.clone(); rt::apply_direct(interp, "", &[__t248])? }; { let __t253 = { - let __t249 = v_W3120.clone(); + let __t249 = v_W3134.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t249])? }; if rt::is_truthy(interp, &__t253)? { @@ -1651,12 +1651,12 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W3121 = { - let __t250 = v_W3120.clone(); + let v_W3135 = { + let __t250 = v_W3134.clone(); rt::apply_direct(interp, "shen.in->", &[__t250])? }; { - let __t251 = v_W3121.clone(); + let __t251 = v_W3135.clone(); let __t252 = Value::nil(); rt::apply_direct( interp, @@ -1670,7 +1670,7 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t255 = { - let __t254 = v_W3119.clone(); + let __t254 = v_W3133.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t254])? }; if match rt::is_truthy(interp, &__t255) { @@ -1679,12 +1679,12 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3119.clone()); + break Ok(v_W3133.clone()); } } } } else { - break Ok(v_W3110.clone()); + break Ok(v_W3124.clone()); } } } @@ -1705,24 +1705,24 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3122 = args[0].clone(); + let mut v_V3136 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3123 = { + let v_W3137 = { let __t261 = { - let __t256 = v_V3122.clone(); + let __t256 = v_V3136.clone(); let __t257 = Value::sym(interp.intern("!")); rt::apply_direct(interp, "shen.hds=?", &[__t256, __t257])? }; if rt::is_truthy(interp, &__t261)? { { - let v_W3124 = { - let __t258 = v_V3122.clone(); + let v_W3138 = { + let __t258 = v_V3136.clone(); rt::apply_direct(interp, "tail", &[__t258])? }; { - let __t259 = v_W3124.clone(); + let __t259 = v_W3138.clone(); let __t260 = Value::sym(interp.intern("!")); rt::apply_direct(interp, "shen.comb", &[__t259, __t260])? } @@ -1735,7 +1735,7 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t263 = { - let __t262 = v_W3123.clone(); + let __t262 = v_W3137.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t262])? }; if match rt::is_truthy(interp, &__t263) { @@ -1743,14 +1743,14 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W3125 = { - let v_W3126 = { - let __t264 = v_V3122.clone(); + let v_W3139 = { + let v_W3140 = { + let __t264 = v_V3136.clone(); rt::apply_direct(interp, "shen.", &[__t264])? }; { let __t283 = { - let __t265 = v_W3126.clone(); + let __t265 = v_W3140.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t265])? }; if rt::is_truthy(interp, &__t283)? { @@ -1759,18 +1759,18 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W3127 = { - let __t266 = v_W3126.clone(); + let v_W3141 = { + let __t266 = v_W3140.clone(); rt::apply_direct(interp, "shen.<-out", &[__t266])? }; { - let v_W3128 = { - let __t267 = v_W3126.clone(); + let v_W3142 = { + let __t267 = v_W3140.clone(); rt::apply_direct(interp, "shen.in->", &[__t267])? }; { let __t282 = { - let __t268 = v_W3128.clone(); + let __t268 = v_W3142.clone(); let __t269 = Value::sym(interp.intern(">>")); rt::apply_direct( interp, @@ -1780,8 +1780,8 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; if rt::is_truthy(interp, &__t282)? { { - let v_W3129 = { - let __t270 = v_W3128.clone(); + let v_W3143 = { + let __t270 = v_W3142.clone(); rt::apply_direct( interp, "tail", @@ -1789,8 +1789,8 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W3130 = { - let __t271 = v_W3129.clone(); + let v_W3144 = { + let __t271 = v_W3143.clone(); rt::apply_direct( interp, "shen.", @@ -1799,7 +1799,7 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t281 = { - let __t272 = v_W3130.clone(); + let __t272 = v_W3144.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1816,9 +1816,9 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W3131 = { + let v_W3145 = { let __t273 = - v_W3130.clone(); + v_W3144.clone(); rt::apply_direct( interp, "shen.<-out", @@ -1826,9 +1826,9 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W3132 = { + let v_W3146 = { let __t274 = - v_W3130.clone(); + v_W3144.clone(); rt::apply_direct( interp, "shen.in->", @@ -1837,14 +1837,14 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t275 = - v_W3132.clone(); + v_W3146.clone(); let __t280 = { let __t276 = - v_W3127 + v_W3141 .clone( ); let __t279 = { - let __t277 = v_W3131.clone(); + let __t277 = v_W3145.clone(); let __t278 = Value::nil(); rt::cons( &__t277, @@ -1888,7 +1888,7 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t285 = { - let __t284 = v_W3125.clone(); + let __t284 = v_W3139.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t284])? }; if match rt::is_truthy(interp, &__t285) { @@ -1896,14 +1896,14 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W3133 = { - let v_W3134 = { - let __t286 = v_V3122.clone(); + let v_W3147 = { + let v_W3148 = { + let __t286 = v_V3136.clone(); rt::apply_direct(interp, "shen.", &[__t286])? }; { let __t296 = { - let __t287 = v_W3134.clone(); + let __t287 = v_W3148.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1920,8 +1920,8 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W3135 = { - let __t288 = v_W3134.clone(); + let v_W3149 = { + let __t288 = v_W3148.clone(); rt::apply_direct( interp, "shen.<-out", @@ -1929,8 +1929,8 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W3136 = { - let __t289 = v_W3134.clone(); + let v_W3150 = { + let __t289 = v_W3148.clone(); rt::apply_direct( interp, "shen.in->", @@ -1938,11 +1938,11 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let __t290 = v_W3136.clone(); + let __t290 = v_W3150.clone(); let __t295 = { let __t291 = Value::nil(); let __t294 = { - let __t292 = v_W3135.clone(); + let __t292 = v_W3149.clone(); let __t293 = Value::nil(); rt::cons(&__t292, &__t293) }; @@ -1961,7 +1961,7 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t298 = { - let __t297 = v_W3133.clone(); + let __t297 = v_W3147.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -1976,17 +1976,17 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3133.clone()); + break Ok(v_W3147.clone()); } } } } else { - break Ok(v_W3125.clone()); + break Ok(v_W3139.clone()); } } } } else { - break Ok(v_W3123.clone()); + break Ok(v_W3137.clone()); } } } @@ -2007,18 +2007,18 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V3137 = args[0].clone(); + let mut v_V3151 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3138 = { - let v_W3139 = { - let __t299 = v_V3137.clone(); + let v_W3152 = { + let v_W3153 = { + let __t299 = v_V3151.clone(); rt::apply_direct(interp, "shen.", &[__t299])? }; { let __t316 = { - let __t300 = v_W3139.clone(); + let __t300 = v_W3153.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t300])? }; if rt::is_truthy(interp, &__t316)? { @@ -2027,23 +2027,23 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W3140 = { - let __t301 = v_W3139.clone(); + let v_W3154 = { + let __t301 = v_W3153.clone(); rt::apply_direct(interp, "shen.<-out", &[__t301])? }; { - let v_W3141 = { - let __t302 = v_W3139.clone(); + let v_W3155 = { + let __t302 = v_W3153.clone(); rt::apply_direct(interp, "shen.in->", &[__t302])? }; { - let v_W3142 = { - let __t303 = v_W3141.clone(); + let v_W3156 = { + let __t303 = v_W3155.clone(); rt::apply_direct(interp, "shen.", &[__t303])? }; { let __t315 = { - let __t304 = v_W3142.clone(); + let __t304 = v_W3156.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2056,8 +2056,8 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W3143 = { - let __t305 = v_W3142.clone(); + let v_W3157 = { + let __t305 = v_W3156.clone(); rt::apply_direct( interp, "shen.in->", @@ -2065,8 +2065,8 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; { - let v_W3144 = { - let __t306 = v_W3143.clone(); + let v_W3158 = { + let __t306 = v_W3157.clone(); rt::apply_direct( interp, "shen.", @@ -2075,7 +2075,7 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t314 = { - let __t307 = v_W3144.clone(); + let __t307 = v_W3158.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2092,8 +2092,8 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W3145 = { - let __t308 = v_W3144.clone(); + let v_W3159 = { + let __t308 = v_W3158.clone(); rt::apply_direct( interp, "shen.<-out", @@ -2101,9 +2101,9 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; { - let v_W3146 = { + let v_W3160 = { let __t309 = - v_W3144.clone(); + v_W3158.clone(); rt::apply_direct( interp, "shen.in->", @@ -2112,12 +2112,12 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t310 = - v_W3146.clone(); + v_W3160.clone(); let __t313 = { let __t311 = - v_W3140.clone(); + v_W3154.clone(); let __t312 = - v_W3145.clone(); + v_W3159.clone(); rt::cons( &__t311, &__t312, ) @@ -2144,7 +2144,7 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t318 = { - let __t317 = v_W3138.clone(); + let __t317 = v_W3152.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t317])? }; if match rt::is_truthy(interp, &__t318) { @@ -2152,14 +2152,14 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { { - let v_W3147 = { - let v_W3148 = { - let __t319 = v_V3137.clone(); + let v_W3161 = { + let v_W3162 = { + let __t319 = v_V3151.clone(); rt::apply_direct(interp, "shen.", &[__t319])? }; { let __t327 = { - let __t320 = v_W3148.clone(); + let __t320 = v_W3162.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t320])? }; if rt::is_truthy(interp, &__t327)? { @@ -2168,19 +2168,19 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W3149 = { - let __t321 = v_W3148.clone(); + let v_W3163 = { + let __t321 = v_W3162.clone(); rt::apply_direct(interp, "shen.<-out", &[__t321])? }; { - let v_W3150 = { - let __t322 = v_W3148.clone(); + let v_W3164 = { + let __t322 = v_W3162.clone(); rt::apply_direct(interp, "shen.in->", &[__t322])? }; { - let __t323 = v_W3150.clone(); + let __t323 = v_W3164.clone(); let __t326 = { - let __t324 = v_W3149.clone(); + let __t324 = v_W3163.clone(); let __t325 = Value::nil(); rt::cons(&__t324, &__t325) }; @@ -2197,7 +2197,7 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t329 = { - let __t328 = v_W3147.clone(); + let __t328 = v_W3161.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t328])? }; if match rt::is_truthy(interp, &__t329) { @@ -2205,14 +2205,14 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe Err(e) => break Err(e), } { { - let v_W3151 = { - let v_W3152 = { - let __t330 = v_V3137.clone(); + let v_W3165 = { + let v_W3166 = { + let __t330 = v_V3151.clone(); rt::apply_direct(interp, "", &[__t330])? }; { let __t335 = { - let __t331 = v_W3152.clone(); + let __t331 = v_W3166.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2229,8 +2229,8 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let v_W3153 = { - let __t332 = v_W3152.clone(); + let v_W3167 = { + let __t332 = v_W3166.clone(); rt::apply_direct( interp, "shen.in->", @@ -2238,7 +2238,7 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe )? }; { - let __t333 = v_W3153.clone(); + let __t333 = v_W3167.clone(); let __t334 = Value::nil(); rt::apply_direct( interp, @@ -2252,7 +2252,7 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t337 = { - let __t336 = v_W3151.clone(); + let __t336 = v_W3165.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2267,17 +2267,17 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3151.clone()); + break Ok(v_W3165.clone()); } } } } else { - break Ok(v_W3147.clone()); + break Ok(v_W3161.clone()); } } } } else { - break Ok(v_W3138.clone()); + break Ok(v_W3152.clone()); } } } @@ -2298,29 +2298,29 @@ pub fn aot_shen_x2e__x3c_iscomma_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V3154 = args[0].clone(); + let mut v_V3168 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3155 = { + let v_W3169 = { let __t347 = { - let __t338 = v_V3154.clone(); + let __t338 = v_V3168.clone(); rt::is_cons(&__t338) }; if rt::is_truthy(interp, &__t347)? { { - let v_W3156 = { - let __t339 = v_V3154.clone(); + let v_W3170 = { + let __t339 = v_V3168.clone(); rt::apply_direct(interp, "head", &[__t339])? }; { - let v_W3157 = { - let __t340 = v_V3154.clone(); + let v_W3171 = { + let __t340 = v_V3168.clone(); rt::apply_direct(interp, "tail", &[__t340])? }; { let __t346 = { - let __t341 = v_W3156.clone(); + let __t341 = v_W3170.clone(); let __t343 = { let __t342 = Value::str(","); rt::apply_direct(interp, "intern", &[__t342])? @@ -2329,7 +2329,7 @@ pub fn aot_shen_x2e__x3c_iscomma_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; if rt::is_truthy(interp, &__t346)? { { - let __t344 = v_W3157.clone(); + let __t344 = v_W3171.clone(); let __t345 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t344, __t345])? } @@ -2349,7 +2349,7 @@ pub fn aot_shen_x2e__x3c_iscomma_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t349 = { - let __t348 = v_W3155.clone(); + let __t348 = v_W3169.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t348])? }; if match rt::is_truthy(interp, &__t349) { @@ -2358,7 +2358,7 @@ pub fn aot_shen_x2e__x3c_iscomma_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3155.clone()); + break Ok(v_W3169.clone()); } } } @@ -2379,18 +2379,18 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V3158 = args[0].clone(); + let mut v_V3172 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3159 = { - let v_W3160 = { - let __t350 = v_V3158.clone(); + let v_W3173 = { + let v_W3174 = { + let __t350 = v_V3172.clone(); rt::apply_direct(interp, "shen.", &[__t350])? }; { let __t374 = { - let __t351 = v_W3160.clone(); + let __t351 = v_W3174.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t351])? }; if rt::is_truthy(interp, &__t374)? { @@ -2399,23 +2399,23 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W3161 = { - let __t352 = v_W3160.clone(); + let v_W3175 = { + let __t352 = v_W3174.clone(); rt::apply_direct(interp, "shen.<-out", &[__t352])? }; { - let v_W3162 = { - let __t353 = v_W3160.clone(); + let v_W3176 = { + let __t353 = v_W3174.clone(); rt::apply_direct(interp, "shen.in->", &[__t353])? }; { - let v_W3163 = { - let __t354 = v_W3162.clone(); + let v_W3177 = { + let __t354 = v_W3176.clone(); rt::apply_direct(interp, "shen.", &[__t354])? }; { let __t373 = { - let __t355 = v_W3163.clone(); + let __t355 = v_W3177.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2428,8 +2428,8 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W3164 = { - let __t356 = v_W3163.clone(); + let v_W3178 = { + let __t356 = v_W3177.clone(); rt::apply_direct( interp, "shen.in->", @@ -2437,8 +2437,8 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let v_W3165 = { - let __t357 = v_W3164.clone(); + let v_W3179 = { + let __t357 = v_W3178.clone(); rt::apply_direct( interp, "shen.", @@ -2447,7 +2447,7 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t372 = { - let __t358 = v_W3165.clone(); + let __t358 = v_W3179.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2464,8 +2464,8 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W3166 = { - let __t359 = v_W3165.clone(); + let v_W3180 = { + let __t359 = v_W3179.clone(); rt::apply_direct( interp, "shen.<-out", @@ -2473,9 +2473,9 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let v_W3167 = { + let v_W3181 = { let __t360 = - v_W3165.clone(); + v_W3179.clone(); rt::apply_direct( interp, "shen.in->", @@ -2484,11 +2484,11 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t361 = - v_W3167.clone(); + v_W3181.clone(); let __t371 = { let __t363 = { let __t362 = - v_W3161.clone(); + v_W3175.clone(); rt::apply_direct( interp, "shen.curry", @@ -2505,7 +2505,7 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; let __t369 = { let __t367 = { - let __t366 = v_W3166.clone(); + let __t366 = v_W3180.clone(); rt::apply_direct(interp, "shen.rectify-type", &[__t366])? }; let __t368 = @@ -2547,7 +2547,7 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t376 = { - let __t375 = v_W3159.clone(); + let __t375 = v_W3173.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t375])? }; if match rt::is_truthy(interp, &__t376) { @@ -2555,14 +2555,14 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_W3168 = { - let v_W3169 = { - let __t377 = v_V3158.clone(); + let v_W3182 = { + let v_W3183 = { + let __t377 = v_V3172.clone(); rt::apply_direct(interp, "shen.", &[__t377])? }; { let __t383 = { - let __t378 = v_W3169.clone(); + let __t378 = v_W3183.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t378])? }; if rt::is_truthy(interp, &__t383)? { @@ -2571,18 +2571,18 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - let v_W3170 = { - let __t379 = v_W3169.clone(); + let v_W3184 = { + let __t379 = v_W3183.clone(); rt::apply_direct(interp, "shen.<-out", &[__t379])? }; { - let v_W3171 = { - let __t380 = v_W3169.clone(); + let v_W3185 = { + let __t380 = v_W3183.clone(); rt::apply_direct(interp, "shen.in->", &[__t380])? }; { - let __t381 = v_W3171.clone(); - let __t382 = v_W3170.clone(); + let __t381 = v_W3185.clone(); + let __t382 = v_W3184.clone(); rt::apply_direct( interp, "shen.comb", @@ -2596,7 +2596,7 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t385 = { - let __t384 = v_W3168.clone(); + let __t384 = v_W3182.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t384])? }; if match rt::is_truthy(interp, &__t385) { @@ -2605,12 +2605,12 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3168.clone()); + break Ok(v_W3182.clone()); } } } } else { - break Ok(v_W3159.clone()); + break Ok(v_W3173.clone()); } } } @@ -2631,29 +2631,29 @@ pub fn aot_shen_x2e__x3c_iscolon_x3e_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V3172 = args[0].clone(); + let mut v_V3186 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3173 = { + let v_W3187 = { let __t395 = { - let __t386 = v_V3172.clone(); + let __t386 = v_V3186.clone(); rt::is_cons(&__t386) }; if rt::is_truthy(interp, &__t395)? { { - let v_W3174 = { - let __t387 = v_V3172.clone(); + let v_W3188 = { + let __t387 = v_V3186.clone(); rt::apply_direct(interp, "head", &[__t387])? }; { - let v_W3175 = { - let __t388 = v_V3172.clone(); + let v_W3189 = { + let __t388 = v_V3186.clone(); rt::apply_direct(interp, "tail", &[__t388])? }; { let __t394 = { - let __t389 = v_W3174.clone(); + let __t389 = v_W3188.clone(); let __t391 = { let __t390 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t390])? @@ -2662,7 +2662,7 @@ pub fn aot_shen_x2e__x3c_iscolon_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; if rt::is_truthy(interp, &__t394)? { { - let __t392 = v_W3175.clone(); + let __t392 = v_W3189.clone(); let __t393 = Value::sym(interp.intern("shen.skip")); rt::apply_direct(interp, "shen.comb", &[__t392, __t393])? } @@ -2682,7 +2682,7 @@ pub fn aot_shen_x2e__x3c_iscolon_x3e_(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t397 = { - let __t396 = v_W3173.clone(); + let __t396 = v_W3187.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t396])? }; if match rt::is_truthy(interp, &__t397) { @@ -2691,7 +2691,7 @@ pub fn aot_shen_x2e__x3c_iscolon_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3173.clone()); + break Ok(v_W3187.clone()); } } } @@ -2712,18 +2712,18 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V3176 = args[0].clone(); + let mut v_V3190 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3177 = { - let v_W3178 = { - let __t398 = v_V3176.clone(); + let v_W3191 = { + let v_W3192 = { + let __t398 = v_V3190.clone(); rt::apply_direct(interp, "shen.", &[__t398])? }; { let __t411 = { - let __t399 = v_W3178.clone(); + let __t399 = v_W3192.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t399])? }; if rt::is_truthy(interp, &__t411)? { @@ -2732,23 +2732,23 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W3179 = { - let __t400 = v_W3178.clone(); + let v_W3193 = { + let __t400 = v_W3192.clone(); rt::apply_direct(interp, "shen.<-out", &[__t400])? }; { - let v_W3180 = { - let __t401 = v_W3178.clone(); + let v_W3194 = { + let __t401 = v_W3192.clone(); rt::apply_direct(interp, "shen.in->", &[__t401])? }; { - let v_W3181 = { - let __t402 = v_W3180.clone(); + let v_W3195 = { + let __t402 = v_W3194.clone(); rt::apply_direct(interp, "shen.", &[__t402])? }; { let __t410 = { - let __t403 = v_W3181.clone(); + let __t403 = v_W3195.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -2761,8 +2761,8 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W3182 = { - let __t404 = v_W3181.clone(); + let v_W3196 = { + let __t404 = v_W3195.clone(); rt::apply_direct( interp, "shen.<-out", @@ -2770,8 +2770,8 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let v_W3183 = { - let __t405 = v_W3181.clone(); + let v_W3197 = { + let __t405 = v_W3195.clone(); rt::apply_direct( interp, "shen.in->", @@ -2779,10 +2779,10 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen )? }; { - let __t406 = v_W3183.clone(); + let __t406 = v_W3197.clone(); let __t409 = { - let __t407 = v_W3179.clone(); - let __t408 = v_W3182.clone(); + let __t407 = v_W3193.clone(); + let __t408 = v_W3196.clone(); rt::cons(&__t407, &__t408) }; rt::apply_direct( @@ -2803,7 +2803,7 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t413 = { - let __t412 = v_W3177.clone(); + let __t412 = v_W3191.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t412])? }; if match rt::is_truthy(interp, &__t413) { @@ -2811,14 +2811,14 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W3184 = { - let v_W3185 = { - let __t414 = v_V3176.clone(); + let v_W3198 = { + let v_W3199 = { + let __t414 = v_V3190.clone(); rt::apply_direct(interp, "", &[__t414])? }; { let __t419 = { - let __t415 = v_W3185.clone(); + let __t415 = v_W3199.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t415])? }; if rt::is_truthy(interp, &__t419)? { @@ -2827,12 +2827,12 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let v_W3186 = { - let __t416 = v_W3185.clone(); + let v_W3200 = { + let __t416 = v_W3199.clone(); rt::apply_direct(interp, "shen.in->", &[__t416])? }; { - let __t417 = v_W3186.clone(); + let __t417 = v_W3200.clone(); let __t418 = Value::nil(); rt::apply_direct( interp, @@ -2846,7 +2846,7 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t421 = { - let __t420 = v_W3184.clone(); + let __t420 = v_W3198.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t420])? }; if match rt::is_truthy(interp, &__t421) { @@ -2855,12 +2855,12 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3184.clone()); + break Ok(v_W3198.clone()); } } } } else { - break Ok(v_W3177.clone()); + break Ok(v_W3191.clone()); } } } @@ -2881,44 +2881,44 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3187 = args[0].clone(); + let mut v_V3201 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3188 = { + let v_W3202 = { let __t435 = { - let __t422 = v_V3187.clone(); + let __t422 = v_V3201.clone(); let __t423 = Value::sym(interp.intern("if")); rt::apply_direct(interp, "shen.hds=?", &[__t422, __t423])? }; if rt::is_truthy(interp, &__t435)? { { - let v_W3189 = { - let __t424 = v_V3187.clone(); + let v_W3203 = { + let __t424 = v_V3201.clone(); rt::apply_direct(interp, "tail", &[__t424])? }; { let __t434 = { - let __t425 = v_W3189.clone(); + let __t425 = v_W3203.clone(); rt::is_cons(&__t425) }; if rt::is_truthy(interp, &__t434)? { { - let v_W3190 = { - let __t426 = v_W3189.clone(); + let v_W3204 = { + let __t426 = v_W3203.clone(); rt::apply_direct(interp, "head", &[__t426])? }; { - let v_W3191 = { - let __t427 = v_W3189.clone(); + let v_W3205 = { + let __t427 = v_W3203.clone(); rt::apply_direct(interp, "tail", &[__t427])? }; { - let __t428 = v_W3191.clone(); + let __t428 = v_W3205.clone(); let __t433 = { let __t429 = Value::sym(interp.intern("if")); let __t432 = { - let __t430 = v_W3190.clone(); + let __t430 = v_W3204.clone(); let __t431 = Value::nil(); rt::cons(&__t430, &__t431) }; @@ -2947,7 +2947,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t437 = { - let __t436 = v_W3188.clone(); + let __t436 = v_W3202.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t436])? }; if match rt::is_truthy(interp, &__t437) { @@ -2955,43 +2955,43 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W3192 = { + let v_W3206 = { let __t457 = { - let __t438 = v_V3187.clone(); + let __t438 = v_V3201.clone(); let __t439 = Value::sym(interp.intern("let")); rt::apply_direct(interp, "shen.hds=?", &[__t438, __t439])? }; if rt::is_truthy(interp, &__t457)? { { - let v_W3193 = { - let __t440 = v_V3187.clone(); + let v_W3207 = { + let __t440 = v_V3201.clone(); rt::apply_direct(interp, "tail", &[__t440])? }; { let __t456 = { - let __t441 = v_W3193.clone(); + let __t441 = v_W3207.clone(); rt::is_cons(&__t441) }; if rt::is_truthy(interp, &__t456)? { { - let v_W3194 = { - let __t442 = v_W3193.clone(); + let v_W3208 = { + let __t442 = v_W3207.clone(); rt::apply_direct(interp, "head", &[__t442])? }; { - let v_W3195 = { - let __t443 = v_W3193.clone(); + let v_W3209 = { + let __t443 = v_W3207.clone(); rt::apply_direct(interp, "tail", &[__t443])? }; { let __t455 = { - let __t444 = v_W3195.clone(); + let __t444 = v_W3209.clone(); rt::is_cons(&__t444) }; if rt::is_truthy(interp, &__t455)? { { - let v_W3196 = { - let __t445 = v_W3195.clone(); + let v_W3210 = { + let __t445 = v_W3209.clone(); rt::apply_direct( interp, "head", @@ -2999,9 +2999,9 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W3197 = { + let v_W3211 = { let __t446 = - v_W3195.clone(); + v_W3209.clone(); rt::apply_direct( interp, "tail", @@ -3010,7 +3010,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t447 = - v_W3197.clone(); + v_W3211.clone(); let __t454 = { let __t448 = Value::sym( interp @@ -3018,10 +3018,10 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ); let __t453 = { let __t449 = - v_W3194.clone(); + v_W3208.clone(); let __t452 = { let __t450 = - v_W3196 + v_W3210 .clone( ); let __t451 = @@ -3076,7 +3076,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t459 = { - let __t458 = v_W3192.clone(); + let __t458 = v_W3206.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t458])? }; if match rt::is_truthy(interp, &__t459) { @@ -3084,9 +3084,9 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W3198 = { + let v_W3212 = { let __t475 = { - let __t460 = v_V3187.clone(); + let __t460 = v_V3201.clone(); let __t461 = Value::sym(interp.intern("ctxt")); rt::apply_direct( interp, @@ -3096,19 +3096,19 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; if rt::is_truthy(interp, &__t475)? { { - let v_W3199 = { - let __t462 = v_V3187.clone(); + let v_W3213 = { + let __t462 = v_V3201.clone(); rt::apply_direct(interp, "tail", &[__t462])? }; { let __t474 = { - let __t463 = v_W3199.clone(); + let __t463 = v_W3213.clone(); rt::is_cons(&__t463) }; if rt::is_truthy(interp, &__t474)? { { - let v_W3200 = { - let __t464 = v_W3199.clone(); + let v_W3214 = { + let __t464 = v_W3213.clone(); rt::apply_direct( interp, "head", @@ -3116,8 +3116,8 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W3201 = { - let __t465 = v_W3199.clone(); + let v_W3215 = { + let __t465 = v_W3213.clone(); rt::apply_direct( interp, "tail", @@ -3127,7 +3127,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let __t473 = { let __t466 = - v_W3200.clone(); + v_W3214.clone(); rt::apply_direct( interp, "variable?", @@ -3139,7 +3139,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? { { let __t467 = - v_W3201.clone(); + v_W3215.clone(); let __t472 = { let __t468 = Value::sym( @@ -3150,7 +3150,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ); let __t471 = { let __t469 = - v_W3200 + v_W3214 .clone( ); let __t470 = @@ -3199,7 +3199,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t477 = { - let __t476 = v_W3198.clone(); + let __t476 = v_W3212.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3211,9 +3211,9 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W3202 = { + let v_W3216 = { let __t493 = { - let __t478 = v_V3187.clone(); + let __t478 = v_V3201.clone(); let __t479 = Value::sym(interp.intern("sqts")); rt::apply_direct( @@ -3224,8 +3224,8 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; if rt::is_truthy(interp, &__t493)? { { - let v_W3203 = { - let __t480 = v_V3187.clone(); + let v_W3217 = { + let __t480 = v_V3201.clone(); rt::apply_direct( interp, "tail", @@ -3234,14 +3234,14 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t492 = { - let __t481 = v_W3203.clone(); + let __t481 = v_W3217.clone(); rt::is_cons(&__t481) }; if rt::is_truthy(interp, &__t492)? { { - let v_W3204 = { + let v_W3218 = { let __t482 = - v_W3203.clone(); + v_W3217.clone(); rt::apply_direct( interp, "head", @@ -3249,9 +3249,9 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let v_W3205 = { + let v_W3219 = { let __t483 = - v_W3203.clone(); + v_W3217.clone(); rt::apply_direct( interp, "tail", @@ -3261,7 +3261,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let __t491 = { let __t484 = - v_W3204 + v_W3218 .clone( ); rt::apply_direct(interp, "variable?", &[__t484])? @@ -3270,11 +3270,11 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR interp, &__t491, )? { { - let __t485 = v_W3205.clone(); + let __t485 = v_W3219.clone(); let __t490 = { let __t486 = Value::sym(interp.intern("sqts")); let __t489 = { - let __t487 = v_W3204.clone(); + let __t487 = v_W3218.clone(); let __t488 = Value::nil(); rt::cons(&__t487, &__t488) }; @@ -3313,7 +3313,7 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t495 = { - let __t494 = v_W3202.clone(); + let __t494 = v_W3216.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -3332,22 +3332,22 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR )? }); } else { - break Ok(v_W3202.clone()); + break Ok(v_W3216.clone()); } } } } else { - break Ok(v_W3198.clone()); + break Ok(v_W3212.clone()); } } } } else { - break Ok(v_W3192.clone()); + break Ok(v_W3206.clone()); } } } } else { - break Ok(v_W3188.clone()); + break Ok(v_W3202.clone()); } } } @@ -3368,17 +3368,17 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V3212 = args[0].clone(); + let mut v_V3226 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3213 = args[1].clone(); + let mut v_V3227 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3214 = args[2].clone(); + let mut v_V3228 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t543 = { let __t512 = { - let __t498 = v_V3214.clone(); + let __t498 = v_V3228.clone(); rt::is_cons(&__t498) }; if !rt::is_truthy(interp, &__t512)? { @@ -3388,7 +3388,7 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu let __t510 = { let __t499 = Value::nil(); let __t501 = { - let __t500 = v_V3214.clone(); + let __t500 = v_V3228.clone(); rt::hd(&__t500)? }; rt::eq(&__t499, &__t501) @@ -3399,7 +3399,7 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu let __t511 = { let __t508 = { let __t503 = { - let __t502 = v_V3214.clone(); + let __t502 = v_V3228.clone(); rt::tl(&__t502)? }; rt::is_cons(&__t503) @@ -3411,7 +3411,7 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu let __t504 = Value::nil(); let __t507 = { let __t506 = { - let __t505 = v_V3214.clone(); + let __t505 = v_V3228.clone(); rt::tl(&__t505)? }; rt::tl(&__t506)? @@ -3432,47 +3432,47 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W3215 = { + let v_W3229 = { let __t514 = Value::sym(interp.intern("P")); rt::apply_direct(interp, "gensym", &[__t514])? }; { - let v_W3216 = { + let v_W3230 = { let __t516 = { - let __t515 = v_V3214.clone(); + let __t515 = v_V3228.clone(); rt::tl(&__t515)? }; let __t519 = { - let __t517 = v_W3215.clone(); + let __t517 = v_W3229.clone(); let __t518 = Value::nil(); rt::cons(&__t517, &__t518) }; rt::cons(&__t516, &__t519) }; { - let v_W3217 = { + let v_W3231 = { let __t521 = { - let __t520 = v_V3213.clone(); + let __t520 = v_V3227.clone(); rt::apply_direct(interp, "shen.coll-formulae", &[__t520])? }; let __t524 = { - let __t522 = v_W3215.clone(); + let __t522 = v_W3229.clone(); let __t523 = Value::nil(); rt::cons(&__t522, &__t523) }; rt::cons(&__t521, &__t524) }; { - let v_W3218 = { - let __t525 = v_V3212.clone(); + let v_W3232 = { + let __t525 = v_V3226.clone(); let __t532 = { let __t528 = { - let __t526 = v_W3217.clone(); + let __t526 = v_W3231.clone(); let __t527 = Value::nil(); rt::cons(&__t526, &__t527) }; let __t531 = { - let __t529 = v_W3216.clone(); + let __t529 = v_W3230.clone(); let __t530 = Value::nil(); rt::cons(&__t529, &__t530) }; @@ -3481,12 +3481,12 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu rt::cons(&__t525, &__t532) }; { - let v_W3219 = { - let __t533 = v_V3212.clone(); + let v_W3233 = { + let __t533 = v_V3226.clone(); let __t538 = { - let __t534 = v_V3213.clone(); + let __t534 = v_V3227.clone(); let __t537 = { - let __t535 = v_V3214.clone(); + let __t535 = v_V3228.clone(); let __t536 = Value::nil(); rt::cons(&__t535, &__t536) }; @@ -3495,9 +3495,9 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu rt::cons(&__t533, &__t538) }; break Ok({ - let __t539 = v_W3219.clone(); + let __t539 = v_W3233.clone(); let __t542 = { - let __t540 = v_W3218.clone(); + let __t540 = v_W3232.clone(); let __t541 = Value::nil(); rt::cons(&__t540, &__t541) }; @@ -3542,13 +3542,13 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V3222 = args[0].clone(); + let mut v_V3236 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t579 = { let __t577 = Value::nil(); - let __t578 = v_V3222.clone(); + let __t578 = v_V3236.clone(); rt::eq(&__t577, &__t578) }; if match rt::is_truthy(interp, &__t579) { @@ -3560,7 +3560,7 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh { let __t576 = { let __t567 = { - let __t546 = v_V3222.clone(); + let __t546 = v_V3236.clone(); rt::is_cons(&__t546) }; if !rt::is_truthy(interp, &__t567)? { @@ -3569,7 +3569,7 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh let __t568 = { let __t565 = { let __t548 = { - let __t547 = v_V3222.clone(); + let __t547 = v_V3236.clone(); rt::hd(&__t547)? }; rt::is_cons(&__t548) @@ -3582,7 +3582,7 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh let __t549 = Value::nil(); let __t552 = { let __t551 = { - let __t550 = v_V3222.clone(); + let __t550 = v_V3236.clone(); rt::hd(&__t550)? }; rt::hd(&__t551)? @@ -3596,7 +3596,7 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh let __t561 = { let __t555 = { let __t554 = { - let __t553 = v_V3222.clone(); + let __t553 = v_V3236.clone(); rt::hd(&__t553)? }; rt::tl(&__t554)? @@ -3611,7 +3611,7 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh let __t560 = { let __t559 = { let __t558 = { - let __t557 = v_V3222.clone(); + let __t557 = v_V3236.clone(); rt::hd(&__t557)? }; rt::tl(&__t558)? @@ -3640,7 +3640,7 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh let __t572 = { let __t571 = { let __t570 = { - let __t569 = v_V3222.clone(); + let __t569 = v_V3236.clone(); rt::hd(&__t569)? }; rt::tl(&__t570)? @@ -3649,7 +3649,7 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh }; let __t575 = { let __t574 = { - let __t573 = v_V3222.clone(); + let __t573 = v_V3236.clone(); rt::tl(&__t573)? }; rt::apply_direct(interp, "shen.coll-formulae", &[__t574])? @@ -3693,30 +3693,30 @@ pub fn aot_shen_x2e__x3c_expr_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3223 = args[0].clone(); + let mut v_V3237 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3224 = { + let v_W3238 = { let __t589 = { - let __t580 = v_V3223.clone(); + let __t580 = v_V3237.clone(); rt::is_cons(&__t580) }; if rt::is_truthy(interp, &__t589)? { { - let v_W3225 = { - let __t581 = v_V3223.clone(); + let v_W3239 = { + let __t581 = v_V3237.clone(); rt::apply_direct(interp, "head", &[__t581])? }; { - let v_W3226 = { - let __t582 = v_V3223.clone(); + let v_W3240 = { + let __t582 = v_V3237.clone(); rt::apply_direct(interp, "tail", &[__t582])? }; { let __t588 = { let __t584 = { - let __t583 = v_W3225.clone(); + let __t583 = v_W3239.clone(); rt::apply_direct( interp, "shen.key-in-sequent-calculus?", @@ -3727,9 +3727,9 @@ pub fn aot_shen_x2e__x3c_expr_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; if rt::is_truthy(interp, &__t588)? { { - let __t585 = v_W3226.clone(); + let __t585 = v_W3240.clone(); let __t587 = { - let __t586 = v_W3225.clone(); + let __t586 = v_W3239.clone(); rt::apply_direct(interp, "macroexpand", &[__t586])? }; rt::apply_direct(interp, "shen.comb", &[__t585, __t587])? @@ -3750,7 +3750,7 @@ pub fn aot_shen_x2e__x3c_expr_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t591 = { - let __t590 = v_W3224.clone(); + let __t590 = v_W3238.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t590])? }; if match rt::is_truthy(interp, &__t591) { @@ -3759,7 +3759,7 @@ pub fn aot_shen_x2e__x3c_expr_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3224.clone()); + break Ok(v_W3238.clone()); } } } @@ -3783,12 +3783,12 @@ pub fn aot_shen_x2e_key_x2d_in_x2d_sequent_x2d_calculus_x3f_( ))); } #[allow(unused_mut)] - let mut v_V3227 = args[0].clone(); + let mut v_V3241 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t607 = { - let __t592 = v_V3227.clone(); + let __t592 = v_V3241.clone(); let __t606 = { let __t593 = Value::sym(interp.intern(">>")); let __t605 = { @@ -3829,7 +3829,7 @@ pub fn aot_shen_x2e_key_x2d_in_x2d_sequent_x2d_calculus_x3f_( } else { { let __t609 = { - let __t608 = v_V3227.clone(); + let __t608 = v_V3241.clone(); rt::apply_direct(interp, "shen.sng?", &[__t608])? }; if match rt::is_truthy(interp, &__t609) { @@ -3839,7 +3839,7 @@ pub fn aot_shen_x2e_key_x2d_in_x2d_sequent_x2d_calculus_x3f_( break Ok(Value::bool(true)); } else { break Ok({ - let __t610 = v_V3227.clone(); + let __t610 = v_V3241.clone(); rt::apply_direct(interp, "shen.dbl?", &[__t610])? }); } @@ -3870,18 +3870,18 @@ pub fn aot_shen_x2e__x3c_type_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3228 = args[0].clone(); + let mut v_V3242 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3229 = { - let v_W3230 = { - let __t611 = v_V3228.clone(); + let v_W3243 = { + let v_W3244 = { + let __t611 = v_V3242.clone(); rt::apply_direct(interp, "shen.", &[__t611])? }; { let __t617 = { - let __t612 = v_W3230.clone(); + let __t612 = v_W3244.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t612])? }; if rt::is_truthy(interp, &__t617)? { @@ -3890,18 +3890,18 @@ pub fn aot_shen_x2e__x3c_type_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let v_W3231 = { - let __t613 = v_W3230.clone(); + let v_W3245 = { + let __t613 = v_W3244.clone(); rt::apply_direct(interp, "shen.<-out", &[__t613])? }; { - let v_W3232 = { - let __t614 = v_W3230.clone(); + let v_W3246 = { + let __t614 = v_W3244.clone(); rt::apply_direct(interp, "shen.in->", &[__t614])? }; { - let __t615 = v_W3232.clone(); - let __t616 = v_W3231.clone(); + let __t615 = v_W3246.clone(); + let __t616 = v_W3245.clone(); rt::apply_direct(interp, "shen.comb", &[__t615, __t616])? } } @@ -3911,7 +3911,7 @@ pub fn aot_shen_x2e__x3c_type_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t619 = { - let __t618 = v_W3229.clone(); + let __t618 = v_W3243.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t618])? }; if match rt::is_truthy(interp, &__t619) { @@ -3920,7 +3920,7 @@ pub fn aot_shen_x2e__x3c_type_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3229.clone()); + break Ok(v_W3243.clone()); } } } @@ -3941,35 +3941,35 @@ pub fn aot_shen_x2e__x3c_dbl_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V3233 = args[0].clone(); + let mut v_V3247 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3234 = { + let v_W3248 = { let __t627 = { - let __t620 = v_V3233.clone(); + let __t620 = v_V3247.clone(); rt::is_cons(&__t620) }; if rt::is_truthy(interp, &__t627)? { { - let v_W3235 = { - let __t621 = v_V3233.clone(); + let v_W3249 = { + let __t621 = v_V3247.clone(); rt::apply_direct(interp, "head", &[__t621])? }; { - let v_W3236 = { - let __t622 = v_V3233.clone(); + let v_W3250 = { + let __t622 = v_V3247.clone(); rt::apply_direct(interp, "tail", &[__t622])? }; { let __t626 = { - let __t623 = v_W3235.clone(); + let __t623 = v_W3249.clone(); rt::apply_direct(interp, "shen.dbl?", &[__t623])? }; if rt::is_truthy(interp, &__t626)? { { - let __t624 = v_W3236.clone(); - let __t625 = v_W3235.clone(); + let __t624 = v_W3250.clone(); + let __t625 = v_W3249.clone(); rt::apply_direct(interp, "shen.comb", &[__t624, __t625])? } } else { @@ -3988,7 +3988,7 @@ pub fn aot_shen_x2e__x3c_dbl_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t629 = { - let __t628 = v_W3234.clone(); + let __t628 = v_W3248.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t628])? }; if match rt::is_truthy(interp, &__t629) { @@ -3997,7 +3997,7 @@ pub fn aot_shen_x2e__x3c_dbl_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3234.clone()); + break Ok(v_W3248.clone()); } } } @@ -4018,35 +4018,35 @@ pub fn aot_shen_x2e__x3c_sng_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V3237 = args[0].clone(); + let mut v_V3251 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3238 = { + let v_W3252 = { let __t637 = { - let __t630 = v_V3237.clone(); + let __t630 = v_V3251.clone(); rt::is_cons(&__t630) }; if rt::is_truthy(interp, &__t637)? { { - let v_W3239 = { - let __t631 = v_V3237.clone(); + let v_W3253 = { + let __t631 = v_V3251.clone(); rt::apply_direct(interp, "head", &[__t631])? }; { - let v_W3240 = { - let __t632 = v_V3237.clone(); + let v_W3254 = { + let __t632 = v_V3251.clone(); rt::apply_direct(interp, "tail", &[__t632])? }; { let __t636 = { - let __t633 = v_W3239.clone(); + let __t633 = v_W3253.clone(); rt::apply_direct(interp, "shen.sng?", &[__t633])? }; if rt::is_truthy(interp, &__t636)? { { - let __t634 = v_W3240.clone(); - let __t635 = v_W3239.clone(); + let __t634 = v_W3254.clone(); + let __t635 = v_W3253.clone(); rt::apply_direct(interp, "shen.comb", &[__t634, __t635])? } } else { @@ -4065,7 +4065,7 @@ pub fn aot_shen_x2e__x3c_sng_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe }; { let __t639 = { - let __t638 = v_W3238.clone(); + let __t638 = v_W3252.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t638])? }; if match rt::is_truthy(interp, &__t639) { @@ -4074,7 +4074,7 @@ pub fn aot_shen_x2e__x3c_sng_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W3238.clone()); + break Ok(v_W3252.clone()); } } } @@ -4095,12 +4095,12 @@ pub fn aot_shen_x2e_sng_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V3241 = args[0].clone(); + let mut v_V3255 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t641 = { - let __t640 = v_V3241.clone(); + let __t640 = v_V3255.clone(); rt::is_symbol(&__t640) }; if !match rt::is_truthy(interp, &__t641) { @@ -4111,7 +4111,7 @@ pub fn aot_shen_x2e_sng_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult< } else { break Ok({ let __t643 = { - let __t642 = v_V3241.clone(); + let __t642 = v_V3255.clone(); rt::apply_direct(interp, "str", &[__t642])? }; rt::apply_direct(interp, "shen.sng-h?", &[__t643])? @@ -4135,13 +4135,13 @@ pub fn aot_shen_x2e_sng_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3244 = args[0].clone(); + let mut v_V3258 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t656 = { let __t654 = Value::str("___"); - let __t655 = v_V3244.clone(); + let __t655 = v_V3258.clone(); rt::eq(&__t654, &__t655) }; if match rt::is_truthy(interp, &__t656) { @@ -4153,7 +4153,7 @@ pub fn aot_shen_x2e_sng_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR { let __t653 = { let __t649 = { - let __t645 = v_V3244.clone(); + let __t645 = v_V3258.clone(); rt::apply_direct(interp, "shen.+string?", &[__t645])? }; if !rt::is_truthy(interp, &__t649)? { @@ -4162,7 +4162,7 @@ pub fn aot_shen_x2e_sng_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR let __t650 = { let __t646 = Value::str("_"); let __t648 = { - let __t647 = v_V3244.clone(); + let __t647 = v_V3258.clone(); rt::apply_direct(interp, "hdstr", &[__t647])? }; rt::eq(&__t646, &__t648) @@ -4176,10 +4176,10 @@ pub fn aot_shen_x2e_sng_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR } { { let __t652 = { - let __t651 = v_V3244.clone(); + let __t651 = v_V3258.clone(); rt::apply_direct(interp, "tlstr", &[__t651])? }; - v_V3244 = __t652; + v_V3258 = __t652; continue; } } else { @@ -4215,12 +4215,12 @@ pub fn aot_shen_x2e_dbl_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V3245 = args[0].clone(); + let mut v_V3259 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t658 = { - let __t657 = v_V3245.clone(); + let __t657 = v_V3259.clone(); rt::is_symbol(&__t657) }; if !match rt::is_truthy(interp, &__t658) { @@ -4231,7 +4231,7 @@ pub fn aot_shen_x2e_dbl_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult< } else { break Ok({ let __t660 = { - let __t659 = v_V3245.clone(); + let __t659 = v_V3259.clone(); rt::apply_direct(interp, "str", &[__t659])? }; rt::apply_direct(interp, "shen.dbl-h?", &[__t660])? @@ -4255,13 +4255,13 @@ pub fn aot_shen_x2e_dbl_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3248 = args[0].clone(); + let mut v_V3262 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t673 = { let __t671 = Value::str("==="); - let __t672 = v_V3248.clone(); + let __t672 = v_V3262.clone(); rt::eq(&__t671, &__t672) }; if match rt::is_truthy(interp, &__t673) { @@ -4273,7 +4273,7 @@ pub fn aot_shen_x2e_dbl_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR { let __t670 = { let __t666 = { - let __t662 = v_V3248.clone(); + let __t662 = v_V3262.clone(); rt::apply_direct(interp, "shen.+string?", &[__t662])? }; if !rt::is_truthy(interp, &__t666)? { @@ -4282,7 +4282,7 @@ pub fn aot_shen_x2e_dbl_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR let __t667 = { let __t663 = Value::str("="); let __t665 = { - let __t664 = v_V3248.clone(); + let __t664 = v_V3262.clone(); rt::apply_direct(interp, "hdstr", &[__t664])? }; rt::eq(&__t663, &__t665) @@ -4296,10 +4296,10 @@ pub fn aot_shen_x2e_dbl_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR } { { let __t669 = { - let __t668 = v_V3248.clone(); + let __t668 = v_V3262.clone(); rt::apply_direct(interp, "tlstr", &[__t668])? }; - v_V3248 = __t669; + v_V3262 = __t669; continue; } } else { @@ -4338,21 +4338,21 @@ pub fn aot_shen_x2e_rules_x2d__x3e_prolog( ))); } #[allow(unused_mut)] - let mut v_V3249 = args[0].clone(); + let mut v_V3263 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3250 = args[1].clone(); + let mut v_V3264 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3251 = { + let v_W3265 = { let __t675 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3252 = args[0].clone(); + let v_Z3266 = args[0].clone(); Ok({ - let __t674 = v_Z3252.clone(); + let __t674 = v_Z3266.clone(); rt::apply_direct(interp, "shen.rule->clause", &[__t674])? }) }, @@ -4360,21 +4360,21 @@ pub fn aot_shen_x2e_rules_x2d__x3e_prolog( interp, ) }; - let __t676 = v_V3250.clone(); + let __t676 = v_V3264.clone(); rt::apply_direct(interp, "mapcan", &[__t675, __t676])? }; { - let v_W3253 = { + let v_W3267 = { let __t677 = Value::sym(interp.intern("defprolog")); let __t680 = { - let __t678 = v_V3249.clone(); - let __t679 = v_W3251.clone(); + let __t678 = v_V3263.clone(); + let __t679 = v_W3265.clone(); rt::cons(&__t678, &__t679) }; rt::cons(&__t677, &__t680) }; break Ok({ - let __t681 = v_W3253.clone(); + let __t681 = v_W3267.clone(); rt::apply_direct(interp, "eval", &[__t681])? }); } @@ -4396,13 +4396,13 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V3254 = args[0].clone(); + let mut v_V3268 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t753 = { let __t721 = { - let __t684 = v_V3254.clone(); + let __t684 = v_V3268.clone(); rt::is_cons(&__t684) }; if !rt::is_truthy(interp, &__t721)? { @@ -4411,7 +4411,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> let __t722 = { let __t719 = { let __t686 = { - let __t685 = v_V3254.clone(); + let __t685 = v_V3268.clone(); rt::tl(&__t685)? }; rt::is_cons(&__t686) @@ -4423,7 +4423,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> let __t717 = { let __t689 = { let __t688 = { - let __t687 = v_V3254.clone(); + let __t687 = v_V3268.clone(); rt::tl(&__t687)? }; rt::tl(&__t688)? @@ -4438,7 +4438,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> let __t693 = { let __t692 = { let __t691 = { - let __t690 = v_V3254.clone(); + let __t690 = v_V3268.clone(); rt::tl(&__t690)? }; rt::tl(&__t691)? @@ -4456,7 +4456,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> let __t697 = { let __t696 = { let __t695 = { - let __t694 = v_V3254.clone(); + let __t694 = v_V3268.clone(); rt::tl(&__t694)? }; rt::tl(&__t695)? @@ -4479,7 +4479,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> let __t702 = { let __t701 = { let __t700 = - v_V3254.clone(); + v_V3268.clone(); rt::tl(&__t700)? }; rt::tl(&__t701)? @@ -4501,7 +4501,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> let __t709 = { let __t708 = { let __t707 = - v_V3254.clone(); + v_V3268.clone(); rt::tl(&__t707)? }; rt::tl(&__t708)? @@ -4535,13 +4535,13 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W3255 = { + let v_W3269 = { let __t728 = { let __t727 = { let __t726 = { let __t725 = { let __t724 = { - let __t723 = v_V3254.clone(); + let __t723 = v_V3268.clone(); rt::tl(&__t723)? }; rt::tl(&__t724)? @@ -4561,7 +4561,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> let __t732 = { let __t731 = { let __t730 = { - let __t729 = v_V3254.clone(); + let __t729 = v_V3268.clone(); rt::tl(&__t729)? }; rt::tl(&__t730)? @@ -4581,15 +4581,15 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> rt::cons(&__t736, &__t737) }; let __t751 = { - let __t739 = v_W3255.clone(); + let __t739 = v_W3269.clone(); let __t740 = Value::sym(interp.intern("Assumptions")); let __t742 = { - let __t741 = v_V3254.clone(); + let __t741 = v_V3268.clone(); rt::hd(&__t741)? }; let __t745 = { let __t744 = { - let __t743 = v_V3254.clone(); + let __t743 = v_V3268.clone(); rt::tl(&__t743)? }; rt::hd(&__t744)? @@ -4598,7 +4598,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> let __t749 = { let __t748 = { let __t747 = { - let __t746 = v_V3254.clone(); + let __t746 = v_V3268.clone(); rt::tl(&__t746)? }; rt::tl(&__t747)? @@ -4652,12 +4652,12 @@ pub fn aot_shen_x2e_rule_x2d__x3e_head(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V3256 = args[0].clone(); + let mut v_V3270 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t755 = { - let __t754 = v_V3256.clone(); + let __t754 = v_V3270.clone(); rt::apply_direct(interp, "shen.macro-@ch", &[__t754])? }; let __t758 = { @@ -4684,13 +4684,13 @@ pub fn aot_shen_x2e_macro_x2d__x40_ch(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V3257 = args[0].clone(); + let mut v_V3271 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t759 = Value::sym(interp.intern("shen.@ch")); let __t762 = { - let __t760 = v_V3257.clone(); + let __t760 = v_V3271.clone(); let __t761 = Value::nil(); rt::cons(&__t760, &__t761) }; @@ -4713,13 +4713,13 @@ pub fn aot_shen_x2e_macro_x2d__x40_c(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V3258 = args[0].clone(); + let mut v_V3272 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t763 = Value::sym(interp.intern("shen.@c")); let __t766 = { - let __t764 = v_V3258.clone(); + let __t764 = v_V3272.clone(); let __t765 = Value::nil(); rt::cons(&__t764, &__t765) }; @@ -4742,21 +4742,21 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V3259 = args[0].clone(); + let mut v_V3273 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3260 = args[1].clone(); + let mut v_V3274 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3261 = args[2].clone(); + let mut v_V3275 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3262 = args[3].clone(); + let mut v_V3276 = args[3].clone(); #[allow(unused_mut)] - let mut v_V3263 = args[4].clone(); + let mut v_V3277 = args[4].clone(); #[allow(clippy::never_loop)] loop { { let __t830 = { let __t823 = Value::nil(); - let __t824 = v_V3263.clone(); + let __t824 = v_V3277.clone(); rt::eq(&__t823, &__t824) }; if match rt::is_truthy(interp, &__t830) { @@ -4765,10 +4765,10 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ let __t825 = Value::nil(); - let __t826 = v_V3259.clone(); - let __t827 = v_V3260.clone(); - let __t828 = v_V3261.clone(); - let __t829 = v_V3262.clone(); + let __t826 = v_V3273.clone(); + let __t827 = v_V3274.clone(); + let __t828 = v_V3275.clone(); + let __t829 = v_V3276.clone(); rt::apply_direct( interp, "shen.side-conditions->goals", @@ -4780,7 +4780,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S let __t822 = { let __t802 = { let __t794 = Value::nil(); - let __t795 = v_V3262.clone(); + let __t795 = v_V3276.clone(); rt::eq(&__t794, &__t795) }; if !rt::is_truthy(interp, &__t802)? { @@ -4788,7 +4788,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S } else { let __t803 = { let __t800 = { - let __t796 = v_V3263.clone(); + let __t796 = v_V3277.clone(); rt::is_cons(&__t796) }; if !rt::is_truthy(interp, &__t800)? { @@ -4797,7 +4797,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S let __t801 = { let __t797 = Value::nil(); let __t799 = { - let __t798 = v_V3263.clone(); + let __t798 = v_V3277.clone(); rt::tl(&__t798)? }; rt::eq(&__t797, &__t799) @@ -4813,12 +4813,12 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W3264 = { + let v_W3278 = { let __t805 = { - let __t804 = v_V3263.clone(); + let __t804 = v_V3277.clone(); rt::hd(&__t804)? }; - let __t806 = v_V3259.clone(); + let __t806 = v_V3273.clone(); rt::apply_direct( interp, "shen.passive-variables", @@ -4826,10 +4826,10 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S )? }; { - let v_W3265 = { - let __t807 = v_V3259.clone(); + let v_W3279 = { + let __t807 = v_V3273.clone(); let __t809 = { - let __t808 = v_V3263.clone(); + let __t808 = v_V3277.clone(); rt::hd(&__t808)? }; rt::apply_direct( @@ -4841,12 +4841,12 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S break Ok({ let __t815 = { let __t811 = { - let __t810 = v_V3263.clone(); + let __t810 = v_V3277.clone(); rt::hd(&__t810)? }; - let __t812 = v_V3260.clone(); - let __t813 = v_W3265.clone(); - let __t814 = v_W3264.clone(); + let __t812 = v_V3274.clone(); + let __t813 = v_W3279.clone(); + let __t814 = v_W3278.clone(); rt::apply_direct( interp, "shen.specialise-member", @@ -4855,9 +4855,9 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S }; let __t821 = { let __t816 = Value::nil(); - let __t817 = v_V3259.clone(); - let __t818 = v_V3260.clone(); - let __t819 = v_V3261.clone(); + let __t817 = v_V3273.clone(); + let __t818 = v_V3274.clone(); + let __t819 = v_V3275.clone(); let __t820 = Value::nil(); rt::apply_direct( interp, @@ -4872,7 +4872,7 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S } else { { let __t793 = { - let __t769 = v_V3263.clone(); + let __t769 = v_V3277.clone(); rt::is_cons(&__t769) }; if match rt::is_truthy(interp, &__t793) { @@ -4880,17 +4880,17 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W3266 = { + let v_W3280 = { let __t770 = Value::sym(interp.intern("NewAssumptions")); rt::apply_direct(interp, "gensym", &[__t770])? }; { - let v_W3267 = { + let v_W3281 = { let __t772 = { - let __t771 = v_V3263.clone(); + let __t771 = v_V3277.clone(); rt::hd(&__t771)? }; - let __t773 = v_V3259.clone(); + let __t773 = v_V3273.clone(); rt::apply_direct( interp, "shen.passive-variables", @@ -4898,10 +4898,10 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S )? }; { - let v_W3268 = { - let __t774 = v_V3259.clone(); + let v_W3282 = { + let __t774 = v_V3273.clone(); let __t776 = { - let __t775 = v_V3263.clone(); + let __t775 = v_V3277.clone(); rt::hd(&__t775)? }; rt::apply_direct( @@ -4913,13 +4913,13 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S break Ok({ let __t783 = { let __t778 = { - let __t777 = v_V3263.clone(); + let __t777 = v_V3277.clone(); rt::hd(&__t777)? }; - let __t779 = v_V3260.clone(); - let __t780 = v_W3268.clone(); - let __t781 = v_W3267.clone(); - let __t782 = v_W3266.clone(); + let __t779 = v_V3274.clone(); + let __t780 = v_W3282.clone(); + let __t781 = v_W3281.clone(); + let __t782 = v_W3280.clone(); rt::apply_direct( interp, "shen.specialise-consume", @@ -4928,19 +4928,19 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S }; let __t792 = { let __t786 = { - let __t784 = v_V3259.clone(); - let __t785 = v_W3267.clone(); + let __t784 = v_V3273.clone(); + let __t785 = v_W3281.clone(); rt::apply_direct( interp, "append", &[__t784, __t785], )? }; - let __t787 = v_W3266.clone(); - let __t788 = v_V3261.clone(); - let __t789 = v_V3262.clone(); + let __t787 = v_W3280.clone(); + let __t788 = v_V3275.clone(); + let __t789 = v_V3276.clone(); let __t791 = { - let __t790 = v_V3263.clone(); + let __t790 = v_V3277.clone(); rt::tl(&__t790)? }; rt::apply_direct( @@ -4996,26 +4996,26 @@ pub fn aot_shen_x2e_specialise_x2d_member( ))); } #[allow(unused_mut)] - let mut v_V3269 = args[0].clone(); + let mut v_V3283 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3270 = args[1].clone(); + let mut v_V3284 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3271 = args[2].clone(); + let mut v_V3285 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3272 = args[3].clone(); + let mut v_V3286 = args[3].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3273 = { + let v_W3287 = { let __t831 = Value::sym(interp.intern("shen.member")); rt::apply_direct(interp, "gensym", &[__t831])? }; { - let v_W3274 = { - let __t832 = v_W3273.clone(); - let __t833 = v_V3269.clone(); - let __t834 = v_V3271.clone(); - let __t835 = v_V3272.clone(); + let v_W3288 = { + let __t832 = v_W3287.clone(); + let __t833 = v_V3283.clone(); + let __t834 = v_V3285.clone(); + let __t835 = v_V3286.clone(); rt::apply_direct( interp, "shen.member-clause", @@ -5023,12 +5023,12 @@ pub fn aot_shen_x2e_specialise_x2d_member( )? }; break Ok({ - let __t836 = v_W3273.clone(); + let __t836 = v_W3287.clone(); let __t841 = { - let __t837 = v_V3270.clone(); + let __t837 = v_V3284.clone(); let __t840 = { - let __t838 = v_V3271.clone(); - let __t839 = v_V3272.clone(); + let __t838 = v_V3285.clone(); + let __t839 = v_V3286.clone(); rt::apply_direct(interp, "append", &[__t838, __t839])? }; rt::cons(&__t837, &__t840) @@ -5061,15 +5061,15 @@ pub fn aot_shen_x2e_remove_x2d_bystanders( ))); } #[allow(unused_mut)] - let mut v_V3277 = args[0].clone(); + let mut v_V3291 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3278 = args[1].clone(); + let mut v_V3292 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t864 = { let __t862 = Value::nil(); - let __t863 = v_V3277.clone(); + let __t863 = v_V3291.clone(); rt::eq(&__t862, &__t863) }; if match rt::is_truthy(interp, &__t864) { @@ -5081,7 +5081,7 @@ pub fn aot_shen_x2e_remove_x2d_bystanders( { let __t861 = { let __t853 = { - let __t849 = v_V3277.clone(); + let __t849 = v_V3291.clone(); rt::is_cons(&__t849) }; if !rt::is_truthy(interp, &__t853)? { @@ -5089,10 +5089,10 @@ pub fn aot_shen_x2e_remove_x2d_bystanders( } else { let __t854 = { let __t851 = { - let __t850 = v_V3277.clone(); + let __t850 = v_V3291.clone(); rt::hd(&__t850)? }; - let __t852 = v_V3278.clone(); + let __t852 = v_V3292.clone(); rt::apply_direct(interp, "shen.occurs-check?", &[__t851, __t852])? }; Value::bool(rt::is_truthy(interp, &__t854)?) @@ -5104,15 +5104,15 @@ pub fn aot_shen_x2e_remove_x2d_bystanders( } { break Ok({ let __t856 = { - let __t855 = v_V3277.clone(); + let __t855 = v_V3291.clone(); rt::hd(&__t855)? }; let __t860 = { let __t858 = { - let __t857 = v_V3277.clone(); + let __t857 = v_V3291.clone(); rt::tl(&__t857)? }; - let __t859 = v_V3278.clone(); + let __t859 = v_V3292.clone(); rt::apply_direct( interp, "shen.remove-bystanders", @@ -5124,7 +5124,7 @@ pub fn aot_shen_x2e_remove_x2d_bystanders( } else { { let __t848 = { - let __t844 = v_V3277.clone(); + let __t844 = v_V3291.clone(); rt::is_cons(&__t844) }; if match rt::is_truthy(interp, &__t848) { @@ -5133,12 +5133,12 @@ pub fn aot_shen_x2e_remove_x2d_bystanders( } { { let __t846 = { - let __t845 = v_V3277.clone(); + let __t845 = v_V3291.clone(); rt::tl(&__t845)? }; - let __t847 = v_V3278.clone(); - v_V3277 = __t846; - v_V3278 = __t847; + let __t847 = v_V3292.clone(); + v_V3291 = __t846; + v_V3292 = __t847; continue; } } else { @@ -5185,25 +5185,25 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V3279 = args[0].clone(); + let mut v_V3293 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3280 = args[1].clone(); + let mut v_V3294 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3281 = args[2].clone(); + let mut v_V3295 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3282 = args[3].clone(); + let mut v_V3296 = args[3].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3283 = { + let v_W3297 = { let __t866 = { - let __t865 = v_V3282.clone(); + let __t865 = v_V3296.clone(); rt::apply_direct(interp, "length", &[__t865])? }; rt::apply_direct(interp, "shen.nvars", &[__t866])? }; { - let v_W3284 = { + let v_W3298 = { let __t880 = { let __t878 = { let __t867 = Value::sym(interp.intern("-")); @@ -5212,7 +5212,7 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh let __t868 = Value::sym(interp.intern("cons")); let __t874 = { let __t870 = { - let __t869 = v_V3280.clone(); + let __t869 = v_V3294.clone(); rt::apply_direct(interp, "shen.macro-@ch", &[__t869])? }; let __t873 = { @@ -5233,9 +5233,9 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh rt::cons(&__t878, &__t879) }; let __t896 = { - let __t881 = v_V3281.clone(); + let __t881 = v_V3295.clone(); let __t895 = { - let __t882 = v_W3283.clone(); + let __t882 = v_W3297.clone(); let __t894 = { let __t885 = { let __t883 = Value::sym(interp.intern("<--")); @@ -5244,8 +5244,8 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh }; let __t893 = { let __t888 = { - let __t886 = v_V3282.clone(); - let __t887 = v_W3283.clone(); + let __t886 = v_V3296.clone(); + let __t887 = v_W3297.clone(); rt::apply_direct( interp, "shen.passive-bind", @@ -5271,19 +5271,19 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh rt::apply_direct(interp, "append", &[__t880, __t896])? }; { - let v_W3285 = { - let v_W3286 = { + let v_W3299 = { + let v_W3300 = { let __t897 = Value::sym(interp.intern("Hypotheses")); rt::apply_direct(interp, "gensym", &[__t897])? }; { - let v_W3287 = { - let __t898 = v_V3281.clone(); - let __t899 = v_V3282.clone(); + let v_W3301 = { + let __t898 = v_V3295.clone(); + let __t899 = v_V3296.clone(); rt::apply_direct(interp, "append", &[__t898, __t899])? }; { - let v_W3288 = { + let v_W3302 = { let __t912 = { let __t910 = { let __t900 = Value::sym(interp.intern("-")); @@ -5293,7 +5293,7 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh let __t906 = { let __t902 = Value::sym(interp.intern("_")); let __t905 = { - let __t903 = v_W3286.clone(); + let __t903 = v_W3300.clone(); let __t904 = Value::nil(); rt::cons(&__t903, &__t904) }; @@ -5309,16 +5309,16 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh let __t911 = Value::nil(); rt::cons(&__t910, &__t911) }; - let __t913 = v_W3287.clone(); + let __t913 = v_W3301.clone(); rt::apply_direct(interp, "append", &[__t912, __t913])? }; { - let v_W3289 = { + let v_W3303 = { let __t918 = { - let __t914 = v_V3279.clone(); + let __t914 = v_V3293.clone(); let __t917 = { - let __t915 = v_W3286.clone(); - let __t916 = v_W3287.clone(); + let __t915 = v_W3300.clone(); + let __t916 = v_W3301.clone(); rt::cons(&__t915, &__t916) }; rt::cons(&__t914, &__t917) @@ -5327,7 +5327,7 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh rt::cons(&__t918, &__t919) }; { - let __t920 = v_W3288.clone(); + let __t920 = v_W3302.clone(); let __t930 = { let __t923 = { let __t921 = Value::sym(interp.intern("<--")); @@ -5335,7 +5335,7 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh rt::cons(&__t921, &__t922) }; let __t929 = { - let __t924 = v_W3289.clone(); + let __t924 = v_W3303.clone(); let __t928 = { let __t926 = { let __t925 = Value::str(";"); @@ -5363,13 +5363,13 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let v_W3290 = { + let v_W3304 = { let __t931 = Value::sym(interp.intern("defprolog")); let __t936 = { - let __t932 = v_V3279.clone(); + let __t932 = v_V3293.clone(); let __t935 = { - let __t933 = v_W3284.clone(); - let __t934 = v_W3285.clone(); + let __t933 = v_W3298.clone(); + let __t934 = v_W3299.clone(); rt::apply_direct(interp, "append", &[__t933, __t934])? }; rt::cons(&__t932, &__t935) @@ -5377,7 +5377,7 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh rt::cons(&__t931, &__t936) }; break Ok({ - let __t937 = v_W3290.clone(); + let __t937 = v_W3304.clone(); rt::apply_direct(interp, "eval", &[__t937])? }); } @@ -5401,13 +5401,13 @@ pub fn aot_shen_x2e_nvars(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult She ))); } #[allow(unused_mut)] - let mut v_V3292 = args[0].clone(); + let mut v_V3306 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3293 = args[1].clone(); + let mut v_V3307 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t975 = { let __t973 = { let __t969 = Value::nil(); - let __t970 = v_V3292.clone(); + let __t970 = v_V3306.clone(); rt::eq(&__t969, &__t970) }; if !rt::is_truthy(interp, &__t973)? { @@ -5477,7 +5477,7 @@ pub fn aot_shen_x2e_passive_x2d_bind(interp: &mut Interp, args: &[Value]) -> She } else { let __t974 = { let __t971 = Value::nil(); - let __t972 = v_V3293.clone(); + let __t972 = v_V3307.clone(); rt::eq(&__t971, &__t972) }; Value::bool(rt::is_truthy(interp, &__t974)?) @@ -5492,14 +5492,14 @@ pub fn aot_shen_x2e_passive_x2d_bind(interp: &mut Interp, args: &[Value]) -> She { let __t968 = { let __t952 = { - let __t950 = v_V3292.clone(); + let __t950 = v_V3306.clone(); rt::is_cons(&__t950) }; if !rt::is_truthy(interp, &__t952)? { Value::bool(false) } else { let __t953 = { - let __t951 = v_V3293.clone(); + let __t951 = v_V3307.clone(); rt::is_cons(&__t951) }; Value::bool(rt::is_truthy(interp, &__t953)?) @@ -5514,12 +5514,12 @@ pub fn aot_shen_x2e_passive_x2d_bind(interp: &mut Interp, args: &[Value]) -> She let __t954 = Value::sym(interp.intern("bind")); let __t961 = { let __t956 = { - let __t955 = v_V3293.clone(); + let __t955 = v_V3307.clone(); rt::hd(&__t955)? }; let __t960 = { let __t958 = { - let __t957 = v_V3292.clone(); + let __t957 = v_V3306.clone(); rt::hd(&__t957)? }; let __t959 = Value::nil(); @@ -5531,11 +5531,11 @@ pub fn aot_shen_x2e_passive_x2d_bind(interp: &mut Interp, args: &[Value]) -> She }; let __t967 = { let __t964 = { - let __t963 = v_V3292.clone(); + let __t963 = v_V3306.clone(); rt::tl(&__t963)? }; let __t966 = { - let __t965 = v_V3293.clone(); + let __t965 = v_V3307.clone(); rt::tl(&__t965)? }; rt::apply_direct(interp, "shen.passive-bind", &[__t964, __t966])? @@ -5581,29 +5581,29 @@ pub fn aot_shen_x2e_specialise_x2d_consume( ))); } #[allow(unused_mut)] - let mut v_V3294 = args[0].clone(); + let mut v_V3308 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3295 = args[1].clone(); + let mut v_V3309 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3296 = args[2].clone(); + let mut v_V3310 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3297 = args[3].clone(); + let mut v_V3311 = args[3].clone(); #[allow(unused_mut)] - let mut v_V3298 = args[4].clone(); + let mut v_V3312 = args[4].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3299 = { + let v_W3313 = { let __t976 = Value::sym(interp.intern("shen.consume")); rt::apply_direct(interp, "gensym", &[__t976])? }; { - let v_W3300 = { - let __t977 = v_W3299.clone(); - let __t978 = v_V3294.clone(); - let __t979 = v_V3296.clone(); - let __t980 = v_V3297.clone(); - let __t981 = v_V3298.clone(); + let v_W3314 = { + let __t977 = v_W3313.clone(); + let __t978 = v_V3308.clone(); + let __t979 = v_V3310.clone(); + let __t980 = v_V3311.clone(); + let __t981 = v_V3312.clone(); rt::apply_direct( interp, "shen.consume-clause", @@ -5611,14 +5611,14 @@ pub fn aot_shen_x2e_specialise_x2d_consume( )? }; break Ok({ - let __t982 = v_W3299.clone(); + let __t982 = v_W3313.clone(); let __t989 = { - let __t983 = v_V3295.clone(); + let __t983 = v_V3309.clone(); let __t988 = { - let __t984 = v_V3298.clone(); + let __t984 = v_V3312.clone(); let __t987 = { - let __t985 = v_V3296.clone(); - let __t986 = v_V3297.clone(); + let __t985 = v_V3310.clone(); + let __t986 = v_V3311.clone(); rt::apply_direct(interp, "append", &[__t985, __t986])? }; rt::cons(&__t984, &__t987) @@ -5653,32 +5653,32 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V3301 = args[0].clone(); + let mut v_V3315 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3302 = args[1].clone(); + let mut v_V3316 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3303 = args[2].clone(); + let mut v_V3317 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3304 = args[3].clone(); + let mut v_V3318 = args[3].clone(); #[allow(unused_mut)] - let mut v_V3305 = args[4].clone(); + let mut v_V3319 = args[4].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3306 = { + let v_W3320 = { let __t991 = { - let __t990 = v_V3304.clone(); + let __t990 = v_V3318.clone(); rt::apply_direct(interp, "length", &[__t990])? }; rt::apply_direct(interp, "shen.nvars", &[__t991])? }; { - let v_W3307 = { + let v_W3321 = { let __t992 = Value::sym(interp.intern("Assumption")); rt::apply_direct(interp, "gensym", &[__t992])? }; { - let v_W3308 = { + let v_W3322 = { let __t1004 = { let __t993 = Value::sym(interp.intern("-")); let __t1003 = { @@ -5686,11 +5686,11 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S let __t994 = Value::sym(interp.intern("cons")); let __t1000 = { let __t996 = { - let __t995 = v_V3302.clone(); + let __t995 = v_V3316.clone(); rt::apply_direct(interp, "shen.macro-@ch", &[__t995])? }; let __t999 = { - let __t997 = v_W3307.clone(); + let __t997 = v_W3321.clone(); let __t998 = Value::nil(); rt::cons(&__t997, &__t998) }; @@ -5704,11 +5704,11 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S rt::cons(&__t993, &__t1003) }; let __t1030 = { - let __t1005 = v_V3305.clone(); + let __t1005 = v_V3319.clone(); let __t1029 = { - let __t1006 = v_V3303.clone(); + let __t1006 = v_V3317.clone(); let __t1028 = { - let __t1007 = v_W3306.clone(); + let __t1007 = v_W3320.clone(); let __t1027 = { let __t1010 = { let __t1008 = Value::sym(interp.intern("<--")); @@ -5717,8 +5717,8 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S }; let __t1026 = { let __t1013 = { - let __t1011 = v_V3304.clone(); - let __t1012 = v_W3306.clone(); + let __t1011 = v_V3318.clone(); + let __t1012 = v_W3320.clone(); rt::apply_direct( interp, "shen.passive-bind", @@ -5729,9 +5729,9 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S let __t1020 = { let __t1014 = Value::sym(interp.intern("bind")); let __t1019 = { - let __t1015 = v_V3305.clone(); + let __t1015 = v_V3319.clone(); let __t1018 = { - let __t1016 = v_W3307.clone(); + let __t1016 = v_W3321.clone(); let __t1017 = Value::nil(); rt::cons(&__t1016, &__t1017) }; @@ -5766,24 +5766,24 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S rt::cons(&__t1004, &__t1030) }; { - let v_W3309 = { - let v_W3310 = { + let v_W3323 = { + let v_W3324 = { let __t1031 = Value::sym(interp.intern("Hypotheses")); rt::apply_direct(interp, "gensym", &[__t1031])? }; { - let v_W3311 = { - let __t1032 = v_V3303.clone(); - let __t1033 = v_V3304.clone(); + let v_W3325 = { + let __t1032 = v_V3317.clone(); + let __t1033 = v_V3318.clone(); rt::apply_direct(interp, "append", &[__t1032, __t1033])? }; { - let v_W3312 = { + let v_W3326 = { let __t1034 = Value::sym(interp.intern("Assumptions")); rt::apply_direct(interp, "gensym", &[__t1034])? }; { - let v_W3313 = { + let v_W3327 = { let __t1045 = { let __t1035 = Value::sym(interp.intern("-")); let __t1044 = { @@ -5791,9 +5791,9 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S let __t1036 = Value::sym(interp.intern("cons")); let __t1041 = { - let __t1037 = v_W3307.clone(); + let __t1037 = v_W3321.clone(); let __t1040 = { - let __t1038 = v_W3310.clone(); + let __t1038 = v_W3324.clone(); let __t1039 = Value::nil(); rt::cons(&__t1038, &__t1039) }; @@ -5810,9 +5810,9 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S let __t1052 = { let __t1046 = Value::sym(interp.intern("cons")); let __t1051 = { - let __t1047 = v_W3312.clone(); + let __t1047 = v_W3326.clone(); let __t1050 = { - let __t1048 = v_V3305.clone(); + let __t1048 = v_V3319.clone(); let __t1049 = Value::nil(); rt::cons(&__t1048, &__t1049) }; @@ -5820,19 +5820,19 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S }; rt::cons(&__t1046, &__t1051) }; - let __t1053 = v_W3311.clone(); + let __t1053 = v_W3325.clone(); rt::cons(&__t1052, &__t1053) }; rt::cons(&__t1045, &__t1054) }; { - let v_W3314 = { + let v_W3328 = { let __t1061 = { let __t1055 = Value::sym(interp.intern("bind")); let __t1060 = { - let __t1056 = v_W3312.clone(); + let __t1056 = v_W3326.clone(); let __t1059 = { - let __t1057 = v_W3307.clone(); + let __t1057 = v_W3321.clone(); let __t1058 = Value::nil(); rt::cons(&__t1057, &__t1058) }; @@ -5842,12 +5842,12 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S }; let __t1070 = { let __t1068 = { - let __t1062 = v_V3301.clone(); + let __t1062 = v_V3315.clone(); let __t1067 = { - let __t1063 = v_W3310.clone(); + let __t1063 = v_W3324.clone(); let __t1066 = { - let __t1064 = v_V3305.clone(); - let __t1065 = v_W3311.clone(); + let __t1064 = v_V3319.clone(); + let __t1065 = v_W3325.clone(); rt::cons(&__t1064, &__t1065) }; rt::cons(&__t1063, &__t1066) @@ -5860,7 +5860,7 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S rt::cons(&__t1061, &__t1070) }; { - let __t1071 = v_W3313.clone(); + let __t1071 = v_W3327.clone(); let __t1081 = { let __t1074 = { let __t1072 = @@ -5869,7 +5869,7 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S rt::cons(&__t1072, &__t1073) }; let __t1080 = { - let __t1075 = v_W3314.clone(); + let __t1075 = v_W3328.clone(); let __t1079 = { let __t1077 = { let __t1076 = Value::str(";"); @@ -5906,13 +5906,13 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S } }; { - let v_W3315 = { + let v_W3329 = { let __t1082 = Value::sym(interp.intern("defprolog")); let __t1087 = { - let __t1083 = v_V3301.clone(); + let __t1083 = v_V3315.clone(); let __t1086 = { - let __t1084 = v_W3308.clone(); - let __t1085 = v_W3309.clone(); + let __t1084 = v_W3322.clone(); + let __t1085 = v_W3323.clone(); rt::apply_direct(interp, "append", &[__t1084, __t1085])? }; rt::cons(&__t1083, &__t1086) @@ -5920,7 +5920,7 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S rt::cons(&__t1082, &__t1087) }; break Ok({ - let __t1088 = v_W3315.clone(); + let __t1088 = v_W3329.clone(); rt::apply_direct(interp, "eval", &[__t1088])? }); } @@ -5948,17 +5948,17 @@ pub fn aot_shen_x2e_passive_x2d_variables( ))); } #[allow(unused_mut)] - let mut v_V3316 = args[0].clone(); + let mut v_V3330 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3317 = args[1].clone(); + let mut v_V3331 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t1090 = { - let __t1089 = v_V3316.clone(); + let __t1089 = v_V3330.clone(); rt::apply_direct(interp, "shen.extract-vars", &[__t1089])? }; - let __t1091 = v_V3317.clone(); + let __t1091 = v_V3331.clone(); rt::apply_direct(interp, "difference", &[__t1090, __t1091])? }); } @@ -5985,21 +5985,21 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( ))); } #[allow(unused_mut)] - let mut v_V3322 = args[0].clone(); + let mut v_V3336 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3323 = args[1].clone(); + let mut v_V3337 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3324 = args[2].clone(); + let mut v_V3338 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3325 = args[3].clone(); + let mut v_V3339 = args[3].clone(); #[allow(unused_mut)] - let mut v_V3326 = args[4].clone(); + let mut v_V3340 = args[4].clone(); #[allow(clippy::never_loop)] loop { { let __t1302 = { let __t1297 = Value::nil(); - let __t1298 = v_V3325.clone(); + let __t1298 = v_V3339.clone(); rt::eq(&__t1297, &__t1298) }; if match rt::is_truthy(interp, &__t1302) { @@ -6007,16 +6007,16 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( Err(e) => break Err(e), } { break Ok({ - let __t1299 = v_V3322.clone(); - let __t1300 = v_V3324.clone(); - let __t1301 = v_V3326.clone(); + let __t1299 = v_V3336.clone(); + let __t1300 = v_V3338.clone(); + let __t1301 = v_V3340.clone(); rt::apply_direct(interp, "shen.premises->goals", &[__t1299, __t1300, __t1301])? }); } else { { let __t1296 = { let __t1282 = { - let __t1261 = v_V3325.clone(); + let __t1261 = v_V3339.clone(); rt::is_cons(&__t1261) }; if !rt::is_truthy(interp, &__t1282)? { @@ -6025,7 +6025,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1283 = { let __t1280 = { let __t1263 = { - let __t1262 = v_V3325.clone(); + let __t1262 = v_V3339.clone(); rt::hd(&__t1262)? }; rt::is_cons(&__t1263) @@ -6038,7 +6038,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1264 = Value::sym(interp.intern("if")); let __t1267 = { let __t1266 = { - let __t1265 = v_V3325.clone(); + let __t1265 = v_V3339.clone(); rt::hd(&__t1265)? }; rt::hd(&__t1266)? @@ -6052,7 +6052,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1276 = { let __t1270 = { let __t1269 = { - let __t1268 = v_V3325.clone(); + let __t1268 = v_V3339.clone(); rt::hd(&__t1268)? }; rt::tl(&__t1269)? @@ -6067,7 +6067,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1275 = { let __t1274 = { let __t1273 = { - let __t1272 = v_V3325.clone(); + let __t1272 = v_V3339.clone(); rt::hd(&__t1272)? }; rt::tl(&__t1273)? @@ -6097,7 +6097,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1284 = Value::sym(interp.intern("when")); let __t1287 = { let __t1286 = { - let __t1285 = v_V3325.clone(); + let __t1285 = v_V3339.clone(); rt::hd(&__t1285)? }; rt::tl(&__t1286)? @@ -6105,14 +6105,14 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( rt::cons(&__t1284, &__t1287) }; let __t1295 = { - let __t1289 = v_V3322.clone(); - let __t1290 = v_V3323.clone(); - let __t1291 = v_V3324.clone(); + let __t1289 = v_V3336.clone(); + let __t1290 = v_V3337.clone(); + let __t1291 = v_V3338.clone(); let __t1293 = { - let __t1292 = v_V3325.clone(); + let __t1292 = v_V3339.clone(); rt::tl(&__t1292)? }; - let __t1294 = v_V3326.clone(); + let __t1294 = v_V3340.clone(); rt::apply_direct( interp, "shen.side-conditions->goals", @@ -6125,7 +6125,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( { let __t1260 = { let __t1223 = { - let __t1195 = v_V3325.clone(); + let __t1195 = v_V3339.clone(); rt::is_cons(&__t1195) }; if !rt::is_truthy(interp, &__t1223)? { @@ -6134,7 +6134,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1224 = { let __t1221 = { let __t1197 = { - let __t1196 = v_V3325.clone(); + let __t1196 = v_V3339.clone(); rt::hd(&__t1196)? }; rt::is_cons(&__t1197) @@ -6147,7 +6147,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1198 = Value::sym(interp.intern("let")); let __t1201 = { let __t1200 = { - let __t1199 = v_V3325.clone(); + let __t1199 = v_V3339.clone(); rt::hd(&__t1199)? }; rt::hd(&__t1200)? @@ -6161,7 +6161,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1217 = { let __t1204 = { let __t1203 = { - let __t1202 = v_V3325.clone(); + let __t1202 = v_V3339.clone(); rt::hd(&__t1202)? }; rt::tl(&__t1203)? @@ -6177,7 +6177,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1207 = { let __t1206 = { let __t1205 = - v_V3325.clone(); + v_V3339.clone(); rt::hd(&__t1205)? }; rt::tl(&__t1206)? @@ -6196,7 +6196,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1213 = { let __t1212 = { let __t1211 = { - let __t1210 = v_V3325.clone(); + let __t1210 = v_V3339.clone(); rt::hd(&__t1210)? }; rt::tl( @@ -6237,14 +6237,14 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1228 = { let __t1227 = { let __t1226 = { - let __t1225 = v_V3325.clone(); + let __t1225 = v_V3339.clone(); rt::hd(&__t1225)? }; rt::tl(&__t1226)? }; rt::hd(&__t1227)? }; - let __t1229 = v_V3323.clone(); + let __t1229 = v_V3337.clone(); rt::apply_direct(interp, "element?", &[__t1228, __t1229])? }; if match rt::is_truthy(interp, &__t1230) { @@ -6256,7 +6256,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1231 = Value::sym(interp.intern("is!")); let __t1234 = { let __t1233 = { - let __t1232 = v_V3325.clone(); + let __t1232 = v_V3339.clone(); rt::hd(&__t1232)? }; rt::tl(&__t1233)? @@ -6264,14 +6264,14 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( rt::cons(&__t1231, &__t1234) }; let __t1242 = { - let __t1236 = v_V3322.clone(); - let __t1237 = v_V3323.clone(); - let __t1238 = v_V3324.clone(); + let __t1236 = v_V3336.clone(); + let __t1237 = v_V3337.clone(); + let __t1238 = v_V3338.clone(); let __t1240 = { - let __t1239 = v_V3325.clone(); + let __t1239 = v_V3339.clone(); rt::tl(&__t1239)? }; - let __t1241 = v_V3326.clone(); + let __t1241 = v_V3340.clone(); rt::apply_direct( interp, "shen.side-conditions->goals", @@ -6286,7 +6286,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1243 = Value::sym(interp.intern("bind")); let __t1246 = { let __t1245 = { - let __t1244 = v_V3325.clone(); + let __t1244 = v_V3339.clone(); rt::hd(&__t1244)? }; rt::tl(&__t1245)? @@ -6294,27 +6294,27 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( rt::cons(&__t1243, &__t1246) }; let __t1259 = { - let __t1248 = v_V3322.clone(); + let __t1248 = v_V3336.clone(); let __t1254 = { let __t1252 = { let __t1251 = { let __t1250 = { - let __t1249 = v_V3325.clone(); + let __t1249 = v_V3339.clone(); rt::hd(&__t1249)? }; rt::tl(&__t1250)? }; rt::hd(&__t1251)? }; - let __t1253 = v_V3323.clone(); + let __t1253 = v_V3337.clone(); rt::cons(&__t1252, &__t1253) }; - let __t1255 = v_V3324.clone(); + let __t1255 = v_V3338.clone(); let __t1257 = { - let __t1256 = v_V3325.clone(); + let __t1256 = v_V3339.clone(); rt::tl(&__t1256)? }; - let __t1258 = v_V3326.clone(); + let __t1258 = v_V3340.clone(); rt::apply_direct( interp, "shen.side-conditions->goals", @@ -6329,7 +6329,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( { let __t1194 = { let __t1145 = { - let __t1124 = v_V3325.clone(); + let __t1124 = v_V3339.clone(); rt::is_cons(&__t1124) }; if !rt::is_truthy(interp, &__t1145)? { @@ -6338,7 +6338,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1146 = { let __t1143 = { let __t1126 = { - let __t1125 = v_V3325.clone(); + let __t1125 = v_V3339.clone(); rt::hd(&__t1125)? }; rt::is_cons(&__t1126) @@ -6352,7 +6352,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( Value::sym(interp.intern("ctxt")); let __t1130 = { let __t1129 = { - let __t1128 = v_V3325.clone(); + let __t1128 = v_V3339.clone(); rt::hd(&__t1128)? }; rt::hd(&__t1129)? @@ -6367,7 +6367,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1133 = { let __t1132 = { let __t1131 = - v_V3325.clone(); + v_V3339.clone(); rt::hd(&__t1131)? }; rt::tl(&__t1132)? @@ -6384,7 +6384,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1137 = { let __t1136 = { let __t1135 = - v_V3325 + v_V3339 .clone( ); rt::hd( @@ -6422,14 +6422,14 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1150 = { let __t1149 = { let __t1148 = { - let __t1147 = v_V3325.clone(); + let __t1147 = v_V3339.clone(); rt::hd(&__t1147)? }; rt::tl(&__t1148)? }; rt::hd(&__t1149)? }; - let __t1151 = v_V3323.clone(); + let __t1151 = v_V3337.clone(); rt::apply_direct( interp, "element?", @@ -6445,28 +6445,28 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1156 = { let __t1155 = { let __t1154 = { - let __t1153 = v_V3325.clone(); + let __t1153 = v_V3339.clone(); rt::hd(&__t1153)? }; rt::tl(&__t1154)? }; rt::hd(&__t1155)? }; - let __t1157 = v_V3322.clone(); + let __t1157 = v_V3336.clone(); rt::cons(&__t1156, &__t1157) }; - let __t1159 = v_V3323.clone(); - let __t1160 = v_V3324.clone(); + let __t1159 = v_V3337.clone(); + let __t1160 = v_V3338.clone(); let __t1162 = { - let __t1161 = v_V3325.clone(); + let __t1161 = v_V3339.clone(); rt::tl(&__t1161)? }; - let __t1163 = v_V3326.clone(); - v_V3322 = __t1158; - v_V3323 = __t1159; - v_V3324 = __t1160; - v_V3325 = __t1162; - v_V3326 = __t1163; + let __t1163 = v_V3340.clone(); + v_V3336 = __t1158; + v_V3337 = __t1159; + v_V3338 = __t1160; + v_V3339 = __t1162; + v_V3340 = __t1163; continue; } } else { @@ -6479,7 +6479,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1167 = { let __t1166 = { let __t1165 = - v_V3325.clone(); + v_V3339.clone(); rt::hd(&__t1165)? }; rt::tl(&__t1166)? @@ -6487,7 +6487,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( rt::hd(&__t1167)? }; let __t1171 = { - let __t1169 = v_V3324.clone(); + let __t1169 = v_V3338.clone(); let __t1170 = Value::nil(); rt::cons(&__t1169, &__t1170) }; @@ -6501,14 +6501,14 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1176 = { let __t1175 = { let __t1174 = - v_V3325.clone(); + v_V3339.clone(); rt::hd(&__t1174)? }; rt::tl(&__t1175)? }; rt::hd(&__t1176)? }; - let __t1178 = v_V3322.clone(); + let __t1178 = v_V3336.clone(); rt::cons(&__t1177, &__t1178) }; let __t1185 = { @@ -6516,20 +6516,20 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1182 = { let __t1181 = { let __t1180 = - v_V3325.clone(); + v_V3339.clone(); rt::hd(&__t1180)? }; rt::tl(&__t1181)? }; rt::hd(&__t1182)? }; - let __t1184 = v_V3323.clone(); + let __t1184 = v_V3337.clone(); rt::cons(&__t1183, &__t1184) }; let __t1189 = { let __t1188 = { let __t1187 = { - let __t1186 = v_V3325.clone(); + let __t1186 = v_V3339.clone(); rt::hd(&__t1186)? }; rt::tl(&__t1187)? @@ -6537,10 +6537,10 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( rt::hd(&__t1188)? }; let __t1191 = { - let __t1190 = v_V3325.clone(); + let __t1190 = v_V3339.clone(); rt::tl(&__t1190)? }; - let __t1192 = v_V3326.clone(); + let __t1192 = v_V3340.clone(); rt::apply_direct( interp, "shen.side-conditions->goals", @@ -6558,7 +6558,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( { let __t1123 = { let __t1115 = { - let __t1094 = v_V3325.clone(); + let __t1094 = v_V3339.clone(); rt::is_cons(&__t1094) }; if !rt::is_truthy(interp, &__t1115)? { @@ -6567,7 +6567,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1116 = { let __t1113 = { let __t1096 = { - let __t1095 = v_V3325.clone(); + let __t1095 = v_V3339.clone(); rt::hd(&__t1095)? }; rt::is_cons(&__t1096) @@ -6583,7 +6583,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1100 = { let __t1099 = { let __t1098 = - v_V3325.clone(); + v_V3339.clone(); rt::hd(&__t1098)? }; rt::hd(&__t1099)? @@ -6599,7 +6599,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1103 = { let __t1102 = { let __t1101 = - v_V3325 + v_V3339 .clone( ); rt::hd( @@ -6621,7 +6621,7 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( let __t1108 = { let __t1107 = { let __t1106 = { - let __t1105 = v_V3325.clone(); + let __t1105 = v_V3339.clone(); rt::hd(&__t1105)? }; rt::tl(&__t1106)? @@ -6661,19 +6661,19 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( Err(e) => break Err(e), } { { - let __t1117 = v_V3322.clone(); - let __t1118 = v_V3323.clone(); - let __t1119 = v_V3324.clone(); + let __t1117 = v_V3336.clone(); + let __t1118 = v_V3337.clone(); + let __t1119 = v_V3338.clone(); let __t1121 = { - let __t1120 = v_V3325.clone(); + let __t1120 = v_V3339.clone(); rt::tl(&__t1120)? }; - let __t1122 = v_V3326.clone(); - v_V3322 = __t1117; - v_V3323 = __t1118; - v_V3324 = __t1119; - v_V3325 = __t1121; - v_V3326 = __t1122; + let __t1122 = v_V3340.clone(); + v_V3336 = __t1117; + v_V3337 = __t1118; + v_V3338 = __t1119; + v_V3339 = __t1121; + v_V3340 = __t1122; continue; } } else { @@ -6734,17 +6734,17 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( ))); } #[allow(unused_mut)] - let mut v_V3331 = args[0].clone(); + let mut v_V3345 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3332 = args[1].clone(); + let mut v_V3346 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3333 = args[2].clone(); + let mut v_V3347 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t1379 = { let __t1374 = Value::nil(); - let __t1375 = v_V3333.clone(); + let __t1375 = v_V3347.clone(); rt::eq(&__t1374, &__t1375) }; if match rt::is_truthy(interp, &__t1379) { @@ -6763,7 +6763,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( { let __t1373 = { let __t1365 = { - let __t1361 = v_V3333.clone(); + let __t1361 = v_V3347.clone(); rt::is_cons(&__t1361) }; if !rt::is_truthy(interp, &__t1365)? { @@ -6772,7 +6772,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( let __t1366 = { let __t1362 = Value::sym(interp.intern("!")); let __t1364 = { - let __t1363 = v_V3333.clone(); + let __t1363 = v_V3347.clone(); rt::hd(&__t1363)? }; rt::eq(&__t1362, &__t1364) @@ -6787,10 +6787,10 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( break Ok({ let __t1367 = Value::sym(interp.intern("!")); let __t1372 = { - let __t1368 = v_V3331.clone(); - let __t1369 = v_V3332.clone(); + let __t1368 = v_V3345.clone(); + let __t1369 = v_V3346.clone(); let __t1371 = { - let __t1370 = v_V3333.clone(); + let __t1370 = v_V3347.clone(); rt::tl(&__t1370)? }; rt::apply_direct( @@ -6805,7 +6805,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( { let __t1360 = { let __t1348 = { - let __t1344 = v_V3333.clone(); + let __t1344 = v_V3347.clone(); rt::is_cons(&__t1344) }; if !rt::is_truthy(interp, &__t1348)? { @@ -6814,7 +6814,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( let __t1349 = { let __t1345 = Value::sym(interp.intern("fail")); let __t1347 = { - let __t1346 = v_V3333.clone(); + let __t1346 = v_V3347.clone(); rt::hd(&__t1346)? }; rt::eq(&__t1345, &__t1347) @@ -6837,10 +6837,10 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( rt::cons(&__t1350, &__t1353) }; let __t1359 = { - let __t1355 = v_V3331.clone(); - let __t1356 = v_V3332.clone(); + let __t1355 = v_V3345.clone(); + let __t1356 = v_V3346.clone(); let __t1358 = { - let __t1357 = v_V3333.clone(); + let __t1357 = v_V3347.clone(); rt::tl(&__t1357)? }; rt::apply_direct( @@ -6855,7 +6855,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( { let __t1343 = { let __t1320 = { - let __t1305 = v_V3333.clone(); + let __t1305 = v_V3347.clone(); rt::is_cons(&__t1305) }; if !rt::is_truthy(interp, &__t1320)? { @@ -6864,7 +6864,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( let __t1321 = { let __t1318 = { let __t1307 = { - let __t1306 = v_V3333.clone(); + let __t1306 = v_V3347.clone(); rt::hd(&__t1306)? }; rt::is_cons(&__t1307) @@ -6876,7 +6876,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( let __t1316 = { let __t1310 = { let __t1309 = { - let __t1308 = v_V3333.clone(); + let __t1308 = v_V3347.clone(); rt::hd(&__t1308)? }; rt::tl(&__t1309)? @@ -6892,7 +6892,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( let __t1314 = { let __t1313 = { let __t1312 = - v_V3333.clone(); + v_V3347.clone(); rt::hd(&__t1312)? }; rt::tl(&__t1313)? @@ -6925,7 +6925,7 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( let __t1326 = { let __t1325 = { let __t1324 = { - let __t1323 = v_V3333.clone(); + let __t1323 = v_V3347.clone(); rt::hd(&__t1323)? }; rt::tl(&__t1324)? @@ -6940,15 +6940,15 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( }; let __t1335 = { let __t1333 = { - let __t1328 = v_V3331.clone(); + let __t1328 = v_V3345.clone(); let __t1331 = { let __t1330 = { - let __t1329 = v_V3333.clone(); + let __t1329 = v_V3347.clone(); rt::hd(&__t1329)? }; rt::hd(&__t1330)? }; - let __t1332 = v_V3332.clone(); + let __t1332 = v_V3346.clone(); rt::apply_direct( interp, "shen.construct-context", @@ -6963,10 +6963,10 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( rt::cons(&__t1322, &__t1336) }; let __t1342 = { - let __t1338 = v_V3331.clone(); - let __t1339 = v_V3332.clone(); + let __t1338 = v_V3345.clone(); + let __t1339 = v_V3346.clone(); let __t1341 = { - let __t1340 = v_V3333.clone(); + let __t1340 = v_V3347.clone(); rt::tl(&__t1340)? }; rt::apply_direct( @@ -7032,29 +7032,29 @@ pub fn aot_shen_x2e_construct_x2d_context( ))); } #[allow(unused_mut)] - let mut v_V3337 = args[0].clone(); + let mut v_V3351 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3338 = args[1].clone(); + let mut v_V3352 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3339 = args[2].clone(); + let mut v_V3353 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t1411 = { let __t1409 = Value::nil(); - let __t1410 = v_V3338.clone(); + let __t1410 = v_V3352.clone(); rt::eq(&__t1409, &__t1410) }; if match rt::is_truthy(interp, &__t1411) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3339.clone()); + break Ok(v_V3353.clone()); } else { { let __t1408 = { let __t1405 = { - let __t1396 = v_V3338.clone(); + let __t1396 = v_V3352.clone(); rt::is_cons(&__t1396) }; if !rt::is_truthy(interp, &__t1405)? { @@ -7064,7 +7064,7 @@ pub fn aot_shen_x2e_construct_x2d_context( let __t1403 = { let __t1397 = Value::nil(); let __t1399 = { - let __t1398 = v_V3338.clone(); + let __t1398 = v_V3352.clone(); rt::tl(&__t1398)? }; rt::eq(&__t1397, &__t1399) @@ -7074,10 +7074,10 @@ pub fn aot_shen_x2e_construct_x2d_context( } else { let __t1404 = { let __t1401 = { - let __t1400 = v_V3338.clone(); + let __t1400 = v_V3352.clone(); rt::hd(&__t1400)? }; - let __t1402 = v_V3337.clone(); + let __t1402 = v_V3351.clone(); rt::apply_direct(interp, "element?", &[__t1401, __t1402])? }; Value::bool(rt::is_truthy(interp, &__t1404)?) @@ -7091,13 +7091,13 @@ pub fn aot_shen_x2e_construct_x2d_context( Err(e) => break Err(e), } { break Ok({ - let __t1407 = v_V3338.clone(); + let __t1407 = v_V3352.clone(); rt::hd(&__t1407)? }); } else { { let __t1395 = { - let __t1382 = v_V3338.clone(); + let __t1382 = v_V3352.clone(); rt::is_cons(&__t1382) }; if match rt::is_truthy(interp, &__t1395) { @@ -7109,19 +7109,19 @@ pub fn aot_shen_x2e_construct_x2d_context( let __t1394 = { let __t1386 = { let __t1385 = { - let __t1384 = v_V3338.clone(); + let __t1384 = v_V3352.clone(); rt::hd(&__t1384)? }; rt::apply_direct(interp, "shen.macro-@c", &[__t1385])? }; let __t1393 = { let __t1391 = { - let __t1387 = v_V3337.clone(); + let __t1387 = v_V3351.clone(); let __t1389 = { - let __t1388 = v_V3338.clone(); + let __t1388 = v_V3352.clone(); rt::tl(&__t1388)? }; - let __t1390 = v_V3339.clone(); + let __t1390 = v_V3353.clone(); rt::apply_direct( interp, "shen.construct-context", @@ -7179,19 +7179,19 @@ pub fn aot_preclude(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3340 = args[0].clone(); + let mut v_V3354 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3341 = { + let v_W3355 = { let __t1413 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3342 = args[0].clone(); + let v_Z3356 = args[0].clone(); Ok({ - let __t1412 = v_Z3342.clone(); + let __t1412 = v_Z3356.clone(); rt::apply_direct(interp, "shen.intern-type", &[__t1412])? }) }, @@ -7199,28 +7199,28 @@ pub fn aot_preclude(interp: &mut Interp, args: &[Value]) -> ShenResult { interp, ) }; - let __t1414 = v_V3340.clone(); + let __t1414 = v_V3354.clone(); rt::apply_direct(interp, "map", &[__t1413, __t1414])? }; { - let v_W3343 = { + let v_W3357 = { let __t1415 = Value::sym(interp.intern("shen.*datatypes*")); rt::apply_direct(interp, "value", &[__t1415])? }; { - let v_W3344 = { - let __t1416 = v_W3341.clone(); - let __t1417 = v_W3343.clone(); + let v_W3358 = { + let __t1416 = v_W3355.clone(); + let __t1417 = v_W3357.clone(); rt::apply_direct(interp, "shen.remove-datatypes", &[__t1416, __t1417])? }; { - let v_W3345 = { + let v_W3359 = { let __t1418 = Value::sym(interp.intern("shen.*datatypes*")); - let __t1419 = v_W3344.clone(); + let __t1419 = v_W3358.clone(); rt::apply_direct(interp, "set", &[__t1418, __t1419])? }; break Ok({ - let __t1420 = v_W3345.clone(); + let __t1420 = v_W3359.clone(); rt::apply_direct(interp, "shen.show-datatypes", &[__t1420])? }); } @@ -7244,26 +7244,26 @@ pub fn aot_shen_x2e_remove_x2d_datatypes(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V3350 = args[0].clone(); + let mut v_V3364 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3351 = args[1].clone(); + let mut v_V3365 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t1433 = { let __t1431 = Value::nil(); - let __t1432 = v_V3350.clone(); + let __t1432 = v_V3364.clone(); rt::eq(&__t1431, &__t1432) }; if match rt::is_truthy(interp, &__t1433) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3351.clone()); + break Ok(v_V3365.clone()); } else { { let __t1430 = { - let __t1423 = v_V3350.clone(); + let __t1423 = v_V3364.clone(); rt::is_cons(&__t1423) }; if match rt::is_truthy(interp, &__t1430) { @@ -7272,19 +7272,19 @@ pub fn aot_shen_x2e_remove_x2d_datatypes(interp: &mut Interp, args: &[Value]) -> } { { let __t1425 = { - let __t1424 = v_V3350.clone(); + let __t1424 = v_V3364.clone(); rt::tl(&__t1424)? }; let __t1429 = { let __t1427 = { - let __t1426 = v_V3350.clone(); + let __t1426 = v_V3364.clone(); rt::hd(&__t1426)? }; - let __t1428 = v_V3351.clone(); + let __t1428 = v_V3365.clone(); rt::apply_direct(interp, "shen.unassoc", &[__t1427, __t1428])? }; - v_V3350 = __t1425; - v_V3351 = __t1429; + v_V3364 = __t1425; + v_V3365 = __t1429; continue; } } else { @@ -7328,7 +7328,7 @@ pub fn aot_shen_x2e_show_x2d_datatypes(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V3352 = args[0].clone(); + let mut v_V3366 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -7337,9 +7337,9 @@ pub fn aot_shen_x2e_show_x2d_datatypes(interp: &mut Interp, args: &[Value]) -> S "", 1, move |interp, args| { - let v_Z3353 = args[0].clone(); + let v_Z3367 = args[0].clone(); Ok({ - let __t1434 = v_Z3353.clone(); + let __t1434 = v_Z3367.clone(); rt::hd(&__t1434)? }) }, @@ -7347,7 +7347,7 @@ pub fn aot_shen_x2e_show_x2d_datatypes(interp: &mut Interp, args: &[Value]) -> S interp, ) }; - let __t1436 = v_V3352.clone(); + let __t1436 = v_V3366.clone(); rt::apply_direct(interp, "map", &[__t1435, __t1436])? }); } @@ -7367,19 +7367,19 @@ pub fn aot_include(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3354 = args[0].clone(); + let mut v_V3368 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3355 = { + let v_W3369 = { let __t1438 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3356 = args[0].clone(); + let v_Z3370 = args[0].clone(); Ok({ - let __t1437 = v_Z3356.clone(); + let __t1437 = v_Z3370.clone(); rt::apply_direct(interp, "shen.intern-type", &[__t1437])? }) }, @@ -7387,21 +7387,21 @@ pub fn aot_include(interp: &mut Interp, args: &[Value]) -> ShenResult { interp, ) }; - let __t1439 = v_V3354.clone(); + let __t1439 = v_V3368.clone(); rt::apply_direct(interp, "map", &[__t1438, __t1439])? }; { - let v_W3357 = { + let v_W3371 = { let __t1443 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3358 = args[0].clone(); + let v_Z3372 = args[0].clone(); Ok({ - let __t1440 = v_Z3358.clone(); + let __t1440 = v_Z3372.clone(); let __t1442 = { - let __t1441 = v_Z3358.clone(); + let __t1441 = v_Z3372.clone(); rt::apply_direct(interp, "fn", &[__t1441])? }; rt::apply_direct( @@ -7415,16 +7415,16 @@ pub fn aot_include(interp: &mut Interp, args: &[Value]) -> ShenResult { interp, ) }; - let __t1444 = v_W3355.clone(); + let __t1444 = v_W3369.clone(); rt::apply_direct(interp, "map", &[__t1443, __t1444])? }; { - let v_W3359 = { + let v_W3373 = { let __t1445 = Value::sym(interp.intern("shen.*datatypes*")); rt::apply_direct(interp, "value", &[__t1445])? }; break Ok({ - let __t1446 = v_W3359.clone(); + let __t1446 = v_W3373.clone(); rt::apply_direct(interp, "shen.show-datatypes", &[__t1446])? }); } @@ -7447,25 +7447,25 @@ pub fn aot_preclude_x2d_all_x2d_but(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V3360 = args[0].clone(); + let mut v_V3374 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3361 = { + let v_W3375 = { let __t1447 = Value::sym(interp.intern("shen.*datatypes*")); let __t1448 = Value::nil(); rt::apply_direct(interp, "set", &[__t1447, __t1448])? }; { - let v_W3362 = { + let v_W3376 = { let __t1450 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3363 = args[0].clone(); + let v_Z3377 = args[0].clone(); Ok({ - let __t1449 = v_Z3363.clone(); + let __t1449 = v_Z3377.clone(); rt::apply_direct(interp, "shen.intern-type", &[__t1449])? }) }, @@ -7473,21 +7473,21 @@ pub fn aot_preclude_x2d_all_x2d_but(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t1451 = v_V3360.clone(); + let __t1451 = v_V3374.clone(); rt::apply_direct(interp, "map", &[__t1450, __t1451])? }; { - let v_W3364 = { + let v_W3378 = { let __t1455 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3365 = args[0].clone(); + let v_Z3379 = args[0].clone(); Ok({ - let __t1452 = v_Z3365.clone(); + let __t1452 = v_Z3379.clone(); let __t1454 = { - let __t1453 = v_Z3365.clone(); + let __t1453 = v_Z3379.clone(); rt::apply_direct(interp, "fn", &[__t1453])? }; rt::apply_direct( @@ -7501,7 +7501,7 @@ pub fn aot_preclude_x2d_all_x2d_but(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t1456 = v_W3362.clone(); + let __t1456 = v_W3376.clone(); rt::apply_direct(interp, "map", &[__t1455, __t1456])? }; break Ok({ @@ -7531,19 +7531,19 @@ pub fn aot_include_x2d_all_x2d_but(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3366 = args[0].clone(); + let mut v_V3380 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3367 = { + let v_W3381 = { let __t1460 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3368 = args[0].clone(); + let v_Z3382 = args[0].clone(); Ok({ - let __t1459 = v_Z3368.clone(); + let __t1459 = v_Z3382.clone(); rt::apply_direct(interp, "shen.intern-type", &[__t1459])? }) }, @@ -7551,26 +7551,26 @@ pub fn aot_include_x2d_all_x2d_but(interp: &mut Interp, args: &[Value]) -> ShenR interp, ) }; - let __t1461 = v_V3366.clone(); + let __t1461 = v_V3380.clone(); rt::apply_direct(interp, "map", &[__t1460, __t1461])? }; { - let v_W3369 = { + let v_W3383 = { let __t1462 = Value::sym(interp.intern("shen.*alldatatypes*")); rt::apply_direct(interp, "value", &[__t1462])? }; { - let v_W3370 = { + let v_W3384 = { let __t1463 = Value::sym(interp.intern("shen.*datatypes*")); let __t1466 = { - let __t1464 = v_W3367.clone(); - let __t1465 = v_W3369.clone(); + let __t1464 = v_W3381.clone(); + let __t1465 = v_W3383.clone(); rt::apply_direct(interp, "shen.remove-datatypes", &[__t1464, __t1465])? }; rt::apply_direct(interp, "set", &[__t1463, __t1466])? }; break Ok({ - let __t1467 = v_W3370.clone(); + let __t1467 = v_W3384.clone(); rt::apply_direct(interp, "shen.show-datatypes", &[__t1467])? }); } diff --git a/crates/shen-rust/src/aot/kernel/sys.rs b/crates/shen-rust/src/aot/kernel/sys.rs index ec69f9a..5192e48 100644 --- a/crates/shen-rust/src/aot/kernel/sys.rs +++ b/crates/shen-rust/src/aot/kernel/sys.rs @@ -32,10 +32,10 @@ pub fn aot_thaw(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3430 = args[0].clone(); + let mut v_V3444 = args[0].clone(); #[allow(clippy::never_loop)] loop { - break Ok({ rt::apply_value(interp, v_V3430.clone(), &[])? }); + break Ok({ rt::apply_value(interp, v_V3444.clone(), &[])? }); } } @@ -53,18 +53,18 @@ pub fn aot_eval(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3431 = args[0].clone(); + let mut v_V3445 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t5 = { let __t4 = { let __t1 = { - let __t0 = v_V3431.clone(); + let __t0 = v_V3445.clone(); rt::apply_direct(interp, "macroexpand", &[__t0])? }; let __t3 = { - let __t2 = v_V3431.clone(); + let __t2 = v_V3445.clone(); rt::apply_direct(interp, "shen.find-types", &[__t2])? }; rt::apply_direct(interp, "shen.process-applications", &[__t1, __t3])? @@ -90,13 +90,13 @@ pub fn aot_external(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3432 = args[0].clone(); + let mut v_V3446 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t19 = { let __t17 = Value::sym(interp.intern("null")); - let __t18 = v_V3432.clone(); + let __t18 = v_V3446.clone(); rt::eq(&__t17, &__t18) }; if match rt::is_truthy(interp, &__t19) { @@ -114,7 +114,7 @@ pub fn aot_external(interp: &mut Interp, args: &[Value]) -> ShenResult { break Ok( match (|| -> ShenResult { Ok({ - let __t6 = v_V3432.clone(); + let __t6 = v_V3446.clone(); let __t7 = Value::sym(interp.intern("shen.external-symbols")); let __t9 = { let __t8 = Value::sym(interp.intern("*property-vector*")); @@ -126,17 +126,17 @@ pub fn aot_external(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(v) => v, Err(e) => { let __h = { - let v_V3432 = v_V3432.clone(); + let v_V3446 = v_V3446.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3433 = args[0].clone(); + let v_Z3447 = args[0].clone(); Ok({ let __t15 = { let __t10 = Value::str("package "); let __t14 = { - let __t11 = v_V3432.clone(); + let __t11 = v_V3446.clone(); let __t12 = Value::str(" does not exist.\n;"); let __t13 = @@ -160,7 +160,7 @@ pub fn aot_external(interp: &mut Interp, args: &[Value]) -> ShenResult { )? }) }, - vec![v_V3432], + vec![v_V3446], interp, ) }; @@ -192,13 +192,13 @@ pub fn aot_internal(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3434 = args[0].clone(); + let mut v_V3448 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t33 = { let __t31 = Value::sym(interp.intern("null")); - let __t32 = v_V3434.clone(); + let __t32 = v_V3448.clone(); rt::eq(&__t31, &__t32) }; if match rt::is_truthy(interp, &__t33) { @@ -216,7 +216,7 @@ pub fn aot_internal(interp: &mut Interp, args: &[Value]) -> ShenResult { break Ok( match (|| -> ShenResult { Ok({ - let __t20 = v_V3434.clone(); + let __t20 = v_V3448.clone(); let __t21 = Value::sym(interp.intern("shen.internal-symbols")); let __t23 = { let __t22 = Value::sym(interp.intern("*property-vector*")); @@ -228,17 +228,17 @@ pub fn aot_internal(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(v) => v, Err(e) => { let __h = { - let v_V3434 = v_V3434.clone(); + let v_V3448 = v_V3448.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3435 = args[0].clone(); + let v_Z3449 = args[0].clone(); Ok({ let __t29 = { let __t24 = Value::str("package "); let __t28 = { - let __t25 = v_V3434.clone(); + let __t25 = v_V3448.clone(); let __t26 = Value::str(" does not exist.\n;"); let __t27 = @@ -262,7 +262,7 @@ pub fn aot_internal(interp: &mut Interp, args: &[Value]) -> ShenResult { )? }) }, - vec![v_V3434], + vec![v_V3448], interp, ) }; @@ -294,15 +294,15 @@ pub fn aot_fail_x2d_if(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3436 = args[0].clone(); + let mut v_V3450 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3437 = args[1].clone(); + let mut v_V3451 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t35 = { - let __t34 = v_V3437.clone(); - rt::apply_value(interp, v_V3436.clone(), &[__t34])? + let __t34 = v_V3451.clone(); + rt::apply_value(interp, v_V3450.clone(), &[__t34])? }; if match rt::is_truthy(interp, &__t35) { Ok(b) => b, @@ -310,7 +310,7 @@ pub fn aot_fail_x2d_if(interp: &mut Interp, args: &[Value]) -> ShenResult } { break Ok({ rt::apply_direct(interp, "fail", &[])? }); } else { - break Ok(v_V3437.clone()); + break Ok(v_V3451.clone()); } } } @@ -330,14 +330,14 @@ pub fn aot__x40_s(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3438 = args[0].clone(); + let mut v_V3452 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3439 = args[1].clone(); + let mut v_V3453 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t36 = v_V3438.clone(); - let __t37 = v_V3439.clone(); + let __t36 = v_V3452.clone(); + let __t37 = v_V3453.clone(); rt::apply_direct(interp, "cn", &[__t36, __t37])? }); } @@ -445,13 +445,13 @@ pub fn aot_ps(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3440 = args[0].clone(); + let mut v_V3454 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ - let __t42 = v_V3440.clone(); + let __t42 = v_V3454.clone(); let __t43 = Value::sym(interp.intern("shen.source")); let __t45 = { let __t44 = Value::sym(interp.intern("*property-vector*")); @@ -463,15 +463,15 @@ pub fn aot_ps(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(v) => v, Err(e) => { let __h = { - let v_V3440 = v_V3440.clone(); + let v_V3454 = v_V3454.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3441 = args[0].clone(); + let v_Z3455 = args[0].clone(); Ok({ let __t49 = { - let __t46 = v_V3440.clone(); + let __t46 = v_V3454.clone(); let __t47 = Value::str(" not found.\n"); let __t48 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -483,7 +483,7 @@ pub fn aot_ps(interp: &mut Interp, args: &[Value]) -> ShenResult { rt::apply_direct(interp, "simple-error", &[__t49])? }) }, - vec![v_V3440], + vec![v_V3454], interp, ) }; @@ -531,39 +531,39 @@ pub fn aot_vector(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3442 = args[0].clone(); + let mut v_V3456 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3443 = { + let v_W3457 = { let __t53 = { - let __t51 = v_V3442.clone(); + let __t51 = v_V3456.clone(); let __t52 = Value::int(1i64); rt::add(&__t51, &__t52)? }; rt::apply_direct(interp, "absvector", &[__t53])? }; { - let v_W3444 = { - let __t54 = v_W3443.clone(); + let v_W3458 = { + let __t54 = v_W3457.clone(); let __t55 = Value::int(0i64); - let __t56 = v_V3442.clone(); + let __t56 = v_V3456.clone(); rt::apply_direct(interp, "address->", &[__t54, __t55, __t56])? }; { - let v_W3445 = { + let v_W3459 = { let __t63 = { - let __t57 = v_V3442.clone(); + let __t57 = v_V3456.clone(); let __t58 = Value::int(0i64); rt::eq(&__t57, &__t58) }; if rt::is_truthy(interp, &__t63)? { - v_W3444.clone() + v_W3458.clone() } else { { - let __t59 = v_W3444.clone(); + let __t59 = v_W3458.clone(); let __t60 = Value::int(1i64); - let __t61 = v_V3442.clone(); + let __t61 = v_V3456.clone(); let __t62 = { rt::apply_direct(interp, "fail", &[])? }; rt::apply_direct( interp, @@ -573,7 +573,7 @@ pub fn aot_vector(interp: &mut Interp, args: &[Value]) -> ShenResult { } } }; - break Ok(v_W3445.clone()); + break Ok(v_W3459.clone()); } } } @@ -594,19 +594,19 @@ pub fn aot_shen_x2e_fillvector(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V3447 = args[0].clone(); + let mut v_V3461 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3448 = args[1].clone(); + let mut v_V3462 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3449 = args[2].clone(); + let mut v_V3463 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3450 = args[3].clone(); + let mut v_V3464 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t79 = { - let __t74 = v_V3448.clone(); - let __t75 = v_V3449.clone(); + let __t74 = v_V3462.clone(); + let __t75 = v_V3463.clone(); rt::eq(&__t74, &__t75) }; if match rt::is_truthy(interp, &__t79) { @@ -614,9 +614,9 @@ pub fn aot_shen_x2e_fillvector(interp: &mut Interp, args: &[Value]) -> ShenResul Err(e) => break Err(e), } { break Ok({ - let __t76 = v_V3447.clone(); - let __t77 = v_V3449.clone(); - let __t78 = v_V3450.clone(); + let __t76 = v_V3461.clone(); + let __t77 = v_V3463.clone(); + let __t78 = v_V3464.clone(); rt::apply_direct(interp, "address->", &[__t76, __t77, __t78])? }); } else { @@ -628,22 +628,22 @@ pub fn aot_shen_x2e_fillvector(interp: &mut Interp, args: &[Value]) -> ShenResul } { { let __t67 = { - let __t64 = v_V3447.clone(); - let __t65 = v_V3448.clone(); - let __t66 = v_V3450.clone(); + let __t64 = v_V3461.clone(); + let __t65 = v_V3462.clone(); + let __t66 = v_V3464.clone(); rt::apply_direct(interp, "address->", &[__t64, __t65, __t66])? }; let __t70 = { let __t68 = Value::int(1i64); - let __t69 = v_V3448.clone(); + let __t69 = v_V3462.clone(); rt::add(&__t68, &__t69)? }; - let __t71 = v_V3449.clone(); - let __t72 = v_V3450.clone(); - v_V3447 = __t67; - v_V3448 = __t70; - v_V3449 = __t71; - v_V3450 = __t72; + let __t71 = v_V3463.clone(); + let __t72 = v_V3464.clone(); + v_V3461 = __t67; + v_V3462 = __t70; + v_V3463 = __t71; + v_V3464 = __t72; continue; } } else { @@ -669,12 +669,12 @@ pub fn aot_vector_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3451 = args[0].clone(); + let mut v_V3465 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t81 = { - let __t80 = v_V3451.clone(); + let __t80 = v_V3465.clone(); rt::is_absvector(&__t80) }; if !match rt::is_truthy(interp, &__t81) { @@ -687,7 +687,7 @@ pub fn aot_vector_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult match (|| -> ShenResult { Ok({ let __t84 = { - let __t82 = v_V3451.clone(); + let __t82 = v_V3465.clone(); let __t83 = Value::int(0i64); rt::apply_direct(interp, "<-address", &[__t82, __t83])? }; @@ -702,7 +702,7 @@ pub fn aot_vector_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult "", 1, move |interp, args| { - let v_Z3452 = args[0].clone(); + let v_Z3466 = args[0].clone(); Ok(Value::bool(false)) }, Vec::new(), @@ -733,16 +733,16 @@ pub fn aot_vector_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult", &[__t90, __t91, __t92])? }); } @@ -780,14 +780,14 @@ pub fn aot__x3c__x2d_vector(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResu ))); } #[allow(unused_mut)] - let mut v_V3459 = args[0].clone(); + let mut v_V3473 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t104 = { - let __t103 = v_V3459.clone(); + let __t103 = v_V3473.clone(); rt::apply_direct(interp, "integer?", &[__t103])? }; if !match rt::is_truthy(interp, &__t104) { @@ -859,7 +859,7 @@ pub fn aot_shen_x2e_posint_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu break Ok(Value::bool(false)); } else { break Ok({ - let __t105 = v_V3459.clone(); + let __t105 = v_V3473.clone(); let __t106 = Value::int(0i64); rt::gte(&__t105, &__t106)? }); @@ -882,11 +882,11 @@ pub fn aot_limit(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3460 = args[0].clone(); + let mut v_V3474 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t107 = v_V3460.clone(); + let __t107 = v_V3474.clone(); let __t108 = Value::int(0i64); rt::apply_direct(interp, "<-address", &[__t107, __t108])? }); @@ -907,13 +907,13 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3461 = args[0].clone(); + let mut v_V3475 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t144 = { let __t142 = { - let __t128 = v_V3461.clone(); + let __t128 = v_V3475.clone(); rt::apply_direct(interp, "boolean?", &[__t128])? }; if rt::is_truthy(interp, &__t142)? { @@ -921,7 +921,7 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t143 = { let __t140 = { - let __t129 = v_V3461.clone(); + let __t129 = v_V3475.clone(); rt::is_number(&__t129) }; if rt::is_truthy(interp, &__t140)? { @@ -929,7 +929,7 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t141 = { let __t138 = { - let __t130 = v_V3461.clone(); + let __t130 = v_V3475.clone(); rt::is_string(&__t130) }; if rt::is_truthy(interp, &__t138)? { @@ -937,7 +937,7 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t139 = { let __t136 = { - let __t131 = v_V3461.clone(); + let __t131 = v_V3475.clone(); rt::is_cons(&__t131) }; if rt::is_truthy(interp, &__t136)? { @@ -945,14 +945,14 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t137 = { let __t134 = { - let __t132 = v_V3461.clone(); + let __t132 = v_V3475.clone(); rt::apply_direct(interp, "empty?", &[__t132])? }; if rt::is_truthy(interp, &__t134)? { Value::bool(true) } else { let __t135 = { - let __t133 = v_V3461.clone(); + let __t133 = v_V3475.clone(); rt::is_absvector(&__t133) }; Value::bool(rt::is_truthy(interp, &__t135)?) @@ -978,7 +978,7 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult } else { { let __t127 = { - let __t112 = v_V3461.clone(); + let __t112 = v_V3475.clone(); let __t126 = { let __t113 = Value::sym(interp.intern("{")); let __t125 = { @@ -1026,12 +1026,12 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok( match (|| -> ShenResult { Ok({ - let v_W3462 = { - let __t109 = v_V3461.clone(); + let v_W3476 = { + let __t109 = v_V3475.clone(); rt::apply_direct(interp, "str", &[__t109])? }; { - let __t110 = v_W3462.clone(); + let __t110 = v_W3476.clone(); rt::apply_direct( interp, "shen.analyse-symbol?", @@ -1047,7 +1047,7 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult "", 1, move |interp, args| { - let v_Z3463 = args[0].clone(); + let v_Z3477 = args[0].clone(); Ok(Value::bool(false)) }, Vec::new(), @@ -1087,12 +1087,12 @@ pub fn aot_shen_x2e_analyse_x2d_symbol_x3f_( ))); } #[allow(unused_mut)] - let mut v_V3466 = args[0].clone(); + let mut v_V3480 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t154 = { - let __t147 = v_V3466.clone(); + let __t147 = v_V3480.clone(); rt::apply_direct(interp, "shen.+string?", &[__t147])? }; if match rt::is_truthy(interp, &__t154) { @@ -1103,7 +1103,7 @@ pub fn aot_shen_x2e_analyse_x2d_symbol_x3f_( let __t151 = { let __t150 = { let __t149 = { - let __t148 = v_V3466.clone(); + let __t148 = v_V3480.clone(); rt::apply_direct(interp, "hdstr", &[__t148])? }; rt::apply_direct(interp, "string->n", &[__t149])? @@ -1118,7 +1118,7 @@ pub fn aot_shen_x2e_analyse_x2d_symbol_x3f_( } else { break Ok({ let __t153 = { - let __t152 = v_V3466.clone(); + let __t152 = v_V3480.clone(); rt::apply_direct(interp, "tlstr", &[__t152])? }; rt::apply_direct(interp, "shen.alphanums?", &[__t153])? @@ -1163,13 +1163,13 @@ pub fn aot_shen_x2e_alphanums_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3469 = args[0].clone(); + let mut v_V3483 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t170 = { let __t168 = Value::str(""); - let __t169 = v_V3469.clone(); + let __t169 = v_V3483.clone(); rt::eq(&__t168, &__t169) }; if match rt::is_truthy(interp, &__t170) { @@ -1180,7 +1180,7 @@ pub fn aot_shen_x2e_alphanums_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let __t167 = { - let __t157 = v_V3469.clone(); + let __t157 = v_V3483.clone(); rt::apply_direct(interp, "shen.+string?", &[__t157])? }; if match rt::is_truthy(interp, &__t167) { @@ -1188,9 +1188,9 @@ pub fn aot_shen_x2e_alphanums_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W3470 = { + let v_W3484 = { let __t159 = { - let __t158 = v_V3469.clone(); + let __t158 = v_V3483.clone(); rt::apply_direct(interp, "hdstr", &[__t158])? }; rt::apply_direct(interp, "string->n", &[__t159])? @@ -1198,14 +1198,14 @@ pub fn aot_shen_x2e_alphanums_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR { let __t164 = { let __t162 = { - let __t160 = v_W3470.clone(); + let __t160 = v_W3484.clone(); rt::apply_direct(interp, "shen.alpha?", &[__t160])? }; if rt::is_truthy(interp, &__t162)? { Value::bool(true) } else { let __t163 = { - let __t161 = v_W3470.clone(); + let __t161 = v_W3484.clone(); rt::apply_direct(interp, "shen.digit?", &[__t161])? }; Value::bool(rt::is_truthy(interp, &__t163)?) @@ -1219,10 +1219,10 @@ pub fn aot_shen_x2e_alphanums_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let __t166 = { - let __t165 = v_V3469.clone(); + let __t165 = v_V3483.clone(); rt::apply_direct(interp, "tlstr", &[__t165])? }; - v_V3469 = __t166; + v_V3483 = __t166; continue; } } @@ -1265,13 +1265,13 @@ pub fn aot_variable_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult { Ok({ - let v_W3472 = { - let __t171 = v_V3471.clone(); + let v_W3486 = { + let __t171 = v_V3485.clone(); rt::apply_direct(interp, "str", &[__t171])? }; { - let __t172 = v_W3472.clone(); + let __t172 = v_W3486.clone(); rt::apply_direct( interp, "shen.analyse-variable?", @@ -1331,7 +1331,7 @@ pub fn aot_variable_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult", 1, move |interp, args| { - let v_Z3473 = args[0].clone(); + let v_Z3487 = args[0].clone(); Ok(Value::bool(false)) }, Vec::new(), @@ -1369,12 +1369,12 @@ pub fn aot_shen_x2e_analyse_x2d_variable_x3f_( ))); } #[allow(unused_mut)] - let mut v_V3476 = args[0].clone(); + let mut v_V3490 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t191 = { - let __t184 = v_V3476.clone(); + let __t184 = v_V3490.clone(); rt::apply_direct(interp, "shen.+string?", &[__t184])? }; if match rt::is_truthy(interp, &__t191) { @@ -1385,7 +1385,7 @@ pub fn aot_shen_x2e_analyse_x2d_variable_x3f_( let __t188 = { let __t187 = { let __t186 = { - let __t185 = v_V3476.clone(); + let __t185 = v_V3490.clone(); rt::apply_direct(interp, "hdstr", &[__t185])? }; rt::apply_direct(interp, "string->n", &[__t186])? @@ -1400,7 +1400,7 @@ pub fn aot_shen_x2e_analyse_x2d_variable_x3f_( } else { break Ok({ let __t190 = { - let __t189 = v_V3476.clone(); + let __t189 = v_V3490.clone(); rt::apply_direct(interp, "tlstr", &[__t189])? }; rt::apply_direct(interp, "shen.alphanums?", &[__t190])? @@ -1449,11 +1449,11 @@ pub fn aot_gensym(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3477 = args[0].clone(); + let mut v_V3491 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t192 = v_V3477.clone(); + let __t192 = v_V3491.clone(); let __t198 = { let __t193 = Value::sym(interp.intern("shen.*gensym*")); let __t197 = { @@ -1485,19 +1485,19 @@ pub fn aot_concat(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3478 = args[0].clone(); + let mut v_V3492 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3479 = args[1].clone(); + let mut v_V3493 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t203 = { let __t200 = { - let __t199 = v_V3478.clone(); + let __t199 = v_V3492.clone(); rt::apply_direct(interp, "str", &[__t199])? }; let __t202 = { - let __t201 = v_V3479.clone(); + let __t201 = v_V3493.clone(); rt::apply_direct(interp, "str", &[__t201])? }; rt::apply_direct(interp, "cn", &[__t200, __t202])? @@ -1521,38 +1521,38 @@ pub fn aot__x40_p(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3480 = args[0].clone(); + let mut v_V3494 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3481 = args[1].clone(); + let mut v_V3495 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3482 = { + let v_W3496 = { let __t204 = Value::int(3i64); rt::apply_direct(interp, "absvector", &[__t204])? }; { - let v_W3483 = { - let __t205 = v_W3482.clone(); + let v_W3497 = { + let __t205 = v_W3496.clone(); let __t206 = Value::int(0i64); let __t207 = Value::sym(interp.intern("shen.tuple")); rt::apply_direct(interp, "address->", &[__t205, __t206, __t207])? }; { - let v_W3484 = { - let __t208 = v_W3482.clone(); + let v_W3498 = { + let __t208 = v_W3496.clone(); let __t209 = Value::int(1i64); - let __t210 = v_V3480.clone(); + let __t210 = v_V3494.clone(); rt::apply_direct(interp, "address->", &[__t208, __t209, __t210])? }; { - let v_W3485 = { - let __t211 = v_W3482.clone(); + let v_W3499 = { + let __t211 = v_W3496.clone(); let __t212 = Value::int(2i64); - let __t213 = v_V3481.clone(); + let __t213 = v_V3495.clone(); rt::apply_direct(interp, "address->", &[__t211, __t212, __t213])? }; - break Ok(v_W3482.clone()); + break Ok(v_W3496.clone()); } } } @@ -1574,11 +1574,11 @@ pub fn aot_fst(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3486 = args[0].clone(); + let mut v_V3500 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t214 = v_V3486.clone(); + let __t214 = v_V3500.clone(); let __t215 = Value::int(1i64); rt::apply_direct(interp, "<-address", &[__t214, __t215])? }); @@ -1599,11 +1599,11 @@ pub fn aot_snd(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3487 = args[0].clone(); + let mut v_V3501 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t216 = v_V3487.clone(); + let __t216 = v_V3501.clone(); let __t217 = Value::int(2i64); rt::apply_direct(interp, "<-address", &[__t216, __t217])? }); @@ -1624,14 +1624,14 @@ pub fn aot_tuple_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3488 = args[0].clone(); + let mut v_V3502 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ let __t223 = { - let __t218 = v_V3488.clone(); + let __t218 = v_V3502.clone(); rt::is_absvector(&__t218) }; if !rt::is_truthy(interp, &__t223)? { @@ -1640,7 +1640,7 @@ pub fn aot_tuple_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult let __t224 = { let __t219 = Value::sym(interp.intern("shen.tuple")); let __t222 = { - let __t220 = v_V3488.clone(); + let __t220 = v_V3502.clone(); let __t221 = Value::int(0i64); rt::apply_direct(interp, "<-address", &[__t220, __t221])? }; @@ -1657,7 +1657,7 @@ pub fn aot_tuple_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult "", 1, move |interp, args| { - let v_Z3489 = args[0].clone(); + let v_Z3503 = args[0].clone(); Ok(Value::bool(false)) }, Vec::new(), @@ -1686,26 +1686,26 @@ pub fn aot_append(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3494 = args[0].clone(); + let mut v_V3508 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3495 = args[1].clone(); + let mut v_V3509 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t237 = { let __t235 = Value::nil(); - let __t236 = v_V3494.clone(); + let __t236 = v_V3508.clone(); rt::eq(&__t235, &__t236) }; if match rt::is_truthy(interp, &__t237) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3495.clone()); + break Ok(v_V3509.clone()); } else { { let __t234 = { - let __t227 = v_V3494.clone(); + let __t227 = v_V3508.clone(); rt::is_cons(&__t227) }; if match rt::is_truthy(interp, &__t234) { @@ -1714,15 +1714,15 @@ pub fn aot_append(interp: &mut Interp, args: &[Value]) -> ShenResult { } { break Ok({ let __t229 = { - let __t228 = v_V3494.clone(); + let __t228 = v_V3508.clone(); rt::hd(&__t228)? }; let __t233 = { let __t231 = { - let __t230 = v_V3494.clone(); + let __t230 = v_V3508.clone(); rt::tl(&__t230)? }; - let __t232 = v_V3495.clone(); + let __t232 = v_V3509.clone(); rt::apply_direct(interp, "append", &[__t231, __t232])? }; rt::cons(&__t229, &__t233) @@ -1763,35 +1763,35 @@ pub fn aot__x40_v(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3496 = args[0].clone(); + let mut v_V3510 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3497 = args[1].clone(); + let mut v_V3511 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3498 = { - let __t238 = v_V3497.clone(); + let v_W3512 = { + let __t238 = v_V3511.clone(); rt::apply_direct(interp, "limit", &[__t238])? }; { - let v_W3499 = { + let v_W3513 = { let __t241 = { - let __t239 = v_W3498.clone(); + let __t239 = v_W3512.clone(); let __t240 = Value::int(1i64); rt::add(&__t239, &__t240)? }; rt::apply_direct(interp, "vector", &[__t241])? }; { - let v_W3500 = { - let __t242 = v_W3499.clone(); + let v_W3514 = { + let __t242 = v_W3513.clone(); let __t243 = Value::int(1i64); - let __t244 = v_V3496.clone(); + let __t244 = v_V3510.clone(); rt::apply_direct(interp, "vector->", &[__t242, __t243, __t244])? }; { let __t247 = { - let __t245 = v_W3498.clone(); + let __t245 = v_W3512.clone(); let __t246 = Value::int(0i64); rt::eq(&__t245, &__t246) }; @@ -1799,13 +1799,13 @@ pub fn aot__x40_v(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_W3500.clone()); + break Ok(v_W3514.clone()); } else { break Ok({ - let __t248 = v_V3497.clone(); + let __t248 = v_V3511.clone(); let __t249 = Value::int(1i64); - let __t250 = v_W3498.clone(); - let __t251 = v_W3500.clone(); + let __t250 = v_W3512.clone(); + let __t251 = v_W3514.clone(); rt::apply_direct( interp, "shen.@v-help", @@ -1834,19 +1834,19 @@ pub fn aot_shen_x2e__x40_v_x2d_help(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V3502 = args[0].clone(); + let mut v_V3516 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3503 = args[1].clone(); + let mut v_V3517 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3504 = args[2].clone(); + let mut v_V3518 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3505 = args[3].clone(); + let mut v_V3519 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t273 = { - let __t265 = v_V3503.clone(); - let __t266 = v_V3504.clone(); + let __t265 = v_V3517.clone(); + let __t266 = v_V3518.clone(); rt::eq(&__t265, &__t266) }; if match rt::is_truthy(interp, &__t273) { @@ -1854,11 +1854,11 @@ pub fn aot_shen_x2e__x40_v_x2d_help(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { break Ok({ - let __t267 = v_V3502.clone(); - let __t268 = v_V3505.clone(); - let __t269 = v_V3504.clone(); + let __t267 = v_V3516.clone(); + let __t268 = v_V3519.clone(); + let __t269 = v_V3518.clone(); let __t272 = { - let __t270 = v_V3504.clone(); + let __t270 = v_V3518.clone(); let __t271 = Value::int(1i64); rt::add(&__t270, &__t271)? }; @@ -1876,19 +1876,19 @@ pub fn aot_shen_x2e__x40_v_x2d_help(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let __t252 = v_V3502.clone(); + let __t252 = v_V3516.clone(); let __t255 = { - let __t253 = v_V3503.clone(); + let __t253 = v_V3517.clone(); let __t254 = Value::int(1i64); rt::add(&__t253, &__t254)? }; - let __t256 = v_V3504.clone(); + let __t256 = v_V3518.clone(); let __t263 = { - let __t257 = v_V3502.clone(); - let __t258 = v_V3505.clone(); - let __t259 = v_V3503.clone(); + let __t257 = v_V3516.clone(); + let __t258 = v_V3519.clone(); + let __t259 = v_V3517.clone(); let __t262 = { - let __t260 = v_V3503.clone(); + let __t260 = v_V3517.clone(); let __t261 = Value::int(1i64); rt::add(&__t260, &__t261)? }; @@ -1898,10 +1898,10 @@ pub fn aot_shen_x2e__x40_v_x2d_help(interp: &mut Interp, args: &[Value]) -> Shen &[__t257, __t258, __t259, __t262], )? }; - v_V3502 = __t252; - v_V3503 = __t255; - v_V3504 = __t256; - v_V3505 = __t263; + v_V3516 = __t252; + v_V3517 = __t255; + v_V3518 = __t256; + v_V3519 = __t263; continue; } } else { @@ -1927,23 +1927,23 @@ pub fn aot_shen_x2e_copyfromvector(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V3506 = args[0].clone(); + let mut v_V3520 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3507 = args[1].clone(); + let mut v_V3521 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3508 = args[2].clone(); + let mut v_V3522 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3509 = args[3].clone(); + let mut v_V3523 = args[3].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ - let __t274 = v_V3507.clone(); - let __t275 = v_V3509.clone(); + let __t274 = v_V3521.clone(); + let __t275 = v_V3523.clone(); let __t278 = { - let __t276 = v_V3506.clone(); - let __t277 = v_V3508.clone(); + let __t276 = v_V3520.clone(); + let __t277 = v_V3522.clone(); rt::apply_direct(interp, "<-vector", &[__t276, __t277])? }; rt::apply_direct(interp, "vector->", &[__t274, __t275, __t278])? @@ -1952,15 +1952,15 @@ pub fn aot_shen_x2e_copyfromvector(interp: &mut Interp, args: &[Value]) -> ShenR Ok(v) => v, Err(e) => { let __h = { - let v_V3507 = v_V3507.clone(); + let v_V3521 = v_V3521.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3510 = args[0].clone(); - Ok(v_V3507.clone()) + let v_Z3524 = args[0].clone(); + Ok(v_V3521.clone()) }, - vec![v_V3507], + vec![v_V3521], interp, ) }; @@ -1986,13 +1986,13 @@ pub fn aot_hdv(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3511 = args[0].clone(); + let mut v_V3525 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ - let __t279 = v_V3511.clone(); + let __t279 = v_V3525.clone(); let __t280 = Value::int(1i64); rt::apply_direct(interp, "<-vector", &[__t279, __t280])? }) @@ -2004,7 +2004,7 @@ pub fn aot_hdv(interp: &mut Interp, args: &[Value]) -> ShenResult { "", 1, move |interp, args| { - let v_Z3512 = args[0].clone(); + let v_Z3526 = args[0].clone(); Ok({ let __t281 = Value::str("hdv needs a non-empty vector as an argument\n"); @@ -2037,17 +2037,17 @@ pub fn aot_tlv(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3513 = args[0].clone(); + let mut v_V3527 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3514 = { - let __t282 = v_V3513.clone(); + let v_W3528 = { + let __t282 = v_V3527.clone(); rt::apply_direct(interp, "limit", &[__t282])? }; { let __t285 = { - let __t283 = v_W3514.clone(); + let __t283 = v_W3528.clone(); let __t284 = Value::int(0i64); rt::eq(&__t283, &__t284) }; @@ -2062,7 +2062,7 @@ pub fn aot_tlv(interp: &mut Interp, args: &[Value]) -> ShenResult { } else { { let __t289 = { - let __t287 = v_W3514.clone(); + let __t287 = v_W3528.clone(); let __t288 = Value::int(1i64); rt::eq(&__t287, &__t288) }; @@ -2076,21 +2076,21 @@ pub fn aot_tlv(interp: &mut Interp, args: &[Value]) -> ShenResult { }); } else { { - let v_W3515 = { + let v_W3529 = { let __t293 = { - let __t291 = v_W3514.clone(); + let __t291 = v_W3528.clone(); let __t292 = Value::int(1i64); rt::sub(&__t291, &__t292)? }; rt::apply_direct(interp, "vector", &[__t293])? }; break Ok({ - let __t294 = v_V3513.clone(); + let __t294 = v_V3527.clone(); let __t295 = Value::int(2i64); - let __t296 = v_W3514.clone(); + let __t296 = v_W3528.clone(); let __t300 = { let __t299 = { - let __t297 = v_W3514.clone(); + let __t297 = v_W3528.clone(); let __t298 = Value::int(1i64); rt::sub(&__t297, &__t298)? }; @@ -2125,19 +2125,19 @@ pub fn aot_shen_x2e_tlv_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V3517 = args[0].clone(); + let mut v_V3531 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3518 = args[1].clone(); + let mut v_V3532 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3519 = args[2].clone(); + let mut v_V3533 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3520 = args[3].clone(); + let mut v_V3534 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t322 = { - let __t314 = v_V3518.clone(); - let __t315 = v_V3519.clone(); + let __t314 = v_V3532.clone(); + let __t315 = v_V3533.clone(); rt::eq(&__t314, &__t315) }; if match rt::is_truthy(interp, &__t322) { @@ -2145,11 +2145,11 @@ pub fn aot_shen_x2e_tlv_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { break Ok({ - let __t316 = v_V3517.clone(); - let __t317 = v_V3520.clone(); - let __t318 = v_V3519.clone(); + let __t316 = v_V3531.clone(); + let __t317 = v_V3534.clone(); + let __t318 = v_V3533.clone(); let __t321 = { - let __t319 = v_V3519.clone(); + let __t319 = v_V3533.clone(); let __t320 = Value::int(1i64); rt::sub(&__t319, &__t320)? }; @@ -2167,19 +2167,19 @@ pub fn aot_shen_x2e_tlv_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { { - let __t301 = v_V3517.clone(); + let __t301 = v_V3531.clone(); let __t304 = { - let __t302 = v_V3518.clone(); + let __t302 = v_V3532.clone(); let __t303 = Value::int(1i64); rt::add(&__t302, &__t303)? }; - let __t305 = v_V3519.clone(); + let __t305 = v_V3533.clone(); let __t312 = { - let __t306 = v_V3517.clone(); - let __t307 = v_V3520.clone(); - let __t308 = v_V3518.clone(); + let __t306 = v_V3531.clone(); + let __t307 = v_V3534.clone(); + let __t308 = v_V3532.clone(); let __t311 = { - let __t309 = v_V3518.clone(); + let __t309 = v_V3532.clone(); let __t310 = Value::int(1i64); rt::sub(&__t309, &__t310)? }; @@ -2189,10 +2189,10 @@ pub fn aot_shen_x2e_tlv_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRes &[__t306, __t307, __t308, __t311], )? }; - v_V3517 = __t301; - v_V3518 = __t304; - v_V3519 = __t305; - v_V3520 = __t312; + v_V3531 = __t301; + v_V3532 = __t304; + v_V3533 = __t305; + v_V3534 = __t312; continue; } } else { @@ -2218,15 +2218,15 @@ pub fn aot_assoc(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3532 = args[0].clone(); + let mut v_V3546 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3533 = args[1].clone(); + let mut v_V3547 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t345 = { let __t343 = Value::nil(); - let __t344 = v_V3533.clone(); + let __t344 = v_V3547.clone(); rt::eq(&__t343, &__t344) }; if match rt::is_truthy(interp, &__t345) { @@ -2238,7 +2238,7 @@ pub fn aot_assoc(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t342 = { let __t339 = { - let __t330 = v_V3533.clone(); + let __t330 = v_V3547.clone(); rt::is_cons(&__t330) }; if !rt::is_truthy(interp, &__t339)? { @@ -2247,7 +2247,7 @@ pub fn aot_assoc(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t340 = { let __t337 = { let __t332 = { - let __t331 = v_V3533.clone(); + let __t331 = v_V3547.clone(); rt::hd(&__t331)? }; rt::is_cons(&__t332) @@ -2256,10 +2256,10 @@ pub fn aot_assoc(interp: &mut Interp, args: &[Value]) -> ShenResult { Value::bool(false) } else { let __t338 = { - let __t333 = v_V3532.clone(); + let __t333 = v_V3546.clone(); let __t336 = { let __t335 = { - let __t334 = v_V3533.clone(); + let __t334 = v_V3547.clone(); rt::hd(&__t334)? }; rt::hd(&__t335)? @@ -2277,13 +2277,13 @@ pub fn aot_assoc(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { break Ok({ - let __t341 = v_V3533.clone(); + let __t341 = v_V3547.clone(); rt::hd(&__t341)? }); } else { { let __t329 = { - let __t325 = v_V3533.clone(); + let __t325 = v_V3547.clone(); rt::is_cons(&__t325) }; if match rt::is_truthy(interp, &__t329) { @@ -2291,13 +2291,13 @@ pub fn aot_assoc(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { { - let __t326 = v_V3532.clone(); + let __t326 = v_V3546.clone(); let __t328 = { - let __t327 = v_V3533.clone(); + let __t327 = v_V3547.clone(); rt::tl(&__t327)? }; - v_V3532 = __t326; - v_V3533 = __t328; + v_V3546 = __t326; + v_V3547 = __t328; continue; } } else { @@ -2340,13 +2340,13 @@ pub fn aot_boolean_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3537 = args[0].clone(); + let mut v_V3551 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t361 = { let __t359 = Value::int(0i64); - let __t360 = v_V3537.clone(); + let __t360 = v_V3551.clone(); rt::eq(&__t359, &__t360) }; if match rt::is_truthy(interp, &__t361) { @@ -2428,11 +2428,11 @@ pub fn aot_nl(interp: &mut Interp, args: &[Value]) -> ShenResult { }; { let __t357 = { - let __t355 = v_V3537.clone(); + let __t355 = v_V3551.clone(); let __t356 = Value::int(1i64); rt::sub(&__t355, &__t356)? }; - v_V3537 = __t357; + v_V3551 = __t357; continue; } } @@ -2459,15 +2459,15 @@ pub fn aot_difference(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3544 = args[0].clone(); + let mut v_V3558 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3545 = args[1].clone(); + let mut v_V3559 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t381 = { let __t379 = Value::nil(); - let __t380 = v_V3544.clone(); + let __t380 = v_V3558.clone(); rt::eq(&__t379, &__t380) }; if match rt::is_truthy(interp, &__t381) { @@ -2478,7 +2478,7 @@ pub fn aot_difference(interp: &mut Interp, args: &[Value]) -> ShenResult } else { { let __t378 = { - let __t364 = v_V3544.clone(); + let __t364 = v_V3558.clone(); rt::is_cons(&__t364) }; if match rt::is_truthy(interp, &__t378) { @@ -2488,10 +2488,10 @@ pub fn aot_difference(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t368 = { let __t366 = { - let __t365 = v_V3544.clone(); + let __t365 = v_V3558.clone(); rt::hd(&__t365)? }; - let __t367 = v_V3545.clone(); + let __t367 = v_V3559.clone(); rt::apply_direct(interp, "element?", &[__t366, __t367])? }; if match rt::is_truthy(interp, &__t368) { @@ -2500,26 +2500,26 @@ pub fn aot_difference(interp: &mut Interp, args: &[Value]) -> ShenResult } { { let __t370 = { - let __t369 = v_V3544.clone(); + let __t369 = v_V3558.clone(); rt::tl(&__t369)? }; - let __t371 = v_V3545.clone(); - v_V3544 = __t370; - v_V3545 = __t371; + let __t371 = v_V3559.clone(); + v_V3558 = __t370; + v_V3559 = __t371; continue; } } else { break Ok({ let __t373 = { - let __t372 = v_V3544.clone(); + let __t372 = v_V3558.clone(); rt::hd(&__t372)? }; let __t377 = { let __t375 = { - let __t374 = v_V3544.clone(); + let __t374 = v_V3558.clone(); rt::tl(&__t374)? }; - let __t376 = v_V3545.clone(); + let __t376 = v_V3559.clone(); rt::apply_direct(interp, "difference", &[__t375, __t376])? }; rt::cons(&__t373, &__t377) @@ -2564,12 +2564,12 @@ pub fn aot_do(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3546 = args[0].clone(); + let mut v_V3560 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3547 = args[1].clone(); + let mut v_V3561 = args[1].clone(); #[allow(clippy::never_loop)] loop { - break Ok(v_V3547.clone()); + break Ok(v_V3561.clone()); } } @@ -2587,15 +2587,15 @@ pub fn aot_element_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult break Err(e), } { { - let __t385 = v_V3559.clone(); + let __t385 = v_V3573.clone(); let __t387 = { - let __t386 = v_V3560.clone(); + let __t386 = v_V3574.clone(); rt::tl(&__t386)? }; - v_V3559 = __t385; - v_V3560 = __t387; + v_V3573 = __t385; + v_V3574 = __t387; continue; } } else { @@ -2689,13 +2689,13 @@ pub fn aot_empty_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3563 = args[0].clone(); + let mut v_V3577 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t402 = { let __t400 = Value::nil(); - let __t401 = v_V3563.clone(); + let __t401 = v_V3577.clone(); rt::eq(&__t400, &__t401) }; if match rt::is_truthy(interp, &__t402) { @@ -2734,17 +2734,17 @@ pub fn aot_fix(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3564 = args[0].clone(); + let mut v_V3578 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3565 = args[1].clone(); + let mut v_V3579 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t403 = v_V3564.clone(); - let __t404 = v_V3565.clone(); + let __t403 = v_V3578.clone(); + let __t404 = v_V3579.clone(); let __t406 = { - let __t405 = v_V3565.clone(); - rt::apply_value(interp, v_V3564.clone(), &[__t405])? + let __t405 = v_V3579.clone(); + rt::apply_value(interp, v_V3578.clone(), &[__t405])? }; rt::apply_direct(interp, "shen.fix-help", &[__t403, __t404, __t406])? }); @@ -2765,24 +2765,24 @@ pub fn aot_shen_x2e_fix_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V3571 = args[0].clone(); + let mut v_V3585 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3572 = args[1].clone(); + let mut v_V3586 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3573 = args[2].clone(); + let mut v_V3587 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t414 = { - let __t412 = v_V3572.clone(); - let __t413 = v_V3573.clone(); + let __t412 = v_V3586.clone(); + let __t413 = v_V3587.clone(); rt::eq(&__t412, &__t413) }; if match rt::is_truthy(interp, &__t414) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3573.clone()); + break Ok(v_V3587.clone()); } else { { let __t411 = Value::bool(true); @@ -2791,15 +2791,15 @@ pub fn aot_shen_x2e_fix_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { { - let __t407 = v_V3571.clone(); - let __t408 = v_V3573.clone(); + let __t407 = v_V3585.clone(); + let __t408 = v_V3587.clone(); let __t410 = { - let __t409 = v_V3573.clone(); - rt::apply_value(interp, v_V3571.clone(), &[__t409])? + let __t409 = v_V3587.clone(); + rt::apply_value(interp, v_V3585.clone(), &[__t409])? }; - v_V3571 = __t407; - v_V3572 = __t408; - v_V3573 = __t410; + v_V3585 = __t407; + v_V3586 = __t408; + v_V3587 = __t410; continue; } } else { @@ -2825,29 +2825,29 @@ pub fn aot_put(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3574 = args[0].clone(); + let mut v_V3588 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3575 = args[1].clone(); + let mut v_V3589 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3576 = args[2].clone(); + let mut v_V3590 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3577 = args[3].clone(); + let mut v_V3591 = args[3].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3578 = { - let __t415 = v_V3574.clone(); + let v_W3592 = { + let __t415 = v_V3588.clone(); let __t417 = { - let __t416 = v_V3577.clone(); + let __t416 = v_V3591.clone(); rt::apply_direct(interp, "limit", &[__t416])? }; rt::apply_direct(interp, "hash", &[__t415, __t417])? }; { - let v_W3579 = match (|| -> ShenResult { + let v_W3593 = match (|| -> ShenResult { Ok({ - let __t418 = v_V3577.clone(); - let __t419 = v_W3578.clone(); + let __t418 = v_V3591.clone(); + let __t419 = v_W3592.clone(); rt::apply_direct(interp, "<-vector", &[__t418, __t419])? }) })() { @@ -2858,7 +2858,7 @@ pub fn aot_put(interp: &mut Interp, args: &[Value]) -> ShenResult { "", 1, move |interp, args| { - let v_Z3580 = args[0].clone(); + let v_Z3594 = args[0].clone(); Ok(Value::nil()) }, Vec::new(), @@ -2870,14 +2870,14 @@ pub fn aot_put(interp: &mut Interp, args: &[Value]) -> ShenResult { } }; { - let v_W3581 = { - let __t420 = v_V3577.clone(); - let __t421 = v_W3578.clone(); + let v_W3595 = { + let __t420 = v_V3591.clone(); + let __t421 = v_W3592.clone(); let __t426 = { - let __t422 = v_V3574.clone(); - let __t423 = v_V3575.clone(); - let __t424 = v_V3576.clone(); - let __t425 = v_W3579.clone(); + let __t422 = v_V3588.clone(); + let __t423 = v_V3589.clone(); + let __t424 = v_V3590.clone(); + let __t425 = v_W3593.clone(); rt::apply_direct( interp, "shen.change-pointer-value", @@ -2886,7 +2886,7 @@ pub fn aot_put(interp: &mut Interp, args: &[Value]) -> ShenResult { }; rt::apply_direct(interp, "vector->", &[__t420, __t421, __t426])? }; - break Ok(v_V3576.clone()); + break Ok(v_V3590.clone()); } } } @@ -2907,27 +2907,27 @@ pub fn aot_unput(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3582 = args[0].clone(); + let mut v_V3596 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3583 = args[1].clone(); + let mut v_V3597 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3584 = args[2].clone(); + let mut v_V3598 = args[2].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3585 = { - let __t427 = v_V3582.clone(); + let v_W3599 = { + let __t427 = v_V3596.clone(); let __t429 = { - let __t428 = v_V3584.clone(); + let __t428 = v_V3598.clone(); rt::apply_direct(interp, "limit", &[__t428])? }; rt::apply_direct(interp, "hash", &[__t427, __t429])? }; { - let v_W3586 = match (|| -> ShenResult { + let v_W3600 = match (|| -> ShenResult { Ok({ - let __t430 = v_V3584.clone(); - let __t431 = v_W3585.clone(); + let __t430 = v_V3598.clone(); + let __t431 = v_W3599.clone(); rt::apply_direct(interp, "<-vector", &[__t430, __t431])? }) })() { @@ -2938,7 +2938,7 @@ pub fn aot_unput(interp: &mut Interp, args: &[Value]) -> ShenResult { "", 1, move |interp, args| { - let v_Z3587 = args[0].clone(); + let v_Z3601 = args[0].clone(); Ok(Value::nil()) }, Vec::new(), @@ -2950,13 +2950,13 @@ pub fn aot_unput(interp: &mut Interp, args: &[Value]) -> ShenResult { } }; { - let v_W3588 = { - let __t432 = v_V3584.clone(); - let __t433 = v_W3585.clone(); + let v_W3602 = { + let __t432 = v_V3598.clone(); + let __t433 = v_W3599.clone(); let __t437 = { - let __t434 = v_V3582.clone(); - let __t435 = v_V3583.clone(); - let __t436 = v_W3586.clone(); + let __t434 = v_V3596.clone(); + let __t435 = v_V3597.clone(); + let __t436 = v_W3600.clone(); rt::apply_direct( interp, "shen.remove-pointer", @@ -2965,7 +2965,7 @@ pub fn aot_unput(interp: &mut Interp, args: &[Value]) -> ShenResult { }; rt::apply_direct(interp, "vector->", &[__t432, __t433, __t437])? }; - break Ok(v_V3582.clone()); + break Ok(v_V3596.clone()); } } } @@ -2986,17 +2986,17 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V3599 = args[0].clone(); + let mut v_V3613 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3600 = args[1].clone(); + let mut v_V3614 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3601 = args[2].clone(); + let mut v_V3615 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t492 = { let __t490 = Value::nil(); - let __t491 = v_V3601.clone(); + let __t491 = v_V3615.clone(); rt::eq(&__t490, &__t491) }; if match rt::is_truthy(interp, &__t492) { @@ -3008,7 +3008,7 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S { let __t489 = { let __t486 = { - let __t449 = v_V3601.clone(); + let __t449 = v_V3615.clone(); rt::is_cons(&__t449) }; if !rt::is_truthy(interp, &__t486)? { @@ -3017,7 +3017,7 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S let __t487 = { let __t484 = { let __t451 = { - let __t450 = v_V3601.clone(); + let __t450 = v_V3615.clone(); rt::hd(&__t450)? }; rt::is_cons(&__t451) @@ -3029,7 +3029,7 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S let __t482 = { let __t454 = { let __t453 = { - let __t452 = v_V3601.clone(); + let __t452 = v_V3615.clone(); rt::hd(&__t452)? }; rt::hd(&__t453)? @@ -3044,7 +3044,7 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S let __t458 = { let __t457 = { let __t456 = { - let __t455 = v_V3601.clone(); + let __t455 = v_V3615.clone(); rt::hd(&__t455)? }; rt::hd(&__t456)? @@ -3064,7 +3064,7 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S let __t462 = { let __t461 = { let __t460 = - v_V3601.clone(); + v_V3615.clone(); rt::hd(&__t460)? }; rt::hd(&__t461)? @@ -3080,13 +3080,13 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S } else { let __t479 = { let __t476 = { - let __t465 = v_V3600.clone(); + let __t465 = v_V3614.clone(); let __t470 = { let __t469 = { let __t468 = { let __t467 = { let __t466 = - v_V3601 + v_V3615 .clone( ); rt::hd(&__t466)? @@ -3105,12 +3105,12 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S } else { let __t477 = { let __t471 = - v_V3599.clone(); + v_V3613.clone(); let __t475 = { let __t474 = { let __t473 = { let __t472 = - v_V3601 + v_V3615 .clone( ); rt::hd(&__t472)? @@ -3148,13 +3148,13 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { break Ok({ - let __t488 = v_V3601.clone(); + let __t488 = v_V3615.clone(); rt::tl(&__t488)? }); } else { { let __t448 = { - let __t440 = v_V3601.clone(); + let __t440 = v_V3615.clone(); rt::is_cons(&__t440) }; if match rt::is_truthy(interp, &__t448) { @@ -3163,14 +3163,14 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S } { break Ok({ let __t442 = { - let __t441 = v_V3601.clone(); + let __t441 = v_V3615.clone(); rt::hd(&__t441)? }; let __t447 = { - let __t443 = v_V3599.clone(); - let __t444 = v_V3600.clone(); + let __t443 = v_V3613.clone(); + let __t444 = v_V3614.clone(); let __t446 = { - let __t445 = v_V3601.clone(); + let __t445 = v_V3615.clone(); rt::tl(&__t445)? }; rt::apply_direct( @@ -3224,19 +3224,19 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( ))); } #[allow(unused_mut)] - let mut v_V3614 = args[0].clone(); + let mut v_V3628 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3615 = args[1].clone(); + let mut v_V3629 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3616 = args[2].clone(); + let mut v_V3630 = args[2].clone(); #[allow(unused_mut)] - let mut v_V3617 = args[3].clone(); + let mut v_V3631 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t562 = { let __t552 = Value::nil(); - let __t553 = v_V3617.clone(); + let __t553 = v_V3631.clone(); rt::eq(&__t552, &__t553) }; if match rt::is_truthy(interp, &__t562) { @@ -3246,15 +3246,15 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( break Ok({ let __t560 = { let __t558 = { - let __t554 = v_V3614.clone(); + let __t554 = v_V3628.clone(); let __t557 = { - let __t555 = v_V3615.clone(); + let __t555 = v_V3629.clone(); let __t556 = Value::nil(); rt::cons(&__t555, &__t556) }; rt::cons(&__t554, &__t557) }; - let __t559 = v_V3616.clone(); + let __t559 = v_V3630.clone(); rt::cons(&__t558, &__t559) }; let __t561 = Value::nil(); @@ -3264,7 +3264,7 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( { let __t551 = { let __t542 = { - let __t505 = v_V3617.clone(); + let __t505 = v_V3631.clone(); rt::is_cons(&__t505) }; if !rt::is_truthy(interp, &__t542)? { @@ -3273,7 +3273,7 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( let __t543 = { let __t540 = { let __t507 = { - let __t506 = v_V3617.clone(); + let __t506 = v_V3631.clone(); rt::hd(&__t506)? }; rt::is_cons(&__t507) @@ -3285,7 +3285,7 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( let __t538 = { let __t510 = { let __t509 = { - let __t508 = v_V3617.clone(); + let __t508 = v_V3631.clone(); rt::hd(&__t508)? }; rt::hd(&__t509)? @@ -3300,7 +3300,7 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( let __t514 = { let __t513 = { let __t512 = { - let __t511 = v_V3617.clone(); + let __t511 = v_V3631.clone(); rt::hd(&__t511)? }; rt::hd(&__t512)? @@ -3320,7 +3320,7 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( let __t518 = { let __t517 = { let __t516 = - v_V3617.clone(); + v_V3631.clone(); rt::hd(&__t516)? }; rt::hd(&__t517)? @@ -3336,13 +3336,13 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( } else { let __t535 = { let __t532 = { - let __t521 = v_V3615.clone(); + let __t521 = v_V3629.clone(); let __t526 = { let __t525 = { let __t524 = { let __t523 = { let __t522 = - v_V3617 + v_V3631 .clone( ); rt::hd(&__t522)? @@ -3361,12 +3361,12 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( } else { let __t533 = { let __t527 = - v_V3614.clone(); + v_V3628.clone(); let __t531 = { let __t530 = { let __t529 = { let __t528 = - v_V3617 + v_V3631 .clone( ); rt::hd(&__t528)? @@ -3407,16 +3407,16 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( let __t548 = { let __t546 = { let __t545 = { - let __t544 = v_V3617.clone(); + let __t544 = v_V3631.clone(); rt::hd(&__t544)? }; rt::hd(&__t545)? }; - let __t547 = v_V3616.clone(); + let __t547 = v_V3630.clone(); rt::cons(&__t546, &__t547) }; let __t550 = { - let __t549 = v_V3617.clone(); + let __t549 = v_V3631.clone(); rt::tl(&__t549)? }; rt::cons(&__t548, &__t550) @@ -3424,7 +3424,7 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( } else { { let __t504 = { - let __t495 = v_V3617.clone(); + let __t495 = v_V3631.clone(); rt::is_cons(&__t495) }; if match rt::is_truthy(interp, &__t504) { @@ -3433,15 +3433,15 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( } { break Ok({ let __t497 = { - let __t496 = v_V3617.clone(); + let __t496 = v_V3631.clone(); rt::hd(&__t496)? }; let __t503 = { - let __t498 = v_V3614.clone(); - let __t499 = v_V3615.clone(); - let __t500 = v_V3616.clone(); + let __t498 = v_V3628.clone(); + let __t499 = v_V3629.clone(); + let __t500 = v_V3630.clone(); let __t502 = { - let __t501 = v_V3617.clone(); + let __t501 = v_V3631.clone(); rt::tl(&__t501)? }; rt::apply_direct( @@ -3499,47 +3499,47 @@ pub fn aot_get(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3618 = args[0].clone(); + let mut v_V3632 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3619 = args[1].clone(); + let mut v_V3633 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3620 = args[2].clone(); + let mut v_V3634 = args[2].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3621 = { - let __t563 = v_V3618.clone(); + let v_W3635 = { + let __t563 = v_V3632.clone(); let __t565 = { - let __t564 = v_V3620.clone(); + let __t564 = v_V3634.clone(); rt::apply_direct(interp, "limit", &[__t564])? }; rt::apply_direct(interp, "hash", &[__t563, __t565])? }; { - let v_W3622 = match (|| -> ShenResult { + let v_W3636 = match (|| -> ShenResult { Ok({ - let __t566 = v_V3620.clone(); - let __t567 = v_W3621.clone(); + let __t566 = v_V3634.clone(); + let __t567 = v_W3635.clone(); rt::apply_direct(interp, "<-vector", &[__t566, __t567])? }) })() { Ok(v) => v, Err(e) => { let __h = { - let v_V3618 = v_V3618.clone(); - let v_V3619 = v_V3619.clone(); + let v_V3632 = v_V3632.clone(); + let v_V3633 = v_V3633.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z3623 = args[0].clone(); + let v_Z3637 = args[0].clone(); Ok({ let __t576 = { - let __t568 = v_V3618.clone(); + let __t568 = v_V3632.clone(); let __t574 = { let __t569 = Value::str(" has no attributes: "); let __t573 = { - let __t570 = v_V3619.clone(); + let __t570 = v_V3633.clone(); let __t571 = Value::str("\n"); let __t572 = Value::sym(interp.intern("shen.s")); @@ -3561,7 +3561,7 @@ pub fn aot_get(interp: &mut Interp, args: &[Value]) -> ShenResult { rt::apply_direct(interp, "simple-error", &[__t576])? }) }, - vec![v_V3618, v_V3619], + vec![v_V3632, v_V3633], interp, ) }; @@ -3570,22 +3570,22 @@ pub fn aot_get(interp: &mut Interp, args: &[Value]) -> ShenResult { } }; { - let v_W3624 = { + let v_W3638 = { let __t581 = { - let __t577 = v_V3618.clone(); + let __t577 = v_V3632.clone(); let __t580 = { - let __t578 = v_V3619.clone(); + let __t578 = v_V3633.clone(); let __t579 = Value::nil(); rt::cons(&__t578, &__t579) }; rt::cons(&__t577, &__t580) }; - let __t582 = v_W3622.clone(); + let __t582 = v_W3636.clone(); rt::apply_direct(interp, "assoc", &[__t581, __t582])? }; { let __t584 = { - let __t583 = v_W3624.clone(); + let __t583 = v_W3638.clone(); rt::apply_direct(interp, "empty?", &[__t583])? }; if match rt::is_truthy(interp, &__t584) { @@ -3596,11 +3596,11 @@ pub fn aot_get(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t595 = { let __t585 = Value::str("attribute "); let __t594 = { - let __t586 = v_V3619.clone(); + let __t586 = v_V3633.clone(); let __t592 = { let __t587 = Value::str(" not found for "); let __t591 = { - let __t588 = v_V3618.clone(); + let __t588 = v_V3632.clone(); let __t589 = Value::str("\n"); let __t590 = Value::sym(interp.intern("shen.s")); rt::apply_direct( @@ -3624,7 +3624,7 @@ pub fn aot_get(interp: &mut Interp, args: &[Value]) -> ShenResult { }); } else { break Ok({ - let __t596 = v_W3624.clone(); + let __t596 = v_W3638.clone(); rt::tl(&__t596)? }); } @@ -3649,23 +3649,23 @@ pub fn aot_hash(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3625 = args[0].clone(); + let mut v_V3639 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3626 = args[1].clone(); + let mut v_V3640 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3627 = { + let v_W3641 = { let __t598 = { - let __t597 = v_V3625.clone(); + let __t597 = v_V3639.clone(); rt::apply_direct(interp, "shen.hashkey", &[__t597])? }; - let __t599 = v_V3626.clone(); + let __t599 = v_V3640.clone(); rt::apply_direct(interp, "shen.mod", &[__t598, __t599])? }; { let __t602 = { - let __t600 = v_W3627.clone(); + let __t600 = v_W3641.clone(); let __t601 = Value::int(0i64); rt::eq(&__t600, &__t601) }; @@ -3675,7 +3675,7 @@ pub fn aot_hash(interp: &mut Interp, args: &[Value]) -> ShenResult { } { break Ok(Value::int(1i64)); } else { - break Ok(v_W3627.clone()); + break Ok(v_W3641.clone()); } } } @@ -3696,19 +3696,19 @@ pub fn aot_shen_x2e_hashkey(interp: &mut Interp, args: &[Value]) -> ShenResult", 1, move |interp, args| { - let v_Z3630 = args[0].clone(); + let v_Z3644 = args[0].clone(); Ok({ - let __t603 = v_Z3630.clone(); + let __t603 = v_Z3644.clone(); rt::apply_direct(interp, "string->n", &[__t603])? }) }, @@ -3717,13 +3717,13 @@ pub fn aot_shen_x2e_hashkey(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResu ))); } #[allow(unused_mut)] - let mut v_V3631 = args[0].clone(); + let mut v_V3645 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3632 = args[1].clone(); + let mut v_V3646 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t640 = { let __t638 = Value::nil(); - let __t639 = v_V3631.clone(); + let __t639 = v_V3645.clone(); rt::eq(&__t638, &__t639) }; if match rt::is_truthy(interp, &__t640) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3632.clone()); + break Ok(v_V3646.clone()); } else { { let __t637 = { let __t632 = { - let __t628 = v_V3631.clone(); + let __t628 = v_V3645.clone(); rt::is_cons(&__t628) }; if !rt::is_truthy(interp, &__t632)? { @@ -3774,7 +3774,7 @@ pub fn aot_shen_x2e_prodbutzero(interp: &mut Interp, args: &[Value]) -> ShenResu let __t633 = { let __t629 = Value::int(0i64); let __t631 = { - let __t630 = v_V3631.clone(); + let __t630 = v_V3645.clone(); rt::hd(&__t630)? }; rt::eq(&__t629, &__t631) @@ -3788,18 +3788,18 @@ pub fn aot_shen_x2e_prodbutzero(interp: &mut Interp, args: &[Value]) -> ShenResu } { { let __t635 = { - let __t634 = v_V3631.clone(); + let __t634 = v_V3645.clone(); rt::tl(&__t634)? }; - let __t636 = v_V3632.clone(); - v_V3631 = __t635; - v_V3632 = __t636; + let __t636 = v_V3646.clone(); + v_V3645 = __t635; + v_V3646 = __t636; continue; } } else { { let __t627 = { - let __t611 = v_V3631.clone(); + let __t611 = v_V3645.clone(); rt::is_cons(&__t611) }; if match rt::is_truthy(interp, &__t627) { @@ -3808,7 +3808,7 @@ pub fn aot_shen_x2e_prodbutzero(interp: &mut Interp, args: &[Value]) -> ShenResu } { { let __t614 = { - let __t612 = v_V3632.clone(); + let __t612 = v_V3646.clone(); let __t613 = Value::int(10000000000i64); rt::gt(&__t612, &__t613)? }; @@ -3818,37 +3818,37 @@ pub fn aot_shen_x2e_prodbutzero(interp: &mut Interp, args: &[Value]) -> ShenResu } { { let __t616 = { - let __t615 = v_V3631.clone(); + let __t615 = v_V3645.clone(); rt::tl(&__t615)? }; let __t620 = { - let __t617 = v_V3632.clone(); + let __t617 = v_V3646.clone(); let __t619 = { - let __t618 = v_V3631.clone(); + let __t618 = v_V3645.clone(); rt::hd(&__t618)? }; rt::add(&__t617, &__t619)? }; - v_V3631 = __t616; - v_V3632 = __t620; + v_V3645 = __t616; + v_V3646 = __t620; continue; } } else { { let __t622 = { - let __t621 = v_V3631.clone(); + let __t621 = v_V3645.clone(); rt::tl(&__t621)? }; let __t626 = { - let __t623 = v_V3632.clone(); + let __t623 = v_V3646.clone(); let __t625 = { - let __t624 = v_V3631.clone(); + let __t624 = v_V3645.clone(); rt::hd(&__t624)? }; rt::mul(&__t623, &__t625)? }; - v_V3631 = __t622; - v_V3632 = __t626; + v_V3645 = __t622; + v_V3646 = __t626; continue; } } @@ -3892,17 +3892,17 @@ pub fn aot_shen_x2e_mod(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ))); } #[allow(unused_mut)] - let mut v_V3639 = args[0].clone(); + let mut v_V3653 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3640 = args[1].clone(); + let mut v_V3654 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t665 = { let __t662 = { - let __t658 = v_V3640.clone(); + let __t658 = v_V3654.clone(); rt::is_cons(&__t658) }; if !rt::is_truthy(interp, &__t662)? { @@ -3943,10 +3943,10 @@ pub fn aot_shen_x2e_multiples(interp: &mut Interp, args: &[Value]) -> ShenResult } else { let __t663 = { let __t660 = { - let __t659 = v_V3640.clone(); + let __t659 = v_V3654.clone(); rt::hd(&__t659)? }; - let __t661 = v_V3639.clone(); + let __t661 = v_V3653.clone(); rt::gt(&__t660, &__t661)? }; Value::bool(rt::is_truthy(interp, &__t663)?) @@ -3957,13 +3957,13 @@ pub fn aot_shen_x2e_multiples(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { break Ok({ - let __t664 = v_V3640.clone(); + let __t664 = v_V3654.clone(); rt::tl(&__t664)? }); } else { { let __t657 = { - let __t649 = v_V3640.clone(); + let __t649 = v_V3654.clone(); rt::is_cons(&__t649) }; if match rt::is_truthy(interp, &__t657) { @@ -3971,21 +3971,21 @@ pub fn aot_shen_x2e_multiples(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let __t650 = v_V3639.clone(); + let __t650 = v_V3653.clone(); let __t656 = { let __t654 = { let __t651 = Value::int(2i64); let __t653 = { - let __t652 = v_V3640.clone(); + let __t652 = v_V3654.clone(); rt::hd(&__t652)? }; rt::mul(&__t651, &__t653)? }; - let __t655 = v_V3640.clone(); + let __t655 = v_V3654.clone(); rt::cons(&__t654, &__t655) }; - v_V3639 = __t650; - v_V3640 = __t656; + v_V3653 = __t650; + v_V3654 = __t656; continue; } } else { @@ -4025,15 +4025,15 @@ pub fn aot_shen_x2e_modh(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V3647.clone()); + break Ok(v_V3661.clone()); } else { { let __t687 = { let __t679 = { - let __t675 = v_V3648.clone(); + let __t675 = v_V3662.clone(); rt::is_cons(&__t675) }; if !rt::is_truthy(interp, &__t679)? { @@ -4065,10 +4065,10 @@ pub fn aot_shen_x2e_modh(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V3647.clone()); + break Ok(v_V3661.clone()); } else { { - let __t684 = v_V3647.clone(); + let __t684 = v_V3661.clone(); let __t686 = { - let __t685 = v_V3648.clone(); + let __t685 = v_V3662.clone(); rt::tl(&__t685)? }; - v_V3647 = __t684; - v_V3648 = __t686; + v_V3661 = __t684; + v_V3662 = __t686; continue; } } @@ -4107,7 +4107,7 @@ pub fn aot_shen_x2e_modh(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3651 = args[0].clone(); + let mut v_V3665 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t705 = { let __t703 = Value::nil(); - let __t704 = v_V3651.clone(); + let __t704 = v_V3665.clone(); rt::eq(&__t703, &__t704) }; if match rt::is_truthy(interp, &__t705) { @@ -4193,7 +4193,7 @@ pub fn aot_sum(interp: &mut Interp, args: &[Value]) -> ShenResult { } else { { let __t702 = { - let __t696 = v_V3651.clone(); + let __t696 = v_V3665.clone(); rt::is_cons(&__t696) }; if match rt::is_truthy(interp, &__t702) { @@ -4202,12 +4202,12 @@ pub fn aot_sum(interp: &mut Interp, args: &[Value]) -> ShenResult { } { break Ok({ let __t698 = { - let __t697 = v_V3651.clone(); + let __t697 = v_V3665.clone(); rt::hd(&__t697)? }; let __t701 = { let __t700 = { - let __t699 = v_V3651.clone(); + let __t699 = v_V3665.clone(); rt::tl(&__t699)? }; rt::apply_direct(interp, "sum", &[__t700])? @@ -4250,12 +4250,12 @@ pub fn aot_head(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3656 = args[0].clone(); + let mut v_V3670 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t710 = { - let __t708 = v_V3656.clone(); + let __t708 = v_V3670.clone(); rt::is_cons(&__t708) }; if match rt::is_truthy(interp, &__t710) { @@ -4263,7 +4263,7 @@ pub fn aot_head(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { break Ok({ - let __t709 = v_V3656.clone(); + let __t709 = v_V3670.clone(); rt::hd(&__t709)? }); } else { @@ -4300,12 +4300,12 @@ pub fn aot_tail(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3661 = args[0].clone(); + let mut v_V3675 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t715 = { - let __t713 = v_V3661.clone(); + let __t713 = v_V3675.clone(); rt::is_cons(&__t713) }; if match rt::is_truthy(interp, &__t715) { @@ -4313,7 +4313,7 @@ pub fn aot_tail(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { break Ok({ - let __t714 = v_V3661.clone(); + let __t714 = v_V3675.clone(); rt::tl(&__t714)? }); } else { @@ -4350,11 +4350,11 @@ pub fn aot_hdstr(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3662 = args[0].clone(); + let mut v_V3676 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t716 = v_V3662.clone(); + let __t716 = v_V3676.clone(); let __t717 = Value::int(0i64); rt::apply_direct(interp, "pos", &[__t716, __t717])? }); @@ -4375,15 +4375,15 @@ pub fn aot_intersection(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3671 = args[0].clone(); + let mut v_V3685 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t738 = v_V3671.clone(); + let __t738 = v_V3685.clone(); let __t739 = Value::nil(); rt::apply_direct(interp, "shen.reverse-help", &[__t738, __t739])? }); @@ -4505,26 +4505,26 @@ pub fn aot_shen_x2e_reverse_x2d_help(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V3676 = args[0].clone(); + let mut v_V3690 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3677 = args[1].clone(); + let mut v_V3691 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t752 = { let __t750 = Value::nil(); - let __t751 = v_V3676.clone(); + let __t751 = v_V3690.clone(); rt::eq(&__t750, &__t751) }; if match rt::is_truthy(interp, &__t752) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3677.clone()); + break Ok(v_V3691.clone()); } else { { let __t749 = { - let __t742 = v_V3676.clone(); + let __t742 = v_V3690.clone(); rt::is_cons(&__t742) }; if match rt::is_truthy(interp, &__t749) { @@ -4533,19 +4533,19 @@ pub fn aot_shen_x2e_reverse_x2d_help(interp: &mut Interp, args: &[Value]) -> She } { { let __t744 = { - let __t743 = v_V3676.clone(); + let __t743 = v_V3690.clone(); rt::tl(&__t743)? }; let __t748 = { let __t746 = { - let __t745 = v_V3676.clone(); + let __t745 = v_V3690.clone(); rt::hd(&__t745)? }; - let __t747 = v_V3677.clone(); + let __t747 = v_V3691.clone(); rt::cons(&__t746, &__t747) }; - v_V3676 = __t744; - v_V3677 = __t748; + v_V3690 = __t744; + v_V3691 = __t748; continue; } } else { @@ -4584,26 +4584,26 @@ pub fn aot_union(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3682 = args[0].clone(); + let mut v_V3696 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3683 = args[1].clone(); + let mut v_V3697 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t772 = { let __t770 = Value::nil(); - let __t771 = v_V3682.clone(); + let __t771 = v_V3696.clone(); rt::eq(&__t770, &__t771) }; if match rt::is_truthy(interp, &__t772) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3683.clone()); + break Ok(v_V3697.clone()); } else { { let __t769 = { - let __t755 = v_V3682.clone(); + let __t755 = v_V3696.clone(); rt::is_cons(&__t755) }; if match rt::is_truthy(interp, &__t769) { @@ -4613,10 +4613,10 @@ pub fn aot_union(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t759 = { let __t757 = { - let __t756 = v_V3682.clone(); + let __t756 = v_V3696.clone(); rt::hd(&__t756)? }; - let __t758 = v_V3683.clone(); + let __t758 = v_V3697.clone(); rt::apply_direct(interp, "element?", &[__t757, __t758])? }; if match rt::is_truthy(interp, &__t759) { @@ -4625,26 +4625,26 @@ pub fn aot_union(interp: &mut Interp, args: &[Value]) -> ShenResult { } { { let __t761 = { - let __t760 = v_V3682.clone(); + let __t760 = v_V3696.clone(); rt::tl(&__t760)? }; - let __t762 = v_V3683.clone(); - v_V3682 = __t761; - v_V3683 = __t762; + let __t762 = v_V3697.clone(); + v_V3696 = __t761; + v_V3697 = __t762; continue; } } else { break Ok({ let __t764 = { - let __t763 = v_V3682.clone(); + let __t763 = v_V3696.clone(); rt::hd(&__t763)? }; let __t768 = { let __t766 = { - let __t765 = v_V3682.clone(); + let __t765 = v_V3696.clone(); rt::tl(&__t765)? }; - let __t767 = v_V3683.clone(); + let __t767 = v_V3697.clone(); rt::apply_direct(interp, "union", &[__t766, __t767])? }; rt::cons(&__t764, &__t768) @@ -4688,26 +4688,26 @@ pub fn aot_y_x2d_or_x2d_n_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V3684 = args[0].clone(); + let mut v_V3698 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3685 = { + let v_W3699 = { let __t774 = { - let __t773 = v_V3684.clone(); + let __t773 = v_V3698.clone(); rt::apply_direct(interp, "shen.proc-nl", &[__t773])? }; let __t775 = { rt::apply_direct(interp, "stoutput", &[])? }; rt::apply_direct(interp, "pr", &[__t774, __t775])? }; { - let v_W3686 = { + let v_W3700 = { let __t776 = Value::str(" (y/n) "); let __t777 = { rt::apply_direct(interp, "stoutput", &[])? }; rt::apply_direct(interp, "pr", &[__t776, __t777])? }; { - let v_W3687 = { + let v_W3701 = { let __t779 = { let __t778 = { rt::apply_direct(interp, "stinput", &[])? }; rt::apply_direct(interp, "read", &[__t778])? @@ -4719,7 +4719,7 @@ pub fn aot_y_x2d_or_x2d_n_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul { let __t784 = { let __t782 = Value::str("y"); - let __t783 = v_W3687.clone(); + let __t783 = v_W3701.clone(); rt::eq(&__t782, &__t783) }; if match rt::is_truthy(interp, &__t784) { @@ -4731,7 +4731,7 @@ pub fn aot_y_x2d_or_x2d_n_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul { let __t787 = { let __t785 = Value::str("n"); - let __t786 = v_W3687.clone(); + let __t786 = v_W3701.clone(); rt::eq(&__t785, &__t786) }; if match rt::is_truthy(interp, &__t787) { @@ -4748,8 +4748,8 @@ pub fn aot_y_x2d_or_x2d_n_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul rt::apply_direct(interp, "pr", &[__t788, __t789])? }; { - let __t790 = v_V3684.clone(); - v_V3684 = __t790; + let __t790 = v_V3698.clone(); + v_V3698 = __t790; continue; } } @@ -4777,11 +4777,11 @@ pub fn aot_not(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3688 = args[0].clone(); + let mut v_V3702 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let __t791 = v_V3688.clone(); + let __t791 = v_V3702.clone(); if match rt::is_truthy(interp, &__t791) { Ok(b) => b, Err(e) => break Err(e), @@ -4830,28 +4830,28 @@ pub fn aot_subst(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3694 = args[0].clone(); + let mut v_V3708 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3695 = args[1].clone(); + let mut v_V3709 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3696 = args[2].clone(); + let mut v_V3710 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t808 = { - let __t806 = v_V3695.clone(); - let __t807 = v_V3696.clone(); + let __t806 = v_V3709.clone(); + let __t807 = v_V3710.clone(); rt::eq(&__t806, &__t807) }; if match rt::is_truthy(interp, &__t808) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3694.clone()); + break Ok(v_V3708.clone()); } else { { let __t805 = { - let __t794 = v_V3696.clone(); + let __t794 = v_V3710.clone(); rt::is_cons(&__t794) }; if match rt::is_truthy(interp, &__t805) { @@ -4860,19 +4860,19 @@ pub fn aot_subst(interp: &mut Interp, args: &[Value]) -> ShenResult { } { break Ok({ let __t799 = { - let __t795 = v_V3694.clone(); - let __t796 = v_V3695.clone(); + let __t795 = v_V3708.clone(); + let __t796 = v_V3709.clone(); let __t798 = { - let __t797 = v_V3696.clone(); + let __t797 = v_V3710.clone(); rt::hd(&__t797)? }; rt::apply_direct(interp, "subst", &[__t795, __t796, __t798])? }; let __t804 = { - let __t800 = v_V3694.clone(); - let __t801 = v_V3695.clone(); + let __t800 = v_V3708.clone(); + let __t801 = v_V3709.clone(); let __t803 = { - let __t802 = v_V3696.clone(); + let __t802 = v_V3710.clone(); rt::tl(&__t802)? }; rt::apply_direct(interp, "subst", &[__t800, __t801, __t803])? @@ -4886,7 +4886,7 @@ pub fn aot_subst(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3696.clone()); + break Ok(v_V3710.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -4912,12 +4912,12 @@ pub fn aot_explode(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3697 = args[0].clone(); + let mut v_V3711 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t812 = { - let __t809 = v_V3697.clone(); + let __t809 = v_V3711.clone(); let __t810 = Value::str(""); let __t811 = Value::sym(interp.intern("shen.a")); rt::apply_direct(interp, "shen.app", &[__t809, __t810, __t811])? @@ -4941,13 +4941,13 @@ pub fn aot_shen_x2e_explode_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V3700 = args[0].clone(); + let mut v_V3714 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t824 = { let __t822 = Value::str(""); - let __t823 = v_V3700.clone(); + let __t823 = v_V3714.clone(); rt::eq(&__t822, &__t823) }; if match rt::is_truthy(interp, &__t824) { @@ -4958,7 +4958,7 @@ pub fn aot_shen_x2e_explode_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe } else { { let __t821 = { - let __t815 = v_V3700.clone(); + let __t815 = v_V3714.clone(); rt::apply_direct(interp, "shen.+string?", &[__t815])? }; if match rt::is_truthy(interp, &__t821) { @@ -4967,12 +4967,12 @@ pub fn aot_shen_x2e_explode_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ let __t817 = { - let __t816 = v_V3700.clone(); + let __t816 = v_V3714.clone(); rt::apply_direct(interp, "hdstr", &[__t816])? }; let __t820 = { let __t819 = { - let __t818 = v_V3700.clone(); + let __t818 = v_V3714.clone(); rt::apply_direct(interp, "tlstr", &[__t818])? }; rt::apply_direct(interp, "shen.explode-h", &[__t819])? @@ -5015,14 +5015,14 @@ pub fn aot_cd(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3701 = args[0].clone(); + let mut v_V3715 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t825 = Value::sym(interp.intern("*home-directory*")); let __t832 = { let __t831 = { - let __t826 = v_V3701.clone(); + let __t826 = v_V3715.clone(); let __t827 = Value::str(""); rt::eq(&__t826, &__t827) }; @@ -5030,7 +5030,7 @@ pub fn aot_cd(interp: &mut Interp, args: &[Value]) -> ShenResult { Value::str("") } else { { - let __t828 = v_V3701.clone(); + let __t828 = v_V3715.clone(); let __t829 = Value::str("/"); let __t830 = Value::sym(interp.intern("shen.a")); rt::apply_direct(interp, "shen.app", &[__t828, __t829, __t830])? @@ -5056,14 +5056,14 @@ pub fn aot_map(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3702 = args[0].clone(); + let mut v_V3716 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3703 = args[1].clone(); + let mut v_V3717 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t833 = v_V3702.clone(); - let __t834 = v_V3703.clone(); + let __t833 = v_V3716.clone(); + let __t834 = v_V3717.clone(); let __t835 = Value::nil(); rt::apply_direct(interp, "shen.map-h", &[__t833, __t834, __t835])? }); @@ -5084,17 +5084,17 @@ pub fn aot_shen_x2e_map_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3704 = args[0].clone(); + let mut v_V3718 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3705 = args[1].clone(); + let mut v_V3719 = args[1].clone(); #[allow(unused_mut)] - let mut v_V3706 = args[2].clone(); + let mut v_V3720 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t851 = { let __t848 = Value::nil(); - let __t849 = v_V3705.clone(); + let __t849 = v_V3719.clone(); rt::eq(&__t848, &__t849) }; if match rt::is_truthy(interp, &__t851) { @@ -5102,13 +5102,13 @@ pub fn aot_shen_x2e_map_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { break Ok({ - let __t850 = v_V3706.clone(); + let __t850 = v_V3720.clone(); rt::apply_direct(interp, "reverse", &[__t850])? }); } else { { let __t847 = { - let __t838 = v_V3705.clone(); + let __t838 = v_V3719.clone(); rt::is_cons(&__t838) }; if match rt::is_truthy(interp, &__t847) { @@ -5116,25 +5116,25 @@ pub fn aot_shen_x2e_map_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let __t839 = v_V3704.clone(); + let __t839 = v_V3718.clone(); let __t841 = { - let __t840 = v_V3705.clone(); + let __t840 = v_V3719.clone(); rt::tl(&__t840)? }; let __t846 = { let __t844 = { let __t843 = { - let __t842 = v_V3705.clone(); + let __t842 = v_V3719.clone(); rt::hd(&__t842)? }; - rt::apply_value(interp, v_V3704.clone(), &[__t843])? + rt::apply_value(interp, v_V3718.clone(), &[__t843])? }; - let __t845 = v_V3706.clone(); + let __t845 = v_V3720.clone(); rt::cons(&__t844, &__t845) }; - v_V3704 = __t839; - v_V3705 = __t841; - v_V3706 = __t846; + v_V3718 = __t839; + v_V3719 = __t841; + v_V3720 = __t846; continue; } } else { @@ -5173,11 +5173,11 @@ pub fn aot_length(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3707 = args[0].clone(); + let mut v_V3721 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t852 = v_V3707.clone(); + let __t852 = v_V3721.clone(); let __t853 = Value::int(0i64); rt::apply_direct(interp, "shen.length-h", &[__t852, __t853])? }); @@ -5198,22 +5198,22 @@ pub fn aot_shen_x2e_length_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V3712 = args[0].clone(); + let mut v_V3726 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3713 = args[1].clone(); + let mut v_V3727 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t862 = { let __t860 = Value::nil(); - let __t861 = v_V3712.clone(); + let __t861 = v_V3726.clone(); rt::eq(&__t860, &__t861) }; if match rt::is_truthy(interp, &__t862) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V3713.clone()); + break Ok(v_V3727.clone()); } else { { let __t859 = Value::bool(true); @@ -5223,16 +5223,16 @@ pub fn aot_shen_x2e_length_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes } { { let __t855 = { - let __t854 = v_V3712.clone(); + let __t854 = v_V3726.clone(); rt::tl(&__t854)? }; let __t858 = { - let __t856 = v_V3713.clone(); + let __t856 = v_V3727.clone(); let __t857 = Value::int(1i64); rt::add(&__t856, &__t857)? }; - v_V3712 = __t855; - v_V3713 = __t858; + v_V3726 = __t855; + v_V3727 = __t858; continue; } } else { @@ -5258,15 +5258,15 @@ pub fn aot_occurrences(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3719 = args[0].clone(); + let mut v_V3733 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3720 = args[1].clone(); + let mut v_V3734 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t876 = { - let __t874 = v_V3719.clone(); - let __t875 = v_V3720.clone(); + let __t874 = v_V3733.clone(); + let __t875 = v_V3734.clone(); rt::eq(&__t874, &__t875) }; if match rt::is_truthy(interp, &__t876) { @@ -5277,7 +5277,7 @@ pub fn aot_occurrences(interp: &mut Interp, args: &[Value]) -> ShenResult } else { { let __t873 = { - let __t864 = v_V3720.clone(); + let __t864 = v_V3734.clone(); rt::is_cons(&__t864) }; if match rt::is_truthy(interp, &__t873) { @@ -5286,17 +5286,17 @@ pub fn aot_occurrences(interp: &mut Interp, args: &[Value]) -> ShenResult } { break Ok({ let __t868 = { - let __t865 = v_V3719.clone(); + let __t865 = v_V3733.clone(); let __t867 = { - let __t866 = v_V3720.clone(); + let __t866 = v_V3734.clone(); rt::hd(&__t866)? }; rt::apply_direct(interp, "occurrences", &[__t865, __t867])? }; let __t872 = { - let __t869 = v_V3719.clone(); + let __t869 = v_V3733.clone(); let __t871 = { - let __t870 = v_V3720.clone(); + let __t870 = v_V3734.clone(); rt::tl(&__t870)? }; rt::apply_direct(interp, "occurrences", &[__t869, __t871])? @@ -5336,23 +5336,23 @@ pub fn aot_nth(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3725 = args[0].clone(); + let mut v_V3739 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3726 = args[1].clone(); + let mut v_V3740 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t902 = { let __t899 = { let __t896 = Value::int(1i64); - let __t897 = v_V3725.clone(); + let __t897 = v_V3739.clone(); rt::eq(&__t896, &__t897) }; if !rt::is_truthy(interp, &__t899)? { Value::bool(false) } else { let __t900 = { - let __t898 = v_V3726.clone(); + let __t898 = v_V3740.clone(); rt::is_cons(&__t898) }; Value::bool(rt::is_truthy(interp, &__t900)?) @@ -5363,13 +5363,13 @@ pub fn aot_nth(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { break Ok({ - let __t901 = v_V3726.clone(); + let __t901 = v_V3740.clone(); rt::hd(&__t901)? }); } else { { let __t895 = { - let __t889 = v_V3726.clone(); + let __t889 = v_V3740.clone(); rt::is_cons(&__t889) }; if match rt::is_truthy(interp, &__t895) { @@ -5378,16 +5378,16 @@ pub fn aot_nth(interp: &mut Interp, args: &[Value]) -> ShenResult { } { { let __t892 = { - let __t890 = v_V3725.clone(); + let __t890 = v_V3739.clone(); let __t891 = Value::int(1i64); rt::sub(&__t890, &__t891)? }; let __t894 = { - let __t893 = v_V3726.clone(); + let __t893 = v_V3740.clone(); rt::tl(&__t893)? }; - v_V3725 = __t892; - v_V3726 = __t894; + v_V3739 = __t892; + v_V3740 = __t894; continue; } } else { @@ -5401,11 +5401,11 @@ pub fn aot_nth(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t887 = { let __t877 = Value::str("nth applied to "); let __t886 = { - let __t878 = v_V3725.clone(); + let __t878 = v_V3739.clone(); let __t884 = { let __t879 = Value::str(", "); let __t883 = { - let __t880 = v_V3726.clone(); + let __t880 = v_V3740.clone(); let __t881 = Value::str("\n"); let __t882 = Value::sym(interp.intern("shen.a")); @@ -5453,12 +5453,12 @@ pub fn aot_integer_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V3729.clone()); + break Ok(v_V3743.clone()); } else { break Ok({ let __t913 = Value::int(0i64); - let __t914 = v_V3729.clone(); + let __t914 = v_V3743.clone(); rt::sub(&__t913, &__t914)? }); } @@ -5540,34 +5540,34 @@ pub fn aot_shen_x2e_magless(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V3731.clone()); + break Ok(v_V3745.clone()); } else { { - let __t920 = v_V3730.clone(); - let __t921 = v_W3732.clone(); - v_V3730 = __t920; - v_V3731 = __t921; + let __t920 = v_V3744.clone(); + let __t921 = v_W3746.clone(); + v_V3744 = __t920; + v_V3745 = __t921; continue; } } @@ -5593,15 +5593,15 @@ pub fn aot_shen_x2e_integer_x2d_test_x3f_( ))); } #[allow(unused_mut)] - let mut v_V3736 = args[0].clone(); + let mut v_V3750 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3737 = args[1].clone(); + let mut v_V3751 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t936 = { let __t934 = Value::int(0i64); - let __t935 = v_V3736.clone(); + let __t935 = v_V3750.clone(); rt::eq(&__t934, &__t935) }; if match rt::is_truthy(interp, &__t936) { @@ -5613,7 +5613,7 @@ pub fn aot_shen_x2e_integer_x2d_test_x3f_( { let __t933 = { let __t931 = Value::int(1i64); - let __t932 = v_V3736.clone(); + let __t932 = v_V3750.clone(); rt::gt(&__t931, &__t932)? }; if match rt::is_truthy(interp, &__t933) { @@ -5629,15 +5629,15 @@ pub fn aot_shen_x2e_integer_x2d_test_x3f_( Err(e) => break Err(e), } { { - let v_W3738 = { - let __t922 = v_V3736.clone(); - let __t923 = v_V3737.clone(); + let v_W3752 = { + let __t922 = v_V3750.clone(); + let __t923 = v_V3751.clone(); rt::sub(&__t922, &__t923)? }; { let __t926 = { let __t924 = Value::int(0i64); - let __t925 = v_W3738.clone(); + let __t925 = v_W3752.clone(); rt::gt(&__t924, &__t925)? }; if match rt::is_truthy(interp, &__t926) { @@ -5645,15 +5645,15 @@ pub fn aot_shen_x2e_integer_x2d_test_x3f_( Err(e) => break Err(e), } { break Ok({ - let __t927 = v_V3736.clone(); + let __t927 = v_V3750.clone(); rt::apply_direct(interp, "integer?", &[__t927])? }); } else { { - let __t928 = v_W3738.clone(); - let __t929 = v_V3737.clone(); - v_V3736 = __t928; - v_V3737 = __t929; + let __t928 = v_W3752.clone(); + let __t929 = v_V3751.clone(); + v_V3750 = __t928; + v_V3751 = __t929; continue; } } @@ -5684,15 +5684,15 @@ pub fn aot_mapcan(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3745 = args[0].clone(); + let mut v_V3759 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3746 = args[1].clone(); + let mut v_V3760 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t950 = { let __t948 = Value::nil(); - let __t949 = v_V3746.clone(); + let __t949 = v_V3760.clone(); rt::eq(&__t948, &__t949) }; if match rt::is_truthy(interp, &__t950) { @@ -5703,7 +5703,7 @@ pub fn aot_mapcan(interp: &mut Interp, args: &[Value]) -> ShenResult { } else { { let __t947 = { - let __t939 = v_V3746.clone(); + let __t939 = v_V3760.clone(); rt::is_cons(&__t939) }; if match rt::is_truthy(interp, &__t947) { @@ -5713,15 +5713,15 @@ pub fn aot_mapcan(interp: &mut Interp, args: &[Value]) -> ShenResult { break Ok({ let __t942 = { let __t941 = { - let __t940 = v_V3746.clone(); + let __t940 = v_V3760.clone(); rt::hd(&__t940)? }; - rt::apply_value(interp, v_V3745.clone(), &[__t941])? + rt::apply_value(interp, v_V3759.clone(), &[__t941])? }; let __t946 = { - let __t943 = v_V3745.clone(); + let __t943 = v_V3759.clone(); let __t945 = { - let __t944 = v_V3746.clone(); + let __t944 = v_V3760.clone(); rt::tl(&__t944)? }; rt::apply_direct(interp, "mapcan", &[__t943, __t945])? @@ -5764,15 +5764,15 @@ pub fn aot__x3d__x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3752 = args[0].clone(); + let mut v_V3766 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3753 = args[1].clone(); + let mut v_V3767 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t954 = { - let __t952 = v_V3752.clone(); - let __t953 = v_V3753.clone(); + let __t952 = v_V3766.clone(); + let __t953 = v_V3767.clone(); rt::eq(&__t952, &__t953) }; if match rt::is_truthy(interp, &__t954) { @@ -5811,12 +5811,12 @@ pub fn aot_bound_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3754 = args[0].clone(); + let mut v_V3768 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t956 = { - let __t955 = v_V3754.clone(); + let __t955 = v_V3768.clone(); rt::is_symbol(&__t955) }; if !match rt::is_truthy(interp, &__t956) { @@ -5826,9 +5826,9 @@ pub fn aot_bound_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok(Value::bool(false)); } else { { - let v_W3755 = match (|| -> ShenResult { + let v_W3769 = match (|| -> ShenResult { Ok({ - let __t957 = v_V3754.clone(); + let __t957 = v_V3768.clone(); rt::apply_direct(interp, "value", &[__t957])? }) })() { @@ -5839,7 +5839,7 @@ pub fn aot_bound_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult "", 1, move |interp, args| { - let v_Z3756 = args[0].clone(); + let v_Z3770 = args[0].clone(); Ok(Value::sym(interp.intern("shen.this-symbol-is-unbound"))) }, Vec::new(), @@ -5852,7 +5852,7 @@ pub fn aot_bound_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult }; { let __t960 = { - let __t958 = v_W3755.clone(); + let __t958 = v_W3769.clone(); let __t959 = Value::sym(interp.intern("shen.this-symbol-is-unbound")); rt::eq(&__t958, &__t959) }; @@ -5888,13 +5888,13 @@ pub fn aot_shen_x2e_string_x2d__x3e_bytes( ))); } #[allow(unused_mut)] - let mut v_V3757 = args[0].clone(); + let mut v_V3771 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t971 = { let __t969 = Value::str(""); - let __t970 = v_V3757.clone(); + let __t970 = v_V3771.clone(); rt::eq(&__t969, &__t970) }; if match rt::is_truthy(interp, &__t971) { @@ -5912,7 +5912,7 @@ pub fn aot_shen_x2e_string_x2d__x3e_bytes( break Ok({ let __t964 = { let __t963 = { - let __t961 = v_V3757.clone(); + let __t961 = v_V3771.clone(); let __t962 = Value::int(0i64); rt::apply_direct(interp, "pos", &[__t961, __t962])? }; @@ -5920,7 +5920,7 @@ pub fn aot_shen_x2e_string_x2d__x3e_bytes( }; let __t967 = { let __t966 = { - let __t965 = v_V3757.clone(); + let __t965 = v_V3771.clone(); rt::apply_direct(interp, "tlstr", &[__t965])? }; rt::apply_direct(interp, "shen.string->bytes", &[__t966])? @@ -5950,12 +5950,12 @@ pub fn aot_maxinferences(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3759 = args[0].clone(); + let mut v_V3773 = args[0].clone(); #[allow(clippy::never_loop)] loop { - break Ok(v_V3759.clone()); + break Ok(v_V3773.clone()); } } @@ -6073,30 +6073,30 @@ pub fn aot_string_x2d__x3e_symbol(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V3760 = args[0].clone(); + let mut v_V3774 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3761 = { - let __t983 = v_V3760.clone(); + let v_W3775 = { + let __t983 = v_V3774.clone(); rt::apply_direct(interp, "intern", &[__t983])? }; { let __t985 = { - let __t984 = v_W3761.clone(); + let __t984 = v_W3775.clone(); rt::is_symbol(&__t984) }; if match rt::is_truthy(interp, &__t985) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_W3761.clone()); + break Ok(v_W3775.clone()); } else { break Ok({ let __t991 = { let __t986 = Value::str("cannot intern "); let __t990 = { - let __t987 = v_V3760.clone(); + let __t987 = v_V3774.clone(); let __t988 = Value::str(" to a symbol"); let __t989 = Value::sym(interp.intern("shen.s")); rt::apply_direct(interp, "shen.app", &[__t987, __t988, __t989])? @@ -6125,13 +6125,13 @@ pub fn aot_optimise(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3764 = args[0].clone(); + let mut v_V3778 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1003 = { let __t999 = Value::sym(interp.intern("+")); - let __t1000 = v_V3764.clone(); + let __t1000 = v_V3778.clone(); rt::eq(&__t999, &__t1000) }; if match rt::is_truthy(interp, &__t1003) { @@ -6147,7 +6147,7 @@ pub fn aot_optimise(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t998 = { let __t994 = Value::sym(interp.intern("-")); - let __t995 = v_V3764.clone(); + let __t995 = v_V3778.clone(); rt::eq(&__t994, &__t995) }; if match rt::is_truthy(interp, &__t998) { @@ -6349,13 +6349,13 @@ pub fn aot_package_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult { Ok({ let _ = { - let __t1011 = v_V3765.clone(); + let __t1011 = v_V3779.clone(); rt::apply_direct(interp, "external", &[__t1011])? }; Value::bool(true) @@ -6387,7 +6387,7 @@ pub fn aot_package_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult", 1, move |interp, args| { - let v_Z3766 = args[0].clone(); + let v_Z3780 = args[0].clone(); Ok(Value::bool(false)) }, Vec::new(), @@ -6529,13 +6529,13 @@ pub fn aot_enable_x2d_type_x2d_theory(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V3769 = args[0].clone(); + let mut v_V3783 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1031 = { let __t1027 = Value::sym(interp.intern("+")); - let __t1028 = v_V3769.clone(); + let __t1028 = v_V3783.clone(); rt::eq(&__t1027, &__t1028) }; if match rt::is_truthy(interp, &__t1031) { @@ -6551,7 +6551,7 @@ pub fn aot_enable_x2d_type_x2d_theory(interp: &mut Interp, args: &[Value]) -> Sh { let __t1026 = { let __t1022 = Value::sym(interp.intern("-")); - let __t1023 = v_V3769.clone(); + let __t1023 = v_V3783.clone(); rt::eq(&__t1022, &__t1023) }; if match rt::is_truthy(interp, &__t1026) { @@ -6601,13 +6601,13 @@ pub fn aot_shen_x2e_hush(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3775 = args[0].clone(); + let mut v_V3789 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t1055 = { let __t1051 = Value::sym(interp.intern("+")); - let __t1052 = v_V3775.clone(); + let __t1052 = v_V3789.clone(); rt::eq(&__t1051, &__t1052) }; if match rt::is_truthy(interp, &__t1055) { @@ -6693,7 +6693,7 @@ pub fn aot_tc(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t1050 = { let __t1046 = Value::sym(interp.intern("-")); - let __t1047 = v_V3775.clone(); + let __t1047 = v_V3789.clone(); rt::eq(&__t1046, &__t1047) }; if match rt::is_truthy(interp, &__t1050) { @@ -6741,14 +6741,14 @@ pub fn aot_destroy(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3776 = args[0].clone(); + let mut v_V3790 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let _ = { let __t1056 = Value::sym(interp.intern("shen.*sigf*")); let __t1060 = { - let __t1057 = v_V3776.clone(); + let __t1057 = v_V3790.clone(); let __t1059 = { let __t1058 = Value::sym(interp.intern("shen.*sigf*")); rt::apply_direct(interp, "value", &[__t1058])? @@ -6757,7 +6757,7 @@ pub fn aot_destroy(interp: &mut Interp, args: &[Value]) -> ShenResult { }; rt::apply_direct(interp, "set", &[__t1056, __t1060])? }; - break Ok(v_V3776.clone()); + break Ok(v_V3790.clone()); } } } @@ -6776,15 +6776,15 @@ pub fn aot_shen_x2e_unassoc(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult break Err(e), } { break Ok({ - let __t1082 = v_V3787.clone(); + let __t1082 = v_V3801.clone(); rt::tl(&__t1082)? }); } else { { let __t1070 = { - let __t1063 = v_V3787.clone(); + let __t1063 = v_V3801.clone(); rt::is_cons(&__t1063) }; if match rt::is_truthy(interp, &__t1070) { @@ -6850,13 +6850,13 @@ pub fn aot_shen_x2e_unassoc(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenRes ))); } #[allow(unused_mut)] - let mut v_V3789 = args[0].clone(); + let mut v_V3803 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3790 = args[1].clone(); + let mut v_V3804 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3791 = { - let __t1097 = v_V3789.clone(); + let v_W3805 = { + let __t1097 = v_V3803.clone(); let __t1098 = Value::sym(interp.intern("out")); rt::apply_direct(interp, "open", &[__t1097, __t1098])? }; { - let v_W3792 = { + let v_W3806 = { let __t1103 = { - let __t1099 = v_V3790.clone(); + let __t1099 = v_V3804.clone(); rt::is_string(&__t1099) }; if rt::is_truthy(interp, &__t1103)? { - v_V3790.clone() + v_V3804.clone() } else { { - let __t1100 = v_V3790.clone(); + let __t1100 = v_V3804.clone(); let __t1101 = Value::str(""); let __t1102 = Value::sym(interp.intern("shen.s")); rt::apply_direct(interp, "shen.app", &[__t1100, __t1101, __t1102])? @@ -6985,17 +6985,17 @@ pub fn aot_write_x2d_to_x2d_file(interp: &mut Interp, args: &[Value]) -> ShenRes } }; { - let v_W3793 = { - let __t1104 = v_W3792.clone(); - let __t1105 = v_W3791.clone(); + let v_W3807 = { + let __t1104 = v_W3806.clone(); + let __t1105 = v_W3805.clone(); rt::apply_direct(interp, "pr", &[__t1104, __t1105])? }; { - let v_W3794 = { - let __t1106 = v_W3791.clone(); + let v_W3808 = { + let __t1106 = v_W3805.clone(); rt::apply_direct(interp, "close", &[__t1106])? }; - break Ok(v_V3790.clone()); + break Ok(v_V3804.clone()); } } } @@ -7042,16 +7042,16 @@ pub fn aot_update_x2d_lambda_x2d_table(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V3795 = args[0].clone(); + let mut v_V3809 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3796 = args[1].clone(); + let mut v_V3810 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W3797 = { - let __t1109 = v_V3795.clone(); + let v_W3811 = { + let __t1109 = v_V3809.clone(); let __t1110 = Value::sym(interp.intern("arity")); - let __t1111 = v_V3796.clone(); + let __t1111 = v_V3810.clone(); let __t1113 = { let __t1112 = Value::sym(interp.intern("*property-vector*")); rt::apply_direct(interp, "value", &[__t1112])? @@ -7059,15 +7059,15 @@ pub fn aot_update_x2d_lambda_x2d_table(interp: &mut Interp, args: &[Value]) -> S rt::apply_direct(interp, "put", &[__t1109, __t1110, __t1111, __t1113])? }; { - let v_W3798 = { - let __t1114 = v_V3795.clone(); + let v_W3812 = { + let __t1114 = v_V3809.clone(); rt::apply_direct(interp, "shen.lambda-entry", &[__t1114])? }; { - let v_W3799 = { + let v_W3813 = { let __t1115 = Value::sym(interp.intern("shen.*lambdatable*")); let __t1119 = { - let __t1116 = v_W3798.clone(); + let __t1116 = v_W3812.clone(); let __t1118 = { let __t1117 = Value::sym(interp.intern("shen.*lambdatable*")); rt::apply_direct(interp, "value", &[__t1117])? @@ -7076,7 +7076,7 @@ pub fn aot_update_x2d_lambda_x2d_table(interp: &mut Interp, args: &[Value]) -> S }; rt::apply_direct(interp, "set", &[__t1115, __t1119])? }; - break Ok(v_V3795.clone()); + break Ok(v_V3809.clone()); } } } @@ -7097,15 +7097,15 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3802 = args[0].clone(); + let mut v_V3816 = args[0].clone(); #[allow(unused_mut)] - let mut v_V3803 = args[1].clone(); + let mut v_V3817 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t1160 = { let __t1148 = Value::int(0i64); - let __t1149 = v_V3803.clone(); + let __t1149 = v_V3817.clone(); rt::eq(&__t1148, &__t1149) }; if match rt::is_truthy(interp, &__t1160) { @@ -7116,7 +7116,7 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult let _ = { let __t1150 = Value::sym(interp.intern("shen.*special*")); let __t1154 = { - let __t1151 = v_V3802.clone(); + let __t1151 = v_V3816.clone(); let __t1153 = { let __t1152 = Value::sym(interp.intern("shen.*special*")); rt::apply_direct(interp, "value", &[__t1152])? @@ -7129,7 +7129,7 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult let _ = { let __t1155 = Value::sym(interp.intern("shen.*extraspecial*")); let __t1159 = { - let __t1156 = v_V3802.clone(); + let __t1156 = v_V3816.clone(); let __t1158 = { let __t1157 = Value::sym(interp.intern("shen.*extraspecial*")); rt::apply_direct(interp, "value", &[__t1157])? @@ -7138,14 +7138,14 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult }; rt::apply_direct(interp, "set", &[__t1155, __t1159])? }; - break Ok(v_V3802.clone()); + break Ok(v_V3816.clone()); } } } else { { let __t1147 = { let __t1135 = Value::int(1i64); - let __t1136 = v_V3803.clone(); + let __t1136 = v_V3817.clone(); rt::eq(&__t1135, &__t1136) }; if match rt::is_truthy(interp, &__t1147) { @@ -7156,7 +7156,7 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult let _ = { let __t1137 = Value::sym(interp.intern("shen.*special*")); let __t1141 = { - let __t1138 = v_V3802.clone(); + let __t1138 = v_V3816.clone(); let __t1140 = { let __t1139 = Value::sym(interp.intern("shen.*special*")); rt::apply_direct(interp, "value", &[__t1139])? @@ -7169,7 +7169,7 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult let _ = { let __t1142 = Value::sym(interp.intern("shen.*extraspecial*")); let __t1146 = { - let __t1143 = v_V3802.clone(); + let __t1143 = v_V3816.clone(); let __t1145 = { let __t1144 = Value::sym(interp.intern("shen.*extraspecial*")); @@ -7179,14 +7179,14 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult }; rt::apply_direct(interp, "set", &[__t1142, __t1146])? }; - break Ok(v_V3802.clone()); + break Ok(v_V3816.clone()); } } } else { { let __t1134 = { let __t1122 = Value::int(2i64); - let __t1123 = v_V3803.clone(); + let __t1123 = v_V3817.clone(); rt::eq(&__t1122, &__t1123) }; if match rt::is_truthy(interp, &__t1134) { @@ -7197,7 +7197,7 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult let _ = { let __t1124 = Value::sym(interp.intern("shen.*special*")); let __t1128 = { - let __t1125 = v_V3802.clone(); + let __t1125 = v_V3816.clone(); let __t1127 = { let __t1126 = Value::sym(interp.intern("shen.*special*")); @@ -7212,7 +7212,7 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult let __t1129 = Value::sym(interp.intern("shen.*extraspecial*")); let __t1133 = { - let __t1130 = v_V3802.clone(); + let __t1130 = v_V3816.clone(); let __t1132 = { let __t1131 = Value::sym( interp.intern("shen.*extraspecial*"), @@ -7227,7 +7227,7 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult }; rt::apply_direct(interp, "set", &[__t1129, __t1133])? }; - break Ok(v_V3802.clone()); + break Ok(v_V3816.clone()); } } } else { @@ -7270,13 +7270,13 @@ pub fn aot_absolute(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V3804 = args[0].clone(); + let mut v_V3818 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t1161 = Value::sym(interp.intern("*absolute*")); let __t1165 = { - let __t1162 = v_V3804.clone(); + let __t1162 = v_V3818.clone(); let __t1164 = { let __t1163 = Value::sym(interp.intern("*absolute*")); rt::apply_direct(interp, "value", &[__t1163])? @@ -7302,13 +7302,13 @@ pub fn aot_unabsolute(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V3805 = args[0].clone(); + let mut v_V3819 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t1166 = Value::sym(interp.intern("*absolute*")); let __t1170 = { - let __t1167 = v_V3805.clone(); + let __t1167 = v_V3819.clone(); let __t1169 = { let __t1168 = Value::sym(interp.intern("*absolute*")); rt::apply_direct(interp, "value", &[__t1168])? diff --git a/crates/shen-rust/src/aot/kernel/t_star.rs b/crates/shen-rust/src/aot/kernel/t_star.rs index 1194b50..1616e63 100644 --- a/crates/shen-rust/src/aot/kernel/t_star.rs +++ b/crates/shen-rust/src/aot/kernel/t_star.rs @@ -32,24 +32,24 @@ pub fn aot_shen_x2e_typecheck(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V4434 = args[0].clone(); + let mut v_V4448 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4435 = args[1].clone(); + let mut v_V4449 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4436 = { - let __t0 = v_V4435.clone(); + let v_W4450 = { + let __t0 = v_V4449.clone(); rt::apply_direct(interp, "shen.extract-vars", &[__t0])? }; { - let v_W4437 = { - let __t1 = v_V4435.clone(); + let v_W4451 = { + let __t1 = v_V4449.clone(); rt::apply_direct(interp, "shen.rectify-type", &[__t1])? }; { - let v_W4438 = { - let __t2 = v_V4434.clone(); + let v_W4452 = { + let __t2 = v_V4448.clone(); rt::apply_direct(interp, "shen.curry", &[__t2])? }; break Ok({ @@ -57,66 +57,66 @@ pub fn aot_shen_x2e_typecheck(interp: &mut Interp, args: &[Value]) -> ShenResult let __t42 = { let __t35 = { let __t33 = { - let v_W4436 = v_W4436.clone(); - let v_W4437 = v_W4437.clone(); - let v_W4438 = v_W4438.clone(); + let v_W4450 = v_W4450.clone(); + let v_W4451 = v_W4451.clone(); + let v_W4452 = v_W4452.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z4439 = args[0].clone(); + let v_Z4453 = args[0].clone(); Ok({ - let v_W4436 = v_W4436.clone(); - let v_W4437 = v_W4437.clone(); - let v_W4438 = v_W4438.clone(); - let v_Z4439 = v_Z4439.clone(); + let v_W4450 = v_W4450.clone(); + let v_W4451 = v_W4451.clone(); + let v_W4452 = v_W4452.clone(); + let v_Z4453 = v_Z4453.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z4440 = args[0].clone(); + let v_Z4454 = args[0].clone(); Ok({ - let v_W4436 = v_W4436.clone(); - let v_W4437 = v_W4437.clone(); - let v_W4438 = v_W4438.clone(); - let v_Z4439 = v_Z4439.clone(); - let v_Z4440 = v_Z4440.clone(); + let v_W4450 = v_W4450.clone(); + let v_W4451 = v_W4451.clone(); + let v_W4452 = v_W4452.clone(); + let v_Z4453 = v_Z4453.clone(); + let v_Z4454 = v_Z4454.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z4441 = + let v_Z4455 = args[0].clone(); Ok({ - let v_W4436 = - v_W4436.clone(); - let v_W4437 = - v_W4437.clone(); - let v_W4438 = - v_W4438.clone(); - let v_Z4439 = - v_Z4439.clone(); - let v_Z4440 = - v_Z4440.clone(); - let v_Z4441 = - v_Z4441.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z4442 = args[0].clone(); Ok({ let v_W4443 = { let __t3 = v_Z4439.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3])? }; { let __t4 = v_Z4439.clone(); let __t32 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t8 = { let __t7 = { let __t5 = v_W4436.clone(); let __t6 = v_Z4439.clone(); rt::apply_direct(interp, "shen.deref", &[__t5, __t6])? }; rt::apply_direct(interp, "receive", &[__t7])? }; let __t12 = { let __t11 = { let __t9 = v_W4437.clone(); let __t10 = v_Z4439.clone(); rt::apply_direct(interp, "shen.deref", &[__t9, __t10])? }; rt::apply_direct(interp, "receive", &[__t11])? }; let __t13 = v_W4443.clone(); let __t14 = v_Z4439.clone(); let __t15 = v_Z4440.clone(); let __t16 = v_Z4441.clone(); let __t31 = { let v_W4438 = v_W4438.clone(); let v_W4443 = v_W4443.clone(); let v_Z4439 = v_Z4439.clone(); let v_Z4440 = v_Z4440.clone(); let v_Z4441 = v_Z4441.clone(); let v_Z4442 = v_Z4442.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t20 = { let __t19 = { let __t17 = v_W4438.clone(); let __t18 = v_Z4439.clone(); rt::apply_direct(interp, "shen.deref", &[__t17, __t18])? }; rt::apply_direct(interp, "receive", &[__t19])? }; let __t21 = v_W4443.clone(); let __t22 = v_Z4439.clone(); let __t23 = v_Z4440.clone(); let __t24 = v_Z4441.clone(); let __t30 = { let v_W4443 = v_W4443.clone(); let v_Z4439 = v_Z4439.clone(); let v_Z4440 = v_Z4440.clone(); let v_Z4441 = v_Z4441.clone(); let v_Z4442 = v_Z4442.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t25 = v_W4443.clone(); let __t26 = v_Z4439.clone(); let __t27 = v_Z4440.clone(); let __t28 = v_Z4441.clone(); let __t29 = v_Z4442.clone(); rt::apply_direct(interp, "return", &[__t25, __t26, __t27, __t28, __t29])? }), vec![v_W4443, v_Z4439, v_Z4440, v_Z4441, v_Z4442], interp) }; rt::apply_direct(interp, "shen.toplevel-forms", &[__t20, __t21, __t22, __t23, __t24, __t30])? }), vec![v_W4438, v_W4443, v_Z4439, v_Z4440, v_Z4441, v_Z4442], interp) }; rt::apply_direct(interp, "shen.insert-prolog-variables", &[__t8, __t12, __t13, __t14, __t15, __t16, __t31])? } }; rt::apply_direct(interp, "shen.gc", &[__t4, __t32])? } }) }, vec![v_W4436, v_W4437, v_W4438, v_Z4439, v_Z4440, v_Z4441], interp) + let v_W4450 = + v_W4450.clone(); + let v_W4451 = + v_W4451.clone(); + let v_W4452 = + v_W4452.clone(); + let v_Z4453 = + v_Z4453.clone(); + let v_Z4454 = + v_Z4454.clone(); + let v_Z4455 = + v_Z4455.clone(); + rt::make_aot_closure("", 1, move |interp, args| { let v_Z4456 = args[0].clone(); Ok({ let v_W4457 = { let __t3 = v_Z4453.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3])? }; { let __t4 = v_Z4453.clone(); let __t32 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t8 = { let __t7 = { let __t5 = v_W4450.clone(); let __t6 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t5, __t6])? }; rt::apply_direct(interp, "receive", &[__t7])? }; let __t12 = { let __t11 = { let __t9 = v_W4451.clone(); let __t10 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t9, __t10])? }; rt::apply_direct(interp, "receive", &[__t11])? }; let __t13 = v_W4457.clone(); let __t14 = v_Z4453.clone(); let __t15 = v_Z4454.clone(); let __t16 = v_Z4455.clone(); let __t31 = { let v_W4452 = v_W4452.clone(); let v_W4457 = v_W4457.clone(); let v_Z4453 = v_Z4453.clone(); let v_Z4454 = v_Z4454.clone(); let v_Z4455 = v_Z4455.clone(); let v_Z4456 = v_Z4456.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t20 = { let __t19 = { let __t17 = v_W4452.clone(); let __t18 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t17, __t18])? }; rt::apply_direct(interp, "receive", &[__t19])? }; let __t21 = v_W4457.clone(); let __t22 = v_Z4453.clone(); let __t23 = v_Z4454.clone(); let __t24 = v_Z4455.clone(); let __t30 = { let v_W4457 = v_W4457.clone(); let v_Z4453 = v_Z4453.clone(); let v_Z4454 = v_Z4454.clone(); let v_Z4455 = v_Z4455.clone(); let v_Z4456 = v_Z4456.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t25 = v_W4457.clone(); let __t26 = v_Z4453.clone(); let __t27 = v_Z4454.clone(); let __t28 = v_Z4455.clone(); let __t29 = v_Z4456.clone(); rt::apply_direct(interp, "return", &[__t25, __t26, __t27, __t28, __t29])? }), vec![v_W4457, v_Z4453, v_Z4454, v_Z4455, v_Z4456], interp) }; rt::apply_direct(interp, "shen.toplevel-forms", &[__t20, __t21, __t22, __t23, __t24, __t30])? }), vec![v_W4452, v_W4457, v_Z4453, v_Z4454, v_Z4455, v_Z4456], interp) }; rt::apply_direct(interp, "shen.insert-prolog-variables", &[__t8, __t12, __t13, __t14, __t15, __t16, __t31])? } }; rt::apply_direct(interp, "shen.gc", &[__t4, __t32])? } }) }, vec![v_W4450, v_W4451, v_W4452, v_Z4453, v_Z4454, v_Z4455], interp) }) }, vec![ - v_W4436, v_W4437, v_W4438, - v_Z4439, v_Z4440, + v_W4450, v_W4451, v_W4452, + v_Z4453, v_Z4454, ], interp, ) }) }, - vec![v_W4436, v_W4437, v_W4438, v_Z4439], + vec![v_W4450, v_W4451, v_W4452, v_Z4453], interp, ) }) }, - vec![v_W4436, v_W4437, v_W4438], + vec![v_W4450, v_W4451, v_W4452], interp, ) }; @@ -175,37 +175,37 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( ))); } #[allow(unused_mut)] - let mut v_V4444 = args[0].clone(); + let mut v_V4458 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4445 = args[1].clone(); + let mut v_V4459 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4446 = args[2].clone(); + let mut v_V4460 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4447 = args[3].clone(); + let mut v_V4461 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4448 = args[4].clone(); + let mut v_V4462 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4449 = args[5].clone(); + let mut v_V4463 = args[5].clone(); #[allow(unused_mut)] - let mut v_V4450 = args[6].clone(); + let mut v_V4464 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4451 = { + let v_W4465 = { let __t58 = { - let __t46 = v_V4448.clone(); + let __t46 = v_V4462.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t46])? }; if rt::is_truthy(interp, &__t58)? { { - let v_W4452 = { - let __t47 = v_V4444.clone(); - let __t48 = v_V4447.clone(); + let v_W4466 = { + let __t47 = v_V4458.clone(); + let __t48 = v_V4461.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t47, __t48])? }; { let __t57 = { - let __t49 = v_W4452.clone(); + let __t49 = v_W4466.clone(); let __t50 = Value::nil(); rt::eq(&__t49, &__t50) }; @@ -213,12 +213,12 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t51 = v_V4445.clone(); - let __t52 = v_V4446.clone(); - let __t53 = v_V4447.clone(); - let __t54 = v_V4448.clone(); - let __t55 = v_V4449.clone(); - let __t56 = v_V4450.clone(); + let __t51 = v_V4459.clone(); + let __t52 = v_V4460.clone(); + let __t53 = v_V4461.clone(); + let __t54 = v_V4462.clone(); + let __t55 = v_V4463.clone(); + let __t56 = v_V4464.clone(); rt::apply_direct( interp, "is!", @@ -237,7 +237,7 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( }; { let __t61 = { - let __t59 = v_W4451.clone(); + let __t59 = v_W4465.clone(); let __t60 = Value::bool(false); rt::eq(&__t59, &__t60) }; @@ -247,7 +247,7 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( } { { let __t63 = { - let __t62 = v_V4448.clone(); + let __t62 = v_V4462.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t62])? }; if match rt::is_truthy(interp, &__t63) { @@ -255,14 +255,14 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( Err(e) => break Err(e), } { { - let v_W4453 = { - let __t64 = v_V4444.clone(); - let __t65 = v_V4447.clone(); + let v_W4467 = { + let __t64 = v_V4458.clone(); + let __t65 = v_V4461.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t64, __t65])? }; { let __t67 = { - let __t66 = v_W4453.clone(); + let __t66 = v_W4467.clone(); rt::is_cons(&__t66) }; if match rt::is_truthy(interp, &__t67) { @@ -270,18 +270,18 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( Err(e) => break Err(e), } { { - let v_W4454 = { - let __t68 = v_W4453.clone(); + let v_W4468 = { + let __t68 = v_W4467.clone(); rt::hd(&__t68)? }; { - let v_W4455 = { - let __t69 = v_W4453.clone(); + let v_W4469 = { + let __t69 = v_W4467.clone(); rt::tl(&__t69)? }; { - let v_W4456 = { - let __t70 = v_V4447.clone(); + let v_W4470 = { + let __t70 = v_V4461.clone(); rt::apply_direct( interp, "shen.newpv", @@ -289,7 +289,7 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( )? }; break Ok({ - let __t71 = v_V4447.clone(); + let __t71 = v_V4461.clone(); let __t84 = { let _ = { rt::apply_direct( @@ -299,30 +299,30 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( )? }; { - let __t72 = v_W4455.clone(); + let __t72 = v_W4469.clone(); let __t78 = { let __t75 = { - let __t73 = v_W4456.clone(); - let __t74 = v_V4447.clone(); + let __t73 = v_W4470.clone(); + let __t74 = v_V4461.clone(); rt::apply_direct( interp, "shen.deref", &[__t73, __t74], )? }; - let __t76 = v_W4454.clone(); - let __t77 = v_V4445.clone(); + let __t76 = v_W4468.clone(); + let __t77 = v_V4459.clone(); rt::apply_direct( interp, "subst", &[__t75, __t76, __t77], )? }; - let __t79 = v_V4446.clone(); - let __t80 = v_V4447.clone(); - let __t81 = v_V4448.clone(); - let __t82 = v_V4449.clone(); - let __t83 = v_V4450.clone(); + let __t79 = v_V4460.clone(); + let __t80 = v_V4461.clone(); + let __t81 = v_V4462.clone(); + let __t82 = v_V4463.clone(); + let __t83 = v_V4464.clone(); rt::apply_direct( interp, "shen.insert-prolog-variables", @@ -352,7 +352,7 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( } } } else { - break Ok(v_W4451.clone()); + break Ok(v_W4465.clone()); } } } @@ -380,51 +380,51 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V4457 = args[0].clone(); + let mut v_V4471 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4458 = args[1].clone(); + let mut v_V4472 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4459 = args[2].clone(); + let mut v_V4473 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4460 = args[3].clone(); + let mut v_V4474 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4461 = args[4].clone(); + let mut v_V4475 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4462 = args[5].clone(); + let mut v_V4476 = args[5].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4463 = { - let __t85 = v_V4461.clone(); + let v_W4477 = { + let __t85 = v_V4475.clone(); let __t86 = Value::int(1i64); rt::add(&__t85, &__t86)? }; { - let v_W4464 = { + let v_W4478 = { let __t131 = { - let __t87 = v_V4460.clone(); + let __t87 = v_V4474.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t87])? }; if rt::is_truthy(interp, &__t131)? { { - let v_W4465 = { - let __t88 = v_V4457.clone(); - let __t89 = v_V4459.clone(); + let v_W4479 = { + let __t88 = v_V4471.clone(); + let __t89 = v_V4473.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t88, __t89])? }; { let __t130 = { - let __t90 = v_W4465.clone(); + let __t90 = v_W4479.clone(); rt::is_cons(&__t90) }; if rt::is_truthy(interp, &__t130)? { { - let v_W4466 = { + let v_W4480 = { let __t92 = { - let __t91 = v_W4465.clone(); + let __t91 = v_W4479.clone(); rt::hd(&__t91)? }; - let __t93 = v_V4459.clone(); + let __t93 = v_V4473.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -433,18 +433,18 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S }; { let __t129 = { - let __t94 = v_W4466.clone(); + let __t94 = v_W4480.clone(); let __t95 = Value::sym(interp.intern("define")); rt::eq(&__t94, &__t95) }; if rt::is_truthy(interp, &__t129)? { { - let v_W4467 = { + let v_W4481 = { let __t97 = { - let __t96 = v_W4465.clone(); + let __t96 = v_W4479.clone(); rt::tl(&__t96)? }; - let __t98 = v_V4459.clone(); + let __t98 = v_V4473.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -453,19 +453,19 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S }; { let __t128 = { - let __t99 = v_W4467.clone(); + let __t99 = v_W4481.clone(); rt::is_cons(&__t99) }; if rt::is_truthy(interp, &__t128)? { { - let v_W4468 = { - let __t100 = v_W4467.clone(); + let v_W4482 = { + let __t100 = v_W4481.clone(); rt::hd(&__t100)? }; { - let v_W4469 = { + let v_W4483 = { let __t101 = - v_W4467.clone(); + v_W4481.clone(); rt::tl(&__t101)? }; { @@ -481,27 +481,27 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S rt::apply_direct(interp, "shen.type-theory-enabled?", &[])? }; let __t103 = - v_V4459.clone(); + v_V4473.clone(); let __t104 = - v_V4460.clone(); + v_V4474.clone(); let __t105 = - v_W4463.clone(); + v_W4477.clone(); let __t127 = { - let v_V4458 = - v_V4458.clone(); - let v_V4459 = - v_V4459.clone(); - let v_V4460 = - v_V4460.clone(); - let v_V4462 = - v_V4462.clone(); - let v_W4463 = - v_W4463.clone(); - let v_W4468 = - v_W4468.clone(); - let v_W4469 = - v_W4469.clone(); - rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t106 = v_V4459.clone(); let __t107 = v_V4460.clone(); let __t108 = v_W4463.clone(); let __t126 = { let v_V4458 = v_V4458.clone(); let v_V4459 = v_V4459.clone(); let v_V4460 = v_V4460.clone(); let v_V4462 = v_V4462.clone(); let v_W4463 = v_W4463.clone(); let v_W4468 = v_W4468.clone(); let v_W4469 = v_W4469.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t110 = { let __t109 = Value::sym(interp.intern("shen.*spy*")); rt::apply_direct(interp, "value", &[__t109])? }; let __t111 = v_W4468.clone(); let __t112 = v_V4459.clone(); let __t113 = v_V4460.clone(); let __t114 = v_W4463.clone(); let __t125 = { let v_V4458 = v_V4458.clone(); let v_V4459 = v_V4459.clone(); let v_V4460 = v_V4460.clone(); let v_V4462 = v_V4462.clone(); let v_W4463 = v_W4463.clone(); let v_W4468 = v_W4468.clone(); let v_W4469 = v_W4469.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t119 = { let __t115 = Value::sym(interp.intern("define")); let __t118 = { let __t116 = v_W4468.clone(); let __t117 = v_W4469.clone(); rt::cons(&__t116, &__t117) }; rt::cons(&__t115, &__t118) }; let __t120 = v_V4458.clone(); let __t121 = v_V4459.clone(); let __t122 = v_V4460.clone(); let __t123 = v_W4463.clone(); let __t124 = v_V4462.clone(); rt::apply_direct(interp, "shen.t*", &[__t119, __t120, __t121, __t122, __t123, __t124])? }), vec![v_V4458, v_V4459, v_V4460, v_V4462, v_W4463, v_W4468, v_W4469], interp) }; rt::apply_direct(interp, "shen.signal-def", &[__t110, __t111, __t112, __t113, __t114, __t125])? }), vec![v_V4458, v_V4459, v_V4460, v_V4462, v_W4463, v_W4468, v_W4469], interp) }; rt::apply_direct(interp, "shen.cut", &[__t106, __t107, __t108, __t126])? }), vec![v_V4458, v_V4459, v_V4460, v_V4462, v_W4463, v_W4468, v_W4469], interp) + let v_V4472 = + v_V4472.clone(); + let v_V4473 = + v_V4473.clone(); + let v_V4474 = + v_V4474.clone(); + let v_V4476 = + v_V4476.clone(); + let v_W4477 = + v_W4477.clone(); + let v_W4482 = + v_W4482.clone(); + let v_W4483 = + v_W4483.clone(); + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t106 = v_V4473.clone(); let __t107 = v_V4474.clone(); let __t108 = v_W4477.clone(); let __t126 = { let v_V4472 = v_V4472.clone(); let v_V4473 = v_V4473.clone(); let v_V4474 = v_V4474.clone(); let v_V4476 = v_V4476.clone(); let v_W4477 = v_W4477.clone(); let v_W4482 = v_W4482.clone(); let v_W4483 = v_W4483.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t110 = { let __t109 = Value::sym(interp.intern("shen.*spy*")); rt::apply_direct(interp, "value", &[__t109])? }; let __t111 = v_W4482.clone(); let __t112 = v_V4473.clone(); let __t113 = v_V4474.clone(); let __t114 = v_W4477.clone(); let __t125 = { let v_V4472 = v_V4472.clone(); let v_V4473 = v_V4473.clone(); let v_V4474 = v_V4474.clone(); let v_V4476 = v_V4476.clone(); let v_W4477 = v_W4477.clone(); let v_W4482 = v_W4482.clone(); let v_W4483 = v_W4483.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t119 = { let __t115 = Value::sym(interp.intern("define")); let __t118 = { let __t116 = v_W4482.clone(); let __t117 = v_W4483.clone(); rt::cons(&__t116, &__t117) }; rt::cons(&__t115, &__t118) }; let __t120 = v_V4472.clone(); let __t121 = v_V4473.clone(); let __t122 = v_V4474.clone(); let __t123 = v_W4477.clone(); let __t124 = v_V4476.clone(); rt::apply_direct(interp, "shen.t*", &[__t119, __t120, __t121, __t122, __t123, __t124])? }), vec![v_V4472, v_V4473, v_V4474, v_V4476, v_W4477, v_W4482, v_W4483], interp) }; rt::apply_direct(interp, "shen.signal-def", &[__t110, __t111, __t112, __t113, __t114, __t125])? }), vec![v_V4472, v_V4473, v_V4474, v_V4476, v_W4477, v_W4482, v_W4483], interp) }; rt::apply_direct(interp, "shen.cut", &[__t106, __t107, __t108, __t126])? }), vec![v_V4472, v_V4473, v_V4474, v_V4476, v_W4477, v_W4482, v_W4483], interp) }; rt::apply_direct( interp, @@ -537,7 +537,7 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S }; { let __t134 = { - let __t132 = v_W4464.clone(); + let __t132 = v_W4478.clone(); let __t133 = Value::bool(false); rt::eq(&__t132, &__t133) }; @@ -546,9 +546,9 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W4470 = { + let v_W4484 = { let __t149 = { - let __t135 = v_V4460.clone(); + let __t135 = v_V4474.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t135])? }; if rt::is_truthy(interp, &__t149)? { @@ -556,7 +556,7 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t143 = { - let __t136 = v_V4457.clone(); + let __t136 = v_V4471.clone(); let __t142 = { let __t138 = { let __t137 = Value::str(":"); @@ -567,7 +567,7 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S )? }; let __t141 = { - let __t139 = v_V4458.clone(); + let __t139 = v_V4472.clone(); let __t140 = Value::nil(); rt::cons(&__t139, &__t140) }; @@ -576,10 +576,10 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S rt::cons(&__t136, &__t142) }; let __t144 = Value::nil(); - let __t145 = v_V4459.clone(); - let __t146 = v_V4460.clone(); - let __t147 = v_W4463.clone(); - let __t148 = v_V4462.clone(); + let __t145 = v_V4473.clone(); + let __t146 = v_V4474.clone(); + let __t147 = v_W4477.clone(); + let __t148 = v_V4476.clone(); rt::apply_direct( interp, "shen.system-S", @@ -593,7 +593,7 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S }; { let __t152 = { - let __t150 = v_W4470.clone(); + let __t150 = v_W4484.clone(); let __t151 = Value::bool(false); rt::eq(&__t150, &__t151) }; @@ -602,17 +602,17 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { break Ok({ - let __t153 = v_V4460.clone(); - let __t154 = v_W4463.clone(); + let __t153 = v_V4474.clone(); + let __t154 = v_W4477.clone(); rt::apply_direct(interp, "shen.unlock", &[__t153, __t154])? }); } else { - break Ok(v_W4470.clone()); + break Ok(v_W4484.clone()); } } } } else { - break Ok(v_W4464.clone()); + break Ok(v_W4478.clone()); } } } @@ -634,42 +634,42 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V4471 = args[0].clone(); + let mut v_V4485 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4472 = args[1].clone(); + let mut v_V4486 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4473 = args[2].clone(); + let mut v_V4487 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4474 = args[3].clone(); + let mut v_V4488 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4475 = args[4].clone(); + let mut v_V4489 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4476 = args[5].clone(); + let mut v_V4490 = args[5].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4477 = { + let v_W4491 = { let __t161 = { - let __t155 = v_V4474.clone(); + let __t155 = v_V4488.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t155])? }; if rt::is_truthy(interp, &__t161)? { { - let v_W4478 = { - let __t156 = v_V4471.clone(); - let __t157 = v_V4473.clone(); + let v_W4492 = { + let __t156 = v_V4485.clone(); + let __t157 = v_V4487.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t156, __t157])? }; { let __t160 = { - let __t158 = v_W4478.clone(); + let __t158 = v_W4492.clone(); let __t159 = Value::bool(false); rt::eq(&__t158, &__t159) }; if rt::is_truthy(interp, &__t160)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; - rt::apply_value(interp, v_V4476.clone(), &[])? + rt::apply_value(interp, v_V4490.clone(), &[])? } } else { Value::bool(false) @@ -682,7 +682,7 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR }; { let __t164 = { - let __t162 = v_W4477.clone(); + let __t162 = v_W4491.clone(); let __t163 = Value::bool(false); rt::eq(&__t162, &__t163) }; @@ -692,7 +692,7 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR } { { let __t166 = { - let __t165 = v_V4474.clone(); + let __t165 = v_V4488.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t165])? }; if match rt::is_truthy(interp, &__t166) { @@ -700,14 +700,14 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W4479 = { - let __t167 = v_V4471.clone(); - let __t168 = v_V4473.clone(); + let v_W4493 = { + let __t167 = v_V4485.clone(); + let __t168 = v_V4487.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t167, __t168])? }; { let __t171 = { - let __t169 = v_W4479.clone(); + let __t169 = v_W4493.clone(); let __t170 = Value::bool(true); rt::eq(&__t169, &__t170) }; @@ -716,12 +716,12 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR Err(e) => break Err(e), } { { - let v_W4480 = { - let __t172 = v_V4473.clone(); + let v_W4494 = { + let __t172 = v_V4487.clone(); rt::apply_direct(interp, "shen.newpv", &[__t172])? }; break Ok({ - let __t173 = v_V4473.clone(); + let __t173 = v_V4487.clone(); let __t189 = { let _ = { rt::apply_direct( @@ -731,7 +731,7 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let __t174 = v_W4480.clone(); + let __t174 = v_W4494.clone(); let __t184 = { let __t182 = { let __t175 = Value::str( @@ -740,9 +740,9 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR let __t181 = { let __t178 = { let __t176 = - v_V4472.clone(); + v_V4486.clone(); let __t177 = - v_V4473.clone(); + v_V4487.clone(); rt::apply_direct( interp, "shen.deref", @@ -778,10 +778,10 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR &[__t182, __t183], )? }; - let __t185 = v_V4473.clone(); - let __t186 = v_V4474.clone(); - let __t187 = v_V4475.clone(); - let __t188 = v_V4476.clone(); + let __t185 = v_V4487.clone(); + let __t186 = v_V4488.clone(); + let __t187 = v_V4489.clone(); + let __t188 = v_V4490.clone(); rt::apply_direct( interp, "is", @@ -809,7 +809,7 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR } } } else { - break Ok(v_W4477.clone()); + break Ok(v_W4491.clone()); } } } @@ -830,12 +830,12 @@ pub fn aot_shen_x2e_rectify_x2d_type(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V4481 = args[0].clone(); + let mut v_V4495 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t191 = { - let __t190 = v_V4481.clone(); + let __t190 = v_V4495.clone(); rt::apply_direct(interp, "shen.curry-type", &[__t190])? }; rt::apply_direct(interp, "shen.demodulate", &[__t191])? @@ -857,21 +857,21 @@ pub fn aot_shen_x2e_demodulate(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V4482 = args[0].clone(); + let mut v_V4496 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ - let v_W4483 = { + let v_W4497 = { let __t193 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z4484 = args[0].clone(); + let v_Z4498 = args[0].clone(); Ok({ - let __t192 = v_Z4484.clone(); + let __t192 = v_Z4498.clone(); rt::apply_direct(interp, "shen.demod", &[__t192])? }) }, @@ -879,20 +879,20 @@ pub fn aot_shen_x2e_demodulate(interp: &mut Interp, args: &[Value]) -> ShenResul interp, ) }; - let __t194 = v_V4482.clone(); + let __t194 = v_V4496.clone(); rt::apply_direct(interp, "shen.walk", &[__t193, __t194])? }; { let __t198 = { - let __t195 = v_W4483.clone(); - let __t196 = v_V4482.clone(); + let __t195 = v_W4497.clone(); + let __t196 = v_V4496.clone(); rt::eq(&__t195, &__t196) }; if rt::is_truthy(interp, &__t198)? { - v_V4482.clone() + v_V4496.clone() } else { { - let __t197 = v_W4483.clone(); + let __t197 = v_W4497.clone(); rt::apply_direct(interp, "shen.demodulate", &[__t197])? } } @@ -902,15 +902,15 @@ pub fn aot_shen_x2e_demodulate(interp: &mut Interp, args: &[Value]) -> ShenResul Ok(v) => v, Err(e) => { let __h = { - let v_V4482 = v_V4482.clone(); + let v_V4496 = v_V4496.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z4485 = args[0].clone(); - Ok(v_V4482.clone()) + let v_Z4499 = args[0].clone(); + Ok(v_V4496.clone()) }, - vec![v_V4482], + vec![v_V4496], interp, ) }; @@ -936,13 +936,13 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V4486 = args[0].clone(); + let mut v_V4500 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t347 = { let __t335 = { - let __t307 = v_V4486.clone(); + let __t307 = v_V4500.clone(); rt::is_cons(&__t307) }; if !rt::is_truthy(interp, &__t335)? { @@ -951,7 +951,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t336 = { let __t333 = { let __t309 = { - let __t308 = v_V4486.clone(); + let __t308 = v_V4500.clone(); rt::tl(&__t308)? }; rt::is_cons(&__t309) @@ -964,7 +964,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t310 = Value::sym(interp.intern("-->")); let __t313 = { let __t312 = { - let __t311 = v_V4486.clone(); + let __t311 = v_V4500.clone(); rt::tl(&__t311)? }; rt::hd(&__t312)? @@ -978,7 +978,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t329 = { let __t316 = { let __t315 = { - let __t314 = v_V4486.clone(); + let __t314 = v_V4500.clone(); rt::tl(&__t314)? }; rt::tl(&__t315)? @@ -993,7 +993,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t320 = { let __t319 = { let __t318 = { - let __t317 = v_V4486.clone(); + let __t317 = v_V4500.clone(); rt::tl(&__t317)? }; rt::tl(&__t318)? @@ -1013,7 +1013,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t324 = { let __t323 = { let __t322 = - v_V4486.clone(); + v_V4500.clone(); rt::tl(&__t322)? }; rt::tl(&__t323)? @@ -1046,7 +1046,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR { let __t346 = { let __t338 = { - let __t337 = v_V4486.clone(); + let __t337 = v_V4500.clone(); rt::hd(&__t337)? }; let __t345 = { @@ -1054,7 +1054,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t344 = { let __t342 = { let __t341 = { - let __t340 = v_V4486.clone(); + let __t340 = v_V4500.clone(); rt::tl(&__t340)? }; rt::tl(&__t341)? @@ -1066,14 +1066,14 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR }; rt::cons(&__t338, &__t345) }; - v_V4486 = __t346; + v_V4500 = __t346; continue; } } else { { let __t306 = { let __t289 = { - let __t246 = v_V4486.clone(); + let __t246 = v_V4500.clone(); rt::is_cons(&__t246) }; if !rt::is_truthy(interp, &__t289)? { @@ -1082,7 +1082,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t290 = { let __t287 = { let __t248 = { - let __t247 = v_V4486.clone(); + let __t247 = v_V4500.clone(); rt::hd(&__t247)? }; rt::is_cons(&__t248) @@ -1095,7 +1095,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t249 = Value::sym(interp.intern("list")); let __t252 = { let __t251 = { - let __t250 = v_V4486.clone(); + let __t250 = v_V4500.clone(); rt::hd(&__t250)? }; rt::hd(&__t251)? @@ -1109,7 +1109,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t283 = { let __t255 = { let __t254 = { - let __t253 = v_V4486.clone(); + let __t253 = v_V4500.clone(); rt::hd(&__t253)? }; rt::tl(&__t254)? @@ -1126,7 +1126,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t259 = { let __t258 = { let __t257 = - v_V4486.clone(); + v_V4500.clone(); rt::hd(&__t257)? }; rt::tl(&__t258)? @@ -1142,7 +1142,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t279 = { let __t262 = { let __t261 = - v_V4486.clone(); + v_V4500.clone(); rt::tl(&__t261)? }; rt::is_cons(&__t262) @@ -1160,7 +1160,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t266 = { let __t265 = { let __t264 = - v_V4486 + v_V4500 .clone( ); rt::tl(&__t264)? @@ -1178,7 +1178,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t275 = { let __t269 = { let __t268 = { - let __t267 = v_V4486.clone(); + let __t267 = v_V4500.clone(); rt::tl(&__t267)? }; rt::tl( @@ -1200,7 +1200,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t270 = Value::nil(); let __t274 = { let __t273 = { - let __t272 = { let __t271 = v_V4486.clone(); rt::tl(&__t271)? }; + let __t272 = { let __t271 = v_V4500.clone(); rt::tl(&__t271)? }; rt::tl(&__t272)? }; rt::tl(&__t273)? @@ -1249,7 +1249,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR { let __t305 = { let __t292 = { - let __t291 = v_V4486.clone(); + let __t291 = v_V4500.clone(); rt::hd(&__t291)? }; let __t304 = { @@ -1259,12 +1259,12 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t294 = Value::sym(interp.intern("str")); let __t300 = { let __t296 = { - let __t295 = v_V4486.clone(); + let __t295 = v_V4500.clone(); rt::hd(&__t295)? }; let __t299 = { let __t298 = { - let __t297 = v_V4486.clone(); + let __t297 = v_V4500.clone(); rt::tl(&__t297)? }; rt::tl(&__t298)? @@ -1280,14 +1280,14 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR }; rt::cons(&__t292, &__t304) }; - v_V4486 = __t305; + v_V4500 = __t305; continue; } } else { { let __t245 = { let __t233 = { - let __t205 = v_V4486.clone(); + let __t205 = v_V4500.clone(); rt::is_cons(&__t205) }; if !rt::is_truthy(interp, &__t233)? { @@ -1296,7 +1296,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t234 = { let __t231 = { let __t207 = { - let __t206 = v_V4486.clone(); + let __t206 = v_V4500.clone(); rt::tl(&__t206)? }; rt::is_cons(&__t207) @@ -1309,7 +1309,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t208 = Value::sym(interp.intern("*")); let __t211 = { let __t210 = { - let __t209 = v_V4486.clone(); + let __t209 = v_V4500.clone(); rt::tl(&__t209)? }; rt::hd(&__t210)? @@ -1323,7 +1323,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t227 = { let __t214 = { let __t213 = { - let __t212 = v_V4486.clone(); + let __t212 = v_V4500.clone(); rt::tl(&__t212)? }; rt::tl(&__t213)? @@ -1339,7 +1339,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t217 = { let __t216 = { let __t215 = - v_V4486.clone(); + v_V4500.clone(); rt::tl(&__t215)? }; rt::tl(&__t216)? @@ -1360,7 +1360,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t223 = { let __t222 = { let __t221 = { - let __t220 = v_V4486.clone(); + let __t220 = v_V4500.clone(); rt::tl( &__t220, )? @@ -1399,7 +1399,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR { let __t244 = { let __t236 = { - let __t235 = v_V4486.clone(); + let __t235 = v_V4500.clone(); rt::hd(&__t235)? }; let __t243 = { @@ -1407,7 +1407,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR let __t242 = { let __t240 = { let __t239 = { - let __t238 = v_V4486.clone(); + let __t238 = v_V4500.clone(); rt::tl(&__t238)? }; rt::tl(&__t239)? @@ -1419,13 +1419,13 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR }; rt::cons(&__t236, &__t243) }; - v_V4486 = __t244; + v_V4500 = __t244; continue; } } else { { let __t204 = { - let __t200 = v_V4486.clone(); + let __t200 = v_V4500.clone(); rt::is_cons(&__t200) }; if match rt::is_truthy(interp, &__t204) { @@ -1438,9 +1438,9 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR "", 1, move |interp, args| { - let v_Z4487 = args[0].clone(); + let v_Z4501 = args[0].clone(); Ok({ - let __t201 = v_Z4487.clone(); + let __t201 = v_Z4501.clone(); rt::apply_direct( interp, "shen.curry-type", @@ -1452,7 +1452,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR interp, ) }; - let __t203 = v_V4486.clone(); + let __t203 = v_V4500.clone(); rt::apply_direct(interp, "map", &[__t202, __t203])? }); } else { @@ -1462,7 +1462,7 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V4486.clone()); + break Ok(v_V4500.clone()); } else { break Err(ShenError::new( "cond: no clause matched", @@ -1494,13 +1494,13 @@ pub fn aot_shen_x2e_curry(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V4488.clone()); + break Ok(v_V4502.clone()); } else { { let __t443 = { let __t432 = { - let __t412 = v_V4488.clone(); + let __t412 = v_V4502.clone(); rt::is_cons(&__t412) }; if !rt::is_truthy(interp, &__t432)? { @@ -1550,7 +1550,7 @@ pub fn aot_shen_x2e_curry(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult", 1, move |interp, args| { - let v_Z4489 = args[0].clone(); + let v_Z4503 = args[0].clone(); Ok({ - let __t406 = v_Z4489.clone(); + let __t406 = v_Z4503.clone(); rt::apply_direct( interp, "shen.curry", @@ -1687,7 +1687,7 @@ pub fn aot_shen_x2e_curry(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V4488.clone()); + break Ok(v_V4502.clone()); } else { { let __t392 = { let __t378 = { - let __t370 = v_V4488.clone(); + let __t370 = v_V4502.clone(); rt::is_cons(&__t370) }; if !rt::is_truthy(interp, &__t378)? { @@ -1736,7 +1736,7 @@ pub fn aot_shen_x2e_curry(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V4488.clone()); + break Ok(v_V4502.clone()); } else { break Err(ShenError::new( "cond: no clause matched", @@ -1926,11 +1926,11 @@ pub fn aot_shen_x2e_special_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V4490 = args[0].clone(); + let mut v_V4504 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t455 = v_V4490.clone(); + let __t455 = v_V4504.clone(); let __t457 = { let __t456 = Value::sym(interp.intern("shen.*special*")); rt::apply_direct(interp, "value", &[__t456])? @@ -1954,11 +1954,11 @@ pub fn aot_shen_x2e_extraspecial_x3f_(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V4491 = args[0].clone(); + let mut v_V4505 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t458 = v_V4491.clone(); + let __t458 = v_V4505.clone(); let __t460 = { let __t459 = Value::sym(interp.intern("shen.*extraspecial*")); rt::apply_direct(interp, "value", &[__t459])? @@ -1982,29 +1982,29 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V4492 = args[0].clone(); + let mut v_V4506 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4493 = args[1].clone(); + let mut v_V4507 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4494 = args[2].clone(); + let mut v_V4508 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4495 = args[3].clone(); + let mut v_V4509 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4496 = args[4].clone(); + let mut v_V4510 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4497 = args[5].clone(); + let mut v_V4511 = args[5].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4498 = { - let __t461 = v_V4496.clone(); + let v_W4512 = { + let __t461 = v_V4510.clone(); let __t462 = Value::int(1i64); rt::add(&__t461, &__t462)? }; { - let v_W4499 = { + let v_W4513 = { let __t469 = { - let __t463 = v_V4495.clone(); + let __t463 = v_V4509.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t463])? }; if rt::is_truthy(interp, &__t469)? { @@ -2013,10 +2013,10 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t464 = { rt::apply_direct(interp, "shen.maxinfexceeded?", &[])? }; - let __t465 = v_V4494.clone(); - let __t466 = v_V4495.clone(); - let __t467 = v_W4498.clone(); - let __t468 = v_V4497.clone(); + let __t465 = v_V4508.clone(); + let __t466 = v_V4509.clone(); + let __t467 = v_W4512.clone(); + let __t468 = v_V4511.clone(); rt::apply_direct( interp, "when", @@ -2030,7 +2030,7 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes }; { let __t472 = { - let __t470 = v_W4499.clone(); + let __t470 = v_W4513.clone(); let __t471 = Value::bool(false); rt::eq(&__t470, &__t471) }; @@ -2039,16 +2039,16 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { { - let v_W4500 = { + let v_W4514 = { let __t523 = { - let __t473 = v_V4495.clone(); + let __t473 = v_V4509.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t473])? }; if rt::is_truthy(interp, &__t523)? { { - let v_W4501 = { - let __t474 = v_V4492.clone(); - let __t475 = v_V4494.clone(); + let v_W4515 = { + let __t474 = v_V4506.clone(); + let __t475 = v_V4508.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -2057,22 +2057,22 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes }; { let __t522 = { - let __t476 = v_W4501.clone(); + let __t476 = v_W4515.clone(); rt::is_cons(&__t476) }; if rt::is_truthy(interp, &__t522)? { { - let v_W4502 = { - let __t477 = v_W4501.clone(); + let v_W4516 = { + let __t477 = v_W4515.clone(); rt::hd(&__t477)? }; { - let v_W4503 = { + let v_W4517 = { let __t479 = { - let __t478 = v_W4501.clone(); + let __t478 = v_W4515.clone(); rt::tl(&__t478)? }; - let __t480 = v_V4494.clone(); + let __t480 = v_V4508.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -2081,25 +2081,25 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes }; { let __t521 = { - let __t481 = v_W4503.clone(); + let __t481 = v_W4517.clone(); rt::is_cons(&__t481) }; if rt::is_truthy(interp, &__t521)? { { - let v_W4504 = { + let v_W4518 = { let __t482 = - v_W4503.clone(); + v_W4517.clone(); rt::hd(&__t482)? }; { - let v_W4505 = { + let v_W4519 = { let __t484 = { let __t483 = - v_W4503.clone(); + v_W4517.clone(); rt::tl(&__t483)? }; let __t485 = - v_V4494.clone(); + v_V4508.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -2109,35 +2109,35 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t520 = { let __t486 = - v_W4505.clone(); + v_W4519.clone(); rt::is_cons(&__t486) }; if rt::is_truthy( interp, &__t520, )? { { - let v_W4506 = { - let __t487 = v_W4505.clone(); + let v_W4520 = { + let __t487 = v_W4519.clone(); rt::hd( &__t487, )? }; { - let v_W4507 = { + let v_W4521 = { let __t489 = { - let __t488 = v_W4505.clone(); + let __t488 = v_W4519.clone(); rt::tl(&__t488)? }; - let __t490 = v_V4494.clone(); + let __t490 = v_V4508.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t489, __t490])? }; { let __t519 = { - let __t491 = v_W4507.clone(); + let __t491 = v_W4521.clone(); let __t492 = Value::nil(); rt::eq(&__t491, &__t492) }; - if rt::is_truthy(interp, &__t519)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t498 = { let __t495 = { let __t493 = v_W4504.clone(); let __t494 = v_V4494.clone(); rt::apply_direct(interp, "shen.deref", &[__t493, __t494])? }; let __t497 = { let __t496 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t496])? }; rt::eq(&__t495, &__t497) }; let __t499 = v_V4494.clone(); let __t500 = v_V4495.clone(); let __t501 = v_W4498.clone(); let __t518 = { let v_V4493 = v_V4493.clone(); let v_V4494 = v_V4494.clone(); let v_V4495 = v_V4495.clone(); let v_V4497 = v_V4497.clone(); let v_W4498 = v_W4498.clone(); let v_W4502 = v_W4502.clone(); let v_W4506 = v_W4506.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t502 = { rt::apply_direct(interp, "shen.type-theory-enabled?", &[])? }; let __t503 = v_V4494.clone(); let __t504 = v_V4495.clone(); let __t505 = v_W4498.clone(); let __t517 = { let v_V4493 = v_V4493.clone(); let v_V4494 = v_V4494.clone(); let v_V4495 = v_V4495.clone(); let v_V4497 = v_V4497.clone(); let v_W4498 = v_W4498.clone(); let v_W4502 = v_W4502.clone(); let v_W4506 = v_W4506.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t506 = v_V4494.clone(); let __t507 = v_V4495.clone(); let __t508 = v_W4498.clone(); let __t516 = { let v_V4493 = v_V4493.clone(); let v_V4494 = v_V4494.clone(); let v_V4495 = v_V4495.clone(); let v_V4497 = v_V4497.clone(); let v_W4498 = v_W4498.clone(); let v_W4502 = v_W4502.clone(); let v_W4506 = v_W4506.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t509 = v_W4502.clone(); let __t510 = v_W4506.clone(); let __t511 = v_V4493.clone(); let __t512 = v_V4494.clone(); let __t513 = v_V4495.clone(); let __t514 = v_W4498.clone(); let __t515 = v_V4497.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t509, __t510, __t511, __t512, __t513, __t514, __t515])? }), vec![v_V4493, v_V4494, v_V4495, v_V4497, v_W4498, v_W4502, v_W4506], interp) }; rt::apply_direct(interp, "shen.cut", &[__t506, __t507, __t508, __t516])? }), vec![v_V4493, v_V4494, v_V4495, v_V4497, v_W4498, v_W4502, v_W4506], interp) }; rt::apply_direct(interp, "when", &[__t502, __t503, __t504, __t505, __t517])? }), vec![v_V4493, v_V4494, v_V4495, v_V4497, v_W4498, v_W4502, v_W4506], interp) }; rt::apply_direct(interp, "when", &[__t498, __t499, __t500, __t501, __t518])? } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t519)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t498 = { let __t495 = { let __t493 = v_W4518.clone(); let __t494 = v_V4508.clone(); rt::apply_direct(interp, "shen.deref", &[__t493, __t494])? }; let __t497 = { let __t496 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t496])? }; rt::eq(&__t495, &__t497) }; let __t499 = v_V4508.clone(); let __t500 = v_V4509.clone(); let __t501 = v_W4512.clone(); let __t518 = { let v_V4507 = v_V4507.clone(); let v_V4508 = v_V4508.clone(); let v_V4509 = v_V4509.clone(); let v_V4511 = v_V4511.clone(); let v_W4512 = v_W4512.clone(); let v_W4516 = v_W4516.clone(); let v_W4520 = v_W4520.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t502 = { rt::apply_direct(interp, "shen.type-theory-enabled?", &[])? }; let __t503 = v_V4508.clone(); let __t504 = v_V4509.clone(); let __t505 = v_W4512.clone(); let __t517 = { let v_V4507 = v_V4507.clone(); let v_V4508 = v_V4508.clone(); let v_V4509 = v_V4509.clone(); let v_V4511 = v_V4511.clone(); let v_W4512 = v_W4512.clone(); let v_W4516 = v_W4516.clone(); let v_W4520 = v_W4520.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t506 = v_V4508.clone(); let __t507 = v_V4509.clone(); let __t508 = v_W4512.clone(); let __t516 = { let v_V4507 = v_V4507.clone(); let v_V4508 = v_V4508.clone(); let v_V4509 = v_V4509.clone(); let v_V4511 = v_V4511.clone(); let v_W4512 = v_W4512.clone(); let v_W4516 = v_W4516.clone(); let v_W4520 = v_W4520.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t509 = v_W4516.clone(); let __t510 = v_W4520.clone(); let __t511 = v_V4507.clone(); let __t512 = v_V4508.clone(); let __t513 = v_V4509.clone(); let __t514 = v_W4512.clone(); let __t515 = v_V4511.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t509, __t510, __t511, __t512, __t513, __t514, __t515])? }), vec![v_V4507, v_V4508, v_V4509, v_V4511, v_W4512, v_W4516, v_W4520], interp) }; rt::apply_direct(interp, "shen.cut", &[__t506, __t507, __t508, __t516])? }), vec![v_V4507, v_V4508, v_V4509, v_V4511, v_W4512, v_W4516, v_W4520], interp) }; rt::apply_direct(interp, "when", &[__t502, __t503, __t504, __t505, __t517])? }), vec![v_V4507, v_V4508, v_V4509, v_V4511, v_W4512, v_W4516, v_W4520], interp) }; rt::apply_direct(interp, "when", &[__t498, __t499, __t500, __t501, __t518])? } } } else { Value::bool(false) } } } } @@ -2164,7 +2164,7 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes }; { let __t526 = { - let __t524 = v_W4500.clone(); + let __t524 = v_W4514.clone(); let __t525 = Value::bool(false); rt::eq(&__t524, &__t525) }; @@ -2173,9 +2173,9 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { { - let v_W4508 = { + let v_W4522 = { let __t540 = { - let __t527 = v_V4495.clone(); + let __t527 = v_V4509.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -2202,33 +2202,33 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes &[__t528], )? }; - let __t530 = v_V4494.clone(); - let __t531 = v_V4495.clone(); - let __t532 = v_W4498.clone(); + let __t530 = v_V4508.clone(); + let __t531 = v_V4509.clone(); + let __t532 = v_W4512.clone(); let __t539 = { - let v_V4492 = v_V4492.clone(); - let v_V4493 = v_V4493.clone(); - let v_V4494 = v_V4494.clone(); - let v_V4495 = v_V4495.clone(); - let v_V4497 = v_V4497.clone(); - let v_W4498 = v_W4498.clone(); + let v_V4506 = v_V4506.clone(); + let v_V4507 = v_V4507.clone(); + let v_V4508 = v_V4508.clone(); + let v_V4509 = v_V4509.clone(); + let v_V4511 = v_V4511.clone(); + let v_W4512 = v_W4512.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ let __t533 = - v_V4492.clone(); + v_V4506.clone(); let __t534 = - v_V4493.clone(); + v_V4507.clone(); let __t535 = - v_V4494.clone(); + v_V4508.clone(); let __t536 = - v_V4495.clone(); + v_V4509.clone(); let __t537 = - v_W4498.clone(); + v_W4512.clone(); let __t538 = - v_V4497.clone(); + v_V4511.clone(); rt::apply_direct( interp, "shen.show", @@ -2241,8 +2241,8 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes }) }, vec![ - v_V4492, v_V4493, v_V4494, - v_V4495, v_V4497, v_W4498, + v_V4506, v_V4507, v_V4508, + v_V4509, v_V4511, v_W4512, ], interp, ) @@ -2263,7 +2263,7 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes }; { let __t543 = { - let __t541 = v_W4508.clone(); + let __t541 = v_W4522.clone(); let __t542 = Value::bool(false); rt::eq(&__t541, &__t542) }; @@ -2272,9 +2272,9 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { { - let v_W4509 = { + let v_W4523 = { let __t553 = { - let __t544 = v_V4495.clone(); + let __t544 = v_V4509.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -2291,8 +2291,8 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes )? }; { - let __t545 = v_V4492.clone(); - let __t546 = v_V4493.clone(); + let __t545 = v_V4506.clone(); + let __t546 = v_V4507.clone(); let __t548 = { let __t547 = Value::sym( interp.intern( @@ -2305,10 +2305,10 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes &[__t547], )? }; - let __t549 = v_V4494.clone(); - let __t550 = v_V4495.clone(); - let __t551 = v_W4498.clone(); - let __t552 = v_V4497.clone(); + let __t549 = v_V4508.clone(); + let __t550 = v_V4509.clone(); + let __t551 = v_W4512.clone(); + let __t552 = v_V4511.clone(); rt::apply_direct(interp, "shen.search-user-datatypes", &[__t545, __t546, __t548, __t549, __t550, __t551, __t552])? } } @@ -2318,7 +2318,7 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes }; { let __t556 = { - let __t554 = v_W4509.clone(); + let __t554 = v_W4523.clone(); let __t555 = Value::bool(false); rt::eq(&__t554, &__t555) }; @@ -2327,8 +2327,8 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { break Ok({ - let __t557 = v_V4495.clone(); - let __t558 = v_W4498.clone(); + let __t557 = v_V4509.clone(); + let __t558 = v_W4512.clone(); rt::apply_direct( interp, "shen.unlock", @@ -2336,22 +2336,22 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes )? }); } else { - break Ok(v_W4509.clone()); + break Ok(v_W4523.clone()); } } } } else { - break Ok(v_W4508.clone()); + break Ok(v_W4522.clone()); } } } } else { - break Ok(v_W4500.clone()); + break Ok(v_W4514.clone()); } } } } else { - break Ok(v_W4499.clone()); + break Ok(v_W4513.clone()); } } } @@ -2373,17 +2373,17 @@ pub fn aot_shen_x2e_show(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResul ))); } #[allow(unused_mut)] - let mut v_V4523 = args[0].clone(); + let mut v_V4537 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t620 = { let __t606 = { - let __t584 = v_V4523.clone(); + let __t584 = v_V4537.clone(); rt::is_cons(&__t584) }; if !rt::is_truthy(interp, &__t606)? { @@ -2508,7 +2508,7 @@ pub fn aot_shen_x2e_show_x2d_p(interp: &mut Interp, args: &[Value]) -> ShenResul let __t607 = { let __t604 = { let __t586 = { - let __t585 = v_V4523.clone(); + let __t585 = v_V4537.clone(); rt::tl(&__t585)? }; rt::is_cons(&__t586) @@ -2520,7 +2520,7 @@ pub fn aot_shen_x2e_show_x2d_p(interp: &mut Interp, args: &[Value]) -> ShenResul let __t602 = { let __t589 = { let __t588 = { - let __t587 = v_V4523.clone(); + let __t587 = v_V4537.clone(); rt::tl(&__t587)? }; rt::tl(&__t588)? @@ -2536,7 +2536,7 @@ pub fn aot_shen_x2e_show_x2d_p(interp: &mut Interp, args: &[Value]) -> ShenResul let __t594 = { let __t593 = { let __t592 = { - let __t591 = v_V4523.clone(); + let __t591 = v_V4537.clone(); rt::tl(&__t591)? }; rt::tl(&__t592)? @@ -2551,7 +2551,7 @@ pub fn aot_shen_x2e_show_x2d_p(interp: &mut Interp, args: &[Value]) -> ShenResul let __t601 = { let __t597 = { let __t596 = { - let __t595 = v_V4523.clone(); + let __t595 = v_V4537.clone(); rt::tl(&__t595)? }; rt::hd(&__t596)? @@ -2581,7 +2581,7 @@ pub fn aot_shen_x2e_show_x2d_p(interp: &mut Interp, args: &[Value]) -> ShenResul { let _ = { let __t609 = { - let __t608 = v_V4523.clone(); + let __t608 = v_V4537.clone(); rt::hd(&__t608)? }; rt::apply_direct(interp, "shen.prterm", &[__t609])? @@ -2597,7 +2597,7 @@ pub fn aot_shen_x2e_show_x2d_p(interp: &mut Interp, args: &[Value]) -> ShenResul let __t615 = { let __t614 = { let __t613 = { - let __t612 = v_V4523.clone(); + let __t612 = v_V4537.clone(); rt::tl(&__t612)? }; rt::tl(&__t613)? @@ -2621,7 +2621,7 @@ pub fn aot_shen_x2e_show_x2d_p(interp: &mut Interp, args: &[Value]) -> ShenResul Err(e) => break Err(e), } { break Ok({ - let __t582 = v_V4523.clone(); + let __t582 = v_V4537.clone(); rt::apply_direct(interp, "shen.prterm", &[__t582])? }); } else { @@ -2647,13 +2647,13 @@ pub fn aot_shen_x2e_prterm(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult", 1, move |interp, args| { - let v_Z4525 = args[0].clone(); + let v_Z4539 = args[0].clone(); Ok({ let _ = { let __t628 = Value::str(" "); @@ -2814,7 +2814,7 @@ pub fn aot_shen_x2e_prterm(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult break Err(e), } { break Ok({ - let __t621 = v_V4524.clone(); + let __t621 = v_V4538.clone(); rt::apply_direct(interp, "print", &[__t621])? }); } else { @@ -2877,13 +2877,13 @@ pub fn aot_shen_x2e_prtl(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ))); } #[allow(unused_mut)] - let mut v_V4533 = args[0].clone(); + let mut v_V4547 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4534 = args[1].clone(); + let mut v_V4548 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t731 = { let __t727 = Value::nil(); - let __t728 = v_V4533.clone(); + let __t728 = v_V4547.clone(); rt::eq(&__t727, &__t728) }; if match rt::is_truthy(interp, &__t731) { @@ -3067,7 +3067,7 @@ pub fn aot_shen_x2e_show_x2d_assumptions(interp: &mut Interp, args: &[Value]) -> } else { { let __t726 = { - let __t712 = v_V4533.clone(); + let __t712 = v_V4547.clone(); rt::is_cons(&__t712) }; if match rt::is_truthy(interp, &__t726) { @@ -3077,7 +3077,7 @@ pub fn aot_shen_x2e_show_x2d_assumptions(interp: &mut Interp, args: &[Value]) -> { let _ = { let __t716 = { - let __t713 = v_V4534.clone(); + let __t713 = v_V4548.clone(); let __t714 = Value::str(". "); let __t715 = Value::sym(interp.intern("shen.a")); rt::apply_direct(interp, "shen.app", &[__t713, __t714, __t715])? @@ -3088,7 +3088,7 @@ pub fn aot_shen_x2e_show_x2d_assumptions(interp: &mut Interp, args: &[Value]) -> { let _ = { let __t719 = { - let __t718 = v_V4533.clone(); + let __t718 = v_V4547.clone(); rt::hd(&__t718)? }; rt::apply_direct(interp, "shen.show-p", &[__t719])? @@ -3100,16 +3100,16 @@ pub fn aot_shen_x2e_show_x2d_assumptions(interp: &mut Interp, args: &[Value]) -> }; { let __t722 = { - let __t721 = v_V4533.clone(); + let __t721 = v_V4547.clone(); rt::tl(&__t721)? }; let __t725 = { - let __t723 = v_V4534.clone(); + let __t723 = v_V4548.clone(); let __t724 = Value::int(1i64); rt::add(&__t723, &__t724)? }; - v_V4533 = __t722; - v_V4534 = __t725; + v_V4547 = __t722; + v_V4548 = __t725; continue; } } @@ -3161,13 +3161,13 @@ pub fn aot_shen_x2e_pause_x2d_for_x2d_user( #[allow(clippy::never_loop)] loop { { - let v_W4535 = { + let v_W4549 = { let __t732 = { rt::apply_direct(interp, "stinput", &[])? }; rt::apply_direct(interp, "read-byte", &[__t732])? }; { let __t735 = { - let __t733 = v_W4535.clone(); + let __t733 = v_W4549.clone(); let __t734 = Value::int(94i64); rt::eq(&__t733, &__t734) }; @@ -3279,31 +3279,31 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V4536 = args[0].clone(); + let mut v_V4550 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4537 = args[1].clone(); + let mut v_V4551 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4538 = args[2].clone(); + let mut v_V4552 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4539 = args[3].clone(); + let mut v_V4553 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4540 = args[4].clone(); + let mut v_V4554 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4541 = args[5].clone(); + let mut v_V4555 = args[5].clone(); #[allow(unused_mut)] - let mut v_V4542 = args[6].clone(); + let mut v_V4556 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4543 = { - let __t744 = v_V4541.clone(); + let v_W4557 = { + let __t744 = v_V4555.clone(); let __t745 = Value::int(1i64); rt::add(&__t744, &__t745)? }; { - let v_W4544 = { + let v_W4558 = { let __t766 = { - let __t746 = v_V4540.clone(); + let __t746 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t746])? }; if rt::is_truthy(interp, &__t766)? { @@ -3314,24 +3314,24 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t747 = Value::sym(interp.intern("shen.*spy*")); rt::apply_direct(interp, "value", &[__t747])? }; - let __t749 = v_V4539.clone(); - let __t750 = v_V4540.clone(); - let __t751 = v_W4543.clone(); + let __t749 = v_V4553.clone(); + let __t750 = v_V4554.clone(); + let __t751 = v_W4557.clone(); let __t765 = { - let v_V4536 = v_V4536.clone(); - let v_V4537 = v_V4537.clone(); - let v_V4538 = v_V4538.clone(); - let v_V4539 = v_V4539.clone(); - let v_V4540 = v_V4540.clone(); - let v_V4542 = v_V4542.clone(); - let v_W4543 = v_W4543.clone(); + let v_V4550 = v_V4550.clone(); + let v_V4551 = v_V4551.clone(); + let v_V4552 = v_V4552.clone(); + let v_V4553 = v_V4553.clone(); + let v_V4554 = v_V4554.clone(); + let v_V4556 = v_V4556.clone(); + let v_W4557 = v_W4557.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ let __t759 = { - let __t752 = v_V4536.clone(); + let __t752 = v_V4550.clone(); let __t758 = { let __t754 = { let __t753 = Value::str(":"); @@ -3342,7 +3342,7 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S )? }; let __t757 = { - let __t755 = v_V4537.clone(); + let __t755 = v_V4551.clone(); let __t756 = Value::nil(); rt::cons(&__t755, &__t756) }; @@ -3350,11 +3350,11 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }; rt::cons(&__t752, &__t758) }; - let __t760 = v_V4538.clone(); - let __t761 = v_V4539.clone(); - let __t762 = v_V4540.clone(); - let __t763 = v_W4543.clone(); - let __t764 = v_V4542.clone(); + let __t760 = v_V4552.clone(); + let __t761 = v_V4553.clone(); + let __t762 = v_V4554.clone(); + let __t763 = v_W4557.clone(); + let __t764 = v_V4556.clone(); rt::apply_direct( interp, "shen.show", @@ -3366,8 +3366,8 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }) }, vec![ - v_V4536, v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, - v_W4543, + v_V4550, v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, + v_W4557, ], interp, ) @@ -3385,7 +3385,7 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }; { let __t769 = { - let __t767 = v_W4544.clone(); + let __t767 = v_W4558.clone(); let __t768 = Value::bool(false); rt::eq(&__t767, &__t768) }; @@ -3394,9 +3394,9 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W4545 = { + let v_W4559 = { let __t786 = { - let __t770 = v_V4540.clone(); + let __t770 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t770])? }; if rt::is_truthy(interp, &__t786)? { @@ -3406,8 +3406,8 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S let __t775 = { let __t774 = { let __t773 = { - let __t771 = v_V4536.clone(); - let __t772 = v_V4539.clone(); + let __t771 = v_V4550.clone(); + let __t772 = v_V4553.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -3418,27 +3418,27 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }; rt::apply_direct(interp, "not", &[__t774])? }; - let __t776 = v_V4539.clone(); - let __t777 = v_V4540.clone(); - let __t778 = v_W4543.clone(); + let __t776 = v_V4553.clone(); + let __t777 = v_V4554.clone(); + let __t778 = v_W4557.clone(); let __t785 = { - let v_V4536 = v_V4536.clone(); - let v_V4537 = v_V4537.clone(); - let v_V4539 = v_V4539.clone(); - let v_V4540 = v_V4540.clone(); - let v_V4542 = v_V4542.clone(); - let v_W4543 = v_W4543.clone(); + let v_V4550 = v_V4550.clone(); + let v_V4551 = v_V4551.clone(); + let v_V4553 = v_V4553.clone(); + let v_V4554 = v_V4554.clone(); + let v_V4556 = v_V4556.clone(); + let v_W4557 = v_W4557.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ - let __t779 = v_V4536.clone(); - let __t780 = v_V4537.clone(); - let __t781 = v_V4539.clone(); - let __t782 = v_V4540.clone(); - let __t783 = v_W4543.clone(); - let __t784 = v_V4542.clone(); + let __t779 = v_V4550.clone(); + let __t780 = v_V4551.clone(); + let __t781 = v_V4553.clone(); + let __t782 = v_V4554.clone(); + let __t783 = v_W4557.clone(); + let __t784 = v_V4556.clone(); rt::apply_direct( interp, "shen.primitive", @@ -3450,8 +3450,8 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }) }, vec![ - v_V4536, v_V4537, v_V4539, v_V4540, - v_V4542, v_W4543, + v_V4550, v_V4551, v_V4553, v_V4554, + v_V4556, v_W4557, ], interp, ) @@ -3469,7 +3469,7 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }; { let __t789 = { - let __t787 = v_W4545.clone(); + let __t787 = v_W4559.clone(); let __t788 = Value::bool(false); rt::eq(&__t787, &__t788) }; @@ -3478,9 +3478,9 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W4546 = { + let v_W4560 = { let __t798 = { - let __t790 = v_V4540.clone(); + let __t790 = v_V4554.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -3497,13 +3497,13 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S )? }; { - let __t791 = v_V4536.clone(); - let __t792 = v_V4537.clone(); - let __t793 = v_V4538.clone(); - let __t794 = v_V4539.clone(); - let __t795 = v_V4540.clone(); - let __t796 = v_W4543.clone(); - let __t797 = v_V4542.clone(); + let __t791 = v_V4550.clone(); + let __t792 = v_V4551.clone(); + let __t793 = v_V4552.clone(); + let __t794 = v_V4553.clone(); + let __t795 = v_V4554.clone(); + let __t796 = v_W4557.clone(); + let __t797 = v_V4556.clone(); rt::apply_direct( interp, "shen.by-hypothesis", @@ -3520,7 +3520,7 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }; { let __t801 = { - let __t799 = v_W4546.clone(); + let __t799 = v_W4560.clone(); let __t800 = Value::bool(false); rt::eq(&__t799, &__t800) }; @@ -3529,9 +3529,9 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W4547 = { + let v_W4561 = { let __t824 = { - let __t802 = v_V4540.clone(); + let __t802 = v_V4554.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -3540,9 +3540,9 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }; if rt::is_truthy(interp, &__t824)? { { - let v_W4548 = { - let __t803 = v_V4536.clone(); - let __t804 = v_V4539.clone(); + let v_W4562 = { + let __t803 = v_V4550.clone(); + let __t804 = v_V4553.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -3552,42 +3552,42 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S { let __t823 = { let __t805 = - v_W4548.clone(); + v_W4562.clone(); rt::is_cons(&__t805) }; if rt::is_truthy( interp, &__t823, )? { { - let v_W4549 = { + let v_W4563 = { let __t806 = - v_W4548.clone(); + v_W4562.clone(); rt::hd(&__t806)? }; { - let v_W4550 = { + let v_W4564 = { let __t808 = { - let __t807 = v_W4548.clone(); + let __t807 = v_W4562.clone(); rt::tl( &__t807, )? }; let __t809 = - v_V4539 + v_V4553 .clone( ); rt::apply_direct(interp, "shen.lazyderef", &[__t808, __t809])? }; { let __t822 = { - let __t810 = v_W4550.clone(); + let __t810 = v_W4564.clone(); let __t811 = Value::nil(); rt::eq( &__t810, &__t811, ) }; - if rt::is_truthy(interp, &__t822)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t812 = v_W4549.clone(); let __t817 = { let __t813 = Value::sym(interp.intern("-->")); let __t816 = { let __t814 = v_V4537.clone(); let __t815 = Value::nil(); rt::cons(&__t814, &__t815) }; rt::cons(&__t813, &__t816) }; let __t818 = v_V4539.clone(); let __t819 = v_V4540.clone(); let __t820 = v_W4543.clone(); let __t821 = v_V4542.clone(); rt::apply_direct(interp, "shen.lookupsig", &[__t812, __t817, __t818, __t819, __t820, __t821])? } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t822)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t812 = v_W4563.clone(); let __t817 = { let __t813 = Value::sym(interp.intern("-->")); let __t816 = { let __t814 = v_V4551.clone(); let __t815 = Value::nil(); rt::cons(&__t814, &__t815) }; rt::cons(&__t813, &__t816) }; let __t818 = v_V4553.clone(); let __t819 = v_V4554.clone(); let __t820 = v_W4557.clone(); let __t821 = v_V4556.clone(); rt::apply_direct(interp, "shen.lookupsig", &[__t812, __t817, __t818, __t819, __t820, __t821])? } } } else { Value::bool(false) } } } } @@ -3602,7 +3602,7 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S }; { let __t827 = { - let __t825 = v_W4547.clone(); + let __t825 = v_W4561.clone(); let __t826 = Value::bool(false); rt::eq(&__t825, &__t826) }; @@ -3611,10 +3611,10 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W4551 = { + let v_W4565 = { let __t874 = { let __t828 = - v_V4540.clone(); + v_V4554.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -3625,17 +3625,17 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S interp, &__t874, )? { { - let v_W4552 = { + let v_W4566 = { let __t829 = - v_V4536.clone(); + v_V4550.clone(); let __t830 = - v_V4539.clone(); + v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t829, __t830])? }; { let __t873 = { let __t831 = - v_W4552 + v_W4566 .clone( ); rt::is_cons( @@ -3646,21 +3646,21 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S interp, &__t873, )? { { - let v_W4553 = { + let v_W4567 = { let __t833 = { - let __t832 = v_W4552.clone(); + let __t832 = v_W4566.clone(); rt::hd(&__t832)? }; - let __t834 = v_V4539.clone(); + let __t834 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t833, __t834])? }; { let __t872 = { - let __t835 = v_W4553.clone(); + let __t835 = v_W4567.clone(); let __t836 = Value::sym(interp.intern("fn")); rt::eq(&__t835, &__t836) }; - if rt::is_truthy(interp, &__t872)? { { let v_W4554 = { let __t838 = { let __t837 = v_W4552.clone(); rt::tl(&__t837)? }; let __t839 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t838, __t839])? }; { let __t871 = { let __t840 = v_W4554.clone(); rt::is_cons(&__t840) }; if rt::is_truthy(interp, &__t871)? { { let v_W4555 = { let __t841 = v_W4554.clone(); rt::hd(&__t841)? }; { let v_W4556 = { let __t843 = { let __t842 = v_W4554.clone(); rt::tl(&__t842)? }; let __t844 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t843, __t844])? }; { let __t870 = { let __t845 = v_W4556.clone(); let __t846 = Value::nil(); rt::eq(&__t845, &__t846) }; if rt::is_truthy(interp, &__t870)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t852 = { let __t850 = { let __t849 = { let __t847 = v_W4555.clone(); let __t848 = v_V4539.clone(); rt::apply_direct(interp, "shen.deref", &[__t847, __t848])? }; rt::apply_direct(interp, "arity", &[__t849])? }; let __t851 = Value::int(0i64); rt::eq(&__t850, &__t851) }; let __t853 = v_V4539.clone(); let __t854 = v_V4540.clone(); let __t855 = v_W4543.clone(); let __t869 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4555 = v_W4555.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t856 = v_V4539.clone(); let __t857 = v_V4540.clone(); let __t858 = v_W4543.clone(); let __t868 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4555 = v_W4555.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t861 = { let __t859 = v_W4555.clone(); let __t860 = Value::nil(); rt::cons(&__t859, &__t860) }; let __t862 = v_V4537.clone(); let __t863 = v_V4538.clone(); let __t864 = v_V4539.clone(); let __t865 = v_V4540.clone(); let __t866 = v_W4543.clone(); let __t867 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t861, __t862, __t863, __t864, __t865, __t866, __t867])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4555], interp) }; rt::apply_direct(interp, "shen.cut", &[__t856, __t857, __t858, __t868])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4555], interp) }; rt::apply_direct(interp, "when", &[__t852, __t853, __t854, __t855, __t869])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t872)? { { let v_W4568 = { let __t838 = { let __t837 = v_W4566.clone(); rt::tl(&__t837)? }; let __t839 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t838, __t839])? }; { let __t871 = { let __t840 = v_W4568.clone(); rt::is_cons(&__t840) }; if rt::is_truthy(interp, &__t871)? { { let v_W4569 = { let __t841 = v_W4568.clone(); rt::hd(&__t841)? }; { let v_W4570 = { let __t843 = { let __t842 = v_W4568.clone(); rt::tl(&__t842)? }; let __t844 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t843, __t844])? }; { let __t870 = { let __t845 = v_W4570.clone(); let __t846 = Value::nil(); rt::eq(&__t845, &__t846) }; if rt::is_truthy(interp, &__t870)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t852 = { let __t850 = { let __t849 = { let __t847 = v_W4569.clone(); let __t848 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t847, __t848])? }; rt::apply_direct(interp, "arity", &[__t849])? }; let __t851 = Value::int(0i64); rt::eq(&__t850, &__t851) }; let __t853 = v_V4553.clone(); let __t854 = v_V4554.clone(); let __t855 = v_W4557.clone(); let __t869 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4569 = v_W4569.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t856 = v_V4553.clone(); let __t857 = v_V4554.clone(); let __t858 = v_W4557.clone(); let __t868 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4569 = v_W4569.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t861 = { let __t859 = v_W4569.clone(); let __t860 = Value::nil(); rt::cons(&__t859, &__t860) }; let __t862 = v_V4551.clone(); let __t863 = v_V4552.clone(); let __t864 = v_V4553.clone(); let __t865 = v_V4554.clone(); let __t866 = v_W4557.clone(); let __t867 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t861, __t862, __t863, __t864, __t865, __t866, __t867])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4569], interp) }; rt::apply_direct(interp, "shen.cut", &[__t856, __t857, __t858, __t868])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4569], interp) }; rt::apply_direct(interp, "when", &[__t852, __t853, __t854, __t855, __t869])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -3677,7 +3677,7 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S { let __t877 = { let __t875 = - v_W4551.clone(); + v_W4565.clone(); let __t876 = Value::bool(false); rt::eq(&__t875, &__t876) @@ -3689,10 +3689,10 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W4557 = { + let v_W4571 = { let __t907 = { let __t878 = - v_V4540 + v_V4554 .clone( ); rt::apply_direct(interp, "shen.unlocked?", &[__t878])? @@ -3701,17 +3701,17 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S interp, &__t907, )? { { - let v_W4558 = { - let __t879 = v_V4536.clone(); - let __t880 = v_V4539.clone(); + let v_W4572 = { + let __t879 = v_V4550.clone(); + let __t880 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t879, __t880])? }; { let __t906 = { - let __t881 = v_W4558.clone(); + let __t881 = v_W4572.clone(); rt::is_cons(&__t881) }; - if rt::is_truthy(interp, &__t906)? { { let v_W4559 = { let __t883 = { let __t882 = v_W4558.clone(); rt::hd(&__t882)? }; let __t884 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t883, __t884])? }; { let __t905 = { let __t885 = v_W4559.clone(); let __t886 = Value::sym(interp.intern("fn")); rt::eq(&__t885, &__t886) }; if rt::is_truthy(interp, &__t905)? { { let v_W4560 = { let __t888 = { let __t887 = v_W4558.clone(); rt::tl(&__t887)? }; let __t889 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t888, __t889])? }; { let __t904 = { let __t890 = v_W4560.clone(); rt::is_cons(&__t890) }; if rt::is_truthy(interp, &__t904)? { { let v_W4561 = { let __t891 = v_W4560.clone(); rt::hd(&__t891)? }; { let v_W4562 = { let __t893 = { let __t892 = v_W4560.clone(); rt::tl(&__t892)? }; let __t894 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t893, __t894])? }; { let __t903 = { let __t895 = v_W4562.clone(); let __t896 = Value::nil(); rt::eq(&__t895, &__t896) }; if rt::is_truthy(interp, &__t903)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t897 = v_W4561.clone(); let __t898 = v_V4537.clone(); let __t899 = v_V4539.clone(); let __t900 = v_V4540.clone(); let __t901 = v_W4543.clone(); let __t902 = v_V4542.clone(); rt::apply_direct(interp, "shen.lookupsig", &[__t897, __t898, __t899, __t900, __t901, __t902])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t906)? { { let v_W4573 = { let __t883 = { let __t882 = v_W4572.clone(); rt::hd(&__t882)? }; let __t884 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t883, __t884])? }; { let __t905 = { let __t885 = v_W4573.clone(); let __t886 = Value::sym(interp.intern("fn")); rt::eq(&__t885, &__t886) }; if rt::is_truthy(interp, &__t905)? { { let v_W4574 = { let __t888 = { let __t887 = v_W4572.clone(); rt::tl(&__t887)? }; let __t889 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t888, __t889])? }; { let __t904 = { let __t890 = v_W4574.clone(); rt::is_cons(&__t890) }; if rt::is_truthy(interp, &__t904)? { { let v_W4575 = { let __t891 = v_W4574.clone(); rt::hd(&__t891)? }; { let v_W4576 = { let __t893 = { let __t892 = v_W4574.clone(); rt::tl(&__t892)? }; let __t894 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t893, __t894])? }; { let __t903 = { let __t895 = v_W4576.clone(); let __t896 = Value::nil(); rt::eq(&__t895, &__t896) }; if rt::is_truthy(interp, &__t903)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t897 = v_W4575.clone(); let __t898 = v_V4551.clone(); let __t899 = v_V4553.clone(); let __t900 = v_V4554.clone(); let __t901 = v_W4557.clone(); let __t902 = v_V4556.clone(); rt::apply_direct(interp, "shen.lookupsig", &[__t897, __t898, __t899, __t900, __t901, __t902])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -3723,7 +3723,7 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S { let __t910 = { let __t908 = - v_W4557 + v_W4571 .clone( ); let __t909 = @@ -3735,31 +3735,31 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S &__t909, ) }; - if match rt::is_truthy(interp, &__t910) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4563 = { let __t960 = { let __t911 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t911])? }; if rt::is_truthy(interp, &__t960)? { { let v_W4564 = { let __t912 = v_V4536.clone(); let __t913 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t912, __t913])? }; { let __t959 = { let __t914 = v_W4564.clone(); rt::is_cons(&__t914) }; if rt::is_truthy(interp, &__t959)? { { let v_W4565 = { let __t915 = v_W4564.clone(); rt::hd(&__t915)? }; { let v_W4566 = { let __t917 = { let __t916 = v_W4564.clone(); rt::tl(&__t916)? }; let __t918 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t917, __t918])? }; { let __t958 = { let __t919 = v_W4566.clone(); rt::is_cons(&__t919) }; if rt::is_truthy(interp, &__t958)? { { let v_W4567 = { let __t920 = v_W4566.clone(); rt::hd(&__t920)? }; { let v_W4568 = { let __t922 = { let __t921 = v_W4566.clone(); rt::tl(&__t921)? }; let __t923 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t922, __t923])? }; { let __t957 = { let __t924 = v_W4568.clone(); let __t925 = Value::nil(); rt::eq(&__t924, &__t925) }; if rt::is_truthy(interp, &__t957)? { { let v_W4569 = { let __t926 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t926])? }; { let __t927 = v_V4539.clone(); let __t956 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t932 = { let __t931 = { let __t930 = { let __t928 = v_W4565.clone(); let __t929 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t928, __t929])? }; rt::is_cons(&__t930) }; rt::apply_direct(interp, "not", &[__t931])? }; let __t933 = v_V4539.clone(); let __t934 = v_V4540.clone(); let __t935 = v_W4543.clone(); let __t955 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4565 = v_W4565.clone(); let v_W4567 = v_W4567.clone(); let v_W4569 = v_W4569.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t936 = v_W4565.clone(); let __t943 = { let __t937 = v_W4569.clone(); let __t942 = { let __t938 = Value::sym(interp.intern("-->")); let __t941 = { let __t939 = v_V4537.clone(); let __t940 = Value::nil(); rt::cons(&__t939, &__t940) }; rt::cons(&__t938, &__t941) }; rt::cons(&__t937, &__t942) }; let __t944 = v_V4539.clone(); let __t945 = v_V4540.clone(); let __t946 = v_W4543.clone(); let __t954 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4567 = v_W4567.clone(); let v_W4569 = v_W4569.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t947 = v_W4567.clone(); let __t948 = v_W4569.clone(); let __t949 = v_V4538.clone(); let __t950 = v_V4539.clone(); let __t951 = v_V4540.clone(); let __t952 = v_W4543.clone(); let __t953 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t947, __t948, __t949, __t950, __t951, __t952, __t953])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4567, v_W4569], interp) }; rt::apply_direct(interp, "shen.lookupsig", &[__t936, __t943, __t944, __t945, __t946, __t954])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4565, v_W4567, v_W4569], interp) }; rt::apply_direct(interp, "when", &[__t932, __t933, __t934, __t935, __t955])? } }; rt::apply_direct(interp, "shen.gc", &[__t927, __t956])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t963 = { let __t961 = v_W4563.clone(); let __t962 = Value::bool(false); rt::eq(&__t961, &__t962) }; if match rt::is_truthy(interp, &__t963) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4570 = { let __t1005 = { let __t964 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t964])? }; if rt::is_truthy(interp, &__t1005)? { { let v_W4571 = { let __t965 = v_V4536.clone(); let __t966 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t965, __t966])? }; { let __t1004 = { let __t967 = v_W4571.clone(); rt::is_cons(&__t967) }; if rt::is_truthy(interp, &__t1004)? { { let v_W4572 = { let __t968 = v_W4571.clone(); rt::hd(&__t968)? }; { let v_W4573 = { let __t970 = { let __t969 = v_W4571.clone(); rt::tl(&__t969)? }; let __t971 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t970, __t971])? }; { let __t1003 = { let __t972 = v_W4573.clone(); rt::is_cons(&__t972) }; if rt::is_truthy(interp, &__t1003)? { { let v_W4574 = { let __t973 = v_W4573.clone(); rt::hd(&__t973)? }; { let v_W4575 = { let __t975 = { let __t974 = v_W4573.clone(); rt::tl(&__t974)? }; let __t976 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t975, __t976])? }; { let __t1002 = { let __t977 = v_W4575.clone(); let __t978 = Value::nil(); rt::eq(&__t977, &__t978) }; if rt::is_truthy(interp, &__t1002)? { { let v_W4576 = { let __t979 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t979])? }; { let __t980 = v_V4539.clone(); let __t1001 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t981 = v_W4572.clone(); let __t988 = { let __t982 = v_W4576.clone(); let __t987 = { let __t983 = Value::sym(interp.intern("-->")); let __t986 = { let __t984 = v_V4537.clone(); let __t985 = Value::nil(); rt::cons(&__t984, &__t985) }; rt::cons(&__t983, &__t986) }; rt::cons(&__t982, &__t987) }; let __t989 = v_V4538.clone(); let __t990 = v_V4539.clone(); let __t991 = v_V4540.clone(); let __t992 = v_W4543.clone(); let __t1000 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4574 = v_W4574.clone(); let v_W4576 = v_W4576.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t993 = v_W4574.clone(); let __t994 = v_W4576.clone(); let __t995 = v_V4538.clone(); let __t996 = v_V4539.clone(); let __t997 = v_V4540.clone(); let __t998 = v_W4543.clone(); let __t999 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t993, __t994, __t995, __t996, __t997, __t998, __t999])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4574, v_W4576], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t981, __t988, __t989, __t990, __t991, __t992, __t1000])? } }; rt::apply_direct(interp, "shen.gc", &[__t980, __t1001])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1008 = { let __t1006 = v_W4570.clone(); let __t1007 = Value::bool(false); rt::eq(&__t1006, &__t1007) }; if match rt::is_truthy(interp, &__t1008) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4577 = { let __t1118 = { let __t1009 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1009])? }; if rt::is_truthy(interp, &__t1118)? { { let v_W4578 = { let __t1010 = v_V4536.clone(); let __t1011 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1010, __t1011])? }; { let __t1117 = { let __t1012 = v_W4578.clone(); rt::is_cons(&__t1012) }; if rt::is_truthy(interp, &__t1117)? { { let v_W4579 = { let __t1014 = { let __t1013 = v_W4578.clone(); rt::hd(&__t1013)? }; let __t1015 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1014, __t1015])? }; { let __t1116 = { let __t1016 = v_W4579.clone(); let __t1017 = Value::sym(interp.intern("cons")); rt::eq(&__t1016, &__t1017) }; if rt::is_truthy(interp, &__t1116)? { { let v_W4580 = { let __t1019 = { let __t1018 = v_W4578.clone(); rt::tl(&__t1018)? }; let __t1020 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1019, __t1020])? }; { let __t1115 = { let __t1021 = v_W4580.clone(); rt::is_cons(&__t1021) }; if rt::is_truthy(interp, &__t1115)? { { let v_W4581 = { let __t1022 = v_W4580.clone(); rt::hd(&__t1022)? }; { let v_W4582 = { let __t1024 = { let __t1023 = v_W4580.clone(); rt::tl(&__t1023)? }; let __t1025 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1024, __t1025])? }; { let __t1114 = { let __t1026 = v_W4582.clone(); rt::is_cons(&__t1026) }; if rt::is_truthy(interp, &__t1114)? { { let v_W4583 = { let __t1027 = v_W4582.clone(); rt::hd(&__t1027)? }; { let v_W4584 = { let __t1029 = { let __t1028 = v_W4582.clone(); rt::tl(&__t1028)? }; let __t1030 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1029, __t1030])? }; { let __t1113 = { let __t1031 = v_W4584.clone(); let __t1032 = Value::nil(); rt::eq(&__t1031, &__t1032) }; if rt::is_truthy(interp, &__t1113)? { { let v_W4585 = { let __t1033 = v_V4537.clone(); let __t1034 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1033, __t1034])? }; { let v_W4586 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4581 = v_W4581.clone(); let v_W4583 = v_W4583.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4587 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1035 = v_W4581.clone(); let __t1036 = v_Z4587.clone(); let __t1037 = v_V4538.clone(); let __t1038 = v_V4539.clone(); let __t1039 = v_V4540.clone(); let __t1040 = v_W4543.clone(); let __t1052 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4583 = v_W4583.clone(); let v_Z4587 = v_Z4587.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1041 = v_W4583.clone(); let __t1046 = { let __t1042 = Value::sym(interp.intern("list")); let __t1045 = { let __t1043 = v_Z4587.clone(); let __t1044 = Value::nil(); rt::cons(&__t1043, &__t1044) }; rt::cons(&__t1042, &__t1045) }; let __t1047 = v_V4538.clone(); let __t1048 = v_V4539.clone(); let __t1049 = v_V4540.clone(); let __t1050 = v_W4543.clone(); let __t1051 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1041, __t1046, __t1047, __t1048, __t1049, __t1050, __t1051])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4583, v_Z4587], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1035, __t1036, __t1037, __t1038, __t1039, __t1040, __t1052])? } }) }, vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4581, v_W4583], interp) }; { let __t1112 = { let __t1053 = v_W4585.clone(); rt::is_cons(&__t1053) }; if rt::is_truthy(interp, &__t1112)? { { let v_W4588 = { let __t1055 = { let __t1054 = v_W4585.clone(); rt::hd(&__t1054)? }; let __t1056 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1055, __t1056])? }; { let v_W4589 = { let v_V4539 = v_V4539.clone(); let v_W4585 = v_W4585.clone(); let v_W4586 = v_W4586.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4590 = { let __t1058 = { let __t1057 = v_W4585.clone(); rt::tl(&__t1057)? }; let __t1059 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1058, __t1059])? }; { let v_W4591 = { let v_W4586 = v_W4586.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4592 = args[0].clone(); Ok({ let __t1060 = v_Z4592.clone(); rt::apply_value(interp, v_W4586.clone(), &[__t1060])? }) }, vec![v_W4586], interp) }; { let __t1088 = { let __t1061 = v_W4590.clone(); rt::is_cons(&__t1061) }; if rt::is_truthy(interp, &__t1088)? { { let v_W4593 = { let __t1062 = v_W4590.clone(); rt::hd(&__t1062)? }; { let v_W4594 = { let __t1064 = { let __t1063 = v_W4590.clone(); rt::tl(&__t1063)? }; let __t1065 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1064, __t1065])? }; { let v_W4595 = { let v_W4591 = v_W4591.clone(); let v_W4593 = v_W4593.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1066 = v_W4593.clone(); rt::apply_value(interp, v_W4591.clone(), &[__t1066])? }), vec![v_W4591, v_W4593], interp) }; { let __t1075 = { let __t1067 = v_W4594.clone(); let __t1068 = Value::nil(); rt::eq(&__t1067, &__t1068) }; if rt::is_truthy(interp, &__t1075)? { rt::apply_value(interp, v_W4595.clone(), &[])? } else { { let __t1074 = { let __t1069 = v_W4594.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1069])? }; if rt::is_truthy(interp, &__t1074)? { { let __t1070 = v_W4594.clone(); let __t1071 = Value::nil(); let __t1072 = v_V4539.clone(); let __t1073 = v_W4595.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1070, __t1071, __t1072, __t1073])? } } else { Value::bool(false) } } } } } } } } else { { let __t1087 = { let __t1076 = v_W4590.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1076])? }; if rt::is_truthy(interp, &__t1087)? { { let v_W4596 = { let __t1077 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1077])? }; { let __t1078 = v_V4539.clone(); let __t1086 = { let __t1079 = v_W4590.clone(); let __t1082 = { let __t1080 = v_W4596.clone(); let __t1081 = Value::nil(); rt::cons(&__t1080, &__t1081) }; let __t1083 = v_V4539.clone(); let __t1085 = { let v_W4591 = v_W4591.clone(); let v_W4596 = v_W4596.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1084 = v_W4596.clone(); rt::apply_value(interp, v_W4591.clone(), &[__t1084])? }), vec![v_W4591, v_W4596], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1079, __t1082, __t1083, __t1085])? }; rt::apply_direct(interp, "shen.gc", &[__t1078, __t1086])? } } } else { Value::bool(false) } } } } } }), vec![v_V4539, v_W4585, v_W4586], interp) }; { let __t1097 = { let __t1089 = v_W4588.clone(); let __t1090 = Value::sym(interp.intern("list")); rt::eq(&__t1089, &__t1090) }; if rt::is_truthy(interp, &__t1097)? { rt::apply_value(interp, v_W4589.clone(), &[])? } else { { let __t1096 = { let __t1091 = v_W4588.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1091])? }; if rt::is_truthy(interp, &__t1096)? { { let __t1092 = v_W4588.clone(); let __t1093 = Value::sym(interp.intern("list")); let __t1094 = v_V4539.clone(); let __t1095 = v_W4589.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1092, __t1093, __t1094, __t1095])? } } else { Value::bool(false) } } } } } } } else { { let __t1111 = { let __t1098 = v_W4585.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1098])? }; if rt::is_truthy(interp, &__t1111)? { { let v_W4597 = { let __t1099 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1099])? }; { let __t1100 = v_V4539.clone(); let __t1110 = { let __t1101 = v_W4585.clone(); let __t1106 = { let __t1102 = Value::sym(interp.intern("list")); let __t1105 = { let __t1103 = v_W4597.clone(); let __t1104 = Value::nil(); rt::cons(&__t1103, &__t1104) }; rt::cons(&__t1102, &__t1105) }; let __t1107 = v_V4539.clone(); let __t1109 = { let v_W4586 = v_W4586.clone(); let v_W4597 = v_W4597.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1108 = v_W4597.clone(); rt::apply_value(interp, v_W4586.clone(), &[__t1108])? }), vec![v_W4586, v_W4597], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1101, __t1106, __t1107, __t1109])? }; rt::apply_direct(interp, "shen.gc", &[__t1100, __t1110])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1121 = { let __t1119 = v_W4577.clone(); let __t1120 = Value::bool(false); rt::eq(&__t1119, &__t1120) }; if match rt::is_truthy(interp, &__t1121) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4598 = { let __t1257 = { let __t1122 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1122])? }; if rt::is_truthy(interp, &__t1257)? { { let v_W4599 = { let __t1123 = v_V4536.clone(); let __t1124 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1123, __t1124])? }; { let __t1256 = { let __t1125 = v_W4599.clone(); rt::is_cons(&__t1125) }; if rt::is_truthy(interp, &__t1256)? { { let v_W4600 = { let __t1127 = { let __t1126 = v_W4599.clone(); rt::hd(&__t1126)? }; let __t1128 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1127, __t1128])? }; { let __t1255 = { let __t1129 = v_W4600.clone(); let __t1130 = Value::sym(interp.intern("@p")); rt::eq(&__t1129, &__t1130) }; if rt::is_truthy(interp, &__t1255)? { { let v_W4601 = { let __t1132 = { let __t1131 = v_W4599.clone(); rt::tl(&__t1131)? }; let __t1133 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1132, __t1133])? }; { let __t1254 = { let __t1134 = v_W4601.clone(); rt::is_cons(&__t1134) }; if rt::is_truthy(interp, &__t1254)? { { let v_W4602 = { let __t1135 = v_W4601.clone(); rt::hd(&__t1135)? }; { let v_W4603 = { let __t1137 = { let __t1136 = v_W4601.clone(); rt::tl(&__t1136)? }; let __t1138 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1137, __t1138])? }; { let __t1253 = { let __t1139 = v_W4603.clone(); rt::is_cons(&__t1139) }; if rt::is_truthy(interp, &__t1253)? { { let v_W4604 = { let __t1140 = v_W4603.clone(); rt::hd(&__t1140)? }; { let v_W4605 = { let __t1142 = { let __t1141 = v_W4603.clone(); rt::tl(&__t1141)? }; let __t1143 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1142, __t1143])? }; { let __t1252 = { let __t1144 = v_W4605.clone(); let __t1145 = Value::nil(); rt::eq(&__t1144, &__t1145) }; if rt::is_truthy(interp, &__t1252)? { { let v_W4606 = { let __t1146 = v_V4537.clone(); let __t1147 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1146, __t1147])? }; { let v_W4607 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4602 = v_W4602.clone(); let v_W4604 = v_W4604.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4608 = args[0].clone(); Ok({ let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4602 = v_W4602.clone(); let v_W4604 = v_W4604.clone(); let v_Z4608 = v_Z4608.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4609 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1148 = v_W4602.clone(); let __t1149 = v_Z4608.clone(); let __t1150 = v_V4538.clone(); let __t1151 = v_V4539.clone(); let __t1152 = v_V4540.clone(); let __t1153 = v_W4543.clone(); let __t1161 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4604 = v_W4604.clone(); let v_Z4609 = v_Z4609.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1154 = v_W4604.clone(); let __t1155 = v_Z4609.clone(); let __t1156 = v_V4538.clone(); let __t1157 = v_V4539.clone(); let __t1158 = v_V4540.clone(); let __t1159 = v_W4543.clone(); let __t1160 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1154, __t1155, __t1156, __t1157, __t1158, __t1159, __t1160])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4604, v_Z4609], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1148, __t1149, __t1150, __t1151, __t1152, __t1153, __t1161])? } }) }, vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4602, v_W4604, v_Z4608], interp) }) }, vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4602, v_W4604], interp) }; { let __t1251 = { let __t1162 = v_W4606.clone(); rt::is_cons(&__t1162) }; if rt::is_truthy(interp, &__t1251)? { { let v_W4610 = { let __t1163 = v_W4606.clone(); rt::hd(&__t1163)? }; { let v_W4611 = { let __t1165 = { let __t1164 = v_W4606.clone(); rt::tl(&__t1164)? }; let __t1166 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1165, __t1166])? }; { let v_W4612 = { let v_W4607 = v_W4607.clone(); let v_W4610 = v_W4610.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4613 = args[0].clone(); Ok({ let __t1168 = { let __t1167 = v_W4610.clone(); rt::apply_value(interp, v_W4607.clone(), &[__t1167])? }; let __t1169 = v_Z4613.clone(); rt::apply_value(interp, __t1168, &[__t1169])? }) }, vec![v_W4607, v_W4610], interp) }; { let __t1229 = { let __t1170 = v_W4611.clone(); rt::is_cons(&__t1170) }; if rt::is_truthy(interp, &__t1229)? { { let v_W4614 = { let __t1172 = { let __t1171 = v_W4611.clone(); rt::hd(&__t1171)? }; let __t1173 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1172, __t1173])? }; { let v_W4615 = { let v_V4539 = v_V4539.clone(); let v_W4611 = v_W4611.clone(); let v_W4612 = v_W4612.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4616 = { let __t1175 = { let __t1174 = v_W4611.clone(); rt::tl(&__t1174)? }; let __t1176 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1175, __t1176])? }; { let v_W4617 = { let v_W4612 = v_W4612.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4618 = args[0].clone(); Ok({ let __t1177 = v_Z4618.clone(); rt::apply_value(interp, v_W4612.clone(), &[__t1177])? }) }, vec![v_W4612], interp) }; { let __t1205 = { let __t1178 = v_W4616.clone(); rt::is_cons(&__t1178) }; if rt::is_truthy(interp, &__t1205)? { { let v_W4619 = { let __t1179 = v_W4616.clone(); rt::hd(&__t1179)? }; { let v_W4620 = { let __t1181 = { let __t1180 = v_W4616.clone(); rt::tl(&__t1180)? }; let __t1182 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1181, __t1182])? }; { let v_W4621 = { let v_W4617 = v_W4617.clone(); let v_W4619 = v_W4619.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1183 = v_W4619.clone(); rt::apply_value(interp, v_W4617.clone(), &[__t1183])? }), vec![v_W4617, v_W4619], interp) }; { let __t1192 = { let __t1184 = v_W4620.clone(); let __t1185 = Value::nil(); rt::eq(&__t1184, &__t1185) }; if rt::is_truthy(interp, &__t1192)? { rt::apply_value(interp, v_W4621.clone(), &[])? } else { { let __t1191 = { let __t1186 = v_W4620.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1186])? }; if rt::is_truthy(interp, &__t1191)? { { let __t1187 = v_W4620.clone(); let __t1188 = Value::nil(); let __t1189 = v_V4539.clone(); let __t1190 = v_W4621.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1187, __t1188, __t1189, __t1190])? } } else { Value::bool(false) } } } } } } } } else { { let __t1204 = { let __t1193 = v_W4616.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1193])? }; if rt::is_truthy(interp, &__t1204)? { { let v_W4622 = { let __t1194 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1194])? }; { let __t1195 = v_V4539.clone(); let __t1203 = { let __t1196 = v_W4616.clone(); let __t1199 = { let __t1197 = v_W4622.clone(); let __t1198 = Value::nil(); rt::cons(&__t1197, &__t1198) }; let __t1200 = v_V4539.clone(); let __t1202 = { let v_W4617 = v_W4617.clone(); let v_W4622 = v_W4622.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1201 = v_W4622.clone(); rt::apply_value(interp, v_W4617.clone(), &[__t1201])? }), vec![v_W4617, v_W4622], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1196, __t1199, __t1200, __t1202])? }; rt::apply_direct(interp, "shen.gc", &[__t1195, __t1203])? } } } else { Value::bool(false) } } } } } }), vec![v_V4539, v_W4611, v_W4612], interp) }; { let __t1214 = { let __t1206 = v_W4614.clone(); let __t1207 = Value::sym(interp.intern("*")); rt::eq(&__t1206, &__t1207) }; if rt::is_truthy(interp, &__t1214)? { rt::apply_value(interp, v_W4615.clone(), &[])? } else { { let __t1213 = { let __t1208 = v_W4614.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1208])? }; if rt::is_truthy(interp, &__t1213)? { { let __t1209 = v_W4614.clone(); let __t1210 = Value::sym(interp.intern("*")); let __t1211 = v_V4539.clone(); let __t1212 = v_W4615.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1209, __t1210, __t1211, __t1212])? } } else { Value::bool(false) } } } } } } } else { { let __t1228 = { let __t1215 = v_W4611.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1215])? }; if rt::is_truthy(interp, &__t1228)? { { let v_W4623 = { let __t1216 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1216])? }; { let __t1217 = v_V4539.clone(); let __t1227 = { let __t1218 = v_W4611.clone(); let __t1223 = { let __t1219 = Value::sym(interp.intern("*")); let __t1222 = { let __t1220 = v_W4623.clone(); let __t1221 = Value::nil(); rt::cons(&__t1220, &__t1221) }; rt::cons(&__t1219, &__t1222) }; let __t1224 = v_V4539.clone(); let __t1226 = { let v_W4612 = v_W4612.clone(); let v_W4623 = v_W4623.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1225 = v_W4623.clone(); rt::apply_value(interp, v_W4612.clone(), &[__t1225])? }), vec![v_W4612, v_W4623], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1218, __t1223, __t1224, __t1226])? }; rt::apply_direct(interp, "shen.gc", &[__t1217, __t1227])? } } } else { Value::bool(false) } } } } } } } } else { { let __t1250 = { let __t1230 = v_W4606.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1230])? }; if rt::is_truthy(interp, &__t1250)? { { let v_W4624 = { let __t1231 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1231])? }; { let __t1232 = v_V4539.clone(); let __t1249 = { let v_W4625 = { let __t1233 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1233])? }; { let __t1234 = v_V4539.clone(); let __t1248 = { let __t1235 = v_W4606.clone(); let __t1242 = { let __t1236 = v_W4624.clone(); let __t1241 = { let __t1237 = Value::sym(interp.intern("*")); let __t1240 = { let __t1238 = v_W4625.clone(); let __t1239 = Value::nil(); rt::cons(&__t1238, &__t1239) }; rt::cons(&__t1237, &__t1240) }; rt::cons(&__t1236, &__t1241) }; let __t1243 = v_V4539.clone(); let __t1247 = { let v_W4607 = v_W4607.clone(); let v_W4624 = v_W4624.clone(); let v_W4625 = v_W4625.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1245 = { let __t1244 = v_W4624.clone(); rt::apply_value(interp, v_W4607.clone(), &[__t1244])? }; let __t1246 = v_W4625.clone(); rt::apply_value(interp, __t1245, &[__t1246])? }), vec![v_W4607, v_W4624, v_W4625], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1235, __t1242, __t1243, __t1247])? }; rt::apply_direct(interp, "shen.gc", &[__t1234, __t1248])? } }; rt::apply_direct(interp, "shen.gc", &[__t1232, __t1249])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1260 = { let __t1258 = v_W4598.clone(); let __t1259 = Value::bool(false); rt::eq(&__t1258, &__t1259) }; if match rt::is_truthy(interp, &__t1260) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4626 = { let __t1370 = { let __t1261 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1261])? }; if rt::is_truthy(interp, &__t1370)? { { let v_W4627 = { let __t1262 = v_V4536.clone(); let __t1263 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1262, __t1263])? }; { let __t1369 = { let __t1264 = v_W4627.clone(); rt::is_cons(&__t1264) }; if rt::is_truthy(interp, &__t1369)? { { let v_W4628 = { let __t1266 = { let __t1265 = v_W4627.clone(); rt::hd(&__t1265)? }; let __t1267 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1266, __t1267])? }; { let __t1368 = { let __t1268 = v_W4628.clone(); let __t1269 = Value::sym(interp.intern("@v")); rt::eq(&__t1268, &__t1269) }; if rt::is_truthy(interp, &__t1368)? { { let v_W4629 = { let __t1271 = { let __t1270 = v_W4627.clone(); rt::tl(&__t1270)? }; let __t1272 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1271, __t1272])? }; { let __t1367 = { let __t1273 = v_W4629.clone(); rt::is_cons(&__t1273) }; if rt::is_truthy(interp, &__t1367)? { { let v_W4630 = { let __t1274 = v_W4629.clone(); rt::hd(&__t1274)? }; { let v_W4631 = { let __t1276 = { let __t1275 = v_W4629.clone(); rt::tl(&__t1275)? }; let __t1277 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1276, __t1277])? }; { let __t1366 = { let __t1278 = v_W4631.clone(); rt::is_cons(&__t1278) }; if rt::is_truthy(interp, &__t1366)? { { let v_W4632 = { let __t1279 = v_W4631.clone(); rt::hd(&__t1279)? }; { let v_W4633 = { let __t1281 = { let __t1280 = v_W4631.clone(); rt::tl(&__t1280)? }; let __t1282 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1281, __t1282])? }; { let __t1365 = { let __t1283 = v_W4633.clone(); let __t1284 = Value::nil(); rt::eq(&__t1283, &__t1284) }; if rt::is_truthy(interp, &__t1365)? { { let v_W4634 = { let __t1285 = v_V4537.clone(); let __t1286 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1285, __t1286])? }; { let v_W4635 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4630 = v_W4630.clone(); let v_W4632 = v_W4632.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4636 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1287 = v_W4630.clone(); let __t1288 = v_Z4636.clone(); let __t1289 = v_V4538.clone(); let __t1290 = v_V4539.clone(); let __t1291 = v_V4540.clone(); let __t1292 = v_W4543.clone(); let __t1304 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4632 = v_W4632.clone(); let v_Z4636 = v_Z4636.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1293 = v_W4632.clone(); let __t1298 = { let __t1294 = Value::sym(interp.intern("vector")); let __t1297 = { let __t1295 = v_Z4636.clone(); let __t1296 = Value::nil(); rt::cons(&__t1295, &__t1296) }; rt::cons(&__t1294, &__t1297) }; let __t1299 = v_V4538.clone(); let __t1300 = v_V4539.clone(); let __t1301 = v_V4540.clone(); let __t1302 = v_W4543.clone(); let __t1303 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1293, __t1298, __t1299, __t1300, __t1301, __t1302, __t1303])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4632, v_Z4636], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1287, __t1288, __t1289, __t1290, __t1291, __t1292, __t1304])? } }) }, vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4630, v_W4632], interp) }; { let __t1364 = { let __t1305 = v_W4634.clone(); rt::is_cons(&__t1305) }; if rt::is_truthy(interp, &__t1364)? { { let v_W4637 = { let __t1307 = { let __t1306 = v_W4634.clone(); rt::hd(&__t1306)? }; let __t1308 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1307, __t1308])? }; { let v_W4638 = { let v_V4539 = v_V4539.clone(); let v_W4634 = v_W4634.clone(); let v_W4635 = v_W4635.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4639 = { let __t1310 = { let __t1309 = v_W4634.clone(); rt::tl(&__t1309)? }; let __t1311 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1310, __t1311])? }; { let v_W4640 = { let v_W4635 = v_W4635.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4641 = args[0].clone(); Ok({ let __t1312 = v_Z4641.clone(); rt::apply_value(interp, v_W4635.clone(), &[__t1312])? }) }, vec![v_W4635], interp) }; { let __t1340 = { let __t1313 = v_W4639.clone(); rt::is_cons(&__t1313) }; if rt::is_truthy(interp, &__t1340)? { { let v_W4642 = { let __t1314 = v_W4639.clone(); rt::hd(&__t1314)? }; { let v_W4643 = { let __t1316 = { let __t1315 = v_W4639.clone(); rt::tl(&__t1315)? }; let __t1317 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1316, __t1317])? }; { let v_W4644 = { let v_W4640 = v_W4640.clone(); let v_W4642 = v_W4642.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1318 = v_W4642.clone(); rt::apply_value(interp, v_W4640.clone(), &[__t1318])? }), vec![v_W4640, v_W4642], interp) }; { let __t1327 = { let __t1319 = v_W4643.clone(); let __t1320 = Value::nil(); rt::eq(&__t1319, &__t1320) }; if rt::is_truthy(interp, &__t1327)? { rt::apply_value(interp, v_W4644.clone(), &[])? } else { { let __t1326 = { let __t1321 = v_W4643.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1321])? }; if rt::is_truthy(interp, &__t1326)? { { let __t1322 = v_W4643.clone(); let __t1323 = Value::nil(); let __t1324 = v_V4539.clone(); let __t1325 = v_W4644.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1322, __t1323, __t1324, __t1325])? } } else { Value::bool(false) } } } } } } } } else { { let __t1339 = { let __t1328 = v_W4639.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1328])? }; if rt::is_truthy(interp, &__t1339)? { { let v_W4645 = { let __t1329 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1329])? }; { let __t1330 = v_V4539.clone(); let __t1338 = { let __t1331 = v_W4639.clone(); let __t1334 = { let __t1332 = v_W4645.clone(); let __t1333 = Value::nil(); rt::cons(&__t1332, &__t1333) }; let __t1335 = v_V4539.clone(); let __t1337 = { let v_W4640 = v_W4640.clone(); let v_W4645 = v_W4645.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1336 = v_W4645.clone(); rt::apply_value(interp, v_W4640.clone(), &[__t1336])? }), vec![v_W4640, v_W4645], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1331, __t1334, __t1335, __t1337])? }; rt::apply_direct(interp, "shen.gc", &[__t1330, __t1338])? } } } else { Value::bool(false) } } } } } }), vec![v_V4539, v_W4634, v_W4635], interp) }; { let __t1349 = { let __t1341 = v_W4637.clone(); let __t1342 = Value::sym(interp.intern("vector")); rt::eq(&__t1341, &__t1342) }; if rt::is_truthy(interp, &__t1349)? { rt::apply_value(interp, v_W4638.clone(), &[])? } else { { let __t1348 = { let __t1343 = v_W4637.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1343])? }; if rt::is_truthy(interp, &__t1348)? { { let __t1344 = v_W4637.clone(); let __t1345 = Value::sym(interp.intern("vector")); let __t1346 = v_V4539.clone(); let __t1347 = v_W4638.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1344, __t1345, __t1346, __t1347])? } } else { Value::bool(false) } } } } } } } else { { let __t1363 = { let __t1350 = v_W4634.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1350])? }; if rt::is_truthy(interp, &__t1363)? { { let v_W4646 = { let __t1351 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1351])? }; { let __t1352 = v_V4539.clone(); let __t1362 = { let __t1353 = v_W4634.clone(); let __t1358 = { let __t1354 = Value::sym(interp.intern("vector")); let __t1357 = { let __t1355 = v_W4646.clone(); let __t1356 = Value::nil(); rt::cons(&__t1355, &__t1356) }; rt::cons(&__t1354, &__t1357) }; let __t1359 = v_V4539.clone(); let __t1361 = { let v_W4635 = v_W4635.clone(); let v_W4646 = v_W4646.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1360 = v_W4646.clone(); rt::apply_value(interp, v_W4635.clone(), &[__t1360])? }), vec![v_W4635, v_W4646], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1353, __t1358, __t1359, __t1361])? }; rt::apply_direct(interp, "shen.gc", &[__t1352, __t1362])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1373 = { let __t1371 = v_W4626.clone(); let __t1372 = Value::bool(false); rt::eq(&__t1371, &__t1372) }; if match rt::is_truthy(interp, &__t1373) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4647 = { let __t1428 = { let __t1374 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1374])? }; if rt::is_truthy(interp, &__t1428)? { { let v_W4648 = { let __t1375 = v_V4536.clone(); let __t1376 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1375, __t1376])? }; { let __t1427 = { let __t1377 = v_W4648.clone(); rt::is_cons(&__t1377) }; if rt::is_truthy(interp, &__t1427)? { { let v_W4649 = { let __t1379 = { let __t1378 = v_W4648.clone(); rt::hd(&__t1378)? }; let __t1380 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1379, __t1380])? }; { let __t1426 = { let __t1381 = v_W4649.clone(); let __t1382 = Value::sym(interp.intern("@s")); rt::eq(&__t1381, &__t1382) }; if rt::is_truthy(interp, &__t1426)? { { let v_W4650 = { let __t1384 = { let __t1383 = v_W4648.clone(); rt::tl(&__t1383)? }; let __t1385 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1384, __t1385])? }; { let __t1425 = { let __t1386 = v_W4650.clone(); rt::is_cons(&__t1386) }; if rt::is_truthy(interp, &__t1425)? { { let v_W4651 = { let __t1387 = v_W4650.clone(); rt::hd(&__t1387)? }; { let v_W4652 = { let __t1389 = { let __t1388 = v_W4650.clone(); rt::tl(&__t1388)? }; let __t1390 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1389, __t1390])? }; { let __t1424 = { let __t1391 = v_W4652.clone(); rt::is_cons(&__t1391) }; if rt::is_truthy(interp, &__t1424)? { { let v_W4653 = { let __t1392 = v_W4652.clone(); rt::hd(&__t1392)? }; { let v_W4654 = { let __t1394 = { let __t1393 = v_W4652.clone(); rt::tl(&__t1393)? }; let __t1395 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1394, __t1395])? }; { let __t1423 = { let __t1396 = v_W4654.clone(); let __t1397 = Value::nil(); rt::eq(&__t1396, &__t1397) }; if rt::is_truthy(interp, &__t1423)? { { let v_W4655 = { let __t1398 = v_V4537.clone(); let __t1399 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1398, __t1399])? }; { let v_W4656 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4651 = v_W4651.clone(); let v_W4653 = v_W4653.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1400 = v_W4651.clone(); let __t1401 = Value::sym(interp.intern("string")); let __t1402 = v_V4538.clone(); let __t1403 = v_V4539.clone(); let __t1404 = v_V4540.clone(); let __t1405 = v_W4543.clone(); let __t1413 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4653 = v_W4653.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1406 = v_W4653.clone(); let __t1407 = Value::sym(interp.intern("string")); let __t1408 = v_V4538.clone(); let __t1409 = v_V4539.clone(); let __t1410 = v_V4540.clone(); let __t1411 = v_W4543.clone(); let __t1412 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1406, __t1407, __t1408, __t1409, __t1410, __t1411, __t1412])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4653], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1400, __t1401, __t1402, __t1403, __t1404, __t1405, __t1413])? } }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4651, v_W4653], interp) }; { let __t1422 = { let __t1414 = v_W4655.clone(); let __t1415 = Value::sym(interp.intern("string")); rt::eq(&__t1414, &__t1415) }; if rt::is_truthy(interp, &__t1422)? { rt::apply_value(interp, v_W4656.clone(), &[])? } else { { let __t1421 = { let __t1416 = v_W4655.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1416])? }; if rt::is_truthy(interp, &__t1421)? { { let __t1417 = v_W4655.clone(); let __t1418 = Value::sym(interp.intern("string")); let __t1419 = v_V4539.clone(); let __t1420 = v_W4656.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1417, __t1418, __t1419, __t1420])? } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1431 = { let __t1429 = v_W4647.clone(); let __t1430 = Value::bool(false); rt::eq(&__t1429, &__t1430) }; if match rt::is_truthy(interp, &__t1431) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4657 = { let __t1599 = { let __t1432 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1432])? }; if rt::is_truthy(interp, &__t1599)? { { let v_W4658 = { let __t1433 = v_V4536.clone(); let __t1434 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1433, __t1434])? }; { let __t1598 = { let __t1435 = v_W4658.clone(); rt::is_cons(&__t1435) }; if rt::is_truthy(interp, &__t1598)? { { let v_W4659 = { let __t1437 = { let __t1436 = v_W4658.clone(); rt::hd(&__t1436)? }; let __t1438 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1437, __t1438])? }; { let __t1597 = { let __t1439 = v_W4659.clone(); let __t1440 = Value::sym(interp.intern("lambda")); rt::eq(&__t1439, &__t1440) }; if rt::is_truthy(interp, &__t1597)? { { let v_W4660 = { let __t1442 = { let __t1441 = v_W4658.clone(); rt::tl(&__t1441)? }; let __t1443 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1442, __t1443])? }; { let __t1596 = { let __t1444 = v_W4660.clone(); rt::is_cons(&__t1444) }; if rt::is_truthy(interp, &__t1596)? { { let v_W4661 = { let __t1445 = v_W4660.clone(); rt::hd(&__t1445)? }; { let v_W4662 = { let __t1447 = { let __t1446 = v_W4660.clone(); rt::tl(&__t1446)? }; let __t1448 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1447, __t1448])? }; { let __t1595 = { let __t1449 = v_W4662.clone(); rt::is_cons(&__t1449) }; if rt::is_truthy(interp, &__t1595)? { { let v_W4663 = { let __t1450 = v_W4662.clone(); rt::hd(&__t1450)? }; { let v_W4664 = { let __t1452 = { let __t1451 = v_W4662.clone(); rt::tl(&__t1451)? }; let __t1453 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1452, __t1453])? }; { let __t1594 = { let __t1454 = v_W4664.clone(); let __t1455 = Value::nil(); rt::eq(&__t1454, &__t1455) }; if rt::is_truthy(interp, &__t1594)? { { let v_W4665 = { let __t1456 = v_V4537.clone(); let __t1457 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1456, __t1457])? }; { let v_W4666 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4661 = v_W4661.clone(); let v_W4663 = v_W4663.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4667 = args[0].clone(); Ok({ let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4661 = v_W4661.clone(); let v_W4663 = v_W4663.clone(); let v_Z4667 = v_Z4667.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4668 = args[0].clone(); Ok({ let v_W4669 = { let __t1458 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1458])? }; { let __t1459 = v_V4539.clone(); let __t1503 = { let v_W4670 = { let __t1460 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1460])? }; { let __t1461 = v_V4539.clone(); let __t1502 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1462 = v_W4670.clone(); let __t1466 = { let __t1465 = { let __t1463 = v_W4661.clone(); let __t1464 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1463, __t1464])? }; rt::apply_direct(interp, "shen.freshterm", &[__t1465])? }; let __t1467 = v_V4539.clone(); let __t1468 = v_V4540.clone(); let __t1469 = v_W4543.clone(); let __t1501 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4661 = v_W4661.clone(); let v_W4663 = v_W4663.clone(); let v_W4669 = v_W4669.clone(); let v_W4670 = v_W4670.clone(); let v_Z4667 = v_Z4667.clone(); let v_Z4668 = v_Z4668.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1470 = v_W4669.clone(); let __t1480 = { let __t1473 = { let __t1471 = v_W4661.clone(); let __t1472 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1471, __t1472])? }; let __t1476 = { let __t1474 = v_W4670.clone(); let __t1475 = v_V4539.clone(); rt::apply_direct(interp, "shen.deref", &[__t1474, __t1475])? }; let __t1479 = { let __t1477 = v_W4663.clone(); let __t1478 = v_V4539.clone(); rt::apply_direct(interp, "shen.deref", &[__t1477, __t1478])? }; rt::apply_direct(interp, "shen.beta", &[__t1473, __t1476, __t1479])? }; let __t1481 = v_V4539.clone(); let __t1482 = v_V4540.clone(); let __t1483 = v_W4543.clone(); let __t1500 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4669 = v_W4669.clone(); let v_W4670 = v_W4670.clone(); let v_Z4667 = v_Z4667.clone(); let v_Z4668 = v_Z4668.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1484 = v_W4669.clone(); let __t1485 = v_Z4668.clone(); let __t1495 = { let __t1493 = { let __t1486 = v_W4670.clone(); let __t1492 = { let __t1488 = { let __t1487 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t1487])? }; let __t1491 = { let __t1489 = v_Z4667.clone(); let __t1490 = Value::nil(); rt::cons(&__t1489, &__t1490) }; rt::cons(&__t1488, &__t1491) }; rt::cons(&__t1486, &__t1492) }; let __t1494 = v_V4538.clone(); rt::cons(&__t1493, &__t1494) }; let __t1496 = v_V4539.clone(); let __t1497 = v_V4540.clone(); let __t1498 = v_W4543.clone(); let __t1499 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1484, __t1485, __t1495, __t1496, __t1497, __t1498, __t1499])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4669, v_W4670, v_Z4667, v_Z4668], interp) }; rt::apply_direct(interp, "bind", &[__t1470, __t1480, __t1481, __t1482, __t1483, __t1500])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4661, v_W4663, v_W4669, v_W4670, v_Z4667, v_Z4668], interp) }; rt::apply_direct(interp, "bind", &[__t1462, __t1466, __t1467, __t1468, __t1469, __t1501])? } }; rt::apply_direct(interp, "shen.gc", &[__t1461, __t1502])? } }; rt::apply_direct(interp, "shen.gc", &[__t1459, __t1503])? } }) }, vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4661, v_W4663, v_Z4667], interp) }) }, vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4661, v_W4663], interp) }; { let __t1593 = { let __t1504 = v_W4665.clone(); rt::is_cons(&__t1504) }; if rt::is_truthy(interp, &__t1593)? { { let v_W4671 = { let __t1505 = v_W4665.clone(); rt::hd(&__t1505)? }; { let v_W4672 = { let __t1507 = { let __t1506 = v_W4665.clone(); rt::tl(&__t1506)? }; let __t1508 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1507, __t1508])? }; { let v_W4673 = { let v_W4666 = v_W4666.clone(); let v_W4671 = v_W4671.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4674 = args[0].clone(); Ok({ let __t1510 = { let __t1509 = v_W4671.clone(); rt::apply_value(interp, v_W4666.clone(), &[__t1509])? }; let __t1511 = v_Z4674.clone(); rt::apply_value(interp, __t1510, &[__t1511])? }) }, vec![v_W4666, v_W4671], interp) }; { let __t1571 = { let __t1512 = v_W4672.clone(); rt::is_cons(&__t1512) }; if rt::is_truthy(interp, &__t1571)? { { let v_W4675 = { let __t1514 = { let __t1513 = v_W4672.clone(); rt::hd(&__t1513)? }; let __t1515 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1514, __t1515])? }; { let v_W4676 = { let v_V4539 = v_V4539.clone(); let v_W4672 = v_W4672.clone(); let v_W4673 = v_W4673.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4677 = { let __t1517 = { let __t1516 = v_W4672.clone(); rt::tl(&__t1516)? }; let __t1518 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1517, __t1518])? }; { let v_W4678 = { let v_W4673 = v_W4673.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4679 = args[0].clone(); Ok({ let __t1519 = v_Z4679.clone(); rt::apply_value(interp, v_W4673.clone(), &[__t1519])? }) }, vec![v_W4673], interp) }; { let __t1547 = { let __t1520 = v_W4677.clone(); rt::is_cons(&__t1520) }; if rt::is_truthy(interp, &__t1547)? { { let v_W4680 = { let __t1521 = v_W4677.clone(); rt::hd(&__t1521)? }; { let v_W4681 = { let __t1523 = { let __t1522 = v_W4677.clone(); rt::tl(&__t1522)? }; let __t1524 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1523, __t1524])? }; { let v_W4682 = { let v_W4678 = v_W4678.clone(); let v_W4680 = v_W4680.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1525 = v_W4680.clone(); rt::apply_value(interp, v_W4678.clone(), &[__t1525])? }), vec![v_W4678, v_W4680], interp) }; { let __t1534 = { let __t1526 = v_W4681.clone(); let __t1527 = Value::nil(); rt::eq(&__t1526, &__t1527) }; if rt::is_truthy(interp, &__t1534)? { rt::apply_value(interp, v_W4682.clone(), &[])? } else { { let __t1533 = { let __t1528 = v_W4681.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1528])? }; if rt::is_truthy(interp, &__t1533)? { { let __t1529 = v_W4681.clone(); let __t1530 = Value::nil(); let __t1531 = v_V4539.clone(); let __t1532 = v_W4682.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1529, __t1530, __t1531, __t1532])? } } else { Value::bool(false) } } } } } } } } else { { let __t1546 = { let __t1535 = v_W4677.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1535])? }; if rt::is_truthy(interp, &__t1546)? { { let v_W4683 = { let __t1536 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1536])? }; { let __t1537 = v_V4539.clone(); let __t1545 = { let __t1538 = v_W4677.clone(); let __t1541 = { let __t1539 = v_W4683.clone(); let __t1540 = Value::nil(); rt::cons(&__t1539, &__t1540) }; let __t1542 = v_V4539.clone(); let __t1544 = { let v_W4678 = v_W4678.clone(); let v_W4683 = v_W4683.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1543 = v_W4683.clone(); rt::apply_value(interp, v_W4678.clone(), &[__t1543])? }), vec![v_W4678, v_W4683], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1538, __t1541, __t1542, __t1544])? }; rt::apply_direct(interp, "shen.gc", &[__t1537, __t1545])? } } } else { Value::bool(false) } } } } } }), vec![v_V4539, v_W4672, v_W4673], interp) }; { let __t1556 = { let __t1548 = v_W4675.clone(); let __t1549 = Value::sym(interp.intern("-->")); rt::eq(&__t1548, &__t1549) }; if rt::is_truthy(interp, &__t1556)? { rt::apply_value(interp, v_W4676.clone(), &[])? } else { { let __t1555 = { let __t1550 = v_W4675.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1550])? }; if rt::is_truthy(interp, &__t1555)? { { let __t1551 = v_W4675.clone(); let __t1552 = Value::sym(interp.intern("-->")); let __t1553 = v_V4539.clone(); let __t1554 = v_W4676.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1551, __t1552, __t1553, __t1554])? } } else { Value::bool(false) } } } } } } } else { { let __t1570 = { let __t1557 = v_W4672.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1557])? }; if rt::is_truthy(interp, &__t1570)? { { let v_W4684 = { let __t1558 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1558])? }; { let __t1559 = v_V4539.clone(); let __t1569 = { let __t1560 = v_W4672.clone(); let __t1565 = { let __t1561 = Value::sym(interp.intern("-->")); let __t1564 = { let __t1562 = v_W4684.clone(); let __t1563 = Value::nil(); rt::cons(&__t1562, &__t1563) }; rt::cons(&__t1561, &__t1564) }; let __t1566 = v_V4539.clone(); let __t1568 = { let v_W4673 = v_W4673.clone(); let v_W4684 = v_W4684.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1567 = v_W4684.clone(); rt::apply_value(interp, v_W4673.clone(), &[__t1567])? }), vec![v_W4673, v_W4684], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1560, __t1565, __t1566, __t1568])? }; rt::apply_direct(interp, "shen.gc", &[__t1559, __t1569])? } } } else { Value::bool(false) } } } } } } } } else { { let __t1592 = { let __t1572 = v_W4665.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1572])? }; if rt::is_truthy(interp, &__t1592)? { { let v_W4685 = { let __t1573 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1573])? }; { let __t1574 = v_V4539.clone(); let __t1591 = { let v_W4686 = { let __t1575 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1575])? }; { let __t1576 = v_V4539.clone(); let __t1590 = { let __t1577 = v_W4665.clone(); let __t1584 = { let __t1578 = v_W4685.clone(); let __t1583 = { let __t1579 = Value::sym(interp.intern("-->")); let __t1582 = { let __t1580 = v_W4686.clone(); let __t1581 = Value::nil(); rt::cons(&__t1580, &__t1581) }; rt::cons(&__t1579, &__t1582) }; rt::cons(&__t1578, &__t1583) }; let __t1585 = v_V4539.clone(); let __t1589 = { let v_W4666 = v_W4666.clone(); let v_W4685 = v_W4685.clone(); let v_W4686 = v_W4686.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1587 = { let __t1586 = v_W4685.clone(); rt::apply_value(interp, v_W4666.clone(), &[__t1586])? }; let __t1588 = v_W4686.clone(); rt::apply_value(interp, __t1587, &[__t1588])? }), vec![v_W4666, v_W4685, v_W4686], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1577, __t1584, __t1585, __t1589])? }; rt::apply_direct(interp, "shen.gc", &[__t1576, __t1590])? } }; rt::apply_direct(interp, "shen.gc", &[__t1574, __t1591])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1602 = { let __t1600 = v_W4657.clone(); let __t1601 = Value::bool(false); rt::eq(&__t1600, &__t1601) }; if match rt::is_truthy(interp, &__t1602) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4687 = { let __t1694 = { let __t1603 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1603])? }; if rt::is_truthy(interp, &__t1694)? { { let v_W4688 = { let __t1604 = v_V4536.clone(); let __t1605 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1604, __t1605])? }; { let __t1693 = { let __t1606 = v_W4688.clone(); rt::is_cons(&__t1606) }; if rt::is_truthy(interp, &__t1693)? { { let v_W4689 = { let __t1608 = { let __t1607 = v_W4688.clone(); rt::hd(&__t1607)? }; let __t1609 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1608, __t1609])? }; { let __t1692 = { let __t1610 = v_W4689.clone(); let __t1611 = Value::sym(interp.intern("let")); rt::eq(&__t1610, &__t1611) }; if rt::is_truthy(interp, &__t1692)? { { let v_W4690 = { let __t1613 = { let __t1612 = v_W4688.clone(); rt::tl(&__t1612)? }; let __t1614 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1613, __t1614])? }; { let __t1691 = { let __t1615 = v_W4690.clone(); rt::is_cons(&__t1615) }; if rt::is_truthy(interp, &__t1691)? { { let v_W4691 = { let __t1616 = v_W4690.clone(); rt::hd(&__t1616)? }; { let v_W4692 = { let __t1618 = { let __t1617 = v_W4690.clone(); rt::tl(&__t1617)? }; let __t1619 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1618, __t1619])? }; { let __t1690 = { let __t1620 = v_W4692.clone(); rt::is_cons(&__t1620) }; if rt::is_truthy(interp, &__t1690)? { { let v_W4693 = { let __t1621 = v_W4692.clone(); rt::hd(&__t1621)? }; { let v_W4694 = { let __t1623 = { let __t1622 = v_W4692.clone(); rt::tl(&__t1622)? }; let __t1624 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1623, __t1624])? }; { let __t1689 = { let __t1625 = v_W4694.clone(); rt::is_cons(&__t1625) }; if rt::is_truthy(interp, &__t1689)? { { let v_W4695 = { let __t1626 = v_W4694.clone(); rt::hd(&__t1626)? }; { let v_W4696 = { let __t1628 = { let __t1627 = v_W4694.clone(); rt::tl(&__t1627)? }; let __t1629 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1628, __t1629])? }; { let __t1688 = { let __t1630 = v_W4696.clone(); let __t1631 = Value::nil(); rt::eq(&__t1630, &__t1631) }; if rt::is_truthy(interp, &__t1688)? { { let v_W4697 = { let __t1632 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1632])? }; { let __t1633 = v_V4539.clone(); let __t1687 = { let v_W4698 = { let __t1634 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1634])? }; { let __t1635 = v_V4539.clone(); let __t1686 = { let v_W4699 = { let __t1636 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1636])? }; { let __t1637 = v_V4539.clone(); let __t1685 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1638 = v_W4693.clone(); let __t1639 = v_W4699.clone(); let __t1640 = v_V4538.clone(); let __t1641 = v_V4539.clone(); let __t1642 = v_V4540.clone(); let __t1643 = v_W4543.clone(); let __t1684 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4691 = v_W4691.clone(); let v_W4695 = v_W4695.clone(); let v_W4697 = v_W4697.clone(); let v_W4698 = v_W4698.clone(); let v_W4699 = v_W4699.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1644 = v_W4698.clone(); let __t1648 = { let __t1647 = { let __t1645 = v_W4691.clone(); let __t1646 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1645, __t1646])? }; rt::apply_direct(interp, "shen.freshterm", &[__t1647])? }; let __t1649 = v_V4539.clone(); let __t1650 = v_V4540.clone(); let __t1651 = v_W4543.clone(); let __t1683 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4691 = v_W4691.clone(); let v_W4695 = v_W4695.clone(); let v_W4697 = v_W4697.clone(); let v_W4698 = v_W4698.clone(); let v_W4699 = v_W4699.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1652 = v_W4697.clone(); let __t1662 = { let __t1655 = { let __t1653 = v_W4691.clone(); let __t1654 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1653, __t1654])? }; let __t1658 = { let __t1656 = v_W4698.clone(); let __t1657 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1656, __t1657])? }; let __t1661 = { let __t1659 = v_W4695.clone(); let __t1660 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1659, __t1660])? }; rt::apply_direct(interp, "shen.beta", &[__t1655, __t1658, __t1661])? }; let __t1663 = v_V4539.clone(); let __t1664 = v_V4540.clone(); let __t1665 = v_W4543.clone(); let __t1682 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4697 = v_W4697.clone(); let v_W4698 = v_W4698.clone(); let v_W4699 = v_W4699.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1666 = v_W4697.clone(); let __t1667 = v_V4537.clone(); let __t1677 = { let __t1675 = { let __t1668 = v_W4698.clone(); let __t1674 = { let __t1670 = { let __t1669 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t1669])? }; let __t1673 = { let __t1671 = v_W4699.clone(); let __t1672 = Value::nil(); rt::cons(&__t1671, &__t1672) }; rt::cons(&__t1670, &__t1673) }; rt::cons(&__t1668, &__t1674) }; let __t1676 = v_V4538.clone(); rt::cons(&__t1675, &__t1676) }; let __t1678 = v_V4539.clone(); let __t1679 = v_V4540.clone(); let __t1680 = v_W4543.clone(); let __t1681 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1666, __t1667, __t1677, __t1678, __t1679, __t1680, __t1681])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4697, v_W4698, v_W4699], interp) }; rt::apply_direct(interp, "bind", &[__t1652, __t1662, __t1663, __t1664, __t1665, __t1682])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4691, v_W4695, v_W4697, v_W4698, v_W4699], interp) }; rt::apply_direct(interp, "bind", &[__t1644, __t1648, __t1649, __t1650, __t1651, __t1683])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4691, v_W4695, v_W4697, v_W4698, v_W4699], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1638, __t1639, __t1640, __t1641, __t1642, __t1643, __t1684])? } }; rt::apply_direct(interp, "shen.gc", &[__t1637, __t1685])? } }; rt::apply_direct(interp, "shen.gc", &[__t1635, __t1686])? } }; rt::apply_direct(interp, "shen.gc", &[__t1633, __t1687])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1697 = { let __t1695 = v_W4687.clone(); let __t1696 = Value::bool(false); rt::eq(&__t1695, &__t1696) }; if match rt::is_truthy(interp, &__t1697) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4700 = { let __t1815 = { let __t1698 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1698])? }; if rt::is_truthy(interp, &__t1815)? { { let v_W4701 = { let __t1699 = v_V4536.clone(); let __t1700 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1699, __t1700])? }; { let __t1814 = { let __t1701 = v_W4701.clone(); rt::is_cons(&__t1701) }; if rt::is_truthy(interp, &__t1814)? { { let v_W4702 = { let __t1703 = { let __t1702 = v_W4701.clone(); rt::hd(&__t1702)? }; let __t1704 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1703, __t1704])? }; { let __t1813 = { let __t1705 = v_W4702.clone(); let __t1706 = Value::sym(interp.intern("open")); rt::eq(&__t1705, &__t1706) }; if rt::is_truthy(interp, &__t1813)? { { let v_W4703 = { let __t1708 = { let __t1707 = v_W4701.clone(); rt::tl(&__t1707)? }; let __t1709 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1708, __t1709])? }; { let __t1812 = { let __t1710 = v_W4703.clone(); rt::is_cons(&__t1710) }; if rt::is_truthy(interp, &__t1812)? { { let v_W4704 = { let __t1711 = v_W4703.clone(); rt::hd(&__t1711)? }; { let v_W4705 = { let __t1713 = { let __t1712 = v_W4703.clone(); rt::tl(&__t1712)? }; let __t1714 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1713, __t1714])? }; { let __t1811 = { let __t1715 = v_W4705.clone(); rt::is_cons(&__t1715) }; if rt::is_truthy(interp, &__t1811)? { { let v_W4706 = { let __t1716 = v_W4705.clone(); rt::hd(&__t1716)? }; { let v_W4707 = { let __t1718 = { let __t1717 = v_W4705.clone(); rt::tl(&__t1717)? }; let __t1719 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1718, __t1719])? }; { let __t1810 = { let __t1720 = v_W4707.clone(); let __t1721 = Value::nil(); rt::eq(&__t1720, &__t1721) }; if rt::is_truthy(interp, &__t1810)? { { let v_W4708 = { let __t1722 = v_V4537.clone(); let __t1723 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1722, __t1723])? }; { let v_W4709 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4704 = v_W4704.clone(); let v_W4706 = v_W4706.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4710 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1724 = v_W4706.clone(); let __t1725 = v_Z4710.clone(); let __t1726 = v_V4539.clone(); let __t1727 = v_V4540.clone(); let __t1728 = v_W4543.clone(); let __t1749 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4704 = v_W4704.clone(); let v_Z4710 = v_Z4710.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1737 = { let __t1731 = { let __t1729 = v_Z4710.clone(); let __t1730 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1729, __t1730])? }; let __t1736 = { let __t1732 = Value::sym(interp.intern("in")); let __t1735 = { let __t1733 = Value::sym(interp.intern("out")); let __t1734 = Value::nil(); rt::cons(&__t1733, &__t1734) }; rt::cons(&__t1732, &__t1735) }; rt::apply_direct(interp, "element?", &[__t1731, __t1736])? }; let __t1738 = v_V4539.clone(); let __t1739 = v_V4540.clone(); let __t1740 = v_W4543.clone(); let __t1748 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4704 = v_W4704.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1741 = v_W4704.clone(); let __t1742 = Value::sym(interp.intern("string")); let __t1743 = v_V4538.clone(); let __t1744 = v_V4539.clone(); let __t1745 = v_V4540.clone(); let __t1746 = v_W4543.clone(); let __t1747 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1741, __t1742, __t1743, __t1744, __t1745, __t1746, __t1747])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4704], interp) }; rt::apply_direct(interp, "when", &[__t1737, __t1738, __t1739, __t1740, __t1748])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4704, v_Z4710], interp) }; rt::apply_direct(interp, "is!", &[__t1724, __t1725, __t1726, __t1727, __t1728, __t1749])? } }) }, vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4704, v_W4706], interp) }; { let __t1809 = { let __t1750 = v_W4708.clone(); rt::is_cons(&__t1750) }; if rt::is_truthy(interp, &__t1809)? { { let v_W4711 = { let __t1752 = { let __t1751 = v_W4708.clone(); rt::hd(&__t1751)? }; let __t1753 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1752, __t1753])? }; { let v_W4712 = { let v_V4539 = v_V4539.clone(); let v_W4708 = v_W4708.clone(); let v_W4709 = v_W4709.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4713 = { let __t1755 = { let __t1754 = v_W4708.clone(); rt::tl(&__t1754)? }; let __t1756 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1755, __t1756])? }; { let v_W4714 = { let v_W4709 = v_W4709.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4715 = args[0].clone(); Ok({ let __t1757 = v_Z4715.clone(); rt::apply_value(interp, v_W4709.clone(), &[__t1757])? }) }, vec![v_W4709], interp) }; { let __t1785 = { let __t1758 = v_W4713.clone(); rt::is_cons(&__t1758) }; if rt::is_truthy(interp, &__t1785)? { { let v_W4716 = { let __t1759 = v_W4713.clone(); rt::hd(&__t1759)? }; { let v_W4717 = { let __t1761 = { let __t1760 = v_W4713.clone(); rt::tl(&__t1760)? }; let __t1762 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1761, __t1762])? }; { let v_W4718 = { let v_W4714 = v_W4714.clone(); let v_W4716 = v_W4716.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1763 = v_W4716.clone(); rt::apply_value(interp, v_W4714.clone(), &[__t1763])? }), vec![v_W4714, v_W4716], interp) }; { let __t1772 = { let __t1764 = v_W4717.clone(); let __t1765 = Value::nil(); rt::eq(&__t1764, &__t1765) }; if rt::is_truthy(interp, &__t1772)? { rt::apply_value(interp, v_W4718.clone(), &[])? } else { { let __t1771 = { let __t1766 = v_W4717.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1766])? }; if rt::is_truthy(interp, &__t1771)? { { let __t1767 = v_W4717.clone(); let __t1768 = Value::nil(); let __t1769 = v_V4539.clone(); let __t1770 = v_W4718.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1767, __t1768, __t1769, __t1770])? } } else { Value::bool(false) } } } } } } } } else { { let __t1784 = { let __t1773 = v_W4713.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1773])? }; if rt::is_truthy(interp, &__t1784)? { { let v_W4719 = { let __t1774 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1774])? }; { let __t1775 = v_V4539.clone(); let __t1783 = { let __t1776 = v_W4713.clone(); let __t1779 = { let __t1777 = v_W4719.clone(); let __t1778 = Value::nil(); rt::cons(&__t1777, &__t1778) }; let __t1780 = v_V4539.clone(); let __t1782 = { let v_W4714 = v_W4714.clone(); let v_W4719 = v_W4719.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1781 = v_W4719.clone(); rt::apply_value(interp, v_W4714.clone(), &[__t1781])? }), vec![v_W4714, v_W4719], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1776, __t1779, __t1780, __t1782])? }; rt::apply_direct(interp, "shen.gc", &[__t1775, __t1783])? } } } else { Value::bool(false) } } } } } }), vec![v_V4539, v_W4708, v_W4709], interp) }; { let __t1794 = { let __t1786 = v_W4711.clone(); let __t1787 = Value::sym(interp.intern("stream")); rt::eq(&__t1786, &__t1787) }; if rt::is_truthy(interp, &__t1794)? { rt::apply_value(interp, v_W4712.clone(), &[])? } else { { let __t1793 = { let __t1788 = v_W4711.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1788])? }; if rt::is_truthy(interp, &__t1793)? { { let __t1789 = v_W4711.clone(); let __t1790 = Value::sym(interp.intern("stream")); let __t1791 = v_V4539.clone(); let __t1792 = v_W4712.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1789, __t1790, __t1791, __t1792])? } } else { Value::bool(false) } } } } } } } else { { let __t1808 = { let __t1795 = v_W4708.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1795])? }; if rt::is_truthy(interp, &__t1808)? { { let v_W4720 = { let __t1796 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1796])? }; { let __t1797 = v_V4539.clone(); let __t1807 = { let __t1798 = v_W4708.clone(); let __t1803 = { let __t1799 = Value::sym(interp.intern("stream")); let __t1802 = { let __t1800 = v_W4720.clone(); let __t1801 = Value::nil(); rt::cons(&__t1800, &__t1801) }; rt::cons(&__t1799, &__t1802) }; let __t1804 = v_V4539.clone(); let __t1806 = { let v_W4709 = v_W4709.clone(); let v_W4720 = v_W4720.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1805 = v_W4720.clone(); rt::apply_value(interp, v_W4709.clone(), &[__t1805])? }), vec![v_W4709, v_W4720], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1798, __t1803, __t1804, __t1806])? }; rt::apply_direct(interp, "shen.gc", &[__t1797, __t1807])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1818 = { let __t1816 = v_W4700.clone(); let __t1817 = Value::bool(false); rt::eq(&__t1816, &__t1817) }; if match rt::is_truthy(interp, &__t1818) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4721 = { let __t1868 = { let __t1819 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1819])? }; if rt::is_truthy(interp, &__t1868)? { { let v_W4722 = { let __t1820 = v_V4536.clone(); let __t1821 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1820, __t1821])? }; { let __t1867 = { let __t1822 = v_W4722.clone(); rt::is_cons(&__t1822) }; if rt::is_truthy(interp, &__t1867)? { { let v_W4723 = { let __t1824 = { let __t1823 = v_W4722.clone(); rt::hd(&__t1823)? }; let __t1825 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1824, __t1825])? }; { let __t1866 = { let __t1826 = v_W4723.clone(); let __t1827 = Value::sym(interp.intern("type")); rt::eq(&__t1826, &__t1827) }; if rt::is_truthy(interp, &__t1866)? { { let v_W4724 = { let __t1829 = { let __t1828 = v_W4722.clone(); rt::tl(&__t1828)? }; let __t1830 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1829, __t1830])? }; { let __t1865 = { let __t1831 = v_W4724.clone(); rt::is_cons(&__t1831) }; if rt::is_truthy(interp, &__t1865)? { { let v_W4725 = { let __t1832 = v_W4724.clone(); rt::hd(&__t1832)? }; { let v_W4726 = { let __t1834 = { let __t1833 = v_W4724.clone(); rt::tl(&__t1833)? }; let __t1835 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1834, __t1835])? }; { let __t1864 = { let __t1836 = v_W4726.clone(); rt::is_cons(&__t1836) }; if rt::is_truthy(interp, &__t1864)? { { let v_W4727 = { let __t1837 = v_W4726.clone(); rt::hd(&__t1837)? }; { let v_W4728 = { let __t1839 = { let __t1838 = v_W4726.clone(); rt::tl(&__t1838)? }; let __t1840 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1839, __t1840])? }; { let __t1863 = { let __t1841 = v_W4728.clone(); let __t1842 = Value::nil(); rt::eq(&__t1841, &__t1842) }; if rt::is_truthy(interp, &__t1863)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1843 = v_V4539.clone(); let __t1844 = v_V4540.clone(); let __t1845 = v_W4543.clone(); let __t1862 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4725 = v_W4725.clone(); let v_W4727 = v_W4727.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1849 = { let __t1848 = { let __t1846 = v_W4727.clone(); let __t1847 = v_V4539.clone(); rt::apply_direct(interp, "shen.deref", &[__t1846, __t1847])? }; rt::apply_direct(interp, "shen.rectify-type", &[__t1848])? }; let __t1850 = v_V4537.clone(); let __t1851 = v_V4539.clone(); let __t1852 = v_V4540.clone(); let __t1853 = v_W4543.clone(); let __t1861 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4725 = v_W4725.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1854 = v_W4725.clone(); let __t1855 = v_V4537.clone(); let __t1856 = v_V4538.clone(); let __t1857 = v_V4539.clone(); let __t1858 = v_V4540.clone(); let __t1859 = v_W4543.clone(); let __t1860 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1854, __t1855, __t1856, __t1857, __t1858, __t1859, __t1860])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4725], interp) }; rt::apply_direct(interp, "is!", &[__t1849, __t1850, __t1851, __t1852, __t1853, __t1861])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4725, v_W4727], interp) }; rt::apply_direct(interp, "shen.cut", &[__t1843, __t1844, __t1845, __t1862])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1871 = { let __t1869 = v_W4721.clone(); let __t1870 = Value::bool(false); rt::eq(&__t1869, &__t1870) }; if match rt::is_truthy(interp, &__t1871) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4729 = { let __t1922 = { let __t1872 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1872])? }; if rt::is_truthy(interp, &__t1922)? { { let v_W4730 = { let __t1873 = v_V4536.clone(); let __t1874 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1873, __t1874])? }; { let __t1921 = { let __t1875 = v_W4730.clone(); rt::is_cons(&__t1875) }; if rt::is_truthy(interp, &__t1921)? { { let v_W4731 = { let __t1877 = { let __t1876 = v_W4730.clone(); rt::hd(&__t1876)? }; let __t1878 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1877, __t1878])? }; { let __t1920 = { let __t1879 = v_W4731.clone(); let __t1880 = Value::sym(interp.intern("shen.input-h+")); rt::eq(&__t1879, &__t1880) }; if rt::is_truthy(interp, &__t1920)? { { let v_W4732 = { let __t1882 = { let __t1881 = v_W4730.clone(); rt::tl(&__t1881)? }; let __t1883 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1882, __t1883])? }; { let __t1919 = { let __t1884 = v_W4732.clone(); rt::is_cons(&__t1884) }; if rt::is_truthy(interp, &__t1919)? { { let v_W4733 = { let __t1885 = v_W4732.clone(); rt::hd(&__t1885)? }; { let v_W4734 = { let __t1887 = { let __t1886 = v_W4732.clone(); rt::tl(&__t1886)? }; let __t1888 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1887, __t1888])? }; { let __t1918 = { let __t1889 = v_W4734.clone(); rt::is_cons(&__t1889) }; if rt::is_truthy(interp, &__t1918)? { { let v_W4735 = { let __t1890 = v_W4734.clone(); rt::hd(&__t1890)? }; { let v_W4736 = { let __t1892 = { let __t1891 = v_W4734.clone(); rt::tl(&__t1891)? }; let __t1893 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1892, __t1893])? }; { let __t1917 = { let __t1894 = v_W4736.clone(); let __t1895 = Value::nil(); rt::eq(&__t1894, &__t1895) }; if rt::is_truthy(interp, &__t1917)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1896 = v_V4537.clone(); let __t1901 = { let __t1900 = { let __t1899 = { let __t1897 = v_W4733.clone(); let __t1898 = v_V4539.clone(); rt::apply_direct(interp, "shen.deref", &[__t1897, __t1898])? }; rt::apply_direct(interp, "shen.rdecons", &[__t1899])? }; rt::apply_direct(interp, "shen.rectify-type", &[__t1900])? }; let __t1902 = v_V4539.clone(); let __t1903 = v_V4540.clone(); let __t1904 = v_W4543.clone(); let __t1916 = { let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4735 = v_W4735.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1905 = v_W4735.clone(); let __t1910 = { let __t1906 = Value::sym(interp.intern("stream")); let __t1909 = { let __t1907 = Value::sym(interp.intern("in")); let __t1908 = Value::nil(); rt::cons(&__t1907, &__t1908) }; rt::cons(&__t1906, &__t1909) }; let __t1911 = v_V4538.clone(); let __t1912 = v_V4539.clone(); let __t1913 = v_V4540.clone(); let __t1914 = v_W4543.clone(); let __t1915 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1905, __t1910, __t1911, __t1912, __t1913, __t1914, __t1915])? }), vec![v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4735], interp) }; rt::apply_direct(interp, "is", &[__t1896, __t1901, __t1902, __t1903, __t1904, __t1916])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1925 = { let __t1923 = v_W4729.clone(); let __t1924 = Value::bool(false); rt::eq(&__t1923, &__t1924) }; if match rt::is_truthy(interp, &__t1925) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4737 = { let __t1980 = { let __t1926 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1926])? }; if rt::is_truthy(interp, &__t1980)? { { let v_W4738 = { let __t1927 = v_V4536.clone(); let __t1928 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1927, __t1928])? }; { let __t1979 = { let __t1929 = v_W4738.clone(); rt::is_cons(&__t1929) }; if rt::is_truthy(interp, &__t1979)? { { let v_W4739 = { let __t1931 = { let __t1930 = v_W4738.clone(); rt::hd(&__t1930)? }; let __t1932 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1931, __t1932])? }; { let __t1978 = { let __t1933 = v_W4739.clone(); let __t1934 = Value::sym(interp.intern("set")); rt::eq(&__t1933, &__t1934) }; if rt::is_truthy(interp, &__t1978)? { { let v_W4740 = { let __t1936 = { let __t1935 = v_W4738.clone(); rt::tl(&__t1935)? }; let __t1937 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1936, __t1937])? }; { let __t1977 = { let __t1938 = v_W4740.clone(); rt::is_cons(&__t1938) }; if rt::is_truthy(interp, &__t1977)? { { let v_W4741 = { let __t1939 = v_W4740.clone(); rt::hd(&__t1939)? }; { let v_W4742 = { let __t1941 = { let __t1940 = v_W4740.clone(); rt::tl(&__t1940)? }; let __t1942 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1941, __t1942])? }; { let __t1976 = { let __t1943 = v_W4742.clone(); rt::is_cons(&__t1943) }; if rt::is_truthy(interp, &__t1976)? { { let v_W4743 = { let __t1944 = v_W4742.clone(); rt::hd(&__t1944)? }; { let v_W4744 = { let __t1946 = { let __t1945 = v_W4742.clone(); rt::tl(&__t1945)? }; let __t1947 = v_V4539.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1946, __t1947])? }; { let __t1975 = { let __t1948 = v_W4744.clone(); let __t1949 = Value::nil(); rt::eq(&__t1948, &__t1949) }; if rt::is_truthy(interp, &__t1975)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1950 = v_W4741.clone(); let __t1951 = Value::sym(interp.intern("symbol")); let __t1952 = v_V4538.clone(); let __t1953 = v_V4539.clone(); let __t1954 = v_V4540.clone(); let __t1955 = v_W4543.clone(); let __t1974 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4741 = v_W4741.clone(); let v_W4743 = v_W4743.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1960 = { let __t1956 = Value::sym(interp.intern("value")); let __t1959 = { let __t1957 = v_W4741.clone(); let __t1958 = Value::nil(); rt::cons(&__t1957, &__t1958) }; rt::cons(&__t1956, &__t1959) }; let __t1961 = v_V4537.clone(); let __t1962 = v_V4538.clone(); let __t1963 = v_V4539.clone(); let __t1964 = v_V4540.clone(); let __t1965 = v_W4543.clone(); let __t1973 = { let v_V4537 = v_V4537.clone(); let v_V4538 = v_V4538.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4743 = v_W4743.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1966 = v_W4743.clone(); let __t1967 = v_V4537.clone(); let __t1968 = v_V4538.clone(); let __t1969 = v_V4539.clone(); let __t1970 = v_V4540.clone(); let __t1971 = v_W4543.clone(); let __t1972 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1966, __t1967, __t1968, __t1969, __t1970, __t1971, __t1972])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4743], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1960, __t1961, __t1962, __t1963, __t1964, __t1965, __t1973])? }), vec![v_V4537, v_V4538, v_V4539, v_V4540, v_V4542, v_W4543, v_W4741, v_W4743], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1950, __t1951, __t1952, __t1953, __t1954, __t1955, __t1974])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1983 = { let __t1981 = v_W4737.clone(); let __t1982 = Value::bool(false); rt::eq(&__t1981, &__t1982) }; if match rt::is_truthy(interp, &__t1983) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4745 = { let __t2006 = { let __t1984 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1984])? }; if rt::is_truthy(interp, &__t2006)? { { let v_W4746 = { let __t1985 = v_V4539.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1985])? }; { let __t1986 = v_V4539.clone(); let __t2005 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1987 = v_V4538.clone(); let __t1988 = v_W4746.clone(); let __t1989 = Value::bool(false); let __t1990 = v_V4539.clone(); let __t1991 = v_V4540.clone(); let __t1992 = v_W4543.clone(); let __t2004 = { let v_V4536 = v_V4536.clone(); let v_V4537 = v_V4537.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4746 = v_W4746.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1993 = v_V4539.clone(); let __t1994 = v_V4540.clone(); let __t1995 = v_W4543.clone(); let __t2003 = { let v_V4536 = v_V4536.clone(); let v_V4537 = v_V4537.clone(); let v_V4539 = v_V4539.clone(); let v_V4540 = v_V4540.clone(); let v_V4542 = v_V4542.clone(); let v_W4543 = v_W4543.clone(); let v_W4746 = v_W4746.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1996 = v_V4536.clone(); let __t1997 = v_V4537.clone(); let __t1998 = v_W4746.clone(); let __t1999 = v_V4539.clone(); let __t2000 = v_V4540.clone(); let __t2001 = v_W4543.clone(); let __t2002 = v_V4542.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1996, __t1997, __t1998, __t1999, __t2000, __t2001, __t2002])? }), vec![v_V4536, v_V4537, v_V4539, v_V4540, v_V4542, v_W4543, v_W4746], interp) }; rt::apply_direct(interp, "shen.cut", &[__t1993, __t1994, __t1995, __t2003])? }), vec![v_V4536, v_V4537, v_V4539, v_V4540, v_V4542, v_W4543, v_W4746], interp) }; rt::apply_direct(interp, "shen.l-rules", &[__t1987, __t1988, __t1989, __t1990, __t1991, __t1992, __t2004])? } }; rt::apply_direct(interp, "shen.gc", &[__t1986, __t2005])? } } } else { Value::bool(false) } }; { let __t2009 = { let __t2007 = v_W4745.clone(); let __t2008 = Value::bool(false); rt::eq(&__t2007, &__t2008) }; if match rt::is_truthy(interp, &__t2009) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4747 = { let __t2026 = { let __t2010 = v_V4540.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2010])? }; if rt::is_truthy(interp, &__t2026)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2018 = { let __t2011 = v_V4536.clone(); let __t2017 = { let __t2013 = { let __t2012 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2012])? }; let __t2016 = { let __t2014 = v_V4537.clone(); let __t2015 = Value::nil(); rt::cons(&__t2014, &__t2015) }; rt::cons(&__t2013, &__t2016) }; rt::cons(&__t2011, &__t2017) }; let __t2019 = v_V4538.clone(); let __t2021 = { let __t2020 = Value::sym(interp.intern("shen.*datatypes*")); rt::apply_direct(interp, "value", &[__t2020])? }; let __t2022 = v_V4539.clone(); let __t2023 = v_V4540.clone(); let __t2024 = v_W4543.clone(); let __t2025 = v_V4542.clone(); rt::apply_direct(interp, "shen.search-user-datatypes", &[__t2018, __t2019, __t2021, __t2022, __t2023, __t2024, __t2025])? } } } else { Value::bool(false) } }; { let __t2029 = { let __t2027 = v_W4747.clone(); let __t2028 = Value::bool(false); rt::eq(&__t2027, &__t2028) }; if match rt::is_truthy(interp, &__t2029) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2030 = v_V4540.clone(); let __t2031 = v_W4543.clone(); rt::apply_direct(interp, "shen.unlock", &[__t2030, __t2031])? }); } else { break Ok(v_W4747.clone()); } } } } else { break Ok(v_W4745.clone()); } } } } else { break Ok(v_W4737.clone()); } } } } else { break Ok(v_W4729.clone()); } } } } else { break Ok(v_W4721.clone()); } } } } else { break Ok(v_W4700.clone()); } } } } else { break Ok(v_W4687.clone()); } } } } else { break Ok(v_W4657.clone()); } } } } else { break Ok(v_W4647.clone()); } } } } else { break Ok(v_W4626.clone()); } } } } else { break Ok(v_W4598.clone()); } } } } else { break Ok(v_W4577.clone()); } } } } else { break Ok(v_W4570.clone()); } } } } else { break Ok(v_W4563.clone()); } } } } else { break Ok(v_W4557.clone()); } + if match rt::is_truthy(interp, &__t910) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4577 = { let __t960 = { let __t911 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t911])? }; if rt::is_truthy(interp, &__t960)? { { let v_W4578 = { let __t912 = v_V4550.clone(); let __t913 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t912, __t913])? }; { let __t959 = { let __t914 = v_W4578.clone(); rt::is_cons(&__t914) }; if rt::is_truthy(interp, &__t959)? { { let v_W4579 = { let __t915 = v_W4578.clone(); rt::hd(&__t915)? }; { let v_W4580 = { let __t917 = { let __t916 = v_W4578.clone(); rt::tl(&__t916)? }; let __t918 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t917, __t918])? }; { let __t958 = { let __t919 = v_W4580.clone(); rt::is_cons(&__t919) }; if rt::is_truthy(interp, &__t958)? { { let v_W4581 = { let __t920 = v_W4580.clone(); rt::hd(&__t920)? }; { let v_W4582 = { let __t922 = { let __t921 = v_W4580.clone(); rt::tl(&__t921)? }; let __t923 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t922, __t923])? }; { let __t957 = { let __t924 = v_W4582.clone(); let __t925 = Value::nil(); rt::eq(&__t924, &__t925) }; if rt::is_truthy(interp, &__t957)? { { let v_W4583 = { let __t926 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t926])? }; { let __t927 = v_V4553.clone(); let __t956 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t932 = { let __t931 = { let __t930 = { let __t928 = v_W4579.clone(); let __t929 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t928, __t929])? }; rt::is_cons(&__t930) }; rt::apply_direct(interp, "not", &[__t931])? }; let __t933 = v_V4553.clone(); let __t934 = v_V4554.clone(); let __t935 = v_W4557.clone(); let __t955 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4579 = v_W4579.clone(); let v_W4581 = v_W4581.clone(); let v_W4583 = v_W4583.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t936 = v_W4579.clone(); let __t943 = { let __t937 = v_W4583.clone(); let __t942 = { let __t938 = Value::sym(interp.intern("-->")); let __t941 = { let __t939 = v_V4551.clone(); let __t940 = Value::nil(); rt::cons(&__t939, &__t940) }; rt::cons(&__t938, &__t941) }; rt::cons(&__t937, &__t942) }; let __t944 = v_V4553.clone(); let __t945 = v_V4554.clone(); let __t946 = v_W4557.clone(); let __t954 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4581 = v_W4581.clone(); let v_W4583 = v_W4583.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t947 = v_W4581.clone(); let __t948 = v_W4583.clone(); let __t949 = v_V4552.clone(); let __t950 = v_V4553.clone(); let __t951 = v_V4554.clone(); let __t952 = v_W4557.clone(); let __t953 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t947, __t948, __t949, __t950, __t951, __t952, __t953])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4581, v_W4583], interp) }; rt::apply_direct(interp, "shen.lookupsig", &[__t936, __t943, __t944, __t945, __t946, __t954])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4579, v_W4581, v_W4583], interp) }; rt::apply_direct(interp, "when", &[__t932, __t933, __t934, __t935, __t955])? } }; rt::apply_direct(interp, "shen.gc", &[__t927, __t956])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t963 = { let __t961 = v_W4577.clone(); let __t962 = Value::bool(false); rt::eq(&__t961, &__t962) }; if match rt::is_truthy(interp, &__t963) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4584 = { let __t1005 = { let __t964 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t964])? }; if rt::is_truthy(interp, &__t1005)? { { let v_W4585 = { let __t965 = v_V4550.clone(); let __t966 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t965, __t966])? }; { let __t1004 = { let __t967 = v_W4585.clone(); rt::is_cons(&__t967) }; if rt::is_truthy(interp, &__t1004)? { { let v_W4586 = { let __t968 = v_W4585.clone(); rt::hd(&__t968)? }; { let v_W4587 = { let __t970 = { let __t969 = v_W4585.clone(); rt::tl(&__t969)? }; let __t971 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t970, __t971])? }; { let __t1003 = { let __t972 = v_W4587.clone(); rt::is_cons(&__t972) }; if rt::is_truthy(interp, &__t1003)? { { let v_W4588 = { let __t973 = v_W4587.clone(); rt::hd(&__t973)? }; { let v_W4589 = { let __t975 = { let __t974 = v_W4587.clone(); rt::tl(&__t974)? }; let __t976 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t975, __t976])? }; { let __t1002 = { let __t977 = v_W4589.clone(); let __t978 = Value::nil(); rt::eq(&__t977, &__t978) }; if rt::is_truthy(interp, &__t1002)? { { let v_W4590 = { let __t979 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t979])? }; { let __t980 = v_V4553.clone(); let __t1001 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t981 = v_W4586.clone(); let __t988 = { let __t982 = v_W4590.clone(); let __t987 = { let __t983 = Value::sym(interp.intern("-->")); let __t986 = { let __t984 = v_V4551.clone(); let __t985 = Value::nil(); rt::cons(&__t984, &__t985) }; rt::cons(&__t983, &__t986) }; rt::cons(&__t982, &__t987) }; let __t989 = v_V4552.clone(); let __t990 = v_V4553.clone(); let __t991 = v_V4554.clone(); let __t992 = v_W4557.clone(); let __t1000 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4588 = v_W4588.clone(); let v_W4590 = v_W4590.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t993 = v_W4588.clone(); let __t994 = v_W4590.clone(); let __t995 = v_V4552.clone(); let __t996 = v_V4553.clone(); let __t997 = v_V4554.clone(); let __t998 = v_W4557.clone(); let __t999 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t993, __t994, __t995, __t996, __t997, __t998, __t999])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4588, v_W4590], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t981, __t988, __t989, __t990, __t991, __t992, __t1000])? } }; rt::apply_direct(interp, "shen.gc", &[__t980, __t1001])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1008 = { let __t1006 = v_W4584.clone(); let __t1007 = Value::bool(false); rt::eq(&__t1006, &__t1007) }; if match rt::is_truthy(interp, &__t1008) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4591 = { let __t1118 = { let __t1009 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1009])? }; if rt::is_truthy(interp, &__t1118)? { { let v_W4592 = { let __t1010 = v_V4550.clone(); let __t1011 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1010, __t1011])? }; { let __t1117 = { let __t1012 = v_W4592.clone(); rt::is_cons(&__t1012) }; if rt::is_truthy(interp, &__t1117)? { { let v_W4593 = { let __t1014 = { let __t1013 = v_W4592.clone(); rt::hd(&__t1013)? }; let __t1015 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1014, __t1015])? }; { let __t1116 = { let __t1016 = v_W4593.clone(); let __t1017 = Value::sym(interp.intern("cons")); rt::eq(&__t1016, &__t1017) }; if rt::is_truthy(interp, &__t1116)? { { let v_W4594 = { let __t1019 = { let __t1018 = v_W4592.clone(); rt::tl(&__t1018)? }; let __t1020 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1019, __t1020])? }; { let __t1115 = { let __t1021 = v_W4594.clone(); rt::is_cons(&__t1021) }; if rt::is_truthy(interp, &__t1115)? { { let v_W4595 = { let __t1022 = v_W4594.clone(); rt::hd(&__t1022)? }; { let v_W4596 = { let __t1024 = { let __t1023 = v_W4594.clone(); rt::tl(&__t1023)? }; let __t1025 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1024, __t1025])? }; { let __t1114 = { let __t1026 = v_W4596.clone(); rt::is_cons(&__t1026) }; if rt::is_truthy(interp, &__t1114)? { { let v_W4597 = { let __t1027 = v_W4596.clone(); rt::hd(&__t1027)? }; { let v_W4598 = { let __t1029 = { let __t1028 = v_W4596.clone(); rt::tl(&__t1028)? }; let __t1030 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1029, __t1030])? }; { let __t1113 = { let __t1031 = v_W4598.clone(); let __t1032 = Value::nil(); rt::eq(&__t1031, &__t1032) }; if rt::is_truthy(interp, &__t1113)? { { let v_W4599 = { let __t1033 = v_V4551.clone(); let __t1034 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1033, __t1034])? }; { let v_W4600 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4595 = v_W4595.clone(); let v_W4597 = v_W4597.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4601 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1035 = v_W4595.clone(); let __t1036 = v_Z4601.clone(); let __t1037 = v_V4552.clone(); let __t1038 = v_V4553.clone(); let __t1039 = v_V4554.clone(); let __t1040 = v_W4557.clone(); let __t1052 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4597 = v_W4597.clone(); let v_Z4601 = v_Z4601.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1041 = v_W4597.clone(); let __t1046 = { let __t1042 = Value::sym(interp.intern("list")); let __t1045 = { let __t1043 = v_Z4601.clone(); let __t1044 = Value::nil(); rt::cons(&__t1043, &__t1044) }; rt::cons(&__t1042, &__t1045) }; let __t1047 = v_V4552.clone(); let __t1048 = v_V4553.clone(); let __t1049 = v_V4554.clone(); let __t1050 = v_W4557.clone(); let __t1051 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1041, __t1046, __t1047, __t1048, __t1049, __t1050, __t1051])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4597, v_Z4601], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1035, __t1036, __t1037, __t1038, __t1039, __t1040, __t1052])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4595, v_W4597], interp) }; { let __t1112 = { let __t1053 = v_W4599.clone(); rt::is_cons(&__t1053) }; if rt::is_truthy(interp, &__t1112)? { { let v_W4602 = { let __t1055 = { let __t1054 = v_W4599.clone(); rt::hd(&__t1054)? }; let __t1056 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1055, __t1056])? }; { let v_W4603 = { let v_V4553 = v_V4553.clone(); let v_W4599 = v_W4599.clone(); let v_W4600 = v_W4600.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4604 = { let __t1058 = { let __t1057 = v_W4599.clone(); rt::tl(&__t1057)? }; let __t1059 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1058, __t1059])? }; { let v_W4605 = { let v_W4600 = v_W4600.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4606 = args[0].clone(); Ok({ let __t1060 = v_Z4606.clone(); rt::apply_value(interp, v_W4600.clone(), &[__t1060])? }) }, vec![v_W4600], interp) }; { let __t1088 = { let __t1061 = v_W4604.clone(); rt::is_cons(&__t1061) }; if rt::is_truthy(interp, &__t1088)? { { let v_W4607 = { let __t1062 = v_W4604.clone(); rt::hd(&__t1062)? }; { let v_W4608 = { let __t1064 = { let __t1063 = v_W4604.clone(); rt::tl(&__t1063)? }; let __t1065 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1064, __t1065])? }; { let v_W4609 = { let v_W4605 = v_W4605.clone(); let v_W4607 = v_W4607.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1066 = v_W4607.clone(); rt::apply_value(interp, v_W4605.clone(), &[__t1066])? }), vec![v_W4605, v_W4607], interp) }; { let __t1075 = { let __t1067 = v_W4608.clone(); let __t1068 = Value::nil(); rt::eq(&__t1067, &__t1068) }; if rt::is_truthy(interp, &__t1075)? { rt::apply_value(interp, v_W4609.clone(), &[])? } else { { let __t1074 = { let __t1069 = v_W4608.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1069])? }; if rt::is_truthy(interp, &__t1074)? { { let __t1070 = v_W4608.clone(); let __t1071 = Value::nil(); let __t1072 = v_V4553.clone(); let __t1073 = v_W4609.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1070, __t1071, __t1072, __t1073])? } } else { Value::bool(false) } } } } } } } } else { { let __t1087 = { let __t1076 = v_W4604.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1076])? }; if rt::is_truthy(interp, &__t1087)? { { let v_W4610 = { let __t1077 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1077])? }; { let __t1078 = v_V4553.clone(); let __t1086 = { let __t1079 = v_W4604.clone(); let __t1082 = { let __t1080 = v_W4610.clone(); let __t1081 = Value::nil(); rt::cons(&__t1080, &__t1081) }; let __t1083 = v_V4553.clone(); let __t1085 = { let v_W4605 = v_W4605.clone(); let v_W4610 = v_W4610.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1084 = v_W4610.clone(); rt::apply_value(interp, v_W4605.clone(), &[__t1084])? }), vec![v_W4605, v_W4610], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1079, __t1082, __t1083, __t1085])? }; rt::apply_direct(interp, "shen.gc", &[__t1078, __t1086])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4599, v_W4600], interp) }; { let __t1097 = { let __t1089 = v_W4602.clone(); let __t1090 = Value::sym(interp.intern("list")); rt::eq(&__t1089, &__t1090) }; if rt::is_truthy(interp, &__t1097)? { rt::apply_value(interp, v_W4603.clone(), &[])? } else { { let __t1096 = { let __t1091 = v_W4602.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1091])? }; if rt::is_truthy(interp, &__t1096)? { { let __t1092 = v_W4602.clone(); let __t1093 = Value::sym(interp.intern("list")); let __t1094 = v_V4553.clone(); let __t1095 = v_W4603.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1092, __t1093, __t1094, __t1095])? } } else { Value::bool(false) } } } } } } } else { { let __t1111 = { let __t1098 = v_W4599.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1098])? }; if rt::is_truthy(interp, &__t1111)? { { let v_W4611 = { let __t1099 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1099])? }; { let __t1100 = v_V4553.clone(); let __t1110 = { let __t1101 = v_W4599.clone(); let __t1106 = { let __t1102 = Value::sym(interp.intern("list")); let __t1105 = { let __t1103 = v_W4611.clone(); let __t1104 = Value::nil(); rt::cons(&__t1103, &__t1104) }; rt::cons(&__t1102, &__t1105) }; let __t1107 = v_V4553.clone(); let __t1109 = { let v_W4600 = v_W4600.clone(); let v_W4611 = v_W4611.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1108 = v_W4611.clone(); rt::apply_value(interp, v_W4600.clone(), &[__t1108])? }), vec![v_W4600, v_W4611], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1101, __t1106, __t1107, __t1109])? }; rt::apply_direct(interp, "shen.gc", &[__t1100, __t1110])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1121 = { let __t1119 = v_W4591.clone(); let __t1120 = Value::bool(false); rt::eq(&__t1119, &__t1120) }; if match rt::is_truthy(interp, &__t1121) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4612 = { let __t1257 = { let __t1122 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1122])? }; if rt::is_truthy(interp, &__t1257)? { { let v_W4613 = { let __t1123 = v_V4550.clone(); let __t1124 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1123, __t1124])? }; { let __t1256 = { let __t1125 = v_W4613.clone(); rt::is_cons(&__t1125) }; if rt::is_truthy(interp, &__t1256)? { { let v_W4614 = { let __t1127 = { let __t1126 = v_W4613.clone(); rt::hd(&__t1126)? }; let __t1128 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1127, __t1128])? }; { let __t1255 = { let __t1129 = v_W4614.clone(); let __t1130 = Value::sym(interp.intern("@p")); rt::eq(&__t1129, &__t1130) }; if rt::is_truthy(interp, &__t1255)? { { let v_W4615 = { let __t1132 = { let __t1131 = v_W4613.clone(); rt::tl(&__t1131)? }; let __t1133 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1132, __t1133])? }; { let __t1254 = { let __t1134 = v_W4615.clone(); rt::is_cons(&__t1134) }; if rt::is_truthy(interp, &__t1254)? { { let v_W4616 = { let __t1135 = v_W4615.clone(); rt::hd(&__t1135)? }; { let v_W4617 = { let __t1137 = { let __t1136 = v_W4615.clone(); rt::tl(&__t1136)? }; let __t1138 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1137, __t1138])? }; { let __t1253 = { let __t1139 = v_W4617.clone(); rt::is_cons(&__t1139) }; if rt::is_truthy(interp, &__t1253)? { { let v_W4618 = { let __t1140 = v_W4617.clone(); rt::hd(&__t1140)? }; { let v_W4619 = { let __t1142 = { let __t1141 = v_W4617.clone(); rt::tl(&__t1141)? }; let __t1143 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1142, __t1143])? }; { let __t1252 = { let __t1144 = v_W4619.clone(); let __t1145 = Value::nil(); rt::eq(&__t1144, &__t1145) }; if rt::is_truthy(interp, &__t1252)? { { let v_W4620 = { let __t1146 = v_V4551.clone(); let __t1147 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1146, __t1147])? }; { let v_W4621 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4616 = v_W4616.clone(); let v_W4618 = v_W4618.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4622 = args[0].clone(); Ok({ let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4616 = v_W4616.clone(); let v_W4618 = v_W4618.clone(); let v_Z4622 = v_Z4622.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4623 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1148 = v_W4616.clone(); let __t1149 = v_Z4622.clone(); let __t1150 = v_V4552.clone(); let __t1151 = v_V4553.clone(); let __t1152 = v_V4554.clone(); let __t1153 = v_W4557.clone(); let __t1161 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4618 = v_W4618.clone(); let v_Z4623 = v_Z4623.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1154 = v_W4618.clone(); let __t1155 = v_Z4623.clone(); let __t1156 = v_V4552.clone(); let __t1157 = v_V4553.clone(); let __t1158 = v_V4554.clone(); let __t1159 = v_W4557.clone(); let __t1160 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1154, __t1155, __t1156, __t1157, __t1158, __t1159, __t1160])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4618, v_Z4623], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1148, __t1149, __t1150, __t1151, __t1152, __t1153, __t1161])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4616, v_W4618, v_Z4622], interp) }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4616, v_W4618], interp) }; { let __t1251 = { let __t1162 = v_W4620.clone(); rt::is_cons(&__t1162) }; if rt::is_truthy(interp, &__t1251)? { { let v_W4624 = { let __t1163 = v_W4620.clone(); rt::hd(&__t1163)? }; { let v_W4625 = { let __t1165 = { let __t1164 = v_W4620.clone(); rt::tl(&__t1164)? }; let __t1166 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1165, __t1166])? }; { let v_W4626 = { let v_W4621 = v_W4621.clone(); let v_W4624 = v_W4624.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4627 = args[0].clone(); Ok({ let __t1168 = { let __t1167 = v_W4624.clone(); rt::apply_value(interp, v_W4621.clone(), &[__t1167])? }; let __t1169 = v_Z4627.clone(); rt::apply_value(interp, __t1168, &[__t1169])? }) }, vec![v_W4621, v_W4624], interp) }; { let __t1229 = { let __t1170 = v_W4625.clone(); rt::is_cons(&__t1170) }; if rt::is_truthy(interp, &__t1229)? { { let v_W4628 = { let __t1172 = { let __t1171 = v_W4625.clone(); rt::hd(&__t1171)? }; let __t1173 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1172, __t1173])? }; { let v_W4629 = { let v_V4553 = v_V4553.clone(); let v_W4625 = v_W4625.clone(); let v_W4626 = v_W4626.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4630 = { let __t1175 = { let __t1174 = v_W4625.clone(); rt::tl(&__t1174)? }; let __t1176 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1175, __t1176])? }; { let v_W4631 = { let v_W4626 = v_W4626.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4632 = args[0].clone(); Ok({ let __t1177 = v_Z4632.clone(); rt::apply_value(interp, v_W4626.clone(), &[__t1177])? }) }, vec![v_W4626], interp) }; { let __t1205 = { let __t1178 = v_W4630.clone(); rt::is_cons(&__t1178) }; if rt::is_truthy(interp, &__t1205)? { { let v_W4633 = { let __t1179 = v_W4630.clone(); rt::hd(&__t1179)? }; { let v_W4634 = { let __t1181 = { let __t1180 = v_W4630.clone(); rt::tl(&__t1180)? }; let __t1182 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1181, __t1182])? }; { let v_W4635 = { let v_W4631 = v_W4631.clone(); let v_W4633 = v_W4633.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1183 = v_W4633.clone(); rt::apply_value(interp, v_W4631.clone(), &[__t1183])? }), vec![v_W4631, v_W4633], interp) }; { let __t1192 = { let __t1184 = v_W4634.clone(); let __t1185 = Value::nil(); rt::eq(&__t1184, &__t1185) }; if rt::is_truthy(interp, &__t1192)? { rt::apply_value(interp, v_W4635.clone(), &[])? } else { { let __t1191 = { let __t1186 = v_W4634.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1186])? }; if rt::is_truthy(interp, &__t1191)? { { let __t1187 = v_W4634.clone(); let __t1188 = Value::nil(); let __t1189 = v_V4553.clone(); let __t1190 = v_W4635.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1187, __t1188, __t1189, __t1190])? } } else { Value::bool(false) } } } } } } } } else { { let __t1204 = { let __t1193 = v_W4630.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1193])? }; if rt::is_truthy(interp, &__t1204)? { { let v_W4636 = { let __t1194 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1194])? }; { let __t1195 = v_V4553.clone(); let __t1203 = { let __t1196 = v_W4630.clone(); let __t1199 = { let __t1197 = v_W4636.clone(); let __t1198 = Value::nil(); rt::cons(&__t1197, &__t1198) }; let __t1200 = v_V4553.clone(); let __t1202 = { let v_W4631 = v_W4631.clone(); let v_W4636 = v_W4636.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1201 = v_W4636.clone(); rt::apply_value(interp, v_W4631.clone(), &[__t1201])? }), vec![v_W4631, v_W4636], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1196, __t1199, __t1200, __t1202])? }; rt::apply_direct(interp, "shen.gc", &[__t1195, __t1203])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4625, v_W4626], interp) }; { let __t1214 = { let __t1206 = v_W4628.clone(); let __t1207 = Value::sym(interp.intern("*")); rt::eq(&__t1206, &__t1207) }; if rt::is_truthy(interp, &__t1214)? { rt::apply_value(interp, v_W4629.clone(), &[])? } else { { let __t1213 = { let __t1208 = v_W4628.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1208])? }; if rt::is_truthy(interp, &__t1213)? { { let __t1209 = v_W4628.clone(); let __t1210 = Value::sym(interp.intern("*")); let __t1211 = v_V4553.clone(); let __t1212 = v_W4629.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1209, __t1210, __t1211, __t1212])? } } else { Value::bool(false) } } } } } } } else { { let __t1228 = { let __t1215 = v_W4625.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1215])? }; if rt::is_truthy(interp, &__t1228)? { { let v_W4637 = { let __t1216 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1216])? }; { let __t1217 = v_V4553.clone(); let __t1227 = { let __t1218 = v_W4625.clone(); let __t1223 = { let __t1219 = Value::sym(interp.intern("*")); let __t1222 = { let __t1220 = v_W4637.clone(); let __t1221 = Value::nil(); rt::cons(&__t1220, &__t1221) }; rt::cons(&__t1219, &__t1222) }; let __t1224 = v_V4553.clone(); let __t1226 = { let v_W4626 = v_W4626.clone(); let v_W4637 = v_W4637.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1225 = v_W4637.clone(); rt::apply_value(interp, v_W4626.clone(), &[__t1225])? }), vec![v_W4626, v_W4637], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1218, __t1223, __t1224, __t1226])? }; rt::apply_direct(interp, "shen.gc", &[__t1217, __t1227])? } } } else { Value::bool(false) } } } } } } } } else { { let __t1250 = { let __t1230 = v_W4620.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1230])? }; if rt::is_truthy(interp, &__t1250)? { { let v_W4638 = { let __t1231 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1231])? }; { let __t1232 = v_V4553.clone(); let __t1249 = { let v_W4639 = { let __t1233 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1233])? }; { let __t1234 = v_V4553.clone(); let __t1248 = { let __t1235 = v_W4620.clone(); let __t1242 = { let __t1236 = v_W4638.clone(); let __t1241 = { let __t1237 = Value::sym(interp.intern("*")); let __t1240 = { let __t1238 = v_W4639.clone(); let __t1239 = Value::nil(); rt::cons(&__t1238, &__t1239) }; rt::cons(&__t1237, &__t1240) }; rt::cons(&__t1236, &__t1241) }; let __t1243 = v_V4553.clone(); let __t1247 = { let v_W4621 = v_W4621.clone(); let v_W4638 = v_W4638.clone(); let v_W4639 = v_W4639.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1245 = { let __t1244 = v_W4638.clone(); rt::apply_value(interp, v_W4621.clone(), &[__t1244])? }; let __t1246 = v_W4639.clone(); rt::apply_value(interp, __t1245, &[__t1246])? }), vec![v_W4621, v_W4638, v_W4639], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1235, __t1242, __t1243, __t1247])? }; rt::apply_direct(interp, "shen.gc", &[__t1234, __t1248])? } }; rt::apply_direct(interp, "shen.gc", &[__t1232, __t1249])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1260 = { let __t1258 = v_W4612.clone(); let __t1259 = Value::bool(false); rt::eq(&__t1258, &__t1259) }; if match rt::is_truthy(interp, &__t1260) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4640 = { let __t1370 = { let __t1261 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1261])? }; if rt::is_truthy(interp, &__t1370)? { { let v_W4641 = { let __t1262 = v_V4550.clone(); let __t1263 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1262, __t1263])? }; { let __t1369 = { let __t1264 = v_W4641.clone(); rt::is_cons(&__t1264) }; if rt::is_truthy(interp, &__t1369)? { { let v_W4642 = { let __t1266 = { let __t1265 = v_W4641.clone(); rt::hd(&__t1265)? }; let __t1267 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1266, __t1267])? }; { let __t1368 = { let __t1268 = v_W4642.clone(); let __t1269 = Value::sym(interp.intern("@v")); rt::eq(&__t1268, &__t1269) }; if rt::is_truthy(interp, &__t1368)? { { let v_W4643 = { let __t1271 = { let __t1270 = v_W4641.clone(); rt::tl(&__t1270)? }; let __t1272 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1271, __t1272])? }; { let __t1367 = { let __t1273 = v_W4643.clone(); rt::is_cons(&__t1273) }; if rt::is_truthy(interp, &__t1367)? { { let v_W4644 = { let __t1274 = v_W4643.clone(); rt::hd(&__t1274)? }; { let v_W4645 = { let __t1276 = { let __t1275 = v_W4643.clone(); rt::tl(&__t1275)? }; let __t1277 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1276, __t1277])? }; { let __t1366 = { let __t1278 = v_W4645.clone(); rt::is_cons(&__t1278) }; if rt::is_truthy(interp, &__t1366)? { { let v_W4646 = { let __t1279 = v_W4645.clone(); rt::hd(&__t1279)? }; { let v_W4647 = { let __t1281 = { let __t1280 = v_W4645.clone(); rt::tl(&__t1280)? }; let __t1282 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1281, __t1282])? }; { let __t1365 = { let __t1283 = v_W4647.clone(); let __t1284 = Value::nil(); rt::eq(&__t1283, &__t1284) }; if rt::is_truthy(interp, &__t1365)? { { let v_W4648 = { let __t1285 = v_V4551.clone(); let __t1286 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1285, __t1286])? }; { let v_W4649 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4644 = v_W4644.clone(); let v_W4646 = v_W4646.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4650 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1287 = v_W4644.clone(); let __t1288 = v_Z4650.clone(); let __t1289 = v_V4552.clone(); let __t1290 = v_V4553.clone(); let __t1291 = v_V4554.clone(); let __t1292 = v_W4557.clone(); let __t1304 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4646 = v_W4646.clone(); let v_Z4650 = v_Z4650.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1293 = v_W4646.clone(); let __t1298 = { let __t1294 = Value::sym(interp.intern("vector")); let __t1297 = { let __t1295 = v_Z4650.clone(); let __t1296 = Value::nil(); rt::cons(&__t1295, &__t1296) }; rt::cons(&__t1294, &__t1297) }; let __t1299 = v_V4552.clone(); let __t1300 = v_V4553.clone(); let __t1301 = v_V4554.clone(); let __t1302 = v_W4557.clone(); let __t1303 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1293, __t1298, __t1299, __t1300, __t1301, __t1302, __t1303])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4646, v_Z4650], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1287, __t1288, __t1289, __t1290, __t1291, __t1292, __t1304])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4644, v_W4646], interp) }; { let __t1364 = { let __t1305 = v_W4648.clone(); rt::is_cons(&__t1305) }; if rt::is_truthy(interp, &__t1364)? { { let v_W4651 = { let __t1307 = { let __t1306 = v_W4648.clone(); rt::hd(&__t1306)? }; let __t1308 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1307, __t1308])? }; { let v_W4652 = { let v_V4553 = v_V4553.clone(); let v_W4648 = v_W4648.clone(); let v_W4649 = v_W4649.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4653 = { let __t1310 = { let __t1309 = v_W4648.clone(); rt::tl(&__t1309)? }; let __t1311 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1310, __t1311])? }; { let v_W4654 = { let v_W4649 = v_W4649.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4655 = args[0].clone(); Ok({ let __t1312 = v_Z4655.clone(); rt::apply_value(interp, v_W4649.clone(), &[__t1312])? }) }, vec![v_W4649], interp) }; { let __t1340 = { let __t1313 = v_W4653.clone(); rt::is_cons(&__t1313) }; if rt::is_truthy(interp, &__t1340)? { { let v_W4656 = { let __t1314 = v_W4653.clone(); rt::hd(&__t1314)? }; { let v_W4657 = { let __t1316 = { let __t1315 = v_W4653.clone(); rt::tl(&__t1315)? }; let __t1317 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1316, __t1317])? }; { let v_W4658 = { let v_W4654 = v_W4654.clone(); let v_W4656 = v_W4656.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1318 = v_W4656.clone(); rt::apply_value(interp, v_W4654.clone(), &[__t1318])? }), vec![v_W4654, v_W4656], interp) }; { let __t1327 = { let __t1319 = v_W4657.clone(); let __t1320 = Value::nil(); rt::eq(&__t1319, &__t1320) }; if rt::is_truthy(interp, &__t1327)? { rt::apply_value(interp, v_W4658.clone(), &[])? } else { { let __t1326 = { let __t1321 = v_W4657.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1321])? }; if rt::is_truthy(interp, &__t1326)? { { let __t1322 = v_W4657.clone(); let __t1323 = Value::nil(); let __t1324 = v_V4553.clone(); let __t1325 = v_W4658.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1322, __t1323, __t1324, __t1325])? } } else { Value::bool(false) } } } } } } } } else { { let __t1339 = { let __t1328 = v_W4653.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1328])? }; if rt::is_truthy(interp, &__t1339)? { { let v_W4659 = { let __t1329 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1329])? }; { let __t1330 = v_V4553.clone(); let __t1338 = { let __t1331 = v_W4653.clone(); let __t1334 = { let __t1332 = v_W4659.clone(); let __t1333 = Value::nil(); rt::cons(&__t1332, &__t1333) }; let __t1335 = v_V4553.clone(); let __t1337 = { let v_W4654 = v_W4654.clone(); let v_W4659 = v_W4659.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1336 = v_W4659.clone(); rt::apply_value(interp, v_W4654.clone(), &[__t1336])? }), vec![v_W4654, v_W4659], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1331, __t1334, __t1335, __t1337])? }; rt::apply_direct(interp, "shen.gc", &[__t1330, __t1338])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4648, v_W4649], interp) }; { let __t1349 = { let __t1341 = v_W4651.clone(); let __t1342 = Value::sym(interp.intern("vector")); rt::eq(&__t1341, &__t1342) }; if rt::is_truthy(interp, &__t1349)? { rt::apply_value(interp, v_W4652.clone(), &[])? } else { { let __t1348 = { let __t1343 = v_W4651.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1343])? }; if rt::is_truthy(interp, &__t1348)? { { let __t1344 = v_W4651.clone(); let __t1345 = Value::sym(interp.intern("vector")); let __t1346 = v_V4553.clone(); let __t1347 = v_W4652.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1344, __t1345, __t1346, __t1347])? } } else { Value::bool(false) } } } } } } } else { { let __t1363 = { let __t1350 = v_W4648.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1350])? }; if rt::is_truthy(interp, &__t1363)? { { let v_W4660 = { let __t1351 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1351])? }; { let __t1352 = v_V4553.clone(); let __t1362 = { let __t1353 = v_W4648.clone(); let __t1358 = { let __t1354 = Value::sym(interp.intern("vector")); let __t1357 = { let __t1355 = v_W4660.clone(); let __t1356 = Value::nil(); rt::cons(&__t1355, &__t1356) }; rt::cons(&__t1354, &__t1357) }; let __t1359 = v_V4553.clone(); let __t1361 = { let v_W4649 = v_W4649.clone(); let v_W4660 = v_W4660.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1360 = v_W4660.clone(); rt::apply_value(interp, v_W4649.clone(), &[__t1360])? }), vec![v_W4649, v_W4660], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1353, __t1358, __t1359, __t1361])? }; rt::apply_direct(interp, "shen.gc", &[__t1352, __t1362])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1373 = { let __t1371 = v_W4640.clone(); let __t1372 = Value::bool(false); rt::eq(&__t1371, &__t1372) }; if match rt::is_truthy(interp, &__t1373) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4661 = { let __t1428 = { let __t1374 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1374])? }; if rt::is_truthy(interp, &__t1428)? { { let v_W4662 = { let __t1375 = v_V4550.clone(); let __t1376 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1375, __t1376])? }; { let __t1427 = { let __t1377 = v_W4662.clone(); rt::is_cons(&__t1377) }; if rt::is_truthy(interp, &__t1427)? { { let v_W4663 = { let __t1379 = { let __t1378 = v_W4662.clone(); rt::hd(&__t1378)? }; let __t1380 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1379, __t1380])? }; { let __t1426 = { let __t1381 = v_W4663.clone(); let __t1382 = Value::sym(interp.intern("@s")); rt::eq(&__t1381, &__t1382) }; if rt::is_truthy(interp, &__t1426)? { { let v_W4664 = { let __t1384 = { let __t1383 = v_W4662.clone(); rt::tl(&__t1383)? }; let __t1385 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1384, __t1385])? }; { let __t1425 = { let __t1386 = v_W4664.clone(); rt::is_cons(&__t1386) }; if rt::is_truthy(interp, &__t1425)? { { let v_W4665 = { let __t1387 = v_W4664.clone(); rt::hd(&__t1387)? }; { let v_W4666 = { let __t1389 = { let __t1388 = v_W4664.clone(); rt::tl(&__t1388)? }; let __t1390 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1389, __t1390])? }; { let __t1424 = { let __t1391 = v_W4666.clone(); rt::is_cons(&__t1391) }; if rt::is_truthy(interp, &__t1424)? { { let v_W4667 = { let __t1392 = v_W4666.clone(); rt::hd(&__t1392)? }; { let v_W4668 = { let __t1394 = { let __t1393 = v_W4666.clone(); rt::tl(&__t1393)? }; let __t1395 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1394, __t1395])? }; { let __t1423 = { let __t1396 = v_W4668.clone(); let __t1397 = Value::nil(); rt::eq(&__t1396, &__t1397) }; if rt::is_truthy(interp, &__t1423)? { { let v_W4669 = { let __t1398 = v_V4551.clone(); let __t1399 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1398, __t1399])? }; { let v_W4670 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4665 = v_W4665.clone(); let v_W4667 = v_W4667.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1400 = v_W4665.clone(); let __t1401 = Value::sym(interp.intern("string")); let __t1402 = v_V4552.clone(); let __t1403 = v_V4553.clone(); let __t1404 = v_V4554.clone(); let __t1405 = v_W4557.clone(); let __t1413 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4667 = v_W4667.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1406 = v_W4667.clone(); let __t1407 = Value::sym(interp.intern("string")); let __t1408 = v_V4552.clone(); let __t1409 = v_V4553.clone(); let __t1410 = v_V4554.clone(); let __t1411 = v_W4557.clone(); let __t1412 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1406, __t1407, __t1408, __t1409, __t1410, __t1411, __t1412])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4667], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1400, __t1401, __t1402, __t1403, __t1404, __t1405, __t1413])? } }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4665, v_W4667], interp) }; { let __t1422 = { let __t1414 = v_W4669.clone(); let __t1415 = Value::sym(interp.intern("string")); rt::eq(&__t1414, &__t1415) }; if rt::is_truthy(interp, &__t1422)? { rt::apply_value(interp, v_W4670.clone(), &[])? } else { { let __t1421 = { let __t1416 = v_W4669.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1416])? }; if rt::is_truthy(interp, &__t1421)? { { let __t1417 = v_W4669.clone(); let __t1418 = Value::sym(interp.intern("string")); let __t1419 = v_V4553.clone(); let __t1420 = v_W4670.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1417, __t1418, __t1419, __t1420])? } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1431 = { let __t1429 = v_W4661.clone(); let __t1430 = Value::bool(false); rt::eq(&__t1429, &__t1430) }; if match rt::is_truthy(interp, &__t1431) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4671 = { let __t1599 = { let __t1432 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1432])? }; if rt::is_truthy(interp, &__t1599)? { { let v_W4672 = { let __t1433 = v_V4550.clone(); let __t1434 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1433, __t1434])? }; { let __t1598 = { let __t1435 = v_W4672.clone(); rt::is_cons(&__t1435) }; if rt::is_truthy(interp, &__t1598)? { { let v_W4673 = { let __t1437 = { let __t1436 = v_W4672.clone(); rt::hd(&__t1436)? }; let __t1438 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1437, __t1438])? }; { let __t1597 = { let __t1439 = v_W4673.clone(); let __t1440 = Value::sym(interp.intern("lambda")); rt::eq(&__t1439, &__t1440) }; if rt::is_truthy(interp, &__t1597)? { { let v_W4674 = { let __t1442 = { let __t1441 = v_W4672.clone(); rt::tl(&__t1441)? }; let __t1443 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1442, __t1443])? }; { let __t1596 = { let __t1444 = v_W4674.clone(); rt::is_cons(&__t1444) }; if rt::is_truthy(interp, &__t1596)? { { let v_W4675 = { let __t1445 = v_W4674.clone(); rt::hd(&__t1445)? }; { let v_W4676 = { let __t1447 = { let __t1446 = v_W4674.clone(); rt::tl(&__t1446)? }; let __t1448 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1447, __t1448])? }; { let __t1595 = { let __t1449 = v_W4676.clone(); rt::is_cons(&__t1449) }; if rt::is_truthy(interp, &__t1595)? { { let v_W4677 = { let __t1450 = v_W4676.clone(); rt::hd(&__t1450)? }; { let v_W4678 = { let __t1452 = { let __t1451 = v_W4676.clone(); rt::tl(&__t1451)? }; let __t1453 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1452, __t1453])? }; { let __t1594 = { let __t1454 = v_W4678.clone(); let __t1455 = Value::nil(); rt::eq(&__t1454, &__t1455) }; if rt::is_truthy(interp, &__t1594)? { { let v_W4679 = { let __t1456 = v_V4551.clone(); let __t1457 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1456, __t1457])? }; { let v_W4680 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4675 = v_W4675.clone(); let v_W4677 = v_W4677.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4681 = args[0].clone(); Ok({ let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4675 = v_W4675.clone(); let v_W4677 = v_W4677.clone(); let v_Z4681 = v_Z4681.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4682 = args[0].clone(); Ok({ let v_W4683 = { let __t1458 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1458])? }; { let __t1459 = v_V4553.clone(); let __t1503 = { let v_W4684 = { let __t1460 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1460])? }; { let __t1461 = v_V4553.clone(); let __t1502 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1462 = v_W4684.clone(); let __t1466 = { let __t1465 = { let __t1463 = v_W4675.clone(); let __t1464 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1463, __t1464])? }; rt::apply_direct(interp, "shen.freshterm", &[__t1465])? }; let __t1467 = v_V4553.clone(); let __t1468 = v_V4554.clone(); let __t1469 = v_W4557.clone(); let __t1501 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4675 = v_W4675.clone(); let v_W4677 = v_W4677.clone(); let v_W4683 = v_W4683.clone(); let v_W4684 = v_W4684.clone(); let v_Z4681 = v_Z4681.clone(); let v_Z4682 = v_Z4682.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1470 = v_W4683.clone(); let __t1480 = { let __t1473 = { let __t1471 = v_W4675.clone(); let __t1472 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1471, __t1472])? }; let __t1476 = { let __t1474 = v_W4684.clone(); let __t1475 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1474, __t1475])? }; let __t1479 = { let __t1477 = v_W4677.clone(); let __t1478 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1477, __t1478])? }; rt::apply_direct(interp, "shen.beta", &[__t1473, __t1476, __t1479])? }; let __t1481 = v_V4553.clone(); let __t1482 = v_V4554.clone(); let __t1483 = v_W4557.clone(); let __t1500 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4683 = v_W4683.clone(); let v_W4684 = v_W4684.clone(); let v_Z4681 = v_Z4681.clone(); let v_Z4682 = v_Z4682.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1484 = v_W4683.clone(); let __t1485 = v_Z4682.clone(); let __t1495 = { let __t1493 = { let __t1486 = v_W4684.clone(); let __t1492 = { let __t1488 = { let __t1487 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t1487])? }; let __t1491 = { let __t1489 = v_Z4681.clone(); let __t1490 = Value::nil(); rt::cons(&__t1489, &__t1490) }; rt::cons(&__t1488, &__t1491) }; rt::cons(&__t1486, &__t1492) }; let __t1494 = v_V4552.clone(); rt::cons(&__t1493, &__t1494) }; let __t1496 = v_V4553.clone(); let __t1497 = v_V4554.clone(); let __t1498 = v_W4557.clone(); let __t1499 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1484, __t1485, __t1495, __t1496, __t1497, __t1498, __t1499])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4683, v_W4684, v_Z4681, v_Z4682], interp) }; rt::apply_direct(interp, "bind", &[__t1470, __t1480, __t1481, __t1482, __t1483, __t1500])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4675, v_W4677, v_W4683, v_W4684, v_Z4681, v_Z4682], interp) }; rt::apply_direct(interp, "bind", &[__t1462, __t1466, __t1467, __t1468, __t1469, __t1501])? } }; rt::apply_direct(interp, "shen.gc", &[__t1461, __t1502])? } }; rt::apply_direct(interp, "shen.gc", &[__t1459, __t1503])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4675, v_W4677, v_Z4681], interp) }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4675, v_W4677], interp) }; { let __t1593 = { let __t1504 = v_W4679.clone(); rt::is_cons(&__t1504) }; if rt::is_truthy(interp, &__t1593)? { { let v_W4685 = { let __t1505 = v_W4679.clone(); rt::hd(&__t1505)? }; { let v_W4686 = { let __t1507 = { let __t1506 = v_W4679.clone(); rt::tl(&__t1506)? }; let __t1508 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1507, __t1508])? }; { let v_W4687 = { let v_W4680 = v_W4680.clone(); let v_W4685 = v_W4685.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4688 = args[0].clone(); Ok({ let __t1510 = { let __t1509 = v_W4685.clone(); rt::apply_value(interp, v_W4680.clone(), &[__t1509])? }; let __t1511 = v_Z4688.clone(); rt::apply_value(interp, __t1510, &[__t1511])? }) }, vec![v_W4680, v_W4685], interp) }; { let __t1571 = { let __t1512 = v_W4686.clone(); rt::is_cons(&__t1512) }; if rt::is_truthy(interp, &__t1571)? { { let v_W4689 = { let __t1514 = { let __t1513 = v_W4686.clone(); rt::hd(&__t1513)? }; let __t1515 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1514, __t1515])? }; { let v_W4690 = { let v_V4553 = v_V4553.clone(); let v_W4686 = v_W4686.clone(); let v_W4687 = v_W4687.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4691 = { let __t1517 = { let __t1516 = v_W4686.clone(); rt::tl(&__t1516)? }; let __t1518 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1517, __t1518])? }; { let v_W4692 = { let v_W4687 = v_W4687.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4693 = args[0].clone(); Ok({ let __t1519 = v_Z4693.clone(); rt::apply_value(interp, v_W4687.clone(), &[__t1519])? }) }, vec![v_W4687], interp) }; { let __t1547 = { let __t1520 = v_W4691.clone(); rt::is_cons(&__t1520) }; if rt::is_truthy(interp, &__t1547)? { { let v_W4694 = { let __t1521 = v_W4691.clone(); rt::hd(&__t1521)? }; { let v_W4695 = { let __t1523 = { let __t1522 = v_W4691.clone(); rt::tl(&__t1522)? }; let __t1524 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1523, __t1524])? }; { let v_W4696 = { let v_W4692 = v_W4692.clone(); let v_W4694 = v_W4694.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1525 = v_W4694.clone(); rt::apply_value(interp, v_W4692.clone(), &[__t1525])? }), vec![v_W4692, v_W4694], interp) }; { let __t1534 = { let __t1526 = v_W4695.clone(); let __t1527 = Value::nil(); rt::eq(&__t1526, &__t1527) }; if rt::is_truthy(interp, &__t1534)? { rt::apply_value(interp, v_W4696.clone(), &[])? } else { { let __t1533 = { let __t1528 = v_W4695.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1528])? }; if rt::is_truthy(interp, &__t1533)? { { let __t1529 = v_W4695.clone(); let __t1530 = Value::nil(); let __t1531 = v_V4553.clone(); let __t1532 = v_W4696.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1529, __t1530, __t1531, __t1532])? } } else { Value::bool(false) } } } } } } } } else { { let __t1546 = { let __t1535 = v_W4691.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1535])? }; if rt::is_truthy(interp, &__t1546)? { { let v_W4697 = { let __t1536 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1536])? }; { let __t1537 = v_V4553.clone(); let __t1545 = { let __t1538 = v_W4691.clone(); let __t1541 = { let __t1539 = v_W4697.clone(); let __t1540 = Value::nil(); rt::cons(&__t1539, &__t1540) }; let __t1542 = v_V4553.clone(); let __t1544 = { let v_W4692 = v_W4692.clone(); let v_W4697 = v_W4697.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1543 = v_W4697.clone(); rt::apply_value(interp, v_W4692.clone(), &[__t1543])? }), vec![v_W4692, v_W4697], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1538, __t1541, __t1542, __t1544])? }; rt::apply_direct(interp, "shen.gc", &[__t1537, __t1545])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4686, v_W4687], interp) }; { let __t1556 = { let __t1548 = v_W4689.clone(); let __t1549 = Value::sym(interp.intern("-->")); rt::eq(&__t1548, &__t1549) }; if rt::is_truthy(interp, &__t1556)? { rt::apply_value(interp, v_W4690.clone(), &[])? } else { { let __t1555 = { let __t1550 = v_W4689.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1550])? }; if rt::is_truthy(interp, &__t1555)? { { let __t1551 = v_W4689.clone(); let __t1552 = Value::sym(interp.intern("-->")); let __t1553 = v_V4553.clone(); let __t1554 = v_W4690.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1551, __t1552, __t1553, __t1554])? } } else { Value::bool(false) } } } } } } } else { { let __t1570 = { let __t1557 = v_W4686.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1557])? }; if rt::is_truthy(interp, &__t1570)? { { let v_W4698 = { let __t1558 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1558])? }; { let __t1559 = v_V4553.clone(); let __t1569 = { let __t1560 = v_W4686.clone(); let __t1565 = { let __t1561 = Value::sym(interp.intern("-->")); let __t1564 = { let __t1562 = v_W4698.clone(); let __t1563 = Value::nil(); rt::cons(&__t1562, &__t1563) }; rt::cons(&__t1561, &__t1564) }; let __t1566 = v_V4553.clone(); let __t1568 = { let v_W4687 = v_W4687.clone(); let v_W4698 = v_W4698.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1567 = v_W4698.clone(); rt::apply_value(interp, v_W4687.clone(), &[__t1567])? }), vec![v_W4687, v_W4698], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1560, __t1565, __t1566, __t1568])? }; rt::apply_direct(interp, "shen.gc", &[__t1559, __t1569])? } } } else { Value::bool(false) } } } } } } } } else { { let __t1592 = { let __t1572 = v_W4679.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1572])? }; if rt::is_truthy(interp, &__t1592)? { { let v_W4699 = { let __t1573 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1573])? }; { let __t1574 = v_V4553.clone(); let __t1591 = { let v_W4700 = { let __t1575 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1575])? }; { let __t1576 = v_V4553.clone(); let __t1590 = { let __t1577 = v_W4679.clone(); let __t1584 = { let __t1578 = v_W4699.clone(); let __t1583 = { let __t1579 = Value::sym(interp.intern("-->")); let __t1582 = { let __t1580 = v_W4700.clone(); let __t1581 = Value::nil(); rt::cons(&__t1580, &__t1581) }; rt::cons(&__t1579, &__t1582) }; rt::cons(&__t1578, &__t1583) }; let __t1585 = v_V4553.clone(); let __t1589 = { let v_W4680 = v_W4680.clone(); let v_W4699 = v_W4699.clone(); let v_W4700 = v_W4700.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1587 = { let __t1586 = v_W4699.clone(); rt::apply_value(interp, v_W4680.clone(), &[__t1586])? }; let __t1588 = v_W4700.clone(); rt::apply_value(interp, __t1587, &[__t1588])? }), vec![v_W4680, v_W4699, v_W4700], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1577, __t1584, __t1585, __t1589])? }; rt::apply_direct(interp, "shen.gc", &[__t1576, __t1590])? } }; rt::apply_direct(interp, "shen.gc", &[__t1574, __t1591])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1602 = { let __t1600 = v_W4671.clone(); let __t1601 = Value::bool(false); rt::eq(&__t1600, &__t1601) }; if match rt::is_truthy(interp, &__t1602) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4701 = { let __t1694 = { let __t1603 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1603])? }; if rt::is_truthy(interp, &__t1694)? { { let v_W4702 = { let __t1604 = v_V4550.clone(); let __t1605 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1604, __t1605])? }; { let __t1693 = { let __t1606 = v_W4702.clone(); rt::is_cons(&__t1606) }; if rt::is_truthy(interp, &__t1693)? { { let v_W4703 = { let __t1608 = { let __t1607 = v_W4702.clone(); rt::hd(&__t1607)? }; let __t1609 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1608, __t1609])? }; { let __t1692 = { let __t1610 = v_W4703.clone(); let __t1611 = Value::sym(interp.intern("let")); rt::eq(&__t1610, &__t1611) }; if rt::is_truthy(interp, &__t1692)? { { let v_W4704 = { let __t1613 = { let __t1612 = v_W4702.clone(); rt::tl(&__t1612)? }; let __t1614 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1613, __t1614])? }; { let __t1691 = { let __t1615 = v_W4704.clone(); rt::is_cons(&__t1615) }; if rt::is_truthy(interp, &__t1691)? { { let v_W4705 = { let __t1616 = v_W4704.clone(); rt::hd(&__t1616)? }; { let v_W4706 = { let __t1618 = { let __t1617 = v_W4704.clone(); rt::tl(&__t1617)? }; let __t1619 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1618, __t1619])? }; { let __t1690 = { let __t1620 = v_W4706.clone(); rt::is_cons(&__t1620) }; if rt::is_truthy(interp, &__t1690)? { { let v_W4707 = { let __t1621 = v_W4706.clone(); rt::hd(&__t1621)? }; { let v_W4708 = { let __t1623 = { let __t1622 = v_W4706.clone(); rt::tl(&__t1622)? }; let __t1624 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1623, __t1624])? }; { let __t1689 = { let __t1625 = v_W4708.clone(); rt::is_cons(&__t1625) }; if rt::is_truthy(interp, &__t1689)? { { let v_W4709 = { let __t1626 = v_W4708.clone(); rt::hd(&__t1626)? }; { let v_W4710 = { let __t1628 = { let __t1627 = v_W4708.clone(); rt::tl(&__t1627)? }; let __t1629 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1628, __t1629])? }; { let __t1688 = { let __t1630 = v_W4710.clone(); let __t1631 = Value::nil(); rt::eq(&__t1630, &__t1631) }; if rt::is_truthy(interp, &__t1688)? { { let v_W4711 = { let __t1632 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1632])? }; { let __t1633 = v_V4553.clone(); let __t1687 = { let v_W4712 = { let __t1634 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1634])? }; { let __t1635 = v_V4553.clone(); let __t1686 = { let v_W4713 = { let __t1636 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1636])? }; { let __t1637 = v_V4553.clone(); let __t1685 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1638 = v_W4707.clone(); let __t1639 = v_W4713.clone(); let __t1640 = v_V4552.clone(); let __t1641 = v_V4553.clone(); let __t1642 = v_V4554.clone(); let __t1643 = v_W4557.clone(); let __t1684 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4705 = v_W4705.clone(); let v_W4709 = v_W4709.clone(); let v_W4711 = v_W4711.clone(); let v_W4712 = v_W4712.clone(); let v_W4713 = v_W4713.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1644 = v_W4712.clone(); let __t1648 = { let __t1647 = { let __t1645 = v_W4705.clone(); let __t1646 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1645, __t1646])? }; rt::apply_direct(interp, "shen.freshterm", &[__t1647])? }; let __t1649 = v_V4553.clone(); let __t1650 = v_V4554.clone(); let __t1651 = v_W4557.clone(); let __t1683 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4705 = v_W4705.clone(); let v_W4709 = v_W4709.clone(); let v_W4711 = v_W4711.clone(); let v_W4712 = v_W4712.clone(); let v_W4713 = v_W4713.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1652 = v_W4711.clone(); let __t1662 = { let __t1655 = { let __t1653 = v_W4705.clone(); let __t1654 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1653, __t1654])? }; let __t1658 = { let __t1656 = v_W4712.clone(); let __t1657 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1656, __t1657])? }; let __t1661 = { let __t1659 = v_W4709.clone(); let __t1660 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1659, __t1660])? }; rt::apply_direct(interp, "shen.beta", &[__t1655, __t1658, __t1661])? }; let __t1663 = v_V4553.clone(); let __t1664 = v_V4554.clone(); let __t1665 = v_W4557.clone(); let __t1682 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4711 = v_W4711.clone(); let v_W4712 = v_W4712.clone(); let v_W4713 = v_W4713.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1666 = v_W4711.clone(); let __t1667 = v_V4551.clone(); let __t1677 = { let __t1675 = { let __t1668 = v_W4712.clone(); let __t1674 = { let __t1670 = { let __t1669 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t1669])? }; let __t1673 = { let __t1671 = v_W4713.clone(); let __t1672 = Value::nil(); rt::cons(&__t1671, &__t1672) }; rt::cons(&__t1670, &__t1673) }; rt::cons(&__t1668, &__t1674) }; let __t1676 = v_V4552.clone(); rt::cons(&__t1675, &__t1676) }; let __t1678 = v_V4553.clone(); let __t1679 = v_V4554.clone(); let __t1680 = v_W4557.clone(); let __t1681 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1666, __t1667, __t1677, __t1678, __t1679, __t1680, __t1681])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4711, v_W4712, v_W4713], interp) }; rt::apply_direct(interp, "bind", &[__t1652, __t1662, __t1663, __t1664, __t1665, __t1682])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4705, v_W4709, v_W4711, v_W4712, v_W4713], interp) }; rt::apply_direct(interp, "bind", &[__t1644, __t1648, __t1649, __t1650, __t1651, __t1683])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4705, v_W4709, v_W4711, v_W4712, v_W4713], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1638, __t1639, __t1640, __t1641, __t1642, __t1643, __t1684])? } }; rt::apply_direct(interp, "shen.gc", &[__t1637, __t1685])? } }; rt::apply_direct(interp, "shen.gc", &[__t1635, __t1686])? } }; rt::apply_direct(interp, "shen.gc", &[__t1633, __t1687])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1697 = { let __t1695 = v_W4701.clone(); let __t1696 = Value::bool(false); rt::eq(&__t1695, &__t1696) }; if match rt::is_truthy(interp, &__t1697) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4714 = { let __t1815 = { let __t1698 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1698])? }; if rt::is_truthy(interp, &__t1815)? { { let v_W4715 = { let __t1699 = v_V4550.clone(); let __t1700 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1699, __t1700])? }; { let __t1814 = { let __t1701 = v_W4715.clone(); rt::is_cons(&__t1701) }; if rt::is_truthy(interp, &__t1814)? { { let v_W4716 = { let __t1703 = { let __t1702 = v_W4715.clone(); rt::hd(&__t1702)? }; let __t1704 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1703, __t1704])? }; { let __t1813 = { let __t1705 = v_W4716.clone(); let __t1706 = Value::sym(interp.intern("open")); rt::eq(&__t1705, &__t1706) }; if rt::is_truthy(interp, &__t1813)? { { let v_W4717 = { let __t1708 = { let __t1707 = v_W4715.clone(); rt::tl(&__t1707)? }; let __t1709 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1708, __t1709])? }; { let __t1812 = { let __t1710 = v_W4717.clone(); rt::is_cons(&__t1710) }; if rt::is_truthy(interp, &__t1812)? { { let v_W4718 = { let __t1711 = v_W4717.clone(); rt::hd(&__t1711)? }; { let v_W4719 = { let __t1713 = { let __t1712 = v_W4717.clone(); rt::tl(&__t1712)? }; let __t1714 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1713, __t1714])? }; { let __t1811 = { let __t1715 = v_W4719.clone(); rt::is_cons(&__t1715) }; if rt::is_truthy(interp, &__t1811)? { { let v_W4720 = { let __t1716 = v_W4719.clone(); rt::hd(&__t1716)? }; { let v_W4721 = { let __t1718 = { let __t1717 = v_W4719.clone(); rt::tl(&__t1717)? }; let __t1719 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1718, __t1719])? }; { let __t1810 = { let __t1720 = v_W4721.clone(); let __t1721 = Value::nil(); rt::eq(&__t1720, &__t1721) }; if rt::is_truthy(interp, &__t1810)? { { let v_W4722 = { let __t1722 = v_V4551.clone(); let __t1723 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1722, __t1723])? }; { let v_W4723 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4718 = v_W4718.clone(); let v_W4720 = v_W4720.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4724 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1724 = v_W4720.clone(); let __t1725 = v_Z4724.clone(); let __t1726 = v_V4553.clone(); let __t1727 = v_V4554.clone(); let __t1728 = v_W4557.clone(); let __t1749 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4718 = v_W4718.clone(); let v_Z4724 = v_Z4724.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1737 = { let __t1731 = { let __t1729 = v_Z4724.clone(); let __t1730 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1729, __t1730])? }; let __t1736 = { let __t1732 = Value::sym(interp.intern("in")); let __t1735 = { let __t1733 = Value::sym(interp.intern("out")); let __t1734 = Value::nil(); rt::cons(&__t1733, &__t1734) }; rt::cons(&__t1732, &__t1735) }; rt::apply_direct(interp, "element?", &[__t1731, __t1736])? }; let __t1738 = v_V4553.clone(); let __t1739 = v_V4554.clone(); let __t1740 = v_W4557.clone(); let __t1748 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4718 = v_W4718.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1741 = v_W4718.clone(); let __t1742 = Value::sym(interp.intern("string")); let __t1743 = v_V4552.clone(); let __t1744 = v_V4553.clone(); let __t1745 = v_V4554.clone(); let __t1746 = v_W4557.clone(); let __t1747 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1741, __t1742, __t1743, __t1744, __t1745, __t1746, __t1747])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4718], interp) }; rt::apply_direct(interp, "when", &[__t1737, __t1738, __t1739, __t1740, __t1748])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4718, v_Z4724], interp) }; rt::apply_direct(interp, "is!", &[__t1724, __t1725, __t1726, __t1727, __t1728, __t1749])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4718, v_W4720], interp) }; { let __t1809 = { let __t1750 = v_W4722.clone(); rt::is_cons(&__t1750) }; if rt::is_truthy(interp, &__t1809)? { { let v_W4725 = { let __t1752 = { let __t1751 = v_W4722.clone(); rt::hd(&__t1751)? }; let __t1753 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1752, __t1753])? }; { let v_W4726 = { let v_V4553 = v_V4553.clone(); let v_W4722 = v_W4722.clone(); let v_W4723 = v_W4723.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4727 = { let __t1755 = { let __t1754 = v_W4722.clone(); rt::tl(&__t1754)? }; let __t1756 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1755, __t1756])? }; { let v_W4728 = { let v_W4723 = v_W4723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4729 = args[0].clone(); Ok({ let __t1757 = v_Z4729.clone(); rt::apply_value(interp, v_W4723.clone(), &[__t1757])? }) }, vec![v_W4723], interp) }; { let __t1785 = { let __t1758 = v_W4727.clone(); rt::is_cons(&__t1758) }; if rt::is_truthy(interp, &__t1785)? { { let v_W4730 = { let __t1759 = v_W4727.clone(); rt::hd(&__t1759)? }; { let v_W4731 = { let __t1761 = { let __t1760 = v_W4727.clone(); rt::tl(&__t1760)? }; let __t1762 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1761, __t1762])? }; { let v_W4732 = { let v_W4728 = v_W4728.clone(); let v_W4730 = v_W4730.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1763 = v_W4730.clone(); rt::apply_value(interp, v_W4728.clone(), &[__t1763])? }), vec![v_W4728, v_W4730], interp) }; { let __t1772 = { let __t1764 = v_W4731.clone(); let __t1765 = Value::nil(); rt::eq(&__t1764, &__t1765) }; if rt::is_truthy(interp, &__t1772)? { rt::apply_value(interp, v_W4732.clone(), &[])? } else { { let __t1771 = { let __t1766 = v_W4731.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1766])? }; if rt::is_truthy(interp, &__t1771)? { { let __t1767 = v_W4731.clone(); let __t1768 = Value::nil(); let __t1769 = v_V4553.clone(); let __t1770 = v_W4732.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1767, __t1768, __t1769, __t1770])? } } else { Value::bool(false) } } } } } } } } else { { let __t1784 = { let __t1773 = v_W4727.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1773])? }; if rt::is_truthy(interp, &__t1784)? { { let v_W4733 = { let __t1774 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1774])? }; { let __t1775 = v_V4553.clone(); let __t1783 = { let __t1776 = v_W4727.clone(); let __t1779 = { let __t1777 = v_W4733.clone(); let __t1778 = Value::nil(); rt::cons(&__t1777, &__t1778) }; let __t1780 = v_V4553.clone(); let __t1782 = { let v_W4728 = v_W4728.clone(); let v_W4733 = v_W4733.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1781 = v_W4733.clone(); rt::apply_value(interp, v_W4728.clone(), &[__t1781])? }), vec![v_W4728, v_W4733], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1776, __t1779, __t1780, __t1782])? }; rt::apply_direct(interp, "shen.gc", &[__t1775, __t1783])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4722, v_W4723], interp) }; { let __t1794 = { let __t1786 = v_W4725.clone(); let __t1787 = Value::sym(interp.intern("stream")); rt::eq(&__t1786, &__t1787) }; if rt::is_truthy(interp, &__t1794)? { rt::apply_value(interp, v_W4726.clone(), &[])? } else { { let __t1793 = { let __t1788 = v_W4725.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1788])? }; if rt::is_truthy(interp, &__t1793)? { { let __t1789 = v_W4725.clone(); let __t1790 = Value::sym(interp.intern("stream")); let __t1791 = v_V4553.clone(); let __t1792 = v_W4726.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1789, __t1790, __t1791, __t1792])? } } else { Value::bool(false) } } } } } } } else { { let __t1808 = { let __t1795 = v_W4722.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1795])? }; if rt::is_truthy(interp, &__t1808)? { { let v_W4734 = { let __t1796 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1796])? }; { let __t1797 = v_V4553.clone(); let __t1807 = { let __t1798 = v_W4722.clone(); let __t1803 = { let __t1799 = Value::sym(interp.intern("stream")); let __t1802 = { let __t1800 = v_W4734.clone(); let __t1801 = Value::nil(); rt::cons(&__t1800, &__t1801) }; rt::cons(&__t1799, &__t1802) }; let __t1804 = v_V4553.clone(); let __t1806 = { let v_W4723 = v_W4723.clone(); let v_W4734 = v_W4734.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1805 = v_W4734.clone(); rt::apply_value(interp, v_W4723.clone(), &[__t1805])? }), vec![v_W4723, v_W4734], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1798, __t1803, __t1804, __t1806])? }; rt::apply_direct(interp, "shen.gc", &[__t1797, __t1807])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1818 = { let __t1816 = v_W4714.clone(); let __t1817 = Value::bool(false); rt::eq(&__t1816, &__t1817) }; if match rt::is_truthy(interp, &__t1818) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4735 = { let __t1868 = { let __t1819 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1819])? }; if rt::is_truthy(interp, &__t1868)? { { let v_W4736 = { let __t1820 = v_V4550.clone(); let __t1821 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1820, __t1821])? }; { let __t1867 = { let __t1822 = v_W4736.clone(); rt::is_cons(&__t1822) }; if rt::is_truthy(interp, &__t1867)? { { let v_W4737 = { let __t1824 = { let __t1823 = v_W4736.clone(); rt::hd(&__t1823)? }; let __t1825 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1824, __t1825])? }; { let __t1866 = { let __t1826 = v_W4737.clone(); let __t1827 = Value::sym(interp.intern("type")); rt::eq(&__t1826, &__t1827) }; if rt::is_truthy(interp, &__t1866)? { { let v_W4738 = { let __t1829 = { let __t1828 = v_W4736.clone(); rt::tl(&__t1828)? }; let __t1830 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1829, __t1830])? }; { let __t1865 = { let __t1831 = v_W4738.clone(); rt::is_cons(&__t1831) }; if rt::is_truthy(interp, &__t1865)? { { let v_W4739 = { let __t1832 = v_W4738.clone(); rt::hd(&__t1832)? }; { let v_W4740 = { let __t1834 = { let __t1833 = v_W4738.clone(); rt::tl(&__t1833)? }; let __t1835 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1834, __t1835])? }; { let __t1864 = { let __t1836 = v_W4740.clone(); rt::is_cons(&__t1836) }; if rt::is_truthy(interp, &__t1864)? { { let v_W4741 = { let __t1837 = v_W4740.clone(); rt::hd(&__t1837)? }; { let v_W4742 = { let __t1839 = { let __t1838 = v_W4740.clone(); rt::tl(&__t1838)? }; let __t1840 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1839, __t1840])? }; { let __t1863 = { let __t1841 = v_W4742.clone(); let __t1842 = Value::nil(); rt::eq(&__t1841, &__t1842) }; if rt::is_truthy(interp, &__t1863)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1843 = v_V4553.clone(); let __t1844 = v_V4554.clone(); let __t1845 = v_W4557.clone(); let __t1862 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4739 = v_W4739.clone(); let v_W4741 = v_W4741.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1849 = { let __t1848 = { let __t1846 = v_W4741.clone(); let __t1847 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1846, __t1847])? }; rt::apply_direct(interp, "shen.rectify-type", &[__t1848])? }; let __t1850 = v_V4551.clone(); let __t1851 = v_V4553.clone(); let __t1852 = v_V4554.clone(); let __t1853 = v_W4557.clone(); let __t1861 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4739 = v_W4739.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1854 = v_W4739.clone(); let __t1855 = v_V4551.clone(); let __t1856 = v_V4552.clone(); let __t1857 = v_V4553.clone(); let __t1858 = v_V4554.clone(); let __t1859 = v_W4557.clone(); let __t1860 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1854, __t1855, __t1856, __t1857, __t1858, __t1859, __t1860])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4739], interp) }; rt::apply_direct(interp, "is!", &[__t1849, __t1850, __t1851, __t1852, __t1853, __t1861])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4739, v_W4741], interp) }; rt::apply_direct(interp, "shen.cut", &[__t1843, __t1844, __t1845, __t1862])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1871 = { let __t1869 = v_W4735.clone(); let __t1870 = Value::bool(false); rt::eq(&__t1869, &__t1870) }; if match rt::is_truthy(interp, &__t1871) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4743 = { let __t1922 = { let __t1872 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1872])? }; if rt::is_truthy(interp, &__t1922)? { { let v_W4744 = { let __t1873 = v_V4550.clone(); let __t1874 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1873, __t1874])? }; { let __t1921 = { let __t1875 = v_W4744.clone(); rt::is_cons(&__t1875) }; if rt::is_truthy(interp, &__t1921)? { { let v_W4745 = { let __t1877 = { let __t1876 = v_W4744.clone(); rt::hd(&__t1876)? }; let __t1878 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1877, __t1878])? }; { let __t1920 = { let __t1879 = v_W4745.clone(); let __t1880 = Value::sym(interp.intern("shen.input-h+")); rt::eq(&__t1879, &__t1880) }; if rt::is_truthy(interp, &__t1920)? { { let v_W4746 = { let __t1882 = { let __t1881 = v_W4744.clone(); rt::tl(&__t1881)? }; let __t1883 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1882, __t1883])? }; { let __t1919 = { let __t1884 = v_W4746.clone(); rt::is_cons(&__t1884) }; if rt::is_truthy(interp, &__t1919)? { { let v_W4747 = { let __t1885 = v_W4746.clone(); rt::hd(&__t1885)? }; { let v_W4748 = { let __t1887 = { let __t1886 = v_W4746.clone(); rt::tl(&__t1886)? }; let __t1888 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1887, __t1888])? }; { let __t1918 = { let __t1889 = v_W4748.clone(); rt::is_cons(&__t1889) }; if rt::is_truthy(interp, &__t1918)? { { let v_W4749 = { let __t1890 = v_W4748.clone(); rt::hd(&__t1890)? }; { let v_W4750 = { let __t1892 = { let __t1891 = v_W4748.clone(); rt::tl(&__t1891)? }; let __t1893 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1892, __t1893])? }; { let __t1917 = { let __t1894 = v_W4750.clone(); let __t1895 = Value::nil(); rt::eq(&__t1894, &__t1895) }; if rt::is_truthy(interp, &__t1917)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1896 = v_V4551.clone(); let __t1901 = { let __t1900 = { let __t1899 = { let __t1897 = v_W4747.clone(); let __t1898 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1897, __t1898])? }; rt::apply_direct(interp, "shen.rdecons", &[__t1899])? }; rt::apply_direct(interp, "shen.rectify-type", &[__t1900])? }; let __t1902 = v_V4553.clone(); let __t1903 = v_V4554.clone(); let __t1904 = v_W4557.clone(); let __t1916 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4749 = v_W4749.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1905 = v_W4749.clone(); let __t1910 = { let __t1906 = Value::sym(interp.intern("stream")); let __t1909 = { let __t1907 = Value::sym(interp.intern("in")); let __t1908 = Value::nil(); rt::cons(&__t1907, &__t1908) }; rt::cons(&__t1906, &__t1909) }; let __t1911 = v_V4552.clone(); let __t1912 = v_V4553.clone(); let __t1913 = v_V4554.clone(); let __t1914 = v_W4557.clone(); let __t1915 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1905, __t1910, __t1911, __t1912, __t1913, __t1914, __t1915])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4749], interp) }; rt::apply_direct(interp, "is", &[__t1896, __t1901, __t1902, __t1903, __t1904, __t1916])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1925 = { let __t1923 = v_W4743.clone(); let __t1924 = Value::bool(false); rt::eq(&__t1923, &__t1924) }; if match rt::is_truthy(interp, &__t1925) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4751 = { let __t1980 = { let __t1926 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1926])? }; if rt::is_truthy(interp, &__t1980)? { { let v_W4752 = { let __t1927 = v_V4550.clone(); let __t1928 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1927, __t1928])? }; { let __t1979 = { let __t1929 = v_W4752.clone(); rt::is_cons(&__t1929) }; if rt::is_truthy(interp, &__t1979)? { { let v_W4753 = { let __t1931 = { let __t1930 = v_W4752.clone(); rt::hd(&__t1930)? }; let __t1932 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1931, __t1932])? }; { let __t1978 = { let __t1933 = v_W4753.clone(); let __t1934 = Value::sym(interp.intern("set")); rt::eq(&__t1933, &__t1934) }; if rt::is_truthy(interp, &__t1978)? { { let v_W4754 = { let __t1936 = { let __t1935 = v_W4752.clone(); rt::tl(&__t1935)? }; let __t1937 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1936, __t1937])? }; { let __t1977 = { let __t1938 = v_W4754.clone(); rt::is_cons(&__t1938) }; if rt::is_truthy(interp, &__t1977)? { { let v_W4755 = { let __t1939 = v_W4754.clone(); rt::hd(&__t1939)? }; { let v_W4756 = { let __t1941 = { let __t1940 = v_W4754.clone(); rt::tl(&__t1940)? }; let __t1942 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1941, __t1942])? }; { let __t1976 = { let __t1943 = v_W4756.clone(); rt::is_cons(&__t1943) }; if rt::is_truthy(interp, &__t1976)? { { let v_W4757 = { let __t1944 = v_W4756.clone(); rt::hd(&__t1944)? }; { let v_W4758 = { let __t1946 = { let __t1945 = v_W4756.clone(); rt::tl(&__t1945)? }; let __t1947 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1946, __t1947])? }; { let __t1975 = { let __t1948 = v_W4758.clone(); let __t1949 = Value::nil(); rt::eq(&__t1948, &__t1949) }; if rt::is_truthy(interp, &__t1975)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1950 = v_W4755.clone(); let __t1951 = Value::sym(interp.intern("symbol")); let __t1952 = v_V4552.clone(); let __t1953 = v_V4553.clone(); let __t1954 = v_V4554.clone(); let __t1955 = v_W4557.clone(); let __t1974 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4755 = v_W4755.clone(); let v_W4757 = v_W4757.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1960 = { let __t1956 = Value::sym(interp.intern("value")); let __t1959 = { let __t1957 = v_W4755.clone(); let __t1958 = Value::nil(); rt::cons(&__t1957, &__t1958) }; rt::cons(&__t1956, &__t1959) }; let __t1961 = v_V4551.clone(); let __t1962 = v_V4552.clone(); let __t1963 = v_V4553.clone(); let __t1964 = v_V4554.clone(); let __t1965 = v_W4557.clone(); let __t1973 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4757 = v_W4757.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1966 = v_W4757.clone(); let __t1967 = v_V4551.clone(); let __t1968 = v_V4552.clone(); let __t1969 = v_V4553.clone(); let __t1970 = v_V4554.clone(); let __t1971 = v_W4557.clone(); let __t1972 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1966, __t1967, __t1968, __t1969, __t1970, __t1971, __t1972])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4757], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1960, __t1961, __t1962, __t1963, __t1964, __t1965, __t1973])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4755, v_W4757], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1950, __t1951, __t1952, __t1953, __t1954, __t1955, __t1974])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1983 = { let __t1981 = v_W4751.clone(); let __t1982 = Value::bool(false); rt::eq(&__t1981, &__t1982) }; if match rt::is_truthy(interp, &__t1983) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4759 = { let __t2006 = { let __t1984 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1984])? }; if rt::is_truthy(interp, &__t2006)? { { let v_W4760 = { let __t1985 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1985])? }; { let __t1986 = v_V4553.clone(); let __t2005 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1987 = v_V4552.clone(); let __t1988 = v_W4760.clone(); let __t1989 = Value::bool(false); let __t1990 = v_V4553.clone(); let __t1991 = v_V4554.clone(); let __t1992 = v_W4557.clone(); let __t2004 = { let v_V4550 = v_V4550.clone(); let v_V4551 = v_V4551.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4760 = v_W4760.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1993 = v_V4553.clone(); let __t1994 = v_V4554.clone(); let __t1995 = v_W4557.clone(); let __t2003 = { let v_V4550 = v_V4550.clone(); let v_V4551 = v_V4551.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4760 = v_W4760.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1996 = v_V4550.clone(); let __t1997 = v_V4551.clone(); let __t1998 = v_W4760.clone(); let __t1999 = v_V4553.clone(); let __t2000 = v_V4554.clone(); let __t2001 = v_W4557.clone(); let __t2002 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1996, __t1997, __t1998, __t1999, __t2000, __t2001, __t2002])? }), vec![v_V4550, v_V4551, v_V4553, v_V4554, v_V4556, v_W4557, v_W4760], interp) }; rt::apply_direct(interp, "shen.cut", &[__t1993, __t1994, __t1995, __t2003])? }), vec![v_V4550, v_V4551, v_V4553, v_V4554, v_V4556, v_W4557, v_W4760], interp) }; rt::apply_direct(interp, "shen.l-rules", &[__t1987, __t1988, __t1989, __t1990, __t1991, __t1992, __t2004])? } }; rt::apply_direct(interp, "shen.gc", &[__t1986, __t2005])? } } } else { Value::bool(false) } }; { let __t2009 = { let __t2007 = v_W4759.clone(); let __t2008 = Value::bool(false); rt::eq(&__t2007, &__t2008) }; if match rt::is_truthy(interp, &__t2009) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4761 = { let __t2026 = { let __t2010 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2010])? }; if rt::is_truthy(interp, &__t2026)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2018 = { let __t2011 = v_V4550.clone(); let __t2017 = { let __t2013 = { let __t2012 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2012])? }; let __t2016 = { let __t2014 = v_V4551.clone(); let __t2015 = Value::nil(); rt::cons(&__t2014, &__t2015) }; rt::cons(&__t2013, &__t2016) }; rt::cons(&__t2011, &__t2017) }; let __t2019 = v_V4552.clone(); let __t2021 = { let __t2020 = Value::sym(interp.intern("shen.*datatypes*")); rt::apply_direct(interp, "value", &[__t2020])? }; let __t2022 = v_V4553.clone(); let __t2023 = v_V4554.clone(); let __t2024 = v_W4557.clone(); let __t2025 = v_V4556.clone(); rt::apply_direct(interp, "shen.search-user-datatypes", &[__t2018, __t2019, __t2021, __t2022, __t2023, __t2024, __t2025])? } } } else { Value::bool(false) } }; { let __t2029 = { let __t2027 = v_W4761.clone(); let __t2028 = Value::bool(false); rt::eq(&__t2027, &__t2028) }; if match rt::is_truthy(interp, &__t2029) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2030 = v_V4554.clone(); let __t2031 = v_W4557.clone(); rt::apply_direct(interp, "shen.unlock", &[__t2030, __t2031])? }); } else { break Ok(v_W4761.clone()); } } } } else { break Ok(v_W4759.clone()); } } } } else { break Ok(v_W4751.clone()); } } } } else { break Ok(v_W4743.clone()); } } } } else { break Ok(v_W4735.clone()); } } } } else { break Ok(v_W4714.clone()); } } } } else { break Ok(v_W4701.clone()); } } } } else { break Ok(v_W4671.clone()); } } } } else { break Ok(v_W4661.clone()); } } } } else { break Ok(v_W4640.clone()); } } } } else { break Ok(v_W4612.clone()); } } } } else { break Ok(v_W4591.clone()); } } } } else { break Ok(v_W4584.clone()); } } } } else { break Ok(v_W4577.clone()); } } } } else { break Ok(v_W4571.clone()); } } } } else { - break Ok(v_W4551.clone()); + break Ok(v_W4565.clone()); } } } } else { - break Ok(v_W4547.clone()); + break Ok(v_W4561.clone()); } } } } else { - break Ok(v_W4546.clone()); + break Ok(v_W4560.clone()); } } } } else { - break Ok(v_W4545.clone()); + break Ok(v_W4559.clone()); } } } } else { - break Ok(v_W4544.clone()); + break Ok(v_W4558.clone()); } } } @@ -3781,13 +3781,13 @@ pub fn aot_shen_x2e_rdecons(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V4748.clone()); + break Ok(v_V4762.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -3946,39 +3946,39 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V4749 = args[0].clone(); + let mut v_V4763 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4750 = args[1].clone(); + let mut v_V4764 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4751 = args[2].clone(); + let mut v_V4765 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4752 = args[3].clone(); + let mut v_V4766 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4753 = args[4].clone(); + let mut v_V4767 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4754 = args[5].clone(); + let mut v_V4768 = args[5].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4755 = { + let v_W4769 = { let __t2093 = { - let __t2073 = v_V4752.clone(); + let __t2073 = v_V4766.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2073])? }; if rt::is_truthy(interp, &__t2093)? { { - let v_W4756 = { - let __t2074 = v_V4750.clone(); - let __t2075 = v_V4751.clone(); + let v_W4770 = { + let __t2074 = v_V4764.clone(); + let __t2075 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2074, __t2075])? }; { - let v_W4757 = { - let v_V4749 = v_V4749.clone(); - let v_V4751 = v_V4751.clone(); - let v_V4752 = v_V4752.clone(); - let v_V4753 = v_V4753.clone(); - let v_V4754 = v_V4754.clone(); + let v_W4771 = { + let v_V4763 = v_V4763.clone(); + let v_V4765 = v_V4765.clone(); + let v_V4766 = v_V4766.clone(); + let v_V4767 = v_V4767.clone(); + let v_V4768 = v_V4768.clone(); rt::make_aot_closure( "", 0, @@ -3989,8 +3989,8 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t2079 = { let __t2078 = { - let __t2076 = v_V4749.clone(); - let __t2077 = v_V4751.clone(); + let __t2076 = v_V4763.clone(); + let __t2077 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -3999,10 +3999,10 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }; rt::is_number(&__t2078) }; - let __t2080 = v_V4751.clone(); - let __t2081 = v_V4752.clone(); - let __t2082 = v_V4753.clone(); - let __t2083 = v_V4754.clone(); + let __t2080 = v_V4765.clone(); + let __t2081 = v_V4766.clone(); + let __t2082 = v_V4767.clone(); + let __t2083 = v_V4768.clone(); rt::apply_direct( interp, "when", @@ -4011,30 +4011,30 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult } }) }, - vec![v_V4749, v_V4751, v_V4752, v_V4753, v_V4754], + vec![v_V4763, v_V4765, v_V4766, v_V4767, v_V4768], interp, ) }; { let __t2092 = { - let __t2084 = v_W4756.clone(); + let __t2084 = v_W4770.clone(); let __t2085 = Value::sym(interp.intern("number")); rt::eq(&__t2084, &__t2085) }; if rt::is_truthy(interp, &__t2092)? { - rt::apply_value(interp, v_W4757.clone(), &[])? + rt::apply_value(interp, v_W4771.clone(), &[])? } else { { let __t2091 = { - let __t2086 = v_W4756.clone(); + let __t2086 = v_W4770.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2086])? }; if rt::is_truthy(interp, &__t2091)? { { - let __t2087 = v_W4756.clone(); + let __t2087 = v_W4770.clone(); let __t2088 = Value::sym(interp.intern("number")); - let __t2089 = v_V4751.clone(); - let __t2090 = v_W4757.clone(); + let __t2089 = v_V4765.clone(); + let __t2090 = v_W4771.clone(); rt::apply_direct( interp, "shen.bind!", @@ -4055,7 +4055,7 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }; { let __t2096 = { - let __t2094 = v_W4755.clone(); + let __t2094 = v_W4769.clone(); let __t2095 = Value::bool(false); rt::eq(&__t2094, &__t2095) }; @@ -4064,16 +4064,16 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let v_W4758 = { + let v_W4772 = { let __t2117 = { - let __t2097 = v_V4752.clone(); + let __t2097 = v_V4766.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2097])? }; if rt::is_truthy(interp, &__t2117)? { { - let v_W4759 = { - let __t2098 = v_V4750.clone(); - let __t2099 = v_V4751.clone(); + let v_W4773 = { + let __t2098 = v_V4764.clone(); + let __t2099 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -4081,12 +4081,12 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? }; { - let v_W4760 = { - let v_V4749 = v_V4749.clone(); - let v_V4751 = v_V4751.clone(); - let v_V4752 = v_V4752.clone(); - let v_V4753 = v_V4753.clone(); - let v_V4754 = v_V4754.clone(); + let v_W4774 = { + let v_V4763 = v_V4763.clone(); + let v_V4765 = v_V4765.clone(); + let v_V4766 = v_V4766.clone(); + let v_V4767 = v_V4767.clone(); + let v_V4768 = v_V4768.clone(); rt::make_aot_closure( "", 0, @@ -4102,8 +4102,8 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t2103 = { let __t2102 = { - let __t2100 = v_V4749.clone(); - let __t2101 = v_V4751.clone(); + let __t2100 = v_V4763.clone(); + let __t2101 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -4116,10 +4116,10 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult &[__t2102], )? }; - let __t2104 = v_V4751.clone(); - let __t2105 = v_V4752.clone(); - let __t2106 = v_V4753.clone(); - let __t2107 = v_V4754.clone(); + let __t2104 = v_V4765.clone(); + let __t2105 = v_V4766.clone(); + let __t2106 = v_V4767.clone(); + let __t2107 = v_V4768.clone(); rt::apply_direct( interp, "when", @@ -4131,22 +4131,22 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult } }) }, - vec![v_V4749, v_V4751, v_V4752, v_V4753, v_V4754], + vec![v_V4763, v_V4765, v_V4766, v_V4767, v_V4768], interp, ) }; { let __t2116 = { - let __t2108 = v_W4759.clone(); + let __t2108 = v_W4773.clone(); let __t2109 = Value::sym(interp.intern("boolean")); rt::eq(&__t2108, &__t2109) }; if rt::is_truthy(interp, &__t2116)? { - rt::apply_value(interp, v_W4760.clone(), &[])? + rt::apply_value(interp, v_W4774.clone(), &[])? } else { { let __t2115 = { - let __t2110 = v_W4759.clone(); + let __t2110 = v_W4773.clone(); rt::apply_direct( interp, "shen.pvar?", @@ -4155,12 +4155,12 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }; if rt::is_truthy(interp, &__t2115)? { { - let __t2111 = v_W4759.clone(); + let __t2111 = v_W4773.clone(); let __t2112 = Value::sym( interp.intern("boolean"), ); - let __t2113 = v_V4751.clone(); - let __t2114 = v_W4760.clone(); + let __t2113 = v_V4765.clone(); + let __t2114 = v_W4774.clone(); rt::apply_direct( interp, "shen.bind!", @@ -4184,7 +4184,7 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }; { let __t2120 = { - let __t2118 = v_W4758.clone(); + let __t2118 = v_W4772.clone(); let __t2119 = Value::bool(false); rt::eq(&__t2118, &__t2119) }; @@ -4193,16 +4193,16 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let v_W4761 = { + let v_W4775 = { let __t2141 = { - let __t2121 = v_V4752.clone(); + let __t2121 = v_V4766.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2121])? }; if rt::is_truthy(interp, &__t2141)? { { - let v_W4762 = { - let __t2122 = v_V4750.clone(); - let __t2123 = v_V4751.clone(); + let v_W4776 = { + let __t2122 = v_V4764.clone(); + let __t2123 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -4210,12 +4210,12 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? }; { - let v_W4763 = { - let v_V4749 = v_V4749.clone(); - let v_V4751 = v_V4751.clone(); - let v_V4752 = v_V4752.clone(); - let v_V4753 = v_V4753.clone(); - let v_V4754 = v_V4754.clone(); + let v_W4777 = { + let v_V4763 = v_V4763.clone(); + let v_V4765 = v_V4765.clone(); + let v_V4766 = v_V4766.clone(); + let v_V4767 = v_V4767.clone(); + let v_V4768 = v_V4768.clone(); rt::make_aot_closure( "", 0, @@ -4232,21 +4232,21 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult let __t2127 = { let __t2126 = { let __t2124 = - v_V4749.clone(); + v_V4763.clone(); let __t2125 = - v_V4751.clone(); + v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2124, __t2125])? }; rt::is_string(&__t2126) }; let __t2128 = - v_V4751.clone(); + v_V4765.clone(); let __t2129 = - v_V4752.clone(); + v_V4766.clone(); let __t2130 = - v_V4753.clone(); + v_V4767.clone(); let __t2131 = - v_V4754.clone(); + v_V4768.clone(); rt::apply_direct( interp, "when", @@ -4260,15 +4260,15 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }) }, vec![ - v_V4749, v_V4751, v_V4752, v_V4753, - v_V4754, + v_V4763, v_V4765, v_V4766, v_V4767, + v_V4768, ], interp, ) }; { let __t2140 = { - let __t2132 = v_W4762.clone(); + let __t2132 = v_W4776.clone(); let __t2133 = Value::sym(interp.intern("string")); rt::eq(&__t2132, &__t2133) @@ -4276,13 +4276,13 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult if rt::is_truthy(interp, &__t2140)? { rt::apply_value( interp, - v_W4763.clone(), + v_W4777.clone(), &[], )? } else { { let __t2139 = { - let __t2134 = v_W4762.clone(); + let __t2134 = v_W4776.clone(); rt::apply_direct( interp, "shen.pvar?", @@ -4293,14 +4293,14 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t2135 = - v_W4762.clone(); + v_W4776.clone(); let __t2136 = Value::sym( interp.intern("string"), ); let __t2137 = - v_V4751.clone(); + v_V4765.clone(); let __t2138 = - v_W4763.clone(); + v_W4777.clone(); rt::apply_direct( interp, "shen.bind!", @@ -4324,7 +4324,7 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }; { let __t2144 = { - let __t2142 = v_W4761.clone(); + let __t2142 = v_W4775.clone(); let __t2143 = Value::bool(false); rt::eq(&__t2142, &__t2143) }; @@ -4333,9 +4333,9 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let v_W4764 = { + let v_W4778 = { let __t2165 = { - let __t2145 = v_V4752.clone(); + let __t2145 = v_V4766.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -4344,9 +4344,9 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }; if rt::is_truthy(interp, &__t2165)? { { - let v_W4765 = { - let __t2146 = v_V4750.clone(); - let __t2147 = v_V4751.clone(); + let v_W4779 = { + let __t2146 = v_V4764.clone(); + let __t2147 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -4354,12 +4354,12 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? }; { - let v_W4766 = { - let v_V4749 = v_V4749.clone(); - let v_V4751 = v_V4751.clone(); - let v_V4752 = v_V4752.clone(); - let v_V4753 = v_V4753.clone(); - let v_V4754 = v_V4754.clone(); + let v_W4780 = { + let v_V4763 = v_V4763.clone(); + let v_V4765 = v_V4765.clone(); + let v_V4766 = v_V4766.clone(); + let v_V4767 = v_V4767.clone(); + let v_V4768 = v_V4768.clone(); rt::make_aot_closure( "", 0, @@ -4371,26 +4371,26 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t2151 = { let __t2150 = { - let __t2148 = v_V4749.clone(); - let __t2149 = v_V4751.clone(); + let __t2148 = v_V4763.clone(); + let __t2149 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2148, __t2149])? }; rt::is_symbol(&__t2150) }; let __t2152 = - v_V4751 + v_V4765 .clone( ); let __t2153 = - v_V4752 + v_V4766 .clone( ); let __t2154 = - v_V4753 + v_V4767 .clone( ); let __t2155 = - v_V4754 + v_V4768 .clone( ); rt::apply_direct(interp, "when", &[__t2151, __t2152, __t2153, __t2154, __t2155])? @@ -4398,9 +4398,9 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }) }, vec![ - v_V4749, v_V4751, - v_V4752, v_V4753, - v_V4754, + v_V4763, v_V4765, + v_V4766, v_V4767, + v_V4768, ], interp, ) @@ -4408,7 +4408,7 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t2164 = { let __t2156 = - v_W4765.clone(); + v_W4779.clone(); let __t2157 = Value::sym( interp.intern("symbol"), ); @@ -4419,14 +4419,14 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? { rt::apply_value( interp, - v_W4766.clone(), + v_W4780.clone(), &[], )? } else { { let __t2163 = { let __t2158 = - v_W4765.clone(); + v_W4779.clone(); rt::apply_direct( interp, "shen.pvar?", @@ -4438,16 +4438,16 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? { { let __t2159 = - v_W4765 + v_W4779 .clone( ); let __t2160 = Value::sym(interp.intern("symbol")); let __t2161 = - v_V4751 + v_V4765 .clone( ); let __t2162 = - v_W4766 + v_W4780 .clone( ); rt::apply_direct(interp, "shen.bind!", &[__t2159, __t2160, __t2161, __t2162])? @@ -4466,7 +4466,7 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult }; { let __t2168 = { - let __t2166 = v_W4764.clone(); + let __t2166 = v_W4778.clone(); let __t2167 = Value::bool(false); rt::eq(&__t2166, &__t2167) }; @@ -4476,7 +4476,7 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult } { { let __t2170 = { - let __t2169 = v_V4752.clone(); + let __t2169 = v_V4766.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -4489,11 +4489,11 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let v_W4767 = { + let v_W4781 = { let __t2171 = - v_V4749.clone(); + v_V4763.clone(); let __t2172 = - v_V4751.clone(); + v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -4503,7 +4503,7 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t2175 = { let __t2173 = - v_W4767.clone(); + v_W4781.clone(); let __t2174 = Value::nil(); rt::eq( @@ -4517,28 +4517,28 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult Err(e) => break Err(e), } { { - let v_W4768 = { + let v_W4782 = { let __t2176 = - v_V4750 + v_V4764 .clone( ); let __t2177 = - v_V4751 + v_V4765 .clone( ); rt::apply_direct(interp, "shen.lazyderef", &[__t2176, __t2177])? }; { - let v_W4769 = { - let v_V4754 = v_V4754.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z4770 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; rt::apply_value(interp, v_V4754.clone(), &[])? }) }, vec![v_V4754], interp) + let v_W4783 = { + let v_V4768 = v_V4768.clone(); + rt::make_aot_closure("", 1, move |interp, args| { let v_Z4784 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; rt::apply_value(interp, v_V4768.clone(), &[])? }) }, vec![v_V4768], interp) }; { let __t2179 = { - let __t2178 = v_W4768.clone(); + let __t2178 = v_W4782.clone(); rt::is_cons(&__t2178) }; - if match rt::is_truthy(interp, &__t2179) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4771 = { let __t2181 = { let __t2180 = v_W4768.clone(); rt::hd(&__t2180)? }; let __t2182 = v_V4751.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2181, __t2182])? }; { let v_W4772 = { let v_V4751 = v_V4751.clone(); let v_W4768 = v_W4768.clone(); let v_W4769 = v_W4769.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4773 = { let __t2184 = { let __t2183 = v_W4768.clone(); rt::tl(&__t2183)? }; let __t2185 = v_V4751.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2184, __t2185])? }; { let v_W4774 = { let v_W4769 = v_W4769.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4775 = args[0].clone(); Ok({ let __t2186 = v_Z4775.clone(); rt::apply_value(interp, v_W4769.clone(), &[__t2186])? }) }, vec![v_W4769], interp) }; { let __t2214 = { let __t2187 = v_W4773.clone(); rt::is_cons(&__t2187) }; if rt::is_truthy(interp, &__t2214)? { { let v_W4776 = { let __t2188 = v_W4773.clone(); rt::hd(&__t2188)? }; { let v_W4777 = { let __t2190 = { let __t2189 = v_W4773.clone(); rt::tl(&__t2189)? }; let __t2191 = v_V4751.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2190, __t2191])? }; { let v_W4778 = { let v_W4774 = v_W4774.clone(); let v_W4776 = v_W4776.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2192 = v_W4776.clone(); rt::apply_value(interp, v_W4774.clone(), &[__t2192])? }), vec![v_W4774, v_W4776], interp) }; { let __t2201 = { let __t2193 = v_W4777.clone(); let __t2194 = Value::nil(); rt::eq(&__t2193, &__t2194) }; if rt::is_truthy(interp, &__t2201)? { rt::apply_value(interp, v_W4778.clone(), &[])? } else { { let __t2200 = { let __t2195 = v_W4777.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2195])? }; if rt::is_truthy(interp, &__t2200)? { { let __t2196 = v_W4777.clone(); let __t2197 = Value::nil(); let __t2198 = v_V4751.clone(); let __t2199 = v_W4778.clone(); rt::apply_direct(interp, "shen.bind!", &[__t2196, __t2197, __t2198, __t2199])? } } else { Value::bool(false) } } } } } } } } else { { let __t2213 = { let __t2202 = v_W4773.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2202])? }; if rt::is_truthy(interp, &__t2213)? { { let v_W4779 = { let __t2203 = v_V4751.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2203])? }; { let __t2204 = v_V4751.clone(); let __t2212 = { let __t2205 = v_W4773.clone(); let __t2208 = { let __t2206 = v_W4779.clone(); let __t2207 = Value::nil(); rt::cons(&__t2206, &__t2207) }; let __t2209 = v_V4751.clone(); let __t2211 = { let v_W4774 = v_W4774.clone(); let v_W4779 = v_W4779.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2210 = v_W4779.clone(); rt::apply_value(interp, v_W4774.clone(), &[__t2210])? }), vec![v_W4774, v_W4779], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2205, __t2208, __t2209, __t2211])? }; rt::apply_direct(interp, "shen.gc", &[__t2204, __t2212])? } } } else { Value::bool(false) } } } } } }), vec![v_V4751, v_W4768, v_W4769], interp) }; { let __t2217 = { let __t2215 = v_W4771.clone(); let __t2216 = Value::sym(interp.intern("list")); rt::eq(&__t2215, &__t2216) }; if match rt::is_truthy(interp, &__t2217) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W4772.clone(), &[])?); } else { { let __t2219 = { let __t2218 = v_W4771.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2218])? }; if match rt::is_truthy(interp, &__t2219) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2220 = v_W4771.clone(); let __t2221 = Value::sym(interp.intern("list")); let __t2222 = v_V4751.clone(); let __t2223 = v_W4772.clone(); rt::apply_direct(interp, "shen.bind!", &[__t2220, __t2221, __t2222, __t2223])? }); } else { break Ok(Value::bool(false)); } } } } } } } else { { let __t2225 = { let __t2224 = v_W4768.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2224])? }; if match rt::is_truthy(interp, &__t2225) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4780 = { let __t2226 = v_V4751.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2226])? }; break Ok({ let __t2227 = v_V4751.clone(); let __t2237 = { let __t2228 = v_W4768.clone(); let __t2233 = { let __t2229 = Value::sym(interp.intern("list")); let __t2232 = { let __t2230 = v_W4780.clone(); let __t2231 = Value::nil(); rt::cons(&__t2230, &__t2231) }; rt::cons(&__t2229, &__t2232) }; let __t2234 = v_V4751.clone(); let __t2236 = { let v_W4769 = v_W4769.clone(); let v_W4780 = v_W4780.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2235 = v_W4780.clone(); rt::apply_value(interp, v_W4769.clone(), &[__t2235])? }), vec![v_W4769, v_W4780], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2228, __t2233, __t2234, __t2236])? }; rt::apply_direct(interp, "shen.gc", &[__t2227, __t2237])? }); } } else { break Ok(Value::bool(false)); } } } + if match rt::is_truthy(interp, &__t2179) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4785 = { let __t2181 = { let __t2180 = v_W4782.clone(); rt::hd(&__t2180)? }; let __t2182 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2181, __t2182])? }; { let v_W4786 = { let v_V4765 = v_V4765.clone(); let v_W4782 = v_W4782.clone(); let v_W4783 = v_W4783.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4787 = { let __t2184 = { let __t2183 = v_W4782.clone(); rt::tl(&__t2183)? }; let __t2185 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2184, __t2185])? }; { let v_W4788 = { let v_W4783 = v_W4783.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4789 = args[0].clone(); Ok({ let __t2186 = v_Z4789.clone(); rt::apply_value(interp, v_W4783.clone(), &[__t2186])? }) }, vec![v_W4783], interp) }; { let __t2214 = { let __t2187 = v_W4787.clone(); rt::is_cons(&__t2187) }; if rt::is_truthy(interp, &__t2214)? { { let v_W4790 = { let __t2188 = v_W4787.clone(); rt::hd(&__t2188)? }; { let v_W4791 = { let __t2190 = { let __t2189 = v_W4787.clone(); rt::tl(&__t2189)? }; let __t2191 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2190, __t2191])? }; { let v_W4792 = { let v_W4788 = v_W4788.clone(); let v_W4790 = v_W4790.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2192 = v_W4790.clone(); rt::apply_value(interp, v_W4788.clone(), &[__t2192])? }), vec![v_W4788, v_W4790], interp) }; { let __t2201 = { let __t2193 = v_W4791.clone(); let __t2194 = Value::nil(); rt::eq(&__t2193, &__t2194) }; if rt::is_truthy(interp, &__t2201)? { rt::apply_value(interp, v_W4792.clone(), &[])? } else { { let __t2200 = { let __t2195 = v_W4791.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2195])? }; if rt::is_truthy(interp, &__t2200)? { { let __t2196 = v_W4791.clone(); let __t2197 = Value::nil(); let __t2198 = v_V4765.clone(); let __t2199 = v_W4792.clone(); rt::apply_direct(interp, "shen.bind!", &[__t2196, __t2197, __t2198, __t2199])? } } else { Value::bool(false) } } } } } } } } else { { let __t2213 = { let __t2202 = v_W4787.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2202])? }; if rt::is_truthy(interp, &__t2213)? { { let v_W4793 = { let __t2203 = v_V4765.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2203])? }; { let __t2204 = v_V4765.clone(); let __t2212 = { let __t2205 = v_W4787.clone(); let __t2208 = { let __t2206 = v_W4793.clone(); let __t2207 = Value::nil(); rt::cons(&__t2206, &__t2207) }; let __t2209 = v_V4765.clone(); let __t2211 = { let v_W4788 = v_W4788.clone(); let v_W4793 = v_W4793.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2210 = v_W4793.clone(); rt::apply_value(interp, v_W4788.clone(), &[__t2210])? }), vec![v_W4788, v_W4793], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2205, __t2208, __t2209, __t2211])? }; rt::apply_direct(interp, "shen.gc", &[__t2204, __t2212])? } } } else { Value::bool(false) } } } } } }), vec![v_V4765, v_W4782, v_W4783], interp) }; { let __t2217 = { let __t2215 = v_W4785.clone(); let __t2216 = Value::sym(interp.intern("list")); rt::eq(&__t2215, &__t2216) }; if match rt::is_truthy(interp, &__t2217) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W4786.clone(), &[])?); } else { { let __t2219 = { let __t2218 = v_W4785.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2218])? }; if match rt::is_truthy(interp, &__t2219) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2220 = v_W4785.clone(); let __t2221 = Value::sym(interp.intern("list")); let __t2222 = v_V4765.clone(); let __t2223 = v_W4786.clone(); rt::apply_direct(interp, "shen.bind!", &[__t2220, __t2221, __t2222, __t2223])? }); } else { break Ok(Value::bool(false)); } } } } } } } else { { let __t2225 = { let __t2224 = v_W4782.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2224])? }; if match rt::is_truthy(interp, &__t2225) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4794 = { let __t2226 = v_V4765.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2226])? }; break Ok({ let __t2227 = v_V4765.clone(); let __t2237 = { let __t2228 = v_W4782.clone(); let __t2233 = { let __t2229 = Value::sym(interp.intern("list")); let __t2232 = { let __t2230 = v_W4794.clone(); let __t2231 = Value::nil(); rt::cons(&__t2230, &__t2231) }; rt::cons(&__t2229, &__t2232) }; let __t2234 = v_V4765.clone(); let __t2236 = { let v_W4783 = v_W4783.clone(); let v_W4794 = v_W4794.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2235 = v_W4794.clone(); rt::apply_value(interp, v_W4783.clone(), &[__t2235])? }), vec![v_W4783, v_W4794], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2228, __t2233, __t2234, __t2236])? }; rt::apply_direct(interp, "shen.gc", &[__t2227, __t2237])? }); } } else { break Ok(Value::bool(false)); } } } } } } @@ -4554,22 +4554,22 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult } } } else { - break Ok(v_W4764.clone()); + break Ok(v_W4778.clone()); } } } } else { - break Ok(v_W4761.clone()); + break Ok(v_W4775.clone()); } } } } else { - break Ok(v_W4758.clone()); + break Ok(v_W4772.clone()); } } } } else { - break Ok(v_W4755.clone()); + break Ok(v_W4769.clone()); } } } @@ -4590,47 +4590,47 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V4781 = args[0].clone(); + let mut v_V4795 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4782 = args[1].clone(); + let mut v_V4796 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4783 = args[2].clone(); + let mut v_V4797 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4784 = args[3].clone(); + let mut v_V4798 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4785 = args[4].clone(); + let mut v_V4799 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4786 = args[5].clone(); + let mut v_V4800 = args[5].clone(); #[allow(unused_mut)] - let mut v_V4787 = args[6].clone(); + let mut v_V4801 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4788 = { + let v_W4802 = { let __t2294 = { - let __t2238 = v_V4785.clone(); + let __t2238 = v_V4799.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2238])? }; if rt::is_truthy(interp, &__t2294)? { { - let v_W4789 = { - let __t2239 = v_V4783.clone(); - let __t2240 = v_V4784.clone(); + let v_W4803 = { + let __t2239 = v_V4797.clone(); + let __t2240 = v_V4798.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2239, __t2240])? }; { let __t2293 = { - let __t2241 = v_W4789.clone(); + let __t2241 = v_W4803.clone(); rt::is_cons(&__t2241) }; if rt::is_truthy(interp, &__t2293)? { { - let v_W4790 = { + let v_W4804 = { let __t2243 = { - let __t2242 = v_W4789.clone(); + let __t2242 = v_W4803.clone(); rt::hd(&__t2242)? }; - let __t2244 = v_V4784.clone(); + let __t2244 = v_V4798.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -4639,22 +4639,22 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t2292 = { - let __t2245 = v_W4790.clone(); + let __t2245 = v_W4804.clone(); rt::is_cons(&__t2245) }; if rt::is_truthy(interp, &__t2292)? { { - let v_W4791 = { - let __t2246 = v_W4790.clone(); + let v_W4805 = { + let __t2246 = v_W4804.clone(); rt::hd(&__t2246)? }; { - let v_W4792 = { + let v_W4806 = { let __t2248 = { - let __t2247 = v_W4790.clone(); + let __t2247 = v_W4804.clone(); rt::tl(&__t2247)? }; - let __t2249 = v_V4784.clone(); + let __t2249 = v_V4798.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -4663,24 +4663,24 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t2291 = { - let __t2250 = v_W4792.clone(); + let __t2250 = v_W4806.clone(); rt::is_cons(&__t2250) }; if rt::is_truthy(interp, &__t2291)? { { - let v_W4793 = { - let __t2251 = v_W4792.clone(); + let v_W4807 = { + let __t2251 = v_W4806.clone(); rt::hd(&__t2251)? }; { - let v_W4794 = { + let v_W4808 = { let __t2253 = { let __t2252 = - v_W4792.clone(); + v_W4806.clone(); rt::tl(&__t2252)? }; let __t2254 = - v_V4784.clone(); + v_V4798.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -4690,16 +4690,16 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh { let __t2290 = { let __t2255 = - v_W4794.clone(); + v_W4808.clone(); rt::is_cons(&__t2255) }; if rt::is_truthy( interp, &__t2290, )? { { - let v_W4795 = { + let v_W4809 = { let __t2256 = - v_W4794 + v_W4808 .clone( ); rt::hd( @@ -4707,21 +4707,21 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh )? }; { - let v_W4796 = { + let v_W4810 = { let __t2258 = { - let __t2257 = v_W4794.clone(); + let __t2257 = v_W4808.clone(); rt::tl(&__t2257)? }; - let __t2259 = v_V4784.clone(); + let __t2259 = v_V4798.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2258, __t2259])? }; { let __t2289 = { - let __t2260 = v_W4796.clone(); + let __t2260 = v_W4810.clone(); let __t2261 = Value::nil(); rt::eq(&__t2260, &__t2261) }; - if rt::is_truthy(interp, &__t2289)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2267 = { let __t2264 = { let __t2262 = v_W4793.clone(); let __t2263 = v_V4784.clone(); rt::apply_direct(interp, "shen.deref", &[__t2262, __t2263])? }; let __t2266 = { let __t2265 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2265])? }; rt::eq(&__t2264, &__t2266) }; let __t2268 = v_V4784.clone(); let __t2269 = v_V4785.clone(); let __t2270 = v_V4786.clone(); let __t2288 = { let v_V4781 = v_V4781.clone(); let v_V4782 = v_V4782.clone(); let v_V4784 = v_V4784.clone(); let v_V4785 = v_V4785.clone(); let v_V4786 = v_V4786.clone(); let v_V4787 = v_V4787.clone(); let v_W4791 = v_W4791.clone(); let v_W4795 = v_W4795.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2277 = { let __t2273 = { let __t2271 = v_V4781.clone(); let __t2272 = v_V4784.clone(); rt::apply_direct(interp, "shen.deref", &[__t2271, __t2272])? }; let __t2276 = { let __t2274 = v_W4791.clone(); let __t2275 = v_V4784.clone(); rt::apply_direct(interp, "shen.deref", &[__t2274, __t2275])? }; rt::eq(&__t2273, &__t2276) }; let __t2278 = v_V4784.clone(); let __t2279 = v_V4785.clone(); let __t2280 = v_V4786.clone(); let __t2287 = { let v_V4782 = v_V4782.clone(); let v_V4784 = v_V4784.clone(); let v_V4785 = v_V4785.clone(); let v_V4786 = v_V4786.clone(); let v_V4787 = v_V4787.clone(); let v_W4795 = v_W4795.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2281 = v_V4782.clone(); let __t2282 = v_W4795.clone(); let __t2283 = v_V4784.clone(); let __t2284 = v_V4785.clone(); let __t2285 = v_V4786.clone(); let __t2286 = v_V4787.clone(); rt::apply_direct(interp, "is!", &[__t2281, __t2282, __t2283, __t2284, __t2285, __t2286])? }), vec![v_V4782, v_V4784, v_V4785, v_V4786, v_V4787, v_W4795], interp) }; rt::apply_direct(interp, "when", &[__t2277, __t2278, __t2279, __t2280, __t2287])? }), vec![v_V4781, v_V4782, v_V4784, v_V4785, v_V4786, v_V4787, v_W4791, v_W4795], interp) }; rt::apply_direct(interp, "when", &[__t2267, __t2268, __t2269, __t2270, __t2288])? } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2289)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2267 = { let __t2264 = { let __t2262 = v_W4807.clone(); let __t2263 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2262, __t2263])? }; let __t2266 = { let __t2265 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2265])? }; rt::eq(&__t2264, &__t2266) }; let __t2268 = v_V4798.clone(); let __t2269 = v_V4799.clone(); let __t2270 = v_V4800.clone(); let __t2288 = { let v_V4795 = v_V4795.clone(); let v_V4796 = v_V4796.clone(); let v_V4798 = v_V4798.clone(); let v_V4799 = v_V4799.clone(); let v_V4800 = v_V4800.clone(); let v_V4801 = v_V4801.clone(); let v_W4805 = v_W4805.clone(); let v_W4809 = v_W4809.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2277 = { let __t2273 = { let __t2271 = v_V4795.clone(); let __t2272 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2271, __t2272])? }; let __t2276 = { let __t2274 = v_W4805.clone(); let __t2275 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2274, __t2275])? }; rt::eq(&__t2273, &__t2276) }; let __t2278 = v_V4798.clone(); let __t2279 = v_V4799.clone(); let __t2280 = v_V4800.clone(); let __t2287 = { let v_V4796 = v_V4796.clone(); let v_V4798 = v_V4798.clone(); let v_V4799 = v_V4799.clone(); let v_V4800 = v_V4800.clone(); let v_V4801 = v_V4801.clone(); let v_W4809 = v_W4809.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2281 = v_V4796.clone(); let __t2282 = v_W4809.clone(); let __t2283 = v_V4798.clone(); let __t2284 = v_V4799.clone(); let __t2285 = v_V4800.clone(); let __t2286 = v_V4801.clone(); rt::apply_direct(interp, "is!", &[__t2281, __t2282, __t2283, __t2284, __t2285, __t2286])? }), vec![v_V4796, v_V4798, v_V4799, v_V4800, v_V4801, v_W4809], interp) }; rt::apply_direct(interp, "when", &[__t2277, __t2278, __t2279, __t2280, __t2287])? }), vec![v_V4795, v_V4796, v_V4798, v_V4799, v_V4800, v_V4801, v_W4805, v_W4809], interp) }; rt::apply_direct(interp, "when", &[__t2267, __t2268, __t2269, __t2270, __t2288])? } } } else { Value::bool(false) } } } } @@ -4753,7 +4753,7 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh }; { let __t2297 = { - let __t2295 = v_W4788.clone(); + let __t2295 = v_W4802.clone(); let __t2296 = Value::bool(false); rt::eq(&__t2295, &__t2296) }; @@ -4763,7 +4763,7 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh } { { let __t2299 = { - let __t2298 = v_V4785.clone(); + let __t2298 = v_V4799.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2298])? }; if match rt::is_truthy(interp, &__t2299) { @@ -4771,14 +4771,14 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_W4797 = { - let __t2300 = v_V4783.clone(); - let __t2301 = v_V4784.clone(); + let v_W4811 = { + let __t2300 = v_V4797.clone(); + let __t2301 = v_V4798.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2300, __t2301])? }; { let __t2303 = { - let __t2302 = v_W4797.clone(); + let __t2302 = v_W4811.clone(); rt::is_cons(&__t2302) }; if match rt::is_truthy(interp, &__t2303) { @@ -4786,8 +4786,8 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh Err(e) => break Err(e), } { { - let v_W4798 = { - let __t2304 = v_W4797.clone(); + let v_W4812 = { + let __t2304 = v_W4811.clone(); rt::tl(&__t2304)? }; { @@ -4795,20 +4795,20 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t2305 = v_V4781.clone(); - let __t2306 = v_V4782.clone(); - let __t2307 = v_W4798.clone(); - let __t2308 = v_V4784.clone(); - let __t2309 = v_V4785.clone(); - let __t2310 = v_V4786.clone(); - let __t2311 = v_V4787.clone(); - v_V4781 = __t2305; - v_V4782 = __t2306; - v_V4783 = __t2307; - v_V4784 = __t2308; - v_V4785 = __t2309; - v_V4786 = __t2310; - v_V4787 = __t2311; + let __t2305 = v_V4795.clone(); + let __t2306 = v_V4796.clone(); + let __t2307 = v_W4812.clone(); + let __t2308 = v_V4798.clone(); + let __t2309 = v_V4799.clone(); + let __t2310 = v_V4800.clone(); + let __t2311 = v_V4801.clone(); + v_V4795 = __t2305; + v_V4796 = __t2306; + v_V4797 = __t2307; + v_V4798 = __t2308; + v_V4799 = __t2309; + v_V4800 = __t2310; + v_V4801 = __t2311; continue; } } @@ -4823,7 +4823,7 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh } } } else { - break Ok(v_W4788.clone()); + break Ok(v_W4802.clone()); } } } @@ -4844,22 +4844,22 @@ pub fn aot_shen_x2e_lookupsig(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V4799 = args[0].clone(); + let mut v_V4813 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4800 = args[1].clone(); + let mut v_V4814 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4801 = args[2].clone(); + let mut v_V4815 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4802 = args[3].clone(); + let mut v_V4816 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4803 = args[4].clone(); + let mut v_V4817 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4804 = args[5].clone(); + let mut v_V4818 = args[5].clone(); #[allow(clippy::never_loop)] loop { { let __t2313 = { - let __t2312 = v_V4802.clone(); + let __t2312 = v_V4816.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2312])? }; if match rt::is_truthy(interp, &__t2313) { @@ -4870,18 +4870,18 @@ pub fn aot_shen_x2e_lookupsig(interp: &mut Interp, args: &[Value]) -> ShenResult let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; break Ok({ let __t2317 = { - let __t2314 = v_V4799.clone(); + let __t2314 = v_V4813.clone(); let __t2316 = { let __t2315 = Value::sym(interp.intern("shen.*sigf*")); rt::apply_direct(interp, "value", &[__t2315])? }; rt::apply_direct(interp, "assoc", &[__t2314, __t2316])? }; - let __t2318 = v_V4800.clone(); - let __t2319 = v_V4801.clone(); - let __t2320 = v_V4802.clone(); - let __t2321 = v_V4803.clone(); - let __t2322 = v_V4804.clone(); + let __t2318 = v_V4814.clone(); + let __t2319 = v_V4815.clone(); + let __t2320 = v_V4816.clone(); + let __t2321 = v_V4817.clone(); + let __t2322 = v_V4818.clone(); rt::apply_direct( interp, "shen.sigf", @@ -4910,22 +4910,22 @@ pub fn aot_shen_x2e_sigf(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ))); } #[allow(unused_mut)] - let mut v_V4825 = args[0].clone(); + let mut v_V4839 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4826 = { + let v_W4840 = { let __t2337 = Value::int(3i64); rt::apply_direct(interp, "absvector", &[__t2337])? }; { - let v_W4827 = { - let __t2338 = v_W4826.clone(); + let v_W4841 = { + let __t2338 = v_W4840.clone(); let __t2339 = Value::int(0i64); let __t2340 = Value::sym(interp.intern("shen.print-freshterm")); rt::apply_direct(interp, "address->", &[__t2338, __t2339, __t2340])? }; { - let v_W4828 = { - let __t2341 = v_W4827.clone(); + let v_W4842 = { + let __t2341 = v_W4841.clone(); let __t2342 = Value::int(1i64); - let __t2343 = v_V4825.clone(); + let __t2343 = v_V4839.clone(); rt::apply_direct(interp, "address->", &[__t2341, __t2342, __t2343])? }; { - let v_W4829 = { - let __t2344 = v_W4828.clone(); + let v_W4843 = { + let __t2344 = v_W4842.clone(); let __t2345 = Value::int(2i64); let __t2351 = { let __t2346 = Value::sym(interp.intern("shen.*gensym*")); @@ -5027,7 +5027,7 @@ pub fn aot_shen_x2e_freshterm(interp: &mut Interp, args: &[Value]) -> ShenResult }; rt::apply_direct(interp, "address->", &[__t2344, __t2345, __t2351])? }; - break Ok(v_W4829.clone()); + break Ok(v_W4843.clone()); } } } @@ -5049,14 +5049,14 @@ pub fn aot_shen_x2e_print_x2d_freshterm(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V4830 = args[0].clone(); + let mut v_V4844 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t2352 = Value::str("&&"); let __t2358 = { let __t2355 = { - let __t2353 = v_V4830.clone(); + let __t2353 = v_V4844.clone(); let __t2354 = Value::int(1i64); rt::apply_direct(interp, "<-address", &[__t2353, __t2354])? }; @@ -5086,47 +5086,47 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( ))); } #[allow(unused_mut)] - let mut v_V4831 = args[0].clone(); + let mut v_V4845 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4832 = args[1].clone(); + let mut v_V4846 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4833 = args[2].clone(); + let mut v_V4847 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4834 = args[3].clone(); + let mut v_V4848 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4835 = args[4].clone(); + let mut v_V4849 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4836 = args[5].clone(); + let mut v_V4850 = args[5].clone(); #[allow(unused_mut)] - let mut v_V4837 = args[6].clone(); + let mut v_V4851 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4838 = { + let v_W4852 = { let __t2385 = { - let __t2359 = v_V4835.clone(); + let __t2359 = v_V4849.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2359])? }; if rt::is_truthy(interp, &__t2385)? { { - let v_W4839 = { - let __t2360 = v_V4833.clone(); - let __t2361 = v_V4834.clone(); + let v_W4853 = { + let __t2360 = v_V4847.clone(); + let __t2361 = v_V4848.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2360, __t2361])? }; { let __t2384 = { - let __t2362 = v_W4839.clone(); + let __t2362 = v_W4853.clone(); rt::is_cons(&__t2362) }; if rt::is_truthy(interp, &__t2384)? { { - let v_W4840 = { + let v_W4854 = { let __t2364 = { - let __t2363 = v_W4839.clone(); + let __t2363 = v_W4853.clone(); rt::hd(&__t2363)? }; - let __t2365 = v_V4834.clone(); + let __t2365 = v_V4848.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -5135,13 +5135,13 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( }; { let __t2383 = { - let __t2366 = v_W4840.clone(); + let __t2366 = v_W4854.clone(); rt::is_cons(&__t2366) }; if rt::is_truthy(interp, &__t2383)? { { - let v_W4841 = { - let __t2367 = v_W4840.clone(); + let v_W4855 = { + let __t2367 = v_W4854.clone(); rt::tl(&__t2367)? }; { @@ -5156,8 +5156,8 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( let __t2378 = { let __t2374 = { let __t2370 = { - let __t2368 = v_W4841.clone(); - let __t2369 = v_V4834.clone(); + let __t2368 = v_W4855.clone(); + let __t2369 = v_V4848.clone(); rt::apply_direct( interp, "shen.deref", @@ -5165,8 +5165,8 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( )? }; let __t2373 = { - let __t2371 = v_V4831.clone(); - let __t2372 = v_V4834.clone(); + let __t2371 = v_V4845.clone(); + let __t2372 = v_V4848.clone(); rt::apply_direct( interp, "shen.deref", @@ -5180,8 +5180,8 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( )? }; let __t2377 = { - let __t2375 = v_V4832.clone(); - let __t2376 = v_V4834.clone(); + let __t2375 = v_V4846.clone(); + let __t2376 = v_V4848.clone(); rt::apply_direct( interp, "shen.deref", @@ -5194,10 +5194,10 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( &[__t2377], )? }; - let __t2379 = v_V4834.clone(); - let __t2380 = v_V4835.clone(); - let __t2381 = v_V4836.clone(); - let __t2382 = v_V4837.clone(); + let __t2379 = v_V4848.clone(); + let __t2380 = v_V4849.clone(); + let __t2381 = v_V4850.clone(); + let __t2382 = v_V4851.clone(); rt::apply_direct( interp, "call", @@ -5225,7 +5225,7 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( }; { let __t2388 = { - let __t2386 = v_W4838.clone(); + let __t2386 = v_W4852.clone(); let __t2387 = Value::bool(false); rt::eq(&__t2386, &__t2387) }; @@ -5235,7 +5235,7 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( } { { let __t2390 = { - let __t2389 = v_V4835.clone(); + let __t2389 = v_V4849.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2389])? }; if match rt::is_truthy(interp, &__t2390) { @@ -5243,14 +5243,14 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( Err(e) => break Err(e), } { { - let v_W4842 = { - let __t2391 = v_V4833.clone(); - let __t2392 = v_V4834.clone(); + let v_W4856 = { + let __t2391 = v_V4847.clone(); + let __t2392 = v_V4848.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2391, __t2392])? }; { let __t2394 = { - let __t2393 = v_W4842.clone(); + let __t2393 = v_W4856.clone(); rt::is_cons(&__t2393) }; if match rt::is_truthy(interp, &__t2394) { @@ -5258,8 +5258,8 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( Err(e) => break Err(e), } { { - let v_W4843 = { - let __t2395 = v_W4842.clone(); + let v_W4857 = { + let __t2395 = v_W4856.clone(); rt::tl(&__t2395)? }; { @@ -5267,20 +5267,20 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t2396 = v_V4831.clone(); - let __t2397 = v_V4832.clone(); - let __t2398 = v_W4843.clone(); - let __t2399 = v_V4834.clone(); - let __t2400 = v_V4835.clone(); - let __t2401 = v_V4836.clone(); - let __t2402 = v_V4837.clone(); - v_V4831 = __t2396; - v_V4832 = __t2397; - v_V4833 = __t2398; - v_V4834 = __t2399; - v_V4835 = __t2400; - v_V4836 = __t2401; - v_V4837 = __t2402; + let __t2396 = v_V4845.clone(); + let __t2397 = v_V4846.clone(); + let __t2398 = v_W4857.clone(); + let __t2399 = v_V4848.clone(); + let __t2400 = v_V4849.clone(); + let __t2401 = v_V4850.clone(); + let __t2402 = v_V4851.clone(); + v_V4845 = __t2396; + v_V4846 = __t2397; + v_V4847 = __t2398; + v_V4848 = __t2399; + v_V4849 = __t2400; + v_V4850 = __t2401; + v_V4851 = __t2402; continue; } } @@ -5295,7 +5295,7 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( } } } else { - break Ok(v_W4838.clone()); + break Ok(v_W4852.clone()); } } } @@ -5323,51 +5323,51 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V4844 = args[0].clone(); + let mut v_V4858 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4845 = args[1].clone(); + let mut v_V4859 = args[1].clone(); #[allow(unused_mut)] - let mut v_V4846 = args[2].clone(); + let mut v_V4860 = args[2].clone(); #[allow(unused_mut)] - let mut v_V4847 = args[3].clone(); + let mut v_V4861 = args[3].clone(); #[allow(unused_mut)] - let mut v_V4848 = args[4].clone(); + let mut v_V4862 = args[4].clone(); #[allow(unused_mut)] - let mut v_V4849 = args[5].clone(); + let mut v_V4863 = args[5].clone(); #[allow(unused_mut)] - let mut v_V4850 = args[6].clone(); + let mut v_V4864 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4851 = { - let __t2403 = v_V4849.clone(); + let v_W4865 = { + let __t2403 = v_V4863.clone(); let __t2404 = Value::int(1i64); rt::add(&__t2403, &__t2404)? }; { - let v_W4852 = { + let v_W4866 = { let __t2426 = { - let __t2405 = v_V4848.clone(); + let __t2405 = v_V4862.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2405])? }; if rt::is_truthy(interp, &__t2426)? { { - let v_W4853 = { - let __t2406 = v_V4844.clone(); - let __t2407 = v_V4847.clone(); + let v_W4867 = { + let __t2406 = v_V4858.clone(); + let __t2407 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2406, __t2407])? }; { let __t2425 = { - let __t2408 = v_W4853.clone(); + let __t2408 = v_W4867.clone(); let __t2409 = Value::nil(); rt::eq(&__t2408, &__t2409) }; if rt::is_truthy(interp, &__t2425)? { { - let v_W4854 = { - let __t2410 = v_V4846.clone(); - let __t2411 = v_V4847.clone(); + let v_W4868 = { + let __t2410 = v_V4860.clone(); + let __t2411 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -5376,7 +5376,7 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2424 = { - let __t2412 = v_W4854.clone(); + let __t2412 = v_W4868.clone(); let __t2413 = Value::bool(true); rt::eq(&__t2412, &__t2413) }; @@ -5390,31 +5390,31 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu )? }; { - let __t2414 = v_V4847.clone(); - let __t2415 = v_V4848.clone(); - let __t2416 = v_W4851.clone(); + let __t2414 = v_V4861.clone(); + let __t2415 = v_V4862.clone(); + let __t2416 = v_W4865.clone(); let __t2423 = { - let v_V4845 = v_V4845.clone(); - let v_V4847 = v_V4847.clone(); - let v_V4848 = v_V4848.clone(); - let v_V4850 = v_V4850.clone(); - let v_W4851 = v_W4851.clone(); + let v_V4859 = v_V4859.clone(); + let v_V4861 = v_V4861.clone(); + let v_V4862 = v_V4862.clone(); + let v_V4864 = v_V4864.clone(); + let v_W4865 = v_W4865.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ let __t2417 = - v_V4845.clone(); + v_V4859.clone(); let __t2418 = Value::nil(); let __t2419 = - v_V4847.clone(); + v_V4861.clone(); let __t2420 = - v_V4848.clone(); + v_V4862.clone(); let __t2421 = - v_W4851.clone(); + v_W4865.clone(); let __t2422 = - v_V4850.clone(); + v_V4864.clone(); rt::apply_direct( interp, "bind", @@ -5427,8 +5427,8 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }) }, vec![ - v_V4845, v_V4847, v_V4848, - v_V4850, v_W4851, + v_V4859, v_V4861, v_V4862, + v_V4864, v_W4865, ], interp, ) @@ -5456,7 +5456,7 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2429 = { - let __t2427 = v_W4852.clone(); + let __t2427 = v_W4866.clone(); let __t2428 = Value::bool(false); rt::eq(&__t2427, &__t2428) }; @@ -5465,16 +5465,16 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W4855 = { + let v_W4869 = { let __t2551 = { - let __t2430 = v_V4848.clone(); + let __t2430 = v_V4862.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2430])? }; if rt::is_truthy(interp, &__t2551)? { { - let v_W4856 = { - let __t2431 = v_V4844.clone(); - let __t2432 = v_V4847.clone(); + let v_W4870 = { + let __t2431 = v_V4858.clone(); + let __t2432 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -5483,17 +5483,17 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2550 = { - let __t2433 = v_W4856.clone(); + let __t2433 = v_W4870.clone(); rt::is_cons(&__t2433) }; if rt::is_truthy(interp, &__t2550)? { { - let v_W4857 = { + let v_W4871 = { let __t2435 = { - let __t2434 = v_W4856.clone(); + let __t2434 = v_W4870.clone(); rt::hd(&__t2434)? }; - let __t2436 = v_V4847.clone(); + let __t2436 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -5502,18 +5502,18 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2549 = { - let __t2437 = v_W4857.clone(); + let __t2437 = v_W4871.clone(); rt::is_cons(&__t2437) }; if rt::is_truthy(interp, &__t2549)? { { - let v_W4858 = { + let v_W4872 = { let __t2439 = { let __t2438 = - v_W4857.clone(); + v_W4871.clone(); rt::hd(&__t2438)? }; - let __t2440 = v_V4847.clone(); + let __t2440 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -5523,17 +5523,17 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t2548 = { let __t2441 = - v_W4858.clone(); + v_W4872.clone(); rt::is_cons(&__t2441) }; if rt::is_truthy( interp, &__t2548, )? { { - let v_W4859 = { + let v_W4873 = { let __t2443 = { let __t2442 = - v_W4858 + v_W4872 .clone( ); rt::hd( @@ -5541,13 +5541,13 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu )? }; let __t2444 = - v_V4847.clone(); + v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2443, __t2444])? }; { let __t2547 = { let __t2445 = - v_W4859 + v_W4873 .clone( ); let __t2446 = Value::sym(interp.intern("cons")); @@ -5561,20 +5561,20 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu &__t2547, )? { { - let v_W4860 = { + let v_W4874 = { let __t2448 = { - let __t2447 = v_W4858.clone(); + let __t2447 = v_W4872.clone(); rt::tl(&__t2447)? }; - let __t2449 = v_V4847.clone(); + let __t2449 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2448, __t2449])? }; { let __t2546 = { - let __t2450 = v_W4860.clone(); + let __t2450 = v_W4874.clone(); rt::is_cons(&__t2450) }; - if rt::is_truthy(interp, &__t2546)? { { let v_W4861 = { let __t2451 = v_W4860.clone(); rt::hd(&__t2451)? }; { let v_W4862 = { let __t2453 = { let __t2452 = v_W4860.clone(); rt::tl(&__t2452)? }; let __t2454 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2453, __t2454])? }; { let __t2545 = { let __t2455 = v_W4862.clone(); rt::is_cons(&__t2455) }; if rt::is_truthy(interp, &__t2545)? { { let v_W4863 = { let __t2456 = v_W4862.clone(); rt::hd(&__t2456)? }; { let v_W4864 = { let __t2458 = { let __t2457 = v_W4862.clone(); rt::tl(&__t2457)? }; let __t2459 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2458, __t2459])? }; { let __t2544 = { let __t2460 = v_W4864.clone(); let __t2461 = Value::nil(); rt::eq(&__t2460, &__t2461) }; if rt::is_truthy(interp, &__t2544)? { { let v_W4865 = { let __t2463 = { let __t2462 = v_W4857.clone(); rt::tl(&__t2462)? }; let __t2464 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2463, __t2464])? }; { let __t2543 = { let __t2465 = v_W4865.clone(); rt::is_cons(&__t2465) }; if rt::is_truthy(interp, &__t2543)? { { let v_W4866 = { let __t2466 = v_W4865.clone(); rt::hd(&__t2466)? }; { let v_W4867 = { let __t2468 = { let __t2467 = v_W4865.clone(); rt::tl(&__t2467)? }; let __t2469 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2468, __t2469])? }; { let __t2542 = { let __t2470 = v_W4867.clone(); rt::is_cons(&__t2470) }; if rt::is_truthy(interp, &__t2542)? { { let v_W4868 = { let __t2472 = { let __t2471 = v_W4867.clone(); rt::hd(&__t2471)? }; let __t2473 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2472, __t2473])? }; { let __t2541 = { let __t2474 = v_W4868.clone(); rt::is_cons(&__t2474) }; if rt::is_truthy(interp, &__t2541)? { { let v_W4869 = { let __t2476 = { let __t2475 = v_W4868.clone(); rt::hd(&__t2475)? }; let __t2477 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2476, __t2477])? }; { let __t2540 = { let __t2478 = v_W4869.clone(); let __t2479 = Value::sym(interp.intern("list")); rt::eq(&__t2478, &__t2479) }; if rt::is_truthy(interp, &__t2540)? { { let v_W4870 = { let __t2481 = { let __t2480 = v_W4868.clone(); rt::tl(&__t2480)? }; let __t2482 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2481, __t2482])? }; { let __t2539 = { let __t2483 = v_W4870.clone(); rt::is_cons(&__t2483) }; if rt::is_truthy(interp, &__t2539)? { { let v_W4871 = { let __t2484 = v_W4870.clone(); rt::hd(&__t2484)? }; { let v_W4872 = { let __t2486 = { let __t2485 = v_W4870.clone(); rt::tl(&__t2485)? }; let __t2487 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2486, __t2487])? }; { let __t2538 = { let __t2488 = v_W4872.clone(); let __t2489 = Value::nil(); rt::eq(&__t2488, &__t2489) }; if rt::is_truthy(interp, &__t2538)? { { let v_W4873 = { let __t2491 = { let __t2490 = v_W4867.clone(); rt::tl(&__t2490)? }; let __t2492 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2491, __t2492])? }; { let __t2537 = { let __t2493 = v_W4873.clone(); let __t2494 = Value::nil(); rt::eq(&__t2493, &__t2494) }; if rt::is_truthy(interp, &__t2537)? { { let v_W4874 = { let __t2495 = v_W4856.clone(); rt::tl(&__t2495)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2501 = { let __t2498 = { let __t2496 = v_W4866.clone(); let __t2497 = v_V4847.clone(); rt::apply_direct(interp, "shen.deref", &[__t2496, __t2497])? }; let __t2500 = { let __t2499 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2499])? }; rt::eq(&__t2498, &__t2500) }; let __t2502 = v_V4847.clone(); let __t2503 = v_V4848.clone(); let __t2504 = v_W4851.clone(); let __t2536 = { let v_V4845 = v_V4845.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4861 = v_W4861.clone(); let v_W4863 = v_W4863.clone(); let v_W4866 = v_W4866.clone(); let v_W4871 = v_W4871.clone(); let v_W4874 = v_W4874.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2505 = v_V4847.clone(); let __t2506 = v_V4848.clone(); let __t2507 = v_W4851.clone(); let __t2535 = { let v_V4845 = v_V4845.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4861 = v_W4861.clone(); let v_W4863 = v_W4863.clone(); let v_W4866 = v_W4866.clone(); let v_W4871 = v_W4871.clone(); let v_W4874 = v_W4874.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2528 = { let __t2514 = { let __t2508 = v_W4861.clone(); let __t2513 = { let __t2509 = v_W4866.clone(); let __t2512 = { let __t2510 = v_W4871.clone(); let __t2511 = Value::nil(); rt::cons(&__t2510, &__t2511) }; rt::cons(&__t2509, &__t2512) }; rt::cons(&__t2508, &__t2513) }; let __t2527 = { let __t2525 = { let __t2515 = v_W4863.clone(); let __t2524 = { let __t2516 = v_W4866.clone(); let __t2523 = { let __t2521 = { let __t2517 = Value::sym(interp.intern("list")); let __t2520 = { let __t2518 = v_W4871.clone(); let __t2519 = Value::nil(); rt::cons(&__t2518, &__t2519) }; rt::cons(&__t2517, &__t2520) }; let __t2522 = Value::nil(); rt::cons(&__t2521, &__t2522) }; rt::cons(&__t2516, &__t2523) }; rt::cons(&__t2515, &__t2524) }; let __t2526 = v_W4874.clone(); rt::cons(&__t2525, &__t2526) }; rt::cons(&__t2514, &__t2527) }; let __t2529 = v_V4845.clone(); let __t2530 = Value::bool(true); let __t2531 = v_V4847.clone(); let __t2532 = v_V4848.clone(); let __t2533 = v_W4851.clone(); let __t2534 = v_V4850.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2528, __t2529, __t2530, __t2531, __t2532, __t2533, __t2534])? }), vec![v_V4845, v_V4847, v_V4848, v_V4850, v_W4851, v_W4861, v_W4863, v_W4866, v_W4871, v_W4874], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2505, __t2506, __t2507, __t2535])? }), vec![v_V4845, v_V4847, v_V4848, v_V4850, v_W4851, v_W4861, v_W4863, v_W4866, v_W4871, v_W4874], interp) }; rt::apply_direct(interp, "when", &[__t2501, __t2502, __t2503, __t2504, __t2536])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2546)? { { let v_W4875 = { let __t2451 = v_W4874.clone(); rt::hd(&__t2451)? }; { let v_W4876 = { let __t2453 = { let __t2452 = v_W4874.clone(); rt::tl(&__t2452)? }; let __t2454 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2453, __t2454])? }; { let __t2545 = { let __t2455 = v_W4876.clone(); rt::is_cons(&__t2455) }; if rt::is_truthy(interp, &__t2545)? { { let v_W4877 = { let __t2456 = v_W4876.clone(); rt::hd(&__t2456)? }; { let v_W4878 = { let __t2458 = { let __t2457 = v_W4876.clone(); rt::tl(&__t2457)? }; let __t2459 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2458, __t2459])? }; { let __t2544 = { let __t2460 = v_W4878.clone(); let __t2461 = Value::nil(); rt::eq(&__t2460, &__t2461) }; if rt::is_truthy(interp, &__t2544)? { { let v_W4879 = { let __t2463 = { let __t2462 = v_W4871.clone(); rt::tl(&__t2462)? }; let __t2464 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2463, __t2464])? }; { let __t2543 = { let __t2465 = v_W4879.clone(); rt::is_cons(&__t2465) }; if rt::is_truthy(interp, &__t2543)? { { let v_W4880 = { let __t2466 = v_W4879.clone(); rt::hd(&__t2466)? }; { let v_W4881 = { let __t2468 = { let __t2467 = v_W4879.clone(); rt::tl(&__t2467)? }; let __t2469 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2468, __t2469])? }; { let __t2542 = { let __t2470 = v_W4881.clone(); rt::is_cons(&__t2470) }; if rt::is_truthy(interp, &__t2542)? { { let v_W4882 = { let __t2472 = { let __t2471 = v_W4881.clone(); rt::hd(&__t2471)? }; let __t2473 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2472, __t2473])? }; { let __t2541 = { let __t2474 = v_W4882.clone(); rt::is_cons(&__t2474) }; if rt::is_truthy(interp, &__t2541)? { { let v_W4883 = { let __t2476 = { let __t2475 = v_W4882.clone(); rt::hd(&__t2475)? }; let __t2477 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2476, __t2477])? }; { let __t2540 = { let __t2478 = v_W4883.clone(); let __t2479 = Value::sym(interp.intern("list")); rt::eq(&__t2478, &__t2479) }; if rt::is_truthy(interp, &__t2540)? { { let v_W4884 = { let __t2481 = { let __t2480 = v_W4882.clone(); rt::tl(&__t2480)? }; let __t2482 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2481, __t2482])? }; { let __t2539 = { let __t2483 = v_W4884.clone(); rt::is_cons(&__t2483) }; if rt::is_truthy(interp, &__t2539)? { { let v_W4885 = { let __t2484 = v_W4884.clone(); rt::hd(&__t2484)? }; { let v_W4886 = { let __t2486 = { let __t2485 = v_W4884.clone(); rt::tl(&__t2485)? }; let __t2487 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2486, __t2487])? }; { let __t2538 = { let __t2488 = v_W4886.clone(); let __t2489 = Value::nil(); rt::eq(&__t2488, &__t2489) }; if rt::is_truthy(interp, &__t2538)? { { let v_W4887 = { let __t2491 = { let __t2490 = v_W4881.clone(); rt::tl(&__t2490)? }; let __t2492 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2491, __t2492])? }; { let __t2537 = { let __t2493 = v_W4887.clone(); let __t2494 = Value::nil(); rt::eq(&__t2493, &__t2494) }; if rt::is_truthy(interp, &__t2537)? { { let v_W4888 = { let __t2495 = v_W4870.clone(); rt::tl(&__t2495)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2501 = { let __t2498 = { let __t2496 = v_W4880.clone(); let __t2497 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2496, __t2497])? }; let __t2500 = { let __t2499 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2499])? }; rt::eq(&__t2498, &__t2500) }; let __t2502 = v_V4861.clone(); let __t2503 = v_V4862.clone(); let __t2504 = v_W4865.clone(); let __t2536 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4875 = v_W4875.clone(); let v_W4877 = v_W4877.clone(); let v_W4880 = v_W4880.clone(); let v_W4885 = v_W4885.clone(); let v_W4888 = v_W4888.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2505 = v_V4861.clone(); let __t2506 = v_V4862.clone(); let __t2507 = v_W4865.clone(); let __t2535 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4875 = v_W4875.clone(); let v_W4877 = v_W4877.clone(); let v_W4880 = v_W4880.clone(); let v_W4885 = v_W4885.clone(); let v_W4888 = v_W4888.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2528 = { let __t2514 = { let __t2508 = v_W4875.clone(); let __t2513 = { let __t2509 = v_W4880.clone(); let __t2512 = { let __t2510 = v_W4885.clone(); let __t2511 = Value::nil(); rt::cons(&__t2510, &__t2511) }; rt::cons(&__t2509, &__t2512) }; rt::cons(&__t2508, &__t2513) }; let __t2527 = { let __t2525 = { let __t2515 = v_W4877.clone(); let __t2524 = { let __t2516 = v_W4880.clone(); let __t2523 = { let __t2521 = { let __t2517 = Value::sym(interp.intern("list")); let __t2520 = { let __t2518 = v_W4885.clone(); let __t2519 = Value::nil(); rt::cons(&__t2518, &__t2519) }; rt::cons(&__t2517, &__t2520) }; let __t2522 = Value::nil(); rt::cons(&__t2521, &__t2522) }; rt::cons(&__t2516, &__t2523) }; rt::cons(&__t2515, &__t2524) }; let __t2526 = v_W4888.clone(); rt::cons(&__t2525, &__t2526) }; rt::cons(&__t2514, &__t2527) }; let __t2529 = v_V4859.clone(); let __t2530 = Value::bool(true); let __t2531 = v_V4861.clone(); let __t2532 = v_V4862.clone(); let __t2533 = v_W4865.clone(); let __t2534 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2528, __t2529, __t2530, __t2531, __t2532, __t2533, __t2534])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4875, v_W4877, v_W4880, v_W4885, v_W4888], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2505, __t2506, __t2507, __t2535])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4875, v_W4877, v_W4880, v_W4885, v_W4888], interp) }; rt::apply_direct(interp, "when", &[__t2501, __t2502, __t2503, __t2504, __t2536])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { @@ -5605,7 +5605,7 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2554 = { - let __t2552 = v_W4855.clone(); + let __t2552 = v_W4869.clone(); let __t2553 = Value::bool(false); rt::eq(&__t2552, &__t2553) }; @@ -5614,9 +5614,9 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W4875 = { + let v_W4889 = { let __t2678 = { - let __t2555 = v_V4848.clone(); + let __t2555 = v_V4862.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -5625,9 +5625,9 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; if rt::is_truthy(interp, &__t2678)? { { - let v_W4876 = { - let __t2556 = v_V4844.clone(); - let __t2557 = v_V4847.clone(); + let v_W4890 = { + let __t2556 = v_V4858.clone(); + let __t2557 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -5636,18 +5636,18 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2677 = { - let __t2558 = v_W4876.clone(); + let __t2558 = v_W4890.clone(); rt::is_cons(&__t2558) }; if rt::is_truthy(interp, &__t2677)? { { - let v_W4877 = { + let v_W4891 = { let __t2560 = { let __t2559 = - v_W4876.clone(); + v_W4890.clone(); rt::hd(&__t2559)? }; - let __t2561 = v_V4847.clone(); + let __t2561 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -5657,17 +5657,17 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t2676 = { let __t2562 = - v_W4877.clone(); + v_W4891.clone(); rt::is_cons(&__t2562) }; if rt::is_truthy( interp, &__t2676, )? { { - let v_W4878 = { + let v_W4892 = { let __t2564 = { let __t2563 = - v_W4877 + v_W4891 .clone( ); rt::hd( @@ -5675,13 +5675,13 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu )? }; let __t2565 = - v_V4847.clone(); + v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2564, __t2565])? }; { let __t2675 = { let __t2566 = - v_W4878 + v_W4892 .clone( ); rt::is_cons( @@ -5693,21 +5693,21 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu &__t2675, )? { { - let v_W4879 = { + let v_W4893 = { let __t2568 = { - let __t2567 = v_W4878.clone(); + let __t2567 = v_W4892.clone(); rt::hd(&__t2567)? }; - let __t2569 = v_V4847.clone(); + let __t2569 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2568, __t2569])? }; { let __t2674 = { - let __t2570 = v_W4879.clone(); + let __t2570 = v_W4893.clone(); let __t2571 = Value::sym(interp.intern("@p")); rt::eq(&__t2570, &__t2571) }; - if rt::is_truthy(interp, &__t2674)? { { let v_W4880 = { let __t2573 = { let __t2572 = v_W4878.clone(); rt::tl(&__t2572)? }; let __t2574 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2573, __t2574])? }; { let __t2673 = { let __t2575 = v_W4880.clone(); rt::is_cons(&__t2575) }; if rt::is_truthy(interp, &__t2673)? { { let v_W4881 = { let __t2576 = v_W4880.clone(); rt::hd(&__t2576)? }; { let v_W4882 = { let __t2578 = { let __t2577 = v_W4880.clone(); rt::tl(&__t2577)? }; let __t2579 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2578, __t2579])? }; { let __t2672 = { let __t2580 = v_W4882.clone(); rt::is_cons(&__t2580) }; if rt::is_truthy(interp, &__t2672)? { { let v_W4883 = { let __t2581 = v_W4882.clone(); rt::hd(&__t2581)? }; { let v_W4884 = { let __t2583 = { let __t2582 = v_W4882.clone(); rt::tl(&__t2582)? }; let __t2584 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2583, __t2584])? }; { let __t2671 = { let __t2585 = v_W4884.clone(); let __t2586 = Value::nil(); rt::eq(&__t2585, &__t2586) }; if rt::is_truthy(interp, &__t2671)? { { let v_W4885 = { let __t2588 = { let __t2587 = v_W4877.clone(); rt::tl(&__t2587)? }; let __t2589 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2588, __t2589])? }; { let __t2670 = { let __t2590 = v_W4885.clone(); rt::is_cons(&__t2590) }; if rt::is_truthy(interp, &__t2670)? { { let v_W4886 = { let __t2591 = v_W4885.clone(); rt::hd(&__t2591)? }; { let v_W4887 = { let __t2593 = { let __t2592 = v_W4885.clone(); rt::tl(&__t2592)? }; let __t2594 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2593, __t2594])? }; { let __t2669 = { let __t2595 = v_W4887.clone(); rt::is_cons(&__t2595) }; if rt::is_truthy(interp, &__t2669)? { { let v_W4888 = { let __t2597 = { let __t2596 = v_W4887.clone(); rt::hd(&__t2596)? }; let __t2598 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2597, __t2598])? }; { let __t2668 = { let __t2599 = v_W4888.clone(); rt::is_cons(&__t2599) }; if rt::is_truthy(interp, &__t2668)? { { let v_W4889 = { let __t2600 = v_W4888.clone(); rt::hd(&__t2600)? }; { let v_W4890 = { let __t2602 = { let __t2601 = v_W4888.clone(); rt::tl(&__t2601)? }; let __t2603 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2602, __t2603])? }; { let __t2667 = { let __t2604 = v_W4890.clone(); rt::is_cons(&__t2604) }; if rt::is_truthy(interp, &__t2667)? { { let v_W4891 = { let __t2606 = { let __t2605 = v_W4890.clone(); rt::hd(&__t2605)? }; let __t2607 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2606, __t2607])? }; { let __t2666 = { let __t2608 = v_W4891.clone(); let __t2609 = Value::sym(interp.intern("*")); rt::eq(&__t2608, &__t2609) }; if rt::is_truthy(interp, &__t2666)? { { let v_W4892 = { let __t2611 = { let __t2610 = v_W4890.clone(); rt::tl(&__t2610)? }; let __t2612 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2611, __t2612])? }; { let __t2665 = { let __t2613 = v_W4892.clone(); rt::is_cons(&__t2613) }; if rt::is_truthy(interp, &__t2665)? { { let v_W4893 = { let __t2614 = v_W4892.clone(); rt::hd(&__t2614)? }; { let v_W4894 = { let __t2616 = { let __t2615 = v_W4892.clone(); rt::tl(&__t2615)? }; let __t2617 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2616, __t2617])? }; { let __t2664 = { let __t2618 = v_W4894.clone(); let __t2619 = Value::nil(); rt::eq(&__t2618, &__t2619) }; if rt::is_truthy(interp, &__t2664)? { { let v_W4895 = { let __t2621 = { let __t2620 = v_W4887.clone(); rt::tl(&__t2620)? }; let __t2622 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2621, __t2622])? }; { let __t2663 = { let __t2623 = v_W4895.clone(); let __t2624 = Value::nil(); rt::eq(&__t2623, &__t2624) }; if rt::is_truthy(interp, &__t2663)? { { let v_W4896 = { let __t2625 = v_W4876.clone(); rt::tl(&__t2625)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2631 = { let __t2628 = { let __t2626 = v_W4886.clone(); let __t2627 = v_V4847.clone(); rt::apply_direct(interp, "shen.deref", &[__t2626, __t2627])? }; let __t2630 = { let __t2629 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2629])? }; rt::eq(&__t2628, &__t2630) }; let __t2632 = v_V4847.clone(); let __t2633 = v_V4848.clone(); let __t2634 = v_W4851.clone(); let __t2662 = { let v_V4845 = v_V4845.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4881 = v_W4881.clone(); let v_W4883 = v_W4883.clone(); let v_W4886 = v_W4886.clone(); let v_W4889 = v_W4889.clone(); let v_W4893 = v_W4893.clone(); let v_W4896 = v_W4896.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2635 = v_V4847.clone(); let __t2636 = v_V4848.clone(); let __t2637 = v_W4851.clone(); let __t2661 = { let v_V4845 = v_V4845.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4881 = v_W4881.clone(); let v_W4883 = v_W4883.clone(); let v_W4886 = v_W4886.clone(); let v_W4889 = v_W4889.clone(); let v_W4893 = v_W4893.clone(); let v_W4896 = v_W4896.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2654 = { let __t2644 = { let __t2638 = v_W4881.clone(); let __t2643 = { let __t2639 = v_W4886.clone(); let __t2642 = { let __t2640 = v_W4889.clone(); let __t2641 = Value::nil(); rt::cons(&__t2640, &__t2641) }; rt::cons(&__t2639, &__t2642) }; rt::cons(&__t2638, &__t2643) }; let __t2653 = { let __t2651 = { let __t2645 = v_W4883.clone(); let __t2650 = { let __t2646 = v_W4886.clone(); let __t2649 = { let __t2647 = v_W4893.clone(); let __t2648 = Value::nil(); rt::cons(&__t2647, &__t2648) }; rt::cons(&__t2646, &__t2649) }; rt::cons(&__t2645, &__t2650) }; let __t2652 = v_W4896.clone(); rt::cons(&__t2651, &__t2652) }; rt::cons(&__t2644, &__t2653) }; let __t2655 = v_V4845.clone(); let __t2656 = Value::bool(true); let __t2657 = v_V4847.clone(); let __t2658 = v_V4848.clone(); let __t2659 = v_W4851.clone(); let __t2660 = v_V4850.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2654, __t2655, __t2656, __t2657, __t2658, __t2659, __t2660])? }), vec![v_V4845, v_V4847, v_V4848, v_V4850, v_W4851, v_W4881, v_W4883, v_W4886, v_W4889, v_W4893, v_W4896], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2635, __t2636, __t2637, __t2661])? }), vec![v_V4845, v_V4847, v_V4848, v_V4850, v_W4851, v_W4881, v_W4883, v_W4886, v_W4889, v_W4893, v_W4896], interp) }; rt::apply_direct(interp, "when", &[__t2631, __t2632, __t2633, __t2634, __t2662])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2674)? { { let v_W4894 = { let __t2573 = { let __t2572 = v_W4892.clone(); rt::tl(&__t2572)? }; let __t2574 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2573, __t2574])? }; { let __t2673 = { let __t2575 = v_W4894.clone(); rt::is_cons(&__t2575) }; if rt::is_truthy(interp, &__t2673)? { { let v_W4895 = { let __t2576 = v_W4894.clone(); rt::hd(&__t2576)? }; { let v_W4896 = { let __t2578 = { let __t2577 = v_W4894.clone(); rt::tl(&__t2577)? }; let __t2579 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2578, __t2579])? }; { let __t2672 = { let __t2580 = v_W4896.clone(); rt::is_cons(&__t2580) }; if rt::is_truthy(interp, &__t2672)? { { let v_W4897 = { let __t2581 = v_W4896.clone(); rt::hd(&__t2581)? }; { let v_W4898 = { let __t2583 = { let __t2582 = v_W4896.clone(); rt::tl(&__t2582)? }; let __t2584 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2583, __t2584])? }; { let __t2671 = { let __t2585 = v_W4898.clone(); let __t2586 = Value::nil(); rt::eq(&__t2585, &__t2586) }; if rt::is_truthy(interp, &__t2671)? { { let v_W4899 = { let __t2588 = { let __t2587 = v_W4891.clone(); rt::tl(&__t2587)? }; let __t2589 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2588, __t2589])? }; { let __t2670 = { let __t2590 = v_W4899.clone(); rt::is_cons(&__t2590) }; if rt::is_truthy(interp, &__t2670)? { { let v_W4900 = { let __t2591 = v_W4899.clone(); rt::hd(&__t2591)? }; { let v_W4901 = { let __t2593 = { let __t2592 = v_W4899.clone(); rt::tl(&__t2592)? }; let __t2594 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2593, __t2594])? }; { let __t2669 = { let __t2595 = v_W4901.clone(); rt::is_cons(&__t2595) }; if rt::is_truthy(interp, &__t2669)? { { let v_W4902 = { let __t2597 = { let __t2596 = v_W4901.clone(); rt::hd(&__t2596)? }; let __t2598 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2597, __t2598])? }; { let __t2668 = { let __t2599 = v_W4902.clone(); rt::is_cons(&__t2599) }; if rt::is_truthy(interp, &__t2668)? { { let v_W4903 = { let __t2600 = v_W4902.clone(); rt::hd(&__t2600)? }; { let v_W4904 = { let __t2602 = { let __t2601 = v_W4902.clone(); rt::tl(&__t2601)? }; let __t2603 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2602, __t2603])? }; { let __t2667 = { let __t2604 = v_W4904.clone(); rt::is_cons(&__t2604) }; if rt::is_truthy(interp, &__t2667)? { { let v_W4905 = { let __t2606 = { let __t2605 = v_W4904.clone(); rt::hd(&__t2605)? }; let __t2607 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2606, __t2607])? }; { let __t2666 = { let __t2608 = v_W4905.clone(); let __t2609 = Value::sym(interp.intern("*")); rt::eq(&__t2608, &__t2609) }; if rt::is_truthy(interp, &__t2666)? { { let v_W4906 = { let __t2611 = { let __t2610 = v_W4904.clone(); rt::tl(&__t2610)? }; let __t2612 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2611, __t2612])? }; { let __t2665 = { let __t2613 = v_W4906.clone(); rt::is_cons(&__t2613) }; if rt::is_truthy(interp, &__t2665)? { { let v_W4907 = { let __t2614 = v_W4906.clone(); rt::hd(&__t2614)? }; { let v_W4908 = { let __t2616 = { let __t2615 = v_W4906.clone(); rt::tl(&__t2615)? }; let __t2617 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2616, __t2617])? }; { let __t2664 = { let __t2618 = v_W4908.clone(); let __t2619 = Value::nil(); rt::eq(&__t2618, &__t2619) }; if rt::is_truthy(interp, &__t2664)? { { let v_W4909 = { let __t2621 = { let __t2620 = v_W4901.clone(); rt::tl(&__t2620)? }; let __t2622 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2621, __t2622])? }; { let __t2663 = { let __t2623 = v_W4909.clone(); let __t2624 = Value::nil(); rt::eq(&__t2623, &__t2624) }; if rt::is_truthy(interp, &__t2663)? { { let v_W4910 = { let __t2625 = v_W4890.clone(); rt::tl(&__t2625)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2631 = { let __t2628 = { let __t2626 = v_W4900.clone(); let __t2627 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2626, __t2627])? }; let __t2630 = { let __t2629 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2629])? }; rt::eq(&__t2628, &__t2630) }; let __t2632 = v_V4861.clone(); let __t2633 = v_V4862.clone(); let __t2634 = v_W4865.clone(); let __t2662 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4895 = v_W4895.clone(); let v_W4897 = v_W4897.clone(); let v_W4900 = v_W4900.clone(); let v_W4903 = v_W4903.clone(); let v_W4907 = v_W4907.clone(); let v_W4910 = v_W4910.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2635 = v_V4861.clone(); let __t2636 = v_V4862.clone(); let __t2637 = v_W4865.clone(); let __t2661 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4895 = v_W4895.clone(); let v_W4897 = v_W4897.clone(); let v_W4900 = v_W4900.clone(); let v_W4903 = v_W4903.clone(); let v_W4907 = v_W4907.clone(); let v_W4910 = v_W4910.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2654 = { let __t2644 = { let __t2638 = v_W4895.clone(); let __t2643 = { let __t2639 = v_W4900.clone(); let __t2642 = { let __t2640 = v_W4903.clone(); let __t2641 = Value::nil(); rt::cons(&__t2640, &__t2641) }; rt::cons(&__t2639, &__t2642) }; rt::cons(&__t2638, &__t2643) }; let __t2653 = { let __t2651 = { let __t2645 = v_W4897.clone(); let __t2650 = { let __t2646 = v_W4900.clone(); let __t2649 = { let __t2647 = v_W4907.clone(); let __t2648 = Value::nil(); rt::cons(&__t2647, &__t2648) }; rt::cons(&__t2646, &__t2649) }; rt::cons(&__t2645, &__t2650) }; let __t2652 = v_W4910.clone(); rt::cons(&__t2651, &__t2652) }; rt::cons(&__t2644, &__t2653) }; let __t2655 = v_V4859.clone(); let __t2656 = Value::bool(true); let __t2657 = v_V4861.clone(); let __t2658 = v_V4862.clone(); let __t2659 = v_W4865.clone(); let __t2660 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2654, __t2655, __t2656, __t2657, __t2658, __t2659, __t2660])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4895, v_W4897, v_W4900, v_W4903, v_W4907, v_W4910], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2635, __t2636, __t2637, __t2661])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4895, v_W4897, v_W4900, v_W4903, v_W4907, v_W4910], interp) }; rt::apply_direct(interp, "when", &[__t2631, __t2632, __t2633, __t2634, __t2662])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -5733,7 +5733,7 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2681 = { - let __t2679 = v_W4875.clone(); + let __t2679 = v_W4889.clone(); let __t2680 = Value::bool(false); rt::eq(&__t2679, &__t2680) }; @@ -5742,9 +5742,9 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W4897 = { + let v_W4911 = { let __t2782 = { - let __t2682 = v_V4848.clone(); + let __t2682 = v_V4862.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -5753,9 +5753,9 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; if rt::is_truthy(interp, &__t2782)? { { - let v_W4898 = { - let __t2683 = v_V4844.clone(); - let __t2684 = v_V4847.clone(); + let v_W4912 = { + let __t2683 = v_V4858.clone(); + let __t2684 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -5765,17 +5765,17 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t2781 = { let __t2685 = - v_W4898.clone(); + v_W4912.clone(); rt::is_cons(&__t2685) }; if rt::is_truthy( interp, &__t2781, )? { { - let v_W4899 = { + let v_W4913 = { let __t2687 = { let __t2686 = - v_W4898 + v_W4912 .clone( ); rt::hd( @@ -5783,13 +5783,13 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu )? }; let __t2688 = - v_V4847.clone(); + v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2687, __t2688])? }; { let __t2780 = { let __t2689 = - v_W4899 + v_W4913 .clone( ); rt::is_cons( @@ -5801,20 +5801,20 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu &__t2780, )? { { - let v_W4900 = { + let v_W4914 = { let __t2691 = { - let __t2690 = v_W4899.clone(); + let __t2690 = v_W4913.clone(); rt::hd(&__t2690)? }; - let __t2692 = v_V4847.clone(); + let __t2692 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2691, __t2692])? }; { let __t2779 = { - let __t2693 = v_W4900.clone(); + let __t2693 = v_W4914.clone(); rt::is_cons(&__t2693) }; - if rt::is_truthy(interp, &__t2779)? { { let v_W4901 = { let __t2695 = { let __t2694 = v_W4900.clone(); rt::hd(&__t2694)? }; let __t2696 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2695, __t2696])? }; { let __t2778 = { let __t2697 = v_W4901.clone(); let __t2698 = Value::sym(interp.intern("@s")); rt::eq(&__t2697, &__t2698) }; if rt::is_truthy(interp, &__t2778)? { { let v_W4902 = { let __t2700 = { let __t2699 = v_W4900.clone(); rt::tl(&__t2699)? }; let __t2701 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2700, __t2701])? }; { let __t2777 = { let __t2702 = v_W4902.clone(); rt::is_cons(&__t2702) }; if rt::is_truthy(interp, &__t2777)? { { let v_W4903 = { let __t2703 = v_W4902.clone(); rt::hd(&__t2703)? }; { let v_W4904 = { let __t2705 = { let __t2704 = v_W4902.clone(); rt::tl(&__t2704)? }; let __t2706 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2705, __t2706])? }; { let __t2776 = { let __t2707 = v_W4904.clone(); rt::is_cons(&__t2707) }; if rt::is_truthy(interp, &__t2776)? { { let v_W4905 = { let __t2708 = v_W4904.clone(); rt::hd(&__t2708)? }; { let v_W4906 = { let __t2710 = { let __t2709 = v_W4904.clone(); rt::tl(&__t2709)? }; let __t2711 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2710, __t2711])? }; { let __t2775 = { let __t2712 = v_W4906.clone(); let __t2713 = Value::nil(); rt::eq(&__t2712, &__t2713) }; if rt::is_truthy(interp, &__t2775)? { { let v_W4907 = { let __t2715 = { let __t2714 = v_W4899.clone(); rt::tl(&__t2714)? }; let __t2716 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2715, __t2716])? }; { let __t2774 = { let __t2717 = v_W4907.clone(); rt::is_cons(&__t2717) }; if rt::is_truthy(interp, &__t2774)? { { let v_W4908 = { let __t2718 = v_W4907.clone(); rt::hd(&__t2718)? }; { let v_W4909 = { let __t2720 = { let __t2719 = v_W4907.clone(); rt::tl(&__t2719)? }; let __t2721 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2720, __t2721])? }; { let __t2773 = { let __t2722 = v_W4909.clone(); rt::is_cons(&__t2722) }; if rt::is_truthy(interp, &__t2773)? { { let v_W4910 = { let __t2724 = { let __t2723 = v_W4909.clone(); rt::hd(&__t2723)? }; let __t2725 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2724, __t2725])? }; { let __t2772 = { let __t2726 = v_W4910.clone(); let __t2727 = Value::sym(interp.intern("string")); rt::eq(&__t2726, &__t2727) }; if rt::is_truthy(interp, &__t2772)? { { let v_W4911 = { let __t2729 = { let __t2728 = v_W4909.clone(); rt::tl(&__t2728)? }; let __t2730 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2729, __t2730])? }; { let __t2771 = { let __t2731 = v_W4911.clone(); let __t2732 = Value::nil(); rt::eq(&__t2731, &__t2732) }; if rt::is_truthy(interp, &__t2771)? { { let v_W4912 = { let __t2733 = v_W4898.clone(); rt::tl(&__t2733)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2739 = { let __t2736 = { let __t2734 = v_W4908.clone(); let __t2735 = v_V4847.clone(); rt::apply_direct(interp, "shen.deref", &[__t2734, __t2735])? }; let __t2738 = { let __t2737 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2737])? }; rt::eq(&__t2736, &__t2738) }; let __t2740 = v_V4847.clone(); let __t2741 = v_V4848.clone(); let __t2742 = v_W4851.clone(); let __t2770 = { let v_V4845 = v_V4845.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4903 = v_W4903.clone(); let v_W4905 = v_W4905.clone(); let v_W4908 = v_W4908.clone(); let v_W4912 = v_W4912.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2743 = v_V4847.clone(); let __t2744 = v_V4848.clone(); let __t2745 = v_W4851.clone(); let __t2769 = { let v_V4845 = v_V4845.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4903 = v_W4903.clone(); let v_W4905 = v_W4905.clone(); let v_W4908 = v_W4908.clone(); let v_W4912 = v_W4912.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2762 = { let __t2752 = { let __t2746 = v_W4903.clone(); let __t2751 = { let __t2747 = v_W4908.clone(); let __t2750 = { let __t2748 = Value::sym(interp.intern("string")); let __t2749 = Value::nil(); rt::cons(&__t2748, &__t2749) }; rt::cons(&__t2747, &__t2750) }; rt::cons(&__t2746, &__t2751) }; let __t2761 = { let __t2759 = { let __t2753 = v_W4905.clone(); let __t2758 = { let __t2754 = v_W4908.clone(); let __t2757 = { let __t2755 = Value::sym(interp.intern("string")); let __t2756 = Value::nil(); rt::cons(&__t2755, &__t2756) }; rt::cons(&__t2754, &__t2757) }; rt::cons(&__t2753, &__t2758) }; let __t2760 = v_W4912.clone(); rt::cons(&__t2759, &__t2760) }; rt::cons(&__t2752, &__t2761) }; let __t2763 = v_V4845.clone(); let __t2764 = Value::bool(true); let __t2765 = v_V4847.clone(); let __t2766 = v_V4848.clone(); let __t2767 = v_W4851.clone(); let __t2768 = v_V4850.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2762, __t2763, __t2764, __t2765, __t2766, __t2767, __t2768])? }), vec![v_V4845, v_V4847, v_V4848, v_V4850, v_W4851, v_W4903, v_W4905, v_W4908, v_W4912], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2743, __t2744, __t2745, __t2769])? }), vec![v_V4845, v_V4847, v_V4848, v_V4850, v_W4851, v_W4903, v_W4905, v_W4908, v_W4912], interp) }; rt::apply_direct(interp, "when", &[__t2739, __t2740, __t2741, __t2742, __t2770])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2779)? { { let v_W4915 = { let __t2695 = { let __t2694 = v_W4914.clone(); rt::hd(&__t2694)? }; let __t2696 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2695, __t2696])? }; { let __t2778 = { let __t2697 = v_W4915.clone(); let __t2698 = Value::sym(interp.intern("@s")); rt::eq(&__t2697, &__t2698) }; if rt::is_truthy(interp, &__t2778)? { { let v_W4916 = { let __t2700 = { let __t2699 = v_W4914.clone(); rt::tl(&__t2699)? }; let __t2701 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2700, __t2701])? }; { let __t2777 = { let __t2702 = v_W4916.clone(); rt::is_cons(&__t2702) }; if rt::is_truthy(interp, &__t2777)? { { let v_W4917 = { let __t2703 = v_W4916.clone(); rt::hd(&__t2703)? }; { let v_W4918 = { let __t2705 = { let __t2704 = v_W4916.clone(); rt::tl(&__t2704)? }; let __t2706 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2705, __t2706])? }; { let __t2776 = { let __t2707 = v_W4918.clone(); rt::is_cons(&__t2707) }; if rt::is_truthy(interp, &__t2776)? { { let v_W4919 = { let __t2708 = v_W4918.clone(); rt::hd(&__t2708)? }; { let v_W4920 = { let __t2710 = { let __t2709 = v_W4918.clone(); rt::tl(&__t2709)? }; let __t2711 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2710, __t2711])? }; { let __t2775 = { let __t2712 = v_W4920.clone(); let __t2713 = Value::nil(); rt::eq(&__t2712, &__t2713) }; if rt::is_truthy(interp, &__t2775)? { { let v_W4921 = { let __t2715 = { let __t2714 = v_W4913.clone(); rt::tl(&__t2714)? }; let __t2716 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2715, __t2716])? }; { let __t2774 = { let __t2717 = v_W4921.clone(); rt::is_cons(&__t2717) }; if rt::is_truthy(interp, &__t2774)? { { let v_W4922 = { let __t2718 = v_W4921.clone(); rt::hd(&__t2718)? }; { let v_W4923 = { let __t2720 = { let __t2719 = v_W4921.clone(); rt::tl(&__t2719)? }; let __t2721 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2720, __t2721])? }; { let __t2773 = { let __t2722 = v_W4923.clone(); rt::is_cons(&__t2722) }; if rt::is_truthy(interp, &__t2773)? { { let v_W4924 = { let __t2724 = { let __t2723 = v_W4923.clone(); rt::hd(&__t2723)? }; let __t2725 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2724, __t2725])? }; { let __t2772 = { let __t2726 = v_W4924.clone(); let __t2727 = Value::sym(interp.intern("string")); rt::eq(&__t2726, &__t2727) }; if rt::is_truthy(interp, &__t2772)? { { let v_W4925 = { let __t2729 = { let __t2728 = v_W4923.clone(); rt::tl(&__t2728)? }; let __t2730 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2729, __t2730])? }; { let __t2771 = { let __t2731 = v_W4925.clone(); let __t2732 = Value::nil(); rt::eq(&__t2731, &__t2732) }; if rt::is_truthy(interp, &__t2771)? { { let v_W4926 = { let __t2733 = v_W4912.clone(); rt::tl(&__t2733)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2739 = { let __t2736 = { let __t2734 = v_W4922.clone(); let __t2735 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2734, __t2735])? }; let __t2738 = { let __t2737 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2737])? }; rt::eq(&__t2736, &__t2738) }; let __t2740 = v_V4861.clone(); let __t2741 = v_V4862.clone(); let __t2742 = v_W4865.clone(); let __t2770 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4917 = v_W4917.clone(); let v_W4919 = v_W4919.clone(); let v_W4922 = v_W4922.clone(); let v_W4926 = v_W4926.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2743 = v_V4861.clone(); let __t2744 = v_V4862.clone(); let __t2745 = v_W4865.clone(); let __t2769 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4917 = v_W4917.clone(); let v_W4919 = v_W4919.clone(); let v_W4922 = v_W4922.clone(); let v_W4926 = v_W4926.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2762 = { let __t2752 = { let __t2746 = v_W4917.clone(); let __t2751 = { let __t2747 = v_W4922.clone(); let __t2750 = { let __t2748 = Value::sym(interp.intern("string")); let __t2749 = Value::nil(); rt::cons(&__t2748, &__t2749) }; rt::cons(&__t2747, &__t2750) }; rt::cons(&__t2746, &__t2751) }; let __t2761 = { let __t2759 = { let __t2753 = v_W4919.clone(); let __t2758 = { let __t2754 = v_W4922.clone(); let __t2757 = { let __t2755 = Value::sym(interp.intern("string")); let __t2756 = Value::nil(); rt::cons(&__t2755, &__t2756) }; rt::cons(&__t2754, &__t2757) }; rt::cons(&__t2753, &__t2758) }; let __t2760 = v_W4926.clone(); rt::cons(&__t2759, &__t2760) }; rt::cons(&__t2752, &__t2761) }; let __t2763 = v_V4859.clone(); let __t2764 = Value::bool(true); let __t2765 = v_V4861.clone(); let __t2766 = v_V4862.clone(); let __t2767 = v_W4865.clone(); let __t2768 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2762, __t2763, __t2764, __t2765, __t2766, __t2767, __t2768])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4917, v_W4919, v_W4922, v_W4926], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2743, __t2744, __t2745, __t2769])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4917, v_W4919, v_W4922, v_W4926], interp) }; rt::apply_direct(interp, "when", &[__t2739, __t2740, __t2741, __t2742, __t2770])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -5835,7 +5835,7 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu }; { let __t2785 = { - let __t2783 = v_W4897.clone(); + let __t2783 = v_W4911.clone(); let __t2784 = Value::bool(false); rt::eq(&__t2783, &__t2784) }; @@ -5844,10 +5844,10 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W4913 = { + let v_W4927 = { let __t2907 = { let __t2786 = - v_V4848.clone(); + v_V4862.clone(); rt::apply_direct( interp, "shen.unlocked?", @@ -5858,17 +5858,17 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu interp, &__t2907, )? { { - let v_W4914 = { + let v_W4928 = { let __t2787 = - v_V4844.clone(); + v_V4858.clone(); let __t2788 = - v_V4847.clone(); + v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2787, __t2788])? }; { let __t2906 = { let __t2789 = - v_W4914 + v_W4928 .clone( ); rt::is_cons( @@ -5880,20 +5880,20 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu &__t2906, )? { { - let v_W4915 = { + let v_W4929 = { let __t2791 = { - let __t2790 = v_W4914.clone(); + let __t2790 = v_W4928.clone(); rt::hd(&__t2790)? }; - let __t2792 = v_V4847.clone(); + let __t2792 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2791, __t2792])? }; { let __t2905 = { - let __t2793 = v_W4915.clone(); + let __t2793 = v_W4929.clone(); rt::is_cons(&__t2793) }; - if rt::is_truthy(interp, &__t2905)? { { let v_W4916 = { let __t2795 = { let __t2794 = v_W4915.clone(); rt::hd(&__t2794)? }; let __t2796 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2795, __t2796])? }; { let __t2904 = { let __t2797 = v_W4916.clone(); rt::is_cons(&__t2797) }; if rt::is_truthy(interp, &__t2904)? { { let v_W4917 = { let __t2799 = { let __t2798 = v_W4916.clone(); rt::hd(&__t2798)? }; let __t2800 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2799, __t2800])? }; { let __t2903 = { let __t2801 = v_W4917.clone(); let __t2802 = Value::sym(interp.intern("@v")); rt::eq(&__t2801, &__t2802) }; if rt::is_truthy(interp, &__t2903)? { { let v_W4918 = { let __t2804 = { let __t2803 = v_W4916.clone(); rt::tl(&__t2803)? }; let __t2805 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2804, __t2805])? }; { let __t2902 = { let __t2806 = v_W4918.clone(); rt::is_cons(&__t2806) }; if rt::is_truthy(interp, &__t2902)? { { let v_W4919 = { let __t2807 = v_W4918.clone(); rt::hd(&__t2807)? }; { let v_W4920 = { let __t2809 = { let __t2808 = v_W4918.clone(); rt::tl(&__t2808)? }; let __t2810 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2809, __t2810])? }; { let __t2901 = { let __t2811 = v_W4920.clone(); rt::is_cons(&__t2811) }; if rt::is_truthy(interp, &__t2901)? { { let v_W4921 = { let __t2812 = v_W4920.clone(); rt::hd(&__t2812)? }; { let v_W4922 = { let __t2814 = { let __t2813 = v_W4920.clone(); rt::tl(&__t2813)? }; let __t2815 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2814, __t2815])? }; { let __t2900 = { let __t2816 = v_W4922.clone(); let __t2817 = Value::nil(); rt::eq(&__t2816, &__t2817) }; if rt::is_truthy(interp, &__t2900)? { { let v_W4923 = { let __t2819 = { let __t2818 = v_W4915.clone(); rt::tl(&__t2818)? }; let __t2820 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2819, __t2820])? }; { let __t2899 = { let __t2821 = v_W4923.clone(); rt::is_cons(&__t2821) }; if rt::is_truthy(interp, &__t2899)? { { let v_W4924 = { let __t2822 = v_W4923.clone(); rt::hd(&__t2822)? }; { let v_W4925 = { let __t2824 = { let __t2823 = v_W4923.clone(); rt::tl(&__t2823)? }; let __t2825 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2824, __t2825])? }; { let __t2898 = { let __t2826 = v_W4925.clone(); rt::is_cons(&__t2826) }; if rt::is_truthy(interp, &__t2898)? { { let v_W4926 = { let __t2828 = { let __t2827 = v_W4925.clone(); rt::hd(&__t2827)? }; let __t2829 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2828, __t2829])? }; { let __t2897 = { let __t2830 = v_W4926.clone(); rt::is_cons(&__t2830) }; if rt::is_truthy(interp, &__t2897)? { { let v_W4927 = { let __t2832 = { let __t2831 = v_W4926.clone(); rt::hd(&__t2831)? }; let __t2833 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2832, __t2833])? }; { let __t2896 = { let __t2834 = v_W4927.clone(); let __t2835 = Value::sym(interp.intern("vector")); rt::eq(&__t2834, &__t2835) }; if rt::is_truthy(interp, &__t2896)? { { let v_W4928 = { let __t2837 = { let __t2836 = v_W4926.clone(); rt::tl(&__t2836)? }; let __t2838 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2837, __t2838])? }; { let __t2895 = { let __t2839 = v_W4928.clone(); rt::is_cons(&__t2839) }; if rt::is_truthy(interp, &__t2895)? { { let v_W4929 = { let __t2840 = v_W4928.clone(); rt::hd(&__t2840)? }; { let v_W4930 = { let __t2842 = { let __t2841 = v_W4928.clone(); rt::tl(&__t2841)? }; let __t2843 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2842, __t2843])? }; { let __t2894 = { let __t2844 = v_W4930.clone(); let __t2845 = Value::nil(); rt::eq(&__t2844, &__t2845) }; if rt::is_truthy(interp, &__t2894)? { { let v_W4931 = { let __t2847 = { let __t2846 = v_W4925.clone(); rt::tl(&__t2846)? }; let __t2848 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2847, __t2848])? }; { let __t2893 = { let __t2849 = v_W4931.clone(); let __t2850 = Value::nil(); rt::eq(&__t2849, &__t2850) }; if rt::is_truthy(interp, &__t2893)? { { let v_W4932 = { let __t2851 = v_W4914.clone(); rt::tl(&__t2851)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2857 = { let __t2854 = { let __t2852 = v_W4924.clone(); let __t2853 = v_V4847.clone(); rt::apply_direct(interp, "shen.deref", &[__t2852, __t2853])? }; let __t2856 = { let __t2855 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2855])? }; rt::eq(&__t2854, &__t2856) }; let __t2858 = v_V4847.clone(); let __t2859 = v_V4848.clone(); let __t2860 = v_W4851.clone(); let __t2892 = { let v_V4845 = v_V4845.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4919 = v_W4919.clone(); let v_W4921 = v_W4921.clone(); let v_W4924 = v_W4924.clone(); let v_W4929 = v_W4929.clone(); let v_W4932 = v_W4932.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2861 = v_V4847.clone(); let __t2862 = v_V4848.clone(); let __t2863 = v_W4851.clone(); let __t2891 = { let v_V4845 = v_V4845.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4919 = v_W4919.clone(); let v_W4921 = v_W4921.clone(); let v_W4924 = v_W4924.clone(); let v_W4929 = v_W4929.clone(); let v_W4932 = v_W4932.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2884 = { let __t2870 = { let __t2864 = v_W4919.clone(); let __t2869 = { let __t2865 = v_W4924.clone(); let __t2868 = { let __t2866 = v_W4929.clone(); let __t2867 = Value::nil(); rt::cons(&__t2866, &__t2867) }; rt::cons(&__t2865, &__t2868) }; rt::cons(&__t2864, &__t2869) }; let __t2883 = { let __t2881 = { let __t2871 = v_W4921.clone(); let __t2880 = { let __t2872 = v_W4924.clone(); let __t2879 = { let __t2877 = { let __t2873 = Value::sym(interp.intern("vector")); let __t2876 = { let __t2874 = v_W4929.clone(); let __t2875 = Value::nil(); rt::cons(&__t2874, &__t2875) }; rt::cons(&__t2873, &__t2876) }; let __t2878 = Value::nil(); rt::cons(&__t2877, &__t2878) }; rt::cons(&__t2872, &__t2879) }; rt::cons(&__t2871, &__t2880) }; let __t2882 = v_W4932.clone(); rt::cons(&__t2881, &__t2882) }; rt::cons(&__t2870, &__t2883) }; let __t2885 = v_V4845.clone(); let __t2886 = Value::bool(true); let __t2887 = v_V4847.clone(); let __t2888 = v_V4848.clone(); let __t2889 = v_W4851.clone(); let __t2890 = v_V4850.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2884, __t2885, __t2886, __t2887, __t2888, __t2889, __t2890])? }), vec![v_V4845, v_V4847, v_V4848, v_V4850, v_W4851, v_W4919, v_W4921, v_W4924, v_W4929, v_W4932], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2861, __t2862, __t2863, __t2891])? }), vec![v_V4845, v_V4847, v_V4848, v_V4850, v_W4851, v_W4919, v_W4921, v_W4924, v_W4929, v_W4932], interp) }; rt::apply_direct(interp, "when", &[__t2857, __t2858, __t2859, __t2860, __t2892])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2905)? { { let v_W4930 = { let __t2795 = { let __t2794 = v_W4929.clone(); rt::hd(&__t2794)? }; let __t2796 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2795, __t2796])? }; { let __t2904 = { let __t2797 = v_W4930.clone(); rt::is_cons(&__t2797) }; if rt::is_truthy(interp, &__t2904)? { { let v_W4931 = { let __t2799 = { let __t2798 = v_W4930.clone(); rt::hd(&__t2798)? }; let __t2800 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2799, __t2800])? }; { let __t2903 = { let __t2801 = v_W4931.clone(); let __t2802 = Value::sym(interp.intern("@v")); rt::eq(&__t2801, &__t2802) }; if rt::is_truthy(interp, &__t2903)? { { let v_W4932 = { let __t2804 = { let __t2803 = v_W4930.clone(); rt::tl(&__t2803)? }; let __t2805 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2804, __t2805])? }; { let __t2902 = { let __t2806 = v_W4932.clone(); rt::is_cons(&__t2806) }; if rt::is_truthy(interp, &__t2902)? { { let v_W4933 = { let __t2807 = v_W4932.clone(); rt::hd(&__t2807)? }; { let v_W4934 = { let __t2809 = { let __t2808 = v_W4932.clone(); rt::tl(&__t2808)? }; let __t2810 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2809, __t2810])? }; { let __t2901 = { let __t2811 = v_W4934.clone(); rt::is_cons(&__t2811) }; if rt::is_truthy(interp, &__t2901)? { { let v_W4935 = { let __t2812 = v_W4934.clone(); rt::hd(&__t2812)? }; { let v_W4936 = { let __t2814 = { let __t2813 = v_W4934.clone(); rt::tl(&__t2813)? }; let __t2815 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2814, __t2815])? }; { let __t2900 = { let __t2816 = v_W4936.clone(); let __t2817 = Value::nil(); rt::eq(&__t2816, &__t2817) }; if rt::is_truthy(interp, &__t2900)? { { let v_W4937 = { let __t2819 = { let __t2818 = v_W4929.clone(); rt::tl(&__t2818)? }; let __t2820 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2819, __t2820])? }; { let __t2899 = { let __t2821 = v_W4937.clone(); rt::is_cons(&__t2821) }; if rt::is_truthy(interp, &__t2899)? { { let v_W4938 = { let __t2822 = v_W4937.clone(); rt::hd(&__t2822)? }; { let v_W4939 = { let __t2824 = { let __t2823 = v_W4937.clone(); rt::tl(&__t2823)? }; let __t2825 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2824, __t2825])? }; { let __t2898 = { let __t2826 = v_W4939.clone(); rt::is_cons(&__t2826) }; if rt::is_truthy(interp, &__t2898)? { { let v_W4940 = { let __t2828 = { let __t2827 = v_W4939.clone(); rt::hd(&__t2827)? }; let __t2829 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2828, __t2829])? }; { let __t2897 = { let __t2830 = v_W4940.clone(); rt::is_cons(&__t2830) }; if rt::is_truthy(interp, &__t2897)? { { let v_W4941 = { let __t2832 = { let __t2831 = v_W4940.clone(); rt::hd(&__t2831)? }; let __t2833 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2832, __t2833])? }; { let __t2896 = { let __t2834 = v_W4941.clone(); let __t2835 = Value::sym(interp.intern("vector")); rt::eq(&__t2834, &__t2835) }; if rt::is_truthy(interp, &__t2896)? { { let v_W4942 = { let __t2837 = { let __t2836 = v_W4940.clone(); rt::tl(&__t2836)? }; let __t2838 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2837, __t2838])? }; { let __t2895 = { let __t2839 = v_W4942.clone(); rt::is_cons(&__t2839) }; if rt::is_truthy(interp, &__t2895)? { { let v_W4943 = { let __t2840 = v_W4942.clone(); rt::hd(&__t2840)? }; { let v_W4944 = { let __t2842 = { let __t2841 = v_W4942.clone(); rt::tl(&__t2841)? }; let __t2843 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2842, __t2843])? }; { let __t2894 = { let __t2844 = v_W4944.clone(); let __t2845 = Value::nil(); rt::eq(&__t2844, &__t2845) }; if rt::is_truthy(interp, &__t2894)? { { let v_W4945 = { let __t2847 = { let __t2846 = v_W4939.clone(); rt::tl(&__t2846)? }; let __t2848 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2847, __t2848])? }; { let __t2893 = { let __t2849 = v_W4945.clone(); let __t2850 = Value::nil(); rt::eq(&__t2849, &__t2850) }; if rt::is_truthy(interp, &__t2893)? { { let v_W4946 = { let __t2851 = v_W4928.clone(); rt::tl(&__t2851)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2857 = { let __t2854 = { let __t2852 = v_W4938.clone(); let __t2853 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2852, __t2853])? }; let __t2856 = { let __t2855 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2855])? }; rt::eq(&__t2854, &__t2856) }; let __t2858 = v_V4861.clone(); let __t2859 = v_V4862.clone(); let __t2860 = v_W4865.clone(); let __t2892 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4933 = v_W4933.clone(); let v_W4935 = v_W4935.clone(); let v_W4938 = v_W4938.clone(); let v_W4943 = v_W4943.clone(); let v_W4946 = v_W4946.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2861 = v_V4861.clone(); let __t2862 = v_V4862.clone(); let __t2863 = v_W4865.clone(); let __t2891 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4933 = v_W4933.clone(); let v_W4935 = v_W4935.clone(); let v_W4938 = v_W4938.clone(); let v_W4943 = v_W4943.clone(); let v_W4946 = v_W4946.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2884 = { let __t2870 = { let __t2864 = v_W4933.clone(); let __t2869 = { let __t2865 = v_W4938.clone(); let __t2868 = { let __t2866 = v_W4943.clone(); let __t2867 = Value::nil(); rt::cons(&__t2866, &__t2867) }; rt::cons(&__t2865, &__t2868) }; rt::cons(&__t2864, &__t2869) }; let __t2883 = { let __t2881 = { let __t2871 = v_W4935.clone(); let __t2880 = { let __t2872 = v_W4938.clone(); let __t2879 = { let __t2877 = { let __t2873 = Value::sym(interp.intern("vector")); let __t2876 = { let __t2874 = v_W4943.clone(); let __t2875 = Value::nil(); rt::cons(&__t2874, &__t2875) }; rt::cons(&__t2873, &__t2876) }; let __t2878 = Value::nil(); rt::cons(&__t2877, &__t2878) }; rt::cons(&__t2872, &__t2879) }; rt::cons(&__t2871, &__t2880) }; let __t2882 = v_W4946.clone(); rt::cons(&__t2881, &__t2882) }; rt::cons(&__t2870, &__t2883) }; let __t2885 = v_V4859.clone(); let __t2886 = Value::bool(true); let __t2887 = v_V4861.clone(); let __t2888 = v_V4862.clone(); let __t2889 = v_W4865.clone(); let __t2890 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2884, __t2885, __t2886, __t2887, __t2888, __t2889, __t2890])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4933, v_W4935, v_W4938, v_W4943, v_W4946], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2861, __t2862, __t2863, __t2891])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4933, v_W4935, v_W4938, v_W4943, v_W4946], interp) }; rt::apply_direct(interp, "when", &[__t2857, __t2858, __t2859, __t2860, __t2892])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -5910,7 +5910,7 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t2910 = { let __t2908 = - v_W4913.clone(); + v_W4927.clone(); let __t2909 = Value::bool(false); rt::eq(&__t2908, &__t2909) @@ -5922,10 +5922,10 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu Err(e) => break Err(e), } { { - let v_W4933 = { + let v_W4947 = { let __t2957 = { let __t2911 = - v_V4848 + v_V4862 .clone( ); rt::apply_direct(interp, "shen.unlocked?", &[__t2911])? @@ -5935,17 +5935,17 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu &__t2957, )? { { - let v_W4934 = { - let __t2912 = v_V4844.clone(); - let __t2913 = v_V4847.clone(); + let v_W4948 = { + let __t2912 = v_V4858.clone(); + let __t2913 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2912, __t2913])? }; { let __t2956 = { - let __t2914 = v_W4934.clone(); + let __t2914 = v_W4948.clone(); rt::is_cons(&__t2914) }; - if rt::is_truthy(interp, &__t2956)? { { let v_W4935 = { let __t2915 = v_W4934.clone(); rt::hd(&__t2915)? }; { let v_W4936 = { let __t2916 = v_W4934.clone(); rt::tl(&__t2916)? }; { let v_W4937 = { let __t2917 = v_V4845.clone(); let __t2918 = v_V4847.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2917, __t2918])? }; { let v_W4938 = { let v_V4846 = v_V4846.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4935 = v_W4935.clone(); let v_W4936 = v_W4936.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4939 = args[0].clone(); Ok({ let v_V4846 = v_V4846.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4935 = v_W4935.clone(); let v_W4936 = v_W4936.clone(); let v_Z4939 = v_Z4939.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4940 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2919 = v_Z4939.clone(); let __t2920 = v_W4935.clone(); let __t2921 = v_V4847.clone(); let __t2922 = v_V4848.clone(); let __t2923 = v_W4851.clone(); let __t2931 = { let v_V4846 = v_V4846.clone(); let v_V4847 = v_V4847.clone(); let v_V4848 = v_V4848.clone(); let v_V4850 = v_V4850.clone(); let v_W4851 = v_W4851.clone(); let v_W4936 = v_W4936.clone(); let v_Z4940 = v_Z4940.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2924 = v_W4936.clone(); let __t2925 = v_Z4940.clone(); let __t2926 = v_V4846.clone(); let __t2927 = v_V4847.clone(); let __t2928 = v_V4848.clone(); let __t2929 = v_W4851.clone(); let __t2930 = v_V4850.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2924, __t2925, __t2926, __t2927, __t2928, __t2929, __t2930])? }), vec![v_V4846, v_V4847, v_V4848, v_V4850, v_W4851, v_W4936, v_Z4940], interp) }; rt::apply_direct(interp, "bind", &[__t2919, __t2920, __t2921, __t2922, __t2923, __t2931])? } }) }, vec![v_V4846, v_V4847, v_V4848, v_V4850, v_W4851, v_W4935, v_W4936, v_Z4939], interp) }) }, vec![v_V4846, v_V4847, v_V4848, v_V4850, v_W4851, v_W4935, v_W4936], interp) }; { let __t2955 = { let __t2932 = v_W4937.clone(); rt::is_cons(&__t2932) }; if rt::is_truthy(interp, &__t2955)? { { let v_W4941 = { let __t2933 = v_W4937.clone(); rt::hd(&__t2933)? }; { let v_W4942 = { let __t2934 = v_W4937.clone(); rt::tl(&__t2934)? }; { let __t2936 = { let __t2935 = v_W4941.clone(); rt::apply_value(interp, v_W4938.clone(), &[__t2935])? }; let __t2937 = v_W4942.clone(); rt::apply_value(interp, __t2936, &[__t2937])? } } } } else { { let __t2954 = { let __t2938 = v_W4937.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2938])? }; if rt::is_truthy(interp, &__t2954)? { { let v_W4943 = { let __t2939 = v_V4847.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2939])? }; { let __t2940 = v_V4847.clone(); let __t2953 = { let v_W4944 = { let __t2941 = v_V4847.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2941])? }; { let __t2942 = v_V4847.clone(); let __t2952 = { let __t2943 = v_W4937.clone(); let __t2946 = { let __t2944 = v_W4943.clone(); let __t2945 = v_W4944.clone(); rt::cons(&__t2944, &__t2945) }; let __t2947 = v_V4847.clone(); let __t2951 = { let v_W4938 = v_W4938.clone(); let v_W4943 = v_W4943.clone(); let v_W4944 = v_W4944.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2949 = { let __t2948 = v_W4943.clone(); rt::apply_value(interp, v_W4938.clone(), &[__t2948])? }; let __t2950 = v_W4944.clone(); rt::apply_value(interp, __t2949, &[__t2950])? }), vec![v_W4938, v_W4943, v_W4944], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2943, __t2946, __t2947, __t2951])? }; rt::apply_direct(interp, "shen.gc", &[__t2942, __t2952])? } }; rt::apply_direct(interp, "shen.gc", &[__t2940, __t2953])? } } } else { Value::bool(false) } } } } } } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2956)? { { let v_W4949 = { let __t2915 = v_W4948.clone(); rt::hd(&__t2915)? }; { let v_W4950 = { let __t2916 = v_W4948.clone(); rt::tl(&__t2916)? }; { let v_W4951 = { let __t2917 = v_V4859.clone(); let __t2918 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2917, __t2918])? }; { let v_W4952 = { let v_V4860 = v_V4860.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4949 = v_W4949.clone(); let v_W4950 = v_W4950.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4953 = args[0].clone(); Ok({ let v_V4860 = v_V4860.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4949 = v_W4949.clone(); let v_W4950 = v_W4950.clone(); let v_Z4953 = v_Z4953.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4954 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2919 = v_Z4953.clone(); let __t2920 = v_W4949.clone(); let __t2921 = v_V4861.clone(); let __t2922 = v_V4862.clone(); let __t2923 = v_W4865.clone(); let __t2931 = { let v_V4860 = v_V4860.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4950 = v_W4950.clone(); let v_Z4954 = v_Z4954.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2924 = v_W4950.clone(); let __t2925 = v_Z4954.clone(); let __t2926 = v_V4860.clone(); let __t2927 = v_V4861.clone(); let __t2928 = v_V4862.clone(); let __t2929 = v_W4865.clone(); let __t2930 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2924, __t2925, __t2926, __t2927, __t2928, __t2929, __t2930])? }), vec![v_V4860, v_V4861, v_V4862, v_V4864, v_W4865, v_W4950, v_Z4954], interp) }; rt::apply_direct(interp, "bind", &[__t2919, __t2920, __t2921, __t2922, __t2923, __t2931])? } }) }, vec![v_V4860, v_V4861, v_V4862, v_V4864, v_W4865, v_W4949, v_W4950, v_Z4953], interp) }) }, vec![v_V4860, v_V4861, v_V4862, v_V4864, v_W4865, v_W4949, v_W4950], interp) }; { let __t2955 = { let __t2932 = v_W4951.clone(); rt::is_cons(&__t2932) }; if rt::is_truthy(interp, &__t2955)? { { let v_W4955 = { let __t2933 = v_W4951.clone(); rt::hd(&__t2933)? }; { let v_W4956 = { let __t2934 = v_W4951.clone(); rt::tl(&__t2934)? }; { let __t2936 = { let __t2935 = v_W4955.clone(); rt::apply_value(interp, v_W4952.clone(), &[__t2935])? }; let __t2937 = v_W4956.clone(); rt::apply_value(interp, __t2936, &[__t2937])? } } } } else { { let __t2954 = { let __t2938 = v_W4951.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2938])? }; if rt::is_truthy(interp, &__t2954)? { { let v_W4957 = { let __t2939 = v_V4861.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2939])? }; { let __t2940 = v_V4861.clone(); let __t2953 = { let v_W4958 = { let __t2941 = v_V4861.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2941])? }; { let __t2942 = v_V4861.clone(); let __t2952 = { let __t2943 = v_W4951.clone(); let __t2946 = { let __t2944 = v_W4957.clone(); let __t2945 = v_W4958.clone(); rt::cons(&__t2944, &__t2945) }; let __t2947 = v_V4861.clone(); let __t2951 = { let v_W4952 = v_W4952.clone(); let v_W4957 = v_W4957.clone(); let v_W4958 = v_W4958.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2949 = { let __t2948 = v_W4957.clone(); rt::apply_value(interp, v_W4952.clone(), &[__t2948])? }; let __t2950 = v_W4958.clone(); rt::apply_value(interp, __t2949, &[__t2950])? }), vec![v_W4952, v_W4957, v_W4958], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2943, __t2946, __t2947, __t2951])? }; rt::apply_direct(interp, "shen.gc", &[__t2942, __t2952])? } }; rt::apply_direct(interp, "shen.gc", &[__t2940, __t2953])? } } } else { Value::bool(false) } } } } } } } } } else { Value::bool(false) } } } } else { @@ -5957,7 +5957,7 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t2960 = { let __t2958 = - v_W4933 + v_W4947 .clone( ); let __t2959 = @@ -5969,31 +5969,31 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu &__t2959, ) }; - if match rt::is_truthy(interp, &__t2960) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2961 = v_V4848.clone(); let __t2962 = v_W4851.clone(); rt::apply_direct(interp, "shen.unlock", &[__t2961, __t2962])? }); } else { break Ok(v_W4933.clone()); } + if match rt::is_truthy(interp, &__t2960) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2961 = v_V4862.clone(); let __t2962 = v_W4865.clone(); rt::apply_direct(interp, "shen.unlock", &[__t2961, __t2962])? }); } else { break Ok(v_W4947.clone()); } } } } else { - break Ok(v_W4913.clone()); + break Ok(v_W4927.clone()); } } } } else { - break Ok(v_W4897.clone()); + break Ok(v_W4911.clone()); } } } } else { - break Ok(v_W4875.clone()); + break Ok(v_W4889.clone()); } } } } else { - break Ok(v_W4855.clone()); + break Ok(v_W4869.clone()); } } } } else { - break Ok(v_W4852.clone()); + break Ok(v_W4866.clone()); } } } @@ -6015,51 +6015,51 @@ pub fn aot_shen_x2e_t_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult", 0, move |interp, _args| Ok({ let __t2991 = v_W4958.clone(); let __t2995 = { let __t2994 = { let __t2992 = v_W4956.clone(); let __t2993 = v_W4957.clone(); rt::cons(&__t2992, &__t2993) }; rt::apply_direct(interp, "shen.sigxrules", &[__t2994])? }; let __t2996 = v_V4947.clone(); let __t2997 = v_V4948.clone(); let __t2998 = v_W4951.clone(); let __t3040 = { let v_V4946 = v_V4946.clone(); let v_V4947 = v_V4947.clone(); let v_V4948 = v_V4948.clone(); let v_V4950 = v_V4950.clone(); let v_W4951 = v_W4951.clone(); let v_W4956 = v_W4956.clone(); let v_W4958 = v_W4958.clone(); let v_W4959 = v_W4959.clone(); let v_W4960 = v_W4960.clone(); let v_W4961 = v_W4961.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2999 = v_W4961.clone(); let __t3003 = { let __t3002 = { let __t3000 = v_W4958.clone(); let __t3001 = v_V4947.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3000, __t3001])? }; rt::apply_direct(interp, "fst", &[__t3002])? }; let __t3004 = v_V4947.clone(); let __t3005 = v_V4948.clone(); let __t3006 = v_W4951.clone(); let __t3039 = { let v_V4946 = v_V4946.clone(); let v_V4947 = v_V4947.clone(); let v_V4948 = v_V4948.clone(); let v_V4950 = v_V4950.clone(); let v_W4951 = v_W4951.clone(); let v_W4956 = v_W4956.clone(); let v_W4958 = v_W4958.clone(); let v_W4959 = v_W4959.clone(); let v_W4960 = v_W4960.clone(); let v_W4961 = v_W4961.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3007 = v_W4959.clone(); let __t3011 = { let __t3010 = { let __t3008 = v_W4958.clone(); let __t3009 = v_V4947.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3008, __t3009])? }; rt::apply_direct(interp, "snd", &[__t3010])? }; let __t3012 = v_V4947.clone(); let __t3013 = v_V4948.clone(); let __t3014 = v_W4951.clone(); let __t3038 = { let v_V4946 = v_V4946.clone(); let v_V4947 = v_V4947.clone(); let v_V4948 = v_V4948.clone(); let v_V4950 = v_V4950.clone(); let v_W4951 = v_W4951.clone(); let v_W4956 = v_W4956.clone(); let v_W4959 = v_W4959.clone(); let v_W4960 = v_W4960.clone(); let v_W4961 = v_W4961.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3015 = v_W4960.clone(); let __t3019 = { let __t3018 = { let __t3016 = v_W4961.clone(); let __t3017 = v_V4947.clone(); rt::apply_direct(interp, "shen.deref", &[__t3016, __t3017])? }; rt::apply_direct(interp, "shen.freshen-sig", &[__t3018])? }; let __t3020 = v_V4947.clone(); let __t3021 = v_V4948.clone(); let __t3022 = v_W4951.clone(); let __t3037 = { let v_V4946 = v_V4946.clone(); let v_V4947 = v_V4947.clone(); let v_V4948 = v_V4948.clone(); let v_V4950 = v_V4950.clone(); let v_W4951 = v_W4951.clone(); let v_W4956 = v_W4956.clone(); let v_W4959 = v_W4959.clone(); let v_W4960 = v_W4960.clone(); let v_W4961 = v_W4961.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3023 = v_W4956.clone(); let __t3024 = v_W4959.clone(); let __t3025 = v_W4960.clone(); let __t3026 = Value::int(1i64); let __t3027 = v_V4947.clone(); let __t3028 = v_V4948.clone(); let __t3029 = v_W4951.clone(); let __t3036 = { let v_V4946 = v_V4946.clone(); let v_V4947 = v_V4947.clone(); let v_V4948 = v_V4948.clone(); let v_V4950 = v_V4950.clone(); let v_W4951 = v_W4951.clone(); let v_W4961 = v_W4961.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3030 = v_W4961.clone(); let __t3031 = v_V4946.clone(); let __t3032 = v_V4947.clone(); let __t3033 = v_V4948.clone(); let __t3034 = v_W4951.clone(); let __t3035 = v_V4950.clone(); rt::apply_direct(interp, "is", &[__t3030, __t3031, __t3032, __t3033, __t3034, __t3035])? }), vec![v_V4946, v_V4947, v_V4948, v_V4950, v_W4951, v_W4961], interp) }; rt::apply_direct(interp, "shen.t*-rules", &[__t3023, __t3024, __t3025, __t3026, __t3027, __t3028, __t3029, __t3036])? }), vec![v_V4946, v_V4947, v_V4948, v_V4950, v_W4951, v_W4956, v_W4959, v_W4960, v_W4961], interp) }; rt::apply_direct(interp, "bind", &[__t3015, __t3019, __t3020, __t3021, __t3022, __t3037])? }), vec![v_V4946, v_V4947, v_V4948, v_V4950, v_W4951, v_W4956, v_W4959, v_W4960, v_W4961], interp) }; rt::apply_direct(interp, "bind", &[__t3007, __t3011, __t3012, __t3013, __t3014, __t3038])? }), vec![v_V4946, v_V4947, v_V4948, v_V4950, v_W4951, v_W4956, v_W4958, v_W4959, v_W4960, v_W4961], interp) }; rt::apply_direct(interp, "bind", &[__t2999, __t3003, __t3004, __t3005, __t3006, __t3039])? }), vec![v_V4946, v_V4947, v_V4948, v_V4950, v_W4951, v_W4956, v_W4958, v_W4959, v_W4960, v_W4961], interp) }; rt::apply_direct(interp, "bind", &[__t2991, __t2995, __t2996, __t2997, __t2998, __t3040])? }), vec![v_V4946, v_V4947, v_V4948, v_V4950, v_W4951, v_W4956, v_W4957, v_W4958, v_W4959, v_W4960, v_W4961], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2988, __t2989, __t2990, __t3041])? } }; + let __t2987 = v_V4961.clone(); + let __t3042 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2988 = v_V4961.clone(); let __t2989 = v_V4962.clone(); let __t2990 = v_W4965.clone(); let __t3041 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4971 = v_W4971.clone(); let v_W4972 = v_W4972.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2991 = v_W4972.clone(); let __t2995 = { let __t2994 = { let __t2992 = v_W4970.clone(); let __t2993 = v_W4971.clone(); rt::cons(&__t2992, &__t2993) }; rt::apply_direct(interp, "shen.sigxrules", &[__t2994])? }; let __t2996 = v_V4961.clone(); let __t2997 = v_V4962.clone(); let __t2998 = v_W4965.clone(); let __t3040 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4972 = v_W4972.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2999 = v_W4975.clone(); let __t3003 = { let __t3002 = { let __t3000 = v_W4972.clone(); let __t3001 = v_V4961.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3000, __t3001])? }; rt::apply_direct(interp, "fst", &[__t3002])? }; let __t3004 = v_V4961.clone(); let __t3005 = v_V4962.clone(); let __t3006 = v_W4965.clone(); let __t3039 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4972 = v_W4972.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3007 = v_W4973.clone(); let __t3011 = { let __t3010 = { let __t3008 = v_W4972.clone(); let __t3009 = v_V4961.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3008, __t3009])? }; rt::apply_direct(interp, "snd", &[__t3010])? }; let __t3012 = v_V4961.clone(); let __t3013 = v_V4962.clone(); let __t3014 = v_W4965.clone(); let __t3038 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3015 = v_W4974.clone(); let __t3019 = { let __t3018 = { let __t3016 = v_W4975.clone(); let __t3017 = v_V4961.clone(); rt::apply_direct(interp, "shen.deref", &[__t3016, __t3017])? }; rt::apply_direct(interp, "shen.freshen-sig", &[__t3018])? }; let __t3020 = v_V4961.clone(); let __t3021 = v_V4962.clone(); let __t3022 = v_W4965.clone(); let __t3037 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3023 = v_W4970.clone(); let __t3024 = v_W4973.clone(); let __t3025 = v_W4974.clone(); let __t3026 = Value::int(1i64); let __t3027 = v_V4961.clone(); let __t3028 = v_V4962.clone(); let __t3029 = v_W4965.clone(); let __t3036 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3030 = v_W4975.clone(); let __t3031 = v_V4960.clone(); let __t3032 = v_V4961.clone(); let __t3033 = v_V4962.clone(); let __t3034 = v_W4965.clone(); let __t3035 = v_V4964.clone(); rt::apply_direct(interp, "is", &[__t3030, __t3031, __t3032, __t3033, __t3034, __t3035])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4975], interp) }; rt::apply_direct(interp, "shen.t*-rules", &[__t3023, __t3024, __t3025, __t3026, __t3027, __t3028, __t3029, __t3036])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "bind", &[__t3015, __t3019, __t3020, __t3021, __t3022, __t3037])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "bind", &[__t3007, __t3011, __t3012, __t3013, __t3014, __t3038])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4972, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "bind", &[__t2999, __t3003, __t3004, __t3005, __t3006, __t3039])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4972, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "bind", &[__t2991, __t2995, __t2996, __t2997, __t2998, __t3040])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4971, v_W4972, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2988, __t2989, __t2990, __t3041])? } }; rt::apply_direct(interp, "shen.gc", &[__t2987, __t3042])? } }; @@ -6180,7 +6180,7 @@ pub fn aot_shen_x2e_t_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult break Err(e), } { break Ok({ - let __t3053 = v_V4948.clone(); - let __t3054 = v_W4951.clone(); + let __t3053 = v_V4962.clone(); + let __t3054 = v_W4965.clone(); rt::apply_direct(interp, "shen.unlock", &[__t3053, __t3054])? }); } else { - break Ok(v_W4952.clone()); + break Ok(v_W4966.clone()); } } } @@ -6216,7 +6216,7 @@ pub fn aot_shen_x2e_sigxrules(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V4962 = args[0].clone(); + let mut v_V4976 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -6225,9 +6225,9 @@ pub fn aot_shen_x2e_sigxrules(interp: &mut Interp, args: &[Value]) -> ShenResult "", 1, move |interp, args| { - let v_Z4963 = args[0].clone(); + let v_Z4977 = args[0].clone(); Ok({ - let __t3055 = v_Z4963.clone(); + let __t3055 = v_Z4977.clone(); rt::apply_direct(interp, "shen.", &[__t3055])? }) }, @@ -6235,7 +6235,7 @@ pub fn aot_shen_x2e_sigxrules(interp: &mut Interp, args: &[Value]) -> ShenResult interp, ) }; - let __t3057 = v_V4962.clone(); + let __t3057 = v_V4976.clone(); rt::apply_direct(interp, "compile", &[__t3056, __t3057])? }); } @@ -6258,36 +6258,36 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( ))); } #[allow(unused_mut)] - let mut v_V4964 = args[0].clone(); + let mut v_V4978 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4965 = { + let v_W4979 = { let __t3083 = { - let __t3058 = v_V4964.clone(); + let __t3058 = v_V4978.clone(); rt::is_cons(&__t3058) }; if rt::is_truthy(interp, &__t3083)? { { - let v_W4966 = { - let __t3059 = v_V4964.clone(); + let v_W4980 = { + let __t3059 = v_V4978.clone(); rt::apply_direct(interp, "tail", &[__t3059])? }; { let __t3082 = { - let __t3060 = v_W4966.clone(); + let __t3060 = v_W4980.clone(); let __t3061 = Value::sym(interp.intern("{")); rt::apply_direct(interp, "shen.hds=?", &[__t3060, __t3061])? }; if rt::is_truthy(interp, &__t3082)? { { - let v_W4967 = { - let __t3062 = v_W4966.clone(); + let v_W4981 = { + let __t3062 = v_W4980.clone(); rt::apply_direct(interp, "tail", &[__t3062])? }; { - let v_W4968 = { - let __t3063 = v_W4967.clone(); + let v_W4982 = { + let __t3063 = v_W4981.clone(); rt::apply_direct( interp, "shen.", @@ -6296,7 +6296,7 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( }; { let __t3081 = { - let __t3064 = v_W4968.clone(); + let __t3064 = v_W4982.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -6313,8 +6313,8 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( } } else { { - let v_W4969 = { - let __t3065 = v_W4968.clone(); + let v_W4983 = { + let __t3065 = v_W4982.clone(); rt::apply_direct( interp, "shen.<-out", @@ -6322,8 +6322,8 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( )? }; { - let v_W4970 = { - let __t3066 = v_W4968.clone(); + let v_W4984 = { + let __t3066 = v_W4982.clone(); rt::apply_direct( interp, "shen.in->", @@ -6332,7 +6332,7 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( }; { let __t3080 = { - let __t3067 = v_W4970.clone(); + let __t3067 = v_W4984.clone(); let __t3068 = Value::sym(interp.intern("}")); rt::apply_direct( @@ -6343,9 +6343,9 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( }; if rt::is_truthy(interp, &__t3080)? { { - let v_W4971 = { + let v_W4985 = { let __t3069 = - v_W4970.clone(); + v_W4984.clone(); rt::apply_direct( interp, "tail", @@ -6353,9 +6353,9 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( )? }; { - let v_W4972 = { + let v_W4986 = { let __t3070 = - v_W4971.clone(); + v_W4985.clone(); rt::apply_direct( interp, "shen.", @@ -6365,7 +6365,7 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( { let __t3079 = { let __t3071 = - v_W4972.clone(); + v_W4986.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3071])? }; if rt::is_truthy( @@ -6376,22 +6376,22 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( } } else { { - let v_W4973 = { - let __t3072 = v_W4972.clone(); + let v_W4987 = { + let __t3072 = v_W4986.clone(); rt::apply_direct(interp, "shen.<-out", &[__t3072])? }; { - let v_W4974 = { - let __t3073 = v_W4972.clone(); + let v_W4988 = { + let __t3073 = v_W4986.clone(); rt::apply_direct(interp, "shen.in->", &[__t3073])? }; { - let __t3074 = v_W4974.clone(); + let __t3074 = v_W4988.clone(); let __t3078 = { - let v_W4975 = { let __t3075 = v_W4969.clone(); rt::apply_direct(interp, "shen.rectify-type", &[__t3075])? }; + let v_W4989 = { let __t3075 = v_W4983.clone(); rt::apply_direct(interp, "shen.rectify-type", &[__t3075])? }; { - let __t3076 = v_W4975.clone(); - let __t3077 = v_W4973.clone(); + let __t3076 = v_W4989.clone(); + let __t3077 = v_W4987.clone(); rt::apply_direct(interp, "@p", &[__t3076, __t3077])? } }; @@ -6434,7 +6434,7 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( }; { let __t3085 = { - let __t3084 = v_W4965.clone(); + let __t3084 = v_W4979.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3084])? }; if match rt::is_truthy(interp, &__t3085) { @@ -6443,7 +6443,7 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W4965.clone()); + break Ok(v_W4979.clone()); } } } @@ -6464,28 +6464,28 @@ pub fn aot_shen_x2e_freshen_x2d_sig(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V4976 = args[0].clone(); + let mut v_V4990 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4977 = { - let __t3086 = v_V4976.clone(); + let v_W4991 = { + let __t3086 = v_V4990.clone(); rt::apply_direct(interp, "shen.extract-vars", &[__t3086])? }; { - let v_W4978 = { + let v_W4992 = { let __t3092 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z4979 = args[0].clone(); + let v_Z4993 = args[0].clone(); Ok({ - let __t3087 = v_Z4979.clone(); + let __t3087 = v_Z4993.clone(); let __t3091 = { let __t3090 = { let __t3088 = Value::sym(interp.intern("&")); - let __t3089 = v_Z4979.clone(); + let __t3089 = v_Z4993.clone(); rt::apply_direct(interp, "concat", &[__t3088, __t3089])? }; rt::apply_direct(interp, "shen.freshterm", &[__t3090])? @@ -6497,12 +6497,12 @@ pub fn aot_shen_x2e_freshen_x2d_sig(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t3093 = v_W4977.clone(); + let __t3093 = v_W4991.clone(); rt::apply_direct(interp, "map", &[__t3092, __t3093])? }; break Ok({ - let __t3094 = v_W4978.clone(); - let __t3095 = v_V4976.clone(); + let __t3094 = v_W4992.clone(); + let __t3095 = v_V4990.clone(); rt::apply_direct(interp, "shen.freshen-type", &[__t3094, __t3095])? }); } @@ -6524,27 +6524,27 @@ pub fn aot_shen_x2e_freshen_x2d_type(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V4980 = args[0].clone(); + let mut v_V4994 = args[0].clone(); #[allow(unused_mut)] - let mut v_V4981 = args[1].clone(); + let mut v_V4995 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t3116 = { let __t3114 = Value::nil(); - let __t3115 = v_V4980.clone(); + let __t3115 = v_V4994.clone(); rt::eq(&__t3114, &__t3115) }; if match rt::is_truthy(interp, &__t3116) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V4981.clone()); + break Ok(v_V4995.clone()); } else { { let __t3113 = { let __t3101 = { - let __t3098 = v_V4980.clone(); + let __t3098 = v_V4994.clone(); rt::is_cons(&__t3098) }; if !rt::is_truthy(interp, &__t3101)? { @@ -6552,7 +6552,7 @@ pub fn aot_shen_x2e_freshen_x2d_type(interp: &mut Interp, args: &[Value]) -> She } else { let __t3102 = { let __t3100 = { - let __t3099 = v_V4980.clone(); + let __t3099 = v_V4994.clone(); rt::hd(&__t3099)? }; rt::is_cons(&__t3100) @@ -6566,29 +6566,29 @@ pub fn aot_shen_x2e_freshen_x2d_type(interp: &mut Interp, args: &[Value]) -> She } { { let __t3104 = { - let __t3103 = v_V4980.clone(); + let __t3103 = v_V4994.clone(); rt::tl(&__t3103)? }; let __t3112 = { let __t3107 = { let __t3106 = { - let __t3105 = v_V4980.clone(); + let __t3105 = v_V4994.clone(); rt::hd(&__t3105)? }; rt::tl(&__t3106)? }; let __t3110 = { let __t3109 = { - let __t3108 = v_V4980.clone(); + let __t3108 = v_V4994.clone(); rt::hd(&__t3108)? }; rt::hd(&__t3109)? }; - let __t3111 = v_V4981.clone(); + let __t3111 = v_V4995.clone(); rt::apply_direct(interp, "subst", &[__t3107, __t3110, __t3111])? }; - v_V4980 = __t3104; - v_V4981 = __t3112; + v_V4994 = __t3104; + v_V4995 = __t3112; continue; } } else { @@ -6627,18 +6627,18 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V4982 = args[0].clone(); + let mut v_V4996 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4983 = { - let v_W4984 = { - let __t3117 = v_V4982.clone(); + let v_W4997 = { + let v_W4998 = { + let __t3117 = v_V4996.clone(); rt::apply_direct(interp, "shen.", &[__t3117])? }; { let __t3130 = { - let __t3118 = v_W4984.clone(); + let __t3118 = v_W4998.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3118])? }; if rt::is_truthy(interp, &__t3130)? { @@ -6647,23 +6647,23 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W4985 = { - let __t3119 = v_W4984.clone(); + let v_W4999 = { + let __t3119 = v_W4998.clone(); rt::apply_direct(interp, "shen.<-out", &[__t3119])? }; { - let v_W4986 = { - let __t3120 = v_W4984.clone(); + let v_W5000 = { + let __t3120 = v_W4998.clone(); rt::apply_direct(interp, "shen.in->", &[__t3120])? }; { - let v_W4987 = { - let __t3121 = v_W4986.clone(); + let v_W5001 = { + let __t3121 = v_W5000.clone(); rt::apply_direct(interp, "shen.", &[__t3121])? }; { let __t3129 = { - let __t3122 = v_W4987.clone(); + let __t3122 = v_W5001.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -6676,8 +6676,8 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W4988 = { - let __t3123 = v_W4987.clone(); + let v_W5002 = { + let __t3123 = v_W5001.clone(); rt::apply_direct( interp, "shen.<-out", @@ -6685,8 +6685,8 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let v_W4989 = { - let __t3124 = v_W4987.clone(); + let v_W5003 = { + let __t3124 = v_W5001.clone(); rt::apply_direct( interp, "shen.in->", @@ -6694,10 +6694,10 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let __t3125 = v_W4989.clone(); + let __t3125 = v_W5003.clone(); let __t3128 = { - let __t3126 = v_W4985.clone(); - let __t3127 = v_W4988.clone(); + let __t3126 = v_W4999.clone(); + let __t3127 = v_W5002.clone(); rt::cons(&__t3126, &__t3127) }; rt::apply_direct( @@ -6718,7 +6718,7 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3132 = { - let __t3131 = v_W4983.clone(); + let __t3131 = v_W4997.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3131])? }; if match rt::is_truthy(interp, &__t3132) { @@ -6726,14 +6726,14 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W4990 = { - let v_W4991 = { - let __t3133 = v_V4982.clone(); + let v_W5004 = { + let v_W5005 = { + let __t3133 = v_V4996.clone(); rt::apply_direct(interp, "shen.", &[__t3133])? }; { let __t3141 = { - let __t3134 = v_W4991.clone(); + let __t3134 = v_W5005.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3134])? }; if rt::is_truthy(interp, &__t3141)? { @@ -6742,19 +6742,19 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W4992 = { - let __t3135 = v_W4991.clone(); + let v_W5006 = { + let __t3135 = v_W5005.clone(); rt::apply_direct(interp, "shen.<-out", &[__t3135])? }; { - let v_W4993 = { - let __t3136 = v_W4991.clone(); + let v_W5007 = { + let __t3136 = v_W5005.clone(); rt::apply_direct(interp, "shen.in->", &[__t3136])? }; { - let __t3137 = v_W4993.clone(); + let __t3137 = v_W5007.clone(); let __t3140 = { - let __t3138 = v_W4992.clone(); + let __t3138 = v_W5006.clone(); let __t3139 = Value::nil(); rt::cons(&__t3138, &__t3139) }; @@ -6771,7 +6771,7 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3143 = { - let __t3142 = v_W4990.clone(); + let __t3142 = v_W5004.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3142])? }; if match rt::is_truthy(interp, &__t3143) { @@ -6780,12 +6780,12 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { - break Ok(v_W4990.clone()); + break Ok(v_W5004.clone()); } } } } else { - break Ok(v_W4983.clone()); + break Ok(v_W4997.clone()); } } } @@ -6806,18 +6806,18 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V4994 = args[0].clone(); + let mut v_V5008 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W4995 = { - let v_W4996 = { - let __t3144 = v_V4994.clone(); + let v_W5009 = { + let v_W5010 = { + let __t3144 = v_V5008.clone(); rt::apply_direct(interp, "shen.", &[__t3144])? }; { let __t3174 = { - let __t3145 = v_W4996.clone(); + let __t3145 = v_W5010.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3145])? }; if rt::is_truthy(interp, &__t3174)? { @@ -6826,36 +6826,36 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W4997 = { - let __t3146 = v_W4996.clone(); + let v_W5011 = { + let __t3146 = v_W5010.clone(); rt::apply_direct(interp, "shen.<-out", &[__t3146])? }; { - let v_W4998 = { - let __t3147 = v_W4996.clone(); + let v_W5012 = { + let __t3147 = v_W5010.clone(); rt::apply_direct(interp, "shen.in->", &[__t3147])? }; { let __t3173 = { - let __t3148 = v_W4998.clone(); + let __t3148 = v_W5012.clone(); let __t3149 = Value::sym(interp.intern("->")); rt::apply_direct(interp, "shen.hds=?", &[__t3148, __t3149])? }; if rt::is_truthy(interp, &__t3173)? { { - let v_W4999 = { - let __t3150 = v_W4998.clone(); + let v_W5013 = { + let __t3150 = v_W5012.clone(); rt::apply_direct(interp, "tail", &[__t3150])? }; { let __t3172 = { - let __t3151 = v_W4999.clone(); + let __t3151 = v_W5013.clone(); rt::is_cons(&__t3151) }; if rt::is_truthy(interp, &__t3172)? { { - let v_W5000 = { - let __t3152 = v_W4999.clone(); + let v_W5014 = { + let __t3152 = v_W5013.clone(); rt::apply_direct( interp, "head", @@ -6863,8 +6863,8 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let v_W5001 = { - let __t3153 = v_W4999.clone(); + let v_W5015 = { + let __t3153 = v_W5013.clone(); rt::apply_direct( interp, "tail", @@ -6873,7 +6873,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3171 = { - let __t3154 = v_W5001.clone(); + let __t3154 = v_W5015.clone(); let __t3155 = Value::sym( interp.intern("where"), ); @@ -6886,9 +6886,9 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> if rt::is_truthy(interp, &__t3171)? { { - let v_W5002 = { + let v_W5016 = { let __t3156 = - v_W5001.clone(); + v_W5015.clone(); rt::apply_direct( interp, "tail", @@ -6898,7 +6898,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> { let __t3170 = { let __t3157 = - v_W5002.clone(); + v_W5016.clone(); rt::is_cons( &__t3157, ) @@ -6907,20 +6907,20 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> interp, &__t3170, )? { { - let v_W5003 = { - let __t3158 = v_W5002.clone(); + let v_W5017 = { + let __t3158 = v_W5016.clone(); rt::apply_direct(interp, "head", &[__t3158])? }; { - let v_W5004 = { - let __t3159 = v_W5002.clone(); + let v_W5018 = { + let __t3159 = v_W5016.clone(); rt::apply_direct(interp, "tail", &[__t3159])? }; { - let __t3160 = v_W5004.clone(); + let __t3160 = v_W5018.clone(); let __t3169 = { - let __t3161 = v_W4997.clone(); - let __t3168 = { let __t3162 = Value::sym(interp.intern("where")); let __t3167 = { let __t3163 = v_W5003.clone(); let __t3166 = { let __t3164 = v_W5000.clone(); let __t3165 = Value::nil(); rt::cons(&__t3164, &__t3165) }; rt::cons(&__t3163, &__t3166) }; rt::cons(&__t3162, &__t3167) }; + let __t3161 = v_W5011.clone(); + let __t3168 = { let __t3162 = Value::sym(interp.intern("where")); let __t3167 = { let __t3163 = v_W5017.clone(); let __t3166 = { let __t3164 = v_W5014.clone(); let __t3165 = Value::nil(); rt::cons(&__t3164, &__t3165) }; rt::cons(&__t3163, &__t3166) }; rt::cons(&__t3162, &__t3167) }; rt::apply_direct(interp, "@p", &[__t3161, __t3168])? }; rt::apply_direct(interp, "shen.comb", &[__t3160, __t3169])? @@ -6970,7 +6970,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3176 = { - let __t3175 = v_W4995.clone(); + let __t3175 = v_W5009.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3175])? }; if match rt::is_truthy(interp, &__t3176) { @@ -6978,14 +6978,14 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W5005 = { - let v_W5006 = { - let __t3177 = v_V4994.clone(); + let v_W5019 = { + let v_W5020 = { + let __t3177 = v_V5008.clone(); rt::apply_direct(interp, "shen.", &[__t3177])? }; { let __t3208 = { - let __t3178 = v_W5006.clone(); + let __t3178 = v_W5020.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3178])? }; if rt::is_truthy(interp, &__t3208)? { @@ -6994,18 +6994,18 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W5007 = { - let __t3179 = v_W5006.clone(); + let v_W5021 = { + let __t3179 = v_W5020.clone(); rt::apply_direct(interp, "shen.<-out", &[__t3179])? }; { - let v_W5008 = { - let __t3180 = v_W5006.clone(); + let v_W5022 = { + let __t3180 = v_W5020.clone(); rt::apply_direct(interp, "shen.in->", &[__t3180])? }; { let __t3207 = { - let __t3181 = v_W5008.clone(); + let __t3181 = v_W5022.clone(); let __t3182 = Value::sym(interp.intern("<-")); rt::apply_direct( interp, @@ -7015,8 +7015,8 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; if rt::is_truthy(interp, &__t3207)? { { - let v_W5009 = { - let __t3183 = v_W5008.clone(); + let v_W5023 = { + let __t3183 = v_W5022.clone(); rt::apply_direct( interp, "tail", @@ -7025,14 +7025,14 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3206 = { - let __t3184 = v_W5009.clone(); + let __t3184 = v_W5023.clone(); rt::is_cons(&__t3184) }; if rt::is_truthy(interp, &__t3206)? { { - let v_W5010 = { + let v_W5024 = { let __t3185 = - v_W5009.clone(); + v_W5023.clone(); rt::apply_direct( interp, "head", @@ -7040,9 +7040,9 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let v_W5011 = { + let v_W5025 = { let __t3186 = - v_W5009.clone(); + v_W5023.clone(); rt::apply_direct( interp, "tail", @@ -7052,7 +7052,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> { let __t3205 = { let __t3187 = - v_W5011.clone(); + v_W5025.clone(); let __t3188 = Value::sym( interp @@ -7073,16 +7073,16 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> interp, &__t3205, )? { { - let v_W5012 = { - let __t3189 = v_W5011.clone(); + let v_W5026 = { + let __t3189 = v_W5025.clone(); rt::apply_direct(interp, "tail", &[__t3189])? }; { let __t3204 = { - let __t3190 = v_W5012.clone(); + let __t3190 = v_W5026.clone(); rt::is_cons(&__t3190) }; - if rt::is_truthy(interp, &__t3204)? { { let v_W5013 = { let __t3191 = v_W5012.clone(); rt::apply_direct(interp, "head", &[__t3191])? }; { let v_W5014 = { let __t3192 = v_W5012.clone(); rt::apply_direct(interp, "tail", &[__t3192])? }; { let __t3193 = v_W5014.clone(); let __t3203 = { let __t3194 = v_W5007.clone(); let __t3202 = { let __t3201 = { let __t3195 = Value::sym(interp.intern("where")); let __t3200 = { let __t3196 = v_W5013.clone(); let __t3199 = { let __t3197 = v_W5010.clone(); let __t3198 = Value::nil(); rt::cons(&__t3197, &__t3198) }; rt::cons(&__t3196, &__t3199) }; rt::cons(&__t3195, &__t3200) }; rt::apply_direct(interp, "shen.correct", &[__t3201])? }; rt::apply_direct(interp, "@p", &[__t3194, __t3202])? }; rt::apply_direct(interp, "shen.comb", &[__t3193, __t3203])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t3204)? { { let v_W5027 = { let __t3191 = v_W5026.clone(); rt::apply_direct(interp, "head", &[__t3191])? }; { let v_W5028 = { let __t3192 = v_W5026.clone(); rt::apply_direct(interp, "tail", &[__t3192])? }; { let __t3193 = v_W5028.clone(); let __t3203 = { let __t3194 = v_W5021.clone(); let __t3202 = { let __t3201 = { let __t3195 = Value::sym(interp.intern("where")); let __t3200 = { let __t3196 = v_W5027.clone(); let __t3199 = { let __t3197 = v_W5024.clone(); let __t3198 = Value::nil(); rt::cons(&__t3197, &__t3198) }; rt::cons(&__t3196, &__t3199) }; rt::cons(&__t3195, &__t3200) }; rt::apply_direct(interp, "shen.correct", &[__t3201])? }; rt::apply_direct(interp, "@p", &[__t3194, __t3202])? }; rt::apply_direct(interp, "shen.comb", &[__t3193, __t3203])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { @@ -7121,7 +7121,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3210 = { - let __t3209 = v_W5005.clone(); + let __t3209 = v_W5019.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t3209])? }; if match rt::is_truthy(interp, &__t3210) { @@ -7129,14 +7129,14 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W5015 = { - let v_W5016 = { - let __t3211 = v_V4994.clone(); + let v_W5029 = { + let v_W5030 = { + let __t3211 = v_V5008.clone(); rt::apply_direct(interp, "shen.", &[__t3211])? }; { let __t3228 = { - let __t3212 = v_W5016.clone(); + let __t3212 = v_W5030.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -7153,8 +7153,8 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W5017 = { - let __t3213 = v_W5016.clone(); + let v_W5031 = { + let __t3213 = v_W5030.clone(); rt::apply_direct( interp, "shen.<-out", @@ -7162,8 +7162,8 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let v_W5018 = { - let __t3214 = v_W5016.clone(); + let v_W5032 = { + let __t3214 = v_W5030.clone(); rt::apply_direct( interp, "shen.in->", @@ -7172,7 +7172,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3227 = { - let __t3215 = v_W5018.clone(); + let __t3215 = v_W5032.clone(); let __t3216 = Value::sym(interp.intern("<-")); rt::apply_direct( @@ -7183,9 +7183,9 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; if rt::is_truthy(interp, &__t3227)? { { - let v_W5019 = { + let v_W5033 = { let __t3217 = - v_W5018.clone(); + v_W5032.clone(); rt::apply_direct( interp, "tail", @@ -7195,31 +7195,31 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> { let __t3226 = { let __t3218 = - v_W5019.clone(); + v_W5033.clone(); rt::is_cons(&__t3218) }; if rt::is_truthy( interp, &__t3226, )? { { - let v_W5020 = { + let v_W5034 = { let __t3219 = - v_W5019 + v_W5033 .clone( ); rt::apply_direct(interp, "head", &[__t3219])? }; { - let v_W5021 = { - let __t3220 = v_W5019.clone(); + let v_W5035 = { + let __t3220 = v_W5033.clone(); rt::apply_direct(interp, "tail", &[__t3220])? }; { - let __t3221 = v_W5021.clone(); + let __t3221 = v_W5035.clone(); let __t3225 = { - let __t3222 = v_W5017.clone(); + let __t3222 = v_W5031.clone(); let __t3224 = { - let __t3223 = v_W5020.clone(); + let __t3223 = v_W5034.clone(); rt::apply_direct(interp, "shen.correct", &[__t3223])? }; rt::apply_direct(interp, "@p", &[__t3222, __t3224])? @@ -7252,7 +7252,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3230 = { - let __t3229 = v_W5015.clone(); + let __t3229 = v_W5029.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -7264,9 +7264,9 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W5022 = { - let v_W5023 = { - let __t3231 = v_V4994.clone(); + let v_W5036 = { + let v_W5037 = { + let __t3231 = v_V5008.clone(); rt::apply_direct( interp, "shen.", @@ -7275,7 +7275,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3247 = { - let __t3232 = v_W5023.clone(); + let __t3232 = v_W5037.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -7292,8 +7292,8 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - let v_W5024 = { - let __t3233 = v_W5023.clone(); + let v_W5038 = { + let __t3233 = v_W5037.clone(); rt::apply_direct( interp, "shen.<-out", @@ -7301,9 +7301,9 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> )? }; { - let v_W5025 = { + let v_W5039 = { let __t3234 = - v_W5023.clone(); + v_W5037.clone(); rt::apply_direct( interp, "shen.in->", @@ -7313,7 +7313,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> { let __t3246 = { let __t3235 = - v_W5025.clone(); + v_W5039.clone(); let __t3236 = Value::sym( interp.intern( @@ -7330,19 +7330,19 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> interp, &__t3246, )? { { - let v_W5026 = { + let v_W5040 = { let __t3237 = - v_W5025 + v_W5039 .clone( ); rt::apply_direct(interp, "tail", &[__t3237])? }; { let __t3245 = { - let __t3238 = v_W5026.clone(); + let __t3238 = v_W5040.clone(); rt::is_cons(&__t3238) }; - if rt::is_truthy(interp, &__t3245)? { { let v_W5027 = { let __t3239 = v_W5026.clone(); rt::apply_direct(interp, "head", &[__t3239])? }; { let v_W5028 = { let __t3240 = v_W5026.clone(); rt::apply_direct(interp, "tail", &[__t3240])? }; { let __t3241 = v_W5028.clone(); let __t3244 = { let __t3242 = v_W5024.clone(); let __t3243 = v_W5027.clone(); rt::apply_direct(interp, "@p", &[__t3242, __t3243])? }; rt::apply_direct(interp, "shen.comb", &[__t3241, __t3244])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t3245)? { { let v_W5041 = { let __t3239 = v_W5040.clone(); rt::apply_direct(interp, "head", &[__t3239])? }; { let v_W5042 = { let __t3240 = v_W5040.clone(); rt::apply_direct(interp, "tail", &[__t3240])? }; { let __t3241 = v_W5042.clone(); let __t3244 = { let __t3242 = v_W5038.clone(); let __t3243 = v_W5041.clone(); rt::apply_direct(interp, "@p", &[__t3242, __t3243])? }; rt::apply_direct(interp, "shen.comb", &[__t3241, __t3244])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { @@ -7358,7 +7358,7 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> }; { let __t3249 = { - let __t3248 = v_W5022.clone(); + let __t3248 = v_W5036.clone(); rt::apply_direct( interp, "shen.parse-failure?", @@ -7377,22 +7377,22 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> )? }); } else { - break Ok(v_W5022.clone()); + break Ok(v_W5036.clone()); } } } } else { - break Ok(v_W5015.clone()); + break Ok(v_W5029.clone()); } } } } else { - break Ok(v_W5005.clone()); + break Ok(v_W5019.clone()); } } } } else { - break Ok(v_W4995.clone()); + break Ok(v_W5009.clone()); } } } @@ -7413,13 +7413,13 @@ pub fn aot_shen_x2e_correct(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult ShenResult She ))); } #[allow(unused_mut)] - let mut v_V5030 = args[0].clone(); + let mut v_V5044 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5031 = args[1].clone(); + let mut v_V5045 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5032 = args[2].clone(); + let mut v_V5046 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5033 = args[3].clone(); + let mut v_V5047 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5034 = args[4].clone(); + let mut v_V5048 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5035 = args[5].clone(); + let mut v_V5049 = args[5].clone(); #[allow(unused_mut)] - let mut v_V5036 = args[6].clone(); + let mut v_V5050 = args[6].clone(); #[allow(unused_mut)] - let mut v_V5037 = args[7].clone(); + let mut v_V5051 = args[7].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5038 = { - let __t3442 = v_V5036.clone(); + let v_W5052 = { + let __t3442 = v_V5050.clone(); let __t3443 = Value::int(1i64); rt::add(&__t3442, &__t3443)? }; { - let v_W5039 = { + let v_W5053 = { let __t3450 = { - let __t3444 = v_V5035.clone(); + let __t3444 = v_V5049.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3444])? }; if rt::is_truthy(interp, &__t3450)? { { - let v_W5040 = { - let __t3445 = v_V5031.clone(); - let __t3446 = v_V5034.clone(); + let v_W5054 = { + let __t3445 = v_V5045.clone(); + let __t3446 = v_V5048.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3445, __t3446])? }; { let __t3449 = { - let __t3447 = v_W5040.clone(); + let __t3447 = v_W5054.clone(); let __t3448 = Value::nil(); rt::eq(&__t3447, &__t3448) }; if rt::is_truthy(interp, &__t3449)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; - rt::apply_value(interp, v_V5037.clone(), &[])? + rt::apply_value(interp, v_V5051.clone(), &[])? } } else { Value::bool(false) @@ -8082,7 +8082,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She }; { let __t3453 = { - let __t3451 = v_W5039.clone(); + let __t3451 = v_W5053.clone(); let __t3452 = Value::bool(false); rt::eq(&__t3451, &__t3452) }; @@ -8091,16 +8091,16 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W5041 = { + let v_W5055 = { let __t3502 = { - let __t3454 = v_V5035.clone(); + let __t3454 = v_V5049.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3454])? }; if rt::is_truthy(interp, &__t3502)? { { - let v_W5042 = { - let __t3455 = v_V5031.clone(); - let __t3456 = v_V5034.clone(); + let v_W5056 = { + let __t3455 = v_V5045.clone(); + let __t3456 = v_V5048.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -8109,23 +8109,23 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She }; { let __t3501 = { - let __t3457 = v_W5042.clone(); + let __t3457 = v_W5056.clone(); rt::is_cons(&__t3457) }; if rt::is_truthy(interp, &__t3501)? { { - let v_W5043 = { - let __t3458 = v_W5042.clone(); + let v_W5057 = { + let __t3458 = v_W5056.clone(); rt::hd(&__t3458)? }; { - let v_W5044 = { - let __t3459 = v_W5042.clone(); + let v_W5058 = { + let __t3459 = v_W5056.clone(); rt::tl(&__t3459)? }; { - let v_W5045 = { - let __t3460 = v_V5034.clone(); + let v_W5059 = { + let __t3460 = v_V5048.clone(); rt::apply_direct( interp, "shen.newpv", @@ -8133,7 +8133,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She )? }; { - let __t3461 = v_V5034.clone(); + let __t3461 = v_V5048.clone(); let __t3500 = { let _ = { rt::apply_direct( @@ -8144,13 +8144,13 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She }; { let __t3462 = - v_W5045.clone(); + v_W5059.clone(); let __t3466 = { let __t3465 = { let __t3463 = - v_W5043.clone(); + v_W5057.clone(); let __t3464 = - v_V5034.clone(); + v_V5048.clone(); rt::apply_direct( interp, "shen.deref", @@ -8167,31 +8167,31 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She )? }; let __t3467 = - v_V5034.clone(); + v_V5048.clone(); let __t3468 = - v_V5035.clone(); + v_V5049.clone(); let __t3469 = - v_W5038.clone(); + v_W5052.clone(); let __t3499 = { - let v_V5030 = - v_V5030.clone(); - let v_V5032 = - v_V5032.clone(); - let v_V5033 = - v_V5033.clone(); - let v_V5034 = - v_V5034.clone(); - let v_V5035 = - v_V5035.clone(); - let v_V5037 = - v_V5037.clone(); - let v_W5038 = - v_W5038.clone(); - let v_W5044 = - v_W5044.clone(); - let v_W5045 = - v_W5045.clone(); - rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3470 = v_V5030.clone(); let __t3471 = v_V5033.clone(); let __t3475 = { let __t3474 = { let __t3472 = v_W5045.clone(); let __t3473 = v_V5034.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3472, __t3473])? }; rt::apply_direct(interp, "fst", &[__t3474])? }; let __t3479 = { let __t3478 = { let __t3476 = v_W5045.clone(); let __t3477 = v_V5034.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3476, __t3477])? }; rt::apply_direct(interp, "snd", &[__t3478])? }; let __t3480 = v_V5032.clone(); let __t3481 = v_V5034.clone(); let __t3482 = v_V5035.clone(); let __t3483 = v_W5038.clone(); let __t3498 = { let v_V5030 = v_V5030.clone(); let v_V5032 = v_V5032.clone(); let v_V5033 = v_V5033.clone(); let v_V5034 = v_V5034.clone(); let v_V5035 = v_V5035.clone(); let v_V5037 = v_V5037.clone(); let v_W5038 = v_W5038.clone(); let v_W5044 = v_W5044.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3484 = v_V5034.clone(); let __t3485 = v_V5035.clone(); let __t3486 = v_W5038.clone(); let __t3497 = { let v_V5030 = v_V5030.clone(); let v_V5032 = v_V5032.clone(); let v_V5033 = v_V5033.clone(); let v_V5034 = v_V5034.clone(); let v_V5035 = v_V5035.clone(); let v_V5037 = v_V5037.clone(); let v_W5038 = v_W5038.clone(); let v_W5044 = v_W5044.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3487 = v_V5030.clone(); let __t3488 = v_W5044.clone(); let __t3489 = v_V5032.clone(); let __t3492 = { let __t3490 = v_V5033.clone(); let __t3491 = Value::int(1i64); rt::add(&__t3490, &__t3491)? }; let __t3493 = v_V5034.clone(); let __t3494 = v_V5035.clone(); let __t3495 = v_W5038.clone(); let __t3496 = v_V5037.clone(); rt::apply_direct(interp, "shen.t*-rules", &[__t3487, __t3488, __t3489, __t3492, __t3493, __t3494, __t3495, __t3496])? }), vec![v_V5030, v_V5032, v_V5033, v_V5034, v_V5035, v_V5037, v_W5038, v_W5044], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3484, __t3485, __t3486, __t3497])? }), vec![v_V5030, v_V5032, v_V5033, v_V5034, v_V5035, v_V5037, v_W5038, v_W5044], interp) }; rt::apply_direct(interp, "shen.t*-rule", &[__t3470, __t3471, __t3475, __t3479, __t3480, __t3481, __t3482, __t3483, __t3498])? }), vec![v_V5030, v_V5032, v_V5033, v_V5034, v_V5035, v_V5037, v_W5038, v_W5044, v_W5045], interp) + let v_V5044 = + v_V5044.clone(); + let v_V5046 = + v_V5046.clone(); + let v_V5047 = + v_V5047.clone(); + let v_V5048 = + v_V5048.clone(); + let v_V5049 = + v_V5049.clone(); + let v_V5051 = + v_V5051.clone(); + let v_W5052 = + v_W5052.clone(); + let v_W5058 = + v_W5058.clone(); + let v_W5059 = + v_W5059.clone(); + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3470 = v_V5044.clone(); let __t3471 = v_V5047.clone(); let __t3475 = { let __t3474 = { let __t3472 = v_W5059.clone(); let __t3473 = v_V5048.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3472, __t3473])? }; rt::apply_direct(interp, "fst", &[__t3474])? }; let __t3479 = { let __t3478 = { let __t3476 = v_W5059.clone(); let __t3477 = v_V5048.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3476, __t3477])? }; rt::apply_direct(interp, "snd", &[__t3478])? }; let __t3480 = v_V5046.clone(); let __t3481 = v_V5048.clone(); let __t3482 = v_V5049.clone(); let __t3483 = v_W5052.clone(); let __t3498 = { let v_V5044 = v_V5044.clone(); let v_V5046 = v_V5046.clone(); let v_V5047 = v_V5047.clone(); let v_V5048 = v_V5048.clone(); let v_V5049 = v_V5049.clone(); let v_V5051 = v_V5051.clone(); let v_W5052 = v_W5052.clone(); let v_W5058 = v_W5058.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3484 = v_V5048.clone(); let __t3485 = v_V5049.clone(); let __t3486 = v_W5052.clone(); let __t3497 = { let v_V5044 = v_V5044.clone(); let v_V5046 = v_V5046.clone(); let v_V5047 = v_V5047.clone(); let v_V5048 = v_V5048.clone(); let v_V5049 = v_V5049.clone(); let v_V5051 = v_V5051.clone(); let v_W5052 = v_W5052.clone(); let v_W5058 = v_W5058.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3487 = v_V5044.clone(); let __t3488 = v_W5058.clone(); let __t3489 = v_V5046.clone(); let __t3492 = { let __t3490 = v_V5047.clone(); let __t3491 = Value::int(1i64); rt::add(&__t3490, &__t3491)? }; let __t3493 = v_V5048.clone(); let __t3494 = v_V5049.clone(); let __t3495 = v_W5052.clone(); let __t3496 = v_V5051.clone(); rt::apply_direct(interp, "shen.t*-rules", &[__t3487, __t3488, __t3489, __t3492, __t3493, __t3494, __t3495, __t3496])? }), vec![v_V5044, v_V5046, v_V5047, v_V5048, v_V5049, v_V5051, v_W5052, v_W5058], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3484, __t3485, __t3486, __t3497])? }), vec![v_V5044, v_V5046, v_V5047, v_V5048, v_V5049, v_V5051, v_W5052, v_W5058], interp) }; rt::apply_direct(interp, "shen.t*-rule", &[__t3470, __t3471, __t3475, __t3479, __t3480, __t3481, __t3482, __t3483, __t3498])? }), vec![v_V5044, v_V5046, v_V5047, v_V5048, v_V5049, v_V5051, v_W5052, v_W5058, v_W5059], interp) }; rt::apply_direct( interp, @@ -8224,7 +8224,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She }; { let __t3505 = { - let __t3503 = v_W5041.clone(); + let __t3503 = v_W5055.clone(); let __t3504 = Value::bool(false); rt::eq(&__t3503, &__t3504) }; @@ -8233,8 +8233,8 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t3506 = v_V5035.clone(); - let __t3507 = v_W5038.clone(); + let __t3506 = v_V5049.clone(); + let __t3507 = v_W5052.clone(); rt::apply_direct( interp, "shen.unlock", @@ -8242,12 +8242,12 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She )? }); } else { - break Ok(v_W5041.clone()); + break Ok(v_W5055.clone()); } } } } else { - break Ok(v_W5039.clone()); + break Ok(v_W5053.clone()); } } } @@ -8269,12 +8269,12 @@ pub fn aot_shen_x2e_freshen_x2d_rule(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5046 = args[0].clone(); + let mut v_V5060 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t3526 = { - let __t3510 = v_V5046.clone(); + let __t3510 = v_V5060.clone(); rt::apply_direct(interp, "tuple?", &[__t3510])? }; if match rt::is_truthy(interp, &__t3526) { @@ -8282,25 +8282,25 @@ pub fn aot_shen_x2e_freshen_x2d_rule(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W5047 = { + let v_W5061 = { let __t3512 = { - let __t3511 = v_V5046.clone(); + let __t3511 = v_V5060.clone(); rt::apply_direct(interp, "fst", &[__t3511])? }; rt::apply_direct(interp, "shen.extract-vars", &[__t3512])? }; { - let v_W5048 = { + let v_W5062 = { let __t3516 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5049 = args[0].clone(); + let v_Z5063 = args[0].clone(); Ok({ - let __t3513 = v_Z5049.clone(); + let __t3513 = v_Z5063.clone(); let __t3515 = { - let __t3514 = v_Z5049.clone(); + let __t3514 = v_Z5063.clone(); rt::apply_direct( interp, "shen.freshterm", @@ -8314,22 +8314,22 @@ pub fn aot_shen_x2e_freshen_x2d_rule(interp: &mut Interp, args: &[Value]) -> She interp, ) }; - let __t3517 = v_W5047.clone(); + let __t3517 = v_W5061.clone(); rt::apply_direct(interp, "map", &[__t3516, __t3517])? }; break Ok({ let __t3521 = { - let __t3518 = v_W5048.clone(); + let __t3518 = v_W5062.clone(); let __t3520 = { - let __t3519 = v_V5046.clone(); + let __t3519 = v_V5060.clone(); rt::apply_direct(interp, "fst", &[__t3519])? }; rt::apply_direct(interp, "shen.freshen", &[__t3518, __t3520])? }; let __t3525 = { - let __t3522 = v_W5048.clone(); + let __t3522 = v_W5062.clone(); let __t3524 = { - let __t3523 = v_V5046.clone(); + let __t3523 = v_V5060.clone(); rt::apply_direct(interp, "snd", &[__t3523])? }; rt::apply_direct(interp, "shen.freshen", &[__t3522, __t3524])? @@ -8372,27 +8372,27 @@ pub fn aot_shen_x2e_freshen(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { - break Ok(v_V5051.clone()); + break Ok(v_V5065.clone()); } else { { let __t3544 = { let __t3532 = { - let __t3529 = v_V5050.clone(); + let __t3529 = v_V5064.clone(); rt::is_cons(&__t3529) }; if !rt::is_truthy(interp, &__t3532)? { @@ -8400,7 +8400,7 @@ pub fn aot_shen_x2e_freshen(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult Shen ))); } #[allow(unused_mut)] - let mut v_V5052 = args[0].clone(); + let mut v_V5066 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5053 = args[1].clone(); + let mut v_V5067 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5054 = args[2].clone(); + let mut v_V5068 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5055 = args[3].clone(); + let mut v_V5069 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5056 = args[4].clone(); + let mut v_V5070 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5057 = args[5].clone(); + let mut v_V5071 = args[5].clone(); #[allow(unused_mut)] - let mut v_V5058 = args[6].clone(); + let mut v_V5072 = args[6].clone(); #[allow(unused_mut)] - let mut v_V5059 = args[7].clone(); + let mut v_V5073 = args[7].clone(); #[allow(unused_mut)] - let mut v_V5060 = args[8].clone(); + let mut v_V5074 = args[8].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5061 = { + let v_W5075 = { let __t3556 = { - let __t3548 = v_V5058.clone(); + let __t3548 = v_V5072.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3548])? }; if rt::is_truthy(interp, &__t3556)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t3549 = v_V5054.clone(); - let __t3550 = v_V5055.clone(); - let __t3551 = v_V5056.clone(); - let __t3552 = v_V5057.clone(); - let __t3553 = v_V5058.clone(); - let __t3554 = v_V5059.clone(); - let __t3555 = v_V5060.clone(); + let __t3549 = v_V5068.clone(); + let __t3550 = v_V5069.clone(); + let __t3551 = v_V5070.clone(); + let __t3552 = v_V5071.clone(); + let __t3553 = v_V5072.clone(); + let __t3554 = v_V5073.clone(); + let __t3555 = v_V5074.clone(); rt::apply_direct( interp, "shen.t*-rule-h", @@ -8526,7 +8526,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t3559 = { - let __t3557 = v_W5061.clone(); + let __t3557 = v_W5075.clone(); let __t3558 = Value::bool(false); rt::eq(&__t3557, &__t3558) }; @@ -8536,7 +8536,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule(interp: &mut Interp, args: &[Value]) -> Shen } { { let __t3561 = { - let __t3560 = v_V5058.clone(); + let __t3560 = v_V5072.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3560])? }; if match rt::is_truthy(interp, &__t3561) { @@ -8544,25 +8544,25 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W5062 = { - let __t3562 = v_V5057.clone(); + let v_W5076 = { + let __t3562 = v_V5071.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3562])? }; break Ok({ - let __t3563 = v_V5057.clone(); + let __t3563 = v_V5071.clone(); let __t3581 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t3564 = v_W5062.clone(); + let __t3564 = v_W5076.clone(); let __t3576 = { let __t3575 = { let __t3565 = Value::str("type error in rule "); let __t3574 = { - let __t3566 = v_V5053.clone(); + let __t3566 = v_V5067.clone(); let __t3572 = { let __t3567 = Value::str(" of "); let __t3571 = { - let __t3568 = v_V5052.clone(); + let __t3568 = v_V5066.clone(); let __t3569 = Value::str("\n"); let __t3570 = Value::sym( interp.intern("shen.a"), @@ -8599,10 +8599,10 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule(interp: &mut Interp, args: &[Value]) -> Shen &[__t3575], )? }; - let __t3577 = v_V5057.clone(); - let __t3578 = v_V5058.clone(); - let __t3579 = v_V5059.clone(); - let __t3580 = v_V5060.clone(); + let __t3577 = v_V5071.clone(); + let __t3578 = v_V5072.clone(); + let __t3579 = v_V5073.clone(); + let __t3580 = v_V5074.clone(); rt::apply_direct( interp, "bind", @@ -8621,7 +8621,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule(interp: &mut Interp, args: &[Value]) -> Shen } } } else { - break Ok(v_W5061.clone()); + break Ok(v_W5075.clone()); } } } @@ -8645,51 +8645,51 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( ))); } #[allow(unused_mut)] - let mut v_V5063 = args[0].clone(); + let mut v_V5077 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5064 = args[1].clone(); + let mut v_V5078 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5065 = args[2].clone(); + let mut v_V5079 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5066 = args[3].clone(); + let mut v_V5080 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5067 = args[4].clone(); + let mut v_V5081 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5068 = args[5].clone(); + let mut v_V5082 = args[5].clone(); #[allow(unused_mut)] - let mut v_V5069 = args[6].clone(); + let mut v_V5083 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5070 = { - let __t3582 = v_V5068.clone(); + let v_W5084 = { + let __t3582 = v_V5082.clone(); let __t3583 = Value::int(1i64); rt::add(&__t3582, &__t3583)? }; { - let v_W5071 = { + let v_W5085 = { let __t3623 = { - let __t3584 = v_V5067.clone(); + let __t3584 = v_V5081.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3584])? }; if rt::is_truthy(interp, &__t3623)? { { - let v_W5072 = { - let __t3585 = v_V5063.clone(); - let __t3586 = v_V5066.clone(); + let v_W5086 = { + let __t3585 = v_V5077.clone(); + let __t3586 = v_V5080.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3585, __t3586])? }; { let __t3622 = { - let __t3587 = v_W5072.clone(); + let __t3587 = v_W5086.clone(); let __t3588 = Value::nil(); rt::eq(&__t3587, &__t3588) }; if rt::is_truthy(interp, &__t3622)? { { - let v_W5073 = { - let __t3589 = v_V5065.clone(); - let __t3590 = v_V5066.clone(); + let v_W5087 = { + let __t3589 = v_V5079.clone(); + let __t3590 = v_V5080.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -8698,17 +8698,17 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( }; { let __t3621 = { - let __t3591 = v_W5073.clone(); + let __t3591 = v_W5087.clone(); rt::is_cons(&__t3591) }; if rt::is_truthy(interp, &__t3621)? { { - let v_W5074 = { + let v_W5088 = { let __t3593 = { - let __t3592 = v_W5073.clone(); + let __t3592 = v_W5087.clone(); rt::hd(&__t3592)? }; - let __t3594 = v_V5066.clone(); + let __t3594 = v_V5080.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -8717,20 +8717,20 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( }; { let __t3620 = { - let __t3595 = v_W5074.clone(); + let __t3595 = v_W5088.clone(); let __t3596 = Value::sym(interp.intern("-->")); rt::eq(&__t3595, &__t3596) }; if rt::is_truthy(interp, &__t3620)? { { - let v_W5075 = { + let v_W5089 = { let __t3598 = { let __t3597 = - v_W5073.clone(); + v_W5087.clone(); rt::tl(&__t3597)? }; - let __t3599 = v_V5066.clone(); + let __t3599 = v_V5080.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -8740,37 +8740,37 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( { let __t3619 = { let __t3600 = - v_W5075.clone(); + v_W5089.clone(); rt::is_cons(&__t3600) }; if rt::is_truthy( interp, &__t3619, )? { { - let v_W5076 = { + let v_W5090 = { let __t3601 = - v_W5075.clone(); + v_W5089.clone(); rt::hd(&__t3601)? }; { - let v_W5077 = { + let v_W5091 = { let __t3603 = { - let __t3602 = v_W5075.clone(); + let __t3602 = v_W5089.clone(); rt::tl(&__t3602)? }; let __t3604 = - v_V5066 + v_V5080 .clone( ); rt::apply_direct(interp, "shen.lazyderef", &[__t3603, __t3604])? }; { let __t3618 = { - let __t3605 = v_W5077.clone(); + let __t3605 = v_W5091.clone(); let __t3606 = Value::nil(); rt::eq(&__t3605, &__t3606) }; - if rt::is_truthy(interp, &__t3618)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3607 = v_V5066.clone(); let __t3608 = v_V5067.clone(); let __t3609 = v_W5070.clone(); let __t3617 = { let v_V5064 = v_V5064.clone(); let v_V5066 = v_V5066.clone(); let v_V5067 = v_V5067.clone(); let v_V5069 = v_V5069.clone(); let v_W5070 = v_W5070.clone(); let v_W5076 = v_W5076.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3610 = v_V5064.clone(); let __t3611 = v_W5076.clone(); let __t3612 = Value::nil(); let __t3613 = v_V5066.clone(); let __t3614 = v_V5067.clone(); let __t3615 = v_W5070.clone(); let __t3616 = v_V5069.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t3610, __t3611, __t3612, __t3613, __t3614, __t3615, __t3616])? }), vec![v_V5064, v_V5066, v_V5067, v_V5069, v_W5070, v_W5076], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3607, __t3608, __t3609, __t3617])? } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t3618)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3607 = v_V5080.clone(); let __t3608 = v_V5081.clone(); let __t3609 = v_W5084.clone(); let __t3617 = { let v_V5078 = v_V5078.clone(); let v_V5080 = v_V5080.clone(); let v_V5081 = v_V5081.clone(); let v_V5083 = v_V5083.clone(); let v_W5084 = v_W5084.clone(); let v_W5090 = v_W5090.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3610 = v_V5078.clone(); let __t3611 = v_W5090.clone(); let __t3612 = Value::nil(); let __t3613 = v_V5080.clone(); let __t3614 = v_V5081.clone(); let __t3615 = v_W5084.clone(); let __t3616 = v_V5083.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t3610, __t3611, __t3612, __t3613, __t3614, __t3615, __t3616])? }), vec![v_V5078, v_V5080, v_V5081, v_V5083, v_W5084, v_W5090], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3607, __t3608, __t3609, __t3617])? } } } else { Value::bool(false) } } } } @@ -8800,7 +8800,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( }; { let __t3626 = { - let __t3624 = v_W5071.clone(); + let __t3624 = v_W5085.clone(); let __t3625 = Value::bool(false); rt::eq(&__t3624, &__t3625) }; @@ -8809,22 +8809,22 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( Err(e) => break Err(e), } { { - let v_W5078 = { + let v_W5092 = { let __t3670 = { - let __t3627 = v_V5067.clone(); + let __t3627 = v_V5081.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3627])? }; if rt::is_truthy(interp, &__t3670)? { { - let v_W5079 = { - let __t3628 = v_V5066.clone(); + let v_W5093 = { + let __t3628 = v_V5080.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3628])? }; { - let __t3629 = v_V5066.clone(); + let __t3629 = v_V5080.clone(); let __t3669 = { - let v_W5080 = { - let __t3630 = v_V5066.clone(); + let v_W5094 = { + let __t3630 = v_V5080.clone(); rt::apply_direct( interp, "shen.newpv", @@ -8832,10 +8832,10 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( )? }; { - let __t3631 = v_V5066.clone(); + let __t3631 = v_V5080.clone(); let __t3668 = { - let v_W5081 = { - let __t3632 = v_V5066.clone(); + let v_W5095 = { + let __t3632 = v_V5080.clone(); rt::apply_direct( interp, "shen.newpv", @@ -8843,7 +8843,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( )? }; { - let __t3633 = v_V5066.clone(); + let __t3633 = v_V5080.clone(); let __t3667 = { let _ = { rt::apply_direct( @@ -8855,92 +8855,92 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( { let __t3635 = { let __t3634 = - v_V5063.clone(); + v_V5077.clone(); rt::apply_direct( interp, "shen.freshterms", &[__t3634], )? }; - let __t3636 = v_W5079.clone(); - let __t3637 = v_V5066.clone(); - let __t3638 = v_V5067.clone(); - let __t3639 = v_W5070.clone(); + let __t3636 = v_W5093.clone(); + let __t3637 = v_V5080.clone(); + let __t3638 = v_V5081.clone(); + let __t3639 = v_W5084.clone(); let __t3666 = { - let v_V5063 = - v_V5063.clone(); - let v_V5064 = - v_V5064.clone(); - let v_V5065 = - v_V5065.clone(); - let v_V5066 = - v_V5066.clone(); - let v_V5067 = - v_V5067.clone(); - let v_V5069 = - v_V5069.clone(); - let v_W5070 = - v_W5070.clone(); - let v_W5079 = - v_W5079.clone(); - let v_W5080 = - v_W5080.clone(); - let v_W5081 = - v_W5081.clone(); + let v_V5077 = + v_V5077.clone(); + let v_V5078 = + v_V5078.clone(); + let v_V5079 = + v_V5079.clone(); + let v_V5080 = + v_V5080.clone(); + let v_V5081 = + v_V5081.clone(); + let v_V5083 = + v_V5083.clone(); + let v_W5084 = + v_W5084.clone(); + let v_W5093 = + v_W5093.clone(); + let v_W5094 = + v_W5094.clone(); + let v_W5095 = + v_W5095.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ let __t3640 = - v_V5063 + v_V5077 .clone( ); let __t3641 = - v_V5065 + v_V5079 .clone( ); let __t3642 = - v_W5079 + v_W5093 .clone( ); let __t3643 = - v_W5080 + v_W5094 .clone( ); let __t3644 = - v_V5066 + v_V5080 .clone( ); let __t3645 = - v_V5067 + v_V5081 .clone( ); let __t3646 = - v_W5070 + v_W5084 .clone( ); let __t3665 = { - let v_V5063 = v_V5063.clone(); - let v_V5064 = v_V5064.clone(); - let v_V5065 = v_V5065.clone(); - let v_V5066 = v_V5066.clone(); - let v_V5067 = v_V5067.clone(); - let v_V5069 = v_V5069.clone(); - let v_W5070 = v_W5070.clone(); - let v_W5080 = v_W5080.clone(); - let v_W5081 = v_W5081.clone(); - rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3647 = v_V5066.clone(); let __t3648 = v_V5067.clone(); let __t3649 = v_W5070.clone(); let __t3664 = { let v_V5063 = v_V5063.clone(); let v_V5064 = v_V5064.clone(); let v_V5065 = v_V5065.clone(); let v_V5066 = v_V5066.clone(); let v_V5067 = v_V5067.clone(); let v_V5069 = v_V5069.clone(); let v_W5070 = v_W5070.clone(); let v_W5080 = v_W5080.clone(); let v_W5081 = v_W5081.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3650 = v_V5063.clone(); let __t3651 = v_V5065.clone(); let __t3652 = v_W5081.clone(); let __t3653 = v_V5066.clone(); let __t3654 = v_V5067.clone(); let __t3655 = v_W5070.clone(); let __t3663 = { let v_V5064 = v_V5064.clone(); let v_V5066 = v_V5066.clone(); let v_V5067 = v_V5067.clone(); let v_V5069 = v_V5069.clone(); let v_W5070 = v_W5070.clone(); let v_W5080 = v_W5080.clone(); let v_W5081 = v_W5081.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3656 = v_V5064.clone(); let __t3657 = v_W5080.clone(); let __t3658 = v_W5081.clone(); let __t3659 = v_V5066.clone(); let __t3660 = v_V5067.clone(); let __t3661 = v_W5070.clone(); let __t3662 = v_V5069.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t3656, __t3657, __t3658, __t3659, __t3660, __t3661, __t3662])? }), vec![v_V5064, v_V5066, v_V5067, v_V5069, v_W5070, v_W5080, v_W5081], interp) }; rt::apply_direct(interp, "shen.myassume", &[__t3650, __t3651, __t3652, __t3653, __t3654, __t3655, __t3663])? }), vec![v_V5063, v_V5064, v_V5065, v_V5066, v_V5067, v_V5069, v_W5070, v_W5080, v_W5081], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3647, __t3648, __t3649, __t3664])? }), vec![v_V5063, v_V5064, v_V5065, v_V5066, v_V5067, v_V5069, v_W5070, v_W5080, v_W5081], interp) + let v_V5077 = v_V5077.clone(); + let v_V5078 = v_V5078.clone(); + let v_V5079 = v_V5079.clone(); + let v_V5080 = v_V5080.clone(); + let v_V5081 = v_V5081.clone(); + let v_V5083 = v_V5083.clone(); + let v_W5084 = v_W5084.clone(); + let v_W5094 = v_W5094.clone(); + let v_W5095 = v_W5095.clone(); + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3647 = v_V5080.clone(); let __t3648 = v_V5081.clone(); let __t3649 = v_W5084.clone(); let __t3664 = { let v_V5077 = v_V5077.clone(); let v_V5078 = v_V5078.clone(); let v_V5079 = v_V5079.clone(); let v_V5080 = v_V5080.clone(); let v_V5081 = v_V5081.clone(); let v_V5083 = v_V5083.clone(); let v_W5084 = v_W5084.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3650 = v_V5077.clone(); let __t3651 = v_V5079.clone(); let __t3652 = v_W5095.clone(); let __t3653 = v_V5080.clone(); let __t3654 = v_V5081.clone(); let __t3655 = v_W5084.clone(); let __t3663 = { let v_V5078 = v_V5078.clone(); let v_V5080 = v_V5080.clone(); let v_V5081 = v_V5081.clone(); let v_V5083 = v_V5083.clone(); let v_W5084 = v_W5084.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3656 = v_V5078.clone(); let __t3657 = v_W5094.clone(); let __t3658 = v_W5095.clone(); let __t3659 = v_V5080.clone(); let __t3660 = v_V5081.clone(); let __t3661 = v_W5084.clone(); let __t3662 = v_V5083.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t3656, __t3657, __t3658, __t3659, __t3660, __t3661, __t3662])? }), vec![v_V5078, v_V5080, v_V5081, v_V5083, v_W5084, v_W5094, v_W5095], interp) }; rt::apply_direct(interp, "shen.myassume", &[__t3650, __t3651, __t3652, __t3653, __t3654, __t3655, __t3663])? }), vec![v_V5077, v_V5078, v_V5079, v_V5080, v_V5081, v_V5083, v_W5084, v_W5094, v_W5095], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3647, __t3648, __t3649, __t3664])? }), vec![v_V5077, v_V5078, v_V5079, v_V5080, v_V5081, v_V5083, v_W5084, v_W5094, v_W5095], interp) }; rt::apply_direct(interp, "shen.t*-integrity", &[__t3640, __t3641, __t3642, __t3643, __t3644, __t3645, __t3646, __t3665])? }) }, vec![ - v_V5063, v_V5064, - v_V5065, v_V5066, - v_V5067, v_V5069, - v_W5070, v_W5079, - v_W5080, v_W5081, + v_V5077, v_V5078, + v_V5079, v_V5080, + v_V5081, v_V5083, + v_W5084, v_W5093, + v_W5094, v_W5095, ], interp, ) @@ -8983,7 +8983,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( }; { let __t3673 = { - let __t3671 = v_W5078.clone(); + let __t3671 = v_W5092.clone(); let __t3672 = Value::bool(false); rt::eq(&__t3671, &__t3672) }; @@ -8992,8 +8992,8 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( Err(e) => break Err(e), } { break Ok({ - let __t3674 = v_V5067.clone(); - let __t3675 = v_W5070.clone(); + let __t3674 = v_V5081.clone(); + let __t3675 = v_W5084.clone(); rt::apply_direct( interp, "shen.unlock", @@ -9001,12 +9001,12 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( )? }); } else { - break Ok(v_W5078.clone()); + break Ok(v_W5092.clone()); } } } } else { - break Ok(v_W5071.clone()); + break Ok(v_W5085.clone()); } } } @@ -9028,45 +9028,45 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V5082 = args[0].clone(); + let mut v_V5096 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5083 = args[1].clone(); + let mut v_V5097 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5084 = args[2].clone(); + let mut v_V5098 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5085 = args[3].clone(); + let mut v_V5099 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5086 = args[4].clone(); + let mut v_V5100 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5087 = args[5].clone(); + let mut v_V5101 = args[5].clone(); #[allow(unused_mut)] - let mut v_V5088 = args[6].clone(); + let mut v_V5102 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5089 = { + let v_W5103 = { let __t3693 = { - let __t3676 = v_V5086.clone(); + let __t3676 = v_V5100.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3676])? }; if rt::is_truthy(interp, &__t3693)? { { - let v_W5090 = { - let __t3677 = v_V5082.clone(); - let __t3678 = v_V5085.clone(); + let v_W5104 = { + let __t3677 = v_V5096.clone(); + let __t3678 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3677, __t3678])? }; { let __t3692 = { - let __t3679 = v_W5090.clone(); + let __t3679 = v_W5104.clone(); let __t3680 = Value::nil(); rt::eq(&__t3679, &__t3680) }; if rt::is_truthy(interp, &__t3692)? { { - let v_W5091 = { - let __t3681 = v_V5084.clone(); - let __t3682 = v_V5085.clone(); + let v_W5105 = { + let __t3681 = v_V5098.clone(); + let __t3682 = v_V5099.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -9074,8 +9074,8 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< )? }; { - let v_W5092 = { - let v_V5088 = v_V5088.clone(); + let v_W5106 = { + let v_V5102 = v_V5102.clone(); rt::make_aot_closure( "", 0, @@ -9090,27 +9090,27 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< }; rt::apply_value( interp, - v_V5088.clone(), + v_V5102.clone(), &[], )? }) }, - vec![v_V5088], + vec![v_V5102], interp, ) }; { let __t3691 = { - let __t3683 = v_W5091.clone(); + let __t3683 = v_W5105.clone(); let __t3684 = Value::nil(); rt::eq(&__t3683, &__t3684) }; if rt::is_truthy(interp, &__t3691)? { - rt::apply_value(interp, v_W5092.clone(), &[])? + rt::apply_value(interp, v_W5106.clone(), &[])? } else { { let __t3690 = { - let __t3685 = v_W5091.clone(); + let __t3685 = v_W5105.clone(); rt::apply_direct( interp, "shen.pvar?", @@ -9119,10 +9119,10 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< }; if rt::is_truthy(interp, &__t3690)? { { - let __t3686 = v_W5091.clone(); + let __t3686 = v_W5105.clone(); let __t3687 = Value::nil(); - let __t3688 = v_V5085.clone(); - let __t3689 = v_W5092.clone(); + let __t3688 = v_V5099.clone(); + let __t3689 = v_W5106.clone(); rt::apply_direct( interp, "shen.bind!", @@ -9151,7 +9151,7 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< }; { let __t3696 = { - let __t3694 = v_W5089.clone(); + let __t3694 = v_W5103.clone(); let __t3695 = Value::bool(false); rt::eq(&__t3694, &__t3695) }; @@ -9161,7 +9161,7 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< } { { let __t3698 = { - let __t3697 = v_V5086.clone(); + let __t3697 = v_V5100.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3697])? }; if match rt::is_truthy(interp, &__t3698) { @@ -9169,14 +9169,14 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< Err(e) => break Err(e), } { { - let v_W5093 = { - let __t3699 = v_V5082.clone(); - let __t3700 = v_V5085.clone(); + let v_W5107 = { + let __t3699 = v_V5096.clone(); + let __t3700 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3699, __t3700])? }; { let __t3702 = { - let __t3701 = v_W5093.clone(); + let __t3701 = v_W5107.clone(); rt::is_cons(&__t3701) }; if match rt::is_truthy(interp, &__t3702) { @@ -9184,19 +9184,19 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< Err(e) => break Err(e), } { { - let v_W5094 = { - let __t3703 = v_W5093.clone(); + let v_W5108 = { + let __t3703 = v_W5107.clone(); rt::hd(&__t3703)? }; { - let v_W5095 = { - let __t3704 = v_W5093.clone(); + let v_W5109 = { + let __t3704 = v_W5107.clone(); rt::tl(&__t3704)? }; { - let v_W5096 = { - let __t3705 = v_V5083.clone(); - let __t3706 = v_V5085.clone(); + let v_W5110 = { + let __t3705 = v_V5097.clone(); + let __t3706 = v_V5099.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -9205,7 +9205,7 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< }; { let __t3708 = { - let __t3707 = v_W5096.clone(); + let __t3707 = v_W5110.clone(); rt::is_cons(&__t3707) }; if match rt::is_truthy(interp, &__t3708) { @@ -9213,19 +9213,19 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< Err(e) => break Err(e), } { { - let v_W5097 = { - let __t3709 = v_W5096.clone(); + let v_W5111 = { + let __t3709 = v_W5110.clone(); rt::hd(&__t3709)? }; { - let v_W5098 = { + let v_W5112 = { let __t3711 = { let __t3710 = - v_W5096.clone(); + v_W5110.clone(); rt::tl(&__t3710)? }; let __t3712 = - v_V5085.clone(); + v_V5099.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -9235,7 +9235,7 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< { let __t3714 = { let __t3713 = - v_W5098.clone(); + v_W5112.clone(); rt::is_cons(&__t3713) }; if match rt::is_truthy( @@ -9245,24 +9245,24 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< Err(e) => break Err(e), } { { - let v_W5099 = { + let v_W5113 = { let __t3716 = { - let __t3715 = v_W5098.clone(); + let __t3715 = v_W5112.clone(); rt::hd(&__t3715)? }; let __t3717 = - v_V5085 + v_V5099 .clone( ); rt::apply_direct(interp, "shen.lazyderef", &[__t3716, __t3717])? }; { let __t3720 = { - let __t3718 = v_W5099.clone(); + let __t3718 = v_W5113.clone(); let __t3719 = Value::sym(interp.intern("-->")); rt::eq(&__t3718, &__t3719) }; - if match rt::is_truthy(interp, &__t3720) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5100 = { let __t3722 = { let __t3721 = v_W5098.clone(); rt::tl(&__t3721)? }; let __t3723 = v_V5085.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3722, __t3723])? }; { let __t3725 = { let __t3724 = v_W5100.clone(); rt::is_cons(&__t3724) }; if match rt::is_truthy(interp, &__t3725) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5101 = { let __t3726 = v_W5100.clone(); rt::hd(&__t3726)? }; { let v_W5102 = { let __t3728 = { let __t3727 = v_W5100.clone(); rt::tl(&__t3727)? }; let __t3729 = v_V5085.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3728, __t3729])? }; { let __t3732 = { let __t3730 = v_W5102.clone(); let __t3731 = Value::nil(); rt::eq(&__t3730, &__t3731) }; if match rt::is_truthy(interp, &__t3732) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5103 = { let __t3733 = v_V5084.clone(); let __t3734 = v_V5085.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3733, __t3734])? }; { let v_W5104 = { let v_V5085 = v_V5085.clone(); let v_V5086 = v_V5086.clone(); let v_V5087 = v_V5087.clone(); let v_V5088 = v_V5088.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); let v_W5097 = v_W5097.clone(); let v_W5101 = v_W5101.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5105 = args[0].clone(); Ok({ let v_V5085 = v_V5085.clone(); let v_V5086 = v_V5086.clone(); let v_V5087 = v_V5087.clone(); let v_V5088 = v_V5088.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); let v_W5097 = v_W5097.clone(); let v_W5101 = v_W5101.clone(); let v_Z5105 = v_Z5105.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5106 = args[0].clone(); Ok({ let v_V5085 = v_V5085.clone(); let v_V5086 = v_V5086.clone(); let v_V5087 = v_V5087.clone(); let v_V5088 = v_V5088.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); let v_W5097 = v_W5097.clone(); let v_W5101 = v_W5101.clone(); let v_Z5105 = v_Z5105.clone(); let v_Z5106 = v_Z5106.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5107 = args[0].clone(); Ok({ let v_V5085 = v_V5085.clone(); let v_V5086 = v_V5086.clone(); let v_V5087 = v_V5087.clone(); let v_V5088 = v_V5088.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); let v_W5097 = v_W5097.clone(); let v_W5101 = v_W5101.clone(); let v_Z5105 = v_Z5105.clone(); let v_Z5106 = v_Z5106.clone(); let v_Z5107 = v_Z5107.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5108 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3735 = v_W5097.clone(); let __t3736 = v_Z5107.clone(); let __t3737 = v_V5085.clone(); let __t3738 = v_V5086.clone(); let __t3739 = v_V5087.clone(); let __t3760 = { let v_V5085 = v_V5085.clone(); let v_V5086 = v_V5086.clone(); let v_V5087 = v_V5087.clone(); let v_V5088 = v_V5088.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); let v_W5101 = v_W5101.clone(); let v_Z5105 = v_Z5105.clone(); let v_Z5106 = v_Z5106.clone(); let v_Z5108 = v_Z5108.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3740 = v_W5094.clone(); let __t3741 = v_Z5105.clone(); let __t3742 = v_V5085.clone(); let __t3743 = v_V5086.clone(); let __t3744 = v_V5087.clone(); let __t3759 = { let v_V5085 = v_V5085.clone(); let v_V5086 = v_V5086.clone(); let v_V5087 = v_V5087.clone(); let v_V5088 = v_V5088.clone(); let v_W5095 = v_W5095.clone(); let v_W5101 = v_W5101.clone(); let v_Z5106 = v_Z5106.clone(); let v_Z5108 = v_Z5108.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3745 = v_Z5106.clone(); let __t3747 = { let __t3746 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t3746])? }; let __t3748 = v_V5085.clone(); let __t3749 = v_V5086.clone(); let __t3750 = v_V5087.clone(); let __t3758 = { let v_V5085 = v_V5085.clone(); let v_V5086 = v_V5086.clone(); let v_V5087 = v_V5087.clone(); let v_V5088 = v_V5088.clone(); let v_W5095 = v_W5095.clone(); let v_W5101 = v_W5101.clone(); let v_Z5108 = v_Z5108.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3751 = v_W5095.clone(); let __t3752 = v_W5101.clone(); let __t3753 = v_Z5108.clone(); let __t3754 = v_V5085.clone(); let __t3755 = v_V5086.clone(); let __t3756 = v_V5087.clone(); let __t3757 = v_V5088.clone(); rt::apply_direct(interp, "shen.myassume", &[__t3751, __t3752, __t3753, __t3754, __t3755, __t3756, __t3757])? }), vec![v_V5085, v_V5086, v_V5087, v_V5088, v_W5095, v_W5101, v_Z5108], interp) }; rt::apply_direct(interp, "bind", &[__t3745, __t3747, __t3748, __t3749, __t3750, __t3758])? }), vec![v_V5085, v_V5086, v_V5087, v_V5088, v_W5095, v_W5101, v_Z5106, v_Z5108], interp) }; rt::apply_direct(interp, "is!", &[__t3740, __t3741, __t3742, __t3743, __t3744, __t3759])? }), vec![v_V5085, v_V5086, v_V5087, v_V5088, v_W5094, v_W5095, v_W5101, v_Z5105, v_Z5106, v_Z5108], interp) }; rt::apply_direct(interp, "is!", &[__t3735, __t3736, __t3737, __t3738, __t3739, __t3760])? } }) }, vec![v_V5085, v_V5086, v_V5087, v_V5088, v_W5094, v_W5095, v_W5097, v_W5101, v_Z5105, v_Z5106, v_Z5107], interp) }) }, vec![v_V5085, v_V5086, v_V5087, v_V5088, v_W5094, v_W5095, v_W5097, v_W5101, v_Z5105, v_Z5106], interp) }) }, vec![v_V5085, v_V5086, v_V5087, v_V5088, v_W5094, v_W5095, v_W5097, v_W5101, v_Z5105], interp) }) }, vec![v_V5085, v_V5086, v_V5087, v_V5088, v_W5094, v_W5095, v_W5097, v_W5101], interp) }; { let __t3762 = { let __t3761 = v_W5103.clone(); rt::is_cons(&__t3761) }; if match rt::is_truthy(interp, &__t3762) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5109 = { let __t3764 = { let __t3763 = v_W5103.clone(); rt::hd(&__t3763)? }; let __t3765 = v_V5085.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3764, __t3765])? }; { let v_W5110 = { let v_W5103 = v_W5103.clone(); let v_W5104 = v_W5104.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5111 = args[0].clone(); Ok({ let v_W5103 = v_W5103.clone(); let v_W5104 = v_W5104.clone(); let v_Z5111 = v_Z5111.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5112 = args[0].clone(); Ok({ let v_W5103 = v_W5103.clone(); let v_W5104 = v_W5104.clone(); let v_Z5111 = v_Z5111.clone(); let v_Z5112 = v_Z5112.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5113 = args[0].clone(); Ok({ let v_W5114 = { let __t3766 = v_W5103.clone(); rt::tl(&__t3766)? }; { let __t3772 = { let __t3770 = { let __t3768 = { let __t3767 = v_Z5111.clone(); rt::apply_value(interp, v_W5104.clone(), &[__t3767])? }; let __t3769 = v_Z5112.clone(); rt::apply_value(interp, __t3768, &[__t3769])? }; let __t3771 = v_Z5113.clone(); rt::apply_value(interp, __t3770, &[__t3771])? }; let __t3773 = v_W5114.clone(); rt::apply_value(interp, __t3772, &[__t3773])? } }) }, vec![v_W5103, v_W5104, v_Z5111, v_Z5112], interp) }) }, vec![v_W5103, v_W5104, v_Z5111], interp) }) }, vec![v_W5103, v_W5104], interp) }; { let __t3775 = { let __t3774 = v_W5109.clone(); rt::is_cons(&__t3774) }; if match rt::is_truthy(interp, &__t3775) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5115 = { let __t3776 = v_W5109.clone(); rt::hd(&__t3776)? }; { let v_W5116 = { let __t3778 = { let __t3777 = v_W5109.clone(); rt::tl(&__t3777)? }; let __t3779 = v_V5085.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3778, __t3779])? }; { let v_W5117 = { let v_W5110 = v_W5110.clone(); let v_W5115 = v_W5115.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5118 = args[0].clone(); Ok({ let v_W5110 = v_W5110.clone(); let v_W5115 = v_W5115.clone(); let v_Z5118 = v_Z5118.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5119 = args[0].clone(); Ok({ let __t3783 = { let __t3781 = { let __t3780 = v_W5115.clone(); rt::apply_value(interp, v_W5110.clone(), &[__t3780])? }; let __t3782 = v_Z5118.clone(); rt::apply_value(interp, __t3781, &[__t3782])? }; let __t3784 = v_Z5119.clone(); rt::apply_value(interp, __t3783, &[__t3784])? }) }, vec![v_W5110, v_W5115, v_Z5118], interp) }) }, vec![v_W5110, v_W5115], interp) }; { let __t3786 = { let __t3785 = v_W5116.clone(); rt::is_cons(&__t3785) }; if match rt::is_truthy(interp, &__t3786) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5120 = { let __t3787 = v_W5116.clone(); rt::hd(&__t3787)? }; { let v_W5121 = { let __t3789 = { let __t3788 = v_W5116.clone(); rt::tl(&__t3788)? }; let __t3790 = v_V5085.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3789, __t3790])? }; { let v_W5122 = { let v_W5117 = v_W5117.clone(); let v_W5120 = v_W5120.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5123 = args[0].clone(); Ok({ let __t3792 = { let __t3791 = v_W5120.clone(); rt::apply_value(interp, v_W5117.clone(), &[__t3791])? }; let __t3793 = v_Z5123.clone(); rt::apply_value(interp, __t3792, &[__t3793])? }) }, vec![v_W5117, v_W5120], interp) }; { let __t3795 = { let __t3794 = v_W5121.clone(); rt::is_cons(&__t3794) }; if match rt::is_truthy(interp, &__t3795) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5124 = { let __t3796 = v_W5121.clone(); rt::hd(&__t3796)? }; { let v_W5125 = { let __t3798 = { let __t3797 = v_W5121.clone(); rt::tl(&__t3797)? }; let __t3799 = v_V5085.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3798, __t3799])? }; { let v_W5126 = { let v_W5122 = v_W5122.clone(); let v_W5124 = v_W5124.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3800 = v_W5124.clone(); rt::apply_value(interp, v_W5122.clone(), &[__t3800])? }), vec![v_W5122, v_W5124], interp) }; { let __t3803 = { let __t3801 = v_W5125.clone(); let __t3802 = Value::nil(); rt::eq(&__t3801, &__t3802) }; if match rt::is_truthy(interp, &__t3803) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W5126.clone(), &[])?); } else { { let __t3805 = { let __t3804 = v_W5125.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3804])? }; if match rt::is_truthy(interp, &__t3805) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t3806 = v_W5125.clone(); let __t3807 = Value::nil(); let __t3808 = v_V5085.clone(); let __t3809 = v_W5126.clone(); rt::apply_direct(interp, "shen.bind!", &[__t3806, __t3807, __t3808, __t3809])? }); } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3811 = { let __t3810 = v_W5121.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3810])? }; if match rt::is_truthy(interp, &__t3811) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5127 = { let __t3812 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3812])? }; break Ok({ let __t3813 = v_V5085.clone(); let __t3821 = { let __t3814 = v_W5121.clone(); let __t3817 = { let __t3815 = v_W5127.clone(); let __t3816 = Value::nil(); rt::cons(&__t3815, &__t3816) }; let __t3818 = v_V5085.clone(); let __t3820 = { let v_W5122 = v_W5122.clone(); let v_W5127 = v_W5127.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3819 = v_W5127.clone(); rt::apply_value(interp, v_W5122.clone(), &[__t3819])? }), vec![v_W5122, v_W5127], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3814, __t3817, __t3818, __t3820])? }; rt::apply_direct(interp, "shen.gc", &[__t3813, __t3821])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3823 = { let __t3822 = v_W5116.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3822])? }; if match rt::is_truthy(interp, &__t3823) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5128 = { let __t3824 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3824])? }; break Ok({ let __t3825 = v_V5085.clone(); let __t3840 = { let v_W5129 = { let __t3826 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3826])? }; { let __t3827 = v_V5085.clone(); let __t3839 = { let __t3828 = v_W5116.clone(); let __t3833 = { let __t3829 = v_W5128.clone(); let __t3832 = { let __t3830 = v_W5129.clone(); let __t3831 = Value::nil(); rt::cons(&__t3830, &__t3831) }; rt::cons(&__t3829, &__t3832) }; let __t3834 = v_V5085.clone(); let __t3838 = { let v_W5117 = v_W5117.clone(); let v_W5128 = v_W5128.clone(); let v_W5129 = v_W5129.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3836 = { let __t3835 = v_W5128.clone(); rt::apply_value(interp, v_W5117.clone(), &[__t3835])? }; let __t3837 = v_W5129.clone(); rt::apply_value(interp, __t3836, &[__t3837])? }), vec![v_W5117, v_W5128, v_W5129], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3828, __t3833, __t3834, __t3838])? }; rt::apply_direct(interp, "shen.gc", &[__t3827, __t3839])? } }; rt::apply_direct(interp, "shen.gc", &[__t3825, __t3840])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3842 = { let __t3841 = v_W5109.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3841])? }; if match rt::is_truthy(interp, &__t3842) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5130 = { let __t3843 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3843])? }; break Ok({ let __t3844 = v_V5085.clone(); let __t3866 = { let v_W5131 = { let __t3845 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3845])? }; { let __t3846 = v_V5085.clone(); let __t3865 = { let v_W5132 = { let __t3847 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3847])? }; { let __t3848 = v_V5085.clone(); let __t3864 = { let __t3849 = v_W5109.clone(); let __t3856 = { let __t3850 = v_W5130.clone(); let __t3855 = { let __t3851 = v_W5131.clone(); let __t3854 = { let __t3852 = v_W5132.clone(); let __t3853 = Value::nil(); rt::cons(&__t3852, &__t3853) }; rt::cons(&__t3851, &__t3854) }; rt::cons(&__t3850, &__t3855) }; let __t3857 = v_V5085.clone(); let __t3863 = { let v_W5110 = v_W5110.clone(); let v_W5130 = v_W5130.clone(); let v_W5131 = v_W5131.clone(); let v_W5132 = v_W5132.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3861 = { let __t3859 = { let __t3858 = v_W5130.clone(); rt::apply_value(interp, v_W5110.clone(), &[__t3858])? }; let __t3860 = v_W5131.clone(); rt::apply_value(interp, __t3859, &[__t3860])? }; let __t3862 = v_W5132.clone(); rt::apply_value(interp, __t3861, &[__t3862])? }), vec![v_W5110, v_W5130, v_W5131, v_W5132], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3849, __t3856, __t3857, __t3863])? }; rt::apply_direct(interp, "shen.gc", &[__t3848, __t3864])? } }; rt::apply_direct(interp, "shen.gc", &[__t3846, __t3865])? } }; rt::apply_direct(interp, "shen.gc", &[__t3844, __t3866])? }); } } else { break Ok(Value::bool(false)); } } } } } } } else { { let __t3868 = { let __t3867 = v_W5103.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3867])? }; if match rt::is_truthy(interp, &__t3868) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5133 = { let __t3869 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3869])? }; break Ok({ let __t3870 = v_V5085.clone(); let __t3899 = { let v_W5134 = { let __t3871 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3871])? }; { let __t3872 = v_V5085.clone(); let __t3898 = { let v_W5135 = { let __t3873 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3873])? }; { let __t3874 = v_V5085.clone(); let __t3897 = { let v_W5136 = { let __t3875 = v_V5085.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3875])? }; { let __t3876 = v_V5085.clone(); let __t3896 = { let __t3877 = v_W5103.clone(); let __t3886 = { let __t3884 = { let __t3878 = v_W5133.clone(); let __t3883 = { let __t3879 = v_W5134.clone(); let __t3882 = { let __t3880 = v_W5135.clone(); let __t3881 = Value::nil(); rt::cons(&__t3880, &__t3881) }; rt::cons(&__t3879, &__t3882) }; rt::cons(&__t3878, &__t3883) }; let __t3885 = v_W5136.clone(); rt::cons(&__t3884, &__t3885) }; let __t3887 = v_V5085.clone(); let __t3895 = { let v_W5104 = v_W5104.clone(); let v_W5133 = v_W5133.clone(); let v_W5134 = v_W5134.clone(); let v_W5135 = v_W5135.clone(); let v_W5136 = v_W5136.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3893 = { let __t3891 = { let __t3889 = { let __t3888 = v_W5133.clone(); rt::apply_value(interp, v_W5104.clone(), &[__t3888])? }; let __t3890 = v_W5134.clone(); rt::apply_value(interp, __t3889, &[__t3890])? }; let __t3892 = v_W5135.clone(); rt::apply_value(interp, __t3891, &[__t3892])? }; let __t3894 = v_W5136.clone(); rt::apply_value(interp, __t3893, &[__t3894])? }), vec![v_W5104, v_W5133, v_W5134, v_W5135, v_W5136], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3877, __t3886, __t3887, __t3895])? }; rt::apply_direct(interp, "shen.gc", &[__t3876, __t3896])? } }; rt::apply_direct(interp, "shen.gc", &[__t3874, __t3897])? } }; rt::apply_direct(interp, "shen.gc", &[__t3872, __t3898])? } }; rt::apply_direct(interp, "shen.gc", &[__t3870, __t3899])? }); } } else { break Ok(Value::bool(false)); } } } } } } } else { break Ok(Value::bool(false)); } } } } } else { break Ok(Value::bool(false)); } } } } else { break Ok(Value::bool(false)); } + if match rt::is_truthy(interp, &__t3720) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5114 = { let __t3722 = { let __t3721 = v_W5112.clone(); rt::tl(&__t3721)? }; let __t3723 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3722, __t3723])? }; { let __t3725 = { let __t3724 = v_W5114.clone(); rt::is_cons(&__t3724) }; if match rt::is_truthy(interp, &__t3725) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5115 = { let __t3726 = v_W5114.clone(); rt::hd(&__t3726)? }; { let v_W5116 = { let __t3728 = { let __t3727 = v_W5114.clone(); rt::tl(&__t3727)? }; let __t3729 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3728, __t3729])? }; { let __t3732 = { let __t3730 = v_W5116.clone(); let __t3731 = Value::nil(); rt::eq(&__t3730, &__t3731) }; if match rt::is_truthy(interp, &__t3732) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5117 = { let __t3733 = v_V5098.clone(); let __t3734 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3733, __t3734])? }; { let v_W5118 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5119 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5120 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5121 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5121 = v_Z5121.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5122 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3735 = v_W5111.clone(); let __t3736 = v_Z5121.clone(); let __t3737 = v_V5099.clone(); let __t3738 = v_V5100.clone(); let __t3739 = v_V5101.clone(); let __t3760 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5122 = v_Z5122.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3740 = v_W5108.clone(); let __t3741 = v_Z5119.clone(); let __t3742 = v_V5099.clone(); let __t3743 = v_V5100.clone(); let __t3744 = v_V5101.clone(); let __t3759 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5109 = v_W5109.clone(); let v_W5115 = v_W5115.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5122 = v_Z5122.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3745 = v_Z5120.clone(); let __t3747 = { let __t3746 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t3746])? }; let __t3748 = v_V5099.clone(); let __t3749 = v_V5100.clone(); let __t3750 = v_V5101.clone(); let __t3758 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5109 = v_W5109.clone(); let v_W5115 = v_W5115.clone(); let v_Z5122 = v_Z5122.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3751 = v_W5109.clone(); let __t3752 = v_W5115.clone(); let __t3753 = v_Z5122.clone(); let __t3754 = v_V5099.clone(); let __t3755 = v_V5100.clone(); let __t3756 = v_V5101.clone(); let __t3757 = v_V5102.clone(); rt::apply_direct(interp, "shen.myassume", &[__t3751, __t3752, __t3753, __t3754, __t3755, __t3756, __t3757])? }), vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5109, v_W5115, v_Z5122], interp) }; rt::apply_direct(interp, "bind", &[__t3745, __t3747, __t3748, __t3749, __t3750, __t3758])? }), vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5109, v_W5115, v_Z5120, v_Z5122], interp) }; rt::apply_direct(interp, "is!", &[__t3740, __t3741, __t3742, __t3743, __t3744, __t3759])? }), vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5115, v_Z5119, v_Z5120, v_Z5122], interp) }; rt::apply_direct(interp, "is!", &[__t3735, __t3736, __t3737, __t3738, __t3739, __t3760])? } }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119, v_Z5120, v_Z5121], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119, v_Z5120], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115], interp) }; { let __t3762 = { let __t3761 = v_W5117.clone(); rt::is_cons(&__t3761) }; if match rt::is_truthy(interp, &__t3762) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5123 = { let __t3764 = { let __t3763 = v_W5117.clone(); rt::hd(&__t3763)? }; let __t3765 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3764, __t3765])? }; { let v_W5124 = { let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5125 = args[0].clone(); Ok({ let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); let v_Z5125 = v_Z5125.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5126 = args[0].clone(); Ok({ let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); let v_Z5125 = v_Z5125.clone(); let v_Z5126 = v_Z5126.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5127 = args[0].clone(); Ok({ let v_W5128 = { let __t3766 = v_W5117.clone(); rt::tl(&__t3766)? }; { let __t3772 = { let __t3770 = { let __t3768 = { let __t3767 = v_Z5125.clone(); rt::apply_value(interp, v_W5118.clone(), &[__t3767])? }; let __t3769 = v_Z5126.clone(); rt::apply_value(interp, __t3768, &[__t3769])? }; let __t3771 = v_Z5127.clone(); rt::apply_value(interp, __t3770, &[__t3771])? }; let __t3773 = v_W5128.clone(); rt::apply_value(interp, __t3772, &[__t3773])? } }) }, vec![v_W5117, v_W5118, v_Z5125, v_Z5126], interp) }) }, vec![v_W5117, v_W5118, v_Z5125], interp) }) }, vec![v_W5117, v_W5118], interp) }; { let __t3775 = { let __t3774 = v_W5123.clone(); rt::is_cons(&__t3774) }; if match rt::is_truthy(interp, &__t3775) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5129 = { let __t3776 = v_W5123.clone(); rt::hd(&__t3776)? }; { let v_W5130 = { let __t3778 = { let __t3777 = v_W5123.clone(); rt::tl(&__t3777)? }; let __t3779 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3778, __t3779])? }; { let v_W5131 = { let v_W5124 = v_W5124.clone(); let v_W5129 = v_W5129.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5132 = args[0].clone(); Ok({ let v_W5124 = v_W5124.clone(); let v_W5129 = v_W5129.clone(); let v_Z5132 = v_Z5132.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5133 = args[0].clone(); Ok({ let __t3783 = { let __t3781 = { let __t3780 = v_W5129.clone(); rt::apply_value(interp, v_W5124.clone(), &[__t3780])? }; let __t3782 = v_Z5132.clone(); rt::apply_value(interp, __t3781, &[__t3782])? }; let __t3784 = v_Z5133.clone(); rt::apply_value(interp, __t3783, &[__t3784])? }) }, vec![v_W5124, v_W5129, v_Z5132], interp) }) }, vec![v_W5124, v_W5129], interp) }; { let __t3786 = { let __t3785 = v_W5130.clone(); rt::is_cons(&__t3785) }; if match rt::is_truthy(interp, &__t3786) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5134 = { let __t3787 = v_W5130.clone(); rt::hd(&__t3787)? }; { let v_W5135 = { let __t3789 = { let __t3788 = v_W5130.clone(); rt::tl(&__t3788)? }; let __t3790 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3789, __t3790])? }; { let v_W5136 = { let v_W5131 = v_W5131.clone(); let v_W5134 = v_W5134.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5137 = args[0].clone(); Ok({ let __t3792 = { let __t3791 = v_W5134.clone(); rt::apply_value(interp, v_W5131.clone(), &[__t3791])? }; let __t3793 = v_Z5137.clone(); rt::apply_value(interp, __t3792, &[__t3793])? }) }, vec![v_W5131, v_W5134], interp) }; { let __t3795 = { let __t3794 = v_W5135.clone(); rt::is_cons(&__t3794) }; if match rt::is_truthy(interp, &__t3795) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5138 = { let __t3796 = v_W5135.clone(); rt::hd(&__t3796)? }; { let v_W5139 = { let __t3798 = { let __t3797 = v_W5135.clone(); rt::tl(&__t3797)? }; let __t3799 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3798, __t3799])? }; { let v_W5140 = { let v_W5136 = v_W5136.clone(); let v_W5138 = v_W5138.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3800 = v_W5138.clone(); rt::apply_value(interp, v_W5136.clone(), &[__t3800])? }), vec![v_W5136, v_W5138], interp) }; { let __t3803 = { let __t3801 = v_W5139.clone(); let __t3802 = Value::nil(); rt::eq(&__t3801, &__t3802) }; if match rt::is_truthy(interp, &__t3803) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W5140.clone(), &[])?); } else { { let __t3805 = { let __t3804 = v_W5139.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3804])? }; if match rt::is_truthy(interp, &__t3805) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t3806 = v_W5139.clone(); let __t3807 = Value::nil(); let __t3808 = v_V5099.clone(); let __t3809 = v_W5140.clone(); rt::apply_direct(interp, "shen.bind!", &[__t3806, __t3807, __t3808, __t3809])? }); } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3811 = { let __t3810 = v_W5135.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3810])? }; if match rt::is_truthy(interp, &__t3811) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5141 = { let __t3812 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3812])? }; break Ok({ let __t3813 = v_V5099.clone(); let __t3821 = { let __t3814 = v_W5135.clone(); let __t3817 = { let __t3815 = v_W5141.clone(); let __t3816 = Value::nil(); rt::cons(&__t3815, &__t3816) }; let __t3818 = v_V5099.clone(); let __t3820 = { let v_W5136 = v_W5136.clone(); let v_W5141 = v_W5141.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3819 = v_W5141.clone(); rt::apply_value(interp, v_W5136.clone(), &[__t3819])? }), vec![v_W5136, v_W5141], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3814, __t3817, __t3818, __t3820])? }; rt::apply_direct(interp, "shen.gc", &[__t3813, __t3821])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3823 = { let __t3822 = v_W5130.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3822])? }; if match rt::is_truthy(interp, &__t3823) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5142 = { let __t3824 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3824])? }; break Ok({ let __t3825 = v_V5099.clone(); let __t3840 = { let v_W5143 = { let __t3826 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3826])? }; { let __t3827 = v_V5099.clone(); let __t3839 = { let __t3828 = v_W5130.clone(); let __t3833 = { let __t3829 = v_W5142.clone(); let __t3832 = { let __t3830 = v_W5143.clone(); let __t3831 = Value::nil(); rt::cons(&__t3830, &__t3831) }; rt::cons(&__t3829, &__t3832) }; let __t3834 = v_V5099.clone(); let __t3838 = { let v_W5131 = v_W5131.clone(); let v_W5142 = v_W5142.clone(); let v_W5143 = v_W5143.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3836 = { let __t3835 = v_W5142.clone(); rt::apply_value(interp, v_W5131.clone(), &[__t3835])? }; let __t3837 = v_W5143.clone(); rt::apply_value(interp, __t3836, &[__t3837])? }), vec![v_W5131, v_W5142, v_W5143], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3828, __t3833, __t3834, __t3838])? }; rt::apply_direct(interp, "shen.gc", &[__t3827, __t3839])? } }; rt::apply_direct(interp, "shen.gc", &[__t3825, __t3840])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3842 = { let __t3841 = v_W5123.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3841])? }; if match rt::is_truthy(interp, &__t3842) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5144 = { let __t3843 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3843])? }; break Ok({ let __t3844 = v_V5099.clone(); let __t3866 = { let v_W5145 = { let __t3845 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3845])? }; { let __t3846 = v_V5099.clone(); let __t3865 = { let v_W5146 = { let __t3847 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3847])? }; { let __t3848 = v_V5099.clone(); let __t3864 = { let __t3849 = v_W5123.clone(); let __t3856 = { let __t3850 = v_W5144.clone(); let __t3855 = { let __t3851 = v_W5145.clone(); let __t3854 = { let __t3852 = v_W5146.clone(); let __t3853 = Value::nil(); rt::cons(&__t3852, &__t3853) }; rt::cons(&__t3851, &__t3854) }; rt::cons(&__t3850, &__t3855) }; let __t3857 = v_V5099.clone(); let __t3863 = { let v_W5124 = v_W5124.clone(); let v_W5144 = v_W5144.clone(); let v_W5145 = v_W5145.clone(); let v_W5146 = v_W5146.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3861 = { let __t3859 = { let __t3858 = v_W5144.clone(); rt::apply_value(interp, v_W5124.clone(), &[__t3858])? }; let __t3860 = v_W5145.clone(); rt::apply_value(interp, __t3859, &[__t3860])? }; let __t3862 = v_W5146.clone(); rt::apply_value(interp, __t3861, &[__t3862])? }), vec![v_W5124, v_W5144, v_W5145, v_W5146], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3849, __t3856, __t3857, __t3863])? }; rt::apply_direct(interp, "shen.gc", &[__t3848, __t3864])? } }; rt::apply_direct(interp, "shen.gc", &[__t3846, __t3865])? } }; rt::apply_direct(interp, "shen.gc", &[__t3844, __t3866])? }); } } else { break Ok(Value::bool(false)); } } } } } } } else { { let __t3868 = { let __t3867 = v_W5117.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3867])? }; if match rt::is_truthy(interp, &__t3868) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5147 = { let __t3869 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3869])? }; break Ok({ let __t3870 = v_V5099.clone(); let __t3899 = { let v_W5148 = { let __t3871 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3871])? }; { let __t3872 = v_V5099.clone(); let __t3898 = { let v_W5149 = { let __t3873 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3873])? }; { let __t3874 = v_V5099.clone(); let __t3897 = { let v_W5150 = { let __t3875 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3875])? }; { let __t3876 = v_V5099.clone(); let __t3896 = { let __t3877 = v_W5117.clone(); let __t3886 = { let __t3884 = { let __t3878 = v_W5147.clone(); let __t3883 = { let __t3879 = v_W5148.clone(); let __t3882 = { let __t3880 = v_W5149.clone(); let __t3881 = Value::nil(); rt::cons(&__t3880, &__t3881) }; rt::cons(&__t3879, &__t3882) }; rt::cons(&__t3878, &__t3883) }; let __t3885 = v_W5150.clone(); rt::cons(&__t3884, &__t3885) }; let __t3887 = v_V5099.clone(); let __t3895 = { let v_W5118 = v_W5118.clone(); let v_W5147 = v_W5147.clone(); let v_W5148 = v_W5148.clone(); let v_W5149 = v_W5149.clone(); let v_W5150 = v_W5150.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3893 = { let __t3891 = { let __t3889 = { let __t3888 = v_W5147.clone(); rt::apply_value(interp, v_W5118.clone(), &[__t3888])? }; let __t3890 = v_W5148.clone(); rt::apply_value(interp, __t3889, &[__t3890])? }; let __t3892 = v_W5149.clone(); rt::apply_value(interp, __t3891, &[__t3892])? }; let __t3894 = v_W5150.clone(); rt::apply_value(interp, __t3893, &[__t3894])? }), vec![v_W5118, v_W5147, v_W5148, v_W5149, v_W5150], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3877, __t3886, __t3887, __t3895])? }; rt::apply_direct(interp, "shen.gc", &[__t3876, __t3896])? } }; rt::apply_direct(interp, "shen.gc", &[__t3874, __t3897])? } }; rt::apply_direct(interp, "shen.gc", &[__t3872, __t3898])? } }; rt::apply_direct(interp, "shen.gc", &[__t3870, __t3899])? }); } } else { break Ok(Value::bool(false)); } } } } } } } else { break Ok(Value::bool(false)); } } } } } else { break Ok(Value::bool(false)); } } } } else { break Ok(Value::bool(false)); } } } } else { @@ -9290,7 +9290,7 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< } } } else { - break Ok(v_W5089.clone()); + break Ok(v_W5103.clone()); } } } @@ -9311,13 +9311,13 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V5139 = args[0].clone(); + let mut v_V5153 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t3930 = { let __t3928 = Value::nil(); - let __t3929 = v_V5139.clone(); + let __t3929 = v_V5153.clone(); rt::eq(&__t3928, &__t3929) }; if match rt::is_truthy(interp, &__t3930) { @@ -9329,7 +9329,7 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul { let __t3927 = { let __t3920 = { - let __t3917 = v_V5139.clone(); + let __t3917 = v_V5153.clone(); rt::is_cons(&__t3917) }; if !rt::is_truthy(interp, &__t3920)? { @@ -9337,7 +9337,7 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul } else { let __t3921 = { let __t3919 = { - let __t3918 = v_V5139.clone(); + let __t3918 = v_V5153.clone(); rt::hd(&__t3918)? }; rt::is_cons(&__t3919) @@ -9352,23 +9352,23 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul { let __t3926 = { let __t3923 = { - let __t3922 = v_V5139.clone(); + let __t3922 = v_V5153.clone(); rt::hd(&__t3922)? }; let __t3925 = { - let __t3924 = v_V5139.clone(); + let __t3924 = v_V5153.clone(); rt::tl(&__t3924)? }; rt::apply_direct(interp, "append", &[__t3923, __t3925])? }; - v_V5139 = __t3926; + v_V5153 = __t3926; continue; } } else { { let __t3916 = { let __t3909 = { - let __t3906 = v_V5139.clone(); + let __t3906 = v_V5153.clone(); rt::is_cons(&__t3906) }; if !rt::is_truthy(interp, &__t3909)? { @@ -9376,7 +9376,7 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul } else { let __t3910 = { let __t3908 = { - let __t3907 = v_V5139.clone(); + let __t3907 = v_V5153.clone(); rt::hd(&__t3907)? }; rt::apply_direct(interp, "shen.freshterm?", &[__t3908])? @@ -9390,12 +9390,12 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul } { break Ok({ let __t3912 = { - let __t3911 = v_V5139.clone(); + let __t3911 = v_V5153.clone(); rt::hd(&__t3911)? }; let __t3915 = { let __t3914 = { - let __t3913 = v_V5139.clone(); + let __t3913 = v_V5153.clone(); rt::tl(&__t3913)? }; rt::apply_direct(interp, "shen.freshterms", &[__t3914])? @@ -9405,7 +9405,7 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul } else { { let __t3905 = { - let __t3902 = v_V5139.clone(); + let __t3902 = v_V5153.clone(); rt::is_cons(&__t3902) }; if match rt::is_truthy(interp, &__t3905) { @@ -9414,10 +9414,10 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul } { { let __t3904 = { - let __t3903 = v_V5139.clone(); + let __t3903 = v_V5153.clone(); rt::tl(&__t3903)? }; - v_V5139 = __t3904; + v_V5153 = __t3904; continue; } } else { @@ -9468,43 +9468,43 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V5140 = args[0].clone(); + let mut v_V5154 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5141 = args[1].clone(); + let mut v_V5155 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5142 = args[2].clone(); + let mut v_V5156 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5143 = args[3].clone(); + let mut v_V5157 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5144 = args[4].clone(); + let mut v_V5158 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5145 = args[5].clone(); + let mut v_V5159 = args[5].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5146 = { + let v_W5160 = { let __t3948 = { - let __t3931 = v_V5143.clone(); + let __t3931 = v_V5157.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3931])? }; if rt::is_truthy(interp, &__t3948)? { { - let v_W5147 = { - let __t3932 = v_V5140.clone(); - let __t3933 = v_V5142.clone(); + let v_W5161 = { + let __t3932 = v_V5154.clone(); + let __t3933 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3932, __t3933])? }; { let __t3947 = { - let __t3934 = v_W5147.clone(); + let __t3934 = v_W5161.clone(); let __t3935 = Value::nil(); rt::eq(&__t3934, &__t3935) }; if rt::is_truthy(interp, &__t3947)? { { - let v_W5148 = { - let __t3936 = v_V5141.clone(); - let __t3937 = v_V5142.clone(); + let v_W5162 = { + let __t3936 = v_V5155.clone(); + let __t3937 = v_V5156.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -9512,8 +9512,8 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul )? }; { - let v_W5149 = { - let v_V5145 = v_V5145.clone(); + let v_W5163 = { + let v_V5159 = v_V5159.clone(); rt::make_aot_closure( "", 0, @@ -9528,27 +9528,27 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul }; rt::apply_value( interp, - v_V5145.clone(), + v_V5159.clone(), &[], )? }) }, - vec![v_V5145], + vec![v_V5159], interp, ) }; { let __t3946 = { - let __t3938 = v_W5148.clone(); + let __t3938 = v_W5162.clone(); let __t3939 = Value::nil(); rt::eq(&__t3938, &__t3939) }; if rt::is_truthy(interp, &__t3946)? { - rt::apply_value(interp, v_W5149.clone(), &[])? + rt::apply_value(interp, v_W5163.clone(), &[])? } else { { let __t3945 = { - let __t3940 = v_W5148.clone(); + let __t3940 = v_W5162.clone(); rt::apply_direct( interp, "shen.pvar?", @@ -9557,10 +9557,10 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul }; if rt::is_truthy(interp, &__t3945)? { { - let __t3941 = v_W5148.clone(); + let __t3941 = v_W5162.clone(); let __t3942 = Value::nil(); - let __t3943 = v_V5142.clone(); - let __t3944 = v_W5149.clone(); + let __t3943 = v_V5156.clone(); + let __t3944 = v_W5163.clone(); rt::apply_direct( interp, "shen.bind!", @@ -9589,7 +9589,7 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul }; { let __t3951 = { - let __t3949 = v_W5146.clone(); + let __t3949 = v_W5160.clone(); let __t3950 = Value::bool(false); rt::eq(&__t3949, &__t3950) }; @@ -9599,7 +9599,7 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul } { { let __t3953 = { - let __t3952 = v_V5143.clone(); + let __t3952 = v_V5157.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t3952])? }; if match rt::is_truthy(interp, &__t3953) { @@ -9607,14 +9607,14 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul Err(e) => break Err(e), } { { - let v_W5150 = { - let __t3954 = v_V5140.clone(); - let __t3955 = v_V5142.clone(); + let v_W5164 = { + let __t3954 = v_V5154.clone(); + let __t3955 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3954, __t3955])? }; { let __t3957 = { - let __t3956 = v_W5150.clone(); + let __t3956 = v_W5164.clone(); rt::is_cons(&__t3956) }; if match rt::is_truthy(interp, &__t3957) { @@ -9622,19 +9622,19 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul Err(e) => break Err(e), } { { - let v_W5151 = { - let __t3958 = v_W5150.clone(); + let v_W5165 = { + let __t3958 = v_W5164.clone(); rt::hd(&__t3958)? }; { - let v_W5152 = { - let __t3959 = v_W5150.clone(); + let v_W5166 = { + let __t3959 = v_W5164.clone(); rt::tl(&__t3959)? }; { - let v_W5153 = { - let __t3960 = v_V5141.clone(); - let __t3961 = v_V5142.clone(); + let v_W5167 = { + let __t3960 = v_V5155.clone(); + let __t3961 = v_V5156.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -9642,95 +9642,95 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul )? }; { - let v_W5154 = { - let v_V5142 = v_V5142.clone(); - let v_V5143 = v_V5143.clone(); - let v_V5144 = v_V5144.clone(); - let v_V5145 = v_V5145.clone(); - let v_W5151 = v_W5151.clone(); - let v_W5152 = v_W5152.clone(); + let v_W5168 = { + let v_V5156 = v_V5156.clone(); + let v_V5157 = v_V5157.clone(); + let v_V5158 = v_V5158.clone(); + let v_V5159 = v_V5159.clone(); + let v_W5165 = v_W5165.clone(); + let v_W5166 = v_W5166.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5155 = args[0].clone(); + let v_Z5169 = args[0].clone(); Ok({ - let v_V5142 = - v_V5142.clone(); - let v_V5143 = - v_V5143.clone(); - let v_V5144 = - v_V5144.clone(); - let v_V5145 = - v_V5145.clone(); - let v_W5151 = - v_W5151.clone(); - let v_W5152 = - v_W5152.clone(); - let v_Z5155 = - v_Z5155.clone(); + let v_V5156 = + v_V5156.clone(); + let v_V5157 = + v_V5157.clone(); + let v_V5158 = + v_V5158.clone(); + let v_V5159 = + v_V5159.clone(); + let v_W5165 = + v_W5165.clone(); + let v_W5166 = + v_W5166.clone(); + let v_Z5169 = + v_Z5169.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5156 = + let v_Z5170 = args[0].clone(); Ok({ - let v_V5142 = - v_V5142 + let v_V5156 = + v_V5156 .clone( ); - let v_V5143 = - v_V5143 + let v_V5157 = + v_V5157 .clone( ); - let v_V5144 = - v_V5144 + let v_V5158 = + v_V5158 .clone( ); - let v_V5145 = - v_V5145 + let v_V5159 = + v_V5159 .clone( ); - let v_W5151 = - v_W5151 + let v_W5165 = + v_W5165 .clone( ); - let v_W5152 = - v_W5152 + let v_W5166 = + v_W5166 .clone( ); - let v_Z5155 = - v_Z5155 + let v_Z5169 = + v_Z5169 .clone( ); - let v_Z5156 = - v_Z5156 + let v_Z5170 = + v_Z5170 .clone( ); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z5157 = args[0].clone(); Ok({ let v_V5142 = v_V5142.clone(); let v_V5143 = v_V5143.clone(); let v_V5144 = v_V5144.clone(); let v_V5145 = v_V5145.clone(); let v_W5151 = v_W5151.clone(); let v_W5152 = v_W5152.clone(); let v_Z5155 = v_Z5155.clone(); let v_Z5156 = v_Z5156.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5158 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3962 = v_Z5155.clone(); let __t3963 = v_W5151.clone(); let __t3964 = v_V5142.clone(); let __t3965 = v_V5143.clone(); let __t3966 = v_V5144.clone(); let __t3980 = { let v_V5142 = v_V5142.clone(); let v_V5143 = v_V5143.clone(); let v_V5144 = v_V5144.clone(); let v_V5145 = v_V5145.clone(); let v_W5152 = v_W5152.clone(); let v_Z5156 = v_Z5156.clone(); let v_Z5158 = v_Z5158.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3967 = v_Z5156.clone(); let __t3969 = { let __t3968 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t3968])? }; let __t3970 = v_V5142.clone(); let __t3971 = v_V5143.clone(); let __t3972 = v_V5144.clone(); let __t3979 = { let v_V5142 = v_V5142.clone(); let v_V5143 = v_V5143.clone(); let v_V5144 = v_V5144.clone(); let v_V5145 = v_V5145.clone(); let v_W5152 = v_W5152.clone(); let v_Z5158 = v_Z5158.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3973 = v_W5152.clone(); let __t3974 = v_Z5158.clone(); let __t3975 = v_V5142.clone(); let __t3976 = v_V5143.clone(); let __t3977 = v_V5144.clone(); let __t3978 = v_V5145.clone(); rt::apply_direct(interp, "shen.p-hyps", &[__t3973, __t3974, __t3975, __t3976, __t3977, __t3978])? }), vec![v_V5142, v_V5143, v_V5144, v_V5145, v_W5152, v_Z5158], interp) }; rt::apply_direct(interp, "bind", &[__t3967, __t3969, __t3970, __t3971, __t3972, __t3979])? }), vec![v_V5142, v_V5143, v_V5144, v_V5145, v_W5152, v_Z5156, v_Z5158], interp) }; rt::apply_direct(interp, "bind", &[__t3962, __t3963, __t3964, __t3965, __t3966, __t3980])? } }) }, vec![v_V5142, v_V5143, v_V5144, v_V5145, v_W5151, v_W5152, v_Z5155, v_Z5156], interp) }) }, vec![v_V5142, v_V5143, v_V5144, v_V5145, v_W5151, v_W5152, v_Z5155, v_Z5156], interp) + rt::make_aot_closure("", 1, move |interp, args| { let v_Z5171 = args[0].clone(); Ok({ let v_V5156 = v_V5156.clone(); let v_V5157 = v_V5157.clone(); let v_V5158 = v_V5158.clone(); let v_V5159 = v_V5159.clone(); let v_W5165 = v_W5165.clone(); let v_W5166 = v_W5166.clone(); let v_Z5169 = v_Z5169.clone(); let v_Z5170 = v_Z5170.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5172 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3962 = v_Z5169.clone(); let __t3963 = v_W5165.clone(); let __t3964 = v_V5156.clone(); let __t3965 = v_V5157.clone(); let __t3966 = v_V5158.clone(); let __t3980 = { let v_V5156 = v_V5156.clone(); let v_V5157 = v_V5157.clone(); let v_V5158 = v_V5158.clone(); let v_V5159 = v_V5159.clone(); let v_W5166 = v_W5166.clone(); let v_Z5170 = v_Z5170.clone(); let v_Z5172 = v_Z5172.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3967 = v_Z5170.clone(); let __t3969 = { let __t3968 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t3968])? }; let __t3970 = v_V5156.clone(); let __t3971 = v_V5157.clone(); let __t3972 = v_V5158.clone(); let __t3979 = { let v_V5156 = v_V5156.clone(); let v_V5157 = v_V5157.clone(); let v_V5158 = v_V5158.clone(); let v_V5159 = v_V5159.clone(); let v_W5166 = v_W5166.clone(); let v_Z5172 = v_Z5172.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3973 = v_W5166.clone(); let __t3974 = v_Z5172.clone(); let __t3975 = v_V5156.clone(); let __t3976 = v_V5157.clone(); let __t3977 = v_V5158.clone(); let __t3978 = v_V5159.clone(); rt::apply_direct(interp, "shen.p-hyps", &[__t3973, __t3974, __t3975, __t3976, __t3977, __t3978])? }), vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5166, v_Z5172], interp) }; rt::apply_direct(interp, "bind", &[__t3967, __t3969, __t3970, __t3971, __t3972, __t3979])? }), vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5166, v_Z5170, v_Z5172], interp) }; rt::apply_direct(interp, "bind", &[__t3962, __t3963, __t3964, __t3965, __t3966, __t3980])? } }) }, vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5165, v_W5166, v_Z5169, v_Z5170], interp) }) }, vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5165, v_W5166, v_Z5169, v_Z5170], interp) }) }, vec![ - v_V5142, v_V5143, - v_V5144, v_V5145, - v_W5151, v_W5152, - v_Z5155, + v_V5156, v_V5157, + v_V5158, v_V5159, + v_W5165, v_W5166, + v_Z5169, ], interp, ) }) }, vec![ - v_V5142, v_V5143, v_V5144, - v_V5145, v_W5151, v_W5152, + v_V5156, v_V5157, v_V5158, + v_V5159, v_W5165, v_W5166, ], interp, ) }; { let __t3982 = { - let __t3981 = v_W5153.clone(); + let __t3981 = v_W5167.clone(); rt::is_cons(&__t3981) }; if match rt::is_truthy(interp, &__t3982) @@ -9739,14 +9739,14 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul Err(e) => break Err(e), } { { - let v_W5159 = { + let v_W5173 = { let __t3984 = { let __t3983 = - v_W5153.clone(); + v_W5167.clone(); rt::hd(&__t3983)? }; let __t3985 = - v_V5142.clone(); + v_V5156.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -9754,17 +9754,17 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul )? }; { - let v_W5160 = { - let v_W5153 = - v_W5153.clone(); - let v_W5154 = - v_W5154.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z5161 = args[0].clone(); Ok({ let v_W5153 = v_W5153.clone(); let v_W5154 = v_W5154.clone(); let v_Z5161 = v_Z5161.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5162 = args[0].clone(); Ok({ let v_W5153 = v_W5153.clone(); let v_W5154 = v_W5154.clone(); let v_Z5161 = v_Z5161.clone(); let v_Z5162 = v_Z5162.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5163 = args[0].clone(); Ok({ let v_W5164 = { let __t3986 = v_W5153.clone(); rt::tl(&__t3986)? }; { let __t3992 = { let __t3990 = { let __t3988 = { let __t3987 = v_Z5161.clone(); rt::apply_value(interp, v_W5154.clone(), &[__t3987])? }; let __t3989 = v_Z5162.clone(); rt::apply_value(interp, __t3988, &[__t3989])? }; let __t3991 = v_Z5163.clone(); rt::apply_value(interp, __t3990, &[__t3991])? }; let __t3993 = v_W5164.clone(); rt::apply_value(interp, __t3992, &[__t3993])? } }) }, vec![v_W5153, v_W5154, v_Z5161, v_Z5162], interp) }) }, vec![v_W5153, v_W5154, v_Z5161], interp) }) }, vec![v_W5153, v_W5154], interp) + let v_W5174 = { + let v_W5167 = + v_W5167.clone(); + let v_W5168 = + v_W5168.clone(); + rt::make_aot_closure("", 1, move |interp, args| { let v_Z5175 = args[0].clone(); Ok({ let v_W5167 = v_W5167.clone(); let v_W5168 = v_W5168.clone(); let v_Z5175 = v_Z5175.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5176 = args[0].clone(); Ok({ let v_W5167 = v_W5167.clone(); let v_W5168 = v_W5168.clone(); let v_Z5175 = v_Z5175.clone(); let v_Z5176 = v_Z5176.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5177 = args[0].clone(); Ok({ let v_W5178 = { let __t3986 = v_W5167.clone(); rt::tl(&__t3986)? }; { let __t3992 = { let __t3990 = { let __t3988 = { let __t3987 = v_Z5175.clone(); rt::apply_value(interp, v_W5168.clone(), &[__t3987])? }; let __t3989 = v_Z5176.clone(); rt::apply_value(interp, __t3988, &[__t3989])? }; let __t3991 = v_Z5177.clone(); rt::apply_value(interp, __t3990, &[__t3991])? }; let __t3993 = v_W5178.clone(); rt::apply_value(interp, __t3992, &[__t3993])? } }) }, vec![v_W5167, v_W5168, v_Z5175, v_Z5176], interp) }) }, vec![v_W5167, v_W5168, v_Z5175], interp) }) }, vec![v_W5167, v_W5168], interp) }; { let __t3995 = { let __t3994 = - v_W5159.clone(); + v_W5173.clone(); rt::is_cons( &__t3994, ) @@ -9778,28 +9778,28 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul } } { { - let v_W5165 = { - let __t3996 = v_W5159.clone(); + let v_W5179 = { + let __t3996 = v_W5173.clone(); rt::hd(&__t3996)? }; { - let v_W5166 = { + let v_W5180 = { let __t3998 = { - let __t3997 = v_W5159.clone(); + let __t3997 = v_W5173.clone(); rt::tl(&__t3997)? }; - let __t3999 = v_V5142.clone(); + let __t3999 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3998, __t3999])? }; { - let v_W5167 = { - let v_W5160 = v_W5160.clone(); - let v_W5165 = v_W5165.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z5168 = args[0].clone(); Ok({ let v_W5160 = v_W5160.clone(); let v_W5165 = v_W5165.clone(); let v_Z5168 = v_Z5168.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5169 = args[0].clone(); Ok({ let __t4003 = { let __t4001 = { let __t4000 = v_W5165.clone(); rt::apply_value(interp, v_W5160.clone(), &[__t4000])? }; let __t4002 = v_Z5168.clone(); rt::apply_value(interp, __t4001, &[__t4002])? }; let __t4004 = v_Z5169.clone(); rt::apply_value(interp, __t4003, &[__t4004])? }) }, vec![v_W5160, v_W5165, v_Z5168], interp) }) }, vec![v_W5160, v_W5165], interp) + let v_W5181 = { + let v_W5174 = v_W5174.clone(); + let v_W5179 = v_W5179.clone(); + rt::make_aot_closure("", 1, move |interp, args| { let v_Z5182 = args[0].clone(); Ok({ let v_W5174 = v_W5174.clone(); let v_W5179 = v_W5179.clone(); let v_Z5182 = v_Z5182.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5183 = args[0].clone(); Ok({ let __t4003 = { let __t4001 = { let __t4000 = v_W5179.clone(); rt::apply_value(interp, v_W5174.clone(), &[__t4000])? }; let __t4002 = v_Z5182.clone(); rt::apply_value(interp, __t4001, &[__t4002])? }; let __t4004 = v_Z5183.clone(); rt::apply_value(interp, __t4003, &[__t4004])? }) }, vec![v_W5174, v_W5179, v_Z5182], interp) }) }, vec![v_W5174, v_W5179], interp) }; { - let __t4006 = { let __t4005 = v_W5166.clone(); rt::is_cons(&__t4005) }; - if match rt::is_truthy(interp, &__t4006) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5170 = { let __t4007 = v_W5166.clone(); rt::hd(&__t4007)? }; { let v_W5171 = { let __t4009 = { let __t4008 = v_W5166.clone(); rt::tl(&__t4008)? }; let __t4010 = v_V5142.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4009, __t4010])? }; { let v_W5172 = { let v_W5167 = v_W5167.clone(); let v_W5170 = v_W5170.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5173 = args[0].clone(); Ok({ let __t4012 = { let __t4011 = v_W5170.clone(); rt::apply_value(interp, v_W5167.clone(), &[__t4011])? }; let __t4013 = v_Z5173.clone(); rt::apply_value(interp, __t4012, &[__t4013])? }) }, vec![v_W5167, v_W5170], interp) }; { let __t4015 = { let __t4014 = v_W5171.clone(); rt::is_cons(&__t4014) }; if match rt::is_truthy(interp, &__t4015) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5174 = { let __t4016 = v_W5171.clone(); rt::hd(&__t4016)? }; { let v_W5175 = { let __t4018 = { let __t4017 = v_W5171.clone(); rt::tl(&__t4017)? }; let __t4019 = v_V5142.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4018, __t4019])? }; { let v_W5176 = { let v_W5172 = v_W5172.clone(); let v_W5174 = v_W5174.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4020 = v_W5174.clone(); rt::apply_value(interp, v_W5172.clone(), &[__t4020])? }), vec![v_W5172, v_W5174], interp) }; { let __t4023 = { let __t4021 = v_W5175.clone(); let __t4022 = Value::nil(); rt::eq(&__t4021, &__t4022) }; if match rt::is_truthy(interp, &__t4023) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W5176.clone(), &[])?); } else { { let __t4025 = { let __t4024 = v_W5175.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4024])? }; if match rt::is_truthy(interp, &__t4025) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t4026 = v_W5175.clone(); let __t4027 = Value::nil(); let __t4028 = v_V5142.clone(); let __t4029 = v_W5176.clone(); rt::apply_direct(interp, "shen.bind!", &[__t4026, __t4027, __t4028, __t4029])? }); } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t4031 = { let __t4030 = v_W5171.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4030])? }; if match rt::is_truthy(interp, &__t4031) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5177 = { let __t4032 = v_V5142.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4032])? }; break Ok({ let __t4033 = v_V5142.clone(); let __t4041 = { let __t4034 = v_W5171.clone(); let __t4037 = { let __t4035 = v_W5177.clone(); let __t4036 = Value::nil(); rt::cons(&__t4035, &__t4036) }; let __t4038 = v_V5142.clone(); let __t4040 = { let v_W5172 = v_W5172.clone(); let v_W5177 = v_W5177.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4039 = v_W5177.clone(); rt::apply_value(interp, v_W5172.clone(), &[__t4039])? }), vec![v_W5172, v_W5177], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4034, __t4037, __t4038, __t4040])? }; rt::apply_direct(interp, "shen.gc", &[__t4033, __t4041])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t4043 = { let __t4042 = v_W5166.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4042])? }; if match rt::is_truthy(interp, &__t4043) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5178 = { let __t4044 = v_V5142.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4044])? }; break Ok({ let __t4045 = v_V5142.clone(); let __t4060 = { let v_W5179 = { let __t4046 = v_V5142.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4046])? }; { let __t4047 = v_V5142.clone(); let __t4059 = { let __t4048 = v_W5166.clone(); let __t4053 = { let __t4049 = v_W5178.clone(); let __t4052 = { let __t4050 = v_W5179.clone(); let __t4051 = Value::nil(); rt::cons(&__t4050, &__t4051) }; rt::cons(&__t4049, &__t4052) }; let __t4054 = v_V5142.clone(); let __t4058 = { let v_W5167 = v_W5167.clone(); let v_W5178 = v_W5178.clone(); let v_W5179 = v_W5179.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4056 = { let __t4055 = v_W5178.clone(); rt::apply_value(interp, v_W5167.clone(), &[__t4055])? }; let __t4057 = v_W5179.clone(); rt::apply_value(interp, __t4056, &[__t4057])? }), vec![v_W5167, v_W5178, v_W5179], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4048, __t4053, __t4054, __t4058])? }; rt::apply_direct(interp, "shen.gc", &[__t4047, __t4059])? } }; rt::apply_direct(interp, "shen.gc", &[__t4045, __t4060])? }); } } else { break Ok(Value::bool(false)); } } } + let __t4006 = { let __t4005 = v_W5180.clone(); rt::is_cons(&__t4005) }; + if match rt::is_truthy(interp, &__t4006) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5184 = { let __t4007 = v_W5180.clone(); rt::hd(&__t4007)? }; { let v_W5185 = { let __t4009 = { let __t4008 = v_W5180.clone(); rt::tl(&__t4008)? }; let __t4010 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4009, __t4010])? }; { let v_W5186 = { let v_W5181 = v_W5181.clone(); let v_W5184 = v_W5184.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5187 = args[0].clone(); Ok({ let __t4012 = { let __t4011 = v_W5184.clone(); rt::apply_value(interp, v_W5181.clone(), &[__t4011])? }; let __t4013 = v_Z5187.clone(); rt::apply_value(interp, __t4012, &[__t4013])? }) }, vec![v_W5181, v_W5184], interp) }; { let __t4015 = { let __t4014 = v_W5185.clone(); rt::is_cons(&__t4014) }; if match rt::is_truthy(interp, &__t4015) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5188 = { let __t4016 = v_W5185.clone(); rt::hd(&__t4016)? }; { let v_W5189 = { let __t4018 = { let __t4017 = v_W5185.clone(); rt::tl(&__t4017)? }; let __t4019 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4018, __t4019])? }; { let v_W5190 = { let v_W5186 = v_W5186.clone(); let v_W5188 = v_W5188.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4020 = v_W5188.clone(); rt::apply_value(interp, v_W5186.clone(), &[__t4020])? }), vec![v_W5186, v_W5188], interp) }; { let __t4023 = { let __t4021 = v_W5189.clone(); let __t4022 = Value::nil(); rt::eq(&__t4021, &__t4022) }; if match rt::is_truthy(interp, &__t4023) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W5190.clone(), &[])?); } else { { let __t4025 = { let __t4024 = v_W5189.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4024])? }; if match rt::is_truthy(interp, &__t4025) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t4026 = v_W5189.clone(); let __t4027 = Value::nil(); let __t4028 = v_V5156.clone(); let __t4029 = v_W5190.clone(); rt::apply_direct(interp, "shen.bind!", &[__t4026, __t4027, __t4028, __t4029])? }); } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t4031 = { let __t4030 = v_W5185.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4030])? }; if match rt::is_truthy(interp, &__t4031) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5191 = { let __t4032 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4032])? }; break Ok({ let __t4033 = v_V5156.clone(); let __t4041 = { let __t4034 = v_W5185.clone(); let __t4037 = { let __t4035 = v_W5191.clone(); let __t4036 = Value::nil(); rt::cons(&__t4035, &__t4036) }; let __t4038 = v_V5156.clone(); let __t4040 = { let v_W5186 = v_W5186.clone(); let v_W5191 = v_W5191.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4039 = v_W5191.clone(); rt::apply_value(interp, v_W5186.clone(), &[__t4039])? }), vec![v_W5186, v_W5191], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4034, __t4037, __t4038, __t4040])? }; rt::apply_direct(interp, "shen.gc", &[__t4033, __t4041])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t4043 = { let __t4042 = v_W5180.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4042])? }; if match rt::is_truthy(interp, &__t4043) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5192 = { let __t4044 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4044])? }; break Ok({ let __t4045 = v_V5156.clone(); let __t4060 = { let v_W5193 = { let __t4046 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4046])? }; { let __t4047 = v_V5156.clone(); let __t4059 = { let __t4048 = v_W5180.clone(); let __t4053 = { let __t4049 = v_W5192.clone(); let __t4052 = { let __t4050 = v_W5193.clone(); let __t4051 = Value::nil(); rt::cons(&__t4050, &__t4051) }; rt::cons(&__t4049, &__t4052) }; let __t4054 = v_V5156.clone(); let __t4058 = { let v_W5181 = v_W5181.clone(); let v_W5192 = v_W5192.clone(); let v_W5193 = v_W5193.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4056 = { let __t4055 = v_W5192.clone(); rt::apply_value(interp, v_W5181.clone(), &[__t4055])? }; let __t4057 = v_W5193.clone(); rt::apply_value(interp, __t4056, &[__t4057])? }), vec![v_W5181, v_W5192, v_W5193], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4048, __t4053, __t4054, __t4058])? }; rt::apply_direct(interp, "shen.gc", &[__t4047, __t4059])? } }; rt::apply_direct(interp, "shen.gc", &[__t4045, __t4060])? }); } } else { break Ok(Value::bool(false)); } } } } } } @@ -9807,10 +9807,10 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul } else { { let __t4062 = { - let __t4061 = v_W5159.clone(); + let __t4061 = v_W5173.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4061])? }; - if match rt::is_truthy(interp, &__t4062) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5180 = { let __t4063 = v_V5142.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4063])? }; break Ok({ let __t4064 = v_V5142.clone(); let __t4086 = { let v_W5181 = { let __t4065 = v_V5142.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4065])? }; { let __t4066 = v_V5142.clone(); let __t4085 = { let v_W5182 = { let __t4067 = v_V5142.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4067])? }; { let __t4068 = v_V5142.clone(); let __t4084 = { let __t4069 = v_W5159.clone(); let __t4076 = { let __t4070 = v_W5180.clone(); let __t4075 = { let __t4071 = v_W5181.clone(); let __t4074 = { let __t4072 = v_W5182.clone(); let __t4073 = Value::nil(); rt::cons(&__t4072, &__t4073) }; rt::cons(&__t4071, &__t4074) }; rt::cons(&__t4070, &__t4075) }; let __t4077 = v_V5142.clone(); let __t4083 = { let v_W5160 = v_W5160.clone(); let v_W5180 = v_W5180.clone(); let v_W5181 = v_W5181.clone(); let v_W5182 = v_W5182.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4081 = { let __t4079 = { let __t4078 = v_W5180.clone(); rt::apply_value(interp, v_W5160.clone(), &[__t4078])? }; let __t4080 = v_W5181.clone(); rt::apply_value(interp, __t4079, &[__t4080])? }; let __t4082 = v_W5182.clone(); rt::apply_value(interp, __t4081, &[__t4082])? }), vec![v_W5160, v_W5180, v_W5181, v_W5182], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4069, __t4076, __t4077, __t4083])? }; rt::apply_direct(interp, "shen.gc", &[__t4068, __t4084])? } }; rt::apply_direct(interp, "shen.gc", &[__t4066, __t4085])? } }; rt::apply_direct(interp, "shen.gc", &[__t4064, __t4086])? }); } } else { break Ok(Value::bool(false)); } + if match rt::is_truthy(interp, &__t4062) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5194 = { let __t4063 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4063])? }; break Ok({ let __t4064 = v_V5156.clone(); let __t4086 = { let v_W5195 = { let __t4065 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4065])? }; { let __t4066 = v_V5156.clone(); let __t4085 = { let v_W5196 = { let __t4067 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4067])? }; { let __t4068 = v_V5156.clone(); let __t4084 = { let __t4069 = v_W5173.clone(); let __t4076 = { let __t4070 = v_W5194.clone(); let __t4075 = { let __t4071 = v_W5195.clone(); let __t4074 = { let __t4072 = v_W5196.clone(); let __t4073 = Value::nil(); rt::cons(&__t4072, &__t4073) }; rt::cons(&__t4071, &__t4074) }; rt::cons(&__t4070, &__t4075) }; let __t4077 = v_V5156.clone(); let __t4083 = { let v_W5174 = v_W5174.clone(); let v_W5194 = v_W5194.clone(); let v_W5195 = v_W5195.clone(); let v_W5196 = v_W5196.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4081 = { let __t4079 = { let __t4078 = v_W5194.clone(); rt::apply_value(interp, v_W5174.clone(), &[__t4078])? }; let __t4080 = v_W5195.clone(); rt::apply_value(interp, __t4079, &[__t4080])? }; let __t4082 = v_W5196.clone(); rt::apply_value(interp, __t4081, &[__t4082])? }), vec![v_W5174, v_W5194, v_W5195, v_W5196], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4069, __t4076, __t4077, __t4083])? }; rt::apply_direct(interp, "shen.gc", &[__t4068, __t4084])? } }; rt::apply_direct(interp, "shen.gc", &[__t4066, __t4085])? } }; rt::apply_direct(interp, "shen.gc", &[__t4064, __t4086])? }); } } else { break Ok(Value::bool(false)); } } } } @@ -9820,7 +9820,7 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul { let __t4088 = { let __t4087 = - v_W5153.clone(); + v_W5167.clone(); rt::apply_direct( interp, "shen.pvar?", @@ -9834,9 +9834,9 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul Err(e) => break Err(e), } { { - let v_W5183 = { + let v_W5197 = { let __t4089 = - v_V5142.clone(); + v_V5156.clone(); rt::apply_direct( interp, "shen.newpv", @@ -9845,22 +9845,22 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul }; break Ok({ let __t4090 = - v_V5142.clone(); + v_V5156.clone(); let __t4119 = { - let v_W5184 = { - let __t4091 = v_V5142.clone(); + let v_W5198 = { + let __t4091 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4091])? }; { - let __t4092 = v_V5142.clone(); + let __t4092 = v_V5156.clone(); let __t4118 = { - let v_W5185 = { - let __t4093 = v_V5142.clone(); + let v_W5199 = { + let __t4093 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4093])? }; { - let __t4094 = v_V5142.clone(); - let __t4117 = { let v_W5186 = { let __t4095 = v_V5142.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4095])? }; { let __t4096 = v_V5142.clone(); let __t4116 = { let __t4097 = v_W5153.clone(); let __t4106 = { let __t4104 = { let __t4098 = v_W5183.clone(); let __t4103 = { let __t4099 = v_W5184.clone(); let __t4102 = { let __t4100 = v_W5185.clone(); let __t4101 = Value::nil(); rt::cons(&__t4100, &__t4101) }; rt::cons(&__t4099, &__t4102) }; rt::cons(&__t4098, &__t4103) }; let __t4105 = v_W5186.clone(); rt::cons(&__t4104, &__t4105) }; let __t4107 = v_V5142.clone(); let __t4115 = { let v_W5154 = v_W5154.clone(); let v_W5183 = v_W5183.clone(); let v_W5184 = v_W5184.clone(); let v_W5185 = v_W5185.clone(); let v_W5186 = v_W5186.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4113 = { let __t4111 = { let __t4109 = { let __t4108 = v_W5183.clone(); rt::apply_value(interp, v_W5154.clone(), &[__t4108])? }; let __t4110 = v_W5184.clone(); rt::apply_value(interp, __t4109, &[__t4110])? }; let __t4112 = v_W5185.clone(); rt::apply_value(interp, __t4111, &[__t4112])? }; let __t4114 = v_W5186.clone(); rt::apply_value(interp, __t4113, &[__t4114])? }), vec![v_W5154, v_W5183, v_W5184, v_W5185, v_W5186], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4097, __t4106, __t4107, __t4115])? }; rt::apply_direct(interp, "shen.gc", &[__t4096, __t4116])? } }; + let __t4094 = v_V5156.clone(); + let __t4117 = { let v_W5200 = { let __t4095 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4095])? }; { let __t4096 = v_V5156.clone(); let __t4116 = { let __t4097 = v_W5167.clone(); let __t4106 = { let __t4104 = { let __t4098 = v_W5197.clone(); let __t4103 = { let __t4099 = v_W5198.clone(); let __t4102 = { let __t4100 = v_W5199.clone(); let __t4101 = Value::nil(); rt::cons(&__t4100, &__t4101) }; rt::cons(&__t4099, &__t4102) }; rt::cons(&__t4098, &__t4103) }; let __t4105 = v_W5200.clone(); rt::cons(&__t4104, &__t4105) }; let __t4107 = v_V5156.clone(); let __t4115 = { let v_W5168 = v_W5168.clone(); let v_W5197 = v_W5197.clone(); let v_W5198 = v_W5198.clone(); let v_W5199 = v_W5199.clone(); let v_W5200 = v_W5200.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4113 = { let __t4111 = { let __t4109 = { let __t4108 = v_W5197.clone(); rt::apply_value(interp, v_W5168.clone(), &[__t4108])? }; let __t4110 = v_W5198.clone(); rt::apply_value(interp, __t4109, &[__t4110])? }; let __t4112 = v_W5199.clone(); rt::apply_value(interp, __t4111, &[__t4112])? }; let __t4114 = v_W5200.clone(); rt::apply_value(interp, __t4113, &[__t4114])? }), vec![v_W5168, v_W5197, v_W5198, v_W5199, v_W5200], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4097, __t4106, __t4107, __t4115])? }; rt::apply_direct(interp, "shen.gc", &[__t4096, __t4116])? } }; rt::apply_direct(interp, "shen.gc", &[__t4094, __t4117])? } }; @@ -9899,7 +9899,7 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul } } } else { - break Ok(v_W5146.clone()); + break Ok(v_W5160.clone()); } } } @@ -9920,53 +9920,53 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V5187 = args[0].clone(); + let mut v_V5201 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5188 = args[1].clone(); + let mut v_V5202 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5189 = args[2].clone(); + let mut v_V5203 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5190 = args[3].clone(); + let mut v_V5204 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5191 = args[4].clone(); + let mut v_V5205 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5192 = args[5].clone(); + let mut v_V5206 = args[5].clone(); #[allow(unused_mut)] - let mut v_V5193 = args[6].clone(); + let mut v_V5207 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5194 = { - let __t4120 = v_V5192.clone(); + let v_W5208 = { + let __t4120 = v_V5206.clone(); let __t4121 = Value::int(1i64); rt::add(&__t4120, &__t4121)? }; { - let v_W5195 = { + let v_W5209 = { let __t4192 = { - let __t4122 = v_V5191.clone(); + let __t4122 = v_V5205.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t4122])? }; if rt::is_truthy(interp, &__t4192)? { { - let v_W5196 = { - let __t4123 = v_V5187.clone(); - let __t4124 = v_V5190.clone(); + let v_W5210 = { + let __t4123 = v_V5201.clone(); + let __t4124 = v_V5204.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4123, __t4124])? }; { let __t4191 = { - let __t4125 = v_W5196.clone(); + let __t4125 = v_W5210.clone(); rt::is_cons(&__t4125) }; if rt::is_truthy(interp, &__t4191)? { { - let v_W5197 = { + let v_W5211 = { let __t4127 = { - let __t4126 = v_W5196.clone(); + let __t4126 = v_W5210.clone(); rt::hd(&__t4126)? }; - let __t4128 = v_V5190.clone(); + let __t4128 = v_V5204.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -9975,18 +9975,18 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S }; { let __t4190 = { - let __t4129 = v_W5197.clone(); + let __t4129 = v_W5211.clone(); let __t4130 = Value::sym(interp.intern("where")); rt::eq(&__t4129, &__t4130) }; if rt::is_truthy(interp, &__t4190)? { { - let v_W5198 = { + let v_W5212 = { let __t4132 = { - let __t4131 = v_W5196.clone(); + let __t4131 = v_W5210.clone(); rt::tl(&__t4131)? }; - let __t4133 = v_V5190.clone(); + let __t4133 = v_V5204.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -9995,24 +9995,24 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S }; { let __t4189 = { - let __t4134 = v_W5198.clone(); + let __t4134 = v_W5212.clone(); rt::is_cons(&__t4134) }; if rt::is_truthy(interp, &__t4189)? { { - let v_W5199 = { - let __t4135 = v_W5198.clone(); + let v_W5213 = { + let __t4135 = v_W5212.clone(); rt::hd(&__t4135)? }; { - let v_W5200 = { + let v_W5214 = { let __t4137 = { let __t4136 = - v_W5198.clone(); + v_W5212.clone(); rt::tl(&__t4136)? }; let __t4138 = - v_V5190.clone(); + v_V5204.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -10022,16 +10022,16 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S { let __t4188 = { let __t4139 = - v_W5200.clone(); + v_W5214.clone(); rt::is_cons(&__t4139) }; if rt::is_truthy( interp, &__t4188, )? { { - let v_W5201 = { + let v_W5215 = { let __t4140 = - v_W5200 + v_W5214 .clone( ); rt::hd( @@ -10039,21 +10039,21 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S )? }; { - let v_W5202 = { + let v_W5216 = { let __t4142 = { - let __t4141 = v_W5200.clone(); + let __t4141 = v_W5214.clone(); rt::tl(&__t4141)? }; - let __t4143 = v_V5190.clone(); + let __t4143 = v_V5204.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4142, __t4143])? }; { let __t4187 = { - let __t4144 = v_W5202.clone(); + let __t4144 = v_W5216.clone(); let __t4145 = Value::nil(); rt::eq(&__t4144, &__t4145) }; - if rt::is_truthy(interp, &__t4187)? { { let v_W5203 = { let __t4146 = v_V5190.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4146])? }; { let __t4147 = v_V5190.clone(); let __t4186 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t4148 = v_V5190.clone(); let __t4149 = v_V5191.clone(); let __t4150 = v_W5194.clone(); let __t4185 = { let v_V5188 = v_V5188.clone(); let v_V5189 = v_V5189.clone(); let v_V5190 = v_V5190.clone(); let v_V5191 = v_V5191.clone(); let v_V5193 = v_V5193.clone(); let v_W5194 = v_W5194.clone(); let v_W5199 = v_W5199.clone(); let v_W5201 = v_W5201.clone(); let v_W5203 = v_W5203.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4151 = v_W5203.clone(); let __t4153 = { let __t4152 = v_W5199.clone(); rt::apply_direct(interp, "shen.curry", &[__t4152])? }; let __t4154 = v_V5190.clone(); let __t4155 = v_V5191.clone(); let __t4156 = v_W5194.clone(); let __t4184 = { let v_V5188 = v_V5188.clone(); let v_V5189 = v_V5189.clone(); let v_V5190 = v_V5190.clone(); let v_V5191 = v_V5191.clone(); let v_V5193 = v_V5193.clone(); let v_W5194 = v_W5194.clone(); let v_W5201 = v_W5201.clone(); let v_W5203 = v_W5203.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4157 = v_W5203.clone(); let __t4158 = Value::sym(interp.intern("boolean")); let __t4159 = v_V5189.clone(); let __t4160 = v_V5190.clone(); let __t4161 = v_V5191.clone(); let __t4162 = v_W5194.clone(); let __t4183 = { let v_V5188 = v_V5188.clone(); let v_V5189 = v_V5189.clone(); let v_V5190 = v_V5190.clone(); let v_V5191 = v_V5191.clone(); let v_V5193 = v_V5193.clone(); let v_W5194 = v_W5194.clone(); let v_W5201 = v_W5201.clone(); let v_W5203 = v_W5203.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4163 = v_V5190.clone(); let __t4164 = v_V5191.clone(); let __t4165 = v_W5194.clone(); let __t4182 = { let v_V5188 = v_V5188.clone(); let v_V5189 = v_V5189.clone(); let v_V5190 = v_V5190.clone(); let v_V5191 = v_V5191.clone(); let v_V5193 = v_V5193.clone(); let v_W5194 = v_W5194.clone(); let v_W5201 = v_W5201.clone(); let v_W5203 = v_W5203.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4166 = v_W5201.clone(); let __t4167 = v_V5188.clone(); let __t4177 = { let __t4175 = { let __t4168 = v_W5203.clone(); let __t4174 = { let __t4170 = { let __t4169 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t4169])? }; let __t4173 = { let __t4171 = Value::sym(interp.intern("verified")); let __t4172 = Value::nil(); rt::cons(&__t4171, &__t4172) }; rt::cons(&__t4170, &__t4173) }; rt::cons(&__t4168, &__t4174) }; let __t4176 = v_V5189.clone(); rt::cons(&__t4175, &__t4176) }; let __t4178 = v_V5190.clone(); let __t4179 = v_V5191.clone(); let __t4180 = v_W5194.clone(); let __t4181 = v_V5193.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t4166, __t4167, __t4177, __t4178, __t4179, __t4180, __t4181])? }), vec![v_V5188, v_V5189, v_V5190, v_V5191, v_V5193, v_W5194, v_W5201, v_W5203], interp) }; rt::apply_direct(interp, "shen.cut", &[__t4163, __t4164, __t4165, __t4182])? }), vec![v_V5188, v_V5189, v_V5190, v_V5191, v_V5193, v_W5194, v_W5201, v_W5203], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t4157, __t4158, __t4159, __t4160, __t4161, __t4162, __t4183])? }), vec![v_V5188, v_V5189, v_V5190, v_V5191, v_V5193, v_W5194, v_W5201, v_W5203], interp) }; rt::apply_direct(interp, "bind", &[__t4151, __t4153, __t4154, __t4155, __t4156, __t4184])? }), vec![v_V5188, v_V5189, v_V5190, v_V5191, v_V5193, v_W5194, v_W5199, v_W5201, v_W5203], interp) }; rt::apply_direct(interp, "shen.cut", &[__t4148, __t4149, __t4150, __t4185])? } }; rt::apply_direct(interp, "shen.gc", &[__t4147, __t4186])? } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t4187)? { { let v_W5217 = { let __t4146 = v_V5204.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4146])? }; { let __t4147 = v_V5204.clone(); let __t4186 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t4148 = v_V5204.clone(); let __t4149 = v_V5205.clone(); let __t4150 = v_W5208.clone(); let __t4185 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5213 = v_W5213.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4151 = v_W5217.clone(); let __t4153 = { let __t4152 = v_W5213.clone(); rt::apply_direct(interp, "shen.curry", &[__t4152])? }; let __t4154 = v_V5204.clone(); let __t4155 = v_V5205.clone(); let __t4156 = v_W5208.clone(); let __t4184 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4157 = v_W5217.clone(); let __t4158 = Value::sym(interp.intern("boolean")); let __t4159 = v_V5203.clone(); let __t4160 = v_V5204.clone(); let __t4161 = v_V5205.clone(); let __t4162 = v_W5208.clone(); let __t4183 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4163 = v_V5204.clone(); let __t4164 = v_V5205.clone(); let __t4165 = v_W5208.clone(); let __t4182 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4166 = v_W5215.clone(); let __t4167 = v_V5202.clone(); let __t4177 = { let __t4175 = { let __t4168 = v_W5217.clone(); let __t4174 = { let __t4170 = { let __t4169 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t4169])? }; let __t4173 = { let __t4171 = Value::sym(interp.intern("verified")); let __t4172 = Value::nil(); rt::cons(&__t4171, &__t4172) }; rt::cons(&__t4170, &__t4173) }; rt::cons(&__t4168, &__t4174) }; let __t4176 = v_V5203.clone(); rt::cons(&__t4175, &__t4176) }; let __t4178 = v_V5204.clone(); let __t4179 = v_V5205.clone(); let __t4180 = v_W5208.clone(); let __t4181 = v_V5207.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t4166, __t4167, __t4177, __t4178, __t4179, __t4180, __t4181])? }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5215, v_W5217], interp) }; rt::apply_direct(interp, "shen.cut", &[__t4163, __t4164, __t4165, __t4182])? }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5215, v_W5217], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t4157, __t4158, __t4159, __t4160, __t4161, __t4162, __t4183])? }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5215, v_W5217], interp) }; rt::apply_direct(interp, "bind", &[__t4151, __t4153, __t4154, __t4155, __t4156, __t4184])? }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5213, v_W5215, v_W5217], interp) }; rt::apply_direct(interp, "shen.cut", &[__t4148, __t4149, __t4150, __t4185])? } }; rt::apply_direct(interp, "shen.gc", &[__t4147, __t4186])? } } } else { Value::bool(false) } } } } @@ -10084,7 +10084,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S }; { let __t4195 = { - let __t4193 = v_W5195.clone(); + let __t4193 = v_W5209.clone(); let __t4194 = Value::bool(false); rt::eq(&__t4193, &__t4194) }; @@ -10093,9 +10093,9 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W5204 = { + let v_W5218 = { let __t4205 = { - let __t4196 = v_V5191.clone(); + let __t4196 = v_V5205.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t4196])? }; if rt::is_truthy(interp, &__t4205)? { @@ -10103,15 +10103,15 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t4198 = { - let __t4197 = v_V5187.clone(); + let __t4197 = v_V5201.clone(); rt::apply_direct(interp, "shen.curry", &[__t4197])? }; - let __t4199 = v_V5188.clone(); - let __t4200 = v_V5189.clone(); - let __t4201 = v_V5190.clone(); - let __t4202 = v_V5191.clone(); - let __t4203 = v_W5194.clone(); - let __t4204 = v_V5193.clone(); + let __t4199 = v_V5202.clone(); + let __t4200 = v_V5203.clone(); + let __t4201 = v_V5204.clone(); + let __t4202 = v_V5205.clone(); + let __t4203 = v_W5208.clone(); + let __t4204 = v_V5207.clone(); rt::apply_direct( interp, "shen.system-S-h", @@ -10128,7 +10128,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S }; { let __t4208 = { - let __t4206 = v_W5204.clone(); + let __t4206 = v_W5218.clone(); let __t4207 = Value::bool(false); rt::eq(&__t4206, &__t4207) }; @@ -10137,8 +10137,8 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { break Ok({ - let __t4209 = v_V5191.clone(); - let __t4210 = v_W5194.clone(); + let __t4209 = v_V5205.clone(); + let __t4210 = v_W5208.clone(); rt::apply_direct( interp, "shen.unlock", @@ -10146,12 +10146,12 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S )? }); } else { - break Ok(v_W5204.clone()); + break Ok(v_W5218.clone()); } } } } else { - break Ok(v_W5195.clone()); + break Ok(v_W5209.clone()); } } } @@ -10173,39 +10173,39 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V5205 = args[0].clone(); + let mut v_V5219 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5206 = args[1].clone(); + let mut v_V5220 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5207 = args[2].clone(); + let mut v_V5221 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5208 = args[3].clone(); + let mut v_V5222 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5209 = args[4].clone(); + let mut v_V5223 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5210 = args[5].clone(); + let mut v_V5224 = args[5].clone(); #[allow(unused_mut)] - let mut v_V5211 = args[6].clone(); + let mut v_V5225 = args[6].clone(); #[allow(unused_mut)] - let mut v_V5212 = args[7].clone(); + let mut v_V5226 = args[7].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5213 = { + let v_W5227 = { let __t4223 = { - let __t4211 = v_V5210.clone(); + let __t4211 = v_V5224.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t4211])? }; if rt::is_truthy(interp, &__t4223)? { { - let v_W5214 = { - let __t4212 = v_V5205.clone(); - let __t4213 = v_V5209.clone(); + let v_W5228 = { + let __t4212 = v_V5219.clone(); + let __t4213 = v_V5223.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4212, __t4213])? }; { let __t4222 = { - let __t4214 = v_W5214.clone(); + let __t4214 = v_W5228.clone(); let __t4215 = Value::nil(); rt::eq(&__t4214, &__t4215) }; @@ -10213,12 +10213,12 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t4216 = v_V5206.clone(); - let __t4217 = v_V5208.clone(); - let __t4218 = v_V5209.clone(); - let __t4219 = v_V5210.clone(); - let __t4220 = v_V5211.clone(); - let __t4221 = v_V5212.clone(); + let __t4216 = v_V5220.clone(); + let __t4217 = v_V5222.clone(); + let __t4218 = v_V5223.clone(); + let __t4219 = v_V5224.clone(); + let __t4220 = v_V5225.clone(); + let __t4221 = v_V5226.clone(); rt::apply_direct( interp, "is!", @@ -10237,7 +10237,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> }; { let __t4226 = { - let __t4224 = v_W5213.clone(); + let __t4224 = v_W5227.clone(); let __t4225 = Value::bool(false); rt::eq(&__t4224, &__t4225) }; @@ -10247,7 +10247,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> } { { let __t4228 = { - let __t4227 = v_V5210.clone(); + let __t4227 = v_V5224.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t4227])? }; if match rt::is_truthy(interp, &__t4228) { @@ -10255,14 +10255,14 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W5215 = { - let __t4229 = v_V5205.clone(); - let __t4230 = v_V5209.clone(); + let v_W5229 = { + let __t4229 = v_V5219.clone(); + let __t4230 = v_V5223.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4229, __t4230])? }; { let __t4232 = { - let __t4231 = v_W5215.clone(); + let __t4231 = v_W5229.clone(); rt::is_cons(&__t4231) }; if match rt::is_truthy(interp, &__t4232) { @@ -10270,19 +10270,19 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W5216 = { - let __t4233 = v_W5215.clone(); + let v_W5230 = { + let __t4233 = v_W5229.clone(); rt::hd(&__t4233)? }; { - let v_W5217 = { - let __t4234 = v_W5215.clone(); + let v_W5231 = { + let __t4234 = v_W5229.clone(); rt::tl(&__t4234)? }; { - let v_W5218 = { - let __t4235 = v_V5206.clone(); - let __t4236 = v_V5209.clone(); + let v_W5232 = { + let __t4235 = v_V5220.clone(); + let __t4236 = v_V5223.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -10291,7 +10291,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> }; { let __t4238 = { - let __t4237 = v_W5218.clone(); + let __t4237 = v_W5232.clone(); rt::is_cons(&__t4237) }; if match rt::is_truthy(interp, &__t4238) { @@ -10299,19 +10299,19 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W5219 = { - let __t4239 = v_W5218.clone(); + let v_W5233 = { + let __t4239 = v_W5232.clone(); rt::hd(&__t4239)? }; { - let v_W5220 = { + let v_W5234 = { let __t4241 = { let __t4240 = - v_W5218.clone(); + v_W5232.clone(); rt::tl(&__t4240)? }; let __t4242 = - v_V5209.clone(); + v_V5223.clone(); rt::apply_direct( interp, "shen.lazyderef", @@ -10321,7 +10321,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> { let __t4244 = { let __t4243 = - v_W5220.clone(); + v_W5234.clone(); rt::is_cons(&__t4243) }; if match rt::is_truthy( @@ -10331,24 +10331,24 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { { - let v_W5221 = { + let v_W5235 = { let __t4246 = { - let __t4245 = v_W5220.clone(); + let __t4245 = v_W5234.clone(); rt::hd(&__t4245)? }; let __t4247 = - v_V5209 + v_V5223 .clone( ); rt::apply_direct(interp, "shen.lazyderef", &[__t4246, __t4247])? }; { let __t4250 = { - let __t4248 = v_W5221.clone(); + let __t4248 = v_W5235.clone(); let __t4249 = Value::sym(interp.intern("-->")); rt::eq(&__t4248, &__t4249) }; - if match rt::is_truthy(interp, &__t4250) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5222 = { let __t4252 = { let __t4251 = v_W5220.clone(); rt::tl(&__t4251)? }; let __t4253 = v_V5209.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4252, __t4253])? }; { let __t4255 = { let __t4254 = v_W5222.clone(); rt::is_cons(&__t4254) }; if match rt::is_truthy(interp, &__t4255) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5223 = { let __t4256 = v_W5222.clone(); rt::hd(&__t4256)? }; { let v_W5224 = { let __t4258 = { let __t4257 = v_W5222.clone(); rt::tl(&__t4257)? }; let __t4259 = v_V5209.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4258, __t4259])? }; { let __t4262 = { let __t4260 = v_W5224.clone(); let __t4261 = Value::nil(); rt::eq(&__t4260, &__t4261) }; if match rt::is_truthy(interp, &__t4262) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; break Ok({ let __t4263 = v_W5216.clone(); let __t4264 = v_W5219.clone(); let __t4265 = v_V5207.clone(); let __t4266 = v_V5209.clone(); let __t4267 = v_V5210.clone(); let __t4268 = v_V5211.clone(); let __t4277 = { let v_V5207 = v_V5207.clone(); let v_V5208 = v_V5208.clone(); let v_V5209 = v_V5209.clone(); let v_V5210 = v_V5210.clone(); let v_V5211 = v_V5211.clone(); let v_V5212 = v_V5212.clone(); let v_W5217 = v_W5217.clone(); let v_W5223 = v_W5223.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4269 = v_W5217.clone(); let __t4270 = v_W5223.clone(); let __t4271 = v_V5207.clone(); let __t4272 = v_V5208.clone(); let __t4273 = v_V5209.clone(); let __t4274 = v_V5210.clone(); let __t4275 = v_V5211.clone(); let __t4276 = v_V5212.clone(); rt::apply_direct(interp, "shen.t*-integrity", &[__t4269, __t4270, __t4271, __t4272, __t4273, __t4274, __t4275, __t4276])? }), vec![v_V5207, v_V5208, v_V5209, v_V5210, v_V5211, v_V5212, v_W5217, v_W5223], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t4263, __t4264, __t4265, __t4266, __t4267, __t4268, __t4277])? }); } } else { break Ok(Value::bool(false)); } } } } } else { break Ok(Value::bool(false)); } } } } else { break Ok(Value::bool(false)); } + if match rt::is_truthy(interp, &__t4250) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5236 = { let __t4252 = { let __t4251 = v_W5234.clone(); rt::tl(&__t4251)? }; let __t4253 = v_V5223.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4252, __t4253])? }; { let __t4255 = { let __t4254 = v_W5236.clone(); rt::is_cons(&__t4254) }; if match rt::is_truthy(interp, &__t4255) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5237 = { let __t4256 = v_W5236.clone(); rt::hd(&__t4256)? }; { let v_W5238 = { let __t4258 = { let __t4257 = v_W5236.clone(); rt::tl(&__t4257)? }; let __t4259 = v_V5223.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4258, __t4259])? }; { let __t4262 = { let __t4260 = v_W5238.clone(); let __t4261 = Value::nil(); rt::eq(&__t4260, &__t4261) }; if match rt::is_truthy(interp, &__t4262) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; break Ok({ let __t4263 = v_W5230.clone(); let __t4264 = v_W5233.clone(); let __t4265 = v_V5221.clone(); let __t4266 = v_V5223.clone(); let __t4267 = v_V5224.clone(); let __t4268 = v_V5225.clone(); let __t4277 = { let v_V5221 = v_V5221.clone(); let v_V5222 = v_V5222.clone(); let v_V5223 = v_V5223.clone(); let v_V5224 = v_V5224.clone(); let v_V5225 = v_V5225.clone(); let v_V5226 = v_V5226.clone(); let v_W5231 = v_W5231.clone(); let v_W5237 = v_W5237.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4269 = v_W5231.clone(); let __t4270 = v_W5237.clone(); let __t4271 = v_V5221.clone(); let __t4272 = v_V5222.clone(); let __t4273 = v_V5223.clone(); let __t4274 = v_V5224.clone(); let __t4275 = v_V5225.clone(); let __t4276 = v_V5226.clone(); rt::apply_direct(interp, "shen.t*-integrity", &[__t4269, __t4270, __t4271, __t4272, __t4273, __t4274, __t4275, __t4276])? }), vec![v_V5221, v_V5222, v_V5223, v_V5224, v_V5225, v_V5226, v_W5231, v_W5237], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t4263, __t4264, __t4265, __t4266, __t4267, __t4268, __t4277])? }); } } else { break Ok(Value::bool(false)); } } } } } else { break Ok(Value::bool(false)); } } } } else { break Ok(Value::bool(false)); } } } } else { @@ -10376,7 +10376,7 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> } } } else { - break Ok(v_W5213.clone()); + break Ok(v_W5227.clone()); } } } @@ -10397,12 +10397,12 @@ pub fn aot_shen_x2e_freshterm_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V5225 = args[0].clone(); + let mut v_V5239 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t4279 = { - let __t4278 = v_V5225.clone(); + let __t4278 = v_V5239.clone(); rt::is_absvector(&__t4278) }; if !match rt::is_truthy(interp, &__t4279) { @@ -10414,7 +10414,7 @@ pub fn aot_shen_x2e_freshterm_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR { let __t4282 = { let __t4281 = { - let __t4280 = v_V5225.clone(); + let __t4280 = v_V5239.clone(); rt::is_string(&__t4280) }; rt::apply_direct(interp, "not", &[__t4281])? @@ -10427,7 +10427,7 @@ pub fn aot_shen_x2e_freshterm_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR } else { break Ok({ let __t4285 = { - let __t4283 = v_V5225.clone(); + let __t4283 = v_V5239.clone(); let __t4284 = Value::int(0i64); rt::apply_direct(interp, "<-address", &[__t4283, __t4284])? }; diff --git a/crates/shen-rust/src/aot/kernel/toplevel.rs b/crates/shen-rust/src/aot/kernel/toplevel.rs index 0bff8b1..2e78207 100644 --- a/crates/shen-rust/src/aot/kernel/toplevel.rs +++ b/crates/shen-rust/src/aot/kernel/toplevel.rs @@ -70,11 +70,11 @@ pub fn aot_shen_x2e_loop(interp: &mut Interp, args: &[Value]) -> ShenResult", 1, move |interp, args| { - let v_Z5248 = args[0].clone(); + let v_Z5262 = args[0].clone(); Ok({ let _ = { let __t1 = { - let __t0 = v_Z5248.clone(); + let __t0 = v_Z5262.clone(); rt::apply_direct( interp, "error-to-string", @@ -358,13 +358,13 @@ pub fn aot_shen_x2e_read_x2d_evaluate_x2d_print( #[allow(clippy::never_loop)] loop { { - let v_W5249 = { + let v_W5263 = { let __t70 = Value::sym(interp.intern("shen.*package*")); rt::apply_direct(interp, "value", &[__t70])? }; { - let v_W5250 = { - let __t71 = v_W5249.clone(); + let v_W5264 = { + let __t71 = v_W5263.clone(); let __t73 = { let __t72 = { rt::apply_direct(interp, "stinput", &[])? }; rt::apply_direct(interp, "lineread", &[__t72])? @@ -372,10 +372,10 @@ pub fn aot_shen_x2e_read_x2d_evaluate_x2d_print( rt::apply_direct(interp, "shen.package-user-input", &[__t71, __t73])? }; { - let v_W5251 = { rt::apply_direct(interp, "shen.update-history", &[])? }; + let v_W5265 = { rt::apply_direct(interp, "shen.update-history", &[])? }; break Ok({ - let __t74 = v_W5250.clone(); - let __t75 = v_W5251.clone(); + let __t74 = v_W5264.clone(); + let __t75 = v_W5265.clone(); let __t77 = { let __t76 = Value::sym(interp.intern("shen.*tc*")); rt::apply_direct(interp, "value", &[__t76])? @@ -412,22 +412,22 @@ pub fn aot_shen_x2e_package_x2d_user_x2d_input( ))); } #[allow(unused_mut)] - let mut v_V5252 = args[0].clone(); + let mut v_V5266 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5253 = args[1].clone(); + let mut v_V5267 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t88 = { let __t86 = Value::sym(interp.intern("null")); - let __t87 = v_V5252.clone(); + let __t87 = v_V5266.clone(); rt::eq(&__t86, &__t87) }; if match rt::is_truthy(interp, &__t88) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5253.clone()); + break Ok(v_V5267.clone()); } else { { let __t85 = Value::bool(true); @@ -436,28 +436,28 @@ pub fn aot_shen_x2e_package_x2d_user_x2d_input( Err(e) => break Err(e), } { { - let v_W5254 = { - let __t78 = v_V5252.clone(); + let v_W5268 = { + let __t78 = v_V5266.clone(); rt::apply_direct(interp, "str", &[__t78])? }; { - let v_W5255 = { - let __t79 = v_V5252.clone(); + let v_W5269 = { + let __t79 = v_V5266.clone(); rt::apply_direct(interp, "external", &[__t79])? }; break Ok({ let __t83 = { - let v_W5254 = v_W5254.clone(); - let v_W5255 = v_W5255.clone(); + let v_W5268 = v_W5268.clone(); + let v_W5269 = v_W5269.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5256 = args[0].clone(); + let v_Z5270 = args[0].clone(); Ok({ - let __t80 = v_W5254.clone(); - let __t81 = v_W5255.clone(); - let __t82 = v_Z5256.clone(); + let __t80 = v_W5268.clone(); + let __t81 = v_W5269.clone(); + let __t82 = v_Z5270.clone(); rt::apply_direct( interp, "shen.pui-h", @@ -465,11 +465,11 @@ pub fn aot_shen_x2e_package_x2d_user_x2d_input( )? }) }, - vec![v_W5254, v_W5255], + vec![v_W5268, v_W5269], interp, ) }; - let __t84 = v_V5253.clone(); + let __t84 = v_V5267.clone(); rt::apply_direct(interp, "map", &[__t83, __t84])? }); } @@ -504,17 +504,17 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V5261 = args[0].clone(); + let mut v_V5275 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5262 = args[1].clone(); + let mut v_V5276 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5263 = args[2].clone(); + let mut v_V5277 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t155 = { let __t139 = { - let __t125 = v_V5263.clone(); + let __t125 = v_V5277.clone(); rt::is_cons(&__t125) }; if !rt::is_truthy(interp, &__t139)? { @@ -524,7 +524,7 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult let __t137 = { let __t126 = Value::sym(interp.intern("fn")); let __t128 = { - let __t127 = v_V5263.clone(); + let __t127 = v_V5277.clone(); rt::hd(&__t127)? }; rt::eq(&__t126, &__t128) @@ -535,7 +535,7 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult let __t138 = { let __t135 = { let __t130 = { - let __t129 = v_V5263.clone(); + let __t129 = v_V5277.clone(); rt::tl(&__t129)? }; rt::is_cons(&__t130) @@ -547,7 +547,7 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult let __t131 = Value::nil(); let __t134 = { let __t133 = { - let __t132 = v_V5263.clone(); + let __t132 = v_V5277.clone(); rt::tl(&__t132)? }; rt::tl(&__t133)? @@ -571,13 +571,13 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult let __t146 = { let __t143 = { let __t142 = { - let __t141 = v_V5263.clone(); + let __t141 = v_V5277.clone(); rt::tl(&__t141)? }; rt::hd(&__t142)? }; - let __t144 = v_V5261.clone(); - let __t145 = v_V5262.clone(); + let __t144 = v_V5275.clone(); + let __t145 = v_V5276.clone(); rt::apply_direct(interp, "shen.internal?", &[__t143, __t144, __t145])? }; if match rt::is_truthy(interp, &__t146) { @@ -588,10 +588,10 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult let __t147 = Value::sym(interp.intern("fn")); let __t154 = { let __t152 = { - let __t148 = v_V5261.clone(); + let __t148 = v_V5275.clone(); let __t151 = { let __t150 = { - let __t149 = v_V5263.clone(); + let __t149 = v_V5277.clone(); rt::tl(&__t149)? }; rt::hd(&__t150)? @@ -608,13 +608,13 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult rt::cons(&__t147, &__t154) }); } else { - break Ok(v_V5263.clone()); + break Ok(v_V5277.clone()); } } } else { { let __t124 = { - let __t90 = v_V5263.clone(); + let __t90 = v_V5277.clone(); rt::is_cons(&__t90) }; if match rt::is_truthy(interp, &__t124) { @@ -624,11 +624,11 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t95 = { let __t92 = { - let __t91 = v_V5263.clone(); + let __t91 = v_V5277.clone(); rt::hd(&__t91)? }; - let __t93 = v_V5261.clone(); - let __t94 = v_V5262.clone(); + let __t93 = v_V5275.clone(); + let __t94 = v_V5276.clone(); rt::apply_direct(interp, "shen.internal?", &[__t92, __t93, __t94])? }; if match rt::is_truthy(interp, &__t95) { @@ -637,9 +637,9 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult } { break Ok({ let __t99 = { - let __t96 = v_V5261.clone(); + let __t96 = v_V5275.clone(); let __t98 = { - let __t97 = v_V5263.clone(); + let __t97 = v_V5277.clone(); rt::hd(&__t97)? }; rt::apply_direct( @@ -650,17 +650,17 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult }; let __t106 = { let __t103 = { - let v_V5261 = v_V5261.clone(); - let v_V5262 = v_V5262.clone(); + let v_V5275 = v_V5275.clone(); + let v_V5276 = v_V5276.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5264 = args[0].clone(); + let v_Z5278 = args[0].clone(); Ok({ - let __t100 = v_V5261.clone(); - let __t101 = v_V5262.clone(); - let __t102 = v_Z5264.clone(); + let __t100 = v_V5275.clone(); + let __t101 = v_V5276.clone(); + let __t102 = v_Z5278.clone(); rt::apply_direct( interp, "shen.pui-h", @@ -668,12 +668,12 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult )? }) }, - vec![v_V5261, v_V5262], + vec![v_V5275, v_V5276], interp, ) }; let __t105 = { - let __t104 = v_V5263.clone(); + let __t104 = v_V5277.clone(); rt::tl(&__t104)? }; rt::apply_direct(interp, "map", &[__t103, __t105])? @@ -684,7 +684,7 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t109 = { let __t108 = { - let __t107 = v_V5263.clone(); + let __t107 = v_V5277.clone(); rt::hd(&__t107)? }; rt::is_cons(&__t108) @@ -695,17 +695,17 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult } { break Ok({ let __t113 = { - let v_V5261 = v_V5261.clone(); - let v_V5262 = v_V5262.clone(); + let v_V5275 = v_V5275.clone(); + let v_V5276 = v_V5276.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5265 = args[0].clone(); + let v_Z5279 = args[0].clone(); Ok({ - let __t110 = v_V5261.clone(); - let __t111 = v_V5262.clone(); - let __t112 = v_Z5265.clone(); + let __t110 = v_V5275.clone(); + let __t111 = v_V5276.clone(); + let __t112 = v_Z5279.clone(); rt::apply_direct( interp, "shen.pui-h", @@ -713,32 +713,32 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult )? }) }, - vec![v_V5261, v_V5262], + vec![v_V5275, v_V5276], interp, ) }; - let __t114 = v_V5263.clone(); + let __t114 = v_V5277.clone(); rt::apply_direct(interp, "map", &[__t113, __t114])? }); } else { break Ok({ let __t116 = { - let __t115 = v_V5263.clone(); + let __t115 = v_V5277.clone(); rt::hd(&__t115)? }; let __t123 = { let __t120 = { - let v_V5261 = v_V5261.clone(); - let v_V5262 = v_V5262.clone(); + let v_V5275 = v_V5275.clone(); + let v_V5276 = v_V5276.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5266 = args[0].clone(); + let v_Z5280 = args[0].clone(); Ok({ - let __t117 = v_V5261.clone(); - let __t118 = v_V5262.clone(); - let __t119 = v_Z5266.clone(); + let __t117 = v_V5275.clone(); + let __t118 = v_V5276.clone(); + let __t119 = v_Z5280.clone(); rt::apply_direct( interp, "shen.pui-h", @@ -746,12 +746,12 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult )? }) }, - vec![v_V5261, v_V5262], + vec![v_V5275, v_V5276], interp, ) }; let __t122 = { - let __t121 = v_V5263.clone(); + let __t121 = v_V5277.clone(); rt::tl(&__t121)? }; rt::apply_direct(interp, "map", &[__t120, __t122])? @@ -769,7 +769,7 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5263.clone()); + break Ok(v_V5277.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -828,13 +828,13 @@ pub fn aot_shen_x2e_trim_x2d_it(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V5267 = args[0].clone(); + let mut v_V5281 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t171 = { let __t167 = { - let __t163 = v_V5267.clone(); + let __t163 = v_V5281.clone(); rt::apply_direct(interp, "shen.+string?", &[__t163])? }; if !rt::is_truthy(interp, &__t167)? { @@ -843,7 +843,7 @@ pub fn aot_shen_x2e_trim_x2d_it(interp: &mut Interp, args: &[Value]) -> ShenResu let __t168 = { let __t166 = { let __t165 = { - let __t164 = v_V5267.clone(); + let __t164 = v_V5281.clone(); rt::apply_direct(interp, "hdstr", &[__t164])? }; rt::apply_direct(interp, "string->n", &[__t165])? @@ -859,10 +859,10 @@ pub fn aot_shen_x2e_trim_x2d_it(interp: &mut Interp, args: &[Value]) -> ShenResu } { { let __t170 = { - let __t169 = v_V5267.clone(); + let __t169 = v_V5281.clone(); rt::apply_direct(interp, "tlstr", &[__t169])? }; - v_V5267 = __t170; + v_V5281 = __t170; continue; } } else { @@ -872,7 +872,7 @@ pub fn aot_shen_x2e_trim_x2d_it(interp: &mut Interp, args: &[Value]) -> ShenResu Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5267.clone()); + break Ok(v_V5281.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -899,17 +899,17 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( ))); } #[allow(unused_mut)] - let mut v_V5286 = args[0].clone(); + let mut v_V5300 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5287 = args[1].clone(); + let mut v_V5301 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5288 = args[2].clone(); + let mut v_V5302 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t324 = { let __t302 = { - let __t269 = v_V5286.clone(); + let __t269 = v_V5300.clone(); rt::is_cons(&__t269) }; if !rt::is_truthy(interp, &__t302)? { @@ -919,7 +919,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t300 = { let __t270 = Value::nil(); let __t272 = { - let __t271 = v_V5286.clone(); + let __t271 = v_V5300.clone(); rt::tl(&__t271)? }; rt::eq(&__t270, &__t272) @@ -929,7 +929,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( } else { let __t301 = { let __t298 = { - let __t273 = v_V5287.clone(); + let __t273 = v_V5301.clone(); rt::is_cons(&__t273) }; if !rt::is_truthy(interp, &__t298)? { @@ -938,7 +938,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t299 = { let __t296 = { let __t275 = { - let __t274 = v_V5287.clone(); + let __t274 = v_V5301.clone(); rt::hd(&__t274)? }; rt::apply_direct(interp, "shen.+string?", &[__t275])? @@ -951,7 +951,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t276 = Value::str("!"); let __t279 = { let __t278 = { - let __t277 = v_V5287.clone(); + let __t277 = v_V5301.clone(); rt::hd(&__t277)? }; rt::apply_direct( @@ -969,7 +969,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t292 = { let __t282 = { let __t281 = { - let __t280 = v_V5287.clone(); + let __t280 = v_V5301.clone(); rt::hd(&__t280)? }; rt::apply_direct( @@ -994,7 +994,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t286 = { let __t285 = { let __t284 = - v_V5287.clone(); + v_V5301.clone(); rt::hd(&__t284)? }; rt::apply_direct( @@ -1018,7 +1018,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t291 = { let __t289 = { let __t288 = - v_V5287.clone(); + v_V5301.clone(); rt::tl(&__t288)? }; rt::is_cons(&__t289) @@ -1053,10 +1053,10 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( Err(e) => break Err(e), } { { - let v_W5289 = { + let v_W5303 = { let __t306 = { let __t305 = { - let __t304 = v_V5287.clone(); + let __t304 = v_V5301.clone(); rt::tl(&__t304)? }; rt::hd(&__t305)? @@ -1064,18 +1064,18 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( rt::apply_direct(interp, "read-from-string", &[__t306])? }; { - let v_W5290 = { + let v_W5304 = { let __t307 = Value::sym(interp.intern("shen.*history*")); let __t313 = { let __t310 = { let __t309 = { - let __t308 = v_V5287.clone(); + let __t308 = v_V5301.clone(); rt::tl(&__t308)? }; rt::hd(&__t309)? }; let __t312 = { - let __t311 = v_V5287.clone(); + let __t311 = v_V5301.clone(); rt::tl(&__t311)? }; rt::cons(&__t310, &__t312) @@ -1083,11 +1083,11 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( rt::apply_direct(interp, "set", &[__t307, __t313])? }; { - let v_W5291 = { + let v_W5305 = { let __t319 = { let __t316 = { let __t315 = { - let __t314 = v_V5287.clone(); + let __t314 = v_V5301.clone(); rt::tl(&__t314)? }; rt::hd(&__t315)? @@ -1100,12 +1100,12 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( rt::apply_direct(interp, "pr", &[__t319, __t320])? }; { - let __t321 = v_W5289.clone(); - let __t322 = v_W5290.clone(); - let __t323 = v_V5288.clone(); - v_V5286 = __t321; - v_V5287 = __t322; - v_V5288 = __t323; + let __t321 = v_W5303.clone(); + let __t322 = v_W5304.clone(); + let __t323 = v_V5302.clone(); + v_V5300 = __t321; + v_V5301 = __t322; + v_V5302 = __t323; continue; } } @@ -1115,7 +1115,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( { let __t268 = { let __t237 = { - let __t220 = v_V5286.clone(); + let __t220 = v_V5300.clone(); rt::is_cons(&__t220) }; if !rt::is_truthy(interp, &__t237)? { @@ -1125,7 +1125,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t235 = { let __t221 = Value::nil(); let __t223 = { - let __t222 = v_V5286.clone(); + let __t222 = v_V5300.clone(); rt::tl(&__t222)? }; rt::eq(&__t221, &__t223) @@ -1135,7 +1135,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( } else { let __t236 = { let __t233 = { - let __t224 = v_V5287.clone(); + let __t224 = v_V5301.clone(); rt::is_cons(&__t224) }; if !rt::is_truthy(interp, &__t233)? { @@ -1144,7 +1144,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t234 = { let __t231 = { let __t226 = { - let __t225 = v_V5287.clone(); + let __t225 = v_V5301.clone(); rt::hd(&__t225)? }; rt::apply_direct( @@ -1160,7 +1160,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t227 = Value::str("!"); let __t230 = { let __t229 = { - let __t228 = v_V5287.clone(); + let __t228 = v_V5301.clone(); rt::hd(&__t228)? }; rt::apply_direct( @@ -1188,11 +1188,11 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( Err(e) => break Err(e), } { { - let v_W5292 = { + let v_W5306 = { let __t247 = { let __t241 = { let __t240 = { - let __t239 = v_V5287.clone(); + let __t239 = v_V5301.clone(); rt::hd(&__t239)? }; rt::apply_direct(interp, "tlstr", &[__t240])? @@ -1207,7 +1207,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t246 = { let __t245 = { let __t244 = { - let __t243 = v_V5287.clone(); + let __t243 = v_V5301.clone(); rt::hd(&__t243)? }; rt::apply_direct(interp, "tlstr", &[__t244])? @@ -1219,17 +1219,17 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( } }; { - let v_W5293 = { - let __t248 = v_W5292.clone(); + let v_W5307 = { + let __t248 = v_W5306.clone(); let __t251 = { let __t250 = { - let __t249 = v_V5287.clone(); + let __t249 = v_V5301.clone(); rt::hd(&__t249)? }; rt::apply_direct(interp, "tlstr", &[__t250])? }; let __t253 = { - let __t252 = v_V5287.clone(); + let __t252 = v_V5301.clone(); rt::tl(&__t252)? }; rt::apply_direct( @@ -1239,9 +1239,9 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( )? }; { - let v_W5294 = { + let v_W5308 = { let __t257 = { - let __t254 = v_W5293.clone(); + let __t254 = v_W5307.clone(); let __t255 = Value::str("\n"); let __t256 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -1254,18 +1254,18 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( rt::apply_direct(interp, "pr", &[__t257, __t258])? }; { - let v_W5295 = { - let __t259 = v_W5293.clone(); + let v_W5309 = { + let __t259 = v_W5307.clone(); rt::apply_direct(interp, "read-from-string", &[__t259])? }; { - let v_W5296 = { + let v_W5310 = { let __t260 = Value::sym(interp.intern("shen.*history*")); let __t264 = { - let __t261 = v_W5293.clone(); + let __t261 = v_W5307.clone(); let __t263 = { - let __t262 = v_V5287.clone(); + let __t262 = v_V5301.clone(); rt::tl(&__t262)? }; rt::cons(&__t261, &__t263) @@ -1273,12 +1273,12 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( rt::apply_direct(interp, "set", &[__t260, __t264])? }; { - let __t265 = v_W5295.clone(); - let __t266 = v_W5296.clone(); - let __t267 = v_V5288.clone(); - v_V5286 = __t265; - v_V5287 = __t266; - v_V5288 = __t267; + let __t265 = v_W5309.clone(); + let __t266 = v_W5310.clone(); + let __t267 = v_V5302.clone(); + v_V5300 = __t265; + v_V5301 = __t266; + v_V5302 = __t267; continue; } } @@ -1290,7 +1290,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( { let __t219 = { let __t199 = { - let __t182 = v_V5286.clone(); + let __t182 = v_V5300.clone(); rt::is_cons(&__t182) }; if !rt::is_truthy(interp, &__t199)? { @@ -1300,7 +1300,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t197 = { let __t183 = Value::nil(); let __t185 = { - let __t184 = v_V5286.clone(); + let __t184 = v_V5300.clone(); rt::tl(&__t184)? }; rt::eq(&__t183, &__t185) @@ -1310,7 +1310,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( } else { let __t198 = { let __t195 = { - let __t186 = v_V5287.clone(); + let __t186 = v_V5301.clone(); rt::is_cons(&__t186) }; if !rt::is_truthy(interp, &__t195)? { @@ -1319,7 +1319,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t196 = { let __t193 = { let __t188 = { - let __t187 = v_V5287.clone(); + let __t187 = v_V5301.clone(); rt::hd(&__t187)? }; rt::apply_direct( @@ -1336,7 +1336,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t192 = { let __t191 = { let __t190 = - v_V5287.clone(); + v_V5301.clone(); rt::hd(&__t190)? }; rt::apply_direct( @@ -1366,11 +1366,11 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( Err(e) => break Err(e), } { { - let v_W5297 = { + let v_W5311 = { let __t209 = { let __t203 = { let __t202 = { - let __t201 = v_V5287.clone(); + let __t201 = v_V5301.clone(); rt::hd(&__t201)? }; rt::apply_direct(interp, "tlstr", &[__t202])? @@ -1385,7 +1385,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( let __t208 = { let __t207 = { let __t206 = { - let __t205 = v_V5287.clone(); + let __t205 = v_V5301.clone(); rt::hd(&__t205)? }; rt::apply_direct( @@ -1405,17 +1405,17 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( } }; { - let v_W5298 = { - let __t210 = v_W5297.clone(); + let v_W5312 = { + let __t210 = v_W5311.clone(); let __t213 = { let __t212 = { - let __t211 = v_V5287.clone(); + let __t211 = v_V5301.clone(); rt::hd(&__t211)? }; rt::apply_direct(interp, "tlstr", &[__t212])? }; let __t215 = { - let __t214 = v_V5287.clone(); + let __t214 = v_V5301.clone(); rt::tl(&__t214)? }; rt::apply_direct( @@ -1425,11 +1425,11 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( )? }; { - let v_W5299 = { + let v_W5313 = { let __t216 = Value::sym(interp.intern("shen.*history*")); let __t218 = { - let __t217 = v_V5287.clone(); + let __t217 = v_V5301.clone(); rt::tl(&__t217)? }; rt::apply_direct(interp, "set", &[__t216, __t218])? @@ -1442,7 +1442,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( { let __t181 = { let __t178 = Value::bool(true); - let __t179 = v_V5288.clone(); + let __t179 = v_V5302.clone(); rt::eq(&__t178, &__t179) }; if match rt::is_truthy(interp, &__t181) { @@ -1450,7 +1450,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( Err(e) => break Err(e), } { break Ok({ - let __t180 = v_V5286.clone(); + let __t180 = v_V5300.clone(); rt::apply_direct( interp, "shen.check-eval-and-print", @@ -1461,7 +1461,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( { let __t177 = { let __t174 = Value::bool(false); - let __t175 = v_V5288.clone(); + let __t175 = v_V5302.clone(); rt::eq(&__t174, &__t175) }; if match rt::is_truthy(interp, &__t177) { @@ -1469,7 +1469,7 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( Err(e) => break Err(e), } { break Ok({ - let __t176 = v_V5286.clone(); + let __t176 = v_V5300.clone(); rt::apply_direct( interp, "shen.eval-and-print", @@ -1528,16 +1528,16 @@ pub fn aot_shen_x2e_use_x2d_history(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5300 = args[0].clone(); + let mut v_V5314 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5301 = args[1].clone(); + let mut v_V5315 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5302 = args[2].clone(); + let mut v_V5316 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t326 = { - let __t325 = v_V5300.clone(); + let __t325 = v_V5314.clone(); rt::apply_direct(interp, "integer?", &[__t325])? }; if match rt::is_truthy(interp, &__t326) { @@ -1547,11 +1547,11 @@ pub fn aot_shen_x2e_use_x2d_history(interp: &mut Interp, args: &[Value]) -> Shen break Ok({ let __t329 = { let __t327 = Value::int(1i64); - let __t328 = v_V5300.clone(); + let __t328 = v_V5314.clone(); rt::add(&__t327, &__t328)? }; let __t331 = { - let __t330 = v_V5302.clone(); + let __t330 = v_V5316.clone(); rt::apply_direct(interp, "reverse", &[__t330])? }; rt::apply_direct(interp, "nth", &[__t329, __t331])? @@ -1559,7 +1559,7 @@ pub fn aot_shen_x2e_use_x2d_history(interp: &mut Interp, args: &[Value]) -> Shen } else { { let __t333 = { - let __t332 = v_V5300.clone(); + let __t332 = v_V5314.clone(); rt::is_symbol(&__t332) }; if match rt::is_truthy(interp, &__t333) { @@ -1567,8 +1567,8 @@ pub fn aot_shen_x2e_use_x2d_history(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { break Ok({ - let __t334 = v_V5301.clone(); - let __t335 = v_V5302.clone(); + let __t334 = v_V5315.clone(); + let __t335 = v_V5316.clone(); rt::apply_direct(interp, "shen.string-match", &[__t334, __t335])? }); } else { @@ -1597,16 +1597,16 @@ pub fn aot_shen_x2e_peek_x2d_history(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5303 = args[0].clone(); + let mut v_V5317 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5304 = args[1].clone(); + let mut v_V5318 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5305 = args[2].clone(); + let mut v_V5319 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t338 = { - let __t337 = v_V5303.clone(); + let __t337 = v_V5317.clone(); rt::apply_direct(interp, "integer?", &[__t337])? }; if match rt::is_truthy(interp, &__t338) { @@ -1620,11 +1620,11 @@ pub fn aot_shen_x2e_peek_x2d_history(interp: &mut Interp, args: &[Value]) -> She let __t345 = { let __t342 = { let __t340 = Value::int(1i64); - let __t341 = v_V5303.clone(); + let __t341 = v_V5317.clone(); rt::add(&__t340, &__t341)? }; let __t344 = { - let __t343 = v_V5305.clone(); + let __t343 = v_V5319.clone(); rt::apply_direct(interp, "reverse", &[__t343])? }; rt::apply_direct(interp, "nth", &[__t342, __t344])? @@ -1642,7 +1642,7 @@ pub fn aot_shen_x2e_peek_x2d_history(interp: &mut Interp, args: &[Value]) -> She { let __t356 = { let __t354 = { - let __t351 = v_V5304.clone(); + let __t351 = v_V5318.clone(); let __t352 = Value::str(""); rt::eq(&__t351, &__t352) }; @@ -1650,7 +1650,7 @@ pub fn aot_shen_x2e_peek_x2d_history(interp: &mut Interp, args: &[Value]) -> She Value::bool(true) } else { let __t355 = { - let __t353 = v_V5303.clone(); + let __t353 = v_V5317.clone(); rt::is_symbol(&__t353) }; Value::bool(rt::is_truthy(interp, &__t355)?) @@ -1662,9 +1662,9 @@ pub fn aot_shen_x2e_peek_x2d_history(interp: &mut Interp, args: &[Value]) -> She } { break Ok({ let __t357 = Value::int(0i64); - let __t358 = v_V5304.clone(); + let __t358 = v_V5318.clone(); let __t360 = { - let __t359 = v_V5305.clone(); + let __t359 = v_V5319.clone(); rt::apply_direct(interp, "reverse", &[__t359])? }; rt::apply_direct( @@ -1699,15 +1699,15 @@ pub fn aot_shen_x2e_string_x2d_match(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5315 = args[0].clone(); + let mut v_V5329 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5316 = args[1].clone(); + let mut v_V5330 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t380 = { let __t377 = Value::nil(); - let __t378 = v_V5316.clone(); + let __t378 = v_V5330.clone(); rt::eq(&__t377, &__t378) }; if match rt::is_truthy(interp, &__t380) { @@ -1722,16 +1722,16 @@ pub fn aot_shen_x2e_string_x2d_match(interp: &mut Interp, args: &[Value]) -> She { let __t376 = { let __t373 = { - let __t369 = v_V5316.clone(); + let __t369 = v_V5330.clone(); rt::is_cons(&__t369) }; if !rt::is_truthy(interp, &__t373)? { Value::bool(false) } else { let __t374 = { - let __t370 = v_V5315.clone(); + let __t370 = v_V5329.clone(); let __t372 = { - let __t371 = v_V5316.clone(); + let __t371 = v_V5330.clone(); rt::hd(&__t371)? }; rt::apply_direct(interp, "shen.string-prefix?", &[__t370, __t372])? @@ -1744,13 +1744,13 @@ pub fn aot_shen_x2e_string_x2d_match(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t375 = v_V5316.clone(); + let __t375 = v_V5330.clone(); rt::hd(&__t375)? }); } else { { let __t368 = { - let __t364 = v_V5316.clone(); + let __t364 = v_V5330.clone(); rt::is_cons(&__t364) }; if match rt::is_truthy(interp, &__t368) { @@ -1758,13 +1758,13 @@ pub fn aot_shen_x2e_string_x2d_match(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let __t365 = v_V5315.clone(); + let __t365 = v_V5329.clone(); let __t367 = { - let __t366 = v_V5316.clone(); + let __t366 = v_V5330.clone(); rt::tl(&__t366)? }; - v_V5315 = __t365; - v_V5316 = __t367; + v_V5329 = __t365; + v_V5330 = __t367; continue; } } else { @@ -1810,15 +1810,15 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( ))); } #[allow(unused_mut)] - let mut v_V5324 = args[0].clone(); + let mut v_V5338 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5325 = args[1].clone(); + let mut v_V5339 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t429 = { let __t427 = Value::str(""); - let __t428 = v_V5324.clone(); + let __t428 = v_V5338.clone(); rt::eq(&__t427, &__t428) }; if match rt::is_truthy(interp, &__t429) { @@ -1830,7 +1830,7 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( { let __t426 = { let __t421 = { - let __t417 = v_V5324.clone(); + let __t417 = v_V5338.clone(); rt::apply_direct(interp, "shen.+string?", &[__t417])? }; if !rt::is_truthy(interp, &__t421)? { @@ -1839,7 +1839,7 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( let __t422 = { let __t420 = { let __t419 = { - let __t418 = v_V5324.clone(); + let __t418 = v_V5338.clone(); rt::apply_direct(interp, "hdstr", &[__t418])? }; rt::apply_direct(interp, "string->n", &[__t419])? @@ -1855,19 +1855,19 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( } { { let __t424 = { - let __t423 = v_V5324.clone(); + let __t423 = v_V5338.clone(); rt::apply_direct(interp, "tlstr", &[__t423])? }; - let __t425 = v_V5325.clone(); - v_V5324 = __t424; - v_V5325 = __t425; + let __t425 = v_V5339.clone(); + v_V5338 = __t424; + v_V5339 = __t425; continue; } } else { { let __t416 = { let __t411 = { - let __t407 = v_V5325.clone(); + let __t407 = v_V5339.clone(); rt::apply_direct(interp, "shen.+string?", &[__t407])? }; if !rt::is_truthy(interp, &__t411)? { @@ -1876,7 +1876,7 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( let __t412 = { let __t410 = { let __t409 = { - let __t408 = v_V5325.clone(); + let __t408 = v_V5339.clone(); rt::apply_direct(interp, "hdstr", &[__t408])? }; rt::apply_direct(interp, "string->n", &[__t409])? @@ -1891,20 +1891,20 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( Err(e) => break Err(e), } { { - let __t413 = v_V5324.clone(); + let __t413 = v_V5338.clone(); let __t415 = { - let __t414 = v_V5325.clone(); + let __t414 = v_V5339.clone(); rt::apply_direct(interp, "tlstr", &[__t414])? }; - v_V5324 = __t413; - v_V5325 = __t415; + v_V5338 = __t413; + v_V5339 = __t415; continue; } } else { { let __t406 = { let __t401 = { - let __t397 = v_V5325.clone(); + let __t397 = v_V5339.clone(); rt::apply_direct(interp, "shen.+string?", &[__t397])? }; if !rt::is_truthy(interp, &__t401)? { @@ -1913,7 +1913,7 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( let __t402 = { let __t398 = Value::str("("); let __t400 = { - let __t399 = v_V5325.clone(); + let __t399 = v_V5339.clone(); rt::apply_direct(interp, "hdstr", &[__t399])? }; rt::eq(&__t398, &__t400) @@ -1926,20 +1926,20 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( Err(e) => break Err(e), } { { - let __t403 = v_V5324.clone(); + let __t403 = v_V5338.clone(); let __t405 = { - let __t404 = v_V5325.clone(); + let __t404 = v_V5339.clone(); rt::apply_direct(interp, "tlstr", &[__t404])? }; - v_V5324 = __t403; - v_V5325 = __t405; + v_V5338 = __t403; + v_V5339 = __t405; continue; } } else { { let __t396 = { let __t390 = { - let __t382 = v_V5324.clone(); + let __t382 = v_V5338.clone(); rt::apply_direct( interp, "shen.+string?", @@ -1951,7 +1951,7 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( } else { let __t391 = { let __t388 = { - let __t383 = v_V5325.clone(); + let __t383 = v_V5339.clone(); rt::apply_direct( interp, "shen.+string?", @@ -1963,7 +1963,7 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( } else { let __t389 = { let __t385 = { - let __t384 = v_V5324.clone(); + let __t384 = v_V5338.clone(); rt::apply_direct( interp, "hdstr", @@ -1971,7 +1971,7 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( )? }; let __t387 = { - let __t386 = v_V5325.clone(); + let __t386 = v_V5339.clone(); rt::apply_direct( interp, "hdstr", @@ -1994,7 +1994,7 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( } { { let __t393 = { - let __t392 = v_V5324.clone(); + let __t392 = v_V5338.clone(); rt::apply_direct( interp, "tlstr", @@ -2002,15 +2002,15 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( )? }; let __t395 = { - let __t394 = v_V5325.clone(); + let __t394 = v_V5339.clone(); rt::apply_direct( interp, "tlstr", &[__t394], )? }; - v_V5324 = __t393; - v_V5325 = __t395; + v_V5338 = __t393; + v_V5339 = __t395; continue; } } else { @@ -2061,17 +2061,17 @@ pub fn aot_shen_x2e_recursive_x2d_string_x2d_match( ))); } #[allow(unused_mut)] - let mut v_V5336 = args[0].clone(); + let mut v_V5350 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5337 = args[1].clone(); + let mut v_V5351 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5338 = args[2].clone(); + let mut v_V5352 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t457 = { let __t455 = Value::nil(); - let __t456 = v_V5338.clone(); + let __t456 = v_V5352.clone(); rt::eq(&__t455, &__t456) }; if match rt::is_truthy(interp, &__t457) { @@ -2082,7 +2082,7 @@ pub fn aot_shen_x2e_recursive_x2d_string_x2d_match( } else { { let __t454 = { - let __t432 = v_V5338.clone(); + let __t432 = v_V5352.clone(); rt::is_cons(&__t432) }; if match rt::is_truthy(interp, &__t454) { @@ -2092,9 +2092,9 @@ pub fn aot_shen_x2e_recursive_x2d_string_x2d_match( { let _ = { let __t447 = { - let __t433 = v_V5337.clone(); + let __t433 = v_V5351.clone(); let __t435 = { - let __t434 = v_V5338.clone(); + let __t434 = v_V5352.clone(); rt::hd(&__t434)? }; rt::apply_direct( @@ -2106,12 +2106,12 @@ pub fn aot_shen_x2e_recursive_x2d_string_x2d_match( if rt::is_truthy(interp, &__t447)? { { let __t445 = { - let __t436 = v_V5336.clone(); + let __t436 = v_V5350.clone(); let __t443 = { let __t437 = Value::str(". "); let __t442 = { let __t439 = { - let __t438 = v_V5338.clone(); + let __t438 = v_V5352.clone(); rt::hd(&__t438)? }; let __t440 = Value::str("\n"); @@ -2141,18 +2141,18 @@ pub fn aot_shen_x2e_recursive_x2d_string_x2d_match( }; { let __t450 = { - let __t448 = v_V5336.clone(); + let __t448 = v_V5350.clone(); let __t449 = Value::int(1i64); rt::add(&__t448, &__t449)? }; - let __t451 = v_V5337.clone(); + let __t451 = v_V5351.clone(); let __t453 = { - let __t452 = v_V5338.clone(); + let __t452 = v_V5352.clone(); rt::tl(&__t452)? }; - v_V5336 = __t450; - v_V5337 = __t451; - v_V5338 = __t453; + v_V5350 = __t450; + v_V5351 = __t451; + v_V5352 = __t453; continue; } } diff --git a/crates/shen-rust/src/aot/kernel/track.rs b/crates/shen-rust/src/aot/kernel/track.rs index 3fbc096..9fe4eac 100644 --- a/crates/shen-rust/src/aot/kernel/track.rs +++ b/crates/shen-rust/src/aot/kernel/track.rs @@ -32,7 +32,7 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V5370 = args[0].clone(); + let mut v_V5384 = args[0].clone(); #[allow(clippy::never_loop)] loop { { @@ -40,7 +40,7 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu let __t5 = { let __t0 = Value::str("partial function "); let __t4 = { - let __t1 = v_V5370.clone(); + let __t1 = v_V5384.clone(); let __t2 = Value::str(";\n"); let __t3 = Value::sym(interp.intern("shen.a")); rt::apply_direct(interp, "shen.app", &[__t1, __t2, __t3])? @@ -55,7 +55,7 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu let __t19 = { let __t15 = { let __t8 = { - let __t7 = v_V5370.clone(); + let __t7 = v_V5384.clone(); rt::apply_direct(interp, "shen.tracked?", &[__t7])? }; rt::apply_direct(interp, "not", &[__t8])? @@ -67,7 +67,7 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu let __t14 = { let __t9 = Value::str("track "); let __t13 = { - let __t10 = v_V5370.clone(); + let __t10 = v_V5384.clone(); let __t11 = Value::str("? "); let __t12 = Value::sym(interp.intern("shen.a")); rt::apply_direct( @@ -86,7 +86,7 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu if rt::is_truthy(interp, &__t19)? { { let __t18 = { - let __t17 = v_V5370.clone(); + let __t17 = v_V5384.clone(); rt::apply_direct(interp, "ps", &[__t17])? }; rt::apply_direct(interp, "shen.track-function", &[__t18])? @@ -118,11 +118,11 @@ pub fn aot_shen_x2e_tracked_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V5371 = args[0].clone(); + let mut v_V5385 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t21 = v_V5371.clone(); + let __t21 = v_V5385.clone(); let __t23 = { let __t22 = Value::sym(interp.intern("shen.*tracking*")); rt::apply_direct(interp, "value", &[__t22])? @@ -146,16 +146,16 @@ pub fn aot_track(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5372 = args[0].clone(); + let mut v_V5386 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5373 = { - let __t24 = v_V5372.clone(); + let v_W5387 = { + let __t24 = v_V5386.clone(); rt::apply_direct(interp, "ps", &[__t24])? }; break Ok({ - let __t25 = v_W5373.clone(); + let __t25 = v_W5387.clone(); rt::apply_direct(interp, "shen.track-function", &[__t25])? }); } @@ -176,13 +176,13 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S ))); } #[allow(unused_mut)] - let mut v_V5376 = args[0].clone(); + let mut v_V5390 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t92 = { let __t55 = { - let __t28 = v_V5376.clone(); + let __t28 = v_V5390.clone(); rt::is_cons(&__t28) }; if !rt::is_truthy(interp, &__t55)? { @@ -192,7 +192,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t53 = { let __t29 = Value::sym(interp.intern("defun")); let __t31 = { - let __t30 = v_V5376.clone(); + let __t30 = v_V5390.clone(); rt::hd(&__t30)? }; rt::eq(&__t29, &__t31) @@ -203,7 +203,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t54 = { let __t51 = { let __t33 = { - let __t32 = v_V5376.clone(); + let __t32 = v_V5390.clone(); rt::tl(&__t32)? }; rt::is_cons(&__t33) @@ -215,7 +215,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t49 = { let __t36 = { let __t35 = { - let __t34 = v_V5376.clone(); + let __t34 = v_V5390.clone(); rt::tl(&__t34)? }; rt::tl(&__t35)? @@ -230,7 +230,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t40 = { let __t39 = { let __t38 = { - let __t37 = v_V5376.clone(); + let __t37 = v_V5390.clone(); rt::tl(&__t37)? }; rt::tl(&__t38)? @@ -248,7 +248,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t45 = { let __t44 = { let __t43 = { - let __t42 = v_V5376.clone(); + let __t42 = v_V5390.clone(); rt::tl(&__t42)? }; rt::tl(&__t43)? @@ -279,12 +279,12 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S Err(e) => break Err(e), } { { - let v_W5377 = { + let v_W5391 = { let __t57 = Value::sym(interp.intern("defun")); let __t81 = { let __t60 = { let __t59 = { - let __t58 = v_V5376.clone(); + let __t58 = v_V5390.clone(); rt::tl(&__t58)? }; rt::hd(&__t59)? @@ -293,7 +293,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t64 = { let __t63 = { let __t62 = { - let __t61 = v_V5376.clone(); + let __t61 = v_V5390.clone(); rt::tl(&__t61)? }; rt::tl(&__t62)? @@ -304,7 +304,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t77 = { let __t67 = { let __t66 = { - let __t65 = v_V5376.clone(); + let __t65 = v_V5390.clone(); rt::tl(&__t65)? }; rt::hd(&__t66)? @@ -312,7 +312,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t71 = { let __t70 = { let __t69 = { - let __t68 = v_V5376.clone(); + let __t68 = v_V5390.clone(); rt::tl(&__t68)? }; rt::tl(&__t69)? @@ -323,7 +323,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S let __t75 = { let __t74 = { let __t73 = { - let __t72 = v_V5376.clone(); + let __t72 = v_V5390.clone(); rt::tl(&__t72)? }; rt::tl(&__t73)? @@ -348,17 +348,17 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S rt::cons(&__t57, &__t81) }; { - let v_W5378 = { - let __t82 = v_W5377.clone(); + let v_W5392 = { + let __t82 = v_W5391.clone(); rt::apply_direct(interp, "eval-kl", &[__t82])? }; { - let v_W5379 = { + let v_W5393 = { let __t83 = Value::sym(interp.intern("shen.*tracking*")); let __t89 = { let __t86 = { let __t85 = { - let __t84 = v_V5376.clone(); + let __t84 = v_V5390.clone(); rt::tl(&__t84)? }; rt::hd(&__t85)? @@ -373,7 +373,7 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S }; break Ok({ let __t91 = { - let __t90 = v_V5376.clone(); + let __t90 = v_V5390.clone(); rt::tl(&__t90)? }; rt::hd(&__t91)? @@ -418,11 +418,11 @@ pub fn aot_shen_x2e_insert_x2d_tracking_x2d_code( ))); } #[allow(unused_mut)] - let mut v_V5380 = args[0].clone(); + let mut v_V5394 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5381 = args[1].clone(); + let mut v_V5395 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5382 = args[2].clone(); + let mut v_V5396 = args[2].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -478,12 +478,12 @@ pub fn aot_shen_x2e_insert_x2d_tracking_x2d_code( rt::cons(&__t113, &__t116) }; let __t125 = { - let __t118 = v_V5380.clone(); + let __t118 = v_V5394.clone(); let __t124 = { let __t122 = { let __t121 = { - let __t119 = v_V5382.clone(); - let __t120 = v_V5381.clone(); + let __t119 = v_V5396.clone(); + let __t120 = v_V5395.clone(); rt::apply_direct( interp, "shen.prolog-track", @@ -523,7 +523,7 @@ pub fn aot_shen_x2e_insert_x2d_tracking_x2d_code( let __t133 = Value::sym(interp.intern("Result")); let __t186 = { - let __t134 = v_V5382.clone(); + let __t134 = v_V5396.clone(); let __t185 = { let __t183 = { let __t135 = @@ -561,7 +561,7 @@ pub fn aot_shen_x2e_insert_x2d_tracking_x2d_code( }; let __t146 = { let __t142 = - v_V5380.clone(); + v_V5394.clone(); let __t145 = { let __t143 = Value::sym(interp.intern("Result")); let __t144 = @@ -711,16 +711,16 @@ pub fn aot_shen_x2e_prolog_x2d_track(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5383 = args[0].clone(); + let mut v_V5397 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5384 = args[1].clone(); + let mut v_V5398 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t208 = { let __t206 = { let __t204 = Value::sym(interp.intern("shen.incinfs")); - let __t205 = v_V5383.clone(); + let __t205 = v_V5397.clone(); rt::apply_direct(interp, "occurrences", &[__t204, __t205])? }; let __t207 = Value::int(0i64); @@ -730,7 +730,7 @@ pub fn aot_shen_x2e_prolog_x2d_track(interp: &mut Interp, args: &[Value]) -> She Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5384.clone()); + break Ok(v_V5398.clone()); } else { { let __t203 = Value::bool(true); @@ -739,9 +739,9 @@ pub fn aot_shen_x2e_prolog_x2d_track(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t200 = v_V5384.clone(); + let __t200 = v_V5398.clone(); let __t202 = { - let __t201 = v_V5384.clone(); + let __t201 = v_V5398.clone(); rt::apply_direct(interp, "shen.vector-parameter", &[__t201])? }; rt::apply_direct(interp, "shen.vector-dereference", &[__t200, __t202])? @@ -769,13 +769,13 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V5387 = args[0].clone(); + let mut v_V5401 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t243 = { let __t241 = Value::nil(); - let __t242 = v_V5387.clone(); + let __t242 = v_V5401.clone(); rt::eq(&__t241, &__t242) }; if match rt::is_truthy(interp, &__t243) { @@ -787,7 +787,7 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> { let __t240 = { let __t237 = { - let __t215 = v_V5387.clone(); + let __t215 = v_V5401.clone(); rt::is_cons(&__t215) }; if !rt::is_truthy(interp, &__t237)? { @@ -796,7 +796,7 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> let __t238 = { let __t235 = { let __t217 = { - let __t216 = v_V5387.clone(); + let __t216 = v_V5401.clone(); rt::tl(&__t216)? }; rt::is_cons(&__t217) @@ -808,7 +808,7 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> let __t233 = { let __t220 = { let __t219 = { - let __t218 = v_V5387.clone(); + let __t218 = v_V5401.clone(); rt::tl(&__t218)? }; rt::tl(&__t219)? @@ -823,7 +823,7 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> let __t224 = { let __t223 = { let __t222 = { - let __t221 = v_V5387.clone(); + let __t221 = v_V5401.clone(); rt::tl(&__t221)? }; rt::tl(&__t222)? @@ -842,7 +842,7 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> let __t228 = { let __t227 = { let __t226 = - v_V5387.clone(); + v_V5401.clone(); rt::tl(&__t226)? }; rt::tl(&__t227)? @@ -870,13 +870,13 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> Err(e) => break Err(e), } { break Ok({ - let __t239 = v_V5387.clone(); + let __t239 = v_V5401.clone(); rt::hd(&__t239)? }); } else { { let __t214 = { - let __t211 = v_V5387.clone(); + let __t211 = v_V5401.clone(); rt::is_cons(&__t211) }; if match rt::is_truthy(interp, &__t214) { @@ -885,10 +885,10 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> } { { let __t213 = { - let __t212 = v_V5387.clone(); + let __t212 = v_V5401.clone(); rt::tl(&__t212)? }; - v_V5387 = __t213; + v_V5401 = __t213; continue; } } else { @@ -938,27 +938,27 @@ pub fn aot_shen_x2e_vector_x2d_dereference( ))); } #[allow(unused_mut)] - let mut v_V5390 = args[0].clone(); + let mut v_V5404 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5391 = args[1].clone(); + let mut v_V5405 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t287 = { let __t285 = Value::nil(); - let __t286 = v_V5391.clone(); + let __t286 = v_V5405.clone(); rt::eq(&__t285, &__t286) }; if match rt::is_truthy(interp, &__t287) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5390.clone()); + break Ok(v_V5404.clone()); } else { { let __t284 = { let __t282 = { - let __t260 = v_V5390.clone(); + let __t260 = v_V5404.clone(); rt::is_cons(&__t260) }; if !rt::is_truthy(interp, &__t282)? { @@ -967,7 +967,7 @@ pub fn aot_shen_x2e_vector_x2d_dereference( let __t283 = { let __t280 = { let __t262 = { - let __t261 = v_V5390.clone(); + let __t261 = v_V5404.clone(); rt::tl(&__t261)? }; rt::is_cons(&__t262) @@ -979,7 +979,7 @@ pub fn aot_shen_x2e_vector_x2d_dereference( let __t278 = { let __t265 = { let __t264 = { - let __t263 = v_V5390.clone(); + let __t263 = v_V5404.clone(); rt::tl(&__t263)? }; rt::tl(&__t264)? @@ -994,7 +994,7 @@ pub fn aot_shen_x2e_vector_x2d_dereference( let __t269 = { let __t268 = { let __t267 = { - let __t266 = v_V5390.clone(); + let __t266 = v_V5404.clone(); rt::tl(&__t266)? }; rt::tl(&__t267)? @@ -1013,7 +1013,7 @@ pub fn aot_shen_x2e_vector_x2d_dereference( let __t273 = { let __t272 = { let __t271 = - v_V5390.clone(); + v_V5404.clone(); rt::tl(&__t271)? }; rt::tl(&__t272)? @@ -1040,11 +1040,11 @@ pub fn aot_shen_x2e_vector_x2d_dereference( Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5390.clone()); + break Ok(v_V5404.clone()); } else { { let __t259 = { - let __t246 = v_V5390.clone(); + let __t246 = v_V5404.clone(); rt::is_cons(&__t246) }; if match rt::is_truthy(interp, &__t259) { @@ -1056,11 +1056,11 @@ pub fn aot_shen_x2e_vector_x2d_dereference( let __t247 = Value::sym(interp.intern("shen.deref")); let __t253 = { let __t249 = { - let __t248 = v_V5390.clone(); + let __t248 = v_V5404.clone(); rt::hd(&__t248)? }; let __t252 = { - let __t250 = v_V5391.clone(); + let __t250 = v_V5405.clone(); let __t251 = Value::nil(); rt::cons(&__t250, &__t251) }; @@ -1070,10 +1070,10 @@ pub fn aot_shen_x2e_vector_x2d_dereference( }; let __t258 = { let __t256 = { - let __t255 = v_V5390.clone(); + let __t255 = v_V5404.clone(); rt::tl(&__t255)? }; - let __t257 = v_V5391.clone(); + let __t257 = v_V5405.clone(); rt::apply_direct( interp, "shen.vector-dereference", @@ -1129,13 +1129,13 @@ pub fn aot_step(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5394 = args[0].clone(); + let mut v_V5408 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t299 = { let __t295 = Value::sym(interp.intern("+")); - let __t296 = v_V5394.clone(); + let __t296 = v_V5408.clone(); rt::eq(&__t295, &__t296) }; if match rt::is_truthy(interp, &__t299) { @@ -1151,7 +1151,7 @@ pub fn aot_step(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t294 = { let __t290 = Value::sym(interp.intern("-")); - let __t291 = v_V5394.clone(); + let __t291 = v_V5408.clone(); rt::eq(&__t290, &__t291) }; if match rt::is_truthy(interp, &__t294) { @@ -1221,13 +1221,13 @@ pub fn aot_spy(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5397 = args[0].clone(); + let mut v_V5411 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t312 = { let __t308 = Value::sym(interp.intern("+")); - let __t309 = v_V5397.clone(); + let __t309 = v_V5411.clone(); rt::eq(&__t308, &__t309) }; if match rt::is_truthy(interp, &__t312) { @@ -1243,7 +1243,7 @@ pub fn aot_spy(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t307 = { let __t303 = Value::sym(interp.intern("-")); - let __t304 = v_V5397.clone(); + let __t304 = v_V5411.clone(); rt::eq(&__t303, &__t304) }; if match rt::is_truthy(interp, &__t307) { @@ -1367,13 +1367,13 @@ pub fn aot_shen_x2e_check_x2d_byte(interp: &mut Interp, args: &[Value]) -> ShenR ))); } #[allow(unused_mut)] - let mut v_V5400 = args[0].clone(); + let mut v_V5414 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t324 = { let __t321 = Value::int(94i64); - let __t322 = v_V5400.clone(); + let __t322 = v_V5414.clone(); rt::eq(&__t321, &__t322) }; if match rt::is_truthy(interp, &__t324) { @@ -1415,11 +1415,11 @@ pub fn aot_shen_x2e_input_x2d_track(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5401 = args[0].clone(); + let mut v_V5415 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5402 = args[1].clone(); + let mut v_V5416 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5403 = args[2].clone(); + let mut v_V5417 = args[2].clone(); #[allow(clippy::never_loop)] loop { { @@ -1428,22 +1428,22 @@ pub fn aot_shen_x2e_input_x2d_track(interp: &mut Interp, args: &[Value]) -> Shen let __t325 = Value::str("\n"); let __t346 = { let __t327 = { - let __t326 = v_V5401.clone(); + let __t326 = v_V5415.clone(); rt::apply_direct(interp, "shen.spaces", &[__t326])? }; let __t344 = { let __t328 = Value::str("<"); let __t343 = { - let __t329 = v_V5401.clone(); + let __t329 = v_V5415.clone(); let __t341 = { let __t330 = Value::str("> Inputs to "); let __t340 = { - let __t331 = v_V5402.clone(); + let __t331 = v_V5416.clone(); let __t338 = { let __t332 = Value::str(" \n"); let __t337 = { let __t334 = { - let __t333 = v_V5401.clone(); + let __t333 = v_V5415.clone(); rt::apply_direct( interp, "shen.spaces", @@ -1483,7 +1483,7 @@ pub fn aot_shen_x2e_input_x2d_track(interp: &mut Interp, args: &[Value]) -> Shen rt::apply_direct(interp, "pr", &[__t347, __t348])? }; break Ok({ - let __t349 = v_V5403.clone(); + let __t349 = v_V5417.clone(); rt::apply_direct(interp, "shen.recursively-print", &[__t349])? }); } @@ -1507,13 +1507,13 @@ pub fn aot_shen_x2e_recursively_x2d_print( ))); } #[allow(unused_mut)] - let mut v_V5406 = args[0].clone(); + let mut v_V5420 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t364 = { let __t360 = Value::nil(); - let __t361 = v_V5406.clone(); + let __t361 = v_V5420.clone(); rt::eq(&__t360, &__t361) }; if match rt::is_truthy(interp, &__t364) { @@ -1528,7 +1528,7 @@ pub fn aot_shen_x2e_recursively_x2d_print( } else { { let __t359 = { - let __t352 = v_V5406.clone(); + let __t352 = v_V5420.clone(); rt::is_cons(&__t352) }; if match rt::is_truthy(interp, &__t359) { @@ -1538,7 +1538,7 @@ pub fn aot_shen_x2e_recursively_x2d_print( { let _ = { let __t354 = { - let __t353 = v_V5406.clone(); + let __t353 = v_V5420.clone(); rt::hd(&__t353)? }; rt::apply_direct(interp, "print", &[__t354])? @@ -1551,10 +1551,10 @@ pub fn aot_shen_x2e_recursively_x2d_print( }; { let __t358 = { - let __t357 = v_V5406.clone(); + let __t357 = v_V5420.clone(); rt::tl(&__t357)? }; - v_V5406 = __t358; + v_V5420 = __t358; continue; } } @@ -1601,13 +1601,13 @@ pub fn aot_shen_x2e_spaces(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult She ))); } #[allow(unused_mut)] - let mut v_V5408 = args[0].clone(); + let mut v_V5422 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5409 = args[1].clone(); + let mut v_V5423 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5410 = args[2].clone(); + let mut v_V5424 = args[2].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -1669,28 +1669,28 @@ pub fn aot_shen_x2e_output_x2d_track(interp: &mut Interp, args: &[Value]) -> She let __t374 = Value::str("\n"); let __t400 = { let __t376 = { - let __t375 = v_V5408.clone(); + let __t375 = v_V5422.clone(); rt::apply_direct(interp, "shen.spaces", &[__t375])? }; let __t398 = { let __t377 = Value::str("<"); let __t397 = { - let __t378 = v_V5408.clone(); + let __t378 = v_V5422.clone(); let __t395 = { let __t379 = Value::str("> Output from "); let __t394 = { - let __t380 = v_V5409.clone(); + let __t380 = v_V5423.clone(); let __t392 = { let __t381 = Value::str(" \n"); let __t391 = { let __t383 = { - let __t382 = v_V5408.clone(); + let __t382 = v_V5422.clone(); rt::apply_direct(interp, "shen.spaces", &[__t382])? }; let __t389 = { let __t384 = Value::str("==> "); let __t388 = { - let __t385 = v_V5410.clone(); + let __t385 = v_V5424.clone(); let __t386 = Value::str(""); let __t387 = Value::sym(interp.intern("shen.s")); @@ -1746,14 +1746,14 @@ pub fn aot_untrack(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5411 = args[0].clone(); + let mut v_V5425 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let _ = { let __t403 = Value::sym(interp.intern("shen.*tracking*")); let __t407 = { - let __t404 = v_V5411.clone(); + let __t404 = v_V5425.clone(); let __t406 = { let __t405 = Value::sym(interp.intern("shen.*tracking*")); rt::apply_direct(interp, "value", &[__t405])? @@ -1766,7 +1766,7 @@ pub fn aot_untrack(interp: &mut Interp, args: &[Value]) -> ShenResult { let _ = match (|| -> ShenResult { Ok({ let __t409 = { - let __t408 = v_V5411.clone(); + let __t408 = v_V5425.clone(); rt::apply_direct(interp, "ps", &[__t408])? }; rt::apply_direct(interp, "eval", &[__t409])? @@ -1775,15 +1775,15 @@ pub fn aot_untrack(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(v) => v, Err(e) => { let __h = { - let v_V5411 = v_V5411.clone(); + let v_V5425 = v_V5425.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5412 = args[0].clone(); - Ok(v_V5411.clone()) + let v_Z5426 = args[0].clone(); + Ok(v_V5425.clone()) }, - vec![v_V5411], + vec![v_V5425], interp, ) }; @@ -1791,7 +1791,7 @@ pub fn aot_untrack(interp: &mut Interp, args: &[Value]) -> ShenResult { rt::apply_value(interp, __h, &[__err])? } }; - break Ok(v_V5411.clone()); + break Ok(v_V5425.clone()); } } } @@ -1811,14 +1811,14 @@ pub fn aot_remove(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5413 = args[0].clone(); + let mut v_V5427 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5414 = args[1].clone(); + let mut v_V5428 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t410 = v_V5413.clone(); - let __t411 = v_V5414.clone(); + let __t410 = v_V5427.clone(); + let __t411 = v_V5428.clone(); let __t412 = Value::nil(); rt::apply_direct(interp, "shen.remove-h", &[__t410, __t411, __t412])? }); @@ -1839,17 +1839,17 @@ pub fn aot_shen_x2e_remove_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V5424 = args[0].clone(); + let mut v_V5438 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5425 = args[1].clone(); + let mut v_V5439 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5426 = args[2].clone(); + let mut v_V5440 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t439 = { let __t436 = Value::nil(); - let __t437 = v_V5425.clone(); + let __t437 = v_V5439.clone(); rt::eq(&__t436, &__t437) }; if match rt::is_truthy(interp, &__t439) { @@ -1857,23 +1857,23 @@ pub fn aot_shen_x2e_remove_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { break Ok({ - let __t438 = v_V5426.clone(); + let __t438 = v_V5440.clone(); rt::apply_direct(interp, "reverse", &[__t438])? }); } else { { let __t435 = { let __t428 = { - let __t424 = v_V5425.clone(); + let __t424 = v_V5439.clone(); rt::is_cons(&__t424) }; if !rt::is_truthy(interp, &__t428)? { Value::bool(false) } else { let __t429 = { - let __t425 = v_V5424.clone(); + let __t425 = v_V5438.clone(); let __t427 = { - let __t426 = v_V5425.clone(); + let __t426 = v_V5439.clone(); rt::hd(&__t426)? }; rt::eq(&__t425, &__t427) @@ -1887,23 +1887,23 @@ pub fn aot_shen_x2e_remove_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes } { { let __t431 = { - let __t430 = v_V5425.clone(); + let __t430 = v_V5439.clone(); rt::hd(&__t430)? }; let __t433 = { - let __t432 = v_V5425.clone(); + let __t432 = v_V5439.clone(); rt::tl(&__t432)? }; - let __t434 = v_V5426.clone(); - v_V5424 = __t431; - v_V5425 = __t433; - v_V5426 = __t434; + let __t434 = v_V5440.clone(); + v_V5438 = __t431; + v_V5439 = __t433; + v_V5440 = __t434; continue; } } else { { let __t423 = { - let __t415 = v_V5425.clone(); + let __t415 = v_V5439.clone(); rt::is_cons(&__t415) }; if match rt::is_truthy(interp, &__t423) { @@ -1911,22 +1911,22 @@ pub fn aot_shen_x2e_remove_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { { - let __t416 = v_V5424.clone(); + let __t416 = v_V5438.clone(); let __t418 = { - let __t417 = v_V5425.clone(); + let __t417 = v_V5439.clone(); rt::tl(&__t417)? }; let __t422 = { let __t420 = { - let __t419 = v_V5425.clone(); + let __t419 = v_V5439.clone(); rt::hd(&__t419)? }; - let __t421 = v_V5426.clone(); + let __t421 = v_V5440.clone(); rt::cons(&__t420, &__t421) }; - v_V5424 = __t416; - v_V5425 = __t418; - v_V5426 = __t422; + v_V5438 = __t416; + v_V5439 = __t418; + v_V5440 = __t422; continue; } } else { @@ -1968,14 +1968,14 @@ pub fn aot_profile(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5427 = args[0].clone(); + let mut v_V5441 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let _ = { let __t440 = Value::sym(interp.intern("shen.*profiled*")); let __t444 = { - let __t441 = v_V5427.clone(); + let __t441 = v_V5441.clone(); let __t443 = { let __t442 = Value::sym(interp.intern("shen.*profiled*")); rt::apply_direct(interp, "value", &[__t442])? @@ -1986,7 +1986,7 @@ pub fn aot_profile(interp: &mut Interp, args: &[Value]) -> ShenResult { }; break Ok({ let __t446 = { - let __t445 = v_V5427.clone(); + let __t445 = v_V5441.clone(); rt::apply_direct(interp, "ps", &[__t445])? }; rt::apply_direct(interp, "shen.profile-help", &[__t446])? @@ -2009,13 +2009,13 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5430 = args[0].clone(); + let mut v_V5444 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t529 = { let __t476 = { - let __t449 = v_V5430.clone(); + let __t449 = v_V5444.clone(); rt::is_cons(&__t449) }; if !rt::is_truthy(interp, &__t476)? { @@ -2025,7 +2025,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t474 = { let __t450 = Value::sym(interp.intern("defun")); let __t452 = { - let __t451 = v_V5430.clone(); + let __t451 = v_V5444.clone(); rt::hd(&__t451)? }; rt::eq(&__t450, &__t452) @@ -2036,7 +2036,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t475 = { let __t472 = { let __t454 = { - let __t453 = v_V5430.clone(); + let __t453 = v_V5444.clone(); rt::tl(&__t453)? }; rt::is_cons(&__t454) @@ -2048,7 +2048,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t470 = { let __t457 = { let __t456 = { - let __t455 = v_V5430.clone(); + let __t455 = v_V5444.clone(); rt::tl(&__t455)? }; rt::tl(&__t456)? @@ -2063,7 +2063,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t461 = { let __t460 = { let __t459 = { - let __t458 = v_V5430.clone(); + let __t458 = v_V5444.clone(); rt::tl(&__t458)? }; rt::tl(&__t459)? @@ -2082,7 +2082,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t465 = { let __t464 = { let __t463 = - v_V5430.clone(); + v_V5444.clone(); rt::tl(&__t463)? }; rt::tl(&__t464)? @@ -2113,17 +2113,17 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { { - let v_W5431 = { + let v_W5445 = { let __t478 = Value::sym(interp.intern("shen.f")); rt::apply_direct(interp, "gensym", &[__t478])? }; { - let v_W5432 = { + let v_W5446 = { let __t479 = Value::sym(interp.intern("defun")); let __t504 = { let __t482 = { let __t481 = { - let __t480 = v_V5430.clone(); + let __t480 = v_V5444.clone(); rt::tl(&__t480)? }; rt::hd(&__t481)? @@ -2132,7 +2132,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t486 = { let __t485 = { let __t484 = { - let __t483 = v_V5430.clone(); + let __t483 = v_V5444.clone(); rt::tl(&__t483)? }; rt::tl(&__t484)? @@ -2143,7 +2143,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t500 = { let __t489 = { let __t488 = { - let __t487 = v_V5430.clone(); + let __t487 = v_V5444.clone(); rt::tl(&__t487)? }; rt::hd(&__t488)? @@ -2151,7 +2151,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t493 = { let __t492 = { let __t491 = { - let __t490 = v_V5430.clone(); + let __t490 = v_V5444.clone(); rt::tl(&__t490)? }; rt::tl(&__t491)? @@ -2159,11 +2159,11 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She rt::hd(&__t492)? }; let __t499 = { - let __t494 = v_W5431.clone(); + let __t494 = v_W5445.clone(); let __t498 = { let __t497 = { let __t496 = { - let __t495 = v_V5430.clone(); + let __t495 = v_V5444.clone(); rt::tl(&__t495)? }; rt::tl(&__t496)? @@ -2188,15 +2188,15 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She rt::cons(&__t479, &__t504) }; { - let v_W5433 = { + let v_W5447 = { let __t505 = Value::sym(interp.intern("defun")); let __t524 = { - let __t506 = v_W5431.clone(); + let __t506 = v_W5445.clone(); let __t523 = { let __t510 = { let __t509 = { let __t508 = { - let __t507 = v_V5430.clone(); + let __t507 = v_V5444.clone(); rt::tl(&__t507)? }; rt::tl(&__t508)? @@ -2205,10 +2205,10 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She }; let __t522 = { let __t520 = { - let __t511 = v_W5431.clone(); + let __t511 = v_W5445.clone(); let __t514 = { let __t513 = { - let __t512 = v_V5430.clone(); + let __t512 = v_V5444.clone(); rt::tl(&__t512)? }; rt::hd(&__t513)? @@ -2217,7 +2217,7 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She let __t518 = { let __t517 = { let __t516 = { - let __t515 = v_V5430.clone(); + let __t515 = v_V5444.clone(); rt::tl(&__t515)? }; rt::tl(&__t516)? @@ -2242,18 +2242,18 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She rt::cons(&__t505, &__t524) }; { - let v_W5434 = { - let __t525 = v_W5432.clone(); + let v_W5448 = { + let __t525 = v_W5446.clone(); rt::apply_direct(interp, "eval-kl", &[__t525])? }; { - let v_W5435 = { - let __t526 = v_W5433.clone(); + let v_W5449 = { + let __t526 = v_W5447.clone(); rt::apply_direct(interp, "eval-kl", &[__t526])? }; break Ok({ let __t528 = { - let __t527 = v_V5430.clone(); + let __t527 = v_V5444.clone(); rt::tl(&__t527)? }; rt::hd(&__t528)? @@ -2297,14 +2297,14 @@ pub fn aot_unprofile(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5436 = args[0].clone(); + let mut v_V5450 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let _ = { let __t530 = Value::sym(interp.intern("shen.*profiled*")); let __t534 = { - let __t531 = v_V5436.clone(); + let __t531 = v_V5450.clone(); let __t533 = { let __t532 = Value::sym(interp.intern("shen.*profiled*")); rt::apply_direct(interp, "value", &[__t532])? @@ -2317,7 +2317,7 @@ pub fn aot_unprofile(interp: &mut Interp, args: &[Value]) -> ShenResult { match (|| -> ShenResult { Ok({ let __t536 = { - let __t535 = v_V5436.clone(); + let __t535 = v_V5450.clone(); rt::apply_direct(interp, "ps", &[__t535])? }; rt::apply_direct(interp, "eval", &[__t536])? @@ -2326,15 +2326,15 @@ pub fn aot_unprofile(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(v) => v, Err(e) => { let __h = { - let v_V5436 = v_V5436.clone(); + let v_V5450 = v_V5450.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5437 = args[0].clone(); - Ok(v_V5436.clone()) + let v_Z5451 = args[0].clone(); + Ok(v_V5450.clone()) }, - vec![v_V5436], + vec![v_V5450], interp, ) }; @@ -2361,11 +2361,11 @@ pub fn aot_shen_x2e_profiled_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V5438 = args[0].clone(); + let mut v_V5452 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t537 = v_V5438.clone(); + let __t537 = v_V5452.clone(); let __t539 = { let __t538 = Value::sym(interp.intern("shen.*profiled*")); rt::apply_direct(interp, "value", &[__t538])? @@ -2389,11 +2389,11 @@ pub fn aot_shen_x2e_profile_x2d_func(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5439 = args[0].clone(); + let mut v_V5453 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5440 = args[1].clone(); + let mut v_V5454 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5441 = args[2].clone(); + let mut v_V5455 = args[2].clone(); #[allow(clippy::never_loop)] loop { break Ok({ @@ -2416,7 +2416,7 @@ pub fn aot_shen_x2e_profile_x2d_func(interp: &mut Interp, args: &[Value]) -> She let __t596 = { let __t548 = Value::sym(interp.intern("Result")); let __t595 = { - let __t549 = v_V5441.clone(); + let __t549 = v_V5455.clone(); let __t594 = { let __t592 = { let __t550 = Value::sym(interp.intern("let")); @@ -2467,7 +2467,7 @@ pub fn aot_shen_x2e_profile_x2d_func(interp: &mut Interp, args: &[Value]) -> She ); let __t580 = { let __t566 = - v_V5439.clone(); + v_V5453.clone(); let __t579 = { let __t577 = { let __t567 = Value::sym(interp.intern("+")); @@ -2475,7 +2475,7 @@ pub fn aot_shen_x2e_profile_x2d_func(interp: &mut Interp, args: &[Value]) -> She let __t572 = { let __t568 = Value::sym(interp.intern("shen.get-profile")); let __t571 = { - let __t569 = v_V5439.clone(); + let __t569 = v_V5453.clone(); let __t570 = Value::nil(); rt::cons(&__t569, &__t570) }; @@ -2566,23 +2566,23 @@ pub fn aot_profile_x2d_results(interp: &mut Interp, args: &[Value]) -> ShenResul ))); } #[allow(unused_mut)] - let mut v_V5442 = args[0].clone(); + let mut v_V5456 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5443 = { - let __t602 = v_V5442.clone(); + let v_W5457 = { + let __t602 = v_V5456.clone(); rt::apply_direct(interp, "shen.get-profile", &[__t602])? }; { - let v_W5444 = { - let __t603 = v_V5442.clone(); + let v_W5458 = { + let __t603 = v_V5456.clone(); let __t604 = Value::int(0i64); rt::apply_direct(interp, "shen.put-profile", &[__t603, __t604])? }; break Ok({ - let __t605 = v_V5442.clone(); - let __t606 = v_W5443.clone(); + let __t605 = v_V5456.clone(); + let __t606 = v_W5457.clone(); rt::apply_direct(interp, "@p", &[__t605, __t606])? }); } @@ -2604,13 +2604,13 @@ pub fn aot_shen_x2e_get_x2d_profile(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5445 = args[0].clone(); + let mut v_V5459 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ - let __t607 = v_V5445.clone(); + let __t607 = v_V5459.clone(); let __t608 = Value::sym(interp.intern("profile")); let __t610 = { let __t609 = Value::sym(interp.intern("*property-vector*")); @@ -2626,7 +2626,7 @@ pub fn aot_shen_x2e_get_x2d_profile(interp: &mut Interp, args: &[Value]) -> Shen "", 1, move |interp, args| { - let v_Z5446 = args[0].clone(); + let v_Z5460 = args[0].clone(); Ok(Value::int(0i64)) }, Vec::new(), @@ -2655,15 +2655,15 @@ pub fn aot_shen_x2e_put_x2d_profile(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5447 = args[0].clone(); + let mut v_V5461 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5448 = args[1].clone(); + let mut v_V5462 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok({ - let __t611 = v_V5447.clone(); + let __t611 = v_V5461.clone(); let __t612 = Value::sym(interp.intern("profile")); - let __t613 = v_V5448.clone(); + let __t613 = v_V5462.clone(); let __t615 = { let __t614 = Value::sym(interp.intern("*property-vector*")); rt::apply_direct(interp, "value", &[__t614])? diff --git a/crates/shen-rust/src/aot/kernel/types.rs b/crates/shen-rust/src/aot/kernel/types.rs index 6160627..248ba12 100644 --- a/crates/shen-rust/src/aot/kernel/types.rs +++ b/crates/shen-rust/src/aot/kernel/types.rs @@ -32,64 +32,64 @@ pub fn aot_declare(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5483 = args[0].clone(); + let mut v_V5507 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5484 = args[1].clone(); + let mut v_V5508 = args[1].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5485 = { - let __t0 = v_V5484.clone(); + let v_W5509 = { + let __t0 = v_V5508.clone(); rt::apply_direct(interp, "shen.rectify-type", &[__t0])? }; { - let v_W5486 = { + let v_W5510 = { let __t24 = { let __t22 = { let __t15 = { let __t13 = { - let v_V5483 = v_V5483.clone(); - let v_W5485 = v_W5485.clone(); + let v_V5507 = v_V5507.clone(); + let v_W5509 = v_W5509.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5487 = args[0].clone(); + let v_Z5511 = args[0].clone(); Ok({ - let v_V5483 = v_V5483.clone(); - let v_W5485 = v_W5485.clone(); - let v_Z5487 = v_Z5487.clone(); + let v_V5507 = v_V5507.clone(); + let v_W5509 = v_W5509.clone(); + let v_Z5511 = v_Z5511.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5488 = args[0].clone(); + let v_Z5512 = args[0].clone(); Ok({ - let v_V5483 = v_V5483.clone(); - let v_W5485 = v_W5485.clone(); - let v_Z5487 = v_Z5487.clone(); - let v_Z5488 = v_Z5488.clone(); + let v_V5507 = v_V5507.clone(); + let v_W5509 = v_W5509.clone(); + let v_Z5511 = v_Z5511.clone(); + let v_Z5512 = v_Z5512.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5489 = args[0].clone(); + let v_Z5513 = args[0].clone(); Ok({ - let v_V5483 = - v_V5483.clone(); - let v_W5485 = - v_W5485.clone(); - let v_Z5487 = - v_Z5487.clone(); - let v_Z5488 = - v_Z5488.clone(); - let v_Z5489 = - v_Z5489.clone(); + let v_V5507 = + v_V5507.clone(); + let v_W5509 = + v_W5509.clone(); + let v_Z5511 = + v_Z5511.clone(); + let v_Z5512 = + v_Z5512.clone(); + let v_Z5513 = + v_Z5513.clone(); rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z5490 = + let v_Z5514 = args[0].clone(); Ok({ let _ = { @@ -98,51 +98,51 @@ pub fn aot_declare(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t4 = { let __t3 = { - let __t1 = v_V5483.clone(); - let __t2 = v_Z5487.clone(); + let __t1 = v_V5507.clone(); + let __t2 = v_Z5511.clone(); rt::apply_direct(interp, "shen.deref", &[__t1, __t2])? }; rt::apply_direct(interp, "receive", &[__t3])? }; let __t8 = { let __t7 = { - let __t5 = v_W5485.clone(); - let __t6 = v_Z5487.clone(); + let __t5 = v_W5509.clone(); + let __t6 = v_Z5511.clone(); rt::apply_direct(interp, "shen.deref", &[__t5, __t6])? }; rt::apply_direct(interp, "receive", &[__t7])? }; - let __t9 = v_Z5487.clone(); - let __t10 = v_Z5488.clone(); - let __t11 = v_Z5489.clone(); - let __t12 = v_Z5490.clone(); + let __t9 = v_Z5511.clone(); + let __t10 = v_Z5512.clone(); + let __t11 = v_Z5513.clone(); + let __t12 = v_Z5514.clone(); rt::apply_direct(interp, "shen.variancy", &[__t4, __t8, __t9, __t10, __t11, __t12])? } }) }, vec![ - v_V5483, v_W5485, - v_Z5487, v_Z5488, - v_Z5489, + v_V5507, v_W5509, + v_Z5511, v_Z5512, + v_Z5513, ], interp, ) }) }, vec![ - v_V5483, v_W5485, v_Z5487, - v_Z5488, + v_V5507, v_W5509, v_Z5511, + v_Z5512, ], interp, ) }) }, - vec![v_V5483, v_W5485, v_Z5487], + vec![v_V5507, v_W5509, v_Z5511], interp, ) }) }, - vec![v_V5483, v_W5485], + vec![v_V5507, v_W5509], interp, ) }; @@ -179,19 +179,19 @@ pub fn aot_declare(interp: &mut Interp, args: &[Value]) -> ShenResult { rt::apply_value(interp, __t24, &[__t25])? }; { - let v_W5491 = { + let v_W5515 = { let __t27 = { - let __t26 = v_V5484.clone(); + let __t26 = v_V5508.clone(); rt::apply_direct(interp, "shen.prolog-abstraction", &[__t26])? }; rt::apply_direct(interp, "eval-kl", &[__t27])? }; { - let v_W5492 = { + let v_W5516 = { let __t28 = Value::sym(interp.intern("shen.*sigf*")); let __t33 = { - let __t29 = v_V5483.clone(); - let __t30 = v_W5491.clone(); + let __t29 = v_V5507.clone(); + let __t30 = v_W5515.clone(); let __t32 = { let __t31 = Value::sym(interp.intern("shen.*sigf*")); rt::apply_direct(interp, "value", &[__t31])? @@ -200,7 +200,7 @@ pub fn aot_declare(interp: &mut Interp, args: &[Value]) -> ShenResult { }; rt::apply_direct(interp, "set", &[__t28, __t33])? }; - break Ok(v_V5483.clone()); + break Ok(v_V5507.clone()); } } } @@ -222,101 +222,574 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< ))); } #[allow(unused_mut)] - let mut v_V5493 = args[0].clone(); + let mut v_V5517 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5494 = args[1].clone(); + let mut v_V5518 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5495 = args[2].clone(); + let mut v_V5519 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5496 = args[3].clone(); + let mut v_V5520 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5497 = args[4].clone(); + let mut v_V5521 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5498 = args[5].clone(); + let mut v_V5522 = args[5].clone(); #[allow(clippy::never_loop)] loop { { - let __t35 = { - let __t34 = v_V5496.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t34])? + let v_W5523 = { + let __t34 = v_V5521.clone(); + let __t35 = Value::int(1i64); + rt::add(&__t34, &__t35)? }; - if match rt::is_truthy(interp, &__t35) { - Ok(b) => b, - Err(e) => break Err(e), - } { - { - let v_W5499 = { - let __t36 = v_V5495.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t36])? + { + let v_W5524 = { + let __t134 = { + let __t36 = v_V5520.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t36])? }; - break Ok({ - let __t37 = v_V5495.clone(); - let __t56 = { - let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; + if rt::is_truthy(interp, &__t134)? { + { + let v_W5525 = { + let __t37 = v_V5518.clone(); + let __t38 = v_V5519.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t37, __t38])? + }; { - let __t42 = { - let __t38 = Value::sym(interp.intern("fn")); - let __t41 = { - let __t39 = v_V5493.clone(); - let __t40 = Value::nil(); - rt::cons(&__t39, &__t40) - }; - rt::cons(&__t38, &__t41) - }; - let __t43 = v_W5499.clone(); - let __t44 = Value::nil(); - let __t45 = v_V5495.clone(); - let __t46 = v_V5496.clone(); - let __t47 = v_V5497.clone(); - let __t55 = { - let v_V5493 = v_V5493.clone(); - let v_V5494 = v_V5494.clone(); - let v_V5495 = v_V5495.clone(); - let v_V5496 = v_V5496.clone(); - let v_V5497 = v_V5497.clone(); - let v_V5498 = v_V5498.clone(); - let v_W5499 = v_W5499.clone(); + let v_W5526 = { + let v_V5517 = v_V5517.clone(); + let v_V5519 = v_V5519.clone(); + let v_V5520 = v_V5520.clone(); + let v_V5522 = v_V5522.clone(); + let v_W5523 = v_W5523.clone(); rt::make_aot_closure( - "", - 0, - move |interp, _args| { + "", + 1, + move |interp, args| { + let v_Z5527 = args[0].clone(); Ok({ - let __t48 = v_V5493.clone(); - let __t49 = v_W5499.clone(); - let __t50 = v_V5494.clone(); - let __t51 = v_V5495.clone(); - let __t52 = v_V5496.clone(); - let __t53 = v_V5497.clone(); - let __t54 = v_V5498.clone(); - rt::apply_direct( - interp, - "shen.variants?", - &[ - __t48, __t49, __t50, __t51, __t52, __t53, - __t54, - ], - )? + let v_W5528 = { + let __t39 = v_V5519.clone(); + rt::apply_direct( + interp, + "shen.newpv", + &[__t39], + )? + }; + { + let __t40 = v_V5519.clone(); + let __t73 = { + let _ = { + rt::apply_direct( + interp, + "shen.incinfs", + &[], + )? + }; + { + let __t46 = { + let __t44 = { + let __t43 = { + let __t41 = v_V5517.clone(); + let __t42 = v_V5519.clone(); + rt::apply_direct( + interp, + "shen.deref", + &[__t41, __t42], + )? + }; + rt::apply_direct( + interp, + "arity", + &[__t43], + )? + }; + let __t45 = Value::int(0i64); + rt::eq(&__t44, &__t45) + }; + let __t47 = v_V5519.clone(); + let __t48 = v_V5520.clone(); + let __t49 = v_W5523.clone(); + let __t72 = { + let v_V5517 = v_V5517.clone(); + let v_V5519 = v_V5519.clone(); + let v_V5520 = v_V5520.clone(); + let v_V5522 = v_V5522.clone(); + let v_W5523 = v_W5523.clone(); + let v_W5528 = v_W5528.clone(); + let v_Z5527 = v_Z5527.clone(); + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok({ + let __t50 = + v_V5519.clone(); + let __t51 = + v_V5520.clone(); + let __t52 = + v_W5523.clone(); + let __t71 = { + let v_V5517 = + v_V5517.clone(); + let v_V5519 = + v_V5519.clone(); + let v_V5520 = + v_V5520.clone(); + let v_V5522 = + v_V5522.clone(); + let v_W5523 = + v_W5523.clone(); + let v_W5528 = + v_W5528.clone(); + let v_Z5527 = + v_Z5527.clone(); + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t57 = { let __t53 = Value::sym(interp.intern("fn")); let __t56 = { let __t54 = v_V5517.clone(); let __t55 = Value::nil(); rt::cons(&__t54, &__t55) }; rt::cons(&__t53, &__t56) }; let __t58 = v_W5528.clone(); let __t59 = Value::nil(); let __t60 = v_V5519.clone(); let __t61 = v_V5520.clone(); let __t62 = v_W5523.clone(); let __t70 = { let v_V5517 = v_V5517.clone(); let v_V5519 = v_V5519.clone(); let v_V5520 = v_V5520.clone(); let v_V5522 = v_V5522.clone(); let v_W5523 = v_W5523.clone(); let v_W5528 = v_W5528.clone(); let v_Z5527 = v_Z5527.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t63 = v_V5517.clone(); let __t64 = v_Z5527.clone(); let __t65 = v_W5528.clone(); let __t66 = v_V5519.clone(); let __t67 = v_V5520.clone(); let __t68 = v_W5523.clone(); let __t69 = v_V5522.clone(); rt::apply_direct(interp, "shen.variants?", &[__t63, __t64, __t65, __t66, __t67, __t68, __t69])? }), vec![v_V5517, v_V5519, v_V5520, v_V5522, v_W5523, v_W5528, v_Z5527], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t57, __t58, __t59, __t60, __t61, __t62, __t70])? }), vec![v_V5517, v_V5519, v_V5520, v_V5522, v_W5523, v_W5528, v_Z5527], interp) + }; + rt::apply_direct( + interp, + "shen.cut", + &[ + __t50, __t51, + __t52, __t71, + ], + )? + }) + }, + vec![ + v_V5517, v_V5519, v_V5520, + v_V5522, v_W5523, v_W5528, + v_Z5527, + ], + interp, + ) + }; + rt::apply_direct( + interp, + "when", + &[ + __t46, __t47, __t48, __t49, + __t72, + ], + )? + } + }; + rt::apply_direct( + interp, + "shen.gc", + &[__t40, __t73], + )? + } }) }, - vec![ - v_V5493, v_V5494, v_V5495, v_V5496, v_V5497, v_V5498, - v_W5499, - ], + vec![v_V5517, v_V5519, v_V5520, v_V5522, v_W5523], interp, ) }; - rt::apply_direct( - interp, - "shen.system-S-h", - &[__t42, __t43, __t44, __t45, __t46, __t47, __t55], - )? + { + let __t133 = { + let __t74 = v_W5525.clone(); + rt::is_cons(&__t74) + }; + if rt::is_truthy(interp, &__t133)? { + { + let v_W5529 = { + let __t76 = { + let __t75 = v_W5525.clone(); + rt::hd(&__t75)? + }; + let __t77 = v_V5519.clone(); + rt::apply_direct( + interp, + "shen.lazyderef", + &[__t76, __t77], + )? + }; + { + let v_W5530 = { + let v_V5519 = v_V5519.clone(); + let v_W5525 = v_W5525.clone(); + let v_W5526 = v_W5526.clone(); + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok({ + let v_W5531 = { + let __t79 = { + let __t78 = v_W5525.clone(); + rt::tl(&__t78)? + }; + let __t80 = v_V5519.clone(); + rt::apply_direct( + interp, + "shen.lazyderef", + &[__t79, __t80], + )? + }; + { + let v_W5532 = { + let v_W5526 = + v_W5526.clone(); + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z5533 = + args[0].clone(); + Ok({ + let __t81 = + v_Z5533 + .clone( + ); + rt::apply_value( + interp, + v_W5526 + .clone( + ), + &[__t81], + )? + }) + }, + vec![v_W5526], + interp, + ) + }; + { + let __t109 = { + let __t82 = + v_W5531.clone(); + rt::is_cons(&__t82) + }; + if rt::is_truthy( + interp, &__t109, + )? { + { + let v_W5534 = { + let __t83 = + v_W5531 + .clone( + ); + rt::hd(&__t83)? + }; + { + let v_W5535 = { + let __t85 = { + let __t84 = v_W5531.clone(); + rt::tl(&__t84)? + }; + let __t86 = v_V5519.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t85, __t86])? + }; + { + let v_W5536 = { + let v_W5532 = v_W5532.clone(); + let v_W5534 = v_W5534.clone(); + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t87 = v_W5534.clone(); rt::apply_value(interp, v_W5532.clone(), &[__t87])? }), vec![v_W5532, v_W5534], interp) + }; + { + let __t96 = { + let __t88 = v_W5535.clone(); + let __t89 = Value::nil(); + rt::eq(&__t88, &__t89) + }; + if rt::is_truthy(interp, &__t96)? { rt::apply_value(interp, v_W5536.clone(), &[])? } else { { let __t95 = { let __t90 = v_W5535.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t90])? }; if rt::is_truthy(interp, &__t95)? { { let __t91 = v_W5535.clone(); let __t92 = Value::nil(); let __t93 = v_V5519.clone(); let __t94 = v_W5536.clone(); rt::apply_direct(interp, "shen.bind!", &[__t91, __t92, __t93, __t94])? } } else { Value::bool(false) } } } + } + } + } + } + } else { + { + let __t108 = { + let __t97 = + v_W5531 + .clone( + ); + rt::apply_direct(interp, "shen.pvar?", &[__t97])? + }; + if rt::is_truthy( + interp, &__t108, + )? { + { + let v_W5537 = { + let __t98 = v_V5519.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t98])? + }; + { + let __t99 = v_V5519.clone(); + let __t107 = { + let __t100 = v_W5531.clone(); + let __t103 = { let __t101 = v_W5537.clone(); let __t102 = Value::nil(); rt::cons(&__t101, &__t102) }; + let __t104 = v_V5519.clone(); + let __t106 = { let v_W5532 = v_W5532.clone(); let v_W5537 = v_W5537.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t105 = v_W5537.clone(); rt::apply_value(interp, v_W5532.clone(), &[__t105])? }), vec![v_W5532, v_W5537], interp) }; + rt::apply_direct(interp, "shen.bind!", &[__t100, __t103, __t104, __t106])? + }; + rt::apply_direct(interp, "shen.gc", &[__t99, __t107])? + } + } + } else { + Value::bool( + false, + ) + } + } + } + } + } + }) + }, + vec![v_V5519, v_W5525, v_W5526], + interp, + ) + }; + { + let __t118 = { + let __t110 = v_W5529.clone(); + let __t111 = + Value::sym(interp.intern("-->")); + rt::eq(&__t110, &__t111) + }; + if rt::is_truthy(interp, &__t118)? { + rt::apply_value( + interp, + v_W5530.clone(), + &[], + )? + } else { + { + let __t117 = { + let __t112 = v_W5529.clone(); + rt::apply_direct( + interp, + "shen.pvar?", + &[__t112], + )? + }; + if rt::is_truthy(interp, &__t117)? { + { + let __t113 = v_W5529.clone(); + let __t114 = Value::sym( + interp.intern("-->"), + ); + let __t115 = v_V5519.clone(); + let __t116 = v_W5530.clone(); + rt::apply_direct( + interp, + "shen.bind!", + &[ + __t113, __t114, __t115, + __t116, + ], + )? + } + } else { + Value::bool(false) + } + } + } + } + } + } + } else { + { + let __t132 = { + let __t119 = v_W5525.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t119])? + }; + if rt::is_truthy(interp, &__t132)? { + { + let v_W5538 = { + let __t120 = v_V5519.clone(); + rt::apply_direct( + interp, + "shen.newpv", + &[__t120], + )? + }; + { + let __t121 = v_V5519.clone(); + let __t131 = { + let __t122 = v_W5525.clone(); + let __t127 = { + let __t123 = Value::sym( + interp.intern("-->"), + ); + let __t126 = { + let __t124 = v_W5538.clone(); + let __t125 = Value::nil(); + rt::cons(&__t124, &__t125) + }; + rt::cons(&__t123, &__t126) + }; + let __t128 = v_V5519.clone(); + let __t130 = { + let v_W5526 = v_W5526.clone(); + let v_W5538 = v_W5538.clone(); + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok({ + let __t129 = + v_W5538.clone(); + rt::apply_value( + interp, + v_W5526.clone(), + &[__t129], + )? + }) + }, + vec![v_W5526, v_W5538], + interp, + ) + }; + rt::apply_direct( + interp, + "shen.bind!", + &[__t122, __t127, __t128, __t130], + )? + }; + rt::apply_direct( + interp, + "shen.gc", + &[__t121, __t131], + )? + } + } + } else { + Value::bool(false) + } + } + } + } + } + } + } else { + Value::bool(false) + } + }; + { + let __t137 = { + let __t135 = v_W5524.clone(); + let __t136 = Value::bool(false); + rt::eq(&__t135, &__t136) + }; + if match rt::is_truthy(interp, &__t137) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W5539 = { + let __t160 = { + let __t138 = v_V5520.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t138])? + }; + if rt::is_truthy(interp, &__t160)? { + { + let v_W5540 = { + let __t139 = v_V5519.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t139])? + }; + { + let __t140 = v_V5519.clone(); + let __t159 = { + let _ = { + rt::apply_direct(interp, "shen.incinfs", &[])? + }; + { + let __t145 = { + let __t141 = + Value::sym(interp.intern("fn")); + let __t144 = { + let __t142 = v_V5517.clone(); + let __t143 = Value::nil(); + rt::cons(&__t142, &__t143) + }; + rt::cons(&__t141, &__t144) + }; + let __t146 = v_W5540.clone(); + let __t147 = Value::nil(); + let __t148 = v_V5519.clone(); + let __t149 = v_V5520.clone(); + let __t150 = v_W5523.clone(); + let __t158 = { + let v_V5517 = v_V5517.clone(); + let v_V5518 = v_V5518.clone(); + let v_V5519 = v_V5519.clone(); + let v_V5520 = v_V5520.clone(); + let v_V5522 = v_V5522.clone(); + let v_W5523 = v_W5523.clone(); + let v_W5540 = v_W5540.clone(); + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok({ + let __t151 = v_V5517.clone(); + let __t152 = v_W5540.clone(); + let __t153 = v_V5518.clone(); + let __t154 = v_V5519.clone(); + let __t155 = v_V5520.clone(); + let __t156 = v_W5523.clone(); + let __t157 = v_V5522.clone(); + rt::apply_direct( + interp, + "shen.variants?", + &[ + __t151, __t152, __t153, + __t154, __t155, __t156, + __t157, + ], + )? + }) + }, + vec![ + v_V5517, v_V5518, v_V5519, v_V5520, + v_V5522, v_W5523, v_W5540, + ], + interp, + ) + }; + rt::apply_direct( + interp, + "shen.system-S-h", + &[ + __t145, __t146, __t147, __t148, __t149, + __t150, __t158, + ], + )? + } + }; + rt::apply_direct(interp, "shen.gc", &[__t140, __t159])? + } + } + } else { + Value::bool(false) + } + }; + { + let __t163 = { + let __t161 = v_W5539.clone(); + let __t162 = Value::bool(false); + rt::eq(&__t161, &__t162) + }; + if match rt::is_truthy(interp, &__t163) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t164 = v_V5520.clone(); + let __t165 = v_W5523.clone(); + rt::apply_direct(interp, "shen.unlock", &[__t164, __t165])? + }); + } else { + break Ok(v_W5539.clone()); + } } - }; - rt::apply_direct(interp, "shen.gc", &[__t37, __t56])? - }); + } + } else { + break Ok(v_W5524.clone()); + } } - } else { - break Ok(Value::bool(false)); } } } @@ -336,41 +809,41 @@ pub fn aot_shen_x2e_variants_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V5500 = args[0].clone(); + let mut v_V5541 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5501 = args[1].clone(); + let mut v_V5542 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5502 = args[2].clone(); + let mut v_V5543 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5503 = args[3].clone(); + let mut v_V5544 = args[3].clone(); #[allow(unused_mut)] - let mut v_V5504 = args[4].clone(); + let mut v_V5545 = args[4].clone(); #[allow(unused_mut)] - let mut v_V5505 = args[5].clone(); + let mut v_V5546 = args[5].clone(); #[allow(unused_mut)] - let mut v_V5506 = args[6].clone(); + let mut v_V5547 = args[6].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5507 = { - let __t64 = { - let __t57 = v_V5504.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t57])? + let v_W5548 = { + let __t173 = { + let __t166 = v_V5545.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t166])? }; - if rt::is_truthy(interp, &__t64)? { + if rt::is_truthy(interp, &__t173)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t58 = v_V5501.clone(); - let __t59 = v_V5502.clone(); - let __t60 = v_V5503.clone(); - let __t61 = v_V5504.clone(); - let __t62 = v_V5505.clone(); - let __t63 = v_V5506.clone(); + let __t167 = v_V5542.clone(); + let __t168 = v_V5543.clone(); + let __t169 = v_V5544.clone(); + let __t170 = v_V5545.clone(); + let __t171 = v_V5546.clone(); + let __t172 = v_V5547.clone(); rt::apply_direct( interp, "is!", - &[__t58, __t59, __t60, __t61, __t62, __t63], + &[__t167, __t168, __t169, __t170, __t171, __t172], )? } } @@ -379,78 +852,82 @@ pub fn aot_shen_x2e_variants_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t67 = { - let __t65 = v_W5507.clone(); - let __t66 = Value::bool(false); - rt::eq(&__t65, &__t66) + let __t176 = { + let __t174 = v_W5548.clone(); + let __t175 = Value::bool(false); + rt::eq(&__t174, &__t175) }; - if match rt::is_truthy(interp, &__t67) { + if match rt::is_truthy(interp, &__t176) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t69 = { - let __t68 = v_V5504.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t68])? + let __t178 = { + let __t177 = v_V5545.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t177])? }; - if match rt::is_truthy(interp, &__t69) { + if match rt::is_truthy(interp, &__t178) { Ok(b) => b, Err(e) => break Err(e), } { { - let v_W5508 = { - let __t70 = v_V5503.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t70])? + let v_W5549 = { + let __t179 = v_V5544.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t179])? }; break Ok({ - let __t71 = v_V5503.clone(); - let __t87 = { + let __t180 = v_V5544.clone(); + let __t196 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t72 = v_W5508.clone(); - let __t82 = { - let __t80 = { - let __t73 = Value::str( + let __t181 = v_W5549.clone(); + let __t191 = { + let __t189 = { + let __t182 = Value::str( "warning: changing the type of ", ); - let __t79 = { - let __t76 = { - let __t74 = v_V5500.clone(); - let __t75 = v_V5503.clone(); + let __t188 = { + let __t185 = { + let __t183 = v_V5541.clone(); + let __t184 = v_V5544.clone(); rt::apply_direct( interp, "shen.deref", - &[__t74, __t75], + &[__t183, __t184], )? }; - let __t77 = + let __t186 = Value::str(" may create errors\n"); - let __t78 = + let __t187 = Value::sym(interp.intern("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t76, __t77, __t78], + &[__t185, __t186, __t187], )? }; - rt::apply_direct(interp, "cn", &[__t73, __t79])? + rt::apply_direct( + interp, + "cn", + &[__t182, __t188], + )? }; - let __t81 = + let __t190 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t80, __t81])? + rt::apply_direct(interp, "pr", &[__t189, __t190])? }; - let __t83 = v_V5503.clone(); - let __t84 = v_V5504.clone(); - let __t85 = v_V5505.clone(); - let __t86 = v_V5506.clone(); + let __t192 = v_V5544.clone(); + let __t193 = v_V5545.clone(); + let __t194 = v_V5546.clone(); + let __t195 = v_V5547.clone(); rt::apply_direct( interp, "is", - &[__t72, __t82, __t83, __t84, __t85, __t86], + &[__t181, __t191, __t192, __t193, __t194, __t195], )? } }; - rt::apply_direct(interp, "shen.gc", &[__t71, __t87])? + rt::apply_direct(interp, "shen.gc", &[__t180, __t196])? }); } } else { @@ -458,7 +935,7 @@ pub fn aot_shen_x2e_variants_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe } } } else { - break Ok(v_W5507.clone()); + break Ok(v_W5548.clone()); } } } @@ -482,120 +959,120 @@ pub fn aot_shen_x2e_prolog_x2d_abstraction( ))); } #[allow(unused_mut)] - let mut v_V5509 = args[0].clone(); + let mut v_V5550 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5510 = { - let __t88 = Value::sym(interp.intern("B")); - rt::apply_direct(interp, "gensym", &[__t88])? + let v_W5551 = { + let __t197 = Value::sym(interp.intern("B")); + rt::apply_direct(interp, "gensym", &[__t197])? }; { - let v_W5511 = { - let __t89 = Value::sym(interp.intern("L")); - rt::apply_direct(interp, "gensym", &[__t89])? + let v_W5552 = { + let __t198 = Value::sym(interp.intern("L")); + rt::apply_direct(interp, "gensym", &[__t198])? }; { - let v_W5512 = { - let __t90 = Value::sym(interp.intern("Key")); - rt::apply_direct(interp, "gensym", &[__t90])? + let v_W5553 = { + let __t199 = Value::sym(interp.intern("Key")); + rt::apply_direct(interp, "gensym", &[__t199])? }; { - let v_W5513 = { - let __t91 = Value::sym(interp.intern("C")); - rt::apply_direct(interp, "gensym", &[__t91])? + let v_W5554 = { + let __t200 = Value::sym(interp.intern("C")); + rt::apply_direct(interp, "gensym", &[__t200])? }; { - let v_W5514 = { - let __t92 = Value::sym(interp.intern("V")); - rt::apply_direct(interp, "gensym", &[__t92])? + let v_W5555 = { + let __t201 = Value::sym(interp.intern("V")); + rt::apply_direct(interp, "gensym", &[__t201])? }; { - let v_W5515 = { - let __t93 = v_V5509.clone(); - rt::apply_direct(interp, "shen.extract-vars", &[__t93])? + let v_W5556 = { + let __t202 = v_V5550.clone(); + rt::apply_direct(interp, "shen.extract-vars", &[__t202])? }; break Ok({ - let __t94 = Value::sym(interp.intern("lambda")); - let __t141 = { - let __t95 = v_W5514.clone(); - let __t140 = { - let __t138 = { - let __t96 = Value::sym(interp.intern("lambda")); - let __t137 = { - let __t97 = v_W5510.clone(); - let __t136 = { - let __t134 = { - let __t98 = + let __t203 = Value::sym(interp.intern("lambda")); + let __t250 = { + let __t204 = v_W5555.clone(); + let __t249 = { + let __t247 = { + let __t205 = Value::sym(interp.intern("lambda")); + let __t246 = { + let __t206 = v_W5551.clone(); + let __t245 = { + let __t243 = { + let __t207 = Value::sym(interp.intern("lambda")); - let __t133 = { - let __t99 = v_W5511.clone(); - let __t132 = { - let __t130 = { - let __t100 = Value::sym( + let __t242 = { + let __t208 = v_W5552.clone(); + let __t241 = { + let __t239 = { + let __t209 = Value::sym( interp.intern("lambda"), ); - let __t129 = { - let __t101 = - v_W5512.clone(); - let __t128 = { - let __t126 = { - let __t102 = Value::sym(interp.intern("lambda")); - let __t125 = { - let __t103 = v_W5513.clone(); - let __t124 = { - let __t122 = { - let __t104 = v_W5515.clone(); - let __t120 = { let __t105 = Value::sym(interp.intern("is!")); let __t119 = { let __t106 = v_W5514.clone(); let __t118 = { let __t108 = { let __t107 = v_V5509.clone(); rt::apply_direct(interp, "shen.rcons_form", &[__t107])? }; let __t117 = { let __t109 = v_W5510.clone(); let __t116 = { let __t110 = v_W5511.clone(); let __t115 = { let __t111 = v_W5512.clone(); let __t114 = { let __t112 = v_W5513.clone(); let __t113 = Value::nil(); rt::cons(&__t112, &__t113) }; rt::cons(&__t111, &__t114) }; rt::cons(&__t110, &__t115) }; rt::cons(&__t109, &__t116) }; rt::cons(&__t108, &__t117) }; rt::cons(&__t106, &__t118) }; rt::cons(&__t105, &__t119) }; - let __t121 = v_W5510.clone(); - rt::apply_direct(interp, "shen.stpart", &[__t104, __t120, __t121])? + let __t238 = { + let __t210 = + v_W5553.clone(); + let __t237 = { + let __t235 = { + let __t211 = Value::sym(interp.intern("lambda")); + let __t234 = { + let __t212 = v_W5554.clone(); + let __t233 = { + let __t231 = { + let __t213 = v_W5556.clone(); + let __t229 = { let __t214 = Value::sym(interp.intern("is!")); let __t228 = { let __t215 = v_W5555.clone(); let __t227 = { let __t217 = { let __t216 = v_V5550.clone(); rt::apply_direct(interp, "shen.rcons_form", &[__t216])? }; let __t226 = { let __t218 = v_W5551.clone(); let __t225 = { let __t219 = v_W5552.clone(); let __t224 = { let __t220 = v_W5553.clone(); let __t223 = { let __t221 = v_W5554.clone(); let __t222 = Value::nil(); rt::cons(&__t221, &__t222) }; rt::cons(&__t220, &__t223) }; rt::cons(&__t219, &__t224) }; rt::cons(&__t218, &__t225) }; rt::cons(&__t217, &__t226) }; rt::cons(&__t215, &__t227) }; rt::cons(&__t214, &__t228) }; + let __t230 = v_W5551.clone(); + rt::apply_direct(interp, "shen.stpart", &[__t213, __t229, __t230])? }; - let __t123 = Value::nil(); - rt::cons(&__t122, &__t123) + let __t232 = Value::nil(); + rt::cons(&__t231, &__t232) }; rt::cons( - &__t103, - &__t124, + &__t212, + &__t233, ) }; rt::cons( - &__t102, - &__t125, + &__t211, + &__t234, ) }; - let __t127 = + let __t236 = Value::nil(); rt::cons( - &__t126, - &__t127, + &__t235, + &__t236, ) }; rt::cons( - &__t101, &__t128, + &__t210, &__t237, ) }; - rt::cons(&__t100, &__t129) + rt::cons(&__t209, &__t238) }; - let __t131 = Value::nil(); - rt::cons(&__t130, &__t131) + let __t240 = Value::nil(); + rt::cons(&__t239, &__t240) }; - rt::cons(&__t99, &__t132) + rt::cons(&__t208, &__t241) }; - rt::cons(&__t98, &__t133) + rt::cons(&__t207, &__t242) }; - let __t135 = Value::nil(); - rt::cons(&__t134, &__t135) + let __t244 = Value::nil(); + rt::cons(&__t243, &__t244) }; - rt::cons(&__t97, &__t136) + rt::cons(&__t206, &__t245) }; - rt::cons(&__t96, &__t137) + rt::cons(&__t205, &__t246) }; - let __t139 = Value::nil(); - rt::cons(&__t138, &__t139) + let __t248 = Value::nil(); + rt::cons(&__t247, &__t248) }; - rt::cons(&__t95, &__t140) + rt::cons(&__t204, &__t249) }; - rt::cons(&__t94, &__t141) + rt::cons(&__t203, &__t250) }); } } @@ -627,10 +1104,10 @@ pub fn aot_shen_x2e_demod(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5561 = args[0].clone(); + let mut v_V5602 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5562 = { - let __t0 = v_V5561.clone(); + let v_W5603 = { + let __t0 = v_V5602.clone(); let __t1 = Value::str("~S"); rt::apply_direct(interp, "shen.insert", &[__t0, __t1])? }; { - let v_W5563 = { - let __t2 = v_W5562.clone(); + let v_W5604 = { + let __t2 = v_W5603.clone(); let __t3 = { rt::apply_direct(interp, "stoutput", &[])? }; rt::apply_direct(interp, "pr", &[__t2, __t3])? }; - break Ok(v_V5561.clone()); + break Ok(v_V5602.clone()); } } } @@ -67,9 +67,9 @@ pub fn aot_pr(interp: &mut Interp, args: &[Value]) -> ShenResult { ))); } #[allow(unused_mut)] - let mut v_V5564 = args[0].clone(); + let mut v_V5605 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5565 = args[1].clone(); + let mut v_V5606 = args[1].clone(); #[allow(clippy::never_loop)] loop { { @@ -81,11 +81,11 @@ pub fn aot_pr(interp: &mut Interp, args: &[Value]) -> ShenResult { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5564.clone()); + break Ok(v_V5605.clone()); } else { { let __t7 = { - let __t6 = v_V5565.clone(); + let __t6 = v_V5606.clone(); rt::apply_direct(interp, "shen.char-stoutput?", &[__t6])? }; if match rt::is_truthy(interp, &__t7) { @@ -93,16 +93,16 @@ pub fn aot_pr(interp: &mut Interp, args: &[Value]) -> ShenResult { Err(e) => break Err(e), } { break Ok({ - let __t8 = v_V5564.clone(); - let __t9 = v_V5565.clone(); + let __t8 = v_V5605.clone(); + let __t9 = v_V5606.clone(); rt::apply_direct(interp, "shen.write-string", &[__t8, __t9])? }); } else { break Ok({ - let __t10 = v_V5564.clone(); - let __t11 = v_V5565.clone(); + let __t10 = v_V5605.clone(); + let __t11 = v_V5606.clone(); let __t14 = { - let __t12 = v_V5564.clone(); + let __t12 = v_V5605.clone(); let __t13 = Value::int(0i64); rt::apply_direct(interp, "shen.string->byte", &[__t12, __t13])? }; @@ -134,17 +134,17 @@ pub fn aot_shen_x2e_string_x2d__x3e_byte(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V5566 = args[0].clone(); + let mut v_V5607 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5567 = args[1].clone(); + let mut v_V5608 = args[1].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ let __t18 = { - let __t16 = v_V5566.clone(); - let __t17 = v_V5567.clone(); + let __t16 = v_V5607.clone(); + let __t17 = v_V5608.clone(); rt::apply_direct(interp, "pos", &[__t16, __t17])? }; rt::apply_direct(interp, "string->n", &[__t18])? @@ -157,7 +157,7 @@ pub fn aot_shen_x2e_string_x2d__x3e_byte(interp: &mut Interp, args: &[Value]) -> "", 1, move |interp, args| { - let v_Z5568 = args[0].clone(); + let v_Z5609 = args[0].clone(); Ok(Value::sym(interp.intern("shen.eos"))) }, Vec::new(), @@ -186,26 +186,26 @@ pub fn aot_shen_x2e_write_x2d_chars(interp: &mut Interp, args: &[Value]) -> Shen ))); } #[allow(unused_mut)] - let mut v_V5569 = args[0].clone(); + let mut v_V5610 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5570 = args[1].clone(); + let mut v_V5611 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5571 = args[2].clone(); + let mut v_V5612 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5572 = args[3].clone(); + let mut v_V5613 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t32 = { let __t30 = Value::sym(interp.intern("shen.eos")); - let __t31 = v_V5571.clone(); + let __t31 = v_V5612.clone(); rt::eq(&__t30, &__t31) }; if match rt::is_truthy(interp, &__t32) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5569.clone()); + break Ok(v_V5610.clone()); } else { { let __t29 = Value::bool(true); @@ -214,29 +214,29 @@ pub fn aot_shen_x2e_write_x2d_chars(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let __t19 = v_V5569.clone(); - let __t20 = v_V5570.clone(); + let __t19 = v_V5610.clone(); + let __t20 = v_V5611.clone(); let __t25 = { let _ = { - let __t21 = v_V5571.clone(); - let __t22 = v_V5570.clone(); + let __t21 = v_V5612.clone(); + let __t22 = v_V5611.clone(); rt::apply_direct(interp, "write-byte", &[__t21, __t22])? }; { - let __t23 = v_V5569.clone(); - let __t24 = v_V5572.clone(); + let __t23 = v_V5610.clone(); + let __t24 = v_V5613.clone(); rt::apply_direct(interp, "shen.string->byte", &[__t23, __t24])? } }; let __t28 = { - let __t26 = v_V5572.clone(); + let __t26 = v_V5613.clone(); let __t27 = Value::int(1i64); rt::add(&__t26, &__t27)? }; - v_V5569 = __t19; - v_V5570 = __t20; - v_V5571 = __t25; - v_V5572 = __t28; + v_V5610 = __t19; + v_V5611 = __t20; + v_V5612 = __t25; + v_V5613 = __t28; continue; } } else { @@ -262,14 +262,14 @@ pub fn aot_shen_x2e_mkstr(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult ShenResu ))); } #[allow(unused_mut)] - let mut v_V5579 = args[0].clone(); + let mut v_V5620 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5580 = args[1].clone(); + let mut v_V5621 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t57 = { let __t55 = Value::nil(); - let __t56 = v_V5580.clone(); + let __t56 = v_V5621.clone(); rt::eq(&__t55, &__t56) }; if match rt::is_truthy(interp, &__t57) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5579.clone()); + break Ok(v_V5620.clone()); } else { { let __t54 = { - let __t47 = v_V5580.clone(); + let __t47 = v_V5621.clone(); rt::is_cons(&__t47) }; if match rt::is_truthy(interp, &__t54) { @@ -356,18 +356,18 @@ pub fn aot_shen_x2e_mkstr_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t51 = { let __t49 = { - let __t48 = v_V5580.clone(); + let __t48 = v_V5621.clone(); rt::hd(&__t48)? }; - let __t50 = v_V5579.clone(); + let __t50 = v_V5620.clone(); rt::apply_direct(interp, "shen.insert-l", &[__t49, __t50])? }; let __t53 = { - let __t52 = v_V5580.clone(); + let __t52 = v_V5621.clone(); rt::tl(&__t52)? }; - v_V5579 = __t51; - v_V5580 = __t53; + v_V5620 = __t51; + v_V5621 = __t53; continue; } } else { @@ -406,15 +406,15 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes ))); } #[allow(unused_mut)] - let mut v_V5587 = args[0].clone(); + let mut v_V5628 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5588 = args[1].clone(); + let mut v_V5629 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t238 = { let __t236 = Value::str(""); - let __t237 = v_V5588.clone(); + let __t237 = v_V5629.clone(); rt::eq(&__t236, &__t237) }; if match rt::is_truthy(interp, &__t238) { @@ -426,7 +426,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t235 = { let __t223 = { - let __t209 = v_V5588.clone(); + let __t209 = v_V5629.clone(); rt::apply_direct(interp, "shen.+string?", &[__t209])? }; if !rt::is_truthy(interp, &__t223)? { @@ -436,7 +436,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t221 = { let __t210 = Value::str("~"); let __t212 = { - let __t211 = v_V5588.clone(); + let __t211 = v_V5629.clone(); rt::apply_direct(interp, "hdstr", &[__t211])? }; rt::eq(&__t210, &__t212) @@ -447,7 +447,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t222 = { let __t219 = { let __t214 = { - let __t213 = v_V5588.clone(); + let __t213 = v_V5629.clone(); rt::apply_direct(interp, "tlstr", &[__t213])? }; rt::apply_direct(interp, "shen.+string?", &[__t214])? @@ -459,7 +459,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t215 = Value::str("A"); let __t218 = { let __t217 = { - let __t216 = v_V5588.clone(); + let __t216 = v_V5629.clone(); rt::apply_direct( interp, "tlstr", @@ -486,11 +486,11 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes break Ok({ let __t225 = Value::sym(interp.intern("shen.app")); let __t234 = { - let __t226 = v_V5587.clone(); + let __t226 = v_V5628.clone(); let __t233 = { let __t229 = { let __t228 = { - let __t227 = v_V5588.clone(); + let __t227 = v_V5629.clone(); rt::apply_direct(interp, "tlstr", &[__t227])? }; rt::apply_direct(interp, "tlstr", &[__t228])? @@ -510,7 +510,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t208 = { let __t196 = { - let __t182 = v_V5588.clone(); + let __t182 = v_V5629.clone(); rt::apply_direct(interp, "shen.+string?", &[__t182])? }; if !rt::is_truthy(interp, &__t196)? { @@ -520,7 +520,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t194 = { let __t183 = Value::str("~"); let __t185 = { - let __t184 = v_V5588.clone(); + let __t184 = v_V5629.clone(); rt::apply_direct(interp, "hdstr", &[__t184])? }; rt::eq(&__t183, &__t185) @@ -531,7 +531,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t195 = { let __t192 = { let __t187 = { - let __t186 = v_V5588.clone(); + let __t186 = v_V5629.clone(); rt::apply_direct( interp, "tlstr", @@ -551,7 +551,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t188 = Value::str("R"); let __t191 = { let __t190 = { - let __t189 = v_V5588.clone(); + let __t189 = v_V5629.clone(); rt::apply_direct( interp, "tlstr", @@ -582,11 +582,11 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes break Ok({ let __t198 = Value::sym(interp.intern("shen.app")); let __t207 = { - let __t199 = v_V5587.clone(); + let __t199 = v_V5628.clone(); let __t206 = { let __t202 = { let __t201 = { - let __t200 = v_V5588.clone(); + let __t200 = v_V5629.clone(); rt::apply_direct(interp, "tlstr", &[__t200])? }; rt::apply_direct(interp, "tlstr", &[__t201])? @@ -606,7 +606,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t181 = { let __t169 = { - let __t155 = v_V5588.clone(); + let __t155 = v_V5629.clone(); rt::apply_direct(interp, "shen.+string?", &[__t155])? }; if !rt::is_truthy(interp, &__t169)? { @@ -616,7 +616,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t167 = { let __t156 = Value::str("~"); let __t158 = { - let __t157 = v_V5588.clone(); + let __t157 = v_V5629.clone(); rt::apply_direct( interp, "hdstr", @@ -631,7 +631,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t168 = { let __t165 = { let __t160 = { - let __t159 = v_V5588.clone(); + let __t159 = v_V5629.clone(); rt::apply_direct( interp, "tlstr", @@ -652,7 +652,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t164 = { let __t163 = { let __t162 = - v_V5588.clone(); + v_V5629.clone(); rt::apply_direct( interp, "tlstr", @@ -685,11 +685,11 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes break Ok({ let __t171 = Value::sym(interp.intern("shen.app")); let __t180 = { - let __t172 = v_V5587.clone(); + let __t172 = v_V5628.clone(); let __t179 = { let __t175 = { let __t174 = { - let __t173 = v_V5588.clone(); + let __t173 = v_V5629.clone(); rt::apply_direct( interp, "tlstr", @@ -717,7 +717,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes } else { { let __t154 = { - let __t142 = v_V5588.clone(); + let __t142 = v_V5629.clone(); rt::apply_direct( interp, "shen.+string?", @@ -734,7 +734,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes Value::sym(interp.intern("cn")); let __t152 = { let __t145 = { - let __t144 = v_V5588.clone(); + let __t144 = v_V5629.clone(); rt::apply_direct( interp, "hdstr", @@ -743,10 +743,10 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes }; let __t151 = { let __t149 = { - let __t146 = v_V5587.clone(); + let __t146 = v_V5628.clone(); let __t148 = { let __t147 = - v_V5588.clone(); + v_V5629.clone(); rt::apply_direct( interp, "tlstr", @@ -776,7 +776,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t141 = { let __t126 = { - let __t106 = v_V5588.clone(); + let __t106 = v_V5629.clone(); rt::is_cons(&__t106) }; if !rt::is_truthy(interp, &__t126)? { @@ -789,7 +789,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes ); let __t109 = { let __t108 = - v_V5588.clone(); + v_V5629.clone(); rt::hd(&__t108)? }; rt::eq(&__t107, &__t109) @@ -802,7 +802,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t122 = { let __t111 = { let __t110 = - v_V5588.clone(); + v_V5629.clone(); rt::tl(&__t110)? }; rt::is_cons(&__t111) @@ -816,7 +816,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t120 = { let __t114 = { let __t113 = { - let __t112 = v_V5588.clone(); + let __t112 = v_V5629.clone(); rt::tl(&__t112)? }; rt::tl( @@ -838,7 +838,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t115 = Value::nil(); let __t119 = { let __t118 = { - let __t117 = { let __t116 = v_V5588.clone(); rt::tl(&__t116)? }; + let __t117 = { let __t116 = v_V5629.clone(); rt::tl(&__t116)? }; rt::tl(&__t117)? }; rt::tl(&__t118)? @@ -879,7 +879,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t131 = { let __t130 = { let __t129 = - v_V5588.clone(); + v_V5629.clone(); rt::tl(&__t129)? }; rt::hd(&__t130)? @@ -887,12 +887,12 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t139 = { let __t137 = { let __t132 = - v_V5587.clone(); + v_V5628.clone(); let __t136 = { let __t135 = { let __t134 = { let __t133 = - v_V5588 + v_V5629 .clone( ); rt::tl(&__t133)? @@ -918,7 +918,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t105 = { let __t87 = { - let __t60 = v_V5588.clone(); + let __t60 = v_V5629.clone(); rt::is_cons(&__t60) }; if !rt::is_truthy(interp, &__t87)? { @@ -933,7 +933,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes ); let __t63 = { let __t62 = - v_V5588.clone(); + v_V5629.clone(); rt::hd(&__t62)? }; rt::eq(&__t61, &__t63) @@ -946,7 +946,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t86 = { let __t83 = { let __t65 = { - let __t64 = v_V5588.clone(); + let __t64 = v_V5629.clone(); rt::tl( &__t64, )? @@ -965,12 +965,12 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t84 = { let __t81 = { let __t68 = { - let __t67 = { let __t66 = v_V5588.clone(); rt::tl(&__t66)? }; + let __t67 = { let __t66 = v_V5629.clone(); rt::tl(&__t66)? }; rt::tl(&__t67)? }; rt::is_cons(&__t68) }; - if !rt::is_truthy(interp, &__t81)? { Value::bool(false) } else { let __t82 = { let __t79 = { let __t72 = { let __t71 = { let __t70 = { let __t69 = v_V5588.clone(); rt::tl(&__t69)? }; rt::tl(&__t70)? }; rt::tl(&__t71)? }; rt::is_cons(&__t72) }; if !rt::is_truthy(interp, &__t79)? { Value::bool(false) } else { let __t80 = { let __t73 = Value::nil(); let __t78 = { let __t77 = { let __t76 = { let __t75 = { let __t74 = v_V5588.clone(); rt::tl(&__t74)? }; rt::tl(&__t75)? }; rt::tl(&__t76)? }; rt::tl(&__t77)? }; rt::eq(&__t73, &__t78) }; Value::bool(rt::is_truthy(interp, &__t80)?) } }; Value::bool(rt::is_truthy(interp, &__t82)?) } + if !rt::is_truthy(interp, &__t81)? { Value::bool(false) } else { let __t82 = { let __t79 = { let __t72 = { let __t71 = { let __t70 = { let __t69 = v_V5629.clone(); rt::tl(&__t69)? }; rt::tl(&__t70)? }; rt::tl(&__t71)? }; rt::is_cons(&__t72) }; if !rt::is_truthy(interp, &__t79)? { Value::bool(false) } else { let __t80 = { let __t73 = Value::nil(); let __t78 = { let __t77 = { let __t76 = { let __t75 = { let __t74 = v_V5629.clone(); rt::tl(&__t74)? }; rt::tl(&__t75)? }; rt::tl(&__t76)? }; rt::tl(&__t77)? }; rt::eq(&__t73, &__t78) }; Value::bool(rt::is_truthy(interp, &__t80)?) } }; Value::bool(rt::is_truthy(interp, &__t82)?) } }; Value::bool(rt::is_truthy(interp, &__t84)?) } @@ -1000,7 +1000,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t92 = { let __t91 = { let __t90 = - v_V5588.clone(); + v_V5629.clone(); rt::tl(&__t90)? }; rt::hd(&__t91)? @@ -1008,11 +1008,11 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t103 = { let __t98 = { let __t93 = - v_V5587.clone(); + v_V5628.clone(); let __t97 = { let __t96 = { let __t95 = { - let __t94 = v_V5588.clone(); + let __t94 = v_V5629.clone(); rt::tl(&__t94)? }; rt::tl( @@ -1030,7 +1030,7 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes let __t102 = { let __t101 = { let __t100 = { - let __t99 = v_V5588.clone(); + let __t99 = v_V5629.clone(); rt::tl( &__t99, )? @@ -1099,13 +1099,13 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V5589 = args[0].clone(); + let mut v_V5630 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t332 = { let __t312 = { - let __t240 = v_V5589.clone(); + let __t240 = v_V5630.clone(); rt::is_cons(&__t240) }; if !rt::is_truthy(interp, &__t312)? { @@ -1115,7 +1115,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t310 = { let __t241 = Value::sym(interp.intern("cn")); let __t243 = { - let __t242 = v_V5589.clone(); + let __t242 = v_V5630.clone(); rt::hd(&__t242)? }; rt::eq(&__t241, &__t243) @@ -1126,7 +1126,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t311 = { let __t308 = { let __t245 = { - let __t244 = v_V5589.clone(); + let __t244 = v_V5630.clone(); rt::tl(&__t244)? }; rt::is_cons(&__t245) @@ -1138,7 +1138,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t306 = { let __t248 = { let __t247 = { - let __t246 = v_V5589.clone(); + let __t246 = v_V5630.clone(); rt::tl(&__t246)? }; rt::tl(&__t247)? @@ -1153,7 +1153,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t252 = { let __t251 = { let __t250 = { - let __t249 = v_V5589.clone(); + let __t249 = v_V5630.clone(); rt::tl(&__t249)? }; rt::tl(&__t250)? @@ -1174,7 +1174,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t256 = { let __t255 = { let __t254 = - v_V5589.clone(); + v_V5630.clone(); rt::tl(&__t254)? }; rt::tl(&__t255)? @@ -1195,7 +1195,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t261 = { let __t260 = { let __t259 = - v_V5589 + v_V5630 .clone( ); rt::tl(&__t259)? @@ -1219,7 +1219,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t267 = { let __t266 = { let __t265 = { - let __t264 = v_V5589.clone(); + let __t264 = v_V5630.clone(); rt::tl(&__t264)? }; rt::tl(&__t265)? @@ -1247,7 +1247,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t277 = { let __t276 = { let __t275 = { - let __t274 = { let __t273 = { let __t272 = { let __t271 = v_V5589.clone(); rt::tl(&__t271)? }; rt::tl(&__t272)? }; rt::hd(&__t273)? }; + let __t274 = { let __t273 = { let __t272 = { let __t271 = v_V5630.clone(); rt::tl(&__t271)? }; rt::tl(&__t272)? }; rt::hd(&__t273)? }; rt::tl(&__t274)? }; rt::tl(&__t275)? @@ -1272,12 +1272,12 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t294 = { let __t278 = Value::nil(); let __t282 = { - let __t281 = { let __t280 = { let __t279 = v_V5589.clone(); rt::tl(&__t279)? }; rt::tl(&__t280)? }; + let __t281 = { let __t280 = { let __t279 = v_V5630.clone(); rt::tl(&__t279)? }; rt::tl(&__t280)? }; rt::tl(&__t281)? }; rt::eq(&__t278, &__t282) }; - if !rt::is_truthy(interp, &__t294)? { Value::bool(false) } else { let __t295 = { let __t292 = { let __t285 = { let __t284 = { let __t283 = v_V5589.clone(); rt::tl(&__t283)? }; rt::hd(&__t284)? }; rt::is_string(&__t285) }; if !rt::is_truthy(interp, &__t292)? { Value::bool(false) } else { let __t293 = { let __t291 = { let __t290 = { let __t289 = { let __t288 = { let __t287 = { let __t286 = v_V5589.clone(); rt::tl(&__t286)? }; rt::tl(&__t287)? }; rt::hd(&__t288)? }; rt::tl(&__t289)? }; rt::hd(&__t290)? }; rt::is_string(&__t291) }; Value::bool(rt::is_truthy(interp, &__t293)?) } }; Value::bool(rt::is_truthy(interp, &__t295)?) } + if !rt::is_truthy(interp, &__t294)? { Value::bool(false) } else { let __t295 = { let __t292 = { let __t285 = { let __t284 = { let __t283 = v_V5630.clone(); rt::tl(&__t283)? }; rt::hd(&__t284)? }; rt::is_string(&__t285) }; if !rt::is_truthy(interp, &__t292)? { Value::bool(false) } else { let __t293 = { let __t291 = { let __t290 = { let __t289 = { let __t288 = { let __t287 = { let __t286 = v_V5630.clone(); rt::tl(&__t286)? }; rt::tl(&__t287)? }; rt::hd(&__t288)? }; rt::tl(&__t289)? }; rt::hd(&__t290)? }; rt::is_string(&__t291) }; Value::bool(rt::is_truthy(interp, &__t293)?) } }; Value::bool(rt::is_truthy(interp, &__t295)?) } }; Value::bool(rt::is_truthy(interp, &__t297)?) } @@ -1324,7 +1324,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t324 = { let __t317 = { let __t316 = { - let __t315 = v_V5589.clone(); + let __t315 = v_V5630.clone(); rt::tl(&__t315)? }; rt::hd(&__t316)? @@ -1334,7 +1334,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t321 = { let __t320 = { let __t319 = { - let __t318 = v_V5589.clone(); + let __t318 = v_V5630.clone(); rt::tl(&__t318)? }; rt::tl(&__t319)? @@ -1352,7 +1352,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe let __t328 = { let __t327 = { let __t326 = { - let __t325 = v_V5589.clone(); + let __t325 = v_V5630.clone(); rt::tl(&__t325)? }; rt::tl(&__t326)? @@ -1374,7 +1374,7 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5589.clone()); + break Ok(v_V5630.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -1398,13 +1398,13 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V5592 = args[0].clone(); + let mut v_V5633 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t367 = { let __t365 = Value::str(""); - let __t366 = v_V5592.clone(); + let __t366 = v_V5633.clone(); rt::eq(&__t365, &__t366) }; if match rt::is_truthy(interp, &__t367) { @@ -1416,7 +1416,7 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu { let __t364 = { let __t356 = { - let __t342 = v_V5592.clone(); + let __t342 = v_V5633.clone(); rt::apply_direct(interp, "shen.+string?", &[__t342])? }; if !rt::is_truthy(interp, &__t356)? { @@ -1426,7 +1426,7 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu let __t354 = { let __t343 = Value::str("~"); let __t345 = { - let __t344 = v_V5592.clone(); + let __t344 = v_V5633.clone(); rt::apply_direct(interp, "hdstr", &[__t344])? }; rt::eq(&__t343, &__t345) @@ -1437,7 +1437,7 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu let __t355 = { let __t352 = { let __t347 = { - let __t346 = v_V5592.clone(); + let __t346 = v_V5633.clone(); rt::apply_direct(interp, "tlstr", &[__t346])? }; rt::apply_direct(interp, "shen.+string?", &[__t347])? @@ -1449,7 +1449,7 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu let __t348 = Value::str("%"); let __t351 = { let __t350 = { - let __t349 = v_V5592.clone(); + let __t349 = v_V5633.clone(); rt::apply_direct( interp, "tlstr", @@ -1481,7 +1481,7 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu let __t363 = { let __t362 = { let __t361 = { - let __t360 = v_V5592.clone(); + let __t360 = v_V5633.clone(); rt::apply_direct(interp, "tlstr", &[__t360])? }; rt::apply_direct(interp, "tlstr", &[__t361])? @@ -1493,7 +1493,7 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu } else { { let __t341 = { - let __t335 = v_V5592.clone(); + let __t335 = v_V5633.clone(); rt::apply_direct(interp, "shen.+string?", &[__t335])? }; if match rt::is_truthy(interp, &__t341) { @@ -1502,12 +1502,12 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu } { break Ok({ let __t337 = { - let __t336 = v_V5592.clone(); + let __t336 = v_V5633.clone(); rt::apply_direct(interp, "hdstr", &[__t336])? }; let __t340 = { let __t339 = { - let __t338 = v_V5592.clone(); + let __t338 = v_V5633.clone(); rt::apply_direct(interp, "tlstr", &[__t338])? }; rt::apply_direct(interp, "shen.proc-nl", &[__t339])? @@ -1553,26 +1553,26 @@ pub fn aot_shen_x2e_mkstr_x2d_r(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V5597 = args[0].clone(); + let mut v_V5638 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5598 = args[1].clone(); + let mut v_V5639 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t384 = { let __t382 = Value::nil(); - let __t383 = v_V5598.clone(); + let __t383 = v_V5639.clone(); rt::eq(&__t382, &__t383) }; if match rt::is_truthy(interp, &__t384) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5597.clone()); + break Ok(v_V5638.clone()); } else { { let __t381 = { - let __t370 = v_V5598.clone(); + let __t370 = v_V5639.clone(); rt::is_cons(&__t370) }; if match rt::is_truthy(interp, &__t381) { @@ -1584,11 +1584,11 @@ pub fn aot_shen_x2e_mkstr_x2d_r(interp: &mut Interp, args: &[Value]) -> ShenResu let __t371 = Value::sym(interp.intern("shen.insert")); let __t377 = { let __t373 = { - let __t372 = v_V5598.clone(); + let __t372 = v_V5639.clone(); rt::hd(&__t372)? }; let __t376 = { - let __t374 = v_V5597.clone(); + let __t374 = v_V5638.clone(); let __t375 = Value::nil(); rt::cons(&__t374, &__t375) }; @@ -1597,11 +1597,11 @@ pub fn aot_shen_x2e_mkstr_x2d_r(interp: &mut Interp, args: &[Value]) -> ShenResu rt::cons(&__t371, &__t377) }; let __t380 = { - let __t379 = v_V5598.clone(); + let __t379 = v_V5639.clone(); rt::tl(&__t379)? }; - v_V5597 = __t378; - v_V5598 = __t380; + v_V5638 = __t378; + v_V5639 = __t380; continue; } } else { @@ -1640,14 +1640,14 @@ pub fn aot_shen_x2e_insert(interp: &mut Interp, args: &[Value]) -> ShenResult ShenRes ))); } #[allow(unused_mut)] - let mut v_V5609 = args[0].clone(); + let mut v_V5650 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5610 = args[1].clone(); + let mut v_V5651 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5611 = args[2].clone(); + let mut v_V5652 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t473 = { let __t471 = Value::str(""); - let __t472 = v_V5610.clone(); + let __t472 = v_V5651.clone(); rt::eq(&__t471, &__t472) }; if match rt::is_truthy(interp, &__t473) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5611.clone()); + break Ok(v_V5652.clone()); } else { { let __t470 = { let __t461 = { - let __t447 = v_V5610.clone(); + let __t447 = v_V5651.clone(); rt::apply_direct(interp, "shen.+string?", &[__t447])? }; if !rt::is_truthy(interp, &__t461)? { @@ -1700,7 +1700,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t459 = { let __t448 = Value::str("~"); let __t450 = { - let __t449 = v_V5610.clone(); + let __t449 = v_V5651.clone(); rt::apply_direct(interp, "hdstr", &[__t449])? }; rt::eq(&__t448, &__t450) @@ -1711,7 +1711,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t460 = { let __t457 = { let __t452 = { - let __t451 = v_V5610.clone(); + let __t451 = v_V5651.clone(); rt::apply_direct(interp, "tlstr", &[__t451])? }; rt::apply_direct(interp, "shen.+string?", &[__t452])? @@ -1723,7 +1723,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t453 = Value::str("A"); let __t456 = { let __t455 = { - let __t454 = v_V5610.clone(); + let __t454 = v_V5651.clone(); rt::apply_direct( interp, "tlstr", @@ -1748,12 +1748,12 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { break Ok({ - let __t463 = v_V5611.clone(); + let __t463 = v_V5652.clone(); let __t469 = { - let __t464 = v_V5609.clone(); + let __t464 = v_V5650.clone(); let __t467 = { let __t466 = { - let __t465 = v_V5610.clone(); + let __t465 = v_V5651.clone(); rt::apply_direct(interp, "tlstr", &[__t465])? }; rt::apply_direct(interp, "tlstr", &[__t466])? @@ -1767,7 +1767,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t446 = { let __t437 = { - let __t423 = v_V5610.clone(); + let __t423 = v_V5651.clone(); rt::apply_direct(interp, "shen.+string?", &[__t423])? }; if !rt::is_truthy(interp, &__t437)? { @@ -1777,7 +1777,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t435 = { let __t424 = Value::str("~"); let __t426 = { - let __t425 = v_V5610.clone(); + let __t425 = v_V5651.clone(); rt::apply_direct(interp, "hdstr", &[__t425])? }; rt::eq(&__t424, &__t426) @@ -1788,7 +1788,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t436 = { let __t433 = { let __t428 = { - let __t427 = v_V5610.clone(); + let __t427 = v_V5651.clone(); rt::apply_direct( interp, "tlstr", @@ -1808,7 +1808,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t429 = Value::str("R"); let __t432 = { let __t431 = { - let __t430 = v_V5610.clone(); + let __t430 = v_V5651.clone(); rt::apply_direct( interp, "tlstr", @@ -1837,12 +1837,12 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { break Ok({ - let __t439 = v_V5611.clone(); + let __t439 = v_V5652.clone(); let __t445 = { - let __t440 = v_V5609.clone(); + let __t440 = v_V5650.clone(); let __t443 = { let __t442 = { - let __t441 = v_V5610.clone(); + let __t441 = v_V5651.clone(); rt::apply_direct(interp, "tlstr", &[__t441])? }; rt::apply_direct(interp, "tlstr", &[__t442])? @@ -1860,7 +1860,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes { let __t422 = { let __t413 = { - let __t399 = v_V5610.clone(); + let __t399 = v_V5651.clone(); rt::apply_direct(interp, "shen.+string?", &[__t399])? }; if !rt::is_truthy(interp, &__t413)? { @@ -1870,7 +1870,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t411 = { let __t400 = Value::str("~"); let __t402 = { - let __t401 = v_V5610.clone(); + let __t401 = v_V5651.clone(); rt::apply_direct( interp, "hdstr", @@ -1885,7 +1885,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t412 = { let __t409 = { let __t404 = { - let __t403 = v_V5610.clone(); + let __t403 = v_V5651.clone(); rt::apply_direct( interp, "tlstr", @@ -1906,7 +1906,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes let __t408 = { let __t407 = { let __t406 = - v_V5610.clone(); + v_V5651.clone(); rt::apply_direct( interp, "tlstr", @@ -1937,12 +1937,12 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { break Ok({ - let __t415 = v_V5611.clone(); + let __t415 = v_V5652.clone(); let __t421 = { - let __t416 = v_V5609.clone(); + let __t416 = v_V5650.clone(); let __t419 = { let __t418 = { - let __t417 = v_V5610.clone(); + let __t417 = v_V5651.clone(); rt::apply_direct( interp, "tlstr", @@ -1963,7 +1963,7 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes } else { { let __t398 = { - let __t390 = v_V5610.clone(); + let __t390 = v_V5651.clone(); rt::apply_direct( interp, "shen.+string?", @@ -1975,9 +1975,9 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes Err(e) => break Err(e), } { { - let __t391 = v_V5609.clone(); + let __t391 = v_V5650.clone(); let __t393 = { - let __t392 = v_V5610.clone(); + let __t392 = v_V5651.clone(); rt::apply_direct( interp, "tlstr", @@ -1985,9 +1985,9 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes )? }; let __t397 = { - let __t394 = v_V5611.clone(); + let __t394 = v_V5652.clone(); let __t396 = { - let __t395 = v_V5610.clone(); + let __t395 = v_V5651.clone(); rt::apply_direct( interp, "hdstr", @@ -2000,9 +2000,9 @@ pub fn aot_shen_x2e_insert_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes &[__t394, __t396], )? }; - v_V5609 = __t391; - v_V5610 = __t393; - v_V5611 = __t397; + v_V5650 = __t391; + v_V5651 = __t393; + v_V5652 = __t397; continue; } } else { @@ -2053,20 +2053,20 @@ pub fn aot_shen_x2e_app(interp: &mut Interp, args: &[Value]) -> ShenResultstr", &[__t474, __t475])? }; - let __t477 = v_V5613.clone(); + let __t477 = v_V5654.clone(); rt::apply_direct(interp, "cn", &[__t476, __t477])? }); } @@ -2086,14 +2086,14 @@ pub fn aot_shen_x2e_arg_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5618 = args[0].clone(); + let mut v_V5659 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5619 = args[1].clone(); + let mut v_V5660 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t494 = { - let __t492 = v_V5618.clone(); + let __t492 = v_V5659.clone(); let __t493 = { rt::apply_direct(interp, "fail", &[])? }; rt::eq(&__t492, &__t493) }; @@ -2105,7 +2105,7 @@ pub fn aot_shen_x2e_arg_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She } else { { let __t491 = { - let __t488 = v_V5618.clone(); + let __t488 = v_V5659.clone(); rt::apply_direct(interp, "shen.list?", &[__t488])? }; if match rt::is_truthy(interp, &__t491) { @@ -2113,14 +2113,14 @@ pub fn aot_shen_x2e_arg_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t489 = v_V5618.clone(); - let __t490 = v_V5619.clone(); + let __t489 = v_V5659.clone(); + let __t490 = v_V5660.clone(); rt::apply_direct(interp, "shen.list->str", &[__t489, __t490])? }); } else { { let __t487 = { - let __t484 = v_V5618.clone(); + let __t484 = v_V5659.clone(); rt::is_string(&__t484) }; if match rt::is_truthy(interp, &__t487) { @@ -2128,14 +2128,14 @@ pub fn aot_shen_x2e_arg_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t485 = v_V5618.clone(); - let __t486 = v_V5619.clone(); + let __t485 = v_V5659.clone(); + let __t486 = v_V5660.clone(); rt::apply_direct(interp, "shen.str->str", &[__t485, __t486])? }); } else { { let __t483 = { - let __t480 = v_V5618.clone(); + let __t480 = v_V5659.clone(); rt::is_absvector(&__t480) }; if match rt::is_truthy(interp, &__t483) { @@ -2143,8 +2143,8 @@ pub fn aot_shen_x2e_arg_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t481 = v_V5618.clone(); - let __t482 = v_V5619.clone(); + let __t481 = v_V5659.clone(); + let __t482 = v_V5660.clone(); rt::apply_direct( interp, "shen.vector->str", @@ -2159,7 +2159,7 @@ pub fn aot_shen_x2e_arg_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She Err(e) => break Err(e), } { break Ok({ - let __t478 = v_V5618.clone(); + let __t478 = v_V5659.clone(); rt::apply_direct( interp, "shen.atom->str", @@ -2197,15 +2197,15 @@ pub fn aot_shen_x2e_list_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V5620 = args[0].clone(); + let mut v_V5661 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5621 = args[1].clone(); + let mut v_V5662 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t512 = { let __t503 = Value::sym(interp.intern("shen.r")); - let __t504 = v_V5621.clone(); + let __t504 = v_V5662.clone(); rt::eq(&__t503, &__t504) }; if match rt::is_truthy(interp, &__t512) { @@ -2216,7 +2216,7 @@ pub fn aot_shen_x2e_list_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> Sh let __t505 = Value::str("("); let __t511 = { let __t509 = { - let __t506 = v_V5620.clone(); + let __t506 = v_V5661.clone(); let __t507 = Value::sym(interp.intern("shen.r")); let __t508 = { rt::apply_direct(interp, "shen.maxseq", &[])? }; rt::apply_direct(interp, "shen.iter-list", &[__t506, __t507, __t508])? @@ -2237,8 +2237,8 @@ pub fn aot_shen_x2e_list_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> Sh let __t495 = Value::str("["); let __t501 = { let __t499 = { - let __t496 = v_V5620.clone(); - let __t497 = v_V5621.clone(); + let __t496 = v_V5661.clone(); + let __t497 = v_V5662.clone(); let __t498 = { rt::apply_direct(interp, "shen.maxseq", &[])? }; rt::apply_direct( interp, @@ -2296,17 +2296,17 @@ pub fn aot_shen_x2e_iter_x2d_list(interp: &mut Interp, args: &[Value]) -> ShenRe ))); } #[allow(unused_mut)] - let mut v_V5632 = args[0].clone(); + let mut v_V5673 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5633 = args[1].clone(); + let mut v_V5674 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5634 = args[2].clone(); + let mut v_V5675 = args[2].clone(); #[allow(clippy::never_loop)] loop { { let __t551 = { let __t549 = Value::nil(); - let __t550 = v_V5632.clone(); + let __t550 = v_V5673.clone(); rt::eq(&__t549, &__t550) }; if match rt::is_truthy(interp, &__t551) { @@ -2318,7 +2318,7 @@ pub fn aot_shen_x2e_iter_x2d_list(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t548 = { let __t546 = Value::int(0i64); - let __t547 = v_V5634.clone(); + let __t547 = v_V5675.clone(); rt::eq(&__t546, &__t547) }; if match rt::is_truthy(interp, &__t548) { @@ -2330,7 +2330,7 @@ pub fn aot_shen_x2e_iter_x2d_list(interp: &mut Interp, args: &[Value]) -> ShenRe { let __t545 = { let __t540 = { - let __t536 = v_V5632.clone(); + let __t536 = v_V5673.clone(); rt::is_cons(&__t536) }; if !rt::is_truthy(interp, &__t540)? { @@ -2339,7 +2339,7 @@ pub fn aot_shen_x2e_iter_x2d_list(interp: &mut Interp, args: &[Value]) -> ShenRe let __t541 = { let __t537 = Value::nil(); let __t539 = { - let __t538 = v_V5632.clone(); + let __t538 = v_V5673.clone(); rt::tl(&__t538)? }; rt::eq(&__t537, &__t539) @@ -2353,16 +2353,16 @@ pub fn aot_shen_x2e_iter_x2d_list(interp: &mut Interp, args: &[Value]) -> ShenRe } { break Ok({ let __t543 = { - let __t542 = v_V5632.clone(); + let __t542 = v_V5673.clone(); rt::hd(&__t542)? }; - let __t544 = v_V5633.clone(); + let __t544 = v_V5674.clone(); rt::apply_direct(interp, "shen.arg->str", &[__t543, __t544])? }); } else { { let __t535 = { - let __t521 = v_V5632.clone(); + let __t521 = v_V5673.clone(); rt::is_cons(&__t521) }; if match rt::is_truthy(interp, &__t535) { @@ -2372,10 +2372,10 @@ pub fn aot_shen_x2e_iter_x2d_list(interp: &mut Interp, args: &[Value]) -> ShenRe break Ok({ let __t525 = { let __t523 = { - let __t522 = v_V5632.clone(); + let __t522 = v_V5673.clone(); rt::hd(&__t522)? }; - let __t524 = v_V5633.clone(); + let __t524 = v_V5674.clone(); rt::apply_direct( interp, "shen.arg->str", @@ -2386,12 +2386,12 @@ pub fn aot_shen_x2e_iter_x2d_list(interp: &mut Interp, args: &[Value]) -> ShenRe let __t526 = Value::str(" "); let __t533 = { let __t528 = { - let __t527 = v_V5632.clone(); + let __t527 = v_V5673.clone(); rt::tl(&__t527)? }; - let __t529 = v_V5633.clone(); + let __t529 = v_V5674.clone(); let __t532 = { - let __t530 = v_V5634.clone(); + let __t530 = v_V5675.clone(); let __t531 = Value::int(1i64); rt::sub(&__t530, &__t531)? }; @@ -2417,8 +2417,8 @@ pub fn aot_shen_x2e_iter_x2d_list(interp: &mut Interp, args: &[Value]) -> ShenRe let __t519 = { let __t515 = Value::str(" "); let __t518 = { - let __t516 = v_V5632.clone(); - let __t517 = v_V5633.clone(); + let __t516 = v_V5673.clone(); + let __t517 = v_V5674.clone(); rt::apply_direct( interp, "shen.arg->str", @@ -2468,22 +2468,22 @@ pub fn aot_shen_x2e_str_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She ))); } #[allow(unused_mut)] - let mut v_V5637 = args[0].clone(); + let mut v_V5678 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5638 = args[1].clone(); + let mut v_V5679 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t561 = { let __t559 = Value::sym(interp.intern("shen.a")); - let __t560 = v_V5638.clone(); + let __t560 = v_V5679.clone(); rt::eq(&__t559, &__t560) }; if match rt::is_truthy(interp, &__t561) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(v_V5637.clone()); + break Ok(v_V5678.clone()); } else { { let __t558 = Value::bool(true); @@ -2497,7 +2497,7 @@ pub fn aot_shen_x2e_str_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She rt::apply_direct(interp, "n->string", &[__t552])? }; let __t557 = { - let __t554 = v_V5637.clone(); + let __t554 = v_V5678.clone(); let __t556 = { let __t555 = Value::int(34i64); rt::apply_direct(interp, "n->string", &[__t555])? @@ -2529,14 +2529,14 @@ pub fn aot_shen_x2e_vector_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> ))); } #[allow(unused_mut)] - let mut v_V5639 = args[0].clone(); + let mut v_V5680 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5640 = args[1].clone(); + let mut v_V5681 = args[1].clone(); #[allow(clippy::never_loop)] loop { { let __t563 = { - let __t562 = v_V5639.clone(); + let __t562 = v_V5680.clone(); rt::apply_direct(interp, "shen.print-vector?", &[__t562])? }; if match rt::is_truthy(interp, &__t563) { @@ -2546,19 +2546,19 @@ pub fn aot_shen_x2e_vector_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> break Ok({ let __t567 = { let __t566 = { - let __t564 = v_V5639.clone(); + let __t564 = v_V5680.clone(); let __t565 = Value::int(0i64); rt::apply_direct(interp, "<-address", &[__t564, __t565])? }; rt::apply_direct(interp, "fn", &[__t566])? }; - let __t568 = v_V5639.clone(); + let __t568 = v_V5680.clone(); rt::apply_value(interp, __t567, &[__t568])? }); } else { { let __t570 = { - let __t569 = v_V5639.clone(); + let __t569 = v_V5680.clone(); rt::is_absvector(&__t569) }; if match rt::is_truthy(interp, &__t570) { @@ -2569,9 +2569,9 @@ pub fn aot_shen_x2e_vector_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> let __t571 = Value::str("<"); let __t578 = { let __t576 = { - let __t572 = v_V5639.clone(); + let __t572 = v_V5680.clone(); let __t573 = Value::int(1i64); - let __t574 = v_V5640.clone(); + let __t574 = v_V5681.clone(); let __t575 = { rt::apply_direct(interp, "shen.maxseq", &[])? }; rt::apply_direct( interp, @@ -2591,9 +2591,9 @@ pub fn aot_shen_x2e_vector_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> let __t580 = Value::str("<"); let __t587 = { let __t585 = { - let __t581 = v_V5639.clone(); + let __t581 = v_V5680.clone(); let __t582 = Value::int(0i64); - let __t583 = v_V5640.clone(); + let __t583 = v_V5681.clone(); let __t584 = { rt::apply_direct(interp, "shen.maxseq", &[])? }; rt::apply_direct( @@ -2633,18 +2633,18 @@ pub fn aot_shen_x2e_print_x2d_vector_x3f_( ))); } #[allow(unused_mut)] - let mut v_V5641 = args[0].clone(); + let mut v_V5682 = args[0].clone(); #[allow(clippy::never_loop)] loop { { - let v_W5642 = { - let __t589 = v_V5641.clone(); + let v_W5683 = { + let __t589 = v_V5682.clone(); let __t590 = Value::int(0i64); rt::apply_direct(interp, "<-address", &[__t589, __t590])? }; { let __t593 = { - let __t591 = v_W5642.clone(); + let __t591 = v_W5683.clone(); let __t592 = Value::sym(interp.intern("shen.tuple")); rt::eq(&__t591, &__t592) }; @@ -2656,7 +2656,7 @@ pub fn aot_shen_x2e_print_x2d_vector_x3f_( } else { { let __t596 = { - let __t594 = v_W5642.clone(); + let __t594 = v_W5683.clone(); let __t595 = Value::sym(interp.intern("shen.pvar")); rt::eq(&__t594, &__t595) }; @@ -2669,7 +2669,7 @@ pub fn aot_shen_x2e_print_x2d_vector_x3f_( { let __t599 = { let __t598 = { - let __t597 = v_W5642.clone(); + let __t597 = v_W5683.clone(); rt::is_number(&__t597) }; rt::apply_direct(interp, "not", &[__t598])? @@ -2679,7 +2679,7 @@ pub fn aot_shen_x2e_print_x2d_vector_x3f_( Err(e) => break Err(e), } { break Ok({ - let __t600 = v_W5642.clone(); + let __t600 = v_W5683.clone(); rt::apply_direct(interp, "shen.fbound?", &[__t600])? }); } else { @@ -2708,13 +2708,13 @@ pub fn aot_shen_x2e_fbound_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu ))); } #[allow(unused_mut)] - let mut v_V5643 = args[0].clone(); + let mut v_V5684 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok({ let __t604 = { let __t602 = { - let __t601 = v_V5643.clone(); + let __t601 = v_V5684.clone(); rt::apply_direct(interp, "arity", &[__t601])? }; let __t603 = Value::int(-1i64); @@ -2739,14 +2739,14 @@ pub fn aot_shen_x2e_tuple(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult Shen ))); } #[allow(unused_mut)] - let mut v_V5651 = args[0].clone(); + let mut v_V5692 = args[0].clone(); #[allow(unused_mut)] - let mut v_V5652 = args[1].clone(); + let mut v_V5693 = args[1].clone(); #[allow(unused_mut)] - let mut v_V5653 = args[2].clone(); + let mut v_V5694 = args[2].clone(); #[allow(unused_mut)] - let mut v_V5654 = args[3].clone(); + let mut v_V5695 = args[3].clone(); #[allow(clippy::never_loop)] loop { { let __t650 = { let __t648 = Value::int(0i64); - let __t649 = v_V5654.clone(); + let __t649 = v_V5695.clone(); rt::eq(&__t648, &__t649) }; if match rt::is_truthy(interp, &__t650) { @@ -2814,10 +2814,10 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { { - let v_W5655 = match (|| -> ShenResult { + let v_W5696 = match (|| -> ShenResult { Ok({ - let __t619 = v_V5651.clone(); - let __t620 = v_V5652.clone(); + let __t619 = v_V5692.clone(); + let __t620 = v_V5693.clone(); rt::apply_direct(interp, "<-address", &[__t619, __t620])? }) })() { @@ -2828,7 +2828,7 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen "", 1, move |interp, args| { - let v_Z5656 = args[0].clone(); + let v_Z5697 = args[0].clone(); Ok(Value::sym(interp.intern("shen.out-of-bounds"))) }, Vec::new(), @@ -2840,11 +2840,11 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let v_W5657 = match (|| -> ShenResult { + let v_W5698 = match (|| -> ShenResult { Ok({ - let __t621 = v_V5651.clone(); + let __t621 = v_V5692.clone(); let __t624 = { - let __t622 = v_V5652.clone(); + let __t622 = v_V5693.clone(); let __t623 = Value::int(1i64); rt::add(&__t622, &__t623)? }; @@ -2858,7 +2858,7 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen "", 1, move |interp, args| { - let v_Z5658 = args[0].clone(); + let v_Z5699 = args[0].clone(); Ok(Value::sym( interp.intern("shen.out-of-bounds"), )) @@ -2873,7 +2873,7 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen }; { let __t627 = { - let __t625 = v_W5655.clone(); + let __t625 = v_W5696.clone(); let __t626 = Value::sym(interp.intern("shen.out-of-bounds")); rt::eq(&__t625, &__t626) @@ -2886,7 +2886,7 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen } else { { let __t630 = { - let __t628 = v_W5657.clone(); + let __t628 = v_W5698.clone(); let __t629 = Value::sym(interp.intern("shen.out-of-bounds")); rt::eq(&__t628, &__t629) @@ -2896,8 +2896,8 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen Err(e) => break Err(e), } { break Ok({ - let __t631 = v_W5655.clone(); - let __t632 = v_V5653.clone(); + let __t631 = v_W5696.clone(); + let __t632 = v_V5694.clone(); rt::apply_direct( interp, "shen.arg->str", @@ -2907,8 +2907,8 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen } else { break Ok({ let __t635 = { - let __t633 = v_W5655.clone(); - let __t634 = v_V5653.clone(); + let __t633 = v_W5696.clone(); + let __t634 = v_V5694.clone(); rt::apply_direct( interp, "shen.arg->str", @@ -2918,15 +2918,15 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen let __t646 = { let __t636 = Value::str(" "); let __t645 = { - let __t637 = v_V5651.clone(); + let __t637 = v_V5692.clone(); let __t640 = { - let __t638 = v_V5652.clone(); + let __t638 = v_V5693.clone(); let __t639 = Value::int(1i64); rt::add(&__t638, &__t639)? }; - let __t641 = v_V5653.clone(); + let __t641 = v_V5694.clone(); let __t644 = { - let __t642 = v_V5654.clone(); + let __t642 = v_V5695.clone(); let __t643 = Value::int(1i64); rt::sub(&__t642, &__t643)? }; @@ -2977,13 +2977,13 @@ pub fn aot_shen_x2e_atom_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> Sh ))); } #[allow(unused_mut)] - let mut v_V5659 = args[0].clone(); + let mut v_V5700 = args[0].clone(); #[allow(clippy::never_loop)] loop { break Ok( match (|| -> ShenResult { Ok({ - let __t651 = v_V5659.clone(); + let __t651 = v_V5700.clone(); rt::apply_direct(interp, "str", &[__t651])? }) })() { @@ -2994,7 +2994,7 @@ pub fn aot_shen_x2e_atom_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> Sh "", 1, move |interp, args| { - let v_Z5660 = args[0].clone(); + let v_Z5701 = args[0].clone(); Ok({ rt::apply_direct(interp, "shen.funexstring", &[])? }) }, Vec::new(), @@ -3076,12 +3076,12 @@ pub fn aot_shen_x2e_list_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ))); } #[allow(unused_mut)] - let mut v_V5661 = args[0].clone(); + let mut v_V5702 = args[0].clone(); #[allow(clippy::never_loop)] loop { { let __t669 = { - let __t668 = v_V5661.clone(); + let __t668 = v_V5702.clone(); rt::apply_direct(interp, "empty?", &[__t668])? }; if match rt::is_truthy(interp, &__t669) { @@ -3091,7 +3091,7 @@ pub fn aot_shen_x2e_list_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok(Value::bool(true)); } else { break Ok({ - let __t670 = v_V5661.clone(); + let __t670 = v_V5702.clone(); rt::is_cons(&__t670) }); } diff --git a/crates/shen-rust/src/interp/boot.rs b/crates/shen-rust/src/interp/boot.rs index 07fec12..d9e2a81 100644 --- a/crates/shen-rust/src/interp/boot.rs +++ b/crates/shen-rust/src/interp/boot.rs @@ -3,7 +3,7 @@ //! kernel's property vector so `(fn NAME)` resolves correctly. //! //! The kernel-file order follows upstream `install.lsp` (the reference -//! SBCL port's *runtime* loader) for the S41.2 (2026-07-11 refresh) set, +//! SBCL port's *runtime* loader) for the S42 (2026-08-25 refresh) set, //! then the retained standard-library overlay and community extensions. //! //! Order matters here: unlike the old community kernel (defun-only `.kl` @@ -28,9 +28,9 @@ use crate::value::{Stream, Value}; /// File names in boot order. Vendored under `kernel/klambda/`. /// -/// The first 14 are Mark Tarver's refreshed S41.2 kernel, in the +/// The first 14 are Mark Tarver's refreshed S42 kernel, in the /// `install.lsp` runtime load order. `dict.kl`, `compiler.kl`, and -/// `init.kl` from the community ShenOSKernel-41.2 are gone: `put`/`get` +/// `init.kl` from the community Shen kernel are gone: `put`/`get` /// now use pointer-list property vectors (`sys.kl`), `compiler.kl` was a /// shen-cl artifact, and `init.kl`'s content (incl. `shen.initialise`) /// moved into `declarations.kl`/`toplevel.kl`. @@ -425,7 +425,7 @@ fn set_standard_streams(interp: &mut Interp) { /// `*porters*` identify this port. fn set_port_metadata(interp: &mut Interp) { let pairs: &[(&str, &str)] = &[ - ("*version*", "41.2"), + ("*version*", "42"), ("*language*", "Rust"), ("*implementation*", "shen-rust"), ("*release*", "0.1.0"), @@ -486,9 +486,9 @@ fn load_kl_file(interp: &mut Interp, path: &Path) -> ShenResult<()> { /// Run the kernel's post-load initialisation. /// -/// The community ShenOSKernel-41.2 exposed a single `shen.initialise` +/// The community Shen kernel exposed a single `shen.initialise` /// (from `init.kl`) that boot called once after loading. The Tarver -/// S41.2 refresh dropped that function: `declarations.kl` now performs +/// S42 refresh dropped that function: `declarations.kl` now performs /// all of it via top-level forms evaluated *during* file load — it sets /// `*property-vector*`, runs `shen.initialise-arity-table`, and builds /// the lambda table (`shen.build-lambda-table`). So when `shen.initialise` diff --git a/crates/shen-rust/tests/boot_kernel.rs b/crates/shen-rust/tests/boot_kernel.rs index 4c236b8..ab580ff 100644 --- a/crates/shen-rust/tests/boot_kernel.rs +++ b/crates/shen-rust/tests/boot_kernel.rs @@ -1,4 +1,4 @@ -//! Phase 2 integration test: boot the full ShenOSKernel-41.2 and verify a +//! Phase 2 integration test: boot the full Shen S42 kernel and verify a //! handful of expressions evaluate correctly via the kernel's own eval //! pipeline (not raw `eval-kl`). //! @@ -49,7 +49,7 @@ fn version_global_is_set() { let mut interp = fresh_booted(); let v = eval(&mut interp, "(value *version*)"); if let Some(s) = v.as_str() { - assert_eq!(s, "41.2"); + assert_eq!(s, "42"); } else { panic!("expected string, got {v:?}"); } diff --git a/crates/shen-rust/tests/cli_launcher.rs b/crates/shen-rust/tests/cli_launcher.rs index ca44756..636779d 100644 --- a/crates/shen-rust/tests/cli_launcher.rs +++ b/crates/shen-rust/tests/cli_launcher.rs @@ -221,10 +221,10 @@ fn version_prints_and_exits_zero() { let o = run(&["--version"], None, TIMEOUT); assert_no_backtrace(&o, "--version"); assert!(o.success, "--version exited nonzero:\n{}", o.combined); - // shen-rust reports the kernel version 41.x in the version line. + // shen-rust reports the kernel version 42 in the version line. assert!( - o.combined.contains("41."), - "expected a 41.x version string, got:\n{}", + o.combined.contains("42"), + "expected a 42 version string, got:\n{}", o.combined ); } diff --git a/crates/shenffi/src/lib.rs b/crates/shenffi/src/lib.rs index 34d9904..be59180 100644 --- a/crates/shenffi/src/lib.rs +++ b/crates/shenffi/src/lib.rs @@ -37,7 +37,7 @@ pub struct ShenCtx { /// shen-rust's boot order (must match `interp::boot::KERNEL_FILES`). Lets /// `shen_boot_embedded` bring up the kernel with **no filesystem access** — /// the iOS-friendly path (no bundled resources, no sandbox path juggling). -/// See `kernel/klambda/PROVENANCE.md` for the S41.2 refresh set. +/// See `kernel/klambda/PROVENANCE.md` for the S42 refresh set. /// /// NOTE: the standard library is no longer a kernel `.kl` (it loads from the /// vendored `kernel/stlib/` Shen sources via `boot::load_stlib`, which needs a diff --git a/kernel/README.md b/kernel/README.md index ce76473..8024318 100644 --- a/kernel/README.md +++ b/kernel/README.md @@ -14,7 +14,7 @@ These resources provide complete Shen environments for programming. --- -[![Current Release](https://img.shields.io/badge/release-41.2-blue.svg)](https://github.com/Shen-Language/shen-sources/releases) +[![Current Release](https://img.shields.io/badge/release-42-blue.svg)](https://github.com/Shen-Language/shen-sources/releases) # Shen Sources diff --git a/kernel/klambda/PROVENANCE.md b/kernel/klambda/PROVENANCE.md index b68ce15..ca5ab0b 100644 --- a/kernel/klambda/PROVENANCE.md +++ b/kernel/klambda/PROVENANCE.md @@ -1,96 +1,21 @@ # Kernel provenance -## Shen kernel — S41.2 (2026-07-11 refresh), Mark Tarver +## Shen 42.0 (S42), Mark Tarver -The 15 core `.kl` files below are byte-identical copies of the `KLambda/` -directory of Mark Tarver's 2026-07-11 S41.2 upload. +The 15 canonical `.kl` files are byte-identical copies of Mark Tarver's S42 +archive (`KLambda/`). -**Canonical source** — `pyrex41/shen-s41.1`, the designated mirror of -Tarver's uploads (a private GitHub repo): +Canonical source: `pyrex41/shen-upstream`, tag `s42-pristine-20260825`. +Original archive: https://www.shenlanguage.org/Download/S42.zip +Archive SHA-256: `30abdc7e5a1e27b7a20109c1ed141e4712885e31f24d9710d16415fbbd4dfb23` -- Tag: `s41.2-pristine-20260711` -- Commit: `11fc51bdf53a4dcb505adeec6ec8352754cbe50f` -- Path in mirror: `KLambda/` (`diff`-verified byte-identical to the files - vendored here) +Canonical files: `backend.kl`, `core.kl`, `declarations.kl`, `load.kl`, +`macros.kl`, `prolog.kl`, `reader.kl`, `sequent.kl`, `sys.kl`, `t-star.kl`, +`toplevel.kl`, `track.kl`, `types.kl`, `writer.kl`, and `yacc.kl`. -**Original upstream** (secondary — what the mirror imported): +The `extension-*.kl` files are Shen port extensions and remain outside the +canonical inventory. `backend.kl` is generated for audit completeness but is +not booted, matching upstream's precompiled Common Lisp backend behavior. -- URL: https://www.shenlanguage.org/Download/S41.2.zip -- Upstream `Last-Modified`: 2026-07-11 -- Zip SHA-256: `51becbfd60fa8c93c3f8ae5b20b948eaa84c4b1d14ad2f5d2a056002a53ee836` - -Vendored files (byte-identical to both the mirror tag and the zip's -`KLambda/`): - - backend.kl core.kl declarations.kl load.kl macros.kl - prolog.kl reader.kl sequent.kl sys.kl t-star.kl - toplevel.kl track.kl types.kl writer.kl yacc.kl - -The zip's `KLambda/trace.lsp` is a Common-Lisp helper, not a `.kl` module, -and is not vendored. - -### ⚠️ Version number reused for a restructured kernel - -Upstream **reused the "41.2" version string** for a kernel that is -**restructured and of a different lineage** from the community -`ShenOSKernel-41.2` (github.com/Shen-Language/shen-sources, tag -`shen-41.2`) that this port previously vendored. `*version*` is still -`"41.2"` — that is faithful to upstream — but the module set is not the -same release. Treat "S41.2 (2026-07-11 refresh)" as the precise identity. - -Delta vs the community `ShenOSKernel-41.2`: - -- **Removed** `dict.kl`, `compiler.kl`, `init.kl`: - - `put`/`get` no longer use a dict layer; they store pointer lists on - the property vector directly (`shen.change-pointer-value` / - `shen.remove-pointer`, in `sys.kl`). No native dict primitives are - needed. - - `compiler.kl` was a shen-cl build artifact (the KLambda image of the - CL compiler), never part of the release zip. - - `init.kl`'s content moved into `declarations.kl` and `toplevel.kl`. - There is **no `shen.initialise` function** any more: `declarations.kl` - sets `*property-vector*`, the arity table (`shen.initialise-arity-table`), - and the lambda table (`shen.build-lambda-table`) via **top-level forms - evaluated during file load**. `toplevel.kl` provides - `shen.initialise_environment` (per-REPL-iteration counter reset). -- **Added** `backend.kl` — a `cl.*` KLambda→Common-Lisp backend. Upstream - loads it as the precompiled `backend.lsp` (its `.kl`→Lisp compiler), and - it is **not** in `install.lsp`'s `.kl` boot list. It is dead weight for a - Rust port, so it is vendored + AOT-generated (for audit completeness) - but **not booted** — see `crates/shen-rust/src/interp/boot.rs` - (`KERNEL_FILES`) and `crates/shen-rust/src/aot/kernel/mod.rs`. - -### Boot order - -`KERNEL_FILES` follows upstream **`install.lsp`** (the reference SBCL -port's runtime loader), NOT `Sources/make.shen` (the bootstrap-generation -order). Order is load-bearing now: `declarations.kl` and `macros.kl` must -precede `types.kl` (whose 161 top-level `(declare …)` forms invoke the -type checker), and `types.kl` loads last. - -## Standard library — now loaded from source (`stlib.kl` retired) - -Tarver's refresh no longer ships the standard library as a kernel `.kl`; -it lives under `Lib/StLib/` as separately-loaded Shen sources. This port -now follows upstream: the community `ShenOSKernel-41.2` `stlib.kl` overlay -has been **removed**, and the stdlib loads from the vendored S-lineage -sources under `../stlib/` at boot (`boot::load_stlib` runs upstream's -`install.shen`). See `../stlib/PROVENANCE.md`. This also fixes the -arity `-1` quirk the pre-compiled overlay caused (`(fn filter)` failing). - -## Extensions (retained, community additions) - -`extension-features.kl`, `extension-expand-dynamic.kl`, and -`extension-launcher.kl` are community additions (not upstream Tarver -files), retained and booted on top of the kernel. `extension-launcher.kl` -provides the Yggdrasil stage-1 launcher CLI. They reference no removed -kernel symbol (`extension-launcher` only reads the `*hush*` global, still -present). `extension-programmable-pattern-matching.kl` is vendored + -AOT-generated for audit completeness but not booted. - -## Regeneration - -The AOT kernel modules in `crates/shen-rust/src/aot/kernel/*.rs` are -generated from these files via `scripts/codegen-kernel-aot.sh` and -byte-frozen by the Gate 6 audit (`scripts/kernel-aot-audit.sh`). After any -change here, regenerate and re-commit. +Boot order follows S42 `install.lsp`; the standard library is loaded from +`kernel/stlib` sources after the kernel. diff --git a/kernel/klambda/backend.kl b/kernel/klambda/backend.kl index ae3cddf..db98dc3 100644 --- a/kernel/klambda/backend.kl +++ b/kernel/klambda/backend.kl @@ -1,20 +1,20 @@ -(defun cl.kl-to-lisp (V5674) (cl.kl-to-lisp-h () V5674)) +(defun cl.kl-to-lisp (V5715) (cl.kl-to-lisp-h () V5715)) -(defun cl.kl-to-lisp-h (V5682 V5683) (cond ((= T (MEMBER V5683 V5682)) V5683) ((and (cons? V5683) (and (= type (hd V5683)) (and (cons? (tl V5683)) (and (cons? (tl (tl V5683))) (= () (tl (tl (tl V5683)))))))) (cl.kl-to-lisp-h V5682 (hd (tl V5683)))) ((and (cons? V5683) (and (= protect (hd V5683)) (and (cons? (tl V5683)) (= () (tl (tl V5683)))))) (cl.kl-to-lisp-h V5682 (hd (tl V5683)))) ((and (cons? V5683) (and (= lambda (hd V5683)) (and (cons? (tl V5683)) (and (cons? (tl (tl V5683))) (and (= () (tl (tl (tl V5683)))) (= (hd (tl V5683)) T)))))) (cl.kl-to-lisp-h V5682 (cl.rectify-t V5683))) ((and (cons? V5683) (and (= lambda (hd V5683)) (and (cons? (tl V5683)) (and (cons? (tl (tl V5683))) (= () (tl (tl (tl V5683)))))))) (cons FUNCTION (cons (cons LAMBDA (cons (cons (hd (tl V5683)) ()) (cons (cl.kl-to-lisp-h (cons (hd (tl V5683)) V5682) (hd (tl (tl V5683)))) ()))) ()))) ((and (cons? V5683) (and (= let (hd V5683)) (and (cons? (tl V5683)) (and (cons? (tl (tl V5683))) (and (cons? (tl (tl (tl V5683)))) (and (= () (tl (tl (tl (tl V5683))))) (= (hd (tl V5683)) T))))))) (cl.kl-to-lisp-h V5682 (cl.rectify-t V5683))) ((and (cons? V5683) (and (= let (hd V5683)) (and (cons? (tl V5683)) (and (cons? (tl (tl V5683))) (and (cons? (tl (tl (tl V5683)))) (= () (tl (tl (tl (tl V5683)))))))))) (cons LET (cons (cons (cons (hd (tl V5683)) (cons (cl.kl-to-lisp-h V5682 (hd (tl (tl V5683)))) ())) ()) (cons (cl.kl-to-lisp-h (cons (hd (tl V5683)) V5682) (hd (tl (tl (tl V5683))))) ())))) ((and (cons? V5683) (and (= defun (hd V5683)) (and (cons? (tl V5683)) (and (cons? (tl (tl V5683))) (and (cons? (tl (tl (tl V5683)))) (= () (tl (tl (tl (tl V5683)))))))))) (cons DEFUN (cons (hd (tl V5683)) (cons (hd (tl (tl V5683))) (cons (cl.kl-to-lisp-h (hd (tl (tl V5683))) (hd (tl (tl (tl V5683))))) ()))))) ((and (cons? V5683) (= cond (hd V5683))) (cons COND (CL.MAPCAR (lambda Z5684 (cl.cond-code V5682 Z5684)) (tl V5683)))) ((and (cons? V5683) (or (= T (MEMBER (hd V5683) V5682)) (cons? (hd V5683)))) (let W5685 (CL.MAPCAR (lambda Z5686 (cl.kl-to-lisp-h V5682 Z5686)) V5683) (cl.currylisp W5685))) ((and (cons? V5683) (cl.fastsymbol? (hd V5683))) (let W5687 (CL.MAPCAR (lambda Z5688 (cl.kl-to-lisp-h V5682 Z5688)) (tl V5683)) (let W5689 (cl.maplispsym (hd V5683)) (cl.optimise-application (cons W5689 W5687))))) ((or (number? V5683) (or (string? V5683) (empty? V5683))) V5683) (true (cons QUOTE (cons V5683 ()))))) +(defun cl.kl-to-lisp-h (V5723 V5724) (cond ((= T (MEMBER V5724 V5723)) V5724) ((and (cons? V5724) (and (= type (hd V5724)) (and (cons? (tl V5724)) (and (cons? (tl (tl V5724))) (= () (tl (tl (tl V5724)))))))) (cl.kl-to-lisp-h V5723 (hd (tl V5724)))) ((and (cons? V5724) (and (= protect (hd V5724)) (and (cons? (tl V5724)) (= () (tl (tl V5724)))))) (cl.kl-to-lisp-h V5723 (hd (tl V5724)))) ((and (cons? V5724) (and (= lambda (hd V5724)) (and (cons? (tl V5724)) (and (cons? (tl (tl V5724))) (and (= () (tl (tl (tl V5724)))) (= (hd (tl V5724)) T)))))) (cl.kl-to-lisp-h V5723 (cl.rectify-t V5724))) ((and (cons? V5724) (and (= lambda (hd V5724)) (and (cons? (tl V5724)) (and (cons? (tl (tl V5724))) (= () (tl (tl (tl V5724)))))))) (cons FUNCTION (cons (cons LAMBDA (cons (cons (hd (tl V5724)) ()) (cons (cl.kl-to-lisp-h (cons (hd (tl V5724)) V5723) (hd (tl (tl V5724)))) ()))) ()))) ((and (cons? V5724) (and (= let (hd V5724)) (and (cons? (tl V5724)) (and (cons? (tl (tl V5724))) (and (cons? (tl (tl (tl V5724)))) (and (= () (tl (tl (tl (tl V5724))))) (= (hd (tl V5724)) T))))))) (cl.kl-to-lisp-h V5723 (cl.rectify-t V5724))) ((and (cons? V5724) (and (= let (hd V5724)) (and (cons? (tl V5724)) (and (cons? (tl (tl V5724))) (and (cons? (tl (tl (tl V5724)))) (= () (tl (tl (tl (tl V5724)))))))))) (cons LET (cons (cons (cons (hd (tl V5724)) (cons (cl.kl-to-lisp-h V5723 (hd (tl (tl V5724)))) ())) ()) (cons (cl.kl-to-lisp-h (cons (hd (tl V5724)) V5723) (hd (tl (tl (tl V5724))))) ())))) ((and (cons? V5724) (and (= defun (hd V5724)) (and (cons? (tl V5724)) (and (cons? (tl (tl V5724))) (and (cons? (tl (tl (tl V5724)))) (= () (tl (tl (tl (tl V5724)))))))))) (cons DEFUN (cons (hd (tl V5724)) (cons (hd (tl (tl V5724))) (cons (cl.kl-to-lisp-h (hd (tl (tl V5724))) (hd (tl (tl (tl V5724))))) ()))))) ((and (cons? V5724) (= cond (hd V5724))) (cons COND (CL.MAPCAR (lambda Z5725 (cl.cond-code V5723 Z5725)) (tl V5724)))) ((and (cons? V5724) (or (= T (MEMBER (hd V5724) V5723)) (cons? (hd V5724)))) (let W5726 (CL.MAPCAR (lambda Z5727 (cl.kl-to-lisp-h V5723 Z5727)) V5724) (cl.currylisp W5726))) ((and (cons? V5724) (cl.fastsymbol? (hd V5724))) (let W5728 (CL.MAPCAR (lambda Z5729 (cl.kl-to-lisp-h V5723 Z5729)) (tl V5724)) (let W5730 (cl.maplispsym (hd V5724)) (cl.optimise-application (cons W5730 W5728))))) ((or (number? V5724) (or (string? V5724) (empty? V5724))) V5724) (true (cons QUOTE (cons V5724 ()))))) -(defun cl.rectify-t (V5690) (SUBST (GENSYM "x") T V5690)) +(defun cl.rectify-t (V5731) (SUBST (GENSYM "x") T V5731)) -(defun cl.currylisp (V5691) (cond ((and (cons? V5691) (and (cons? (tl V5691)) (cons? (tl (tl V5691))))) (cl.currylisp (cons (cons FUNCALL (cons (hd V5691) (cons (hd (tl V5691)) ()))) (tl (tl V5691))))) ((and (cons? V5691) (and (cons? (tl V5691)) (= () (tl (tl V5691))))) (cons FUNCALL V5691)) ((and (cons? V5691) (= () (tl V5691))) (cons FUNCALL V5691)) (true V5691))) +(defun cl.currylisp (V5732) (cond ((and (cons? V5732) (and (cons? (tl V5732)) (cons? (tl (tl V5732))))) (cl.currylisp (cons (cons FUNCALL (cons (hd V5732) (cons (hd (tl V5732)) ()))) (tl (tl V5732))))) ((and (cons? V5732) (and (cons? (tl V5732)) (= () (tl (tl V5732))))) (cons FUNCALL V5732)) ((and (cons? V5732) (= () (tl V5732))) (cons FUNCALL V5732)) (true V5732))) -(defun cl.optimise-application (V5692) (cond ((and (cons? V5692) (and (= protect (hd V5692)) (and (cons? (tl V5692)) (= () (tl (tl V5692)))))) (cl.optimise-application (hd (tl V5692)))) ((and (cons? V5692) (and (= hd (hd V5692)) (and (cons? (tl V5692)) (= () (tl (tl V5692)))))) (cons CAR (cons (cl.optimise-application (hd (tl V5692))) ()))) ((and (cons? V5692) (and (= tl (hd V5692)) (and (cons? (tl V5692)) (= () (tl (tl V5692)))))) (cons CDR (cons (cl.optimise-application (hd (tl V5692))) ()))) ((and (cons? V5692) (and (= cons (hd V5692)) (and (cons? (tl V5692)) (and (cons? (tl (tl V5692))) (= () (tl (tl (tl V5692)))))))) (cons CONS (cons (cl.optimise-application (hd (tl V5692))) (cons (cl.optimise-application (hd (tl (tl V5692)))) ())))) ((and (cons? V5692) (and (= append (hd V5692)) (and (cons? (tl V5692)) (and (cons? (tl (tl V5692))) (= () (tl (tl (tl V5692)))))))) (cons APPEND (cons (cl.optimise-application (hd (tl V5692))) (cons (cl.optimise-application (hd (tl (tl V5692)))) ())))) ((and (cons? V5692) (and (= reverse (hd V5692)) (and (cons? (tl V5692)) (= () (tl (tl V5692)))))) (cons REVERSE (cons (cl.optimise-application (hd (tl V5692))) ()))) ((and (cons? V5692) (and (= length (hd V5692)) (and (cons? (tl V5692)) (= () (tl (tl V5692)))))) (cons CL.LIST-LENGTH (cons (cl.optimise-application (hd (tl V5692))) ()))) ((and (cons? V5692) (and (= if (hd V5692)) (and (cons? (tl V5692)) (and (cons? (tl (tl V5692))) (and (cons? (tl (tl (tl V5692)))) (= () (tl (tl (tl (tl V5692)))))))))) (cons IF (cons (cl.wrap (hd (tl V5692))) (cons (cl.optimise-application (hd (tl (tl V5692)))) (cons (cl.optimise-application (hd (tl (tl (tl V5692))))) ()))))) ((and (cons? V5692) (and (= value (hd V5692)) (and (cons? (tl V5692)) (and (cons? (hd (tl V5692))) (and (cons? (tl (hd (tl V5692)))) (and (= () (tl (tl (hd (tl V5692))))) (and (= () (tl (tl V5692))) (= (hd (hd (tl V5692))) QUOTE)))))))) (hd (tl (hd (tl V5692))))) ((and (cons? V5692) (and (= map (hd V5692)) (and (cons? (tl V5692)) (and (cons? (tl (tl V5692))) (= () (tl (tl (tl V5692)))))))) (cons CL.MAPCAR (tl V5692))) ((and (cons? V5692) (and (= + (hd V5692)) (and (cons? (tl V5692)) (and (= 1 (hd (tl V5692))) (and (cons? (tl (tl V5692))) (= () (tl (tl (tl V5692))))))))) (cons (intern "1+") (cons (cl.optimise-application (hd (tl (tl V5692)))) ()))) ((and (cons? V5692) (and (= + (hd V5692)) (and (cons? (tl V5692)) (and (cons? (tl (tl V5692))) (and (= 1 (hd (tl (tl V5692)))) (= () (tl (tl (tl V5692))))))))) (cons (intern "1+") (cons (cl.optimise-application (hd (tl V5692))) ()))) ((and (cons? V5692) (and (= - (hd V5692)) (and (cons? (tl V5692)) (and (cons? (tl (tl V5692))) (and (= 1 (hd (tl (tl V5692)))) (= () (tl (tl (tl V5692))))))))) (cons (intern "1-") (cons (cl.optimise-application (hd (tl V5692))) ()))) ((cons? V5692) (CL.MAPCAR (lambda Z5693 (cl.optimise-application Z5693)) V5692)) (true V5692))) +(defun cl.optimise-application (V5733) (cond ((and (cons? V5733) (and (= protect (hd V5733)) (and (cons? (tl V5733)) (= () (tl (tl V5733)))))) (cl.optimise-application (hd (tl V5733)))) ((and (cons? V5733) (and (= hd (hd V5733)) (and (cons? (tl V5733)) (= () (tl (tl V5733)))))) (cons CAR (cons (cl.optimise-application (hd (tl V5733))) ()))) ((and (cons? V5733) (and (= tl (hd V5733)) (and (cons? (tl V5733)) (= () (tl (tl V5733)))))) (cons CDR (cons (cl.optimise-application (hd (tl V5733))) ()))) ((and (cons? V5733) (and (= cons (hd V5733)) (and (cons? (tl V5733)) (and (cons? (tl (tl V5733))) (= () (tl (tl (tl V5733)))))))) (cons CONS (cons (cl.optimise-application (hd (tl V5733))) (cons (cl.optimise-application (hd (tl (tl V5733)))) ())))) ((and (cons? V5733) (and (= append (hd V5733)) (and (cons? (tl V5733)) (and (cons? (tl (tl V5733))) (= () (tl (tl (tl V5733)))))))) (cons APPEND (cons (cl.optimise-application (hd (tl V5733))) (cons (cl.optimise-application (hd (tl (tl V5733)))) ())))) ((and (cons? V5733) (and (= reverse (hd V5733)) (and (cons? (tl V5733)) (= () (tl (tl V5733)))))) (cons REVERSE (cons (cl.optimise-application (hd (tl V5733))) ()))) ((and (cons? V5733) (and (= length (hd V5733)) (and (cons? (tl V5733)) (= () (tl (tl V5733)))))) (cons CL.LIST-LENGTH (cons (cl.optimise-application (hd (tl V5733))) ()))) ((and (cons? V5733) (and (= if (hd V5733)) (and (cons? (tl V5733)) (and (cons? (tl (tl V5733))) (and (cons? (tl (tl (tl V5733)))) (= () (tl (tl (tl (tl V5733)))))))))) (cons IF (cons (cl.wrap (hd (tl V5733))) (cons (cl.optimise-application (hd (tl (tl V5733)))) (cons (cl.optimise-application (hd (tl (tl (tl V5733))))) ()))))) ((and (cons? V5733) (and (= value (hd V5733)) (and (cons? (tl V5733)) (and (cons? (hd (tl V5733))) (and (cons? (tl (hd (tl V5733)))) (and (= () (tl (tl (hd (tl V5733))))) (and (= () (tl (tl V5733))) (= (hd (hd (tl V5733))) QUOTE)))))))) (hd (tl (hd (tl V5733))))) ((and (cons? V5733) (and (= map (hd V5733)) (and (cons? (tl V5733)) (and (cons? (tl (tl V5733))) (= () (tl (tl (tl V5733)))))))) (cons CL.MAPCAR (tl V5733))) ((and (cons? V5733) (and (= + (hd V5733)) (and (cons? (tl V5733)) (and (= 1 (hd (tl V5733))) (and (cons? (tl (tl V5733))) (= () (tl (tl (tl V5733))))))))) (cons (intern "1+") (cons (cl.optimise-application (hd (tl (tl V5733)))) ()))) ((and (cons? V5733) (and (= + (hd V5733)) (and (cons? (tl V5733)) (and (cons? (tl (tl V5733))) (and (= 1 (hd (tl (tl V5733)))) (= () (tl (tl (tl V5733))))))))) (cons (intern "1+") (cons (cl.optimise-application (hd (tl V5733))) ()))) ((and (cons? V5733) (and (= - (hd V5733)) (and (cons? (tl V5733)) (and (cons? (tl (tl V5733))) (and (= 1 (hd (tl (tl V5733)))) (= () (tl (tl (tl V5733))))))))) (cons (intern "1-") (cons (cl.optimise-application (hd (tl V5733))) ()))) ((cons? V5733) (CL.MAPCAR (lambda Z5734 (cl.optimise-application Z5734)) V5733)) (true V5733))) -(defun cl.cond-code (V5698 V5699) (cond ((and (cons? V5699) (and (cons? (tl V5699)) (= () (tl (tl V5699))))) (let W5700 (cl.wrap (cl.kl-to-lisp-h V5698 (hd V5699))) (let W5701 (cl.kl-to-lisp-h V5698 (hd (tl V5699))) (cons W5700 (cons W5701 ()))))) (true (simple-error "implementation error in shen.cond-code")))) +(defun cl.cond-code (V5739 V5740) (cond ((and (cons? V5740) (and (cons? (tl V5740)) (= () (tl (tl V5740))))) (let W5741 (cl.wrap (cl.kl-to-lisp-h V5739 (hd V5740))) (let W5742 (cl.kl-to-lisp-h V5739 (hd (tl V5740))) (cons W5741 (cons W5742 ()))))) (true (simple-error "implementation error in shen.cond-code")))) -(defun cl.wrap (V5702) (cond ((and (cons? V5702) (and (cons? (tl V5702)) (and (= true (hd (tl V5702))) (and (= () (tl (tl V5702))) (= (hd V5702) QUOTE))))) T) ((and (cons? V5702) (and (= cons? (hd V5702)) (and (cons? (tl V5702)) (= () (tl (tl V5702)))))) (cons CONSP (tl V5702))) ((and (cons? V5702) (and (= string? (hd V5702)) (and (cons? (tl V5702)) (= () (tl (tl V5702)))))) (cons STRINGP (tl V5702))) ((and (cons? V5702) (and (= number? (hd V5702)) (and (cons? (tl V5702)) (= () (tl (tl V5702)))))) (cons NUMBERP (tl V5702))) ((and (cons? V5702) (and (= empty? (hd V5702)) (and (cons? (tl V5702)) (= () (tl (tl V5702)))))) (cons NULL (tl V5702))) ((and (cons? V5702) (and (= and (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702)))))))) (cons AND (cons (cl.wrap (hd (tl V5702))) (cons (cl.wrap (hd (tl (tl V5702)))) ())))) ((and (cons? V5702) (and (= or (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702)))))))) (cons OR (cons (cl.wrap (hd (tl V5702))) (cons (cl.wrap (hd (tl (tl V5702)))) ())))) ((and (cons? V5702) (and (= not (hd V5702)) (and (cons? (tl V5702)) (= () (tl (tl V5702)))))) (cons NOT (cons (cl.wrap (hd (tl V5702))) ()))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (and (= () (hd (tl (tl V5702)))) (= () (tl (tl (tl V5702))))))))) (cons NULL (cons (hd (tl V5702)) ()))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (= () (hd (tl V5702))) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702))))))))) (cons NULL (tl (tl V5702)))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (and (cons? (hd (tl (tl V5702)))) (and (cons? (tl (hd (tl (tl V5702))))) (and (= () (tl (tl (hd (tl (tl V5702)))))) (and (= () (tl (tl (tl V5702)))) (and (= (hd (hd (tl (tl V5702)))) QUOTE) (cl.fastsymbol? (hd (tl (hd (tl (tl V5702))))))))))))))) (cons EQ (tl V5702))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (hd (tl V5702))) (and (cons? (tl (hd (tl V5702)))) (and (= () (tl (tl (hd (tl V5702))))) (and (cons? (tl (tl V5702))) (and (= () (tl (tl (tl V5702)))) (and (= (hd (hd (tl V5702))) QUOTE) (cl.fastsymbol? (hd (tl (hd (tl V5702)))))))))))))) (cons EQ (tl V5702))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (hd (tl V5702))) (and (= fail (hd (hd (tl V5702)))) (and (= () (tl (hd (tl V5702)))) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702))))))))))) (cons EQ (tl V5702))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (and (cons? (hd (tl (tl V5702)))) (and (= fail (hd (hd (tl (tl V5702))))) (and (= () (tl (hd (tl (tl V5702))))) (= () (tl (tl (tl V5702))))))))))) (cons EQ (tl V5702))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (and (= () (tl (tl (tl V5702)))) (string? (hd (tl V5702)))))))) (cons EQUAL (tl V5702))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (and (= () (tl (tl (tl V5702)))) (string? (hd (tl (tl V5702))))))))) (cons EQUAL (tl V5702))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (and (= () (tl (tl (tl V5702)))) (number? (hd (tl V5702)))))))) (cons EQUALP (tl V5702))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (and (= () (tl (tl (tl V5702)))) (number? (hd (tl (tl V5702))))))))) (cons EQUALP (tl V5702))) ((and (cons? V5702) (and (= cl.equal? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702)))))))) (cons cl.ABSEQUAL (tl V5702))) ((and (cons? V5702) (and (= cl.greater? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702)))))))) (cons > (tl V5702))) ((and (cons? V5702) (and (= cl.greater-than-or-equal-to? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702)))))))) (cons >= (tl V5702))) ((and (cons? V5702) (and (= cl.less? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702)))))))) (cons < (tl V5702))) ((and (cons? V5702) (and (= cl.less-than-or-equal-to? (hd V5702)) (and (cons? (tl V5702)) (and (cons? (tl (tl V5702))) (= () (tl (tl (tl V5702)))))))) (cons <= (tl V5702))) (true (cons cl.wrapper (cons V5702 ()))))) +(defun cl.wrap (V5743) (cond ((and (cons? V5743) (and (cons? (tl V5743)) (and (= true (hd (tl V5743))) (and (= () (tl (tl V5743))) (= (hd V5743) QUOTE))))) T) ((and (cons? V5743) (and (= cons? (hd V5743)) (and (cons? (tl V5743)) (= () (tl (tl V5743)))))) (cons CONSP (tl V5743))) ((and (cons? V5743) (and (= string? (hd V5743)) (and (cons? (tl V5743)) (= () (tl (tl V5743)))))) (cons STRINGP (tl V5743))) ((and (cons? V5743) (and (= number? (hd V5743)) (and (cons? (tl V5743)) (= () (tl (tl V5743)))))) (cons NUMBERP (tl V5743))) ((and (cons? V5743) (and (= empty? (hd V5743)) (and (cons? (tl V5743)) (= () (tl (tl V5743)))))) (cons NULL (tl V5743))) ((and (cons? V5743) (and (= and (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743)))))))) (cons AND (cons (cl.wrap (hd (tl V5743))) (cons (cl.wrap (hd (tl (tl V5743)))) ())))) ((and (cons? V5743) (and (= or (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743)))))))) (cons OR (cons (cl.wrap (hd (tl V5743))) (cons (cl.wrap (hd (tl (tl V5743)))) ())))) ((and (cons? V5743) (and (= not (hd V5743)) (and (cons? (tl V5743)) (= () (tl (tl V5743)))))) (cons NOT (cons (cl.wrap (hd (tl V5743))) ()))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (and (= () (hd (tl (tl V5743)))) (= () (tl (tl (tl V5743))))))))) (cons NULL (cons (hd (tl V5743)) ()))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (= () (hd (tl V5743))) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743))))))))) (cons NULL (tl (tl V5743)))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (and (cons? (hd (tl (tl V5743)))) (and (cons? (tl (hd (tl (tl V5743))))) (and (= () (tl (tl (hd (tl (tl V5743)))))) (and (= () (tl (tl (tl V5743)))) (and (= (hd (hd (tl (tl V5743)))) QUOTE) (cl.fastsymbol? (hd (tl (hd (tl (tl V5743))))))))))))))) (cons EQ (tl V5743))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (hd (tl V5743))) (and (cons? (tl (hd (tl V5743)))) (and (= () (tl (tl (hd (tl V5743))))) (and (cons? (tl (tl V5743))) (and (= () (tl (tl (tl V5743)))) (and (= (hd (hd (tl V5743))) QUOTE) (cl.fastsymbol? (hd (tl (hd (tl V5743)))))))))))))) (cons EQ (tl V5743))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (hd (tl V5743))) (and (= fail (hd (hd (tl V5743)))) (and (= () (tl (hd (tl V5743)))) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743))))))))))) (cons EQ (tl V5743))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (and (cons? (hd (tl (tl V5743)))) (and (= fail (hd (hd (tl (tl V5743))))) (and (= () (tl (hd (tl (tl V5743))))) (= () (tl (tl (tl V5743))))))))))) (cons EQ (tl V5743))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (and (= () (tl (tl (tl V5743)))) (string? (hd (tl V5743)))))))) (cons EQUAL (tl V5743))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (and (= () (tl (tl (tl V5743)))) (string? (hd (tl (tl V5743))))))))) (cons EQUAL (tl V5743))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (and (= () (tl (tl (tl V5743)))) (number? (hd (tl V5743)))))))) (cons EQUALP (tl V5743))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (and (= () (tl (tl (tl V5743)))) (number? (hd (tl (tl V5743))))))))) (cons EQUALP (tl V5743))) ((and (cons? V5743) (and (= cl.equal? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743)))))))) (cons cl.ABSEQUAL (tl V5743))) ((and (cons? V5743) (and (= cl.greater? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743)))))))) (cons > (tl V5743))) ((and (cons? V5743) (and (= cl.greater-than-or-equal-to? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743)))))))) (cons >= (tl V5743))) ((and (cons? V5743) (and (= cl.less? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743)))))))) (cons < (tl V5743))) ((and (cons? V5743) (and (= cl.less-than-or-equal-to? (hd V5743)) (and (cons? (tl V5743)) (and (cons? (tl (tl V5743))) (= () (tl (tl (tl V5743)))))))) (cons <= (tl V5743))) (true (cons cl.wrapper (cons V5743 ()))))) -(defun cl.fastsymbol? (V5709) (cond ((cons? V5709) false) ((= () V5709) false) ((string? V5709) false) ((number? V5709) false) (true true))) +(defun cl.fastsymbol? (V5750) (cond ((cons? V5750) false) ((= () V5750) false) ((string? V5750) false) ((number? V5750) false) (true true))) -(defun cl.wrapper (V5710) (cond ((= true V5710) T) ((= false V5710) ()) (true (simple-error "boolean expected")))) +(defun cl.wrapper (V5751) (cond ((= true V5751) T) ((= false V5751) ()) (true (simple-error "boolean expected")))) -(defun cl.maplispsym (V5711) (cond ((= = V5711) cl.equal?) ((= > V5711) cl.greater?) ((= < V5711) cl.less?) ((= >= V5711) cl.greater-than-or-equal-to?) ((= <= V5711) cl.less-than-or-equal-to?) ((= + V5711) cl.add) ((= - V5711) cl.subtract) ((= / V5711) cl.divide) ((= * V5711) cl.multiply) (true V5711))) +(defun cl.maplispsym (V5752) (cond ((= = V5752) cl.equal?) ((= > V5752) cl.greater?) ((= < V5752) cl.less?) ((= >= V5752) cl.greater-than-or-equal-to?) ((= <= V5752) cl.less-than-or-equal-to?) ((= + V5752) cl.add) ((= - V5752) cl.subtract) ((= / V5752) cl.divide) ((= * V5752) cl.multiply) (true V5752))) diff --git a/kernel/klambda/core.kl b/kernel/klambda/core.kl index da44a84..ac4b06c 100644 --- a/kernel/klambda/core.kl +++ b/kernel/klambda/core.kl @@ -1,121 +1,127 @@ -(defun shen.shen->kl (V521) (let W522 (shen.shen->kl-h V521) (shen.record-and-evaluate W522))) +(defun shen.shen->kl (V528) (let W529 (shen.shen->kl-h V528) (shen.record-and-evaluate W529))) -(defun shen.record-and-evaluate (V523) (cond ((and (cons? V523) (and (= defun (hd V523)) (and (cons? (tl V523)) (and (cons? (tl (tl V523))) (and (cons? (tl (tl (tl V523)))) (= () (tl (tl (tl (tl V523)))))))))) (let W524 (if (shen.sysfunc? (hd (tl V523))) (simple-error (shen.app (hd (tl V523)) " is not a legitimate function name -" shen.a)) shen.skip) (let W525 (shen.store-arity (hd (tl V523)) (length (hd (tl (tl V523))))) (let W526 (shen.record-kl (hd (tl V523)) V523) (let W527 (eval-kl V523) (shen.fn-print (hd (tl V523)))))))) (true V523))) +(defun shen.record-and-evaluate (V530) (cond ((and (cons? V530) (and (= defun (hd V530)) (and (cons? (tl V530)) (and (cons? (tl (tl V530))) (and (cons? (tl (tl (tl V530)))) (= () (tl (tl (tl (tl V530)))))))))) (let W531 (if (shen.sysfunc? (hd (tl V530))) (simple-error (shen.app (hd (tl V530)) " is not a legitimate function name +" shen.a)) shen.skip) (let W532 (shen.store-arity (hd (tl V530)) (length (hd (tl (tl V530))))) (let W533 (shen.record-kl (hd (tl V530)) V530) (let W534 (eval-kl V530) (shen.fn-print (hd (tl V530)))))))) (true V530))) -(defun shen.shen->kl-h (V528) (cond ((and (cons? V528) (and (= define (hd V528)) (cons? (tl V528)))) (shen.shendef->kldef (hd (tl V528)) (tl (tl V528)))) ((and (cons? V528) (and (= defun (hd V528)) (and (cons? (tl V528)) (and (cons? (tl (tl V528))) (and (cons? (tl (tl (tl V528)))) (= () (tl (tl (tl (tl V528)))))))))) V528) ((and (cons? V528) (and (= type (hd V528)) (and (cons? (tl V528)) (and (cons? (tl (tl V528))) (= () (tl (tl (tl V528)))))))) (cons type (cons (hd (tl V528)) (cons (shen.rcons_form (hd (tl (tl V528)))) ())))) ((and (cons? V528) (and (= input+ (hd V528)) (and (cons? (tl V528)) (and (cons? (tl (tl V528))) (= () (tl (tl (tl V528)))))))) (cons input+ (cons (shen.rcons_form (hd (tl V528))) (tl (tl V528))))) ((cons? V528) (map (lambda Z529 (shen.shen->kl-h Z529)) V528)) (true V528))) +(defun shen.shen->kl-h (V535) (cond ((and (cons? V535) (and (= define (hd V535)) (cons? (tl V535)))) (shen.shendef->kldef (hd (tl V535)) (tl (tl V535)))) ((and (cons? V535) (and (= defun (hd V535)) (and (cons? (tl V535)) (and (cons? (tl (tl V535))) (and (cons? (tl (tl (tl V535)))) (= () (tl (tl (tl (tl V535)))))))))) V535) ((and (cons? V535) (and (= type (hd V535)) (and (cons? (tl V535)) (and (cons? (tl (tl V535))) (= () (tl (tl (tl V535)))))))) (cons type (cons (hd (tl V535)) (cons (shen.rcons_form (hd (tl (tl V535)))) ())))) ((and (cons? V535) (and (= input+ (hd V535)) (and (cons? (tl V535)) (and (cons? (tl (tl V535))) (= () (tl (tl (tl V535)))))))) (cons input+ (cons (shen.rcons_form (hd (tl V535))) (tl (tl V535))))) ((cons? V535) (map (lambda Z536 (shen.shen->kl-h Z536)) V535)) (true V535))) -(defun shen.shendef->kldef (V530 V531) (compile (lambda Z532 (shen. Z532)) (cons V530 V531))) +(defun shen.shendef->kldef (V537 V538) (compile (lambda Z539 (shen. Z539)) (cons V537 V538))) -(defun shen. (V533) (let W534 (let W535 (shen. V533) (if (shen.parse-failure? W535) (shen.parse-failure) (let W536 (shen.<-out W535) (let W537 (shen.in-> W535) (if (shen.hds=? W537 {) (let W538 (tail W537) (let W539 (shen. W538) (if (shen.parse-failure? W539) (shen.parse-failure) (let W540 (shen.in-> W539) (if (shen.hds=? W540 }) (let W541 (tail W540) (let W542 (shen. W541) (if (shen.parse-failure? W542) (shen.parse-failure) (let W543 (shen.<-out W542) (let W544 (shen.in-> W542) (shen.comb W544 (shen.shendef->kldef-h W536 W543))))))) (shen.parse-failure)))))) (shen.parse-failure)))))) (if (shen.parse-failure? W534) (let W545 (let W546 (shen. V533) (if (shen.parse-failure? W546) (shen.parse-failure) (let W547 (shen.<-out W546) (let W548 (shen.in-> W546) (let W549 (shen. W548) (if (shen.parse-failure? W549) (shen.parse-failure) (let W550 (shen.<-out W549) (let W551 (shen.in-> W549) (shen.comb W551 (shen.shendef->kldef-h W547 W550)))))))))) (if (shen.parse-failure? W545) (shen.parse-failure) W545)) W534))) +(defun shen. (V540) (let W541 (let W542 (shen. V540) (if (shen.parse-failure? W542) (shen.parse-failure) (let W543 (shen.<-out W542) (let W544 (shen.in-> W542) (if (shen.hds=? W544 {) (let W545 (tail W544) (let W546 (shen. W545) (if (shen.parse-failure? W546) (shen.parse-failure) (let W547 (shen.in-> W546) (if (shen.hds=? W547 }) (let W548 (tail W547) (let W549 (shen. W548) (if (shen.parse-failure? W549) (shen.parse-failure) (let W550 (shen.<-out W549) (let W551 (shen.in-> W549) (shen.comb W551 (shen.shendef->kldef-h W543 W550))))))) (shen.parse-failure)))))) (shen.parse-failure)))))) (if (shen.parse-failure? W541) (let W552 (let W553 (shen. V540) (if (shen.parse-failure? W553) (shen.parse-failure) (let W554 (shen.<-out W553) (let W555 (shen.in-> W553) (let W556 (shen. W555) (if (shen.parse-failure? W556) (shen.parse-failure) (let W557 (shen.<-out W556) (let W558 (shen.in-> W556) (shen.comb W558 (shen.shendef->kldef-h W554 W557)))))))))) (if (shen.parse-failure? W552) (shen.parse-failure) W552)) W541))) -(defun shen.shendef->kldef-h (V552 V553) (let W554 (map (lambda Z555 (fst Z555)) V553) (let W556 (shen.arity-chk V552 W554) (let W557 (map (lambda Z558 (shen.free-var-chk V552 Z558)) V553) (let W559 (shen.unprotect V553) (let W560 (shen.factorise-code (shen.compile-to-kl V552 W559 W556)) W560)))))) +(defun shen.shendef->kldef-h (V559 V560) (let W561 (map (lambda Z562 (fst Z562)) V560) (let W563 (shen.arity-chk V559 W561) (let W564 (map (lambda Z565 (shen.free-var-chk V559 Z565)) V560) (let W566 (shen.unprotect V560) (let W567 (shen.factorise-code (shen.compile-to-kl V559 W566 W563)) W567)))))) -(defun shen.unprotect (V561) (cond ((tuple? V561) (@p (shen.unprotect (fst V561)) (shen.unprotect (snd V561)))) ((and (cons? V561) (and (= protect (hd V561)) (and (cons? (tl V561)) (= () (tl (tl V561)))))) (shen.unprotect (hd (tl V561)))) ((cons? V561) (map (lambda Z562 (shen.unprotect Z562)) V561)) (true V561))) +(defun shen.unprotect (V568) (cond ((tuple? V568) (@p (shen.unprotect (fst V568)) (shen.unprotect (snd V568)))) ((and (cons? V568) (and (= protect (hd V568)) (and (cons? (tl V568)) (= () (tl (tl V568)))))) (shen.unprotect (hd (tl V568)))) ((cons? V568) (map (lambda Z569 (shen.unprotect Z569)) V568)) (true V568))) -(defun shen. (V563) (let W564 (if (cons? V563) (let W565 (head V563) (let W566 (tail V563) (shen.comb W566 (if (and (symbol? W565) (not (variable? W565))) W565 (simple-error (shen.app W565 " is not a legitimate function name. -" shen.a)))))) (shen.parse-failure)) (if (shen.parse-failure? W564) (shen.parse-failure) W564))) +(defun shen. (V570) (let W571 (if (cons? V570) (let W572 (head V570) (let W573 (tail V570) (shen.comb W573 (if (and (symbol? W572) (not (variable? W572))) W572 (simple-error (shen.app W572 " is not a legitimate function name. +" shen.a)))))) (shen.parse-failure)) (if (shen.parse-failure? W571) (shen.parse-failure) W571))) -(defun shen. (V567) (let W568 (if (cons? V567) (let W569 (head V567) (let W570 (tail V567) (let W571 (shen. W570) (if (shen.parse-failure? W571) (shen.parse-failure) (let W572 (shen.<-out W571) (let W573 (shen.in-> W571) (if (not (element? W569 (cons { (cons } ())))) (shen.comb W573 (cons W569 W572)) (shen.parse-failure)))))))) (shen.parse-failure)) (if (shen.parse-failure? W568) (let W574 (let W575 ( V567) (if (shen.parse-failure? W575) (shen.parse-failure) (let W576 (shen.in-> W575) (shen.comb W576 ())))) (if (shen.parse-failure? W574) (shen.parse-failure) W574)) W568))) +(defun shen. (V574) (let W575 (if (cons? V574) (let W576 (head V574) (let W577 (tail V574) (let W578 (shen. W577) (if (shen.parse-failure? W578) (shen.parse-failure) (let W579 (shen.<-out W578) (let W580 (shen.in-> W578) (if (not (element? W576 (cons { (cons } ())))) (shen.comb W580 (cons W576 W579)) (shen.parse-failure)))))))) (shen.parse-failure)) (if (shen.parse-failure? W575) (let W581 (let W582 ( V574) (if (shen.parse-failure? W582) (shen.parse-failure) (let W583 (shen.in-> W582) (shen.comb W583 ())))) (if (shen.parse-failure? W581) (shen.parse-failure) W581)) W575))) -(defun shen. (V577) (let W578 (let W579 (shen. V577) (if (shen.parse-failure? W579) (shen.parse-failure) (let W580 (shen.<-out W579) (let W581 (shen.in-> W579) (let W582 (shen. W581) (if (shen.parse-failure? W582) (shen.parse-failure) (let W583 (shen.<-out W582) (let W584 (shen.in-> W582) (shen.comb W584 (cons (shen.linearise W580) W583)))))))))) (if (shen.parse-failure? W578) (let W585 (let W586 ( V577) (if (shen.parse-failure? W586) (shen.parse-failure) (let W587 (shen.<-out W586) (let W588 (shen.in-> W586) (shen.comb W588 (if (empty? W587) () (simple-error (cn "Shen syntax error here: - " (shen.app W587 " - ..." shen.r))))))))) (if (shen.parse-failure? W585) (shen.parse-failure) W585)) W578))) +(defun shen. (V584) (let W585 (let W586 (shen. V584) (if (shen.parse-failure? W586) (shen.parse-failure) (let W587 (shen.<-out W586) (let W588 (shen.in-> W586) (let W589 (shen. W588) (if (shen.parse-failure? W589) (shen.parse-failure) (let W590 (shen.<-out W589) (let W591 (shen.in-> W589) (shen.comb W591 (cons (shen.linearise W587) W590)))))))))) (if (shen.parse-failure? W585) (let W592 (let W593 ( V584) (if (shen.parse-failure? W593) (shen.parse-failure) (let W594 (shen.<-out W593) (let W595 (shen.in-> W593) (shen.comb W595 (if (empty? W594) () (simple-error (cn "Shen syntax error here: + " (shen.app W594 " + ..." shen.r))))))))) (if (shen.parse-failure? W592) (shen.parse-failure) W592)) W585))) -(defun shen.linearise (V591) (cond ((tuple? V591) (shen.linearise-h (fst V591) (fst V591) () (snd V591))) (true (simple-error "implementation error in shen.linearise")))) +(defun shen.linearise (V598) (cond ((tuple? V598) (shen.linearise-h (fst V598) (fst V598) () (snd V598))) (true (simple-error "implementation error in shen.linearise")))) -(defun shen.linearise-h (V604 V605 V606 V607) (cond ((= () V604) (@p V605 V607)) ((and (cons? V604) (cons? (hd V604))) (shen.linearise-h (append (hd V604) (tl V604)) V605 V606 V607)) ((and (cons? V604) (variable? (hd V604))) (if (element? (hd V604) V606) (let W608 (gensym V) (shen.linearise-h (tl V604) (shen.rep-X (hd V604) W608 V605) V606 (cons where (cons (cons = (cons W608 (cons (hd V604) ()))) (cons V607 ()))))) (shen.linearise-h (tl V604) V605 (cons (hd V604) V606) V607))) ((cons? V604) (shen.linearise-h (tl V604) V605 V606 V607)) (true (simple-error "implementation error in shen.linearise-h")))) +(defun shen.linearise-h (V611 V612 V613 V614) (cond ((= () V611) (@p V612 V614)) ((and (cons? V611) (cons? (hd V611))) (shen.linearise-h (append (hd V611) (tl V611)) V612 V613 V614)) ((and (cons? V611) (variable? (hd V611))) (if (element? (hd V611) V613) (let W615 (gensym V) (shen.linearise-h (tl V611) (shen.rep-X (hd V611) W615 V612) V613 (cons where (cons (cons = (cons W615 (cons (hd V611) ()))) (cons V614 ()))))) (shen.linearise-h (tl V611) V612 (cons (hd V611) V613) V614))) ((cons? V611) (shen.linearise-h (tl V611) V612 V613 V614)) (true (simple-error "implementation error in shen.linearise-h")))) -(defun shen. (V609) (let W610 (let W611 (shen. V609) (if (shen.parse-failure? W611) (shen.parse-failure) (let W612 (shen.<-out W611) (let W613 (shen.in-> W611) (if (shen.hds=? W613 ->) (let W614 (tail W613) (if (cons? W614) (let W615 (head W614) (let W616 (tail W614) (if (shen.hds=? W616 where) (let W617 (tail W616) (if (cons? W617) (let W618 (head W617) (let W619 (tail W617) (shen.comb W619 (@p W612 (cons where (cons W618 (cons W615 ()))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W610) (let W620 (let W621 (shen. V609) (if (shen.parse-failure? W621) (shen.parse-failure) (let W622 (shen.<-out W621) (let W623 (shen.in-> W621) (if (shen.hds=? W623 ->) (let W624 (tail W623) (if (cons? W624) (let W625 (head W624) (let W626 (tail W624) (shen.comb W626 (@p W622 W625)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W620) (let W627 (let W628 (shen. V609) (if (shen.parse-failure? W628) (shen.parse-failure) (let W629 (shen.<-out W628) (let W630 (shen.in-> W628) (if (shen.hds=? W630 <-) (let W631 (tail W630) (if (cons? W631) (let W632 (head W631) (let W633 (tail W631) (if (shen.hds=? W633 where) (let W634 (tail W633) (if (cons? W634) (let W635 (head W634) (let W636 (tail W634) (shen.comb W636 (@p W629 (cons where (cons W635 (cons (cons shen.choicepoint! (cons W632 ())) ()))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W627) (let W637 (let W638 (shen. V609) (if (shen.parse-failure? W638) (shen.parse-failure) (let W639 (shen.<-out W638) (let W640 (shen.in-> W638) (if (shen.hds=? W640 <-) (let W641 (tail W640) (if (cons? W641) (let W642 (head W641) (let W643 (tail W641) (shen.comb W643 (@p W639 (cons shen.choicepoint! (cons W642 ())))))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W637) (shen.parse-failure) W637)) W627)) W620)) W610))) +(defun shen. (V616) (let W617 (let W618 (shen. V616) (if (shen.parse-failure? W618) (shen.parse-failure) (let W619 (shen.<-out W618) (let W620 (shen.in-> W618) (if (shen.hds=? W620 ->) (let W621 (tail W620) (if (cons? W621) (let W622 (head W621) (let W623 (tail W621) (if (shen.hds=? W623 where) (let W624 (tail W623) (if (cons? W624) (let W625 (head W624) (let W626 (tail W624) (shen.comb W626 (@p W619 (cons where (cons W625 (cons W622 ()))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W617) (let W627 (let W628 (shen. V616) (if (shen.parse-failure? W628) (shen.parse-failure) (let W629 (shen.<-out W628) (let W630 (shen.in-> W628) (if (shen.hds=? W630 ->) (let W631 (tail W630) (if (cons? W631) (let W632 (head W631) (let W633 (tail W631) (shen.comb W633 (@p W629 W632)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W627) (let W634 (let W635 (shen. V616) (if (shen.parse-failure? W635) (shen.parse-failure) (let W636 (shen.<-out W635) (let W637 (shen.in-> W635) (if (shen.hds=? W637 <-) (let W638 (tail W637) (if (cons? W638) (let W639 (head W638) (let W640 (tail W638) (if (shen.hds=? W640 where) (let W641 (tail W640) (if (cons? W641) (let W642 (head W641) (let W643 (tail W641) (shen.comb W643 (@p W636 (cons where (cons W642 (cons (cons shen.choicepoint! (cons W639 ())) ()))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W634) (let W644 (let W645 (shen. V616) (if (shen.parse-failure? W645) (shen.parse-failure) (let W646 (shen.<-out W645) (let W647 (shen.in-> W645) (if (shen.hds=? W647 <-) (let W648 (tail W647) (if (cons? W648) (let W649 (head W648) (let W650 (tail W648) (shen.comb W650 (@p W646 (cons shen.choicepoint! (cons W649 ())))))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W644) (shen.parse-failure) W644)) W634)) W627)) W617))) -(defun shen. (V644) (let W645 (let W646 (shen. V644) (if (shen.parse-failure? W646) (shen.parse-failure) (let W647 (shen.<-out W646) (let W648 (shen.in-> W646) (let W649 (shen. W648) (if (shen.parse-failure? W649) (shen.parse-failure) (let W650 (shen.<-out W649) (let W651 (shen.in-> W649) (shen.comb W651 (cons W647 W650)))))))))) (if (shen.parse-failure? W645) (let W652 (let W653 ( V644) (if (shen.parse-failure? W653) (shen.parse-failure) (let W654 (shen.in-> W653) (shen.comb W654 ())))) (if (shen.parse-failure? W652) (shen.parse-failure) W652)) W645))) +(defun shen. (V651) (let W652 (let W653 (shen. V651) (if (shen.parse-failure? W653) (shen.parse-failure) (let W654 (shen.<-out W653) (let W655 (shen.in-> W653) (let W656 (shen. W655) (if (shen.parse-failure? W656) (shen.parse-failure) (let W657 (shen.<-out W656) (let W658 (shen.in-> W656) (shen.comb W658 (cons W654 W657)))))))))) (if (shen.parse-failure? W652) (let W659 (let W660 ( V651) (if (shen.parse-failure? W660) (shen.parse-failure) (let W661 (shen.in-> W660) (shen.comb W661 ())))) (if (shen.parse-failure? W659) (shen.parse-failure) W659)) W652))) -(defun shen. (V655) (let W656 (if (shen.ccons? V655) (let W657 (head V655) (let W658 (tail V655) (let W659 (shen. W657) (if (shen.parse-failure? W659) (shen.parse-failure) (let W660 (shen.<-out W659) (let W661 (shen.in-> W659) (let W662 (shen. W661) (if (shen.parse-failure? W662) (shen.parse-failure) (let W663 (shen.<-out W662) (let W664 (shen.in-> W662) (let W665 (shen. W664) (if (shen.parse-failure? W665) (shen.parse-failure) (let W666 (shen.<-out W665) (let W667 (shen.in-> W665) (let W668 ( W667) (if (shen.parse-failure? W668) (shen.parse-failure) (let W669 (shen.in-> W668) (shen.comb W658 (cons W660 (cons W663 (cons W666 ()))))))))))))))))))))) (shen.parse-failure)) (if (shen.parse-failure? W656) (let W670 (if (shen.ccons? V655) (let W671 (head V655) (let W672 (tail V655) (if (shen.hds=? W671 vector) (let W673 (tail W671) (if (shen.hds=? W673 0) (let W674 (tail W673) (let W675 ( W674) (if (shen.parse-failure? W675) (shen.parse-failure) (let W676 (shen.in-> W675) (shen.comb W672 (cons vector (cons 0 ()))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W670) (let W677 (if (cons? V655) (let W678 (head V655) (let W679 (tail V655) (if (cons? W678) (shen.comb W679 (shen.constructor-error W678)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W677) (let W680 (let W681 (shen. V655) (if (shen.parse-failure? W681) (shen.parse-failure) (let W682 (shen.<-out W681) (let W683 (shen.in-> W681) (shen.comb W683 W682))))) (if (shen.parse-failure? W680) (shen.parse-failure) W680)) W677)) W670)) W656))) +(defun shen. (V662) (let W663 (if (shen.ccons? V662) (let W664 (head V662) (let W665 (tail V662) (let W666 (shen. W664) (if (shen.parse-failure? W666) (shen.parse-failure) (let W667 (shen.<-out W666) (let W668 (shen.in-> W666) (let W669 (shen. W668) (if (shen.parse-failure? W669) (shen.parse-failure) (let W670 (shen.<-out W669) (let W671 (shen.in-> W669) (let W672 (shen. W671) (if (shen.parse-failure? W672) (shen.parse-failure) (let W673 (shen.<-out W672) (let W674 (shen.in-> W672) (let W675 ( W674) (if (shen.parse-failure? W675) (shen.parse-failure) (let W676 (shen.in-> W675) (shen.comb W665 (cons W667 (cons W670 (cons W673 ()))))))))))))))))))))) (shen.parse-failure)) (if (shen.parse-failure? W663) (let W677 (if (shen.ccons? V662) (let W678 (head V662) (let W679 (tail V662) (if (shen.hds=? W678 vector) (let W680 (tail W678) (if (shen.hds=? W680 0) (let W681 (tail W680) (let W682 ( W681) (if (shen.parse-failure? W682) (shen.parse-failure) (let W683 (shen.in-> W682) (shen.comb W679 (cons vector (cons 0 ()))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W677) (let W684 (if (cons? V662) (let W685 (head V662) (let W686 (tail V662) (if (cons? W685) (shen.comb W686 (shen.constructor-error W685)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W684) (let W687 (let W688 (shen. V662) (if (shen.parse-failure? W688) (shen.parse-failure) (let W689 (shen.<-out W688) (let W690 (shen.in-> W688) (shen.comb W690 W689))))) (if (shen.parse-failure? W687) (shen.parse-failure) W687)) W684)) W677)) W663))) -(defun shen. (V684) (let W685 (if (cons? V684) (let W686 (head V684) (let W687 (tail V684) (if (shen.constructor? W686) (shen.comb W687 W686) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W685) (shen.parse-failure) W685))) +(defun shen. (V691) (let W692 (if (cons? V691) (let W693 (head V691) (let W694 (tail V691) (if (shen.constructor? W693) (shen.comb W694 W693) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W692) (shen.parse-failure) W692))) -(defun shen.constructor? (V688) (element? V688 (cons cons (cons @p (cons @s (cons @v ())))))) +(defun shen.constructor? (V695) (element? V695 (cons cons (cons @p (cons @s (cons @v ())))))) -(defun shen.constructor-error (V689) (simple-error (shen.app V689 " is not a legitimate constructor +(defun shen.constructor-error (V696) (simple-error (shen.app V696 " is not a legitimate constructor " shen.r))) -(defun shen. (V690) (let W691 (if (cons? V690) (let W692 (head V690) (let W693 (tail V690) (if (= W692 _) (shen.comb W693 (gensym Y)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W691) (let W694 (if (cons? V690) (let W695 (head V690) (let W696 (tail V690) (if (not (element? W695 (cons -> (cons <- ())))) (shen.comb W696 W695) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W694) (shen.parse-failure) W694)) W691))) +(defun shen. (V697) (let W698 (if (cons? V697) (let W699 (head V697) (let W700 (tail V697) (if (= W699 _) (shen.comb W700 (gensym Y)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W698) (let W701 (if (cons? V697) (let W702 (head V697) (let W703 (tail V697) (if (not (element? W702 (cons -> (cons <- ())))) (shen.comb W703 W702) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W701) (shen.parse-failure) W701)) W698))) -(defun shen. (V697) (let W698 (let W699 (shen. V697) (if (shen.parse-failure? W699) (shen.parse-failure) (let W700 (shen.<-out W699) (let W701 (shen.in-> W699) (shen.comb W701 W700))))) (if (shen.parse-failure? W698) (shen.parse-failure) W698))) +(defun shen. (V704) (let W705 (let W706 (shen. V704) (if (shen.parse-failure? W706) (shen.parse-failure) (let W707 (shen.<-out W706) (let W708 (shen.in-> W706) (shen.comb W708 W707))))) (if (shen.parse-failure? W705) (shen.parse-failure) W705))) -(defun shen. (V702) (let W703 (let W704 (shen. V702) (if (shen.parse-failure? W704) (shen.parse-failure) (let W705 (shen.<-out W704) (let W706 (shen.in-> W704) (shen.comb W706 W705))))) (if (shen.parse-failure? W703) (shen.parse-failure) W703))) +(defun shen. (V709) (let W710 (let W711 (shen. V709) (if (shen.parse-failure? W711) (shen.parse-failure) (let W712 (shen.<-out W711) (let W713 (shen.in-> W711) (shen.comb W713 W712))))) (if (shen.parse-failure? W710) (shen.parse-failure) W710))) -(defun shen.fn-print (V707) (let W708 (absvector 2) (let W709 (address-> W708 0 shen.printF) (let W710 (address-> W709 1 (@s "(" (@s "f" (@s "n" (@s " " (@s (str V707) ")")))))) W710)))) +(defun shen.fn-print (V714) (let W715 (absvector 2) (let W716 (address-> W715 0 shen.printF) (let W717 (address-> W716 1 (@s "(" (@s "f" (@s "n" (@s " " (@s (str V714) ")")))))) W717)))) -(defun shen.printF (V711) (<-address V711 1)) +(defun shen.printF (V718) (<-address V718 1)) -(defun shen.arity-chk (V716 V717) (cond ((and (cons? V717) (= () (tl V717))) (length (hd V717))) ((and (cons? V717) (and (cons? (tl V717)) (= (length (hd V717)) (length (hd (tl V717)))))) (shen.arity-chk V716 (tl V717))) (true (simple-error (cn "arity error in " (shen.app V716 " +(defun shen.arity-chk (V723 V724) (cond ((and (cons? V724) (= () (tl V724))) (length (hd V724))) ((and (cons? V724) (and (cons? (tl V724)) (= (length (hd V724)) (length (hd (tl V724)))))) (shen.arity-chk V723 (tl V724))) (true (simple-error (cn "arity error in " (shen.app V723 " " shen.a)))))) -(defun shen.free-var-chk (V718 V719) (cond ((tuple? V719) (shen.free-variable-error-message V718 (shen.find-free-vars (shen.extract-vars (fst V719)) (snd V719)))) (true (simple-error "partial function shen.free-var-chk")))) +(defun shen.free-var-chk (V725 V726) (cond ((tuple? V726) (shen.free-variable-error-message V725 (shen.find-free-vars (shen.extract-vars (fst V726)) (snd V726)))) (true (simple-error "partial function shen.free-var-chk")))) -(defun shen.free-variable-error-message (V720 V721) (if (empty? V721) shen.skip (do (pr (cn "free variables in " (shen.app V720 ":" shen.a)) (stoutput)) (do (map (lambda Z722 (pr (cn " " (shen.app Z722 "" shen.a)) (stoutput))) V721) (do (nl 1) (abort)))))) +(defun shen.free-variable-error-message (V727 V728) (if (empty? V728) shen.skip (do (pr (cn "free variables in " (shen.app V727 ":" shen.a)) (stoutput)) (do (map (lambda Z729 (pr (cn " " (shen.app Z729 "" shen.a)) (stoutput))) V728) (do (nl 1) (abort)))))) -(defun shen.extract-vars (V725) (cond ((variable? V725) (cons V725 ())) ((cons? V725) (union (shen.extract-vars (hd V725)) (shen.extract-vars (tl V725)))) (true ()))) +(defun shen.extract-vars (V732) (cond ((variable? V732) (cons V732 ())) ((cons? V732) (union (shen.extract-vars (hd V732)) (shen.extract-vars (tl V732)))) (true ()))) -(defun shen.find-free-vars (V730 V731) (cond ((and (cons? V731) (and (= protect (hd V731)) (and (cons? (tl V731)) (= () (tl (tl V731)))))) ()) ((and (cons? V731) (and (= let (hd V731)) (and (cons? (tl V731)) (and (cons? (tl (tl V731))) (and (cons? (tl (tl (tl V731)))) (= () (tl (tl (tl (tl V731)))))))))) (union (shen.find-free-vars V730 (hd (tl (tl V731)))) (shen.find-free-vars (cons (hd (tl V731)) V730) (hd (tl (tl (tl V731))))))) ((and (cons? V731) (and (= lambda (hd V731)) (and (cons? (tl V731)) (and (cons? (tl (tl V731))) (= () (tl (tl (tl V731)))))))) (shen.find-free-vars (cons (hd (tl V731)) V730) (hd (tl (tl V731))))) ((cons? V731) (union (shen.find-free-vars V730 (hd V731)) (shen.find-free-vars V730 (tl V731)))) ((shen.free-variable? V731 V730) (cons V731 ())) (true ()))) +(defun shen.find-free-vars (V737 V738) (cond ((and (cons? V738) (and (= protect (hd V738)) (and (cons? (tl V738)) (= () (tl (tl V738)))))) ()) ((and (cons? V738) (and (= let (hd V738)) (and (cons? (tl V738)) (and (cons? (tl (tl V738))) (and (cons? (tl (tl (tl V738)))) (= () (tl (tl (tl (tl V738)))))))))) (union (shen.find-free-vars V737 (hd (tl (tl V738)))) (shen.find-free-vars (cons (hd (tl V738)) V737) (hd (tl (tl (tl V738))))))) ((and (cons? V738) (and (= lambda (hd V738)) (and (cons? (tl V738)) (and (cons? (tl (tl V738))) (= () (tl (tl (tl V738)))))))) (shen.find-free-vars (cons (hd (tl V738)) V737) (hd (tl (tl V738))))) ((cons? V738) (union (shen.find-free-vars V737 (hd V738)) (shen.find-free-vars V737 (tl V738)))) ((shen.free-variable? V738 V737) (cons V738 ())) (true ()))) -(defun shen.free-variable? (V732 V733) (and (variable? V732) (not (element? V732 V733)))) +(defun shen.free-variable? (V739 V740) (and (variable? V739) (not (element? V739 V740)))) -(defun shen.record-kl (V734 V735) (do (set shen.*userdefs* (adjoin V734 (value shen.*userdefs*))) (put V734 shen.source V735 (value *property-vector*)))) +(defun shen.record-kl (V741 V742) (do (set shen.*userdefs* (adjoin V741 (value shen.*userdefs*))) (put V741 shen.source V742 (value *property-vector*)))) -(defun shen.compile-to-kl (V736 V737 V738) (let W739 (shen.parameters V738) (let W740 (shen.scan-body V736 (shen.kl-body V737 W739)) (let W741 (cons defun (cons V736 (cons W739 (cons (shen.cond-form W740) ())))) W741)))) +(defun shen.compile-to-kl (V743 V744 V745) (let W746 (shen.parameters V745) (let W747 (shen.scan-body V743 (shen.kl-body V744 W746)) (let W748 (cons defun (cons V743 (cons W746 (cons (shen.cond-form W747) ())))) W748)))) -(defun shen.parameters (V742) (cond ((= 0 V742) ()) (true (cons (gensym V) (shen.parameters (- V742 1)))))) +(defun shen.parameters (V749) (cond ((= 0 V749) ()) (true (cons (gensym V) (shen.parameters (- V749 1)))))) -(defun shen.cond-form (V745) (cond ((and (cons? V745) (and (cons? (hd V745)) (and (= true (hd (hd V745))) (and (cons? (tl (hd V745))) (= () (tl (tl (hd V745)))))))) (hd (tl (hd V745)))) (true (cons cond V745)))) +(defun shen.cond-form (V752) (cond ((and (cons? V752) (and (cons? (hd V752)) (and (= true (hd (hd V752))) (and (cons? (tl (hd V752))) (= () (tl (tl (hd V752)))))))) (hd (tl (hd V752)))) (true (cons cond V752)))) -(defun shen.scan-body (V754 V755) (cond ((= () V755) (cons (cons true (cons (cons shen.f-error (cons V754 ())) ())) ())) ((and (cons? V755) (shen.choicepoint? (hd V755))) (shen.choicepoint V754 (gensym Freeze) (gensym Result) (hd V755) (tl V755))) ((and (cons? V755) (and (cons? (hd V755)) (and (= true (hd (hd V755))) (and (cons? (tl (hd V755))) (= () (tl (tl (hd V755)))))))) (cons (hd V755) ())) ((cons? V755) (cons (hd V755) (shen.scan-body V754 (tl V755)))) (true (simple-error "implementation error in shen.scan-body")))) +(defun shen.scan-body (V761 V762) (cond ((= () V762) (cons (cons true (cons (cons shen.f-error (cons V761 ())) ())) ())) ((and (cons? V762) (shen.choicepoint? (hd V762))) (shen.choicepoint V761 (gensym Freeze) (gensym Result) (hd V762) (tl V762))) ((and (cons? V762) (and (cons? (hd V762)) (and (= true (hd (hd V762))) (and (cons? (tl (hd V762))) (= () (tl (tl (hd V762)))))))) (cons (hd V762) ())) ((cons? V762) (cons (hd V762) (shen.scan-body V761 (tl V762)))) (true (simple-error "implementation error in shen.scan-body")))) -(defun shen.choicepoint? (V762) (cond ((and (cons? V762) (and (cons? (tl V762)) (and (cons? (hd (tl V762))) (and (= shen.choicepoint! (hd (hd (tl V762)))) (and (cons? (tl (hd (tl V762)))) (and (= () (tl (tl (hd (tl V762))))) (= () (tl (tl V762))))))))) true) (true false))) +(defun shen.choicepoint? (V769) (cond ((and (cons? V769) (and (cons? (tl V769)) (and (cons? (hd (tl V769))) (and (= shen.choicepoint! (hd (hd (tl V769)))) (and (cons? (tl (hd (tl V769)))) (and (= () (tl (tl (hd (tl V769))))) (= () (tl (tl V769))))))))) true) (true false))) -(defun shen.choicepoint (V778 V779 V780 V781 V782) (cond ((and (cons? V781) (and (cons? (tl V781)) (and (cons? (hd (tl V781))) (and (cons? (tl (hd (tl V781)))) (and (cons? (hd (tl (hd (tl V781))))) (and (= fail-if (hd (hd (tl (hd (tl V781)))))) (and (cons? (tl (hd (tl (hd (tl V781)))))) (and (cons? (tl (tl (hd (tl (hd (tl V781))))))) (and (= () (tl (tl (tl (hd (tl (hd (tl V781)))))))) (and (= () (tl (tl (hd (tl V781))))) (and (= () (tl (tl V781))) (= V778 (hd (tl (hd (tl (hd (tl V781)))))))))))))))))) (cons (cons true (cons (cons let (cons V779 (cons (cons freeze (cons (cons cond (shen.scan-body (hd (tl (hd (tl (hd (tl V781)))))) V782)) ())) (cons (cons if (cons (hd V781) (cons (cons let (cons V780 (cons (hd (tl (tl (hd (tl (hd (tl V781))))))) (cons (cons if (cons (cons (hd (tl (hd (tl (hd (tl V781)))))) (cons V780 ())) (cons (cons thaw (cons V779 ())) (cons V780 ())))) ())))) (cons (cons thaw (cons V779 ())) ())))) ())))) ())) ())) ((and (cons? V781) (and (cons? (tl V781)) (and (cons? (hd (tl V781))) (and (cons? (tl (hd (tl V781)))) (and (= () (tl (tl (hd (tl V781))))) (= () (tl (tl V781)))))))) (cons (cons true (cons (cons let (cons V779 (cons (cons freeze (cons (cons cond (shen.scan-body V778 V782)) ())) (cons (cons if (cons (hd V781) (cons (cons let (cons V780 (cons (hd (tl (hd (tl V781)))) (cons (cons if (cons (cons = (cons V780 (cons (cons fail ()) ()))) (cons (cons thaw (cons V779 ())) (cons V780 ())))) ())))) (cons (cons thaw (cons V779 ())) ())))) ())))) ())) ())) (true (simple-error "implementation error in shen.choicepoint")))) +(defun shen.choicepoint (V785 V786 V787 V788 V789) (cond ((and (cons? V788) (and (cons? (tl V788)) (and (cons? (hd (tl V788))) (and (cons? (tl (hd (tl V788)))) (and (cons? (hd (tl (hd (tl V788))))) (and (= fail-if (hd (hd (tl (hd (tl V788)))))) (and (cons? (tl (hd (tl (hd (tl V788)))))) (and (cons? (tl (tl (hd (tl (hd (tl V788))))))) (and (= () (tl (tl (tl (hd (tl (hd (tl V788)))))))) (and (= () (tl (tl (hd (tl V788))))) (and (= () (tl (tl V788))) (= V785 (hd (tl (hd (tl (hd (tl V788)))))))))))))))))) (cons (cons true (cons (cons let (cons V786 (cons (cons freeze (cons (cons cond (shen.scan-body (hd (tl (hd (tl (hd (tl V788)))))) V789)) ())) (cons (cons if (cons (hd V788) (cons (cons let (cons V787 (cons (hd (tl (tl (hd (tl (hd (tl V788))))))) (cons (cons if (cons (cons (hd (tl (hd (tl (hd (tl V788)))))) (cons V787 ())) (cons (cons thaw (cons V786 ())) (cons V787 ())))) ())))) (cons (cons thaw (cons V786 ())) ())))) ())))) ())) ())) ((and (cons? V788) (and (cons? (tl V788)) (and (cons? (hd (tl V788))) (and (cons? (tl (hd (tl V788)))) (and (= () (tl (tl (hd (tl V788))))) (= () (tl (tl V788)))))))) (cons (cons true (cons (cons let (cons V786 (cons (cons freeze (cons (cons cond (shen.scan-body V785 V789)) ())) (cons (cons if (cons (hd V788) (cons (cons let (cons V787 (cons (hd (tl (hd (tl V788)))) (cons (cons if (cons (cons = (cons V787 (cons (cons fail ()) ()))) (cons (cons thaw (cons V786 ())) (cons V787 ())))) ())))) (cons (cons thaw (cons V786 ())) ())))) ())))) ())) ())) (true (simple-error "implementation error in shen.choicepoint")))) -(defun shen.rep-X (V784 V785 V786) (cond ((= V784 V786) V785) ((cons? V786) (let W787 (shen.rep-X V784 V785 (hd V786)) (if (= W787 (hd V786)) (cons (hd V786) (shen.rep-X V784 V785 (tl V786))) (cons W787 (tl V786))))) (true V786))) +(defun shen.rep-X (V791 V792 V793) (cond ((= V791 V793) V792) ((cons? V793) (let W794 (shen.rep-X V791 V792 (hd V793)) (if (= W794 (hd V793)) (cons (hd V793) (shen.rep-X V791 V792 (tl V793))) (cons W794 (tl V793))))) (true V793))) -(defun shen.kl-body (V788 V789) (map (lambda Z790 (shen.triple-stack () (fst Z790) V789 (shen.alpha-convert (snd Z790)))) V788)) +(defun shen.kl-body (V795 V796) (map (lambda Z797 (shen.triple-stack () (fst Z797) V796 (shen.alpha-convert (snd Z797)))) V795)) -(defun shen.alpha-convert (V791) (cond ((and (cons? V791) (and (= lambda (hd V791)) (and (cons? (tl V791)) (and (cons? (tl (tl V791))) (= () (tl (tl (tl V791)))))))) (let W792 (gensym Z) (let W793 (cons lambda (cons W792 (cons (shen.beta (hd (tl V791)) W792 (hd (tl (tl V791)))) ()))) (map (lambda Z794 (shen.alpha-convert Z794)) W793)))) ((and (cons? V791) (and (= let (hd V791)) (and (cons? (tl V791)) (and (cons? (tl (tl V791))) (and (cons? (tl (tl (tl V791)))) (= () (tl (tl (tl (tl V791)))))))))) (let W795 (gensym W) (let W796 (cons let (cons W795 (cons (hd (tl (tl V791))) (cons (shen.beta (hd (tl V791)) W795 (hd (tl (tl (tl V791))))) ())))) (map (lambda Z797 (shen.alpha-convert Z797)) W796)))) ((cons? V791) (map (lambda Z798 (shen.alpha-convert Z798)) V791)) (true V791))) +(defun shen.alpha-convert (V798) (cond ((and (cons? V798) (and (= lambda (hd V798)) (and (cons? (tl V798)) (and (cons? (tl (tl V798))) (= () (tl (tl (tl V798)))))))) (let W799 (gensym Z) (let W800 (cons lambda (cons W799 (cons (shen.beta (hd (tl V798)) W799 (hd (tl (tl V798)))) ()))) (map (lambda Z801 (shen.alpha-convert Z801)) W800)))) ((and (cons? V798) (and (= let (hd V798)) (and (cons? (tl V798)) (and (cons? (tl (tl V798))) (and (cons? (tl (tl (tl V798)))) (= () (tl (tl (tl (tl V798)))))))))) (let W802 (gensym W) (let W803 (cons let (cons W802 (cons (hd (tl (tl V798))) (cons (shen.beta (hd (tl V798)) W802 (hd (tl (tl (tl V798))))) ())))) (map (lambda Z804 (shen.alpha-convert Z804)) W803)))) ((cons? V798) (map (lambda Z805 (shen.alpha-convert Z805)) V798)) (true V798))) -(defun shen.triple-stack (V807 V808 V809 V810) (cond ((and (= () V808) (and (= () V809) (and (cons? V810) (and (= where (hd V810)) (and (cons? (tl V810)) (and (cons? (tl (tl V810))) (= () (tl (tl (tl V810)))))))))) (shen.triple-stack (cons (hd (tl V810)) V807) () () (hd (tl (tl V810))))) ((and (= () V808) (= () V809)) (cons (shen.rectify-test (reverse V807)) (cons V810 ()))) ((and (cons? V808) (and (cons? V809) (variable? (hd V808)))) (shen.triple-stack V807 (tl V808) (tl V809) (shen.beta (hd V808) (hd V809) V810))) ((and (cons? V808) (and (cons? (hd V808)) (and (cons? (tl (hd V808))) (and (cons? (tl (tl (hd V808)))) (and (= () (tl (tl (tl (hd V808))))) (cons? V809)))))) (shen.triple-stack (cons (cons (shen.op-test (hd (hd V808))) (cons (hd V809) ())) V807) (cons (hd (tl (hd V808))) (cons (hd (tl (tl (hd V808)))) (tl V808))) (cons (cons (shen.op1 (hd (hd V808))) (cons (hd V809) ())) (cons (cons (shen.op2 (hd (hd V808))) (cons (hd V809) ())) (tl V809))) (shen.beta (hd V808) (hd V809) V810))) ((and (cons? V808) (cons? V809)) (shen.triple-stack (cons (cons = (cons (hd V808) (cons (hd V809) ()))) V807) (tl V808) (tl V809) V810)) (true (simple-error "implementation error in shen.triple-stack")))) +(defun shen.triple-stack (V814 V815 V816 V817) (cond ((and (= () V815) (and (= () V816) (and (cons? V817) (and (= where (hd V817)) (and (cons? (tl V817)) (and (cons? (tl (tl V817))) (= () (tl (tl (tl V817)))))))))) (shen.triple-stack (cons (hd (tl V817)) V814) () () (hd (tl (tl V817))))) ((and (= () V815) (= () V816)) (cons (shen.rectify-test (reverse V814)) (cons V817 ()))) ((and (cons? V815) (and (cons? V816) (variable? (hd V815)))) (shen.triple-stack V814 (tl V815) (tl V816) (shen.beta (hd V815) (hd V816) V817))) ((and (cons? V815) (and (cons? (hd V815)) (and (cons? (tl (hd V815))) (and (cons? (tl (tl (hd V815)))) (and (= () (tl (tl (tl (hd V815))))) (cons? V816)))))) (shen.triple-stack (cons (cons (shen.op-test (hd (hd V815))) (cons (hd V816) ())) V814) (cons (hd (tl (hd V815))) (cons (hd (tl (tl (hd V815)))) (tl V815))) (cons (cons (shen.op1 (hd (hd V815))) (cons (hd V816) ())) (cons (cons (shen.op2 (hd (hd V815))) (cons (hd V816) ())) (tl V816))) (shen.beta (hd V815) (hd V816) V817))) ((and (cons? V815) (cons? V816)) (shen.triple-stack (cons (cons = (cons (hd V815) (cons (hd V816) ()))) V814) (tl V815) (tl V816) V817)) (true (simple-error "implementation error in shen.triple-stack")))) -(defun shen.rectify-test (V813) (cond ((= () V813) true) ((and (cons? V813) (= () (tl V813))) (hd V813)) ((and (cons? V813) (cons? (tl V813))) (cons and (cons (hd V813) (cons (shen.rectify-test (tl V813)) ())))) (true (simple-error "implementation error in shen.rectify-test")))) +(defun shen.rectify-test (V820) (cond ((= () V820) true) ((and (cons? V820) (= () (tl V820))) (hd V820)) ((and (cons? V820) (cons? (tl V820))) (cons and (cons (hd V820) (cons (shen.rectify-test (tl V820)) ())))) (true (simple-error "implementation error in shen.rectify-test")))) -(defun shen.beta (V823 V824 V825) (cond ((= V823 V825) V824) ((and (cons? V825) (and (= lambda (hd V825)) (and (cons? (tl V825)) (and (cons? (tl (tl V825))) (and (= () (tl (tl (tl V825)))) (= V823 (hd (tl V825)))))))) V825) ((and (cons? V825) (and (= let (hd V825)) (and (cons? (tl V825)) (and (cons? (tl (tl V825))) (and (cons? (tl (tl (tl V825)))) (and (= () (tl (tl (tl (tl V825))))) (= V823 (hd (tl V825))))))))) (cons let (cons (hd (tl V825)) (cons (shen.beta (hd (tl V825)) V824 (hd (tl (tl V825)))) (tl (tl (tl V825))))))) ((cons? V825) (map (lambda Z826 (shen.beta V823 V824 Z826)) V825)) (true V825))) +(defun shen.beta (V830 V831 V832) (cond ((= V830 V832) V831) ((and (cons? V832) (and (= lambda (hd V832)) (and (cons? (tl V832)) (and (cons? (tl (tl V832))) (and (= () (tl (tl (tl V832)))) (= V830 (hd (tl V832)))))))) V832) ((and (cons? V832) (and (= let (hd V832)) (and (cons? (tl V832)) (and (cons? (tl (tl V832))) (and (cons? (tl (tl (tl V832)))) (and (= () (tl (tl (tl (tl V832))))) (= V830 (hd (tl V832))))))))) (cons let (cons (hd (tl V832)) (cons (shen.beta (hd (tl V832)) V831 (hd (tl (tl V832)))) (tl (tl (tl V832))))))) ((cons? V832) (map (lambda Z833 (shen.beta V830 V831 Z833)) V832)) (true V832))) -(defun shen.op1 (V829) (cond ((= cons V829) hd) ((= @s V829) hdstr) ((= @p V829) fst) ((= @v V829) hdv) (true (simple-error "implementation error in shen.op1")))) +(defun shen.op1 (V836) (cond ((= cons V836) hd) ((= @s V836) hdstr) ((= @p V836) fst) ((= @v V836) hdv) (true (simple-error "implementation error in shen.op1")))) -(defun shen.op2 (V832) (cond ((= cons V832) tl) ((= @s V832) tlstr) ((= @p V832) snd) ((= @v V832) tlv) (true (simple-error "implementation error in shen.op2")))) +(defun shen.op2 (V839) (cond ((= cons V839) tl) ((= @s V839) tlstr) ((= @p V839) snd) ((= @v V839) tlv) (true (simple-error "implementation error in shen.op2")))) -(defun shen.op-test (V835) (cond ((= cons V835) cons?) ((= @s V835) shen.+string?) ((= @p V835) tuple?) ((= @v V835) shen.+vector?) (true (simple-error "implementation error in shen.op-test")))) +(defun shen.op-test (V842) (cond ((= cons V842) cons?) ((= @s V842) shen.+string?) ((= @p V842) tuple?) ((= @v V842) shen.+vector?) (true (simple-error "implementation error in shen.op-test")))) -(defun shen.+string? (V836) (cond ((= "" V836) false) (true (string? V836)))) +(defun shen.+string? (V843) (cond ((= "" V843) false) (true (string? V843)))) -(defun shen.+vector? (V837) (cond ((= V837 (vector 0)) false) (true (vector? V837)))) +(defun shen.+vector? (V844) (cond ((= V844 (vector 0)) false) (true (vector? V844)))) -(defun factorise (V840) (cond ((= + V840) (set shen.*factorise?* true)) ((= - V840) (set shen.*factorise?* false)) (true (simple-error "factorise expects a + or a - +(defun factorise (V847) (cond ((= + V847) (set shen.*factorise?* true)) ((= - V847) (set shen.*factorise?* false)) (true (simple-error "factorise expects a + or a - ")))) -(defun shen.factorise-code (V841) (cond ((value shen.*factorise?*) (shen.factor V841)) (true V841))) +(defun shen.factorise-code (V848) (cond ((value shen.*factorise?*) (shen.factor V848)) (true V848))) -(defun shen.factor (V842) (cond ((and (cons? V842) (and (= defun (hd V842)) (and (cons? (tl V842)) (and (cons? (tl (tl V842))) (and (cons? (tl (tl (tl V842)))) (and (cons? (hd (tl (tl (tl V842))))) (and (= cond (hd (hd (tl (tl (tl V842)))))) (= () (tl (tl (tl (tl V842)))))))))))) (cons defun (cons (hd (tl V842)) (cons (hd (tl (tl V842))) (cons (shen.factor-recognisors (tl (hd (tl (tl (tl V842)))))) ()))))) (true V842))) +(defun shen.factor (V849) (cond ((and (cons? V849) (and (= defun (hd V849)) (and (cons? (tl V849)) (and (cons? (tl (tl V849))) (and (cons? (tl (tl (tl V849)))) (and (cons? (hd (tl (tl (tl V849))))) (and (= cond (hd (hd (tl (tl (tl V849)))))) (= () (tl (tl (tl (tl V849)))))))))))) (cons defun (cons (hd (tl V849)) (cons (hd (tl (tl V849))) (cons (shen.factor-recognisors (tl (hd (tl (tl (tl V849)))))) ()))))) (true V849))) -(defun shen.factor-recognisors (V845) (cond ((and (cons? V845) (and (cons? (hd V845)) (and (= true (hd (hd V845))) (and (cons? (tl (hd V845))) (= () (tl (tl (hd V845)))))))) (hd (tl (hd V845)))) ((and (cons? V845) (and (cons? (hd V845)) (and (cons? (hd (hd V845))) (and (= and (hd (hd (hd V845)))) (and (cons? (tl (hd (hd V845)))) (and (cons? (tl (tl (hd (hd V845))))) (and (= () (tl (tl (tl (hd (hd V845)))))) (and (cons? (tl (hd V845))) (= () (tl (tl (hd V845)))))))))))) (let W846 (shen.pivot-on (hd (tl (hd (hd V845)))) V845 ()) (let W847 (fst W846) (if (shen.bad-pivot? W847) (cons if (cons (hd (hd V845)) (cons (hd (tl (hd V845))) (cons (shen.factor-recognisors (tl V845)) ())))) (let W848 (snd W846) (let W849 (shen.factor-recognisors W848) (let W850 (gensym GoTo) (let W851 (reverse (cons (cons true (cons (cons thaw (cons W850 ())) ())) W847)) (let W852 (cons let (cons W850 (cons (cons freeze (cons W849 ())) (cons (cons if (cons (hd (tl (hd (hd V845)))) (cons (shen.factor-selectors (hd (tl (hd (hd V845)))) (shen.factor-recognisors W851)) (cons (cons thaw (cons W850 ())) ())))) ())))) (shen.remove-indirection W852)))))))))) ((and (cons? V845) (and (cons? (hd V845)) (and (cons? (tl (hd V845))) (= () (tl (tl (hd V845))))))) (cons if (cons (hd (hd V845)) (cons (hd (tl (hd V845))) (cons (shen.factor-recognisors (tl V845)) ()))))) (true (simple-error "partial function shen.factor-recognisors")))) +(defun shen.factor-recognisors (V852) (cond ((and (cons? V852) (and (cons? (hd V852)) (and (= true (hd (hd V852))) (and (cons? (tl (hd V852))) (= () (tl (tl (hd V852)))))))) (hd (tl (hd V852)))) ((and (cons? V852) (and (cons? (hd V852)) (and (cons? (hd (hd V852))) (and (= and (hd (hd (hd V852)))) (and (cons? (tl (hd (hd V852)))) (and (cons? (tl (tl (hd (hd V852))))) (and (= () (tl (tl (tl (hd (hd V852)))))) (and (cons? (tl (hd V852))) (= () (tl (tl (hd V852)))))))))))) (let W853 (shen.pivot-on (hd (tl (hd (hd V852)))) V852 ()) (let W854 (fst W853) (if (shen.bad-pivot? W854) (append (cons if ()) (append (shen.recursively-factor-selectors (hd (hd V852)) (hd (tl (hd V852)))) (cons (shen.factor-recognisors (tl V852)) ()))) (let W855 (snd W853) (let W856 (shen.factor-recognisors W855) (let W857 (gensym GoTo) (let W858 (reverse (cons (cons true (cons (cons thaw (cons W857 ())) ())) W854)) (let W859 (cons let (cons W857 (cons (cons freeze (cons W856 ())) (cons (cons if (cons (hd (tl (hd (hd V852)))) (cons (shen.factor-selectors (hd (tl (hd (hd V852)))) (shen.factor-recognisors W858)) (cons (cons thaw (cons W857 ())) ())))) ())))) (shen.remove-indirection W859)))))))))) ((and (cons? V852) (and (cons? (hd V852)) (and (cons? (tl (hd V852))) (= () (tl (tl (hd V852))))))) (cons if (cons (hd (hd V852)) (cons (hd (tl (hd V852))) (cons (shen.factor-recognisors (tl V852)) ()))))) (true (simple-error "partial function shen.factor-recognisors")))) -(defun shen.bad-pivot? (V857) (cond ((and (cons? V857) (= () (tl V857))) true) (true false))) +(defun shen.recursively-factor-selectors (V860 V861) (cond ((and (cons? V860) (and (= let (hd V860)) (and (cons? (tl V860)) (and (cons? (tl (tl V860))) (and (cons? (tl (tl (tl V860)))) (= () (tl (tl (tl (tl V860)))))))))) (shen.restore-local (hd (tl V860)) (hd (tl (tl V860))) (shen.recursively-factor-selectors (hd (tl (tl (tl V860)))) V861))) ((and (cons? V860) (and (= and (hd V860)) (and (cons? (tl V860)) (and (cons? (tl (tl V860))) (= () (tl (tl (tl V860)))))))) (shen.restore-P (hd (tl V860)) (shen.recursively-factor-selectors (shen.factor-selectors (hd (tl V860)) (hd (tl (tl V860)))) (shen.factor-selectors (hd (tl V860)) V861)))) (true (cons V860 (cons V861 ()))))) -(defun shen.remove-indirection (V858) (cond ((and (cons? V858) (and (= let (hd V858)) (and (cons? (tl V858)) (and (cons? (tl (tl V858))) (and (cons? (hd (tl (tl V858)))) (and (= freeze (hd (hd (tl (tl V858))))) (and (cons? (tl (hd (tl (tl V858))))) (and (cons? (hd (tl (hd (tl (tl V858)))))) (and (= thaw (hd (hd (tl (hd (tl (tl V858))))))) (and (cons? (tl (hd (tl (hd (tl (tl V858))))))) (and (= () (tl (tl (hd (tl (hd (tl (tl V858)))))))) (and (= () (tl (tl (hd (tl (tl V858)))))) (and (cons? (tl (tl (tl V858)))) (and (= () (tl (tl (tl (tl V858))))) (symbol? (hd (tl (hd (tl (hd (tl (tl V858)))))))))))))))))))))) (subst (hd (tl (hd (tl (hd (tl (tl V858))))))) (hd (tl V858)) (hd (tl (tl (tl V858)))))) (true V858))) +(defun shen.restore-P (V862 V863) (cond ((and (cons? V863) (and (cons? (tl V863)) (= () (tl (tl V863))))) (cons (cons and (cons V862 (cons (hd V863) ()))) (tl V863))) (true (simple-error "partial function shen.restore-P")))) -(defun shen.pivot-on (V861 V862 V863) (cond ((and (cons? V862) (and (cons? (hd V862)) (and (cons? (hd (hd V862))) (and (= and (hd (hd (hd V862)))) (and (cons? (tl (hd (hd V862)))) (and (cons? (tl (tl (hd (hd V862))))) (and (= () (tl (tl (tl (hd (hd V862)))))) (and (cons? (tl (hd V862))) (and (= () (tl (tl (hd V862)))) (= V861 (hd (tl (hd (hd V862)))))))))))))) (shen.pivot-on (hd (tl (hd (hd V862)))) (tl V862) (cons (cons (hd (tl (tl (hd (hd V862))))) (tl (hd V862))) V863))) ((and (cons? V862) (and (cons? (hd V862)) (and (cons? (tl (hd V862))) (and (= () (tl (tl (hd V862)))) (= V861 (hd (hd V862))))))) (shen.pivot-on (hd (hd V862)) (tl V862) (cons (cons true (tl (hd V862))) V863))) (true (@p V863 V862)))) +(defun shen.restore-local (V864 V865 V866) (cond ((and (cons? V866) (and (cons? (tl V866)) (= () (tl (tl V866))))) (cons (cons let (cons V864 (cons V865 (cons (hd V866) ())))) (tl V866))) (true (simple-error "partial function shen.restore-local")))) -(defun shen.factor-selectors (V866 V867) (cond ((and (cons? V866) (and (cons? (tl V866)) (= () (tl (tl V866))))) (let W868 (shen.op (hd V866)) (if (= shen.skip W868) V867 (shen.factor-selectors-h (cons (cons (shen.op1 W868) (tl V866)) (cons (cons (shen.op2 W868) (tl V866)) ())) V867)))) (true V867))) +(defun shen.bad-pivot? (V871) (cond ((and (cons? V871) (= () (tl V871))) true) (true false))) -(defun shen.op (V871) (cond ((= cons? V871) cons) ((= shen.+string? V871) @s) ((= shen.+vector? V871) @v) ((= tuple? V871) @p) (true shen.skip))) +(defun shen.remove-indirection (V872) (cond ((and (cons? V872) (and (= let (hd V872)) (and (cons? (tl V872)) (and (cons? (tl (tl V872))) (and (cons? (hd (tl (tl V872)))) (and (= freeze (hd (hd (tl (tl V872))))) (and (cons? (tl (hd (tl (tl V872))))) (and (cons? (hd (tl (hd (tl (tl V872)))))) (and (= thaw (hd (hd (tl (hd (tl (tl V872))))))) (and (cons? (tl (hd (tl (hd (tl (tl V872))))))) (and (= () (tl (tl (hd (tl (hd (tl (tl V872)))))))) (and (= () (tl (tl (hd (tl (tl V872)))))) (and (cons? (tl (tl (tl V872)))) (and (= () (tl (tl (tl (tl V872))))) (symbol? (hd (tl (hd (tl (hd (tl (tl V872)))))))))))))))))))))) (subst (hd (tl (hd (tl (hd (tl (tl V872))))))) (hd (tl V872)) (hd (tl (tl (tl V872)))))) (true V872))) -(defun shen.factor-selectors-h (V872 V873) (cond ((= () V872) V873) ((cons? V872) (if (> (occurrences (hd V872) V873) 1) (let W874 (gensym Select) (cons let (cons W874 (cons (hd V872) (cons (shen.factor-selectors-h (tl V872) (subst W874 (hd V872) V873)) ()))))) (shen.factor-selectors-h (tl V872) V873))) (true (simple-error "partial function shen.factor-selectors-h")))) +(defun shen.pivot-on (V875 V876 V877) (cond ((and (cons? V876) (and (cons? (hd V876)) (and (cons? (hd (hd V876))) (and (= and (hd (hd (hd V876)))) (and (cons? (tl (hd (hd V876)))) (and (cons? (tl (tl (hd (hd V876))))) (and (= () (tl (tl (tl (hd (hd V876)))))) (and (cons? (tl (hd V876))) (and (= () (tl (tl (hd V876)))) (= V875 (hd (tl (hd (hd V876)))))))))))))) (shen.pivot-on (hd (tl (hd (hd V876)))) (tl V876) (cons (cons (hd (tl (tl (hd (hd V876))))) (tl (hd V876))) V877))) ((and (cons? V876) (and (cons? (hd V876)) (and (cons? (tl (hd V876))) (and (= () (tl (tl (hd V876)))) (= V875 (hd (hd V876))))))) (shen.pivot-on (hd (hd V876)) (tl V876) (cons (cons true (tl (hd V876))) V877))) (true (@p V877 V876)))) + +(defun shen.factor-selectors (V880 V881) (cond ((and (cons? V880) (and (cons? (tl V880)) (= () (tl (tl V880))))) (let W882 (shen.op (hd V880)) (if (= shen.skip W882) V881 (shen.factor-selectors-h (cons (cons (shen.op1 W882) (tl V880)) (cons (cons (shen.op2 W882) (tl V880)) ())) V881)))) (true V881))) + +(defun shen.op (V885) (cond ((= cons? V885) cons) ((= shen.+string? V885) @s) ((= shen.+vector? V885) @v) ((= tuple? V885) @p) (true shen.skip))) + +(defun shen.factor-selectors-h (V886 V887) (cond ((= () V886) V887) ((cons? V886) (if (> (occurrences (hd V886) V887) 1) (let W888 (gensym Select) (cons let (cons W888 (cons (hd V886) (cons (shen.factor-selectors-h (tl V886) (subst W888 (hd V886) V887)) ()))))) (shen.factor-selectors-h (tl V886) V887))) (true (simple-error "partial function shen.factor-selectors-h")))) diff --git a/kernel/klambda/declarations.kl b/kernel/klambda/declarations.kl index bae45af..6cfab7d 100644 --- a/kernel/klambda/declarations.kl +++ b/kernel/klambda/declarations.kl @@ -50,7 +50,7 @@ (set shen.*optimise* false) -(set *version* "41.2") +(set *version* "42") (set shen.*names* ()) @@ -66,34 +66,34 @@ (set shen.*userdefs* ()) -(defun datatypes () (map (lambda Z5718 (shen.typename Z5718)) (value shen.*alldatatypes*))) +(defun datatypes () (map (lambda Z5759 (shen.typename Z5759)) (value shen.*alldatatypes*))) -(defun included () (map (lambda Z5719 (shen.typename Z5719)) (value shen.*datatypes*))) +(defun included () (map (lambda Z5760 (shen.typename Z5760)) (value shen.*datatypes*))) -(defun shen.typename (V5722) (cond ((cons? V5722) (intern (shen.typename-h (str (hd V5722))))) (true (simple-error "partial function shen.typename")))) +(defun shen.typename (V5763) (cond ((cons? V5763) (intern (shen.typename-h (str (hd V5763))))) (true (simple-error "partial function shen.typename")))) -(defun shen.typename-h (V5723) (cond ((= "#type" V5723) "") ((shen.+string? V5723) (cn (hdstr V5723) (shen.typename-h (tlstr V5723)))) (true (simple-error "partial function shen.typename-h")))) +(defun shen.typename-h (V5764) (cond ((= "#type" V5764) "") ((shen.+string? V5764) (cn (hdstr V5764) (shen.typename-h (tlstr V5764)))) (true (simple-error "partial function shen.typename-h")))) -(defun prolog-memory (V5724) (if (< V5724 0) (value shen.*prolog-memory*) (if (integer? V5724) (set shen.*prolog-memory* V5724) (simple-error "prolog memory expects an integer value +(defun prolog-memory (V5765) (if (< V5765 0) (value shen.*prolog-memory*) (if (integer? V5765) (set shen.*prolog-memory* V5765) (simple-error "prolog memory expects an integer value ")))) -(defun shen.initialise-lambda-tables (V5727) (cond ((= () V5727) ()) ((and (cons? V5727) (cons? (tl V5727))) (let W5728 (put (hd V5727) arity (hd (tl V5727)) (value *property-vector*)) (shen.initialise-arity-table (tl (tl V5727))))) (true (simple-error "implementation error in shen.initialise-arity-table")))) +(defun shen.initialise-lambda-tables (V5768) (cond ((= () V5768) ()) ((and (cons? V5768) (cons? (tl V5768))) (let W5769 (put (hd V5768) arity (hd (tl V5768)) (value *property-vector*)) (shen.initialise-arity-table (tl (tl V5768))))) (true (simple-error "implementation error in shen.initialise-arity-table")))) -(defun arity (V5729) (trap-error (get V5729 arity (value *property-vector*)) (lambda Z5730 -1))) +(defun arity (V5770) (trap-error (get V5770 arity (value *property-vector*)) (lambda Z5771 -1))) -(defun shen.initialise-arity-table (V5733) (cond ((= () V5733) ()) ((and (cons? V5733) (cons? (tl V5733))) (let W5734 (put (hd V5733) arity (hd (tl V5733)) (value *property-vector*)) (shen.initialise-arity-table (tl (tl V5733))))) (true (simple-error "implementation error in shen.initialise-arity-table")))) +(defun shen.initialise-arity-table (V5774) (cond ((= () V5774) ()) ((and (cons? V5774) (cons? (tl V5774))) (let W5775 (put (hd V5774) arity (hd (tl V5774)) (value *property-vector*)) (shen.initialise-arity-table (tl (tl V5774))))) (true (simple-error "implementation error in shen.initialise-arity-table")))) (shen.initialise-arity-table (cons abort (cons 0 (cons absolute (cons 1 (cons absvector? (cons 1 (cons absvector (cons 1 (cons address-> (cons 3 (cons adjoin (cons 2 (cons and (cons 2 (cons append (cons 2 (cons arity (cons 1 (cons assoc (cons 2 (cons atom? (cons 1 (cons boolean? (cons 1 (cons bootstrap (cons 1 (cons bound? (cons 1 (cons bind (cons 6 (cons call (cons 5 (cons cd (cons 1 (cons compile (cons 2 (cons concat (cons 2 (cons cons (cons 2 (cons cons? (cons 1 (cons cn (cons 2 (cons close (cons 1 (cons datatypes (cons 0 (cons declare (cons 2 (cons destroy (cons 1 (cons difference (cons 2 (cons do (cons 2 (cons element? (cons 2 (cons empty? (cons 1 (cons enable-type-theory (cons 1 (cons external (cons 1 (cons error-to-string (cons 1 (cons eval (cons 1 (cons eval-kl (cons 1 (cons explode (cons 1 (cons external (cons 1 (cons factorise (cons 1 (cons factorise? (cons 0 (cons fail-if (cons 2 (cons fail (cons 0 (cons fix (cons 2 (cons findall (cons 7 (cons foreign (cons 1 (cons fork (cons 5 (cons freeze (cons 1 (cons fresh (cons 0 (cons fst (cons 1 (cons fn (cons 1 (cons function (cons 1 (cons gensym (cons 1 (cons get (cons 3 (cons get-time (cons 1 (cons address-> (cons 3 (cons <-address (cons 2 (cons <-vector (cons 2 (cons > (cons 2 (cons >= (cons 2 (cons = (cons 2 (cons hash (cons 2 (cons hd (cons 1 (cons hdv (cons 1 (cons hdstr (cons 1 (cons head (cons 1 (cons hush? (cons 0 (cons hush (cons 1 (cons if (cons 3 (cons include (cons 1 (cons included (cons 0 (cons in-package (cons 1 (cons integer? (cons 1 (cons internal (cons 1 (cons intern (cons 1 (cons inferences (cons 0 (cons input (cons 1 (cons input+ (cons 2 (cons implementation (cons 0 (cons include-all-but (cons 1 (cons intersection (cons 2 (cons internal (cons 1 (cons it (cons 0 (cons is (cons 6 (cons is! (cons 6 (cons language (cons 0 (cons length (cons 1 (cons limit (cons 1 (cons lineread (cons 1 (cons list (cons 1 (cons load (cons 1 (cons < (cons 2 (cons <= (cons 2 (cons vector (cons 1 (cons macroexpand (cons 1 (cons map (cons 2 (cons mapcan (cons 2 (cons maxinferences (cons 1 (cons nl (cons 1 (cons not (cons 1 (cons nth (cons 2 (cons n->string (cons 1 (cons number? (cons 1 (cons occurs-check (cons 1 (cons occurrences (cons 2 (cons occurs? (cons 0 (cons occurs-check (cons 1 (cons open (cons 2 (cons optimise (cons 1 (cons optimise? (cons 0 (cons or (cons 2 (cons os (cons 0 (cons package (cons 3 (cons package? (cons 1 (cons port (cons 0 (cons porters (cons 0 (cons pos (cons 2 (cons preclude-all-but (cons 1 (cons print (cons 1 (cons profile (cons 1 (cons shen.print-prolog-vector (cons 1 (cons shen.print-freshterm (cons 1 (cons shen.printF (cons 1 (cons prolog-memory (cons 1 (cons profile-results (cons 1 (cons pr (cons 2 (cons ps (cons 1 (cons preclude (cons 1 (cons preclude-all-but (cons 1 (cons protect (cons 1 (cons put (cons 4 (cons read-file-as-string (cons 1 (cons read-file-as-bytelist (cons 1 (cons read-file (cons 1 (cons read (cons 1 (cons read-byte (cons 1 (cons read-from-string (cons 1 (cons read-from-string-unprocessed (cons 1 (cons shen.read-unit-string (cons 1 (cons receive (cons 1 (cons release (cons 0 (cons remove (cons 2 (cons reverse (cons 1 (cons set (cons 2 (cons simple-error (cons 1 (cons snd (cons 1 (cons specialise (cons 2 (cons spy (cons 1 (cons spy? (cons 0 (cons step (cons 1 (cons step? (cons 0 (cons stinput (cons 0 (cons stoutput (cons 0 (cons str (cons 1 (cons string->n (cons 1 (cons string->symbol (cons 1 (cons string? (cons 1 (cons subst (cons 3 (cons sum (cons 1 (cons symbol? (cons 1 (cons systemf (cons 1 (cons tail (cons 1 (cons tl (cons 1 (cons tc (cons 1 (cons tc? (cons 0 (cons thaw (cons 1 (cons tlstr (cons 1 (cons track (cons 1 (cons tracked (cons 0 (cons trap-error (cons 2 (cons tuple? (cons 1 (cons type (cons 2 (cons return (cons 5 (cons unabsolute (cons 1 (cons undefmacro (cons 1 (cons unput (cons 3 (cons unprofile (cons 1 (cons union (cons 2 (cons untrack (cons 1 (cons undefmacro (cons 1 (cons update-lambda-table (cons 2 (cons userdefs (cons 0 (cons vector (cons 1 (cons vector? (cons 1 (cons vector-> (cons 3 (cons value (cons 1 (cons variable? (cons 1 (cons var? (cons 5 (cons version (cons 0 (cons when (cons 5 (cons write-byte (cons 2 (cons write-to-file (cons 2 (cons y-or-n? (cons 1 (cons + (cons 2 (cons * (cons 2 (cons / (cons 2 (cons - (cons 2 (cons == (cons 2 (cons (cons 1 (cons (cons 1 (cons (cons 1 (cons @p (cons 2 (cons @v (cons 2 (cons @s (cons 2 ()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -(defun systemf (V5735) (let W5736 (get shen shen.external-symbols (value *property-vector*)) (let W5737 (put shen shen.external-symbols (adjoin V5735 W5736) (value *property-vector*)) V5735))) +(defun systemf (V5776) (let W5777 (get shen shen.external-symbols (value *property-vector*)) (let W5778 (put shen shen.external-symbols (adjoin V5776 W5777) (value *property-vector*)) V5776))) -(defun adjoin (V5738 V5739) (if (element? V5738 V5739) V5739 (cons V5738 V5739))) +(defun adjoin (V5779 V5780) (if (element? V5779 V5780) V5780 (cons V5779 V5780))) (put shen shen.external-symbols (cons ! (cons } (cons { (cons --> (cons <-- (cons && (cons (intern ":") (cons (intern ";") (cons (intern ":=") (cons (intern ",") (cons _ (cons *language* (cons *implementation* (cons *stinput* (cons *stoutput* (cons *home-directory* (cons *version* (cons *maximum-print-sequence-size* (cons *macros* (cons *os* (cons *release* (cons *property-vector* (cons @v (cons @p (cons @s (cons *port* (cons *porters* (cons *hush* (cons <- (cons -> (cons (cons == (cons = (cons >= (cons > (cons ==> (cons /. (cons (cons (cons $ (cons - (cons / (cons * (cons + (cons <= (cons < (cons >> (cons (vector 0) (cons y-or-n? (cons write-to-file (cons write-byte (cons where (cons when (cons version (cons verified (cons variable? (cons var? (cons value (cons vector-> (cons <-vector (cons vector (cons vector? (cons userdefs (cons u! (cons update-lambda-table (cons unspecialise (cons untrack (cons unit (cons unix (cons union (cons unput (cons unprofile (cons undefmacro (cons unabsolute (cons return (cons type (cons tuple? (cons true (cons trap-error (cons tracked (cons track (cons time (cons thaw (cons tc? (cons tc (cons tl (cons tlstr (cons tlv (cons tail (cons systemf (cons synonyms (cons system-S? (cons symbol (cons symbol? (cons string->symbol (cons sum (cons subst (cons string? (cons string->n (cons stream (cons string (cons stinput (cons stoutput (cons step (cons sqts (cons spy (cons specialise (cons snd (cons simple-error (cons set (cons save (cons str (cons run (cons reverse (cons retract (cons remove (cons release (cons read (cons receive (cons read-file (cons read-file-as-bytelist (cons read-file-as-string (cons read-byte (cons read-from-string (cons read-from-string-unprocessed (cons package? (cons put (cons preclude (cons preclude-all-but (cons ps (cons prolog? (cons protect (cons profile-results (cons profile (cons prolog-memory (cons print (cons pr (cons pos (cons porters (cons port (cons package (cons output (cons out (cons os (cons or (cons optimise (cons optimise? (cons open (cons occurrences (cons occurs-check (cons occurs? (cons n->string (cons number? (cons number (cons null (cons nth (cons not (cons nl (cons mode (cons macroexpand (cons maxinferences (cons mapcan (cons map (cons make-string (cons load (cons loaded (cons list (cons lineread (cons limit (cons length (cons let (cons lazy (cons lambda (cons language (cons is (cons intersection (cons inferences (cons intern (cons integer? (cons input (cons input+ (cons included (cons include (cons include-all-but (cons it (cons is (cons is! (cons in (cons in-package (cons internal (cons implementation (cons if (cons hush? (cons hush? (cons head (cons hd (cons hdv (cons hdstr (cons hash (cons get (cons get-time (cons gensym (cons fn (cons function (cons fst (cons freeze (cons fresh (cons fork (cons foreign (cons fix (cons file (cons fail (cons fail-if (cons factorise (cons factorise? (cons findall (cons false (cons enable-type-theory (cons explode (cons external (cons exception (cons eval-kl (cons eval (cons error-to-string (cons error (cons empty? (cons element? (cons do (cons difference (cons destroy (cons defun (cons define (cons defmacro (cons defcc (cons defprolog (cons declare (cons datatype (cons datatypes (cons ctxt (cons cn (cons cons? (cons cons (cons cond (cons concat (cons compile (cons cd (cons cases (cons call (cons close (cons bind (cons bound? (cons boolean? (cons boolean (cons bootstrap (cons (intern "bar!") (cons spy? (cons step? (cons atom? (cons asserta (cons assertz (cons assoc (cons arity (cons append (cons and (cons adjoin (cons <-address (cons address-> (cons absvector? (cons absvector (cons absolute (cons abort ()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (value *property-vector*)) -(defun shen.lambda-entry (V5740) (let W5741 (arity V5740) (if (or (= W5741 -1) (= W5741 0)) () (cons V5740 (eval-kl (shen.lambda-function (cons V5740 ()) W5741)))))) +(defun shen.lambda-entry (V5781) (let W5782 (arity V5781) (if (or (= W5782 -1) (= W5782 0)) () (cons V5781 (eval-kl (shen.lambda-function (cons V5781 ()) W5782)))))) -(defun shen.build-lambda-table (V5742) (let W5743 (map (lambda Z5744 (shen.lambda-entry Z5744)) V5742) (set shen.*lambdatable* (cons (cons shen.tuple (lambda Z5745 (shen.tuple Z5745))) (cons (cons shen.pvar (lambda Z5746 (shen.pvar Z5746))) (cons (cons shen.print-prolog-vector (lambda Z5747 (shen.print-prolog-vector Z5747))) (cons (cons shen.print-freshterm (lambda Z5748 (shen.print-freshterm Z5748))) (cons (cons shen.printF (lambda Z5749 (shen.printF Z5749))) W5743)))))))) +(defun shen.build-lambda-table (V5783) (let W5784 (map (lambda Z5785 (shen.lambda-entry Z5785)) V5783) (set shen.*lambdatable* (cons (cons shen.tuple (lambda Z5786 (shen.tuple Z5786))) (cons (cons shen.pvar (lambda Z5787 (shen.pvar Z5787))) (cons (cons shen.print-prolog-vector (lambda Z5788 (shen.print-prolog-vector Z5788))) (cons (cons shen.print-freshterm (lambda Z5789 (shen.print-freshterm Z5789))) (cons (cons shen.printF (lambda Z5790 (shen.printF Z5790))) W5784)))))))) (shen.build-lambda-table (external shen)) diff --git a/kernel/klambda/load.kl b/kernel/klambda/load.kl index a359283..b90b24c 100644 --- a/kernel/klambda/load.kl +++ b/kernel/klambda/load.kl @@ -1,43 +1,43 @@ -(defun load (V893) (let W894 (value shen.*tc*) (let W895 (let W896 (get-time run) (let W897 (shen.load-help W894 (read-file V893)) (let W898 (get-time run) (let W899 (- W898 W896) (let W900 (pr (cn " -run time: " (cn (str W899) " secs -")) (stoutput)) W897))))) (let W901 (if W894 (pr (cn " +(defun load (V907) (let W908 (value shen.*tc*) (let W909 (let W910 (get-time run) (let W911 (shen.load-help W908 (read-file V907)) (let W912 (get-time run) (let W913 (- W912 W910) (let W914 (pr (cn " +run time: " (cn (str W913) " secs +")) (stoutput)) W911))))) (let W915 (if W908 (pr (cn " typechecked in " (shen.app (inferences) " inferences " shen.a)) (stoutput)) shen.skip) loaded)))) -(defun shen.load-help (V904 V905) (cond ((= false V904) (shen.eval-and-print V905)) (true (shen.check-eval-and-print V905)))) +(defun shen.load-help (V918 V919) (cond ((= false V918) (shen.eval-and-print V919)) (true (shen.check-eval-and-print V919)))) -(defun shen.eval-and-print (V906) (map (lambda Z907 (pr (shen.app (eval-kl (shen.shen->kl Z907)) " -" shen.s) (stoutput))) V906)) +(defun shen.eval-and-print (V920) (map (lambda Z921 (pr (shen.app (eval-kl (shen.shen->kl Z921)) " +" shen.s) (stoutput))) V920)) -(defun shen.check-eval-and-print (V908) (let W909 (mapcan (lambda Z910 (shen.typetable Z910)) V908) (let W911 (trap-error (shen.assumetypes W909) (lambda Z912 (shen.unwind-types Z912 W909))) (trap-error (shen.work-through V908) (lambda Z913 (shen.unwind-types Z913 W909)))))) +(defun shen.check-eval-and-print (V922) (let W923 (mapcan (lambda Z924 (shen.typetable Z924)) V922) (let W925 (trap-error (shen.assumetypes W923) (lambda Z926 (shen.unwind-types Z926 W923))) (trap-error (shen.work-through V922) (lambda Z927 (shen.unwind-types Z927 W923)))))) -(defun shen.typetable (V918) (cond ((and (cons? V918) (and (= define (hd V918)) (and (cons? (tl V918)) (and (cons? (tl (tl V918))) (= { (hd (tl (tl V918)))))))) (cons (hd (tl V918)) (cons (shen.rectify-type (shen.type-F (hd (tl V918)) (tl (tl (tl V918))))) ()))) ((and (cons? V918) (and (= define (hd V918)) (cons? (tl V918)))) (simple-error (cn "missing { in " (shen.app (hd (tl V918)) " +(defun shen.typetable (V932) (cond ((and (cons? V932) (and (= define (hd V932)) (and (cons? (tl V932)) (and (cons? (tl (tl V932))) (= { (hd (tl (tl V932)))))))) (cons (hd (tl V932)) (cons (shen.rectify-type (shen.type-F (hd (tl V932)) (tl (tl (tl V932))))) ()))) ((and (cons? V932) (and (= define (hd V932)) (cons? (tl V932)))) (simple-error (cn "missing { in " (shen.app (hd (tl V932)) " " shen.a)))) (true ()))) -(defun shen.type-F (V925 V926) (cond ((and (cons? V926) (= } (hd V926))) ()) ((cons? V926) (cons (hd V926) (shen.type-F V925 (tl V926)))) (true (simple-error (cn "missing } in " (shen.app V925 " +(defun shen.type-F (V939 V940) (cond ((and (cons? V940) (= } (hd V940))) ()) ((cons? V940) (cons (hd V940) (shen.type-F V939 (tl V940)))) (true (simple-error (cn "missing } in " (shen.app V939 " " shen.a)))))) -(defun shen.assumetypes (V929) (cond ((= () V929) ()) ((and (cons? V929) (cons? (tl V929))) (do (declare (hd V929) (hd (tl V929))) (shen.assumetypes (tl (tl V929))))) (true (simple-error "implementation error in shen.assumetype")))) +(defun shen.assumetypes (V943) (cond ((= () V943) ()) ((and (cons? V943) (cons? (tl V943))) (do (declare (hd V943) (hd (tl V943))) (shen.assumetypes (tl (tl V943))))) (true (simple-error "implementation error in shen.assumetype")))) -(defun shen.unwind-types (V934 V935) (cond ((and (cons? V935) (cons? (tl V935))) (do (destroy (hd V935)) (shen.unwind-types V934 (tl (tl V935))))) (true (simple-error (error-to-string V934))))) +(defun shen.unwind-types (V948 V949) (cond ((and (cons? V949) (cons? (tl V949))) (do (destroy (hd V949)) (shen.unwind-types V948 (tl (tl V949))))) (true (simple-error (error-to-string V948))))) -(defun shen.work-through (V938) (cond ((= () V938) ()) ((and (cons? V938) (and (cons? (tl V938)) (and (cons? (tl (tl V938))) (= (hd (tl V938)) (intern ":"))))) (let W939 (shen.typecheck (hd V938) (hd (tl (tl V938)))) (if (= W939 false) (shen.type-error) (let W940 (eval-kl (shen.shen->kl (hd V938))) (let W941 (pr (shen.app W940 (cn " : " (shen.app (shen.pretty-type W939) " -" shen.r)) shen.s) (stoutput)) (shen.work-through (tl (tl (tl V938))))))))) ((cons? V938) (shen.work-through (cons (hd V938) (cons (intern ":") (cons A (tl V938)))))) (true (simple-error "implementation error in shen.work-through")))) +(defun shen.work-through (V952) (cond ((= () V952) ()) ((and (cons? V952) (and (cons? (tl V952)) (and (cons? (tl (tl V952))) (= (hd (tl V952)) (intern ":"))))) (let W953 (shen.typecheck (hd V952) (hd (tl (tl V952)))) (if (= W953 false) (shen.type-error) (let W954 (eval-kl (shen.shen->kl (hd V952))) (let W955 (pr (shen.app W954 (cn " : " (shen.app (shen.pretty-type W953) " +" shen.r)) shen.s) (stoutput)) (shen.work-through (tl (tl (tl V952))))))))) ((cons? V952) (shen.work-through (cons (hd V952) (cons (intern ":") (cons A (tl V952)))))) (true (simple-error "implementation error in shen.work-through")))) -(defun shen.pretty-type (V943) (cond ((and (cons? V943) (and (cons? (hd V943)) (and (= list (hd (hd V943))) (and (cons? (tl (hd V943))) (and (= () (tl (tl (hd V943)))) (and (cons? (tl V943)) (and (= --> (hd (tl V943))) (and (cons? (tl (tl V943))) (and (cons? (hd (tl (tl V943)))) (and (= str (hd (hd (tl (tl V943))))) (and (cons? (tl (hd (tl (tl V943))))) (and (cons? (hd (tl (hd (tl (tl V943)))))) (and (= list (hd (hd (tl (hd (tl (tl V943))))))) (and (cons? (tl (hd (tl (hd (tl (tl V943))))))) (and (= () (tl (tl (hd (tl (hd (tl (tl V943)))))))) (and (cons? (tl (tl (hd (tl (tl V943)))))) (and (= () (tl (tl (tl (hd (tl (tl V943))))))) (and (= () (tl (tl (tl V943)))) (= (hd (tl (hd V943))) (hd (tl (hd (tl (hd (tl (tl V943)))))))))))))))))))))))))) (cons (hd (tl (hd (tl (tl V943))))) (cons ==> (tl (tl (hd (tl (tl V943)))))))) ((cons? V943) (map (lambda Z944 (shen.pretty-type Z944)) V943)) (true V943))) +(defun shen.pretty-type (V957) (cond ((and (cons? V957) (and (cons? (hd V957)) (and (= list (hd (hd V957))) (and (cons? (tl (hd V957))) (and (= () (tl (tl (hd V957)))) (and (cons? (tl V957)) (and (= --> (hd (tl V957))) (and (cons? (tl (tl V957))) (and (cons? (hd (tl (tl V957)))) (and (= str (hd (hd (tl (tl V957))))) (and (cons? (tl (hd (tl (tl V957))))) (and (cons? (hd (tl (hd (tl (tl V957)))))) (and (= list (hd (hd (tl (hd (tl (tl V957))))))) (and (cons? (tl (hd (tl (hd (tl (tl V957))))))) (and (= () (tl (tl (hd (tl (hd (tl (tl V957)))))))) (and (cons? (tl (tl (hd (tl (tl V957)))))) (and (= () (tl (tl (tl (hd (tl (tl V957))))))) (and (= () (tl (tl (tl V957)))) (= (hd (tl (hd V957))) (hd (tl (hd (tl (hd (tl (tl V957)))))))))))))))))))))))))) (cons (hd (tl (hd (tl (tl V957))))) (cons ==> (tl (tl (hd (tl (tl V957)))))))) ((cons? V957) (map (lambda Z958 (shen.pretty-type Z958)) V957)) (true V957))) (defun shen.type-error () (simple-error "type error ")) -(defun bootstrap (V945) (let W946 (shen.klfile V945) (let W947 (read-file V945) (let W948 (open W946 out) (let W949 (map (lambda Z950 (shen.partial (shen.shen->kl-h Z950))) W947) (let W951 (shen.write-kl W949 W948) W946)))))) +(defun bootstrap (V959) (let W960 (shen.klfile V959) (let W961 (read-file V959) (let W962 (open W960 out) (let W963 (map (lambda Z964 (shen.partial (shen.shen->kl-h Z964))) W961) (let W965 (shen.write-kl W963 W962) W960)))))) -(defun shen.partial (V952) (cond ((and (cons? V952) (and (= shen.f-error (hd V952)) (and (cons? (tl V952)) (= () (tl (tl V952)))))) (cons simple-error (cons (cn "partial function " (str (hd (tl V952)))) ()))) ((cons? V952) (map (lambda Z953 (shen.partial Z953)) V952)) (true V952))) +(defun shen.partial (V966) (cond ((and (cons? V966) (and (= shen.f-error (hd V966)) (and (cons? (tl V966)) (= () (tl (tl V966)))))) (cons simple-error (cons (cn "partial function " (str (hd (tl V966)))) ()))) ((cons? V966) (map (lambda Z967 (shen.partial Z967)) V966)) (true V966))) -(defun shen.write-kl (V956 V957) (cond ((= () V956) (close V957)) ((and (cons? V956) (cons? (hd V956))) (shen.write-kl (tl V956) (do (shen.write-kl-h (hd V956) V957) V957))) ((cons? V956) (shen.write-kl (tl V956) V957)) (true (simple-error "partial function shen.write-kl")))) +(defun shen.write-kl (V970 V971) (cond ((= () V970) (close V971)) ((and (cons? V970) (cons? (hd V970))) (shen.write-kl (tl V970) (do (shen.write-kl-h (hd V970) V971) V971))) ((cons? V970) (shen.write-kl (tl V970) V971)) (true (simple-error "partial function shen.write-kl")))) -(defun shen.write-kl-h (V960 V961) (cond ((and (cons? V960) (and (= defun (hd V960)) (and (cons? (tl V960)) (and (= fail (hd (tl V960))) (and (cons? (tl (tl V960))) (and (= () (hd (tl (tl V960)))) (and (cons? (tl (tl (tl V960)))) (= () (tl (tl (tl (tl V960)))))))))))) (pr "(defun fail () shen.fail!)" V961)) (true (pr (shen.app V960 " +(defun shen.write-kl-h (V974 V975) (cond ((and (cons? V974) (and (= defun (hd V974)) (and (cons? (tl V974)) (and (= fail (hd (tl V974))) (and (cons? (tl (tl V974))) (and (= () (hd (tl (tl V974)))) (and (cons? (tl (tl (tl V974)))) (= () (tl (tl (tl (tl V974)))))))))))) (pr "(defun fail () shen.fail!)" V975)) (true (pr (shen.app V974 " -" shen.r) V961)))) +" shen.r) V975)))) -(defun shen.klfile (V962) (cond ((= "" V962) ".kl") ((= ".shen" V962) ".kl") ((shen.+string? V962) (@s (hdstr V962) (shen.klfile (tlstr V962)))) (true (simple-error "partial function shen.klfile")))) +(defun shen.klfile (V976) (cond ((= "" V976) ".kl") ((= ".shen" V976) ".kl") ((shen.+string? V976) (@s (hdstr V976) (shen.klfile (tlstr V976)))) (true (simple-error "partial function shen.klfile")))) diff --git a/kernel/klambda/macros.kl b/kernel/klambda/macros.kl index 719f80b..79e9a1c 100644 --- a/kernel/klambda/macros.kl +++ b/kernel/klambda/macros.kl @@ -1,65 +1,65 @@ -(defun macroexpand (V5783) (let W5784 (map (lambda Z5785 (tl Z5785)) (value *macros*)) (shen.macroexpand-h V5783 W5784 W5784))) +(defun macroexpand (V5824) (let W5825 (map (lambda Z5826 (tl Z5826)) (value *macros*)) (shen.macroexpand-h V5824 W5825 W5825))) -(defun shen.macroexpand-h (V5794 V5795 V5796) (if (= () V5795) V5794 (if (cons? V5795) (let W5797 (shen.walk (hd V5795) V5794) (if (= V5794 W5797) (shen.macroexpand-h V5794 (tl V5795) V5796) (shen.macroexpand-h W5797 V5796 V5796))) (simple-error "implementation error in shen.macroexpand-h")))) +(defun shen.macroexpand-h (V5835 V5836 V5837) (if (= () V5836) V5835 (if (cons? V5836) (let W5838 (shen.walk (hd V5836) V5835) (if (= V5835 W5838) (shen.macroexpand-h V5835 (tl V5836) V5837) (shen.macroexpand-h W5838 V5837 V5837))) (simple-error "implementation error in shen.macroexpand-h")))) -(defun shen.walk (V5798 V5799) (if (cons? V5799) (V5798 (map (lambda Z5800 (shen.walk V5798 Z5800)) V5799)) (V5798 V5799))) +(defun shen.walk (V5839 V5840) (if (cons? V5840) (V5839 (map (lambda Z5841 (shen.walk V5839 Z5841)) V5840)) (V5839 V5840))) -(defun shen.macros (V5801) (let GoTo5802 (freeze V5801) (if (cons? V5801) (let Select5807 (hd V5801) (let Select5808 (tl V5801) (if (and (= defmacro Select5807) (cons? Select5808)) (shen.process-def (hd Select5808) (tl Select5808)) (if (= defcc Select5807) (shen.yacc->shen Select5808) (if (and (= u! Select5807) (and (cons? Select5808) (= () (tl Select5808)))) (cons protect (cons (shen.make-uppercase (hd Select5808)) ())) (if (and (= error Select5807) (cons? Select5808)) (cons simple-error (cons (shen.mkstr (hd Select5808) (tl Select5808)) ())) (if (and (= output Select5807) (cons? Select5808)) (cons pr (cons (shen.mkstr (hd Select5808) (tl Select5808)) (cons (cons stoutput ()) ()))) (if (and (= pr Select5807) (and (cons? Select5808) (= () (tl Select5808)))) (cons pr (cons (hd Select5808) (cons (cons stoutput ()) ()))) (if (and (= make-string Select5807) (cons? Select5808)) (shen.mkstr (hd Select5808) (tl Select5808)) (if (and (= lineread Select5807) (= () Select5808)) (cons lineread (cons (cons stinput ()) ())) (if (and (= input Select5807) (= () Select5808)) (cons input (cons (cons stinput ()) ())) (if (and (= read Select5807) (= () Select5808)) (cons read (cons (cons stinput ()) ())) (if (and (= input+ Select5807) (cons? Select5808)) (shen.process-input+ V5801) (if (and (= read-byte Select5807) (= () Select5808)) (shen.process-read-byte) (if (= prolog? Select5807) (shen.call-prolog Select5808) (if (and (= defprolog Select5807) (cons? Select5808)) (shen.compile-prolog (hd Select5808) (tl Select5808)) (if (and (= datatype Select5807) (cons? Select5808)) (shen.process-datatype (hd Select5808) (tl Select5808)) (if (= @s Select5807) (shen.process-@s V5801) (if (= synonyms Select5807) (shen.process-synonyms Select5808) (if (and (= nl Select5807) (= () Select5808)) (cons nl (cons 1 ())) (if (= let Select5807) (shen.process-let V5801) (if (= /. Select5807) (shen.process-lambda V5801) (if (= cases Select5807) (shen.process-cases V5801) (if (and (= time Select5807) (and (cons? Select5808) (= () (tl Select5808)))) (shen.process-time (hd Select5808)) (if (and (= put Select5807) (and (cons? Select5808) (and (cons? (tl Select5808)) (and (cons? (tl (tl Select5808))) (= () (tl (tl (tl Select5808)))))))) (cons put (cons (hd Select5808) (cons (hd (tl Select5808)) (cons (hd (tl (tl Select5808))) (cons (cons value (cons *property-vector* ())) ()))))) (if (and (= get Select5807) (and (cons? Select5808) (and (cons? (tl Select5808)) (= () (tl (tl Select5808)))))) (cons get (cons (hd Select5808) (cons (hd (tl Select5808)) (cons (cons value (cons *property-vector* ())) ())))) (if (and (= unput Select5807) (and (cons? Select5808) (and (cons? (tl Select5808)) (= () (tl (tl Select5808)))))) (cons unput (cons (hd Select5808) (cons (hd (tl Select5808)) (cons (cons value (cons *property-vector* ())) ())))) (if (and (= shen.@c Select5807) (and (cons? Select5808) (= () (tl Select5808)))) (shen.rcons_form (hd Select5808)) (let GoTo5803 (freeze (if (and (cons? Select5808) (and (cons? (tl Select5808)) (and (cons? (tl (tl Select5808))) (element? Select5807 (cons @p (cons @v (cons append (cons and (cons or (cons + (cons * (cons do ())))))))))))) (cons Select5807 (cons (hd Select5808) (cons (shen.process-assoc (cons Select5807 (tl Select5808))) ()))) (thaw GoTo5802))) (if (= shen.@ch Select5807) (if (cons? Select5808) (let Select5805 (hd Select5808) (let Select5806 (tl Select5808) (if (and (cons? Select5805) (and (cons? (tl Select5805)) (and (cons? (tl (tl Select5805))) (and (= () (tl (tl (tl Select5805)))) (and (= () Select5806) (= (hd (tl Select5805)) (intern ":"))))))) (shen.cons-form-respect-modes (cons - (cons (cons (hd Select5805) (cons (hd (tl Select5805)) (cons (cons + (tl (tl Select5805))) ()))) ()))) (if (= () Select5806) (shen.cons-form-respect-modes Select5805) (thaw GoTo5803))))) (thaw GoTo5803)) (thaw GoTo5803))))))))))))))))))))))))))))))) (thaw GoTo5802)))) +(defun shen.macros (V5842) (let GoTo5843 (freeze V5842) (if (cons? V5842) (let Select5848 (hd V5842) (let Select5849 (tl V5842) (if (and (= defmacro Select5848) (cons? Select5849)) (shen.process-def (hd Select5849) (tl Select5849)) (if (= defcc Select5848) (shen.yacc->shen Select5849) (if (and (= u! Select5848) (and (cons? Select5849) (= () (tl Select5849)))) (cons protect (cons (shen.make-uppercase (hd Select5849)) ())) (if (and (= error Select5848) (cons? Select5849)) (cons simple-error (cons (shen.mkstr (hd Select5849) (tl Select5849)) ())) (if (and (= output Select5848) (cons? Select5849)) (cons pr (cons (shen.mkstr (hd Select5849) (tl Select5849)) (cons (cons stoutput ()) ()))) (if (and (= pr Select5848) (and (cons? Select5849) (= () (tl Select5849)))) (cons pr (cons (hd Select5849) (cons (cons stoutput ()) ()))) (if (and (= make-string Select5848) (cons? Select5849)) (shen.mkstr (hd Select5849) (tl Select5849)) (if (and (= lineread Select5848) (= () Select5849)) (cons lineread (cons (cons stinput ()) ())) (if (and (= input Select5848) (= () Select5849)) (cons input (cons (cons stinput ()) ())) (if (and (= read Select5848) (= () Select5849)) (cons read (cons (cons stinput ()) ())) (if (and (= input+ Select5848) (cons? Select5849)) (shen.process-input+ V5842) (if (and (= read-byte Select5848) (= () Select5849)) (shen.process-read-byte) (if (= prolog? Select5848) (shen.call-prolog Select5849) (if (and (= defprolog Select5848) (cons? Select5849)) (shen.compile-prolog (hd Select5849) (tl Select5849)) (if (and (= datatype Select5848) (cons? Select5849)) (shen.process-datatype (hd Select5849) (tl Select5849)) (if (= @s Select5848) (shen.process-@s V5842) (if (= synonyms Select5848) (shen.process-synonyms Select5849) (if (and (= nl Select5848) (= () Select5849)) (cons nl (cons 1 ())) (if (= let Select5848) (shen.process-let V5842) (if (= /. Select5848) (shen.process-lambda V5842) (if (= cases Select5848) (shen.process-cases V5842) (if (and (= time Select5848) (and (cons? Select5849) (= () (tl Select5849)))) (shen.process-time (hd Select5849)) (if (and (= put Select5848) (and (cons? Select5849) (and (cons? (tl Select5849)) (and (cons? (tl (tl Select5849))) (= () (tl (tl (tl Select5849)))))))) (cons put (cons (hd Select5849) (cons (hd (tl Select5849)) (cons (hd (tl (tl Select5849))) (cons (cons value (cons *property-vector* ())) ()))))) (if (and (= get Select5848) (and (cons? Select5849) (and (cons? (tl Select5849)) (= () (tl (tl Select5849)))))) (cons get (cons (hd Select5849) (cons (hd (tl Select5849)) (cons (cons value (cons *property-vector* ())) ())))) (if (and (= unput Select5848) (and (cons? Select5849) (and (cons? (tl Select5849)) (= () (tl (tl Select5849)))))) (cons unput (cons (hd Select5849) (cons (hd (tl Select5849)) (cons (cons value (cons *property-vector* ())) ())))) (if (and (= shen.@c Select5848) (and (cons? Select5849) (= () (tl Select5849)))) (shen.rcons_form (hd Select5849)) (let GoTo5844 (freeze (if (and (cons? Select5849) (and (cons? (tl Select5849)) (and (cons? (tl (tl Select5849))) (element? Select5848 (cons @p (cons @v (cons append (cons and (cons or (cons + (cons * (cons do ())))))))))))) (cons Select5848 (cons (hd Select5849) (cons (shen.process-assoc (cons Select5848 (tl Select5849))) ()))) (thaw GoTo5843))) (if (= shen.@ch Select5848) (if (cons? Select5849) (let Select5846 (hd Select5849) (let Select5847 (tl Select5849) (if (and (cons? Select5846) (and (cons? (tl Select5846)) (and (cons? (tl (tl Select5846))) (and (= () (tl (tl (tl Select5846)))) (and (= () Select5847) (= (hd (tl Select5846)) (intern ":"))))))) (shen.cons-form-respect-modes (cons - (cons (cons (hd Select5846) (cons (hd (tl Select5846)) (cons (cons + (tl (tl Select5846))) ()))) ()))) (if (= () Select5847) (shen.cons-form-respect-modes Select5846) (thaw GoTo5844))))) (thaw GoTo5844)) (thaw GoTo5844))))))))))))))))))))))))))))))) (thaw GoTo5843)))) -(defun shen.process-input+ (V5809) (let GoTo5810 (freeze (simple-error "partial function shen.process-input+")) (if (cons? V5809) (let Select5815 (tl V5809) (if (= input+ (hd V5809)) (if (cons? Select5815) (let Select5813 (hd Select5815) (let Select5814 (tl Select5815) (if (= () Select5814) (cons shen.input-h+ (cons (shen.rcons_form Select5813) (cons (cons stinput ()) ()))) (if (and (cons? Select5814) (= () (tl Select5814))) (cons shen.input-h+ (cons (shen.rcons_form Select5813) Select5814)) (thaw GoTo5810))))) (thaw GoTo5810)) (thaw GoTo5810))) (thaw GoTo5810)))) +(defun shen.process-input+ (V5850) (let GoTo5851 (freeze (simple-error "partial function shen.process-input+")) (if (cons? V5850) (let Select5856 (tl V5850) (if (= input+ (hd V5850)) (if (cons? Select5856) (let Select5854 (hd Select5856) (let Select5855 (tl Select5856) (if (= () Select5855) (cons shen.input-h+ (cons (shen.rcons_form Select5854) (cons (cons stinput ()) ()))) (if (and (cons? Select5855) (= () (tl Select5855))) (cons shen.input-h+ (cons (shen.rcons_form Select5854) Select5855)) (thaw GoTo5851))))) (thaw GoTo5851)) (thaw GoTo5851))) (thaw GoTo5851)))) -(defun shen.cons-form-respect-modes (V5816) (let GoTo5817 (freeze V5816) (if (cons? V5816) (let Select5818 (hd V5816) (let Select5819 (tl V5816) (if (and (= + Select5818) (and (cons? Select5819) (= () (tl Select5819)))) (cons + (cons (shen.cons-form-respect-modes (hd Select5819)) ())) (if (and (= - Select5818) (and (cons? Select5819) (= () (tl Select5819)))) (cons - (cons (shen.cons-form-respect-modes (hd Select5819)) ())) (cons cons (cons (shen.cons-form-respect-modes Select5818) (cons (shen.cons-form-respect-modes Select5819) ()))))))) (thaw GoTo5817)))) +(defun shen.cons-form-respect-modes (V5857) (let GoTo5858 (freeze V5857) (if (cons? V5857) (let Select5859 (hd V5857) (let Select5860 (tl V5857) (if (and (= + Select5859) (and (cons? Select5860) (= () (tl Select5860)))) (cons + (cons (shen.cons-form-respect-modes (hd Select5860)) ())) (if (and (= - Select5859) (and (cons? Select5860) (= () (tl Select5860)))) (cons - (cons (shen.cons-form-respect-modes (hd Select5860)) ())) (cons cons (cons (shen.cons-form-respect-modes Select5859) (cons (shen.cons-form-respect-modes Select5860) ()))))))) (thaw GoTo5858)))) -(defun shen.process-def (V5820 V5821) (let W5822 (cons X (cons -> (cons X ()))) (let W5823 (eval (cons define (cons V5820 (append V5821 W5822)))) (let W5824 (shen.record-macro V5820 (fn V5820)) V5820)))) +(defun shen.process-def (V5861 V5862) (let W5863 (cons X (cons -> (cons X ()))) (let W5864 (eval (cons define (cons V5861 (append V5862 W5863)))) (let W5865 (shen.record-macro V5861 (fn V5861)) V5861)))) -(defun shen.process-let (V5825) (if (and (cons? V5825) (and (= let (hd V5825)) (and (cons? (tl V5825)) (and (cons? (tl (tl V5825))) (and (cons? (tl (tl (tl V5825)))) (cons? (tl (tl (tl (tl V5825)))))))))) (cons let (cons (hd (tl V5825)) (cons (hd (tl (tl V5825))) (cons (cons let (tl (tl (tl V5825)))) ())))) V5825)) +(defun shen.process-let (V5866) (if (and (cons? V5866) (and (= let (hd V5866)) (and (cons? (tl V5866)) (and (cons? (tl (tl V5866))) (and (cons? (tl (tl (tl V5866)))) (cons? (tl (tl (tl (tl V5866)))))))))) (cons let (cons (hd (tl V5866)) (cons (hd (tl (tl V5866))) (cons (cons let (tl (tl (tl V5866)))) ())))) V5866)) -(defun shen.process-@s (V5826) (let GoTo5828 (freeze V5826) (if (cons? V5826) (let Select5835 (tl V5826) (if (= @s (hd V5826)) (if (cons? Select5835) (let Select5833 (hd Select5835) (let Select5834 (tl Select5835) (if (cons? Select5834) (let Select5832 (tl Select5834) (if (cons? Select5832) (cons @s (cons Select5833 (cons (shen.process-@s (cons @s Select5834)) ()))) (if (and (= () Select5832) (string? Select5833)) (let W5827 (explode Select5833) (if (> (length W5827) 1) (shen.process-@s (cons @s (append W5827 Select5834))) V5826)) (thaw GoTo5828)))) (thaw GoTo5828)))) (thaw GoTo5828)) (thaw GoTo5828))) (thaw GoTo5828)))) +(defun shen.process-@s (V5867) (let GoTo5869 (freeze V5867) (if (cons? V5867) (let Select5876 (tl V5867) (if (= @s (hd V5867)) (if (cons? Select5876) (let Select5874 (hd Select5876) (let Select5875 (tl Select5876) (if (cons? Select5875) (let Select5873 (tl Select5875) (if (cons? Select5873) (cons @s (cons Select5874 (cons (shen.process-@s (cons @s Select5875)) ()))) (if (and (= () Select5873) (string? Select5874)) (let W5868 (explode Select5874) (if (> (length W5868) 1) (shen.process-@s (cons @s (append W5868 Select5875))) V5867)) (thaw GoTo5869)))) (thaw GoTo5869)))) (thaw GoTo5869)) (thaw GoTo5869))) (thaw GoTo5869)))) -(defun shen.process-datatype (V5836 V5837) (let W5838 (shen.intern-type V5836) (let W5839 (compile (lambda Z5840 (shen. Z5840)) (cons W5838 V5837)) W5838))) +(defun shen.process-datatype (V5877 V5878) (let W5879 (shen.intern-type V5877) (let W5880 (compile (lambda Z5881 (shen. Z5881)) (cons W5879 V5878)) W5879))) -(defun shen.intern-type (V5841) (intern (cn (str V5841) "#type"))) +(defun shen.intern-type (V5882) (intern (cn (str V5882) "#type"))) -(defun shen.process-synonyms (V5842) (shen.synonyms-h (set shen.*synonyms* (append V5842 (value shen.*synonyms*))))) +(defun shen.process-synonyms (V5883) (shen.synonyms-h (set shen.*synonyms* (append V5883 (value shen.*synonyms*))))) -(defun shen.synonyms-h (V5843) (let W5844 (map (lambda Z5845 (shen.curry-type Z5845)) V5843) (let W5846 (eval (cons define (cons shen.demod (shen.compile-synonyms W5844)))) synonyms))) +(defun shen.synonyms-h (V5884) (let W5885 (map (lambda Z5886 (shen.curry-type Z5886)) V5884) (let W5887 (eval (cons define (cons shen.demod (shen.compile-synonyms W5885)))) synonyms))) -(defun shen.compile-synonyms (V5849) (if (= () V5849) (let W5850 (gensym X) (cons W5850 (cons -> (cons W5850 ())))) (if (and (cons? V5849) (cons? (tl V5849))) (cons (shen.rcons_form (hd V5849)) (cons -> (cons (shen.rcons_form (hd (tl V5849))) (shen.compile-synonyms (tl (tl V5849)))))) (simple-error "synonyms requires an even number of arguments +(defun shen.compile-synonyms (V5890) (if (= () V5890) (let W5891 (gensym X) (cons W5891 (cons -> (cons W5891 ())))) (if (and (cons? V5890) (cons? (tl V5890))) (cons (shen.rcons_form (hd V5890)) (cons -> (cons (shen.rcons_form (hd (tl V5890))) (shen.compile-synonyms (tl (tl V5890)))))) (simple-error "synonyms requires an even number of arguments ")))) -(defun shen.process-lambda (V5851) (let GoTo5852 (freeze V5851) (if (cons? V5851) (let Select5859 (tl V5851) (if (= /. (hd V5851)) (if (cons? Select5859) (let Select5857 (hd Select5859) (let Select5858 (tl Select5859) (if (cons? Select5858) (let Select5856 (tl Select5858) (if (cons? Select5856) (cons lambda (cons Select5857 (cons (shen.process-lambda (cons /. Select5858)) ()))) (if (= () Select5856) (if (variable? Select5857) (cons lambda Select5859) (simple-error (shen.app Select5857 " is not a variable -" shen.s))) (thaw GoTo5852)))) (thaw GoTo5852)))) (thaw GoTo5852)) (thaw GoTo5852))) (thaw GoTo5852)))) +(defun shen.process-lambda (V5892) (let GoTo5893 (freeze V5892) (if (cons? V5892) (let Select5900 (tl V5892) (if (= /. (hd V5892)) (if (cons? Select5900) (let Select5898 (hd Select5900) (let Select5899 (tl Select5900) (if (cons? Select5899) (let Select5897 (tl Select5899) (if (cons? Select5897) (cons lambda (cons Select5898 (cons (shen.process-lambda (cons /. Select5899)) ()))) (if (= () Select5897) (if (variable? Select5898) (cons lambda Select5900) (simple-error (shen.app Select5898 " is not a variable +" shen.s))) (thaw GoTo5893)))) (thaw GoTo5893)))) (thaw GoTo5893)) (thaw GoTo5893))) (thaw GoTo5893)))) -(defun shen.process-cases (V5862) (let GoTo5863 (freeze V5862) (if (cons? V5862) (let Select5871 (tl V5862) (if (= cases (hd V5862)) (if (cons? Select5871) (let Select5869 (hd Select5871) (let Select5870 (tl Select5871) (if (and (= true Select5869) (cons? Select5870)) (hd Select5870) (let GoTo5866 (freeze (if (= () Select5870) (simple-error "error: odd number of case elements -") (thaw GoTo5863))) (if (cons? Select5870) (let Select5867 (hd Select5870) (let Select5868 (tl Select5870) (if (= () Select5868) (cons if (cons Select5869 (cons Select5867 (cons (cons simple-error (cons "error: cases exhausted" ())) ())))) (cons if (cons Select5869 (cons Select5867 (cons (shen.process-cases (cons cases Select5868)) ()))))))) (thaw GoTo5866)))))) (thaw GoTo5863)) (thaw GoTo5863))) (thaw GoTo5863)))) +(defun shen.process-cases (V5903) (let GoTo5904 (freeze V5903) (if (cons? V5903) (let Select5912 (tl V5903) (if (= cases (hd V5903)) (if (cons? Select5912) (let Select5910 (hd Select5912) (let Select5911 (tl Select5912) (if (and (= true Select5910) (cons? Select5911)) (hd Select5911) (let GoTo5907 (freeze (if (= () Select5911) (simple-error "error: odd number of case elements +") (thaw GoTo5904))) (if (cons? Select5911) (let Select5908 (hd Select5911) (let Select5909 (tl Select5911) (if (= () Select5909) (cons if (cons Select5910 (cons Select5908 (cons (cons simple-error (cons "error: cases exhausted" ())) ())))) (cons if (cons Select5910 (cons Select5908 (cons (shen.process-cases (cons cases Select5909)) ()))))))) (thaw GoTo5907)))))) (thaw GoTo5904)) (thaw GoTo5904))) (thaw GoTo5904)))) -(defun shen.process-time (V5872) (cons let (cons Start (cons (cons get-time (cons run ())) (cons Result (cons V5872 (cons Finish (cons (cons get-time (cons run ())) (cons Time (cons (cons - (cons Finish (cons Start ()))) (cons Message (cons (cons pr (cons (cons cn (cons " +(defun shen.process-time (V5913) (cons let (cons Start (cons (cons get-time (cons run ())) (cons Result (cons V5913 (cons Finish (cons (cons get-time (cons run ())) (cons Time (cons (cons - (cons Finish (cons Start ()))) (cons Message (cons (cons pr (cons (cons cn (cons " run time: " (cons (cons cn (cons (cons str (cons Time ())) (cons " secs " ()))) ()))) (cons (cons stoutput ()) ()))) (cons Result ()))))))))))))) -(defun shen.process-assoc (V5873) (if (and (cons? V5873) (and (cons? (tl V5873)) (and (cons? (tl (tl V5873))) (cons? (tl (tl (tl V5873))))))) (cons (hd V5873) (cons (hd (tl V5873)) (cons (cons (hd V5873) (tl (tl V5873))) ()))) V5873)) +(defun shen.process-assoc (V5914) (if (and (cons? V5914) (and (cons? (tl V5914)) (and (cons? (tl (tl V5914))) (cons? (tl (tl (tl V5914))))))) (cons (hd V5914) (cons (hd (tl V5914)) (cons (cons (hd V5914) (tl (tl V5914))) ()))) V5914)) -(defun shen.make-uppercase (V5874) (intern (shen.mu-h (str V5874)))) +(defun shen.make-uppercase (V5915) (intern (shen.mu-h (str V5915)))) -(defun shen.mu-h (V5875) (if (= "" V5875) "" (if (shen.+string? V5875) (let W5876 (string->n (hdstr V5875)) (let W5877 (- W5876 32) (let W5878 (if (and (>= W5876 97) (<= W5876 122)) (n->string W5877) (hdstr V5875)) (@s W5878 (shen.mu-h (tlstr V5875)))))) (simple-error "partial function shen.mu-h")))) +(defun shen.mu-h (V5916) (if (= "" V5916) "" (if (shen.+string? V5916) (let W5917 (string->n (hdstr V5916)) (let W5918 (- W5917 32) (let W5919 (if (and (>= W5917 97) (<= W5917 122)) (n->string W5918) (hdstr V5916)) (@s W5919 (shen.mu-h (tlstr V5916)))))) (simple-error "partial function shen.mu-h")))) -(defun shen.record-macro (V5879 V5880) (set *macros* (shen.update-assoc V5879 V5880 (value *macros*)))) +(defun shen.record-macro (V5920 V5921) (set *macros* (shen.update-assoc V5920 V5921 (value *macros*)))) -(defun shen.update-assoc (V5890 V5891 V5892) (if (= () V5892) (cons (cons V5890 V5891) ()) (let GoTo5893 (freeze (simple-error "implementation error in shen.update-assoc")) (if (cons? V5892) (let Select5894 (hd V5892) (let Select5895 (tl V5892) (if (and (cons? Select5894) (= V5890 (hd Select5894))) (cons (cons (hd Select5894) V5891) Select5895) (cons Select5894 (shen.update-assoc V5890 V5891 Select5895))))) (thaw GoTo5893))))) +(defun shen.update-assoc (V5931 V5932 V5933) (if (= () V5933) (cons (cons V5931 V5932) ()) (let GoTo5934 (freeze (simple-error "implementation error in shen.update-assoc")) (if (cons? V5933) (let Select5935 (hd V5933) (let Select5936 (tl V5933) (if (and (cons? Select5935) (= V5931 (hd Select5935))) (cons (cons (hd Select5935) V5932) Select5936) (cons Select5935 (shen.update-assoc V5931 V5932 Select5936))))) (thaw GoTo5934))))) (defun shen.process-read-byte () (if (shen.char-stinput? (stinput)) (cons string->n (cons (cons shen.read-unit-string (cons (cons stinput ()) ())) ())) (cons read-byte (cons (cons stinput ()) ())))) -(defun shen.call-prolog (V5896) (let W5897 (cons shen.prolog-vector ()) (let W5898 (cons @v (cons true (cons 0 (cons (cons vector (cons 0 ())) ())))) (let W5899 0 (let W5900 (cons freeze (cons true ())) (let W5901 (compile (lambda Z5902 (shen. Z5902)) V5896) (let W5903 (shen.received V5896) (let W5904 (gensym V) (let W5905 (gensym L) (let W5906 (gensym K) (let W5907 (gensym C) (let W5908 (cons lambda (cons W5904 (cons (cons lambda (cons W5905 (cons (cons lambda (cons W5906 (cons (cons lambda (cons W5907 (cons (shen.continue W5903 W5901 W5904 W5905 W5906 W5907) ()))) ()))) ()))) ()))) (cons W5908 (cons W5897 (cons W5898 (cons W5899 (cons W5900 ()))))))))))))))))) +(defun shen.call-prolog (V5937) (let W5938 (cons shen.prolog-vector ()) (let W5939 (cons @v (cons true (cons 0 (cons (cons vector (cons 0 ())) ())))) (let W5940 0 (let W5941 (cons freeze (cons true ())) (let W5942 (compile (lambda Z5943 (shen. Z5943)) V5937) (let W5944 (shen.received V5937) (let W5945 (gensym V) (let W5946 (gensym L) (let W5947 (gensym K) (let W5948 (gensym C) (let W5949 (cons lambda (cons W5945 (cons (cons lambda (cons W5946 (cons (cons lambda (cons W5947 (cons (cons lambda (cons W5948 (cons (shen.continue W5944 W5942 W5945 W5946 W5947 W5948) ()))) ()))) ()))) ()))) (cons W5949 (cons W5938 (cons W5939 (cons W5940 (cons W5941 ()))))))))))))))))) -(defun shen.received (V5911) (let GoTo5912 (freeze ()) (if (cons? V5911) (let Select5913 (hd V5911) (let Select5914 (tl V5911) (if (and (= receive Select5913) (and (cons? Select5914) (= () (tl Select5914)))) Select5914 (union (shen.received Select5913) (shen.received Select5914))))) (thaw GoTo5912)))) +(defun shen.received (V5952) (let GoTo5953 (freeze ()) (if (cons? V5952) (let Select5954 (hd V5952) (let Select5955 (tl V5952) (if (and (= receive Select5954) (and (cons? Select5955) (= () (tl Select5955)))) Select5955 (union (shen.received Select5954) (shen.received Select5955))))) (thaw GoTo5953)))) -(defun shen.prolog-vector () (let W5915 (absvector (value shen.*prolog-memory*)) (let W5916 (address-> W5915 0 shen.print-prolog-vector) (let W5917 (address-> W5915 1 2) W5917)))) +(defun shen.prolog-vector () (let W5956 (absvector (value shen.*prolog-memory*)) (let W5957 (address-> W5956 0 shen.print-prolog-vector) (let W5958 (address-> W5956 1 2) W5958)))) -(defun receive (V5918) V5918) +(defun receive (V5959) V5959) -(defun shen.rcons_form (V5919) (if (cons? V5919) (cons cons (cons (shen.rcons_form (hd V5919)) (cons (shen.rcons_form (tl V5919)) ()))) V5919)) +(defun shen.rcons_form (V5960) (if (cons? V5960) (cons cons (cons (shen.rcons_form (hd V5960)) (cons (shen.rcons_form (tl V5960)) ()))) V5960)) -(defun shen.tuple-up (V5920) (if (cons? V5920) (cons @p (cons (hd V5920) (cons (shen.tuple-up (tl V5920)) ()))) V5920)) +(defun shen.tuple-up (V5961) (if (cons? V5961) (cons @p (cons (hd V5961) (cons (shen.tuple-up (tl V5961)) ()))) V5961)) -(defun undefmacro (V5921) (do (set *macros* (remove (assoc V5921 (value *macros*)) (value *macros*))) V5921)) +(defun undefmacro (V5962) (do (set *macros* (remove (assoc V5962 (value *macros*)) (value *macros*))) V5962)) diff --git a/kernel/klambda/prolog.kl b/kernel/klambda/prolog.kl index 6ddc724..3658fc2 100644 --- a/kernel/klambda/prolog.kl +++ b/kernel/klambda/prolog.kl @@ -1,202 +1,202 @@ -(defun asserta (V1231) (shen.assert* V1231 shen.top)) +(defun asserta (V1245) (shen.assert* V1245 shen.top)) -(defun assertz (V1232) (shen.assert* V1232 shen.bottom)) +(defun assertz (V1246) (shen.assert* V1246 shen.bottom)) -(defun shen.assert* (V1233 V1234) (cond ((and (cons? V1233) (and (cons? (tl V1233)) (= <-- (hd (tl V1233))))) (let W1235 (shen.predicate (hd V1233)) (let W1236 (shen.terms (hd V1233)) (let W1237 (length W1236) (let W1238 (shen.parameters W1237) (let W1239 (arity W1235) (let W1240 (if (= W1239 -1) (do (eval (shen.create-skeleton W1235 W1238)) (put W1235 shen.dynamic () (value *property-vector*))) shen.skip) (let W1241 (shen.insert-info W1235 W1236 (tl (tl V1233)) V1233 V1234) W1235)))))))) (true (simple-error "partial function shen.assert*")))) +(defun shen.assert* (V1247 V1248) (cond ((and (cons? V1247) (and (cons? (tl V1247)) (= <-- (hd (tl V1247))))) (let W1249 (shen.predicate (hd V1247)) (let W1250 (shen.terms (hd V1247)) (let W1251 (length W1250) (let W1252 (shen.parameters W1251) (let W1253 (arity W1249) (let W1254 (if (= W1253 -1) (do (eval (shen.create-skeleton W1249 W1252)) (put W1249 shen.dynamic () (value *property-vector*))) shen.skip) (let W1255 (shen.insert-info W1249 W1250 (tl (tl V1247)) V1247 V1248) W1249)))))))) (true (simple-error "partial function shen.assert*")))) -(defun shen.predicate (V1244) (cond ((cons? V1244) (hd V1244)) (true V1244))) +(defun shen.predicate (V1258) (cond ((cons? V1258) (hd V1258)) (true V1258))) -(defun shen.terms (V1249) (cond ((cons? V1249) (tl V1249)) (true ()))) +(defun shen.terms (V1263) (cond ((cons? V1263) (tl V1263)) (true ()))) -(defun shen.create-skeleton (V1250 V1251) (cons defprolog (cons V1250 (shen.dynamic-default V1250 V1251)))) +(defun shen.create-skeleton (V1264 V1265) (cons defprolog (cons V1264 (shen.dynamic-default V1264 V1265)))) -(defun shen.dynamic-default (V1252 V1253) (append V1253 (cons <-- (cons (cons shen.call-dynamic (cons (shen.cons-form V1253) (cons (cons get (cons V1252 (cons shen.dynamic ()))) ()))) (cons (intern ";") ()))))) +(defun shen.dynamic-default (V1266 V1267) (append V1267 (cons <-- (cons (cons shen.call-dynamic (cons (shen.cons-form V1267) (cons (cons get (cons V1266 (cons shen.dynamic ()))) ()))) (cons (intern ";") ()))))) -(defun shen.insert-info (V1254 V1255 V1256 V1257 V1258) (let W1259 (gensym shen.g) (let W1260 (eval (append (cons defprolog (cons W1259 ())) (append V1255 (cons <-- V1256)))) (let W1261 (cons (fn W1259) (cons W1259 V1257)) (let W1262 (get V1254 shen.dynamic (value *property-vector*)) (let W1263 (if (= V1258 shen.top) (cons W1261 W1262) (append W1262 (cons W1261 ()))) (put V1254 shen.dynamic W1263 (value *property-vector*)))))))) +(defun shen.insert-info (V1268 V1269 V1270 V1271 V1272) (let W1273 (gensym shen.g) (let W1274 (eval (append (cons defprolog (cons W1273 ())) (append V1269 (cons <-- V1270)))) (let W1275 (cons (fn W1273) (cons W1273 V1271)) (let W1276 (get V1268 shen.dynamic (value *property-vector*)) (let W1277 (if (= V1272 shen.top) (cons W1275 W1276) (append W1276 (cons W1275 ()))) (put V1268 shen.dynamic W1277 (value *property-vector*)))))))) -(defun shen.newname () (let W1264 (value shen.*names*) (let W1265 (if (empty? W1264) (gensym shen.g) (do (set shen.*names* (tl W1264)) (hd W1264))) W1265))) +(defun shen.newname () (let W1278 (value shen.*names*) (let W1279 (if (empty? W1278) (gensym shen.g) (do (set shen.*names* (tl W1278)) (hd W1278))) W1279))) -(defun shen.call-dynamic (V1266 V1267 V1268 V1269 V1270 V1271) (let W1272 (if (shen.unlocked? V1269) (let W1273 (shen.lazyderef V1267 V1268) (if (cons? W1273) (let W1274 (shen.lazyderef (hd W1273) V1268) (if (cons? W1274) (let W1275 (hd W1274) (do (shen.incinfs) (shen.callrec W1275 V1266 V1268 V1269 V1270 V1271))) false)) false)) false) (if (= W1272 false) (if (shen.unlocked? V1269) (let W1276 (shen.lazyderef V1267 V1268) (if (cons? W1276) (let W1277 (tl W1276) (do (shen.incinfs) (shen.call-dynamic V1266 W1277 V1268 V1269 V1270 V1271))) false)) false) W1272))) +(defun shen.call-dynamic (V1280 V1281 V1282 V1283 V1284 V1285) (let W1286 (if (shen.unlocked? V1283) (let W1287 (shen.lazyderef V1281 V1282) (if (cons? W1287) (let W1288 (shen.lazyderef (hd W1287) V1282) (if (cons? W1288) (let W1289 (hd W1288) (do (shen.incinfs) (shen.callrec W1289 V1280 V1282 V1283 V1284 V1285))) false)) false)) false) (if (= W1286 false) (if (shen.unlocked? V1283) (let W1290 (shen.lazyderef V1281 V1282) (if (cons? W1290) (let W1291 (tl W1290) (do (shen.incinfs) (shen.call-dynamic V1280 W1291 V1282 V1283 V1284 V1285))) false)) false) W1286))) -(defun shen.callrec (V1278 V1279 V1280 V1281 V1282 V1283) (cond ((= () V1279) ((((V1278 V1280) V1281) V1282) V1283)) ((cons? V1279) (shen.callrec (V1278 (hd V1279)) (tl V1279) V1280 V1281 V1282 V1283)) (true (simple-error "partial function shen.callrec")))) +(defun shen.callrec (V1292 V1293 V1294 V1295 V1296 V1297) (cond ((= () V1293) ((((V1292 V1294) V1295) V1296) V1297)) ((cons? V1293) (shen.callrec (V1292 (hd V1293)) (tl V1293) V1294 V1295 V1296 V1297)) (true (simple-error "partial function shen.callrec")))) -(defun retract (V1284) (cond ((and (cons? V1284) (and (cons? (tl V1284)) (= <-- (hd (tl V1284))))) (let W1285 (shen.predicate (hd V1284)) (let W1286 (get W1285 shen.dynamic (value *property-vector*)) (put W1285 shen.dynamic (shen.retract-clause V1284 W1286) (value *property-vector*))))) (true (simple-error "partial function retract")))) +(defun retract (V1298) (cond ((and (cons? V1298) (and (cons? (tl V1298)) (= <-- (hd (tl V1298))))) (let W1299 (shen.predicate (hd V1298)) (let W1300 (get W1299 shen.dynamic (value *property-vector*)) (put W1299 shen.dynamic (shen.retract-clause V1298 W1300) (value *property-vector*))))) (true (simple-error "partial function retract")))) -(defun shen.retract-clause (V1292 V1293) (cond ((= () V1293) ()) ((and (cons? V1293) (and (cons? (hd V1293)) (and (cons? (tl (hd V1293))) (= V1292 (tl (tl (hd V1293))))))) (do (set shen.*names* (cons (hd (tl (hd V1293))) (value shen.*names*))) (tl V1293))) ((cons? V1293) (cons (hd V1293) (shen.retract-clause V1292 (tl V1293)))) (true (simple-error "partial function shen.retract-clause")))) +(defun shen.retract-clause (V1306 V1307) (cond ((= () V1307) ()) ((and (cons? V1307) (and (cons? (hd V1307)) (and (cons? (tl (hd V1307))) (= V1306 (tl (tl (hd V1307))))))) (do (set shen.*names* (cons (hd (tl (hd V1307))) (value shen.*names*))) (tl V1307))) ((cons? V1307) (cons (hd V1307) (shen.retract-clause V1306 (tl V1307)))) (true (simple-error "partial function shen.retract-clause")))) -(defun shen.compile-prolog (V1294 V1295) (compile (lambda Z1296 (shen. Z1296)) (cons V1294 V1295))) +(defun shen.compile-prolog (V1308 V1309) (compile (lambda Z1310 (shen. Z1310)) (cons V1308 V1309))) -(defun shen. (V1297) (let W1298 (if (cons? V1297) (let W1299 (head V1297) (let W1300 (tail V1297) (let W1301 (shen. W1300) (if (shen.parse-failure? W1301) (shen.parse-failure) (let W1302 (shen.<-out W1301) (let W1303 (shen.in-> W1301) (shen.comb W1303 (let W1304 (shen.prolog-arity-check W1299 W1302) (let W1305 (map (lambda Z1306 (shen.linearise-clause Z1306)) W1302) (shen.horn-clause-procedure W1299 W1305)))))))))) (shen.parse-failure)) (if (shen.parse-failure? W1298) (shen.parse-failure) W1298))) +(defun shen. (V1311) (let W1312 (if (cons? V1311) (let W1313 (head V1311) (let W1314 (tail V1311) (let W1315 (shen. W1314) (if (shen.parse-failure? W1315) (shen.parse-failure) (let W1316 (shen.<-out W1315) (let W1317 (shen.in-> W1315) (shen.comb W1317 (let W1318 (shen.prolog-arity-check W1313 W1316) (let W1319 (map (lambda Z1320 (shen.linearise-clause Z1320)) W1316) (shen.horn-clause-procedure W1313 W1319)))))))))) (shen.parse-failure)) (if (shen.parse-failure? W1312) (shen.parse-failure) W1312))) -(defun shen.prolog-arity-check (V1309 V1310) (cond ((and (cons? V1310) (and (cons? (hd V1310)) (and (cons? (tl (hd V1310))) (and (= () (tl (tl (hd V1310)))) (= () (tl V1310)))))) (length (hd (hd V1310)))) ((and (cons? V1310) (and (cons? (hd V1310)) (and (cons? (tl (hd V1310))) (= () (tl (tl (hd V1310))))))) (shen.pac-h V1309 (length (hd (hd V1310))) (tl V1310))) (true (simple-error "partial function shen.prolog-arity-check")))) +(defun shen.prolog-arity-check (V1323 V1324) (cond ((and (cons? V1324) (and (cons? (hd V1324)) (and (cons? (tl (hd V1324))) (and (= () (tl (tl (hd V1324)))) (= () (tl V1324)))))) (length (hd (hd V1324)))) ((and (cons? V1324) (and (cons? (hd V1324)) (and (cons? (tl (hd V1324))) (= () (tl (tl (hd V1324))))))) (shen.pac-h V1323 (length (hd (hd V1324))) (tl V1324))) (true (simple-error "partial function shen.prolog-arity-check")))) -(defun shen.pac-h (V1315 V1316 V1317) (cond ((= () V1317) V1316) ((and (cons? V1317) (cons? (hd V1317))) (if (= V1316 (length (hd (hd V1317)))) (shen.pac-h V1315 V1316 (tl V1317)) (simple-error (cn "arity error in prolog procedure " (shen.app V1315 " +(defun shen.pac-h (V1329 V1330 V1331) (cond ((= () V1331) V1330) ((and (cons? V1331) (cons? (hd V1331))) (if (= V1330 (length (hd (hd V1331)))) (shen.pac-h V1329 V1330 (tl V1331)) (simple-error (cn "arity error in prolog procedure " (shen.app V1329 " " shen.a))))) (true (simple-error "partial function shen.pac-h")))) -(defun shen. (V1318) (let W1319 (let W1320 (shen. V1318) (if (shen.parse-failure? W1320) (shen.parse-failure) (let W1321 (shen.<-out W1320) (let W1322 (shen.in-> W1320) (let W1323 (shen. W1322) (if (shen.parse-failure? W1323) (shen.parse-failure) (let W1324 (shen.<-out W1323) (let W1325 (shen.in-> W1323) (shen.comb W1325 (cons W1321 W1324)))))))))) (if (shen.parse-failure? W1319) (let W1326 (let W1327 ( V1318) (if (shen.parse-failure? W1327) (shen.parse-failure) (let W1328 (shen.<-out W1327) (let W1329 (shen.in-> W1327) (shen.comb W1329 (if (empty? W1328) () (simple-error (cn "Prolog syntax error here: - " (shen.app W1328 " - ..." shen.r))))))))) (if (shen.parse-failure? W1326) (shen.parse-failure) W1326)) W1319))) +(defun shen. (V1332) (let W1333 (let W1334 (shen. V1332) (if (shen.parse-failure? W1334) (shen.parse-failure) (let W1335 (shen.<-out W1334) (let W1336 (shen.in-> W1334) (let W1337 (shen. W1336) (if (shen.parse-failure? W1337) (shen.parse-failure) (let W1338 (shen.<-out W1337) (let W1339 (shen.in-> W1337) (shen.comb W1339 (cons W1335 W1338)))))))))) (if (shen.parse-failure? W1333) (let W1340 (let W1341 ( V1332) (if (shen.parse-failure? W1341) (shen.parse-failure) (let W1342 (shen.<-out W1341) (let W1343 (shen.in-> W1341) (shen.comb W1343 (if (empty? W1342) () (simple-error (cn "Prolog syntax error here: + " (shen.app W1342 " + ..." shen.r))))))))) (if (shen.parse-failure? W1340) (shen.parse-failure) W1340)) W1333))) -(defun shen.linearise-clause (V1330) (cond ((and (cons? V1330) (and (cons? (tl V1330)) (= () (tl (tl V1330))))) (shen.lch (shen.linearise (@p (hd V1330) (hd (tl V1330)))))) (true (simple-error "partial function shen.linearise-clause")))) +(defun shen.linearise-clause (V1344) (cond ((and (cons? V1344) (and (cons? (tl V1344)) (= () (tl (tl V1344))))) (shen.lch (shen.linearise (@p (hd V1344) (hd (tl V1344)))))) (true (simple-error "partial function shen.linearise-clause")))) -(defun shen.lch (V1331) (cond ((tuple? V1331) (cons (fst V1331) (cons (shen.lchh (snd V1331)) ()))) (true (simple-error "partial function shen.lch")))) +(defun shen.lch (V1345) (cond ((tuple? V1345) (cons (fst V1345) (cons (shen.lchh (snd V1345)) ()))) (true (simple-error "partial function shen.lch")))) -(defun shen.lchh (V1332) (cond ((and (cons? V1332) (and (= where (hd V1332)) (and (cons? (tl V1332)) (and (cons? (hd (tl V1332))) (and (= = (hd (hd (tl V1332)))) (and (cons? (tl (hd (tl V1332)))) (and (cons? (tl (tl (hd (tl V1332))))) (and (= () (tl (tl (tl (hd (tl V1332)))))) (and (cons? (tl (tl V1332))) (= () (tl (tl (tl V1332))))))))))))) (cons (cons (if (value shen.*occurs*) is! is) (tl (hd (tl V1332)))) (shen.lchh (hd (tl (tl V1332)))))) (true V1332))) +(defun shen.lchh (V1346) (cond ((and (cons? V1346) (and (= where (hd V1346)) (and (cons? (tl V1346)) (and (cons? (hd (tl V1346))) (and (= = (hd (hd (tl V1346)))) (and (cons? (tl (hd (tl V1346)))) (and (cons? (tl (tl (hd (tl V1346))))) (and (= () (tl (tl (tl (hd (tl V1346)))))) (and (cons? (tl (tl V1346))) (= () (tl (tl (tl V1346))))))))))))) (cons (cons (if (value shen.*occurs*) is! is) (tl (hd (tl V1346)))) (shen.lchh (hd (tl (tl V1346)))))) (true V1346))) -(defun shen. (V1333) (let W1334 (let W1335 (shen. V1333) (if (shen.parse-failure? W1335) (shen.parse-failure) (let W1336 (shen.<-out W1335) (let W1337 (shen.in-> W1335) (if (shen.hds=? W1337 <--) (let W1338 (tail W1337) (let W1339 (shen. W1338) (if (shen.parse-failure? W1339) (shen.parse-failure) (let W1340 (shen.<-out W1339) (let W1341 (shen.in-> W1339) (let W1342 (shen. W1341) (if (shen.parse-failure? W1342) (shen.parse-failure) (let W1343 (shen.in-> W1342) (shen.comb W1343 (cons W1336 (cons W1340 ()))))))))))) (shen.parse-failure)))))) (if (shen.parse-failure? W1334) (shen.parse-failure) W1334))) +(defun shen. (V1347) (let W1348 (let W1349 (shen. V1347) (if (shen.parse-failure? W1349) (shen.parse-failure) (let W1350 (shen.<-out W1349) (let W1351 (shen.in-> W1349) (if (shen.hds=? W1351 <--) (let W1352 (tail W1351) (let W1353 (shen. W1352) (if (shen.parse-failure? W1353) (shen.parse-failure) (let W1354 (shen.<-out W1353) (let W1355 (shen.in-> W1353) (let W1356 (shen. W1355) (if (shen.parse-failure? W1356) (shen.parse-failure) (let W1357 (shen.in-> W1356) (shen.comb W1357 (cons W1350 (cons W1354 ()))))))))))) (shen.parse-failure)))))) (if (shen.parse-failure? W1348) (shen.parse-failure) W1348))) -(defun shen. (V1344) (let W1345 (let W1346 (shen. V1344) (if (shen.parse-failure? W1346) (shen.parse-failure) (let W1347 (shen.<-out W1346) (let W1348 (shen.in-> W1346) (let W1349 (shen. W1348) (if (shen.parse-failure? W1349) (shen.parse-failure) (let W1350 (shen.<-out W1349) (let W1351 (shen.in-> W1349) (shen.comb W1351 (cons W1347 W1350)))))))))) (if (shen.parse-failure? W1345) (let W1352 (let W1353 ( V1344) (if (shen.parse-failure? W1353) (shen.parse-failure) (let W1354 (shen.in-> W1353) (shen.comb W1354 ())))) (if (shen.parse-failure? W1352) (shen.parse-failure) W1352)) W1345))) +(defun shen. (V1358) (let W1359 (let W1360 (shen. V1358) (if (shen.parse-failure? W1360) (shen.parse-failure) (let W1361 (shen.<-out W1360) (let W1362 (shen.in-> W1360) (let W1363 (shen. W1362) (if (shen.parse-failure? W1363) (shen.parse-failure) (let W1364 (shen.<-out W1363) (let W1365 (shen.in-> W1363) (shen.comb W1365 (cons W1361 W1364)))))))))) (if (shen.parse-failure? W1359) (let W1366 (let W1367 ( V1358) (if (shen.parse-failure? W1367) (shen.parse-failure) (let W1368 (shen.in-> W1367) (shen.comb W1368 ())))) (if (shen.parse-failure? W1366) (shen.parse-failure) W1366)) W1359))) -(defun shen. (V1355) (let W1356 (if (cons? V1355) (let W1357 (head V1355) (let W1358 (tail V1355) (if (and (atom? W1357) (not (shen.prolog-keyword? W1357))) (shen.comb W1358 W1357) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1356) (let W1359 (if (cons? V1355) (let W1360 (head V1355) (let W1361 (tail V1355) (if (= W1360 (intern ":")) (shen.comb W1361 W1360) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1359) (let W1362 (if (shen.ccons? V1355) (let W1363 (head V1355) (let W1364 (tail V1355) (if (shen.hds=? W1363 cons) (let W1365 (tail W1363) (let W1366 (shen. W1365) (if (shen.parse-failure? W1366) (shen.parse-failure) (let W1367 (shen.<-out W1366) (let W1368 (shen.in-> W1366) (let W1369 (shen. W1368) (if (shen.parse-failure? W1369) (shen.parse-failure) (let W1370 (shen.<-out W1369) (let W1371 (shen.in-> W1369) (let W1372 ( W1371) (if (shen.parse-failure? W1372) (shen.parse-failure) (let W1373 (shen.in-> W1372) (shen.comb W1364 (cons cons (cons W1367 (cons W1370 ())))))))))))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1362) (let W1374 (if (shen.ccons? V1355) (let W1375 (head V1355) (let W1376 (tail V1355) (if (shen.hds=? W1375 +) (let W1377 (tail W1375) (let W1378 (shen. W1377) (if (shen.parse-failure? W1378) (shen.parse-failure) (let W1379 (shen.<-out W1378) (let W1380 (shen.in-> W1378) (let W1381 ( W1380) (if (shen.parse-failure? W1381) (shen.parse-failure) (let W1382 (shen.in-> W1381) (shen.comb W1376 (cons shen.+m (cons W1379 ()))))))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1374) (let W1383 (if (shen.ccons? V1355) (let W1384 (head V1355) (let W1385 (tail V1355) (if (shen.hds=? W1384 -) (let W1386 (tail W1384) (let W1387 (shen. W1386) (if (shen.parse-failure? W1387) (shen.parse-failure) (let W1388 (shen.<-out W1387) (let W1389 (shen.in-> W1387) (let W1390 ( W1389) (if (shen.parse-failure? W1390) (shen.parse-failure) (let W1391 (shen.in-> W1390) (shen.comb W1385 (cons shen.-m (cons W1388 ()))))))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1383) (let W1392 (if (shen.ccons? V1355) (let W1393 (head V1355) (let W1394 (tail V1355) (if (shen.hds=? W1393 mode) (let W1395 (tail W1393) (let W1396 (shen. W1395) (if (shen.parse-failure? W1396) (shen.parse-failure) (let W1397 (shen.<-out W1396) (let W1398 (shen.in-> W1396) (if (shen.hds=? W1398 +) (let W1399 (tail W1398) (let W1400 ( W1399) (if (shen.parse-failure? W1400) (shen.parse-failure) (let W1401 (shen.in-> W1400) (shen.comb W1394 (cons shen.+m (cons W1397 ()))))))) (shen.parse-failure))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1392) (let W1402 (if (shen.ccons? V1355) (let W1403 (head V1355) (let W1404 (tail V1355) (if (shen.hds=? W1403 mode) (let W1405 (tail W1403) (let W1406 (shen. W1405) (if (shen.parse-failure? W1406) (shen.parse-failure) (let W1407 (shen.<-out W1406) (let W1408 (shen.in-> W1406) (if (shen.hds=? W1408 -) (let W1409 (tail W1408) (let W1410 ( W1409) (if (shen.parse-failure? W1410) (shen.parse-failure) (let W1411 (shen.in-> W1410) (shen.comb W1404 (cons shen.-m (cons W1407 ()))))))) (shen.parse-failure))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1402) (shen.parse-failure) W1402)) W1392)) W1383)) W1374)) W1362)) W1359)) W1356))) +(defun shen. (V1369) (let W1370 (if (cons? V1369) (let W1371 (head V1369) (let W1372 (tail V1369) (if (and (atom? W1371) (not (shen.prolog-keyword? W1371))) (shen.comb W1372 W1371) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1370) (let W1373 (if (cons? V1369) (let W1374 (head V1369) (let W1375 (tail V1369) (if (= W1374 (intern ":")) (shen.comb W1375 W1374) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1373) (let W1376 (if (shen.ccons? V1369) (let W1377 (head V1369) (let W1378 (tail V1369) (if (shen.hds=? W1377 cons) (let W1379 (tail W1377) (let W1380 (shen. W1379) (if (shen.parse-failure? W1380) (shen.parse-failure) (let W1381 (shen.<-out W1380) (let W1382 (shen.in-> W1380) (let W1383 (shen. W1382) (if (shen.parse-failure? W1383) (shen.parse-failure) (let W1384 (shen.<-out W1383) (let W1385 (shen.in-> W1383) (let W1386 ( W1385) (if (shen.parse-failure? W1386) (shen.parse-failure) (let W1387 (shen.in-> W1386) (shen.comb W1378 (cons cons (cons W1381 (cons W1384 ())))))))))))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1376) (let W1388 (if (shen.ccons? V1369) (let W1389 (head V1369) (let W1390 (tail V1369) (if (shen.hds=? W1389 +) (let W1391 (tail W1389) (let W1392 (shen. W1391) (if (shen.parse-failure? W1392) (shen.parse-failure) (let W1393 (shen.<-out W1392) (let W1394 (shen.in-> W1392) (let W1395 ( W1394) (if (shen.parse-failure? W1395) (shen.parse-failure) (let W1396 (shen.in-> W1395) (shen.comb W1390 (cons shen.+m (cons W1393 ()))))))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1388) (let W1397 (if (shen.ccons? V1369) (let W1398 (head V1369) (let W1399 (tail V1369) (if (shen.hds=? W1398 -) (let W1400 (tail W1398) (let W1401 (shen. W1400) (if (shen.parse-failure? W1401) (shen.parse-failure) (let W1402 (shen.<-out W1401) (let W1403 (shen.in-> W1401) (let W1404 ( W1403) (if (shen.parse-failure? W1404) (shen.parse-failure) (let W1405 (shen.in-> W1404) (shen.comb W1399 (cons shen.-m (cons W1402 ()))))))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1397) (let W1406 (if (shen.ccons? V1369) (let W1407 (head V1369) (let W1408 (tail V1369) (if (shen.hds=? W1407 mode) (let W1409 (tail W1407) (let W1410 (shen. W1409) (if (shen.parse-failure? W1410) (shen.parse-failure) (let W1411 (shen.<-out W1410) (let W1412 (shen.in-> W1410) (if (shen.hds=? W1412 +) (let W1413 (tail W1412) (let W1414 ( W1413) (if (shen.parse-failure? W1414) (shen.parse-failure) (let W1415 (shen.in-> W1414) (shen.comb W1408 (cons shen.+m (cons W1411 ()))))))) (shen.parse-failure))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1406) (let W1416 (if (shen.ccons? V1369) (let W1417 (head V1369) (let W1418 (tail V1369) (if (shen.hds=? W1417 mode) (let W1419 (tail W1417) (let W1420 (shen. W1419) (if (shen.parse-failure? W1420) (shen.parse-failure) (let W1421 (shen.<-out W1420) (let W1422 (shen.in-> W1420) (if (shen.hds=? W1422 -) (let W1423 (tail W1422) (let W1424 ( W1423) (if (shen.parse-failure? W1424) (shen.parse-failure) (let W1425 (shen.in-> W1424) (shen.comb W1418 (cons shen.-m (cons W1421 ()))))))) (shen.parse-failure))))))) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1416) (shen.parse-failure) W1416)) W1406)) W1397)) W1388)) W1376)) W1373)) W1370))) -(defun shen.prolog-keyword? (V1412) (element? V1412 (cons (intern ";") (cons <-- ())))) +(defun shen.prolog-keyword? (V1426) (element? V1426 (cons (intern ";") (cons <-- ())))) -(defun atom? (V1413) (or (symbol? V1413) (or (string? V1413) (or (boolean? V1413) (or (number? V1413) (empty? V1413)))))) +(defun atom? (V1427) (or (symbol? V1427) (or (string? V1427) (or (boolean? V1427) (or (number? V1427) (empty? V1427)))))) -(defun shen. (V1414) (let W1415 (let W1416 (shen. V1414) (if (shen.parse-failure? W1416) (shen.parse-failure) (let W1417 (shen.<-out W1416) (let W1418 (shen.in-> W1416) (shen.comb W1418 W1417))))) (if (shen.parse-failure? W1415) (shen.parse-failure) W1415))) +(defun shen. (V1428) (let W1429 (let W1430 (shen. V1428) (if (shen.parse-failure? W1430) (shen.parse-failure) (let W1431 (shen.<-out W1430) (let W1432 (shen.in-> W1430) (shen.comb W1432 W1431))))) (if (shen.parse-failure? W1429) (shen.parse-failure) W1429))) -(defun shen. (V1419) (let W1420 (let W1421 (shen. V1419) (if (shen.parse-failure? W1421) (shen.parse-failure) (let W1422 (shen.<-out W1421) (let W1423 (shen.in-> W1421) (shen.comb W1423 W1422))))) (if (shen.parse-failure? W1420) (shen.parse-failure) W1420))) +(defun shen. (V1433) (let W1434 (let W1435 (shen. V1433) (if (shen.parse-failure? W1435) (shen.parse-failure) (let W1436 (shen.<-out W1435) (let W1437 (shen.in-> W1435) (shen.comb W1437 W1436))))) (if (shen.parse-failure? W1434) (shen.parse-failure) W1434))) -(defun shen. (V1424) (let W1425 (let W1426 (shen. V1424) (if (shen.parse-failure? W1426) (shen.parse-failure) (let W1427 (shen.<-out W1426) (let W1428 (shen.in-> W1426) (let W1429 (shen. W1428) (if (shen.parse-failure? W1429) (shen.parse-failure) (let W1430 (shen.<-out W1429) (let W1431 (shen.in-> W1429) (shen.comb W1431 (cons W1427 W1430)))))))))) (if (shen.parse-failure? W1425) (let W1432 (let W1433 ( V1424) (if (shen.parse-failure? W1433) (shen.parse-failure) (let W1434 (shen.in-> W1433) (shen.comb W1434 ())))) (if (shen.parse-failure? W1432) (shen.parse-failure) W1432)) W1425))) +(defun shen. (V1438) (let W1439 (let W1440 (shen. V1438) (if (shen.parse-failure? W1440) (shen.parse-failure) (let W1441 (shen.<-out W1440) (let W1442 (shen.in-> W1440) (let W1443 (shen. W1442) (if (shen.parse-failure? W1443) (shen.parse-failure) (let W1444 (shen.<-out W1443) (let W1445 (shen.in-> W1443) (shen.comb W1445 (cons W1441 W1444)))))))))) (if (shen.parse-failure? W1439) (let W1446 (let W1447 ( V1438) (if (shen.parse-failure? W1447) (shen.parse-failure) (let W1448 (shen.in-> W1447) (shen.comb W1448 ())))) (if (shen.parse-failure? W1446) (shen.parse-failure) W1446)) W1439))) -(defun shen. (V1435) (let W1436 (if (shen.hds=? V1435 !) (let W1437 (tail V1435) (shen.comb W1437 !)) (shen.parse-failure)) (if (shen.parse-failure? W1436) (let W1438 (if (shen.ccons? V1435) (let W1439 (head V1435) (let W1440 (tail V1435) (let W1441 (shen. W1439) (if (shen.parse-failure? W1441) (shen.parse-failure) (let W1442 (shen.<-out W1441) (let W1443 (shen.in-> W1441) (let W1444 ( W1443) (if (shen.parse-failure? W1444) (shen.parse-failure) (let W1445 (shen.in-> W1444) (shen.comb W1440 W1442)))))))))) (shen.parse-failure)) (if (shen.parse-failure? W1438) (shen.parse-failure) W1438)) W1436))) +(defun shen. (V1449) (let W1450 (if (shen.hds=? V1449 !) (let W1451 (tail V1449) (shen.comb W1451 !)) (shen.parse-failure)) (if (shen.parse-failure? W1450) (let W1452 (if (shen.ccons? V1449) (let W1453 (head V1449) (let W1454 (tail V1449) (let W1455 (shen. W1453) (if (shen.parse-failure? W1455) (shen.parse-failure) (let W1456 (shen.<-out W1455) (let W1457 (shen.in-> W1455) (let W1458 ( W1457) (if (shen.parse-failure? W1458) (shen.parse-failure) (let W1459 (shen.in-> W1458) (shen.comb W1454 W1456)))))))))) (shen.parse-failure)) (if (shen.parse-failure? W1452) (shen.parse-failure) W1452)) W1450))) -(defun shen. (V1446) (let W1447 (let W1448 (shen. V1446) (if (shen.parse-failure? W1448) (shen.parse-failure) (let W1449 (shen.<-out W1448) (let W1450 (shen.in-> W1448) (let W1451 (shen. W1450) (if (shen.parse-failure? W1451) (shen.parse-failure) (let W1452 (shen.<-out W1451) (let W1453 (shen.in-> W1451) (shen.comb W1453 (cons W1449 W1452)))))))))) (if (shen.parse-failure? W1447) (let W1454 (let W1455 ( V1446) (if (shen.parse-failure? W1455) (shen.parse-failure) (let W1456 (shen.in-> W1455) (shen.comb W1456 ())))) (if (shen.parse-failure? W1454) (shen.parse-failure) W1454)) W1447))) +(defun shen. (V1460) (let W1461 (let W1462 (shen. V1460) (if (shen.parse-failure? W1462) (shen.parse-failure) (let W1463 (shen.<-out W1462) (let W1464 (shen.in-> W1462) (let W1465 (shen. W1464) (if (shen.parse-failure? W1465) (shen.parse-failure) (let W1466 (shen.<-out W1465) (let W1467 (shen.in-> W1465) (shen.comb W1467 (cons W1463 W1466)))))))))) (if (shen.parse-failure? W1461) (let W1468 (let W1469 ( V1460) (if (shen.parse-failure? W1469) (shen.parse-failure) (let W1470 (shen.in-> W1469) (shen.comb W1470 ())))) (if (shen.parse-failure? W1468) (shen.parse-failure) W1468)) W1461))) -(defun shen. (V1457) (let W1458 (let W1459 (shen. V1457) (if (shen.parse-failure? W1459) (shen.parse-failure) (let W1460 (shen.<-out W1459) (let W1461 (shen.in-> W1459) (shen.comb W1461 W1460))))) (if (shen.parse-failure? W1458) (let W1462 (if (cons? V1457) (let W1463 (head V1457) (let W1464 (tail V1457) (if (atom? W1463) (shen.comb W1464 W1463) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1462) (let W1465 (if (shen.ccons? V1457) (let W1466 (head V1457) (let W1467 (tail V1457) (let W1468 (shen. W1466) (if (shen.parse-failure? W1468) (shen.parse-failure) (let W1469 (shen.<-out W1468) (let W1470 (shen.in-> W1468) (let W1471 ( W1470) (if (shen.parse-failure? W1471) (shen.parse-failure) (let W1472 (shen.in-> W1471) (shen.comb W1467 W1469)))))))))) (shen.parse-failure)) (if (shen.parse-failure? W1465) (shen.parse-failure) W1465)) W1462)) W1458))) +(defun shen. (V1471) (let W1472 (let W1473 (shen. V1471) (if (shen.parse-failure? W1473) (shen.parse-failure) (let W1474 (shen.<-out W1473) (let W1475 (shen.in-> W1473) (shen.comb W1475 W1474))))) (if (shen.parse-failure? W1472) (let W1476 (if (cons? V1471) (let W1477 (head V1471) (let W1478 (tail V1471) (if (atom? W1477) (shen.comb W1478 W1477) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1476) (let W1479 (if (shen.ccons? V1471) (let W1480 (head V1471) (let W1481 (tail V1471) (let W1482 (shen. W1480) (if (shen.parse-failure? W1482) (shen.parse-failure) (let W1483 (shen.<-out W1482) (let W1484 (shen.in-> W1482) (let W1485 ( W1484) (if (shen.parse-failure? W1485) (shen.parse-failure) (let W1486 (shen.in-> W1485) (shen.comb W1481 W1483)))))))))) (shen.parse-failure)) (if (shen.parse-failure? W1479) (shen.parse-failure) W1479)) W1476)) W1472))) -(defun shen. (V1473) (let W1474 (if (cons? V1473) (let W1475 (head V1473) (let W1476 (tail V1473) (if (= W1475 _) (shen.comb W1476 (gensym Y)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1474) (shen.parse-failure) W1474))) +(defun shen. (V1487) (let W1488 (if (cons? V1487) (let W1489 (head V1487) (let W1490 (tail V1487) (if (= W1489 _) (shen.comb W1490 (gensym Y)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1488) (shen.parse-failure) W1488))) -(defun shen. (V1477) (let W1478 (if (cons? V1477) (let W1479 (head V1477) (let W1480 (tail V1477) (if (shen.semicolon? W1479) (shen.comb W1480 W1479) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1478) (shen.parse-failure) W1478))) +(defun shen. (V1491) (let W1492 (if (cons? V1491) (let W1493 (head V1491) (let W1494 (tail V1491) (if (shen.semicolon? W1493) (shen.comb W1494 W1493) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W1492) (shen.parse-failure) W1492))) -(defun shen.horn-clause-procedure (V1481 V1482) (let W1483 (gensym B) (let W1484 (gensym L) (let W1485 (gensym K) (let W1486 (gensym C) (let W1487 (shen.prolog-parameters V1482) (let W1488 (shen.hascut? V1482) (let W1489 (shen.prolog-fbody V1482 W1487 W1483 W1484 W1485 W1486 W1488) (let W1490 (if W1488 (cons let (cons W1485 (cons (cons + (cons W1485 (cons 1 ()))) (cons W1489 ())))) W1489) (let W1491 (cons define (cons V1481 (append W1487 (append (cons W1483 (cons W1484 (cons W1485 (cons W1486 (cons -> ()))))) (cons W1490 ()))))) W1491)))))))))) +(defun shen.horn-clause-procedure (V1495 V1496) (let W1497 (gensym B) (let W1498 (gensym L) (let W1499 (gensym K) (let W1500 (gensym C) (let W1501 (shen.prolog-parameters V1496) (let W1502 (shen.hascut? V1496) (let W1503 (shen.prolog-fbody V1496 W1501 W1497 W1498 W1499 W1500 W1502) (let W1504 (if W1502 (cons let (cons W1499 (cons (cons + (cons W1499 (cons 1 ()))) (cons W1503 ())))) W1503) (let W1505 (cons define (cons V1495 (append W1501 (append (cons W1497 (cons W1498 (cons W1499 (cons W1500 (cons -> ()))))) (cons W1504 ()))))) W1505)))))))))) -(defun shen.hascut? (V1494) (cond ((= ! V1494) true) ((cons? V1494) (or (shen.hascut? (hd V1494)) (shen.hascut? (tl V1494)))) (true false))) +(defun shen.hascut? (V1508) (cond ((= ! V1508) true) ((cons? V1508) (or (shen.hascut? (hd V1508)) (shen.hascut? (tl V1508)))) (true false))) -(defun shen.prolog-parameters (V1499) (cond ((and (cons? V1499) (cons? (hd V1499))) (shen.parameters (length (hd (hd V1499))))) (true (simple-error "partial function shen.prolog-parameters")))) +(defun shen.prolog-parameters (V1513) (cond ((and (cons? V1513) (cons? (hd V1513))) (shen.parameters (length (hd (hd V1513))))) (true (simple-error "partial function shen.prolog-parameters")))) -(defun shen.prolog-fbody (V1520 V1521 V1522 V1523 V1524 V1525 V1526) (cond ((and (= () V1520) (= true V1526)) (cons shen.unlock (cons V1523 (cons V1524 ())))) ((and (cons? V1520) (and (cons? (hd V1520)) (and (cons? (tl (hd V1520))) (and (= () (tl (tl (hd V1520)))) (and (= () (tl V1520)) (= false V1526)))))) (let W1527 (shen.continue (hd (hd V1520)) (hd (tl (hd V1520))) V1522 V1523 V1524 V1525) (cons if (cons (cons shen.unlocked? (cons V1523 ())) (cons (shen.compile-head shen.+m (hd (hd V1520)) V1521 V1522 W1527) (cons false ())))))) ((and (cons? V1520) (and (cons? (hd V1520)) (and (cons? (tl (hd V1520))) (= () (tl (tl (hd V1520))))))) (let W1528 (gensym C) (let W1529 (shen.continue (hd (hd V1520)) (hd (tl (hd V1520))) V1522 V1523 V1524 V1525) (cons let (cons W1528 (cons (cons if (cons (cons shen.unlocked? (cons V1523 ())) (cons (shen.compile-head shen.+m (hd (hd V1520)) V1521 V1522 W1529) (cons false ())))) (cons (cons if (cons (cons = (cons W1528 (cons false ()))) (cons (shen.prolog-fbody (tl V1520) V1521 V1522 V1523 V1524 V1525 V1526) (cons W1528 ())))) ()))))))) (true (simple-error "implementation error in shen.prolog-fbody")))) +(defun shen.prolog-fbody (V1534 V1535 V1536 V1537 V1538 V1539 V1540) (cond ((and (= () V1534) (= true V1540)) (cons shen.unlock (cons V1537 (cons V1538 ())))) ((and (cons? V1534) (and (cons? (hd V1534)) (and (cons? (tl (hd V1534))) (and (= () (tl (tl (hd V1534)))) (and (= () (tl V1534)) (= false V1540)))))) (let W1541 (shen.continue (hd (hd V1534)) (hd (tl (hd V1534))) V1536 V1537 V1538 V1539) (cons if (cons (cons shen.unlocked? (cons V1537 ())) (cons (shen.compile-head shen.+m (hd (hd V1534)) V1535 V1536 W1541) (cons false ())))))) ((and (cons? V1534) (and (cons? (hd V1534)) (and (cons? (tl (hd V1534))) (= () (tl (tl (hd V1534))))))) (let W1542 (gensym C) (let W1543 (shen.continue (hd (hd V1534)) (hd (tl (hd V1534))) V1536 V1537 V1538 V1539) (cons let (cons W1542 (cons (cons if (cons (cons shen.unlocked? (cons V1537 ())) (cons (shen.compile-head shen.+m (hd (hd V1534)) V1535 V1536 W1543) (cons false ())))) (cons (cons if (cons (cons = (cons W1542 (cons false ()))) (cons (shen.prolog-fbody (tl V1534) V1535 V1536 V1537 V1538 V1539 V1540) (cons W1542 ())))) ()))))))) (true (simple-error "implementation error in shen.prolog-fbody")))) -(defun shen.unlock (V1530 V1531) (if (and (shen.locked? V1530) (shen.fits? V1531 V1530)) (shen.openlock V1530) false)) +(defun shen.unlock (V1544 V1545) (if (and (shen.locked? V1544) (shen.fits? V1545 V1544)) (shen.openlock V1544) false)) -(defun shen.locked? (V1532) (not (shen.unlocked? V1532))) +(defun shen.locked? (V1546) (not (shen.unlocked? V1546))) -(defun shen.unlocked? (V1533) (<-address V1533 1)) +(defun shen.unlocked? (V1547) (<-address V1547 1)) -(defun shen.openlock (V1534) (do (address-> V1534 1 true) false)) +(defun shen.openlock (V1548) (do (address-> V1548 1 true) false)) -(defun shen.fits? (V1535 V1536) (= V1535 (<-address V1536 2))) +(defun shen.fits? (V1549 V1550) (= V1549 (<-address V1550 2))) -(defun shen.cut (V1539 V1540 V1541 V1542) (let W1543 (thaw V1542) (if (and (= W1543 false) (shen.unlocked? V1540)) (shen.lock V1541 V1540) W1543))) +(defun shen.cut (V1553 V1554 V1555 V1556) (let W1557 (thaw V1556) (if (and (= W1557 false) (shen.unlocked? V1554)) (shen.lock V1555 V1554) W1557))) -(defun shen.lock (V1544 V1545) (let W1546 (address-> V1545 1 false) (let W1547 (address-> V1545 2 V1544) false))) +(defun shen.lock (V1558 V1559) (let W1560 (address-> V1559 1 false) (let W1561 (address-> V1559 2 V1558) false))) -(defun shen.continue (V1548 V1549 V1550 V1551 V1552 V1553) (let W1554 (shen.extract-vars V1548) (let W1555 (shen.extract-free-vars V1549) (let W1556 (difference W1555 W1554) (let W1557 (cons do (cons (cons shen.incinfs ()) (cons (shen.compile-body V1549 V1550 V1551 V1552 V1553) ()))) (shen.stpart W1556 W1557 V1550)))))) +(defun shen.continue (V1562 V1563 V1564 V1565 V1566 V1567) (let W1568 (shen.extract-vars V1562) (let W1569 (shen.extract-free-vars V1563) (let W1570 (difference W1569 W1568) (let W1571 (cons do (cons (cons shen.incinfs ()) (cons (shen.compile-body V1563 V1564 V1565 V1566 V1567) ()))) (shen.stpart W1570 W1571 V1564)))))) -(defun shen.extract-free-vars (V1560) (cond ((and (cons? V1560) (and (= lambda (hd V1560)) (and (cons? (tl V1560)) (and (cons? (tl (tl V1560))) (= () (tl (tl (tl V1560)))))))) (remove (hd (tl V1560)) (shen.extract-free-vars (hd (tl (tl V1560)))))) ((cons? V1560) (union (shen.extract-free-vars (hd V1560)) (shen.extract-free-vars (tl V1560)))) ((variable? V1560) (cons V1560 ())) (true ()))) +(defun shen.extract-free-vars (V1574) (cond ((and (cons? V1574) (and (= lambda (hd V1574)) (and (cons? (tl V1574)) (and (cons? (tl (tl V1574))) (= () (tl (tl (tl V1574)))))))) (remove (hd (tl V1574)) (shen.extract-free-vars (hd (tl (tl V1574)))))) ((cons? V1574) (union (shen.extract-free-vars (hd V1574)) (shen.extract-free-vars (tl V1574)))) ((variable? V1574) (cons V1574 ())) (true ()))) -(defun shen.compile-body (V1577 V1578 V1579 V1580 V1581) (cond ((= () V1577) (cons thaw (cons V1581 ()))) ((and (cons? V1577) (= ! (hd V1577))) (shen.compile-body (cons (cons shen.cut ()) (tl V1577)) V1578 V1579 V1580 V1581)) ((and (cons? V1577) (= () (tl V1577))) (append (shen.deref-calls (hd V1577) V1578) (cons V1578 (cons V1579 (cons V1580 (cons V1581 ())))))) ((cons? V1577) (let W1582 (shen.deref-calls (hd V1577) V1578) (append W1582 (cons V1578 (cons V1579 (cons V1580 (cons (shen.freeze-literals (tl V1577) V1578 V1579 V1580 V1581) ()))))))) (true (simple-error "implementation error in shen.compile-fbody")))) +(defun shen.compile-body (V1591 V1592 V1593 V1594 V1595) (cond ((= () V1591) (cons thaw (cons V1595 ()))) ((and (cons? V1591) (= ! (hd V1591))) (shen.compile-body (cons (cons shen.cut ()) (tl V1591)) V1592 V1593 V1594 V1595)) ((and (cons? V1591) (= () (tl V1591))) (append (shen.deref-calls (hd V1591) V1592) (cons V1592 (cons V1593 (cons V1594 (cons V1595 ())))))) ((cons? V1591) (let W1596 (shen.deref-calls (hd V1591) V1592) (append W1596 (cons V1592 (cons V1593 (cons V1594 (cons (shen.freeze-literals (tl V1591) V1592 V1593 V1594 V1595) ()))))))) (true (simple-error "implementation error in shen.compile-fbody")))) -(defun shen.freeze-literals (V1599 V1600 V1601 V1602 V1603) (cond ((= () V1599) V1603) ((and (cons? V1599) (= ! (hd V1599))) (shen.freeze-literals (cons (cons shen.cut ()) (tl V1599)) V1600 V1601 V1602 V1603)) ((cons? V1599) (let W1604 (shen.deref-calls (hd V1599) V1600) (cons freeze (cons (append W1604 (cons V1600 (cons V1601 (cons V1602 (cons (shen.freeze-literals (tl V1599) V1600 V1601 V1602 V1603) ()))))) ())))) (true (simple-error "implementation error in shen.freeze-literals")))) +(defun shen.freeze-literals (V1613 V1614 V1615 V1616 V1617) (cond ((= () V1613) V1617) ((and (cons? V1613) (= ! (hd V1613))) (shen.freeze-literals (cons (cons shen.cut ()) (tl V1613)) V1614 V1615 V1616 V1617)) ((cons? V1613) (let W1618 (shen.deref-calls (hd V1613) V1614) (cons freeze (cons (append W1618 (cons V1614 (cons V1615 (cons V1616 (cons (shen.freeze-literals (tl V1613) V1614 V1615 V1616 V1617) ()))))) ())))) (true (simple-error "implementation error in shen.freeze-literals")))) -(defun shen.deref-calls (V1609 V1610) (cond ((and (cons? V1609) (= fork (hd V1609))) (cons fork (cons (shen.deref-forked-literals (tl V1609) V1610) ()))) ((cons? V1609) (cons (hd V1609) (map (lambda Z1611 (shen.function-calls Z1611 V1610)) (tl V1609)))) (true (simple-error "implementation error in shen.deref-calls")))) +(defun shen.deref-calls (V1623 V1624) (cond ((and (cons? V1623) (= fork (hd V1623))) (cons fork (cons (shen.deref-forked-literals (tl V1623) V1624) ()))) ((cons? V1623) (cons (hd V1623) (map (lambda Z1625 (shen.function-calls Z1625 V1624)) (tl V1623)))) (true (simple-error "implementation error in shen.deref-calls")))) -(defun shen.deref-forked-literals (V1618 V1619) (cond ((= () V1618) ()) ((cons? V1618) (cons cons (cons (shen.deref-calls (hd V1618) V1619) (cons (shen.deref-forked-literals (tl V1618) V1619) ())))) (true (simple-error "fork requires a list of literals +(defun shen.deref-forked-literals (V1632 V1633) (cond ((= () V1632) ()) ((cons? V1632) (cons cons (cons (shen.deref-calls (hd V1632) V1633) (cons (shen.deref-forked-literals (tl V1632) V1633) ())))) (true (simple-error "fork requires a list of literals ")))) -(defun shen.function-calls (V1622 V1623) (cond ((and (cons? V1622) (and (= cons (hd V1622)) (and (cons? (tl V1622)) (and (cons? (tl (tl V1622))) (= () (tl (tl (tl V1622)))))))) (cons cons (cons (shen.function-calls (hd (tl V1622)) V1623) (cons (shen.function-calls (hd (tl (tl V1622))) V1623) ())))) ((cons? V1622) (shen.deref-terms V1622 V1623 ())) (true V1622))) +(defun shen.function-calls (V1636 V1637) (cond ((and (cons? V1636) (and (= cons (hd V1636)) (and (cons? (tl V1636)) (and (cons? (tl (tl V1636))) (= () (tl (tl (tl V1636)))))))) (cons cons (cons (shen.function-calls (hd (tl V1636)) V1637) (cons (shen.function-calls (hd (tl (tl V1636))) V1637) ())))) ((cons? V1636) (shen.deref-terms V1636 V1637 ())) (true V1636))) -(defun shen.deref-terms (V1632 V1633 V1634) (cond ((and (cons? V1632) (and (= 0 (hd V1632)) (and (cons? (tl V1632)) (= () (tl (tl V1632)))))) (if (variable? (hd (tl V1632))) (hd (tl V1632)) (simple-error (cn "attempt to optimise a non-variable " (shen.app (hd (tl V1632)) " -" shen.s))))) ((and (cons? V1632) (and (= 1 (hd V1632)) (and (cons? (tl V1632)) (= () (tl (tl V1632)))))) (if (variable? (hd (tl V1632))) (cons shen.lazyderef (cons (hd (tl V1632)) (cons V1633 ()))) (simple-error (cn "attempt to optimise a non-variable " (shen.app (hd (tl V1632)) " -" shen.s))))) ((and (not (element? V1632 V1634)) (variable? V1632)) (cons shen.deref (cons V1632 (cons V1633 ())))) ((and (cons? V1632) (and (= lambda (hd V1632)) (and (cons? (tl V1632)) (and (cons? (tl (tl V1632))) (= () (tl (tl (tl V1632)))))))) (cons lambda (cons (hd (tl V1632)) (cons (shen.deref-terms (hd (tl (tl V1632))) V1633 (cons (hd (tl V1632)) V1634)) ())))) ((cons? V1632) (map (lambda Z1635 (shen.deref-terms Z1635 V1633 V1634)) V1632)) (true V1632))) +(defun shen.deref-terms (V1646 V1647 V1648) (cond ((and (cons? V1646) (and (= 0 (hd V1646)) (and (cons? (tl V1646)) (= () (tl (tl V1646)))))) (if (variable? (hd (tl V1646))) (hd (tl V1646)) (simple-error (cn "attempt to optimise a non-variable " (shen.app (hd (tl V1646)) " +" shen.s))))) ((and (cons? V1646) (and (= 1 (hd V1646)) (and (cons? (tl V1646)) (= () (tl (tl V1646)))))) (if (variable? (hd (tl V1646))) (cons shen.lazyderef (cons (hd (tl V1646)) (cons V1647 ()))) (simple-error (cn "attempt to optimise a non-variable " (shen.app (hd (tl V1646)) " +" shen.s))))) ((and (not (element? V1646 V1648)) (variable? V1646)) (cons shen.deref (cons V1646 (cons V1647 ())))) ((and (cons? V1646) (and (= lambda (hd V1646)) (and (cons? (tl V1646)) (and (cons? (tl (tl V1646))) (= () (tl (tl (tl V1646)))))))) (cons lambda (cons (hd (tl V1646)) (cons (shen.deref-terms (hd (tl (tl V1646))) V1647 (cons (hd (tl V1646)) V1648)) ())))) ((cons? V1646) (map (lambda Z1649 (shen.deref-terms Z1649 V1647 V1648)) V1646)) (true V1646))) -(defun shen.compile-head (V1653 V1654 V1655 V1656 V1657) (cond ((and (= () V1654) (= () V1655)) V1657) ((and (cons? V1654) (and (cons? (hd V1654)) (and (= shen.+m (hd (hd V1654))) (and (cons? (tl (hd V1654))) (= () (tl (tl (hd V1654)))))))) (shen.compile-head V1653 (cons shen.+m (cons (hd (tl (hd V1654))) (cons V1653 (tl V1654)))) V1655 V1656 V1657)) ((and (cons? V1654) (and (cons? (hd V1654)) (and (= shen.-m (hd (hd V1654))) (and (cons? (tl (hd V1654))) (= () (tl (tl (hd V1654)))))))) (shen.compile-head V1653 (cons shen.-m (cons (hd (tl (hd V1654))) (cons V1653 (tl V1654)))) V1655 V1656 V1657)) ((and (cons? V1654) (= shen.-m (hd V1654))) (shen.compile-head shen.-m (tl V1654) V1655 V1656 V1657)) ((and (cons? V1654) (= shen.+m (hd V1654))) (shen.compile-head shen.+m (tl V1654) V1655 V1656 V1657)) ((and (cons? V1654) (and (cons? V1655) (shen.wildcard? (hd V1654)))) (shen.compile-head V1653 (tl V1654) (tl V1655) V1656 V1657)) ((and (cons? V1654) (variable? (hd V1654))) (shen.variable-case V1653 V1654 V1655 V1656 V1657)) ((and (= shen.-m V1653) (and (cons? V1654) (atom? (hd V1654)))) (shen.atom-case-minus V1654 V1655 V1656 V1657)) ((and (= shen.-m V1653) (and (cons? V1654) (and (cons? (hd V1654)) (and (= cons (hd (hd V1654))) (and (cons? (tl (hd V1654))) (and (cons? (tl (tl (hd V1654)))) (= () (tl (tl (tl (hd V1654))))))))))) (shen.cons-case-minus V1654 V1655 V1656 V1657)) ((and (= shen.+m V1653) (and (cons? V1654) (atom? (hd V1654)))) (shen.atom-case-plus V1654 V1655 V1656 V1657)) ((and (= shen.+m V1653) (and (cons? V1654) (and (cons? (hd V1654)) (and (= cons (hd (hd V1654))) (and (cons? (tl (hd V1654))) (and (cons? (tl (tl (hd V1654)))) (= () (tl (tl (tl (hd V1654))))))))))) (shen.cons-case-plus V1654 V1655 V1656 V1657)) (true (simple-error "implementation error in shen.compile-head")))) +(defun shen.compile-head (V1667 V1668 V1669 V1670 V1671) (cond ((and (= () V1668) (= () V1669)) V1671) ((and (cons? V1668) (and (cons? (hd V1668)) (and (= shen.+m (hd (hd V1668))) (and (cons? (tl (hd V1668))) (= () (tl (tl (hd V1668)))))))) (shen.compile-head V1667 (cons shen.+m (cons (hd (tl (hd V1668))) (cons V1667 (tl V1668)))) V1669 V1670 V1671)) ((and (cons? V1668) (and (cons? (hd V1668)) (and (= shen.-m (hd (hd V1668))) (and (cons? (tl (hd V1668))) (= () (tl (tl (hd V1668)))))))) (shen.compile-head V1667 (cons shen.-m (cons (hd (tl (hd V1668))) (cons V1667 (tl V1668)))) V1669 V1670 V1671)) ((and (cons? V1668) (= shen.-m (hd V1668))) (shen.compile-head shen.-m (tl V1668) V1669 V1670 V1671)) ((and (cons? V1668) (= shen.+m (hd V1668))) (shen.compile-head shen.+m (tl V1668) V1669 V1670 V1671)) ((and (cons? V1668) (and (cons? V1669) (shen.wildcard? (hd V1668)))) (shen.compile-head V1667 (tl V1668) (tl V1669) V1670 V1671)) ((and (cons? V1668) (variable? (hd V1668))) (shen.variable-case V1667 V1668 V1669 V1670 V1671)) ((and (= shen.-m V1667) (and (cons? V1668) (atom? (hd V1668)))) (shen.atom-case-minus V1668 V1669 V1670 V1671)) ((and (= shen.-m V1667) (and (cons? V1668) (and (cons? (hd V1668)) (and (= cons (hd (hd V1668))) (and (cons? (tl (hd V1668))) (and (cons? (tl (tl (hd V1668)))) (= () (tl (tl (tl (hd V1668))))))))))) (shen.cons-case-minus V1668 V1669 V1670 V1671)) ((and (= shen.+m V1667) (and (cons? V1668) (atom? (hd V1668)))) (shen.atom-case-plus V1668 V1669 V1670 V1671)) ((and (= shen.+m V1667) (and (cons? V1668) (and (cons? (hd V1668)) (and (= cons (hd (hd V1668))) (and (cons? (tl (hd V1668))) (and (cons? (tl (tl (hd V1668)))) (= () (tl (tl (tl (hd V1668))))))))))) (shen.cons-case-plus V1668 V1669 V1670 V1671)) (true (simple-error "implementation error in shen.compile-head")))) -(defun shen.variable-case (V1668 V1669 V1670 V1671 V1672) (cond ((and (cons? V1669) (cons? V1670)) (if (variable? (hd V1670)) (shen.compile-head V1668 (tl V1669) (tl V1670) V1671 (subst (hd V1670) (hd V1669) V1672)) (cons let (cons (hd V1669) (cons (hd V1670) (cons (shen.compile-head V1668 (tl V1669) (tl V1670) V1671 V1672) ())))))) (true (simple-error "implementation error in shen.variable-case")))) +(defun shen.variable-case (V1682 V1683 V1684 V1685 V1686) (cond ((and (cons? V1683) (cons? V1684)) (if (variable? (hd V1684)) (shen.compile-head V1682 (tl V1683) (tl V1684) V1685 (subst (hd V1684) (hd V1683) V1686)) (cons let (cons (hd V1683) (cons (hd V1684) (cons (shen.compile-head V1682 (tl V1683) (tl V1684) V1685 V1686) ())))))) (true (simple-error "implementation error in shen.variable-case")))) -(defun shen.atom-case-minus (V1681 V1682 V1683 V1684) (cond ((and (cons? V1681) (cons? V1682)) (let W1685 (gensym Tm) (cons let (cons W1685 (cons (cons shen.lazyderef (cons (hd V1682) (cons V1683 ()))) (cons (cons if (cons (cons = (cons W1685 (cons (hd V1681) ()))) (cons (shen.compile-head shen.-m (tl V1681) (tl V1682) V1683 V1684) (cons false ())))) ())))))) (true (simple-error "implementation error in shen.atom-case-minus")))) +(defun shen.atom-case-minus (V1695 V1696 V1697 V1698) (cond ((and (cons? V1695) (cons? V1696)) (let W1699 (gensym Tm) (cons let (cons W1699 (cons (cons shen.lazyderef (cons (hd V1696) (cons V1697 ()))) (cons (cons if (cons (cons = (cons W1699 (cons (hd V1695) ()))) (cons (shen.compile-head shen.-m (tl V1695) (tl V1696) V1697 V1698) (cons false ())))) ())))))) (true (simple-error "implementation error in shen.atom-case-minus")))) -(defun shen.cons-case-minus (V1694 V1695 V1696 V1697) (cond ((and (cons? V1694) (and (cons? (hd V1694)) (and (= cons (hd (hd V1694))) (and (cons? (tl (hd V1694))) (and (cons? (tl (tl (hd V1694)))) (and (= () (tl (tl (tl (hd V1694))))) (cons? V1695))))))) (let W1698 (gensym Tm) (cons let (cons W1698 (cons (cons shen.lazyderef (cons (hd V1695) (cons V1696 ()))) (cons (cons if (cons (cons cons? (cons W1698 ())) (cons (shen.compile-head shen.-m (cons (hd (tl (hd V1694))) (cons (hd (tl (tl (hd V1694)))) (tl V1694))) (cons (cons hd (cons W1698 ())) (cons (cons tl (cons W1698 ())) (tl V1695))) V1696 V1697) (cons false ())))) ())))))) (true (simple-error "implementation error in shen.cons-case-minus")))) +(defun shen.cons-case-minus (V1708 V1709 V1710 V1711) (cond ((and (cons? V1708) (and (cons? (hd V1708)) (and (= cons (hd (hd V1708))) (and (cons? (tl (hd V1708))) (and (cons? (tl (tl (hd V1708)))) (and (= () (tl (tl (tl (hd V1708))))) (cons? V1709))))))) (let W1712 (gensym Tm) (cons let (cons W1712 (cons (cons shen.lazyderef (cons (hd V1709) (cons V1710 ()))) (cons (cons if (cons (cons cons? (cons W1712 ())) (cons (shen.compile-head shen.-m (cons (hd (tl (hd V1708))) (cons (hd (tl (tl (hd V1708)))) (tl V1708))) (cons (cons hd (cons W1712 ())) (cons (cons tl (cons W1712 ())) (tl V1709))) V1710 V1711) (cons false ())))) ())))))) (true (simple-error "implementation error in shen.cons-case-minus")))) -(defun shen.atom-case-plus (V1707 V1708 V1709 V1710) (cond ((and (cons? V1707) (cons? V1708)) (let W1711 (gensym Tm) (let W1712 (gensym GoTo) (cons let (cons W1711 (cons (cons shen.lazyderef (cons (hd V1708) (cons V1709 ()))) (cons W1712 (cons (cons freeze (cons (shen.compile-head shen.+m (tl V1707) (tl V1708) V1709 V1710) ())) (cons (cons if (cons (cons = (cons W1711 (cons (hd V1707) ()))) (cons (cons thaw (cons W1712 ())) (cons (cons if (cons (cons shen.pvar? (cons W1711 ())) (cons (cons shen.bind! (cons W1711 (cons (shen.demode (hd V1707)) (cons V1709 (cons W1712 ()))))) (cons false ())))) ())))) ()))))))))) (true (simple-error "implementation error in shen.atom-case-plus")))) +(defun shen.atom-case-plus (V1721 V1722 V1723 V1724) (cond ((and (cons? V1721) (cons? V1722)) (let W1725 (gensym Tm) (let W1726 (gensym GoTo) (cons let (cons W1725 (cons (cons shen.lazyderef (cons (hd V1722) (cons V1723 ()))) (cons W1726 (cons (cons freeze (cons (shen.compile-head shen.+m (tl V1721) (tl V1722) V1723 V1724) ())) (cons (cons if (cons (cons = (cons W1725 (cons (hd V1721) ()))) (cons (cons thaw (cons W1726 ())) (cons (cons if (cons (cons shen.pvar? (cons W1725 ())) (cons (cons shen.bind! (cons W1725 (cons (shen.demode (hd V1721)) (cons V1723 (cons W1726 ()))))) (cons false ())))) ())))) ()))))))))) (true (simple-error "implementation error in shen.atom-case-plus")))) -(defun shen.cons-case-plus (V1721 V1722 V1723 V1724) (cond ((and (cons? V1721) (and (cons? (hd V1721)) (and (= cons (hd (hd V1721))) (and (cons? (tl (hd V1721))) (and (cons? (tl (tl (hd V1721)))) (and (= () (tl (tl (tl (hd V1721))))) (cons? V1722))))))) (let W1725 (gensym Tm) (let W1726 (gensym GoTo) (let W1727 (shen.extract-vars (cons (hd (tl (hd V1721))) (hd (tl (tl (hd V1721)))))) (let W1728 (shen.tame (hd V1721)) (let W1729 (shen.extract-vars W1728) (cons let (cons W1725 (cons (cons shen.lazyderef (cons (hd V1722) (cons V1723 ()))) (cons W1726 (cons (shen.goto W1727 (shen.compile-head shen.+m (tl V1721) (tl V1722) V1723 V1724)) (cons (cons if (cons (cons cons? (cons W1725 ())) (cons (shen.compile-head shen.+m (tl (hd V1721)) (cons (cons hd (cons W1725 ())) (cons (cons tl (cons W1725 ())) ())) V1723 (shen.invoke W1726 W1727)) (cons (cons if (cons (cons shen.pvar? (cons W1725 ())) (cons (shen.stpart W1729 (cons shen.bind! (cons W1725 (cons (shen.demode W1728) (cons V1723 (cons (cons freeze (cons (shen.invoke W1726 W1727) ())) ()))))) V1723) (cons false ())))) ())))) ())))))))))))) (true (simple-error "implementation error in shen.cons-case-plus")))) +(defun shen.cons-case-plus (V1735 V1736 V1737 V1738) (cond ((and (cons? V1735) (and (cons? (hd V1735)) (and (= cons (hd (hd V1735))) (and (cons? (tl (hd V1735))) (and (cons? (tl (tl (hd V1735)))) (and (= () (tl (tl (tl (hd V1735))))) (cons? V1736))))))) (let W1739 (gensym Tm) (let W1740 (gensym GoTo) (let W1741 (shen.extract-vars (cons (hd (tl (hd V1735))) (hd (tl (tl (hd V1735)))))) (let W1742 (shen.tame (hd V1735)) (let W1743 (shen.extract-vars W1742) (cons let (cons W1739 (cons (cons shen.lazyderef (cons (hd V1736) (cons V1737 ()))) (cons W1740 (cons (shen.goto W1741 (shen.compile-head shen.+m (tl V1735) (tl V1736) V1737 V1738)) (cons (cons if (cons (cons cons? (cons W1739 ())) (cons (shen.compile-head shen.+m (tl (hd V1735)) (cons (cons hd (cons W1739 ())) (cons (cons tl (cons W1739 ())) ())) V1737 (shen.invoke W1740 W1741)) (cons (cons if (cons (cons shen.pvar? (cons W1739 ())) (cons (shen.stpart W1743 (cons shen.bind! (cons W1739 (cons (shen.demode W1742) (cons V1737 (cons (cons freeze (cons (shen.invoke W1740 W1741) ())) ()))))) V1737) (cons false ())))) ())))) ())))))))))))) (true (simple-error "implementation error in shen.cons-case-plus")))) -(defun shen.demode (V1730) (cond ((and (cons? V1730) (and (= shen.+m (hd V1730)) (and (cons? (tl V1730)) (= () (tl (tl V1730)))))) (shen.demode (hd (tl V1730)))) ((and (cons? V1730) (and (= shen.-m (hd V1730)) (and (cons? (tl V1730)) (= () (tl (tl V1730)))))) (shen.demode (hd (tl V1730)))) ((cons? V1730) (map (lambda Z1731 (shen.demode Z1731)) V1730)) (true V1730))) +(defun shen.demode (V1744) (cond ((and (cons? V1744) (and (= shen.+m (hd V1744)) (and (cons? (tl V1744)) (= () (tl (tl V1744)))))) (shen.demode (hd (tl V1744)))) ((and (cons? V1744) (and (= shen.-m (hd V1744)) (and (cons? (tl V1744)) (= () (tl (tl V1744)))))) (shen.demode (hd (tl V1744)))) ((cons? V1744) (map (lambda Z1745 (shen.demode Z1745)) V1744)) (true V1744))) -(defun shen.tame (V1732) (cond ((shen.wildcard? V1732) (gensym Y)) ((cons? V1732) (map (lambda Z1733 (shen.tame Z1733)) V1732)) (true V1732))) +(defun shen.tame (V1746) (cond ((shen.wildcard? V1746) (gensym Y)) ((cons? V1746) (map (lambda Z1747 (shen.tame Z1747)) V1746)) (true V1746))) -(defun shen.goto (V1734 V1735) (cond ((= () V1734) (cons freeze (cons V1735 ()))) (true (shen.goto-h V1734 V1735)))) +(defun shen.goto (V1748 V1749) (cond ((= () V1748) (cons freeze (cons V1749 ()))) (true (shen.goto-h V1748 V1749)))) -(defun shen.goto-h (V1736 V1737) (cond ((= () V1736) V1737) ((cons? V1736) (cons lambda (cons (hd V1736) (cons (shen.goto-h (tl V1736) V1737) ())))) (true (simple-error "partial function shen.goto-h")))) +(defun shen.goto-h (V1750 V1751) (cond ((= () V1750) V1751) ((cons? V1750) (cons lambda (cons (hd V1750) (cons (shen.goto-h (tl V1750) V1751) ())))) (true (simple-error "partial function shen.goto-h")))) -(defun shen.invoke (V1738 V1739) (cond ((= () V1739) (cons thaw (cons V1738 ()))) (true (cons V1738 V1739)))) +(defun shen.invoke (V1752 V1753) (cond ((= () V1753) (cons thaw (cons V1752 ()))) (true (cons V1752 V1753)))) -(defun shen.wildcard? (V1740) (= V1740 _)) +(defun shen.wildcard? (V1754) (= V1754 _)) -(defun shen.pvar? (V1741) (trap-error (and (absvector? V1741) (= (<-address V1741 0) shen.pvar)) (lambda Z1742 false))) +(defun shen.pvar? (V1755) (trap-error (and (absvector? V1755) (= (<-address V1755 0) shen.pvar)) (lambda Z1756 false))) -(defun shen.lazyderef (V1743 V1744) (if (shen.pvar? V1743) (let W1745 (<-address V1744 (<-address V1743 1)) (if (= W1745 shen.-null-) V1743 (shen.lazyderef W1745 V1744))) V1743)) +(defun shen.lazyderef (V1757 V1758) (if (shen.pvar? V1757) (let W1759 (<-address V1758 (<-address V1757 1)) (if (= W1759 shen.-null-) V1757 (shen.lazyderef W1759 V1758))) V1757)) -(defun shen.deref (V1746 V1747) (cond ((cons? V1746) (cons (shen.deref (hd V1746) V1747) (shen.deref (tl V1746) V1747))) (true (if (shen.pvar? V1746) (let W1748 (<-address V1747 (<-address V1746 1)) (if (= W1748 shen.-null-) V1746 (shen.deref W1748 V1747))) V1746)))) +(defun shen.deref (V1760 V1761) (cond ((cons? V1760) (cons (shen.deref (hd V1760) V1761) (shen.deref (tl V1760) V1761))) (true (if (shen.pvar? V1760) (let W1762 (<-address V1761 (<-address V1760 1)) (if (= W1762 shen.-null-) V1760 (shen.deref W1762 V1761))) V1760)))) -(defun shen.bind! (V1749 V1750 V1751 V1752) (let W1753 (shen.bindv V1749 V1750 V1751) (let W1754 (thaw V1752) (if (= W1754 false) (shen.unwind V1749 V1751 W1754) W1754)))) +(defun shen.bind! (V1763 V1764 V1765 V1766) (let W1767 (shen.bindv V1763 V1764 V1765) (let W1768 (thaw V1766) (if (= W1768 false) (shen.unwind V1763 V1765 W1768) W1768)))) -(defun shen.bindv (V1755 V1756 V1757) (address-> V1757 (<-address V1755 1) V1756)) +(defun shen.bindv (V1769 V1770 V1771) (address-> V1771 (<-address V1769 1) V1770)) -(defun shen.unwind (V1758 V1759 V1760) (do (address-> V1759 (<-address V1758 1) shen.-null-) V1760)) +(defun shen.unwind (V1772 V1773 V1774) (do (address-> V1773 (<-address V1772 1) shen.-null-) V1774)) -(defun shen.stpart (V1769 V1770 V1771) (cond ((= () V1769) V1770) ((cons? V1769) (cons let (cons (hd V1769) (cons (cons shen.newpv (cons V1771 ())) (cons (cons shen.gc (cons V1771 (cons (shen.stpart (tl V1769) V1770 V1771) ()))) ()))))) (true (simple-error "implementation error in shen.stpart")))) +(defun shen.stpart (V1783 V1784 V1785) (cond ((= () V1783) V1784) ((cons? V1783) (cons let (cons (hd V1783) (cons (cons shen.newpv (cons V1785 ())) (cons (cons shen.gc (cons V1785 (cons (shen.stpart (tl V1783) V1784 V1785) ()))) ()))))) (true (simple-error "implementation error in shen.stpart")))) -(defun shen.gc (V1772 V1773) (if (= V1773 false) (let W1774 (shen.ticket-number V1772) (do (shen.decrement-ticket W1774 V1772) V1773)) V1773)) +(defun shen.gc (V1786 V1787) (if (= V1787 false) (let W1788 (shen.ticket-number V1786) (do (shen.decrement-ticket W1788 V1786) V1787)) V1787)) -(defun shen.decrement-ticket (V1775 V1776) (address-> V1776 1 (- V1775 1))) +(defun shen.decrement-ticket (V1789 V1790) (address-> V1790 1 (- V1789 1))) -(defun shen.newpv (V1777) (let W1778 (shen.ticket-number V1777) (let W1779 (shen.make-prolog-variable W1778) (let W1780 (shen.nextticket V1777 W1778) W1779)))) +(defun shen.newpv (V1791) (let W1792 (shen.ticket-number V1791) (let W1793 (shen.make-prolog-variable W1792) (let W1794 (shen.nextticket V1791 W1792) W1793)))) -(defun shen.ticket-number (V1781) (<-address V1781 1)) +(defun shen.ticket-number (V1795) (<-address V1795 1)) -(defun shen.nextticket (V1782 V1783) (let W1784 (address-> V1782 V1783 shen.-null-) (address-> W1784 1 (+ V1783 1)))) +(defun shen.nextticket (V1796 V1797) (let W1798 (address-> V1796 V1797 shen.-null-) (address-> W1798 1 (+ V1797 1)))) -(defun shen.make-prolog-variable (V1785) (address-> (address-> (absvector 2) 0 shen.pvar) 1 V1785)) +(defun shen.make-prolog-variable (V1799) (address-> (address-> (absvector 2) 0 shen.pvar) 1 V1799)) -(defun shen.pvar (V1786) (cn "Var" (shen.app (<-address V1786 1) "" shen.a))) +(defun shen.pvar (V1800) (cn "Var" (shen.app (<-address V1800 1) "" shen.a))) (defun shen.incinfs () (set shen.*infs* (+ 1 (value shen.*infs*)))) -(defun shen.prolog-vector-size (V1787) (if (and (integer? V1787) (> V1787 0)) (set shen.*size-prolog-vector* V1787) (simple-error (cn "prolog vector size: size should be a positive integer; not " (shen.app V1787 "" shen.a))))) +(defun shen.prolog-vector-size (V1801) (if (and (integer? V1801) (> V1801 0)) (set shen.*size-prolog-vector* V1801) (simple-error (cn "prolog vector size: size should be a positive integer; not " (shen.app V1801 "" shen.a))))) -(defun shen.lzy=! (V1799 V1800 V1801 V1802) (cond ((= V1799 V1800) (thaw V1802)) ((and (shen.pvar? V1799) (not (shen.occurs-check? V1799 (shen.deref V1800 V1801)))) (shen.bind! V1799 V1800 V1801 V1802)) ((and (shen.pvar? V1800) (not (shen.occurs-check? V1800 (shen.deref V1799 V1801)))) (shen.bind! V1800 V1799 V1801 V1802)) ((and (cons? V1799) (cons? V1800)) (shen.lzy=! (shen.lazyderef (hd V1799) V1801) (shen.lazyderef (hd V1800) V1801) V1801 (freeze (shen.lzy=! (shen.lazyderef (tl V1799) V1801) (shen.lazyderef (tl V1800) V1801) V1801 V1802)))) (true false))) +(defun shen.lzy=! (V1813 V1814 V1815 V1816) (cond ((= V1813 V1814) (thaw V1816)) ((and (shen.pvar? V1813) (not (shen.occurs-check? V1813 (shen.deref V1814 V1815)))) (shen.bind! V1813 V1814 V1815 V1816)) ((and (shen.pvar? V1814) (not (shen.occurs-check? V1814 (shen.deref V1813 V1815)))) (shen.bind! V1814 V1813 V1815 V1816)) ((and (cons? V1813) (cons? V1814)) (shen.lzy=! (shen.lazyderef (hd V1813) V1815) (shen.lazyderef (hd V1814) V1815) V1815 (freeze (shen.lzy=! (shen.lazyderef (tl V1813) V1815) (shen.lazyderef (tl V1814) V1815) V1815 V1816)))) (true false))) -(defun shen.lzy= (V1814 V1815 V1816 V1817) (cond ((= V1814 V1815) (thaw V1817)) ((shen.pvar? V1814) (shen.bind! V1814 V1815 V1816 V1817)) ((shen.pvar? V1815) (shen.bind! V1815 V1814 V1816 V1817)) ((and (cons? V1814) (cons? V1815)) (shen.lzy= (shen.lazyderef (hd V1814) V1816) (shen.lazyderef (hd V1815) V1816) V1816 (freeze (shen.lzy= (shen.lazyderef (tl V1814) V1816) (shen.lazyderef (tl V1815) V1816) V1816 V1817)))) (true false))) +(defun shen.lzy= (V1828 V1829 V1830 V1831) (cond ((= V1828 V1829) (thaw V1831)) ((shen.pvar? V1828) (shen.bind! V1828 V1829 V1830 V1831)) ((shen.pvar? V1829) (shen.bind! V1829 V1828 V1830 V1831)) ((and (cons? V1828) (cons? V1829)) (shen.lzy= (shen.lazyderef (hd V1828) V1830) (shen.lazyderef (hd V1829) V1830) V1830 (freeze (shen.lzy= (shen.lazyderef (tl V1828) V1830) (shen.lazyderef (tl V1829) V1830) V1830 V1831)))) (true false))) -(defun shen.occurs-check? (V1823 V1824) (cond ((= V1823 V1824) true) ((cons? V1824) (or (shen.occurs-check? V1823 (hd V1824)) (shen.occurs-check? V1823 (tl V1824)))) (true false))) +(defun shen.occurs-check? (V1837 V1838) (cond ((= V1837 V1838) true) ((cons? V1838) (or (shen.occurs-check? V1837 (hd V1838)) (shen.occurs-check? V1837 (tl V1838)))) (true false))) -(defun call (V1825 V1826 V1827 V1828 V1829) ((((V1825 V1826) V1827) V1828) V1829)) +(defun call (V1839 V1840 V1841 V1842 V1843) ((((V1839 V1840) V1841) V1842) V1843)) -(defun return (V1836 V1837 V1838 V1839 V1840) (shen.deref V1836 V1837)) +(defun return (V1850 V1851 V1852 V1853 V1854) (shen.deref V1850 V1851)) -(defun when (V1847 V1848 V1849 V1850 V1851) (if V1847 (thaw V1851) false)) +(defun when (V1861 V1862 V1863 V1864 V1865) (if V1861 (thaw V1865) false)) -(defun is (V1852 V1853 V1854 V1855 V1856 V1857) (shen.lzy= (shen.lazyderef V1852 V1854) (shen.lazyderef V1853 V1854) V1854 V1857)) +(defun is (V1866 V1867 V1868 V1869 V1870 V1871) (shen.lzy= (shen.lazyderef V1866 V1868) (shen.lazyderef V1867 V1868) V1868 V1871)) -(defun is! (V1858 V1859 V1860 V1861 V1862 V1863) (shen.lzy=! (shen.lazyderef V1858 V1860) (shen.lazyderef V1859 V1860) V1860 V1863)) +(defun is! (V1872 V1873 V1874 V1875 V1876 V1877) (shen.lzy=! (shen.lazyderef V1872 V1874) (shen.lazyderef V1873 V1874) V1874 V1877)) -(defun bind (V1868 V1869 V1870 V1871 V1872 V1873) (shen.bind! V1868 V1869 V1870 V1873)) +(defun bind (V1882 V1883 V1884 V1885 V1886 V1887) (shen.bind! V1882 V1883 V1884 V1887)) -(defun var? (V1874 V1875 V1876 V1877 V1878) (if (shen.pvar? (shen.lazyderef V1874 V1875)) (thaw V1878) false)) +(defun var? (V1888 V1889 V1890 V1891 V1892) (if (shen.pvar? (shen.lazyderef V1888 V1889)) (thaw V1892) false)) -(defun shen.print-prolog-vector (V1881) "|prolog vector|") +(defun shen.print-prolog-vector (V1895) "|prolog vector|") -(defun fork (V1900 V1901 V1902 V1903 V1904) (cond ((= () V1900) false) ((cons? V1900) (let W1905 (((((hd V1900) V1901) V1902) V1903) V1904) (if (= W1905 false) (fork (tl V1900) V1901 V1902 V1903 V1904) W1905))) (true (simple-error "fork expects a list of literals +(defun fork (V1914 V1915 V1916 V1917 V1918) (cond ((= () V1914) false) ((cons? V1914) (let W1919 (((((hd V1914) V1915) V1916) V1917) V1918) (if (= W1919 false) (fork (tl V1914) V1915 V1916 V1917 V1918) W1919))) (true (simple-error "fork expects a list of literals ")))) -(defun findall (V1906 V1907 V1908 V1909 V1910 V1911 V1912) (if (shen.unlocked? V1910) (let W1913 (shen.newpv V1909) (shen.gc V1909 (do (shen.incinfs) (is W1913 () V1909 V1910 V1911 (freeze (shen.findall-h V1906 V1907 V1908 W1913 V1909 V1910 V1911 V1912)))))) false)) +(defun findall (V1920 V1921 V1922 V1923 V1924 V1925 V1926) (if (shen.unlocked? V1924) (let W1927 (shen.newpv V1923) (shen.gc V1923 (do (shen.incinfs) (is W1927 () V1923 V1924 V1925 (freeze (shen.findall-h V1920 V1921 V1922 W1927 V1923 V1924 V1925 V1926)))))) false)) -(defun shen.findall-h (V1914 V1915 V1916 V1917 V1918 V1919 V1920 V1921) (let W1922 (if (shen.unlocked? V1919) (do (shen.incinfs) (call V1915 V1918 V1919 V1920 (freeze (shen.overbind V1914 V1917 V1918 V1919 V1920 V1921)))) false) (if (= W1922 false) (if (shen.unlocked? V1919) (do (shen.incinfs) (is! V1916 V1917 V1918 V1919 V1920 V1921)) false) W1922))) +(defun shen.findall-h (V1928 V1929 V1930 V1931 V1932 V1933 V1934 V1935) (let W1936 (if (shen.unlocked? V1933) (do (shen.incinfs) (call V1929 V1932 V1933 V1934 (freeze (shen.overbind V1928 V1931 V1932 V1933 V1934 V1935)))) false) (if (= W1936 false) (if (shen.unlocked? V1933) (do (shen.incinfs) (is! V1930 V1931 V1932 V1933 V1934 V1935)) false) W1936))) -(defun shen.overbind (V1929 V1930 V1931 V1932 V1933 V1934) (do (shen.bindv V1930 (cons (shen.deref V1929 V1931) (shen.lazyderef V1930 V1931)) V1931) false)) +(defun shen.overbind (V1943 V1944 V1945 V1946 V1947 V1948) (do (shen.bindv V1944 (cons (shen.deref V1943 V1945) (shen.lazyderef V1944 V1945)) V1945) false)) -(defun occurs-check (V1937) (cond ((= + V1937) (set shen.*occurs* true)) ((= - V1937) (set shen.*occurs* false)) (true (simple-error "occurs-check expects a + or a -. +(defun occurs-check (V1951) (cond ((= + V1951) (set shen.*occurs* true)) ((= - V1951) (set shen.*occurs* false)) (true (simple-error "occurs-check expects a + or a -. ")))) diff --git a/kernel/klambda/reader.kl b/kernel/klambda/reader.kl index ba23f33..5eda85b 100644 --- a/kernel/klambda/reader.kl +++ b/kernel/klambda/reader.kl @@ -1,273 +1,273 @@ -(defun read-file (V2182) (let W2183 (read-file-as-bytelist V2182) (let W2184 (trap-error (compile (lambda Z2185 (shen. Z2185)) W2183) (lambda Z2186 (shen.reader-error (value shen.*residue*)))) (let W2187 (shen.process-sexprs W2184) W2187)))) +(defun read-file (V2196) (let W2197 (read-file-as-bytelist V2196) (let W2198 (trap-error (compile (lambda Z2199 (shen. Z2199)) W2197) (lambda Z2200 (shen.reader-error (value shen.*residue*)))) (let W2201 (shen.process-sexprs W2198) W2201)))) -(defun shen.reader-error (V2188) (simple-error (shen.proc-nl (cn "reader error near here: " (shen.reader-error-message (value *maximum-print-sequence-size*) 0 V2188))))) +(defun shen.reader-error (V2202) (simple-error (shen.proc-nl (cn "reader error near here: " (shen.reader-error-message (value *maximum-print-sequence-size*) 0 V2202))))) -(defun shen.reader-error-message (V2196 V2197 V2198) (cond ((= () V2198) "") ((= V2196 V2197) "") ((cons? V2198) (cn (n->string (hd V2198)) (shen.reader-error-message V2196 (+ V2197 1) (tl V2198)))) (true (simple-error "partial function shen.reader-error-message")))) +(defun shen.reader-error-message (V2210 V2211 V2212) (cond ((= () V2212) "") ((= V2210 V2211) "") ((cons? V2212) (cn (n->string (hd V2212)) (shen.reader-error-message V2210 (+ V2211 1) (tl V2212)))) (true (simple-error "partial function shen.reader-error-message")))) (defun it () (value shen.*it*)) -(defun read-file-as-bytelist (V2199) (let W2200 (open V2199 in) (let W2201 (read-byte W2200) (let W2202 (shen.read-file-as-bytelist-help W2200 W2201 ()) (let W2203 (close W2200) (reverse W2202)))))) +(defun read-file-as-bytelist (V2213) (let W2214 (open V2213 in) (let W2215 (read-byte W2214) (let W2216 (shen.read-file-as-bytelist-help W2214 W2215 ()) (let W2217 (close W2214) (reverse W2216)))))) -(defun shen.read-file-as-bytelist-help (V2204 V2205 V2206) (cond ((= -1 V2205) V2206) (true (shen.read-file-as-bytelist-help V2204 (read-byte V2204) (cons V2205 V2206))))) +(defun shen.read-file-as-bytelist-help (V2218 V2219 V2220) (cond ((= -1 V2219) V2220) (true (shen.read-file-as-bytelist-help V2218 (read-byte V2218) (cons V2219 V2220))))) -(defun read-file-as-string (V2207) (let W2208 (open V2207 in) (shen.rfas-h W2208 (read-byte W2208) ""))) +(defun read-file-as-string (V2221) (let W2222 (open V2221 in) (shen.rfas-h W2222 (read-byte W2222) ""))) -(defun shen.rfas-h (V2209 V2210 V2211) (cond ((= -1 V2210) (do (close V2209) V2211)) (true (shen.rfas-h V2209 (read-byte V2209) (cn V2211 (n->string V2210)))))) +(defun shen.rfas-h (V2223 V2224 V2225) (cond ((= -1 V2224) (do (close V2223) V2225)) (true (shen.rfas-h V2223 (read-byte V2223) (cn V2225 (n->string V2224)))))) -(defun input (V2212) (eval-kl (read V2212))) +(defun input (V2226) (eval-kl (read V2226))) -(defun shen.input-h+ (V2213 V2214) (let W2215 (shen.monotype V2213) (let W2216 (read V2214) (if (= false (shen.typecheck W2216 V2213)) (simple-error (cn "type error: " (shen.app W2216 (cn " is not of type " (shen.app V2213 " -" shen.r)) shen.r))) (eval-kl W2216))))) +(defun shen.input-h+ (V2227 V2228) (let W2229 (shen.monotype V2227) (let W2230 (read V2228) (if (= false (shen.typecheck W2230 V2227)) (simple-error (cn "type error: " (shen.app W2230 (cn " is not of type " (shen.app V2227 " +" shen.r)) shen.r))) (eval-kl W2230))))) -(defun shen.monotype (V2217) (cond ((cons? V2217) (map (lambda Z2218 (shen.monotype Z2218)) V2217)) (true (if (variable? V2217) (simple-error (cn "input+ expects a monotype: not " (shen.app V2217 " -" shen.a))) V2217)))) +(defun shen.monotype (V2231) (cond ((cons? V2231) (map (lambda Z2232 (shen.monotype Z2232)) V2231)) (true (if (variable? V2231) (simple-error (cn "input+ expects a monotype: not " (shen.app V2231 " +" shen.a))) V2231)))) -(defun lineread (V2219) (shen.read-loop V2219 (shen.my-read-byte V2219) () (lambda Z2220 (shen.return? Z2220)))) +(defun lineread (V2233) (shen.read-loop V2233 (shen.my-read-byte V2233) () (lambda Z2234 (shen.return? Z2234)))) -(defun read-from-string (V2221) (let W2222 (shen.str->bytes V2221) (let W2223 (compile (lambda Z2224 (shen. Z2224)) W2222) (let W2225 (shen.process-sexprs W2223) W2225)))) +(defun read-from-string (V2235) (let W2236 (shen.str->bytes V2235) (let W2237 (compile (lambda Z2238 (shen. Z2238)) W2236) (let W2239 (shen.process-sexprs W2237) W2239)))) -(defun read-from-string-unprocessed (V2226) (let W2227 (shen.str->bytes V2226) (let W2228 (compile (lambda Z2229 (shen. Z2229)) W2227) W2228))) +(defun read-from-string-unprocessed (V2240) (let W2241 (shen.str->bytes V2240) (let W2242 (compile (lambda Z2243 (shen. Z2243)) W2241) W2242))) -(defun shen.str->bytes (V2230) (cond ((= "" V2230) ()) ((shen.+string? V2230) (cons (string->n (hdstr V2230)) (shen.str->bytes (tlstr V2230)))) (true (simple-error "partial function shen.str->bytes")))) +(defun shen.str->bytes (V2244) (cond ((= "" V2244) ()) ((shen.+string? V2244) (cons (string->n (hdstr V2244)) (shen.str->bytes (tlstr V2244)))) (true (simple-error "partial function shen.str->bytes")))) -(defun read (V2231) (hd (shen.read-loop V2231 (shen.my-read-byte V2231) () (lambda Z2232 (shen.whitespace? Z2232))))) +(defun read (V2245) (hd (shen.read-loop V2245 (shen.my-read-byte V2245) () (lambda Z2246 (shen.whitespace? Z2246))))) -(defun shen.my-read-byte (V2233) (if (shen.char-stinput? V2233) (string->n (shen.read-unit-string V2233)) (read-byte V2233))) +(defun shen.my-read-byte (V2247) (if (shen.char-stinput? V2247) (string->n (shen.read-unit-string V2247)) (read-byte V2247))) -(defun shen.read-loop (V2238 V2239 V2240 V2241) (cond ((= 94 V2239) (simple-error "read aborted")) ((= -1 V2239) (if (empty? V2240) (simple-error "error: empty stream") (compile (lambda Z2242 (shen. Z2242)) V2240))) ((= 0 V2239) (shen.read-loop V2238 (shen.my-read-byte V2238) V2240 V2241)) (true (if (V2241 V2239) (let W2243 (shen.try-parse V2240) (if (shen.nothing-doing? W2243) (shen.read-loop V2238 (shen.my-read-byte V2238) (append V2240 (cons V2239 ())) V2241) (do (shen.record-it V2240) W2243))) (shen.read-loop V2238 (shen.my-read-byte V2238) (append V2240 (cons V2239 ())) V2241))))) +(defun shen.read-loop (V2252 V2253 V2254 V2255) (cond ((= 94 V2253) (simple-error "read aborted")) ((= -1 V2253) (if (empty? V2254) (simple-error "error: empty stream") (compile (lambda Z2256 (shen. Z2256)) V2254))) ((= 0 V2253) (shen.read-loop V2252 (shen.my-read-byte V2252) V2254 V2255)) (true (if (V2255 V2253) (let W2257 (shen.try-parse V2254) (if (shen.nothing-doing? W2257) (shen.read-loop V2252 (shen.my-read-byte V2252) (append V2254 (cons V2253 ())) V2255) (do (shen.record-it V2254) W2257))) (shen.read-loop V2252 (shen.my-read-byte V2252) (append V2254 (cons V2253 ())) V2255))))) -(defun shen.try-parse (V2244) (let W2245 (trap-error (compile (lambda Z2246 (shen. Z2246)) V2244) (lambda Z2247 shen.i-failed!)) (if (shen.nothing-doing? W2245) shen.i-failed! (shen.process-sexprs W2245)))) +(defun shen.try-parse (V2258) (let W2259 (trap-error (compile (lambda Z2260 (shen. Z2260)) V2258) (lambda Z2261 shen.i-failed!)) (if (shen.nothing-doing? W2259) shen.i-failed! (shen.process-sexprs W2259)))) -(defun shen.nothing-doing? (V2250) (cond ((= shen.i-failed! V2250) true) ((= () V2250) true) (true false))) +(defun shen.nothing-doing? (V2264) (cond ((= shen.i-failed! V2264) true) ((= () V2264) true) (true false))) -(defun shen.record-it (V2251) (set shen.*it* (shen.bytes->string V2251))) +(defun shen.record-it (V2265) (set shen.*it* (shen.bytes->string V2265))) -(defun shen.bytes->string (V2252) (cond ((= () V2252) "") ((cons? V2252) (cn (n->string (hd V2252)) (shen.bytes->string (tl V2252)))) (true (simple-error "partial function shen.bytes->string")))) +(defun shen.bytes->string (V2266) (cond ((= () V2266) "") ((cons? V2266) (cn (n->string (hd V2266)) (shen.bytes->string (tl V2266)))) (true (simple-error "partial function shen.bytes->string")))) -(defun shen.process-sexprs (V2253) (let W2254 (shen.unpackage¯oexpand V2253) (let W2255 (shen.find-arities W2254) (let W2256 (shen.find-types W2254) (map (lambda Z2257 (shen.process-applications Z2257 W2256)) W2254))))) +(defun shen.process-sexprs (V2267) (let W2268 (shen.unpackage¯oexpand V2267) (let W2269 (shen.find-arities W2268) (let W2270 (shen.find-types W2268) (map (lambda Z2271 (shen.process-applications Z2271 W2270)) W2268))))) -(defun shen.find-types (V2258) (cond ((and (cons? V2258) (and (cons? (tl V2258)) (= (hd V2258) (intern ":")))) (cons (hd (tl V2258)) (shen.find-types (tl (tl V2258))))) ((cons? V2258) (append (shen.find-types (hd V2258)) (shen.find-types (tl V2258)))) (true ()))) +(defun shen.find-types (V2272) (cond ((and (cons? V2272) (and (cons? (tl V2272)) (= (hd V2272) (intern ":")))) (cons (hd (tl V2272)) (shen.find-types (tl (tl V2272))))) ((cons? V2272) (append (shen.find-types (hd V2272)) (shen.find-types (tl V2272)))) (true ()))) -(defun shen.find-arities (V2261) (cond ((and (cons? V2261) (and (= define (hd V2261)) (and (cons? (tl V2261)) (and (cons? (tl (tl V2261))) (= { (hd (tl (tl V2261)))))))) (shen.store-arity (hd (tl V2261)) (shen.find-arity (hd (tl V2261)) 1 (tl (tl (tl V2261)))))) ((and (cons? V2261) (and (= define (hd V2261)) (cons? (tl V2261)))) (shen.store-arity (hd (tl V2261)) (shen.find-arity (hd (tl V2261)) 0 (tl (tl V2261))))) ((cons? V2261) (map (lambda Z2262 (shen.find-arities Z2262)) V2261)) (true shen.skip))) +(defun shen.find-arities (V2275) (cond ((and (cons? V2275) (and (= define (hd V2275)) (and (cons? (tl V2275)) (and (cons? (tl (tl V2275))) (= { (hd (tl (tl V2275)))))))) (shen.store-arity (hd (tl V2275)) (shen.find-arity (hd (tl V2275)) 1 (tl (tl (tl V2275)))))) ((and (cons? V2275) (and (= define (hd V2275)) (cons? (tl V2275)))) (shen.store-arity (hd (tl V2275)) (shen.find-arity (hd (tl V2275)) 0 (tl (tl V2275))))) ((cons? V2275) (map (lambda Z2276 (shen.find-arities Z2276)) V2275)) (true shen.skip))) -(defun shen.store-arity (V2263 V2264) (let W2265 (arity V2263) (if (= W2265 -1) (shen.execute-store-arity V2263 V2264) (if (= W2265 V2264) shen.skip (if (shen.sysfunc? V2263) (simple-error (shen.app V2263 " is a system function -" shen.a)) (do (pr (cn "changing the arity of " (shen.app V2263 " may cause errors -" shen.a)) (stoutput)) (shen.execute-store-arity V2263 V2264))))))) +(defun shen.store-arity (V2277 V2278) (let W2279 (arity V2277) (if (= W2279 -1) (shen.execute-store-arity V2277 V2278) (if (= W2279 V2278) shen.skip (if (shen.sysfunc? V2277) (simple-error (shen.app V2277 " is a system function +" shen.a)) (do (pr (cn "changing the arity of " (shen.app V2277 " may cause errors +" shen.a)) (stoutput)) (shen.execute-store-arity V2277 V2278))))))) -(defun shen.execute-store-arity (V2266 V2267) (cond ((= 0 V2267) (put V2266 arity 0 (value *property-vector*))) (true (do (put V2266 arity V2267 (value *property-vector*)) (shen.update-lambdatable V2266 V2267))))) +(defun shen.execute-store-arity (V2280 V2281) (cond ((= 0 V2281) (put V2280 arity 0 (value *property-vector*))) (true (do (put V2280 arity V2281 (value *property-vector*)) (shen.update-lambdatable V2280 V2281))))) -(defun shen.update-lambdatable (V2268 V2269) (let W2270 (value shen.*lambdatable*) (let W2271 (eval-kl (shen.lambda-function (cons V2268 ()) V2269)) (let W2272 (shen.assoc-> V2268 W2271 W2270) (let W2273 (set shen.*lambdatable* W2272) W2273))))) +(defun shen.update-lambdatable (V2282 V2283) (let W2284 (value shen.*lambdatable*) (let W2285 (eval-kl (shen.lambda-function (cons V2282 ()) V2283)) (let W2286 (shen.assoc-> V2282 W2285 W2284) (let W2287 (set shen.*lambdatable* W2286) W2287))))) -(defun shen.lambda-function (V2276 V2277) (cond ((= 0 V2277) shen.skip) ((= 1 V2277) (let W2278 (gensym Y) (cons lambda (cons W2278 (cons (append V2276 (cons W2278 ())) ()))))) (true (let W2279 (gensym Y) (cons lambda (cons W2279 (cons (shen.lambda-function (append V2276 (cons W2279 ())) (- V2277 1)) ()))))))) +(defun shen.lambda-function (V2290 V2291) (cond ((= 0 V2291) shen.skip) ((= 1 V2291) (let W2292 (gensym Y) (cons lambda (cons W2292 (cons (append V2290 (cons W2292 ())) ()))))) (true (let W2293 (gensym Y) (cons lambda (cons W2293 (cons (shen.lambda-function (append V2290 (cons W2293 ())) (- V2291 1)) ()))))))) -(defun shen.assoc-> (V2289 V2290 V2291) (cond ((= () V2291) (cons (cons V2289 V2290) ())) ((and (cons? V2291) (and (cons? (hd V2291)) (= V2289 (hd (hd V2291))))) (cons (cons (hd (hd V2291)) V2290) (tl V2291))) ((cons? V2291) (cons (hd V2291) (shen.assoc-> V2289 V2290 (tl V2291)))) (true (simple-error "implementation error in shen.assoc->")))) +(defun shen.assoc-> (V2303 V2304 V2305) (cond ((= () V2305) (cons (cons V2303 V2304) ())) ((and (cons? V2305) (and (cons? (hd V2305)) (= V2303 (hd (hd V2305))))) (cons (cons (hd (hd V2305)) V2304) (tl V2305))) ((cons? V2305) (cons (hd V2305) (shen.assoc-> V2303 V2304 (tl V2305)))) (true (simple-error "implementation error in shen.assoc->")))) -(defun shen.find-arity (V2306 V2307 V2308) (cond ((and (= 0 V2307) (and (cons? V2308) (= (hd V2308) ->))) 0) ((and (= 0 V2307) (and (cons? V2308) (= (hd V2308) <-))) 0) ((and (= 0 V2307) (cons? V2308)) (+ 1 (shen.find-arity V2306 0 (tl V2308)))) ((and (= 1 V2307) (and (cons? V2308) (= } (hd V2308)))) (shen.find-arity V2306 0 (tl V2308))) ((and (= 1 V2307) (cons? V2308)) (shen.find-arity V2306 1 (tl V2308))) ((= 1 V2307) (simple-error (cn "syntax error in " (shen.app V2306 " definition: missing } -" shen.a)))) (true (simple-error (cn "syntax error in " (shen.app V2306 " definition: missing -> or <- +(defun shen.find-arity (V2320 V2321 V2322) (cond ((and (= 0 V2321) (and (cons? V2322) (= (hd V2322) ->))) 0) ((and (= 0 V2321) (and (cons? V2322) (= (hd V2322) <-))) 0) ((and (= 0 V2321) (cons? V2322)) (+ 1 (shen.find-arity V2320 0 (tl V2322)))) ((and (= 1 V2321) (and (cons? V2322) (= } (hd V2322)))) (shen.find-arity V2320 0 (tl V2322))) ((and (= 1 V2321) (cons? V2322)) (shen.find-arity V2320 1 (tl V2322))) ((= 1 V2321) (simple-error (cn "syntax error in " (shen.app V2320 " definition: missing } +" shen.a)))) (true (simple-error (cn "syntax error in " (shen.app V2320 " definition: missing -> or <- " shen.a)))))) -(defun shen. (V2309) (let W2310 (let W2311 (shen. V2309) (if (shen.parse-failure? W2311) (shen.parse-failure) (let W2312 (shen.in-> W2311) (let W2313 (shen. W2312) (if (shen.parse-failure? W2313) (shen.parse-failure) (let W2314 (shen.<-out W2313) (let W2315 (shen.in-> W2313) (let W2316 (shen. W2315) (if (shen.parse-failure? W2316) (shen.parse-failure) (let W2317 (shen.in-> W2316) (let W2318 (shen. W2317) (if (shen.parse-failure? W2318) (shen.parse-failure) (let W2319 (shen.<-out W2318) (let W2320 (shen.in-> W2318) (shen.comb W2320 (cons (shen.cons-form W2314) W2319)))))))))))))))) (if (shen.parse-failure? W2310) (let W2321 (let W2322 (shen. V2309) (if (shen.parse-failure? W2322) (shen.parse-failure) (let W2323 (shen.in-> W2322) (let W2324 (shen. W2323) (if (shen.parse-failure? W2324) (shen.parse-failure) (let W2325 (shen.<-out W2324) (let W2326 (shen.in-> W2324) (let W2327 (shen. W2326) (if (shen.parse-failure? W2327) (shen.parse-failure) (let W2328 (shen.in-> W2327) (let W2329 (shen. W2328) (if (shen.parse-failure? W2329) (shen.parse-failure) (let W2330 (shen.<-out W2329) (let W2331 (shen.in-> W2329) (shen.comb W2331 (shen.add-sexpr W2325 W2330)))))))))))))))) (if (shen.parse-failure? W2321) (let W2332 (let W2333 (shen. V2309) (if (shen.parse-failure? W2333) (shen.parse-failure) (let W2334 (shen.in-> W2333) (let W2335 (shen. W2334) (if (shen.parse-failure? W2335) (shen.parse-failure) (let W2336 (shen.<-out W2335) (let W2337 (shen.in-> W2335) (shen.comb W2337 (cons { W2336))))))))) (if (shen.parse-failure? W2332) (let W2338 (let W2339 (shen. V2309) (if (shen.parse-failure? W2339) (shen.parse-failure) (let W2340 (shen.in-> W2339) (let W2341 (shen. W2340) (if (shen.parse-failure? W2341) (shen.parse-failure) (let W2342 (shen.<-out W2341) (let W2343 (shen.in-> W2341) (shen.comb W2343 (cons } W2342))))))))) (if (shen.parse-failure? W2338) (let W2344 (let W2345 (shen. V2309) (if (shen.parse-failure? W2345) (shen.parse-failure) (let W2346 (shen.in-> W2345) (let W2347 (shen. W2346) (if (shen.parse-failure? W2347) (shen.parse-failure) (let W2348 (shen.<-out W2347) (let W2349 (shen.in-> W2347) (shen.comb W2349 (cons bar! W2348))))))))) (if (shen.parse-failure? W2344) (let W2350 (let W2351 (shen. V2309) (if (shen.parse-failure? W2351) (shen.parse-failure) (let W2352 (shen.in-> W2351) (let W2353 (shen. W2352) (if (shen.parse-failure? W2353) (shen.parse-failure) (let W2354 (shen.<-out W2353) (let W2355 (shen.in-> W2353) (shen.comb W2355 (cons (intern ";") W2354))))))))) (if (shen.parse-failure? W2350) (let W2356 (let W2357 (shen. V2309) (if (shen.parse-failure? W2357) (shen.parse-failure) (let W2358 (shen.in-> W2357) (let W2359 (shen. W2358) (if (shen.parse-failure? W2359) (shen.parse-failure) (let W2360 (shen.in-> W2359) (let W2361 (shen. W2360) (if (shen.parse-failure? W2361) (shen.parse-failure) (let W2362 (shen.<-out W2361) (let W2363 (shen.in-> W2361) (shen.comb W2363 (cons (intern ":=") W2362)))))))))))) (if (shen.parse-failure? W2356) (let W2364 (let W2365 (shen. V2309) (if (shen.parse-failure? W2365) (shen.parse-failure) (let W2366 (shen.in-> W2365) (let W2367 (shen. W2366) (if (shen.parse-failure? W2367) (shen.parse-failure) (let W2368 (shen.<-out W2367) (let W2369 (shen.in-> W2367) (shen.comb W2369 (cons (intern ":") W2368))))))))) (if (shen.parse-failure? W2364) (let W2370 (let W2371 (shen. V2309) (if (shen.parse-failure? W2371) (shen.parse-failure) (let W2372 (shen.in-> W2371) (let W2373 (shen. W2372) (if (shen.parse-failure? W2373) (shen.parse-failure) (let W2374 (shen.<-out W2373) (let W2375 (shen.in-> W2373) (shen.comb W2375 (cons (intern ",") W2374))))))))) (if (shen.parse-failure? W2370) (let W2376 (let W2377 (shen. V2309) (if (shen.parse-failure? W2377) (shen.parse-failure) (let W2378 (shen.in-> W2377) (let W2379 (shen. W2378) (if (shen.parse-failure? W2379) (shen.parse-failure) (let W2380 (shen.<-out W2379) (let W2381 (shen.in-> W2379) (shen.comb W2381 W2380)))))))) (if (shen.parse-failure? W2376) (let W2382 (let W2383 (shen. V2309) (if (shen.parse-failure? W2383) (shen.parse-failure) (let W2384 (shen.<-out W2383) (let W2385 (shen.in-> W2383) (let W2386 (shen. W2385) (if (shen.parse-failure? W2386) (shen.parse-failure) (let W2387 (shen.<-out W2386) (let W2388 (shen.in-> W2386) (shen.comb W2388 (cons W2384 W2387)))))))))) (if (shen.parse-failure? W2382) (let W2389 (let W2390 (shen. V2309) (if (shen.parse-failure? W2390) (shen.parse-failure) (let W2391 (shen.in-> W2390) (let W2392 (shen. W2391) (if (shen.parse-failure? W2392) (shen.parse-failure) (let W2393 (shen.<-out W2392) (let W2394 (shen.in-> W2392) (shen.comb W2394 W2393)))))))) (if (shen.parse-failure? W2389) (let W2395 (let W2396 ( V2309) (if (shen.parse-failure? W2396) (shen.parse-failure) (let W2397 (shen.in-> W2396) (shen.comb W2397 ())))) (if (shen.parse-failure? W2395) (shen.parse-failure) W2395)) W2389)) W2382)) W2376)) W2370)) W2364)) W2356)) W2350)) W2344)) W2338)) W2332)) W2321)) W2310))) +(defun shen. (V2323) (let W2324 (let W2325 (shen. V2323) (if (shen.parse-failure? W2325) (shen.parse-failure) (let W2326 (shen.in-> W2325) (let W2327 (shen. W2326) (if (shen.parse-failure? W2327) (shen.parse-failure) (let W2328 (shen.<-out W2327) (let W2329 (shen.in-> W2327) (let W2330 (shen. W2329) (if (shen.parse-failure? W2330) (shen.parse-failure) (let W2331 (shen.in-> W2330) (let W2332 (shen. W2331) (if (shen.parse-failure? W2332) (shen.parse-failure) (let W2333 (shen.<-out W2332) (let W2334 (shen.in-> W2332) (shen.comb W2334 (cons (shen.cons-form W2328) W2333)))))))))))))))) (if (shen.parse-failure? W2324) (let W2335 (let W2336 (shen. V2323) (if (shen.parse-failure? W2336) (shen.parse-failure) (let W2337 (shen.in-> W2336) (let W2338 (shen. W2337) (if (shen.parse-failure? W2338) (shen.parse-failure) (let W2339 (shen.<-out W2338) (let W2340 (shen.in-> W2338) (let W2341 (shen. W2340) (if (shen.parse-failure? W2341) (shen.parse-failure) (let W2342 (shen.in-> W2341) (let W2343 (shen. W2342) (if (shen.parse-failure? W2343) (shen.parse-failure) (let W2344 (shen.<-out W2343) (let W2345 (shen.in-> W2343) (shen.comb W2345 (shen.add-sexpr W2339 W2344)))))))))))))))) (if (shen.parse-failure? W2335) (let W2346 (let W2347 (shen. V2323) (if (shen.parse-failure? W2347) (shen.parse-failure) (let W2348 (shen.in-> W2347) (let W2349 (shen. W2348) (if (shen.parse-failure? W2349) (shen.parse-failure) (let W2350 (shen.<-out W2349) (let W2351 (shen.in-> W2349) (shen.comb W2351 (cons { W2350))))))))) (if (shen.parse-failure? W2346) (let W2352 (let W2353 (shen. V2323) (if (shen.parse-failure? W2353) (shen.parse-failure) (let W2354 (shen.in-> W2353) (let W2355 (shen. W2354) (if (shen.parse-failure? W2355) (shen.parse-failure) (let W2356 (shen.<-out W2355) (let W2357 (shen.in-> W2355) (shen.comb W2357 (cons } W2356))))))))) (if (shen.parse-failure? W2352) (let W2358 (let W2359 (shen. V2323) (if (shen.parse-failure? W2359) (shen.parse-failure) (let W2360 (shen.in-> W2359) (let W2361 (shen. W2360) (if (shen.parse-failure? W2361) (shen.parse-failure) (let W2362 (shen.<-out W2361) (let W2363 (shen.in-> W2361) (shen.comb W2363 (cons bar! W2362))))))))) (if (shen.parse-failure? W2358) (let W2364 (let W2365 (shen. V2323) (if (shen.parse-failure? W2365) (shen.parse-failure) (let W2366 (shen.in-> W2365) (let W2367 (shen. W2366) (if (shen.parse-failure? W2367) (shen.parse-failure) (let W2368 (shen.<-out W2367) (let W2369 (shen.in-> W2367) (shen.comb W2369 (cons (intern ";") W2368))))))))) (if (shen.parse-failure? W2364) (let W2370 (let W2371 (shen. V2323) (if (shen.parse-failure? W2371) (shen.parse-failure) (let W2372 (shen.in-> W2371) (let W2373 (shen. W2372) (if (shen.parse-failure? W2373) (shen.parse-failure) (let W2374 (shen.in-> W2373) (let W2375 (shen. W2374) (if (shen.parse-failure? W2375) (shen.parse-failure) (let W2376 (shen.<-out W2375) (let W2377 (shen.in-> W2375) (shen.comb W2377 (cons (intern ":=") W2376)))))))))))) (if (shen.parse-failure? W2370) (let W2378 (let W2379 (shen. V2323) (if (shen.parse-failure? W2379) (shen.parse-failure) (let W2380 (shen.in-> W2379) (let W2381 (shen. W2380) (if (shen.parse-failure? W2381) (shen.parse-failure) (let W2382 (shen.<-out W2381) (let W2383 (shen.in-> W2381) (shen.comb W2383 (cons (intern ":") W2382))))))))) (if (shen.parse-failure? W2378) (let W2384 (let W2385 (shen. V2323) (if (shen.parse-failure? W2385) (shen.parse-failure) (let W2386 (shen.in-> W2385) (let W2387 (shen. W2386) (if (shen.parse-failure? W2387) (shen.parse-failure) (let W2388 (shen.<-out W2387) (let W2389 (shen.in-> W2387) (shen.comb W2389 (cons (intern ",") W2388))))))))) (if (shen.parse-failure? W2384) (let W2390 (let W2391 (shen. V2323) (if (shen.parse-failure? W2391) (shen.parse-failure) (let W2392 (shen.in-> W2391) (let W2393 (shen. W2392) (if (shen.parse-failure? W2393) (shen.parse-failure) (let W2394 (shen.<-out W2393) (let W2395 (shen.in-> W2393) (shen.comb W2395 W2394)))))))) (if (shen.parse-failure? W2390) (let W2396 (let W2397 (shen. V2323) (if (shen.parse-failure? W2397) (shen.parse-failure) (let W2398 (shen.<-out W2397) (let W2399 (shen.in-> W2397) (let W2400 (shen. W2399) (if (shen.parse-failure? W2400) (shen.parse-failure) (let W2401 (shen.<-out W2400) (let W2402 (shen.in-> W2400) (shen.comb W2402 (cons W2398 W2401)))))))))) (if (shen.parse-failure? W2396) (let W2403 (let W2404 (shen. V2323) (if (shen.parse-failure? W2404) (shen.parse-failure) (let W2405 (shen.in-> W2404) (let W2406 (shen. W2405) (if (shen.parse-failure? W2406) (shen.parse-failure) (let W2407 (shen.<-out W2406) (let W2408 (shen.in-> W2406) (shen.comb W2408 W2407)))))))) (if (shen.parse-failure? W2403) (let W2409 (let W2410 ( V2323) (if (shen.parse-failure? W2410) (shen.parse-failure) (let W2411 (shen.in-> W2410) (shen.comb W2411 ())))) (if (shen.parse-failure? W2409) (shen.parse-failure) W2409)) W2403)) W2396)) W2390)) W2384)) W2378)) W2370)) W2364)) W2358)) W2352)) W2346)) W2335)) W2324))) -(defun shen.add-sexpr (V2398 V2399) (cond ((and (cons? V2398) (and (= $ (hd V2398)) (and (cons? (tl V2398)) (= () (tl (tl V2398)))))) (append (explode (hd (tl V2398))) V2399)) (true (cons V2398 V2399)))) +(defun shen.add-sexpr (V2412 V2413) (cond ((and (cons? V2412) (and (= $ (hd V2412)) (and (cons? (tl V2412)) (= () (tl (tl V2412)))))) (append (explode (hd (tl V2412))) V2413)) (true (cons V2412 V2413)))) -(defun shen. (V2400) (let W2401 (if (shen.hds=? V2400 91) (let W2402 (tail V2400) (shen.comb W2402 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2401) (shen.parse-failure) W2401))) +(defun shen. (V2414) (let W2415 (if (shen.hds=? V2414 91) (let W2416 (tail V2414) (shen.comb W2416 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2415) (shen.parse-failure) W2415))) -(defun shen. (V2403) (let W2404 (if (shen.hds=? V2403 93) (let W2405 (tail V2403) (shen.comb W2405 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2404) (shen.parse-failure) W2404))) +(defun shen. (V2417) (let W2418 (if (shen.hds=? V2417 93) (let W2419 (tail V2417) (shen.comb W2419 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2418) (shen.parse-failure) W2418))) -(defun shen. (V2406) (let W2407 (let W2408 (shen. V2406) (if (shen.parse-failure? W2408) (shen.parse-failure) (let W2409 (shen.<-out W2408) (let W2410 (shen.in-> W2408) (shen.comb W2410 W2409))))) (if (shen.parse-failure? W2407) (shen.parse-failure) W2407))) +(defun shen. (V2420) (let W2421 (let W2422 (shen. V2420) (if (shen.parse-failure? W2422) (shen.parse-failure) (let W2423 (shen.<-out W2422) (let W2424 (shen.in-> W2422) (shen.comb W2424 W2423))))) (if (shen.parse-failure? W2421) (shen.parse-failure) W2421))) -(defun shen. (V2411) (let W2412 (let W2413 (shen. V2411) (if (shen.parse-failure? W2413) (shen.parse-failure) (let W2414 (shen.<-out W2413) (let W2415 (shen.in-> W2413) (shen.comb W2415 W2414))))) (if (shen.parse-failure? W2412) (shen.parse-failure) W2412))) +(defun shen. (V2425) (let W2426 (let W2427 (shen. V2425) (if (shen.parse-failure? W2427) (shen.parse-failure) (let W2428 (shen.<-out W2427) (let W2429 (shen.in-> W2427) (shen.comb W2429 W2428))))) (if (shen.parse-failure? W2426) (shen.parse-failure) W2426))) -(defun shen.cons-form (V2417) (cond ((= () V2417) ()) ((and (cons? V2417) (and (cons? (tl V2417)) (and (cons? (tl (tl V2417))) (and (= () (tl (tl (tl V2417)))) (= (hd (tl V2417)) bar!))))) (cons cons (cons (hd V2417) (tl (tl V2417))))) ((and (cons? V2417) (and (cons? (tl V2417)) (and (cons? (tl (tl V2417))) (and (cons? (tl (tl (tl V2417)))) (= (hd (tl V2417)) bar!))))) (simple-error "misapplication of | -")) ((cons? V2417) (cons cons (cons (hd V2417) (cons (shen.cons-form (tl V2417)) ())))) (true (simple-error "partial function shen.cons-form")))) +(defun shen.cons-form (V2431) (cond ((= () V2431) ()) ((and (cons? V2431) (and (cons? (tl V2431)) (and (cons? (tl (tl V2431))) (and (= () (tl (tl (tl V2431)))) (= (hd (tl V2431)) bar!))))) (cons cons (cons (hd V2431) (tl (tl V2431))))) ((and (cons? V2431) (and (cons? (tl V2431)) (and (cons? (tl (tl V2431))) (and (cons? (tl (tl (tl V2431)))) (= (hd (tl V2431)) bar!))))) (simple-error "misapplication of | +")) ((cons? V2431) (cons cons (cons (hd V2431) (cons (shen.cons-form (tl V2431)) ())))) (true (simple-error "partial function shen.cons-form")))) -(defun shen. (V2418) (let W2419 (if (shen.hds=? V2418 40) (let W2420 (tail V2418) (shen.comb W2420 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2419) (shen.parse-failure) W2419))) +(defun shen. (V2432) (let W2433 (if (shen.hds=? V2432 40) (let W2434 (tail V2432) (shen.comb W2434 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2433) (shen.parse-failure) W2433))) -(defun shen. (V2421) (let W2422 (if (shen.hds=? V2421 41) (let W2423 (tail V2421) (shen.comb W2423 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2422) (shen.parse-failure) W2422))) +(defun shen. (V2435) (let W2436 (if (shen.hds=? V2435 41) (let W2437 (tail V2435) (shen.comb W2437 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2436) (shen.parse-failure) W2436))) -(defun shen. (V2424) (let W2425 (if (shen.hds=? V2424 123) (let W2426 (tail V2424) (shen.comb W2426 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2425) (shen.parse-failure) W2425))) +(defun shen. (V2438) (let W2439 (if (shen.hds=? V2438 123) (let W2440 (tail V2438) (shen.comb W2440 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2439) (shen.parse-failure) W2439))) -(defun shen. (V2427) (let W2428 (if (shen.hds=? V2427 125) (let W2429 (tail V2427) (shen.comb W2429 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2428) (shen.parse-failure) W2428))) +(defun shen. (V2441) (let W2442 (if (shen.hds=? V2441 125) (let W2443 (tail V2441) (shen.comb W2443 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2442) (shen.parse-failure) W2442))) -(defun shen. (V2430) (let W2431 (if (shen.hds=? V2430 124) (let W2432 (tail V2430) (shen.comb W2432 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2431) (shen.parse-failure) W2431))) +(defun shen. (V2444) (let W2445 (if (shen.hds=? V2444 124) (let W2446 (tail V2444) (shen.comb W2446 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2445) (shen.parse-failure) W2445))) -(defun shen. (V2433) (let W2434 (if (shen.hds=? V2433 59) (let W2435 (tail V2433) (shen.comb W2435 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2434) (shen.parse-failure) W2434))) +(defun shen. (V2447) (let W2448 (if (shen.hds=? V2447 59) (let W2449 (tail V2447) (shen.comb W2449 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2448) (shen.parse-failure) W2448))) -(defun shen. (V2436) (let W2437 (if (shen.hds=? V2436 58) (let W2438 (tail V2436) (shen.comb W2438 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2437) (shen.parse-failure) W2437))) +(defun shen. (V2450) (let W2451 (if (shen.hds=? V2450 58) (let W2452 (tail V2450) (shen.comb W2452 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2451) (shen.parse-failure) W2451))) -(defun shen. (V2439) (let W2440 (if (shen.hds=? V2439 44) (let W2441 (tail V2439) (shen.comb W2441 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2440) (shen.parse-failure) W2440))) +(defun shen. (V2453) (let W2454 (if (shen.hds=? V2453 44) (let W2455 (tail V2453) (shen.comb W2455 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2454) (shen.parse-failure) W2454))) -(defun shen. (V2442) (let W2443 (if (shen.hds=? V2442 61) (let W2444 (tail V2442) (shen.comb W2444 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2443) (shen.parse-failure) W2443))) +(defun shen. (V2456) (let W2457 (if (shen.hds=? V2456 61) (let W2458 (tail V2456) (shen.comb W2458 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2457) (shen.parse-failure) W2457))) -(defun shen. (V2445) (let W2446 (let W2447 (shen. V2445) (if (shen.parse-failure? W2447) (shen.parse-failure) (let W2448 (shen.in-> W2447) (shen.comb W2448 shen.skip)))) (if (shen.parse-failure? W2446) (let W2449 (let W2450 (shen. V2445) (if (shen.parse-failure? W2450) (shen.parse-failure) (let W2451 (shen.in-> W2450) (shen.comb W2451 shen.skip)))) (if (shen.parse-failure? W2449) (shen.parse-failure) W2449)) W2446))) +(defun shen. (V2459) (let W2460 (let W2461 (shen. V2459) (if (shen.parse-failure? W2461) (shen.parse-failure) (let W2462 (shen.in-> W2461) (shen.comb W2462 shen.skip)))) (if (shen.parse-failure? W2460) (let W2463 (let W2464 (shen. V2459) (if (shen.parse-failure? W2464) (shen.parse-failure) (let W2465 (shen.in-> W2464) (shen.comb W2465 shen.skip)))) (if (shen.parse-failure? W2463) (shen.parse-failure) W2463)) W2460))) -(defun shen. (V2452) (let W2453 (let W2454 (shen. V2452) (if (shen.parse-failure? W2454) (shen.parse-failure) (let W2455 (shen.in-> W2454) (let W2456 (shen. W2455) (if (shen.parse-failure? W2456) (shen.parse-failure) (let W2457 (shen.in-> W2456) (let W2458 (shen. W2457) (if (shen.parse-failure? W2458) (shen.parse-failure) (let W2459 (shen.in-> W2458) (let W2460 (shen. W2459) (if (shen.parse-failure? W2460) (shen.parse-failure) (let W2461 (shen.in-> W2460) (shen.comb W2461 shen.skip))))))))))))) (if (shen.parse-failure? W2453) (shen.parse-failure) W2453))) +(defun shen. (V2466) (let W2467 (let W2468 (shen. V2466) (if (shen.parse-failure? W2468) (shen.parse-failure) (let W2469 (shen.in-> W2468) (let W2470 (shen. W2469) (if (shen.parse-failure? W2470) (shen.parse-failure) (let W2471 (shen.in-> W2470) (let W2472 (shen. W2471) (if (shen.parse-failure? W2472) (shen.parse-failure) (let W2473 (shen.in-> W2472) (let W2474 (shen. W2473) (if (shen.parse-failure? W2474) (shen.parse-failure) (let W2475 (shen.in-> W2474) (shen.comb W2475 shen.skip))))))))))))) (if (shen.parse-failure? W2467) (shen.parse-failure) W2467))) -(defun shen. (V2462) (let W2463 (if (shen.hds=? V2462 92) (let W2464 (tail V2462) (shen.comb W2464 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2463) (shen.parse-failure) W2463))) +(defun shen. (V2476) (let W2477 (if (shen.hds=? V2476 92) (let W2478 (tail V2476) (shen.comb W2478 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2477) (shen.parse-failure) W2477))) -(defun shen. (V2465) (let W2466 (let W2467 (shen. V2465) (if (shen.parse-failure? W2467) (shen.parse-failure) (let W2468 (shen.in-> W2467) (let W2469 (shen. W2468) (if (shen.parse-failure? W2469) (shen.parse-failure) (let W2470 (shen.in-> W2469) (shen.comb W2470 shen.skip))))))) (if (shen.parse-failure? W2466) (let W2471 (let W2472 ( V2465) (if (shen.parse-failure? W2472) (shen.parse-failure) (let W2473 (shen.in-> W2472) (shen.comb W2473 shen.skip)))) (if (shen.parse-failure? W2471) (shen.parse-failure) W2471)) W2466))) +(defun shen. (V2479) (let W2480 (let W2481 (shen. V2479) (if (shen.parse-failure? W2481) (shen.parse-failure) (let W2482 (shen.in-> W2481) (let W2483 (shen. W2482) (if (shen.parse-failure? W2483) (shen.parse-failure) (let W2484 (shen.in-> W2483) (shen.comb W2484 shen.skip))))))) (if (shen.parse-failure? W2480) (let W2485 (let W2486 ( V2479) (if (shen.parse-failure? W2486) (shen.parse-failure) (let W2487 (shen.in-> W2486) (shen.comb W2487 shen.skip)))) (if (shen.parse-failure? W2485) (shen.parse-failure) W2485)) W2480))) -(defun shen. (V2474) (let W2475 (if (cons? V2474) (let W2476 (head V2474) (let W2477 (tail V2474) (if (not (shen.return? W2476)) (shen.comb W2477 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2475) (shen.parse-failure) W2475))) +(defun shen. (V2488) (let W2489 (if (cons? V2488) (let W2490 (head V2488) (let W2491 (tail V2488) (if (not (shen.return? W2490)) (shen.comb W2491 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2489) (shen.parse-failure) W2489))) -(defun shen. (V2478) (let W2479 (let W2480 (shen. V2478) (if (shen.parse-failure? W2480) (shen.parse-failure) (let W2481 (shen.in-> W2480) (let W2482 (shen. W2481) (if (shen.parse-failure? W2482) (shen.parse-failure) (let W2483 (shen.in-> W2482) (shen.comb W2483 shen.skip))))))) (if (shen.parse-failure? W2479) (let W2484 (let W2485 (shen. V2478) (if (shen.parse-failure? W2485) (shen.parse-failure) (let W2486 (shen.in-> W2485) (shen.comb W2486 shen.skip)))) (if (shen.parse-failure? W2484) (shen.parse-failure) W2484)) W2479))) +(defun shen. (V2492) (let W2493 (let W2494 (shen. V2492) (if (shen.parse-failure? W2494) (shen.parse-failure) (let W2495 (shen.in-> W2494) (let W2496 (shen. W2495) (if (shen.parse-failure? W2496) (shen.parse-failure) (let W2497 (shen.in-> W2496) (shen.comb W2497 shen.skip))))))) (if (shen.parse-failure? W2493) (let W2498 (let W2499 (shen. V2492) (if (shen.parse-failure? W2499) (shen.parse-failure) (let W2500 (shen.in-> W2499) (shen.comb W2500 shen.skip)))) (if (shen.parse-failure? W2498) (shen.parse-failure) W2498)) W2493))) -(defun shen. (V2487) (let W2488 (if (cons? V2487) (let W2489 (head V2487) (let W2490 (tail V2487) (if (shen.return? W2489) (shen.comb W2490 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2488) (shen.parse-failure) W2488))) +(defun shen. (V2501) (let W2502 (if (cons? V2501) (let W2503 (head V2501) (let W2504 (tail V2501) (if (shen.return? W2503) (shen.comb W2504 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2502) (shen.parse-failure) W2502))) -(defun shen.return? (V2491) (element? V2491 (cons 9 (cons 10 (cons 13 ()))))) +(defun shen.return? (V2505) (element? V2505 (cons 9 (cons 10 (cons 13 ()))))) -(defun shen. (V2492) (let W2493 (let W2494 (shen. V2492) (if (shen.parse-failure? W2494) (shen.parse-failure) (let W2495 (shen.in-> W2494) (let W2496 (shen. W2495) (if (shen.parse-failure? W2496) (shen.parse-failure) (let W2497 (shen.in-> W2496) (let W2498 (shen. W2497) (if (shen.parse-failure? W2498) (shen.parse-failure) (let W2499 (shen.in-> W2498) (shen.comb W2499 shen.skip)))))))))) (if (shen.parse-failure? W2493) (shen.parse-failure) W2493))) +(defun shen. (V2506) (let W2507 (let W2508 (shen. V2506) (if (shen.parse-failure? W2508) (shen.parse-failure) (let W2509 (shen.in-> W2508) (let W2510 (shen. W2509) (if (shen.parse-failure? W2510) (shen.parse-failure) (let W2511 (shen.in-> W2510) (let W2512 (shen. W2511) (if (shen.parse-failure? W2512) (shen.parse-failure) (let W2513 (shen.in-> W2512) (shen.comb W2513 shen.skip)))))))))) (if (shen.parse-failure? W2507) (shen.parse-failure) W2507))) -(defun shen. (V2500) (let W2501 (if (shen.hds=? V2500 42) (let W2502 (tail V2500) (shen.comb W2502 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2501) (shen.parse-failure) W2501))) +(defun shen. (V2514) (let W2515 (if (shen.hds=? V2514 42) (let W2516 (tail V2514) (shen.comb W2516 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2515) (shen.parse-failure) W2515))) -(defun shen. (V2503) (let W2504 (let W2505 (shen. V2503) (if (shen.parse-failure? W2505) (shen.parse-failure) (let W2506 (shen.in-> W2505) (let W2507 (shen. W2506) (if (shen.parse-failure? W2507) (shen.parse-failure) (let W2508 (shen.in-> W2507) (shen.comb W2508 shen.skip))))))) (if (shen.parse-failure? W2504) (let W2509 (let W2510 (shen. V2503) (if (shen.parse-failure? W2510) (shen.parse-failure) (let W2511 (shen.in-> W2510) (let W2512 (shen. W2511) (if (shen.parse-failure? W2512) (shen.parse-failure) (let W2513 (shen.in-> W2512) (shen.comb W2513 shen.skip))))))) (if (shen.parse-failure? W2509) (let W2514 (if (cons? V2503) (let W2515 (tail V2503) (let W2516 (shen. W2515) (if (shen.parse-failure? W2516) (shen.parse-failure) (let W2517 (shen.in-> W2516) (shen.comb W2517 shen.skip))))) (shen.parse-failure)) (if (shen.parse-failure? W2514) (shen.parse-failure) W2514)) W2509)) W2504))) +(defun shen. (V2517) (let W2518 (let W2519 (shen. V2517) (if (shen.parse-failure? W2519) (shen.parse-failure) (let W2520 (shen.in-> W2519) (let W2521 (shen. W2520) (if (shen.parse-failure? W2521) (shen.parse-failure) (let W2522 (shen.in-> W2521) (shen.comb W2522 shen.skip))))))) (if (shen.parse-failure? W2518) (let W2523 (let W2524 (shen. V2517) (if (shen.parse-failure? W2524) (shen.parse-failure) (let W2525 (shen.in-> W2524) (let W2526 (shen. W2525) (if (shen.parse-failure? W2526) (shen.parse-failure) (let W2527 (shen.in-> W2526) (shen.comb W2527 shen.skip))))))) (if (shen.parse-failure? W2523) (let W2528 (if (cons? V2517) (let W2529 (tail V2517) (let W2530 (shen. W2529) (if (shen.parse-failure? W2530) (shen.parse-failure) (let W2531 (shen.in-> W2530) (shen.comb W2531 shen.skip))))) (shen.parse-failure)) (if (shen.parse-failure? W2528) (shen.parse-failure) W2528)) W2523)) W2518))) -(defun shen. (V2518) (let W2519 (let W2520 (shen. V2518) (if (shen.parse-failure? W2520) (shen.parse-failure) (let W2521 (shen.<-out W2520) (let W2522 (shen.in-> W2520) (shen.comb W2522 W2521))))) (if (shen.parse-failure? W2519) (let W2523 (let W2524 (shen. V2518) (if (shen.parse-failure? W2524) (shen.parse-failure) (let W2525 (shen.<-out W2524) (let W2526 (shen.in-> W2524) (shen.comb W2526 W2525))))) (if (shen.parse-failure? W2523) (let W2527 (let W2528 (shen. V2518) (if (shen.parse-failure? W2528) (shen.parse-failure) (let W2529 (shen.<-out W2528) (let W2530 (shen.in-> W2528) (shen.comb W2530 (if (= W2529 "<>") (cons vector (cons 0 ())) (intern W2529))))))) (if (shen.parse-failure? W2527) (shen.parse-failure) W2527)) W2523)) W2519))) +(defun shen. (V2532) (let W2533 (let W2534 (shen. V2532) (if (shen.parse-failure? W2534) (shen.parse-failure) (let W2535 (shen.<-out W2534) (let W2536 (shen.in-> W2534) (shen.comb W2536 W2535))))) (if (shen.parse-failure? W2533) (let W2537 (let W2538 (shen. V2532) (if (shen.parse-failure? W2538) (shen.parse-failure) (let W2539 (shen.<-out W2538) (let W2540 (shen.in-> W2538) (shen.comb W2540 W2539))))) (if (shen.parse-failure? W2537) (let W2541 (let W2542 (shen. V2532) (if (shen.parse-failure? W2542) (shen.parse-failure) (let W2543 (shen.<-out W2542) (let W2544 (shen.in-> W2542) (shen.comb W2544 (if (= W2543 "<>") (cons vector (cons 0 ())) (intern W2543))))))) (if (shen.parse-failure? W2541) (shen.parse-failure) W2541)) W2537)) W2533))) -(defun shen. (V2531) (let W2532 (let W2533 (shen. V2531) (if (shen.parse-failure? W2533) (shen.parse-failure) (let W2534 (shen.<-out W2533) (let W2535 (shen.in-> W2533) (let W2536 (shen. W2535) (if (shen.parse-failure? W2536) (shen.parse-failure) (let W2537 (shen.<-out W2536) (let W2538 (shen.in-> W2536) (shen.comb W2538 (cn W2534 W2537)))))))))) (if (shen.parse-failure? W2532) (shen.parse-failure) W2532))) +(defun shen. (V2545) (let W2546 (let W2547 (shen. V2545) (if (shen.parse-failure? W2547) (shen.parse-failure) (let W2548 (shen.<-out W2547) (let W2549 (shen.in-> W2547) (let W2550 (shen. W2549) (if (shen.parse-failure? W2550) (shen.parse-failure) (let W2551 (shen.<-out W2550) (let W2552 (shen.in-> W2550) (shen.comb W2552 (cn W2548 W2551)))))))))) (if (shen.parse-failure? W2546) (shen.parse-failure) W2546))) -(defun shen. (V2539) (let W2540 (if (cons? V2539) (let W2541 (head V2539) (let W2542 (tail V2539) (if (shen.alpha? W2541) (shen.comb W2542 (n->string W2541)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2540) (shen.parse-failure) W2540))) +(defun shen. (V2553) (let W2554 (if (cons? V2553) (let W2555 (head V2553) (let W2556 (tail V2553) (if (shen.alpha? W2555) (shen.comb W2556 (n->string W2555)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2554) (shen.parse-failure) W2554))) -(defun shen.alpha? (V2543) (or (shen.lowercase? V2543) (or (shen.uppercase? V2543) (shen.misc? V2543)))) +(defun shen.alpha? (V2557) (or (shen.lowercase? V2557) (or (shen.uppercase? V2557) (shen.misc? V2557)))) -(defun shen.lowercase? (V2544) (and (>= V2544 97) (<= V2544 122))) +(defun shen.lowercase? (V2558) (and (>= V2558 97) (<= V2558 122))) -(defun shen.uppercase? (V2545) (and (>= V2545 65) (<= V2545 90))) +(defun shen.uppercase? (V2559) (and (>= V2559 65) (<= V2559 90))) -(defun shen.misc? (V2546) (element? V2546 (cons 61 (cons 45 (cons 42 (cons 47 (cons 43 (cons 95 (cons 63 (cons 36 (cons 33 (cons 64 (cons 126 (cons 46 (cons 62 (cons 60 (cons 38 (cons 37 (cons 39 (cons 35 (cons 96 ()))))))))))))))))))))) +(defun shen.misc? (V2560) (element? V2560 (cons 61 (cons 45 (cons 42 (cons 47 (cons 43 (cons 95 (cons 63 (cons 36 (cons 33 (cons 64 (cons 126 (cons 46 (cons 62 (cons 60 (cons 38 (cons 37 (cons 39 (cons 35 (cons 96 ()))))))))))))))))))))) -(defun shen. (V2547) (let W2548 (let W2549 (shen. V2547) (if (shen.parse-failure? W2549) (shen.parse-failure) (let W2550 (shen.<-out W2549) (let W2551 (shen.in-> W2549) (let W2552 (shen. W2551) (if (shen.parse-failure? W2552) (shen.parse-failure) (let W2553 (shen.<-out W2552) (let W2554 (shen.in-> W2552) (shen.comb W2554 (cn W2550 W2553)))))))))) (if (shen.parse-failure? W2548) (let W2555 (let W2556 ( V2547) (if (shen.parse-failure? W2556) (shen.parse-failure) (let W2557 (shen.in-> W2556) (shen.comb W2557 "")))) (if (shen.parse-failure? W2555) (shen.parse-failure) W2555)) W2548))) +(defun shen. (V2561) (let W2562 (let W2563 (shen. V2561) (if (shen.parse-failure? W2563) (shen.parse-failure) (let W2564 (shen.<-out W2563) (let W2565 (shen.in-> W2563) (let W2566 (shen. W2565) (if (shen.parse-failure? W2566) (shen.parse-failure) (let W2567 (shen.<-out W2566) (let W2568 (shen.in-> W2566) (shen.comb W2568 (cn W2564 W2567)))))))))) (if (shen.parse-failure? W2562) (let W2569 (let W2570 ( V2561) (if (shen.parse-failure? W2570) (shen.parse-failure) (let W2571 (shen.in-> W2570) (shen.comb W2571 "")))) (if (shen.parse-failure? W2569) (shen.parse-failure) W2569)) W2562))) -(defun shen. (V2558) (let W2559 (let W2560 (shen. V2558) (if (shen.parse-failure? W2560) (shen.parse-failure) (let W2561 (shen.<-out W2560) (let W2562 (shen.in-> W2560) (shen.comb W2562 W2561))))) (if (shen.parse-failure? W2559) (let W2563 (let W2564 (shen. V2558) (if (shen.parse-failure? W2564) (shen.parse-failure) (let W2565 (shen.<-out W2564) (let W2566 (shen.in-> W2564) (shen.comb W2566 W2565))))) (if (shen.parse-failure? W2563) (shen.parse-failure) W2563)) W2559))) +(defun shen. (V2572) (let W2573 (let W2574 (shen. V2572) (if (shen.parse-failure? W2574) (shen.parse-failure) (let W2575 (shen.<-out W2574) (let W2576 (shen.in-> W2574) (shen.comb W2576 W2575))))) (if (shen.parse-failure? W2573) (let W2577 (let W2578 (shen. V2572) (if (shen.parse-failure? W2578) (shen.parse-failure) (let W2579 (shen.<-out W2578) (let W2580 (shen.in-> W2578) (shen.comb W2580 W2579))))) (if (shen.parse-failure? W2577) (shen.parse-failure) W2577)) W2573))) -(defun shen. (V2567) (let W2568 (if (cons? V2567) (let W2569 (head V2567) (let W2570 (tail V2567) (if (shen.digit? W2569) (shen.comb W2570 (n->string W2569)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2568) (shen.parse-failure) W2568))) +(defun shen. (V2581) (let W2582 (if (cons? V2581) (let W2583 (head V2581) (let W2584 (tail V2581) (if (shen.digit? W2583) (shen.comb W2584 (n->string W2583)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2582) (shen.parse-failure) W2582))) -(defun shen.digit? (V2571) (and (>= V2571 48) (<= V2571 57))) +(defun shen.digit? (V2585) (and (>= V2585 48) (<= V2585 57))) -(defun shen. (V2572) (let W2573 (let W2574 (shen. V2572) (if (shen.parse-failure? W2574) (shen.parse-failure) (let W2575 (shen.in-> W2574) (let W2576 (shen. W2575) (if (shen.parse-failure? W2576) (shen.parse-failure) (let W2577 (shen.<-out W2576) (let W2578 (shen.in-> W2576) (let W2579 (shen. W2578) (if (shen.parse-failure? W2579) (shen.parse-failure) (let W2580 (shen.in-> W2579) (shen.comb W2580 W2577))))))))))) (if (shen.parse-failure? W2573) (shen.parse-failure) W2573))) +(defun shen. (V2586) (let W2587 (let W2588 (shen. V2586) (if (shen.parse-failure? W2588) (shen.parse-failure) (let W2589 (shen.in-> W2588) (let W2590 (shen. W2589) (if (shen.parse-failure? W2590) (shen.parse-failure) (let W2591 (shen.<-out W2590) (let W2592 (shen.in-> W2590) (let W2593 (shen. W2592) (if (shen.parse-failure? W2593) (shen.parse-failure) (let W2594 (shen.in-> W2593) (shen.comb W2594 W2591))))))))))) (if (shen.parse-failure? W2587) (shen.parse-failure) W2587))) -(defun shen. (V2581) (let W2582 (if (shen.hds=? V2581 34) (let W2583 (tail V2581) (shen.comb W2583 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2582) (shen.parse-failure) W2582))) +(defun shen. (V2595) (let W2596 (if (shen.hds=? V2595 34) (let W2597 (tail V2595) (shen.comb W2597 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2596) (shen.parse-failure) W2596))) -(defun shen. (V2584) (let W2585 (let W2586 (shen. V2584) (if (shen.parse-failure? W2586) (shen.parse-failure) (let W2587 (shen.<-out W2586) (let W2588 (shen.in-> W2586) (let W2589 (shen. W2588) (if (shen.parse-failure? W2589) (shen.parse-failure) (let W2590 (shen.<-out W2589) (let W2591 (shen.in-> W2589) (shen.comb W2591 (cn W2587 W2590)))))))))) (if (shen.parse-failure? W2585) (let W2592 (let W2593 ( V2584) (if (shen.parse-failure? W2593) (shen.parse-failure) (let W2594 (shen.in-> W2593) (shen.comb W2594 "")))) (if (shen.parse-failure? W2592) (shen.parse-failure) W2592)) W2585))) +(defun shen. (V2598) (let W2599 (let W2600 (shen. V2598) (if (shen.parse-failure? W2600) (shen.parse-failure) (let W2601 (shen.<-out W2600) (let W2602 (shen.in-> W2600) (let W2603 (shen. W2602) (if (shen.parse-failure? W2603) (shen.parse-failure) (let W2604 (shen.<-out W2603) (let W2605 (shen.in-> W2603) (shen.comb W2605 (cn W2601 W2604)))))))))) (if (shen.parse-failure? W2599) (let W2606 (let W2607 ( V2598) (if (shen.parse-failure? W2607) (shen.parse-failure) (let W2608 (shen.in-> W2607) (shen.comb W2608 "")))) (if (shen.parse-failure? W2606) (shen.parse-failure) W2606)) W2599))) -(defun shen. (V2595) (let W2596 (let W2597 (shen. V2595) (if (shen.parse-failure? W2597) (shen.parse-failure) (let W2598 (shen.<-out W2597) (let W2599 (shen.in-> W2597) (shen.comb W2599 W2598))))) (if (shen.parse-failure? W2596) (let W2600 (let W2601 (shen. V2595) (if (shen.parse-failure? W2601) (shen.parse-failure) (let W2602 (shen.<-out W2601) (let W2603 (shen.in-> W2601) (shen.comb W2603 W2602))))) (if (shen.parse-failure? W2600) (shen.parse-failure) W2600)) W2596))) +(defun shen. (V2609) (let W2610 (let W2611 (shen. V2609) (if (shen.parse-failure? W2611) (shen.parse-failure) (let W2612 (shen.<-out W2611) (let W2613 (shen.in-> W2611) (shen.comb W2613 W2612))))) (if (shen.parse-failure? W2610) (let W2614 (let W2615 (shen. V2609) (if (shen.parse-failure? W2615) (shen.parse-failure) (let W2616 (shen.<-out W2615) (let W2617 (shen.in-> W2615) (shen.comb W2617 W2616))))) (if (shen.parse-failure? W2614) (shen.parse-failure) W2614)) W2610))) -(defun shen. (V2604) (let W2605 (let W2606 (shen. V2604) (if (shen.parse-failure? W2606) (shen.parse-failure) (let W2607 (shen.in-> W2606) (let W2608 (shen. W2607) (if (shen.parse-failure? W2608) (shen.parse-failure) (let W2609 (shen.in-> W2608) (let W2610 (shen. W2609) (if (shen.parse-failure? W2610) (shen.parse-failure) (let W2611 (shen.<-out W2610) (let W2612 (shen.in-> W2610) (let W2613 (shen. W2612) (if (shen.parse-failure? W2613) (shen.parse-failure) (let W2614 (shen.in-> W2613) (shen.comb W2614 (n->string W2611))))))))))))))) (if (shen.parse-failure? W2605) (shen.parse-failure) W2605))) +(defun shen. (V2618) (let W2619 (let W2620 (shen. V2618) (if (shen.parse-failure? W2620) (shen.parse-failure) (let W2621 (shen.in-> W2620) (let W2622 (shen. W2621) (if (shen.parse-failure? W2622) (shen.parse-failure) (let W2623 (shen.in-> W2622) (let W2624 (shen. W2623) (if (shen.parse-failure? W2624) (shen.parse-failure) (let W2625 (shen.<-out W2624) (let W2626 (shen.in-> W2624) (let W2627 (shen. W2626) (if (shen.parse-failure? W2627) (shen.parse-failure) (let W2628 (shen.in-> W2627) (shen.comb W2628 (n->string W2625))))))))))))))) (if (shen.parse-failure? W2619) (shen.parse-failure) W2619))) -(defun shen. (V2615) (let W2616 (if (cons? V2615) (let W2617 (head V2615) (let W2618 (tail V2615) (if (not (= W2617 34)) (shen.comb W2618 (n->string W2617)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2616) (shen.parse-failure) W2616))) +(defun shen. (V2629) (let W2630 (if (cons? V2629) (let W2631 (head V2629) (let W2632 (tail V2629) (if (not (= W2631 34)) (shen.comb W2632 (n->string W2631)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2630) (shen.parse-failure) W2630))) -(defun shen. (V2619) (let W2620 (if (shen.hds=? V2619 99) (let W2621 (tail V2619) (shen.comb W2621 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2620) (shen.parse-failure) W2620))) +(defun shen. (V2633) (let W2634 (if (shen.hds=? V2633 99) (let W2635 (tail V2633) (shen.comb W2635 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2634) (shen.parse-failure) W2634))) -(defun shen. (V2622) (let W2623 (if (shen.hds=? V2622 35) (let W2624 (tail V2622) (shen.comb W2624 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2623) (shen.parse-failure) W2623))) +(defun shen. (V2636) (let W2637 (if (shen.hds=? V2636 35) (let W2638 (tail V2636) (shen.comb W2638 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2637) (shen.parse-failure) W2637))) -(defun shen. (V2625) (let W2626 (let W2627 (shen. V2625) (if (shen.parse-failure? W2627) (shen.parse-failure) (let W2628 (shen.in-> W2627) (let W2629 (shen. W2628) (if (shen.parse-failure? W2629) (shen.parse-failure) (let W2630 (shen.<-out W2629) (let W2631 (shen.in-> W2629) (shen.comb W2631 (- 0 W2630))))))))) (if (shen.parse-failure? W2626) (let W2632 (let W2633 (shen. V2625) (if (shen.parse-failure? W2633) (shen.parse-failure) (let W2634 (shen.in-> W2633) (let W2635 (shen. W2634) (if (shen.parse-failure? W2635) (shen.parse-failure) (let W2636 (shen.<-out W2635) (let W2637 (shen.in-> W2635) (shen.comb W2637 W2636)))))))) (if (shen.parse-failure? W2632) (let W2638 (let W2639 (shen. V2625) (if (shen.parse-failure? W2639) (shen.parse-failure) (let W2640 (shen.<-out W2639) (let W2641 (shen.in-> W2639) (shen.comb W2641 W2640))))) (if (shen.parse-failure? W2638) (let W2642 (let W2643 (shen. V2625) (if (shen.parse-failure? W2643) (shen.parse-failure) (let W2644 (shen.<-out W2643) (let W2645 (shen.in-> W2643) (shen.comb W2645 W2644))))) (if (shen.parse-failure? W2642) (let W2646 (let W2647 (shen. V2625) (if (shen.parse-failure? W2647) (shen.parse-failure) (let W2648 (shen.<-out W2647) (let W2649 (shen.in-> W2647) (shen.comb W2649 W2648))))) (if (shen.parse-failure? W2646) (shen.parse-failure) W2646)) W2642)) W2638)) W2632)) W2626))) +(defun shen. (V2639) (let W2640 (let W2641 (shen. V2639) (if (shen.parse-failure? W2641) (shen.parse-failure) (let W2642 (shen.in-> W2641) (let W2643 (shen. W2642) (if (shen.parse-failure? W2643) (shen.parse-failure) (let W2644 (shen.<-out W2643) (let W2645 (shen.in-> W2643) (shen.comb W2645 (- 0 W2644))))))))) (if (shen.parse-failure? W2640) (let W2646 (let W2647 (shen. V2639) (if (shen.parse-failure? W2647) (shen.parse-failure) (let W2648 (shen.in-> W2647) (let W2649 (shen. W2648) (if (shen.parse-failure? W2649) (shen.parse-failure) (let W2650 (shen.<-out W2649) (let W2651 (shen.in-> W2649) (shen.comb W2651 W2650)))))))) (if (shen.parse-failure? W2646) (let W2652 (let W2653 (shen. V2639) (if (shen.parse-failure? W2653) (shen.parse-failure) (let W2654 (shen.<-out W2653) (let W2655 (shen.in-> W2653) (shen.comb W2655 W2654))))) (if (shen.parse-failure? W2652) (let W2656 (let W2657 (shen. V2639) (if (shen.parse-failure? W2657) (shen.parse-failure) (let W2658 (shen.<-out W2657) (let W2659 (shen.in-> W2657) (shen.comb W2659 W2658))))) (if (shen.parse-failure? W2656) (let W2660 (let W2661 (shen. V2639) (if (shen.parse-failure? W2661) (shen.parse-failure) (let W2662 (shen.<-out W2661) (let W2663 (shen.in-> W2661) (shen.comb W2663 W2662))))) (if (shen.parse-failure? W2660) (shen.parse-failure) W2660)) W2656)) W2652)) W2646)) W2640))) -(defun shen. (V2650) (let W2651 (if (shen.hds=? V2650 45) (let W2652 (tail V2650) (shen.comb W2652 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2651) (shen.parse-failure) W2651))) +(defun shen. (V2664) (let W2665 (if (shen.hds=? V2664 45) (let W2666 (tail V2664) (shen.comb W2666 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2665) (shen.parse-failure) W2665))) -(defun shen. (V2653) (let W2654 (if (shen.hds=? V2653 43) (let W2655 (tail V2653) (shen.comb W2655 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2654) (shen.parse-failure) W2654))) +(defun shen. (V2667) (let W2668 (if (shen.hds=? V2667 43) (let W2669 (tail V2667) (shen.comb W2669 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2668) (shen.parse-failure) W2668))) -(defun shen. (V2656) (let W2657 (let W2658 (shen. V2656) (if (shen.parse-failure? W2658) (shen.parse-failure) (let W2659 (shen.<-out W2658) (let W2660 (shen.in-> W2658) (shen.comb W2660 (shen.compute-integer W2659)))))) (if (shen.parse-failure? W2657) (shen.parse-failure) W2657))) +(defun shen. (V2670) (let W2671 (let W2672 (shen. V2670) (if (shen.parse-failure? W2672) (shen.parse-failure) (let W2673 (shen.<-out W2672) (let W2674 (shen.in-> W2672) (shen.comb W2674 (shen.compute-integer W2673)))))) (if (shen.parse-failure? W2671) (shen.parse-failure) W2671))) -(defun shen. (V2661) (let W2662 (let W2663 (shen. V2661) (if (shen.parse-failure? W2663) (shen.parse-failure) (let W2664 (shen.<-out W2663) (let W2665 (shen.in-> W2663) (let W2666 (shen. W2665) (if (shen.parse-failure? W2666) (shen.parse-failure) (let W2667 (shen.<-out W2666) (let W2668 (shen.in-> W2666) (shen.comb W2668 (cons W2664 W2667)))))))))) (if (shen.parse-failure? W2662) (let W2669 (let W2670 (shen. V2661) (if (shen.parse-failure? W2670) (shen.parse-failure) (let W2671 (shen.<-out W2670) (let W2672 (shen.in-> W2670) (shen.comb W2672 (cons W2671 ())))))) (if (shen.parse-failure? W2669) (shen.parse-failure) W2669)) W2662))) +(defun shen. (V2675) (let W2676 (let W2677 (shen. V2675) (if (shen.parse-failure? W2677) (shen.parse-failure) (let W2678 (shen.<-out W2677) (let W2679 (shen.in-> W2677) (let W2680 (shen. W2679) (if (shen.parse-failure? W2680) (shen.parse-failure) (let W2681 (shen.<-out W2680) (let W2682 (shen.in-> W2680) (shen.comb W2682 (cons W2678 W2681)))))))))) (if (shen.parse-failure? W2676) (let W2683 (let W2684 (shen. V2675) (if (shen.parse-failure? W2684) (shen.parse-failure) (let W2685 (shen.<-out W2684) (let W2686 (shen.in-> W2684) (shen.comb W2686 (cons W2685 ())))))) (if (shen.parse-failure? W2683) (shen.parse-failure) W2683)) W2676))) -(defun shen. (V2673) (let W2674 (if (cons? V2673) (let W2675 (head V2673) (let W2676 (tail V2673) (if (shen.digit? W2675) (shen.comb W2676 (shen.byte->digit W2675)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2674) (shen.parse-failure) W2674))) +(defun shen. (V2687) (let W2688 (if (cons? V2687) (let W2689 (head V2687) (let W2690 (tail V2687) (if (shen.digit? W2689) (shen.comb W2690 (shen.byte->digit W2689)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2688) (shen.parse-failure) W2688))) -(defun shen.byte->digit (V2677) (- V2677 48)) +(defun shen.byte->digit (V2691) (- V2691 48)) -(defun shen.compute-integer (V2678) (shen.compute-integer-h (reverse V2678) 0)) +(defun shen.compute-integer (V2692) (shen.compute-integer-h (reverse V2692) 0)) -(defun shen.compute-integer-h (V2681 V2682) (cond ((= () V2681) 0) ((cons? V2681) (+ (* (shen.expt 10 V2682) (hd V2681)) (shen.compute-integer-h (tl V2681) (+ V2682 1)))) (true (simple-error "partial function shen.compute-integer-h")))) +(defun shen.compute-integer-h (V2695 V2696) (cond ((= () V2695) 0) ((cons? V2695) (+ (* (shen.expt 10 V2696) (hd V2695)) (shen.compute-integer-h (tl V2695) (+ V2696 1)))) (true (simple-error "partial function shen.compute-integer-h")))) -(defun shen.expt (V2685 V2686) (cond ((= 0 V2686) 1) ((> V2686 0) (* V2685 (shen.expt V2685 (- V2686 1)))) (true (/ (shen.expt V2685 (+ V2686 1)) V2685)))) +(defun shen.expt (V2699 V2700) (cond ((= 0 V2700) 1) ((> V2700 0) (* V2699 (shen.expt V2699 (- V2700 1)))) (true (/ (shen.expt V2699 (+ V2700 1)) V2699)))) -(defun shen. (V2687) (let W2688 (let W2689 (shen. V2687) (if (shen.parse-failure? W2689) (shen.parse-failure) (let W2690 (shen.<-out W2689) (let W2691 (shen.in-> W2689) (let W2692 (shen. W2691) (if (shen.parse-failure? W2692) (shen.parse-failure) (let W2693 (shen.in-> W2692) (let W2694 (shen. W2693) (if (shen.parse-failure? W2694) (shen.parse-failure) (let W2695 (shen.<-out W2694) (let W2696 (shen.in-> W2694) (shen.comb W2696 (+ W2690 W2695))))))))))))) (if (shen.parse-failure? W2688) (let W2697 (let W2698 (shen. V2687) (if (shen.parse-failure? W2698) (shen.parse-failure) (let W2699 (shen.in-> W2698) (let W2700 (shen. W2699) (if (shen.parse-failure? W2700) (shen.parse-failure) (let W2701 (shen.<-out W2700) (let W2702 (shen.in-> W2700) (shen.comb W2702 W2701)))))))) (if (shen.parse-failure? W2697) (shen.parse-failure) W2697)) W2688))) +(defun shen. (V2701) (let W2702 (let W2703 (shen. V2701) (if (shen.parse-failure? W2703) (shen.parse-failure) (let W2704 (shen.<-out W2703) (let W2705 (shen.in-> W2703) (let W2706 (shen. W2705) (if (shen.parse-failure? W2706) (shen.parse-failure) (let W2707 (shen.in-> W2706) (let W2708 (shen. W2707) (if (shen.parse-failure? W2708) (shen.parse-failure) (let W2709 (shen.<-out W2708) (let W2710 (shen.in-> W2708) (shen.comb W2710 (+ W2704 W2709))))))))))))) (if (shen.parse-failure? W2702) (let W2711 (let W2712 (shen. V2701) (if (shen.parse-failure? W2712) (shen.parse-failure) (let W2713 (shen.in-> W2712) (let W2714 (shen. W2713) (if (shen.parse-failure? W2714) (shen.parse-failure) (let W2715 (shen.<-out W2714) (let W2716 (shen.in-> W2714) (shen.comb W2716 W2715)))))))) (if (shen.parse-failure? W2711) (shen.parse-failure) W2711)) W2702))) -(defun shen. (V2703) (let W2704 (if (shen.hds=? V2703 46) (let W2705 (tail V2703) (shen.comb W2705 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2704) (shen.parse-failure) W2704))) +(defun shen. (V2717) (let W2718 (if (shen.hds=? V2717 46) (let W2719 (tail V2717) (shen.comb W2719 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2718) (shen.parse-failure) W2718))) -(defun shen. (V2706) (let W2707 (let W2708 (shen. V2706) (if (shen.parse-failure? W2708) (shen.parse-failure) (let W2709 (shen.<-out W2708) (let W2710 (shen.in-> W2708) (shen.comb W2710 (shen.compute-fraction W2709)))))) (if (shen.parse-failure? W2707) (shen.parse-failure) W2707))) +(defun shen. (V2720) (let W2721 (let W2722 (shen. V2720) (if (shen.parse-failure? W2722) (shen.parse-failure) (let W2723 (shen.<-out W2722) (let W2724 (shen.in-> W2722) (shen.comb W2724 (shen.compute-fraction W2723)))))) (if (shen.parse-failure? W2721) (shen.parse-failure) W2721))) -(defun shen.compute-fraction (V2711) (shen.compute-fraction-h V2711 -1)) +(defun shen.compute-fraction (V2725) (shen.compute-fraction-h V2725 -1)) -(defun shen.compute-fraction-h (V2714 V2715) (cond ((= () V2714) 0) ((cons? V2714) (+ (* (shen.expt 10 V2715) (hd V2714)) (shen.compute-fraction-h (tl V2714) (- V2715 1)))) (true (simple-error "partial function shen.compute-fraction-h")))) +(defun shen.compute-fraction-h (V2728 V2729) (cond ((= () V2728) 0) ((cons? V2728) (+ (* (shen.expt 10 V2729) (hd V2728)) (shen.compute-fraction-h (tl V2728) (- V2729 1)))) (true (simple-error "partial function shen.compute-fraction-h")))) -(defun shen. (V2716) (let W2717 (let W2718 (shen. V2716) (if (shen.parse-failure? W2718) (shen.parse-failure) (let W2719 (shen.<-out W2718) (let W2720 (shen.in-> W2718) (let W2721 (shen. W2720) (if (shen.parse-failure? W2721) (shen.parse-failure) (let W2722 (shen.in-> W2721) (let W2723 (shen. W2722) (if (shen.parse-failure? W2723) (shen.parse-failure) (let W2724 (shen.<-out W2723) (let W2725 (shen.in-> W2723) (shen.comb W2725 (shen.compute-E W2719 W2724))))))))))))) (if (shen.parse-failure? W2717) (let W2726 (let W2727 (shen. V2716) (if (shen.parse-failure? W2727) (shen.parse-failure) (let W2728 (shen.<-out W2727) (let W2729 (shen.in-> W2727) (let W2730 (shen. W2729) (if (shen.parse-failure? W2730) (shen.parse-failure) (let W2731 (shen.in-> W2730) (let W2732 (shen. W2731) (if (shen.parse-failure? W2732) (shen.parse-failure) (let W2733 (shen.<-out W2732) (let W2734 (shen.in-> W2732) (shen.comb W2734 (shen.compute-E W2728 W2733))))))))))))) (if (shen.parse-failure? W2726) (shen.parse-failure) W2726)) W2717))) +(defun shen. (V2730) (let W2731 (let W2732 (shen. V2730) (if (shen.parse-failure? W2732) (shen.parse-failure) (let W2733 (shen.<-out W2732) (let W2734 (shen.in-> W2732) (let W2735 (shen. W2734) (if (shen.parse-failure? W2735) (shen.parse-failure) (let W2736 (shen.in-> W2735) (let W2737 (shen. W2736) (if (shen.parse-failure? W2737) (shen.parse-failure) (let W2738 (shen.<-out W2737) (let W2739 (shen.in-> W2737) (shen.comb W2739 (shen.compute-E W2733 W2738))))))))))))) (if (shen.parse-failure? W2731) (let W2740 (let W2741 (shen. V2730) (if (shen.parse-failure? W2741) (shen.parse-failure) (let W2742 (shen.<-out W2741) (let W2743 (shen.in-> W2741) (let W2744 (shen. W2743) (if (shen.parse-failure? W2744) (shen.parse-failure) (let W2745 (shen.in-> W2744) (let W2746 (shen. W2745) (if (shen.parse-failure? W2746) (shen.parse-failure) (let W2747 (shen.<-out W2746) (let W2748 (shen.in-> W2746) (shen.comb W2748 (shen.compute-E W2742 W2747))))))))))))) (if (shen.parse-failure? W2740) (shen.parse-failure) W2740)) W2731))) -(defun shen. (V2735) (let W2736 (let W2737 (shen. V2735) (if (shen.parse-failure? W2737) (shen.parse-failure) (let W2738 (shen.in-> W2737) (let W2739 (shen. W2738) (if (shen.parse-failure? W2739) (shen.parse-failure) (let W2740 (shen.<-out W2739) (let W2741 (shen.in-> W2739) (shen.comb W2741 W2740)))))))) (if (shen.parse-failure? W2736) (let W2742 (let W2743 (shen. V2735) (if (shen.parse-failure? W2743) (shen.parse-failure) (let W2744 (shen.in-> W2743) (let W2745 (shen. W2744) (if (shen.parse-failure? W2745) (shen.parse-failure) (let W2746 (shen.<-out W2745) (let W2747 (shen.in-> W2745) (shen.comb W2747 (- 0 W2746))))))))) (if (shen.parse-failure? W2742) (let W2748 (let W2749 (shen. V2735) (if (shen.parse-failure? W2749) (shen.parse-failure) (let W2750 (shen.<-out W2749) (let W2751 (shen.in-> W2749) (shen.comb W2751 W2750))))) (if (shen.parse-failure? W2748) (shen.parse-failure) W2748)) W2742)) W2736))) +(defun shen. (V2749) (let W2750 (let W2751 (shen. V2749) (if (shen.parse-failure? W2751) (shen.parse-failure) (let W2752 (shen.in-> W2751) (let W2753 (shen. W2752) (if (shen.parse-failure? W2753) (shen.parse-failure) (let W2754 (shen.<-out W2753) (let W2755 (shen.in-> W2753) (shen.comb W2755 W2754)))))))) (if (shen.parse-failure? W2750) (let W2756 (let W2757 (shen. V2749) (if (shen.parse-failure? W2757) (shen.parse-failure) (let W2758 (shen.in-> W2757) (let W2759 (shen. W2758) (if (shen.parse-failure? W2759) (shen.parse-failure) (let W2760 (shen.<-out W2759) (let W2761 (shen.in-> W2759) (shen.comb W2761 (- 0 W2760))))))))) (if (shen.parse-failure? W2756) (let W2762 (let W2763 (shen. V2749) (if (shen.parse-failure? W2763) (shen.parse-failure) (let W2764 (shen.<-out W2763) (let W2765 (shen.in-> W2763) (shen.comb W2765 W2764))))) (if (shen.parse-failure? W2762) (shen.parse-failure) W2762)) W2756)) W2750))) -(defun shen. (V2752) (let W2753 (if (shen.hds=? V2752 101) (let W2754 (tail V2752) (shen.comb W2754 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2753) (shen.parse-failure) W2753))) +(defun shen. (V2766) (let W2767 (if (shen.hds=? V2766 101) (let W2768 (tail V2766) (shen.comb W2768 shen.skip)) (shen.parse-failure)) (if (shen.parse-failure? W2767) (shen.parse-failure) W2767))) -(defun shen.compute-E (V2755 V2756) (* V2755 (shen.expt 10 V2756))) +(defun shen.compute-E (V2769 V2770) (* V2769 (shen.expt 10 V2770))) -(defun shen. (V2757) (let W2758 (let W2759 (shen. V2757) (if (shen.parse-failure? W2759) (shen.parse-failure) (let W2760 (shen.in-> W2759) (let W2761 (shen. W2760) (if (shen.parse-failure? W2761) (shen.parse-failure) (let W2762 (shen.in-> W2761) (shen.comb W2762 shen.skip))))))) (if (shen.parse-failure? W2758) (let W2763 (let W2764 (shen. V2757) (if (shen.parse-failure? W2764) (shen.parse-failure) (let W2765 (shen.in-> W2764) (shen.comb W2765 shen.skip)))) (if (shen.parse-failure? W2763) (shen.parse-failure) W2763)) W2758))) +(defun shen. (V2771) (let W2772 (let W2773 (shen. V2771) (if (shen.parse-failure? W2773) (shen.parse-failure) (let W2774 (shen.in-> W2773) (let W2775 (shen. W2774) (if (shen.parse-failure? W2775) (shen.parse-failure) (let W2776 (shen.in-> W2775) (shen.comb W2776 shen.skip))))))) (if (shen.parse-failure? W2772) (let W2777 (let W2778 (shen. V2771) (if (shen.parse-failure? W2778) (shen.parse-failure) (let W2779 (shen.in-> W2778) (shen.comb W2779 shen.skip)))) (if (shen.parse-failure? W2777) (shen.parse-failure) W2777)) W2772))) -(defun shen. (V2766) (let W2767 (if (cons? V2766) (let W2768 (head V2766) (let W2769 (tail V2766) (if (shen.whitespace? W2768) (shen.comb W2769 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2767) (shen.parse-failure) W2767))) +(defun shen. (V2780) (let W2781 (if (cons? V2780) (let W2782 (head V2780) (let W2783 (tail V2780) (if (shen.whitespace? W2782) (shen.comb W2783 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W2781) (shen.parse-failure) W2781))) -(defun shen.whitespace? (V2772) (cond ((= 32 V2772) true) ((= 13 V2772) true) ((= 10 V2772) true) ((= 9 V2772) true) (true false))) +(defun shen.whitespace? (V2786) (cond ((= 32 V2786) true) ((= 13 V2786) true) ((= 10 V2786) true) ((= 9 V2786) true) (true false))) -(defun shen.unpackage¯oexpand (V2773) (cond ((= () V2773) ()) ((and (cons? V2773) (shen.packaged? (hd V2773))) (shen.unpackage¯oexpand (append (shen.unpackage (hd V2773)) (tl V2773)))) ((cons? V2773) (let W2774 (macroexpand (hd V2773)) (if (shen.packaged? W2774) (shen.unpackage¯oexpand (cons W2774 (tl V2773))) (cons W2774 (shen.unpackage¯oexpand (tl V2773)))))) (true (simple-error "partial function shen.unpackage¯oexpand")))) +(defun shen.unpackage¯oexpand (V2787) (cond ((= () V2787) ()) ((and (cons? V2787) (shen.packaged? (hd V2787))) (shen.unpackage¯oexpand (append (shen.unpackage (hd V2787)) (tl V2787)))) ((cons? V2787) (let W2788 (macroexpand (hd V2787)) (if (shen.packaged? W2788) (shen.unpackage¯oexpand (cons W2788 (tl V2787))) (cons W2788 (shen.unpackage¯oexpand (tl V2787)))))) (true (simple-error "partial function shen.unpackage¯oexpand")))) -(defun shen.packaged? (V2777) (cond ((and (cons? V2777) (and (= package (hd V2777)) (and (cons? (tl V2777)) (cons? (tl (tl V2777)))))) true) (true false))) +(defun shen.packaged? (V2791) (cond ((and (cons? V2791) (and (= package (hd V2791)) (and (cons? (tl V2791)) (cons? (tl (tl V2791)))))) true) (true false))) -(defun shen.unpackage (V2780) (cond ((and (cons? V2780) (and (= package (hd V2780)) (and (cons? (tl V2780)) (and (= null (hd (tl V2780))) (cons? (tl (tl V2780))))))) (tl (tl (tl V2780)))) ((and (cons? V2780) (and (= package (hd V2780)) (and (cons? (tl V2780)) (cons? (tl (tl V2780)))))) (let W2781 (eval (hd (tl (tl V2780)))) (let W2782 (shen.package-symbols (str (hd (tl V2780))) W2781 (tl (tl (tl V2780)))) (let W2783 (shen.record-external (hd (tl V2780)) W2781) (let W2784 (shen.record-internal (hd (tl V2780)) W2781 (tl (tl (tl V2780)))) W2782))))) (true (simple-error "partial function shen.unpackage")))) +(defun shen.unpackage (V2794) (cond ((and (cons? V2794) (and (= package (hd V2794)) (and (cons? (tl V2794)) (and (= null (hd (tl V2794))) (cons? (tl (tl V2794))))))) (tl (tl (tl V2794)))) ((and (cons? V2794) (and (= package (hd V2794)) (and (cons? (tl V2794)) (cons? (tl (tl V2794)))))) (let W2795 (eval (hd (tl (tl V2794)))) (let W2796 (shen.package-symbols (str (hd (tl V2794))) W2795 (tl (tl (tl V2794)))) (let W2797 (shen.record-external (hd (tl V2794)) W2795) (let W2798 (shen.record-internal (hd (tl V2794)) W2795 (tl (tl (tl V2794)))) W2796))))) (true (simple-error "partial function shen.unpackage")))) -(defun shen.record-internal (V2785 V2786 V2787) (let W2788 (trap-error (get V2785 shen.internal-symbols (value *property-vector*)) (lambda Z2789 ())) (let W2790 (shen.internal-symbols (str V2785) V2786 V2787) (put V2785 shen.internal-symbols (union W2790 W2788) (value *property-vector*))))) +(defun shen.record-internal (V2799 V2800 V2801) (let W2802 (trap-error (get V2799 shen.internal-symbols (value *property-vector*)) (lambda Z2803 ())) (let W2804 (shen.internal-symbols (str V2799) V2800 V2801) (put V2799 shen.internal-symbols (union W2804 W2802) (value *property-vector*))))) -(defun shen.internal-symbols (V2797 V2798 V2799) (cond ((cons? V2799) (union (shen.internal-symbols V2797 V2798 (hd V2799)) (shen.internal-symbols V2797 V2798 (tl V2799)))) ((shen.internal? V2799 V2797 V2798) (cons (shen.intern-in-package V2797 V2799) ())) (true ()))) +(defun shen.internal-symbols (V2811 V2812 V2813) (cond ((cons? V2813) (union (shen.internal-symbols V2811 V2812 (hd V2813)) (shen.internal-symbols V2811 V2812 (tl V2813)))) ((shen.internal? V2813 V2811 V2812) (cons (shen.intern-in-package V2811 V2813) ())) (true ()))) -(defun shen.record-external (V2800 V2801) (let W2802 (trap-error (get V2800 shen.external-symbols (value *property-vector*)) (lambda Z2803 ())) (put V2800 shen.external-symbols (union V2801 W2802) (value *property-vector*)))) +(defun shen.record-external (V2814 V2815) (let W2816 (trap-error (get V2814 shen.external-symbols (value *property-vector*)) (lambda Z2817 ())) (put V2814 shen.external-symbols (union V2815 W2816) (value *property-vector*)))) -(defun shen.package-symbols (V2808 V2809 V2810) (cond ((cons? V2810) (map (lambda Z2811 (shen.package-symbols V2808 V2809 Z2811)) V2810)) ((shen.internal? V2810 V2808 V2809) (shen.intern-in-package V2808 V2810)) (true V2810))) +(defun shen.package-symbols (V2822 V2823 V2824) (cond ((cons? V2824) (map (lambda Z2825 (shen.package-symbols V2822 V2823 Z2825)) V2824)) ((shen.internal? V2824 V2822 V2823) (shen.intern-in-package V2822 V2824)) (true V2824))) -(defun shen.intern-in-package (V2812 V2813) (intern (@s V2812 (@s "." (str V2813))))) +(defun shen.intern-in-package (V2826 V2827) (intern (@s V2826 (@s "." (str V2827))))) -(defun shen.internal? (V2814 V2815 V2816) (and (not (element? V2814 V2816)) (and (not (shen.sng? V2814)) (and (not (shen.dbl? V2814)) (and (symbol? V2814) (and (not (shen.sysfunc? V2814)) (and (not (variable? V2814)) (and (not (shen.internal-to-shen? (str V2814))) (not (shen.internal-to-P? V2815 (str V2814))))))))))) +(defun shen.internal? (V2828 V2829 V2830) (and (not (element? V2828 V2830)) (and (not (shen.sng? V2828)) (and (not (shen.dbl? V2828)) (and (symbol? V2828) (and (not (shen.sysfunc? V2828)) (and (not (variable? V2828)) (and (not (shen.internal-to-shen? (str V2828))) (not (shen.internal-to-P? V2829 (str V2828))))))))))) -(defun shen.internal-to-shen? (V2821) (cond ((and (shen.+string? V2821) (and (= "s" (hdstr V2821)) (and (shen.+string? (tlstr V2821)) (and (= "h" (hdstr (tlstr V2821))) (and (shen.+string? (tlstr (tlstr V2821))) (and (= "e" (hdstr (tlstr (tlstr V2821)))) (and (shen.+string? (tlstr (tlstr (tlstr V2821)))) (and (= "n" (hdstr (tlstr (tlstr (tlstr V2821))))) (and (shen.+string? (tlstr (tlstr (tlstr (tlstr V2821))))) (= "." (hdstr (tlstr (tlstr (tlstr (tlstr V2821))))))))))))))) true) (true false))) +(defun shen.internal-to-shen? (V2835) (cond ((and (shen.+string? V2835) (and (= "s" (hdstr V2835)) (and (shen.+string? (tlstr V2835)) (and (= "h" (hdstr (tlstr V2835))) (and (shen.+string? (tlstr (tlstr V2835))) (and (= "e" (hdstr (tlstr (tlstr V2835)))) (and (shen.+string? (tlstr (tlstr (tlstr V2835)))) (and (= "n" (hdstr (tlstr (tlstr (tlstr V2835))))) (and (shen.+string? (tlstr (tlstr (tlstr (tlstr V2835))))) (= "." (hdstr (tlstr (tlstr (tlstr (tlstr V2835))))))))))))))) true) (true false))) -(defun shen.sysfunc? (V2822) (element? V2822 (get shen shen.external-symbols (value *property-vector*)))) +(defun shen.sysfunc? (V2836) (element? V2836 (get shen shen.external-symbols (value *property-vector*)))) -(defun shen.internal-to-P? (V2830 V2831) (cond ((and (= "" V2830) (and (shen.+string? V2831) (= "." (hdstr V2831)))) true) ((and (shen.+string? V2830) (and (shen.+string? V2831) (= (hdstr V2830) (hdstr V2831)))) (shen.internal-to-P? (tlstr V2830) (tlstr V2831))) (true false))) +(defun shen.internal-to-P? (V2844 V2845) (cond ((and (= "" V2844) (and (shen.+string? V2845) (= "." (hdstr V2845)))) true) ((and (shen.+string? V2844) (and (shen.+string? V2845) (= (hdstr V2844) (hdstr V2845)))) (shen.internal-to-P? (tlstr V2844) (tlstr V2845))) (true false))) -(defun shen.process-applications (V2834 V2835) (cond ((element? V2834 V2835) V2834) ((and (cons? V2834) (shen.non-application? (hd V2834))) (shen.special-case (hd V2834) V2834 V2835)) ((cons? V2834) (shen.process-application (map (lambda Z2836 (shen.process-applications Z2836 V2835)) V2834) V2835)) (true V2834))) +(defun shen.process-applications (V2848 V2849) (cond ((element? V2848 V2849) V2848) ((and (cons? V2848) (shen.non-application? (hd V2848))) (shen.special-case (hd V2848) V2848 V2849)) ((cons? V2848) (shen.process-application (map (lambda Z2850 (shen.process-applications Z2850 V2849)) V2848) V2849)) (true V2848))) -(defun shen.non-application? (V2839) (cond ((= define V2839) true) ((= defun V2839) true) ((= synonyms V2839) true) ((shen.special? V2839) true) ((shen.extraspecial? V2839) true) (true false))) +(defun shen.non-application? (V2853) (cond ((= define V2853) true) ((= defun V2853) true) ((= synonyms V2853) true) ((shen.special? V2853) true) ((shen.extraspecial? V2853) true) (true false))) -(defun shen.special-case (V2844 V2845 V2846) (cond ((and (= lambda V2844) (and (cons? V2845) (and (= lambda (hd V2845)) (and (cons? (tl V2845)) (and (cons? (tl (tl V2845))) (= () (tl (tl (tl V2845))))))))) (cons lambda (cons (hd (tl V2845)) (cons (shen.process-applications (hd (tl (tl V2845))) V2846) ())))) ((and (= let V2844) (and (cons? V2845) (and (= let (hd V2845)) (and (cons? (tl V2845)) (and (cons? (tl (tl V2845))) (and (cons? (tl (tl (tl V2845)))) (= () (tl (tl (tl (tl V2845))))))))))) (cons let (cons (hd (tl V2845)) (cons (shen.process-applications (hd (tl (tl V2845))) V2846) (cons (shen.process-applications (hd (tl (tl (tl V2845)))) V2846) ()))))) ((and (= defun V2844) (and (cons? V2845) (and (= defun (hd V2845)) (and (cons? (tl V2845)) (and (cons? (tl (tl V2845))) (and (cons? (tl (tl (tl V2845)))) (= () (tl (tl (tl (tl V2845))))))))))) V2845) ((and (= define V2844) (and (cons? V2845) (and (= define (hd V2845)) (and (cons? (tl V2845)) (and (cons? (tl (tl V2845))) (= { (hd (tl (tl V2845))))))))) (cons define (cons (hd (tl V2845)) (cons { (shen.process-after-type (hd (tl V2845)) (tl (tl (tl V2845))) V2846))))) ((and (= define V2844) (and (cons? V2845) (and (= define (hd V2845)) (cons? (tl V2845))))) (cons define (cons (hd (tl V2845)) (map (lambda Z2847 (shen.process-applications Z2847 V2846)) (tl (tl V2845)))))) ((= synonyms V2844) (cons synonyms V2845)) ((and (= type V2844) (and (cons? V2845) (and (= type (hd V2845)) (and (cons? (tl V2845)) (and (cons? (tl (tl V2845))) (= () (tl (tl (tl V2845))))))))) (cons type (cons (shen.process-applications (hd (tl V2845)) V2846) (tl (tl V2845))))) ((and (= input+ V2844) (and (cons? V2845) (and (= input+ (hd V2845)) (and (cons? (tl V2845)) (and (cons? (tl (tl V2845))) (= () (tl (tl (tl V2845))))))))) (cons input+ (cons (hd (tl V2845)) (cons (shen.process-applications (hd (tl (tl V2845))) V2846) ())))) ((and (cons? V2845) (shen.special? (hd V2845))) (cons (hd V2845) (map (lambda Z2848 (shen.process-applications Z2848 V2846)) (tl V2845)))) ((and (cons? V2845) (shen.extraspecial? (hd V2845))) V2845) (true (simple-error "partial function shen.special-case")))) +(defun shen.special-case (V2858 V2859 V2860) (cond ((and (= lambda V2858) (and (cons? V2859) (and (= lambda (hd V2859)) (and (cons? (tl V2859)) (and (cons? (tl (tl V2859))) (= () (tl (tl (tl V2859))))))))) (cons lambda (cons (hd (tl V2859)) (cons (shen.process-applications (hd (tl (tl V2859))) V2860) ())))) ((and (= let V2858) (and (cons? V2859) (and (= let (hd V2859)) (and (cons? (tl V2859)) (and (cons? (tl (tl V2859))) (and (cons? (tl (tl (tl V2859)))) (= () (tl (tl (tl (tl V2859))))))))))) (cons let (cons (hd (tl V2859)) (cons (shen.process-applications (hd (tl (tl V2859))) V2860) (cons (shen.process-applications (hd (tl (tl (tl V2859)))) V2860) ()))))) ((and (= defun V2858) (and (cons? V2859) (and (= defun (hd V2859)) (and (cons? (tl V2859)) (and (cons? (tl (tl V2859))) (and (cons? (tl (tl (tl V2859)))) (= () (tl (tl (tl (tl V2859))))))))))) V2859) ((and (= define V2858) (and (cons? V2859) (and (= define (hd V2859)) (and (cons? (tl V2859)) (and (cons? (tl (tl V2859))) (= { (hd (tl (tl V2859))))))))) (cons define (cons (hd (tl V2859)) (cons { (shen.process-after-type (hd (tl V2859)) (tl (tl (tl V2859))) V2860))))) ((and (= define V2858) (and (cons? V2859) (and (= define (hd V2859)) (cons? (tl V2859))))) (cons define (cons (hd (tl V2859)) (map (lambda Z2861 (shen.process-applications Z2861 V2860)) (tl (tl V2859)))))) ((= synonyms V2858) (cons synonyms V2859)) ((and (= type V2858) (and (cons? V2859) (and (= type (hd V2859)) (and (cons? (tl V2859)) (and (cons? (tl (tl V2859))) (= () (tl (tl (tl V2859))))))))) (cons type (cons (shen.process-applications (hd (tl V2859)) V2860) (tl (tl V2859))))) ((and (= input+ V2858) (and (cons? V2859) (and (= input+ (hd V2859)) (and (cons? (tl V2859)) (and (cons? (tl (tl V2859))) (= () (tl (tl (tl V2859))))))))) (cons input+ (cons (hd (tl V2859)) (cons (shen.process-applications (hd (tl (tl V2859))) V2860) ())))) ((and (cons? V2859) (shen.special? (hd V2859))) (cons (hd V2859) (map (lambda Z2862 (shen.process-applications Z2862 V2860)) (tl V2859)))) ((and (cons? V2859) (shen.extraspecial? (hd V2859))) V2859) (true (simple-error "partial function shen.special-case")))) -(defun shen.process-after-type (V2851 V2852 V2853) (cond ((and (cons? V2852) (= } (hd V2852))) (cons } (map (lambda Z2854 (shen.process-applications Z2854 V2853)) (tl V2852)))) ((cons? V2852) (cons (hd V2852) (shen.process-after-type V2851 (tl V2852) V2853))) (true (simple-error (cn "missing } in " (shen.app V2851 " +(defun shen.process-after-type (V2865 V2866 V2867) (cond ((and (cons? V2866) (= } (hd V2866))) (cons } (map (lambda Z2868 (shen.process-applications Z2868 V2867)) (tl V2866)))) ((cons? V2866) (cons (hd V2866) (shen.process-after-type V2865 (tl V2866) V2867))) (true (simple-error (cn "missing } in " (shen.app V2865 " " shen.a)))))) -(defun shen.process-application (V2855 V2856) (cond ((cons? V2855) (let W2857 (arity (hd V2855)) (let W2858 (length (tl V2855)) (if (element? V2855 V2856) V2855 (if (shen.shen-call? (hd V2855)) V2855 (if (shen.foreign? V2855) (shen.unpack-foreign V2855) (if (shen.fn-call? V2855) (shen.fn-call V2855) (if (shen.zero-place? V2855) V2855 (if (shen.undefined-f? (hd V2855) W2857) (shen.simple-curry (cons (cons fn (cons (hd V2855) ())) (tl V2855))) (if (variable? (hd V2855)) (shen.simple-curry V2855) (if (shen.application? (hd V2855)) (shen.simple-curry V2855) (if (shen.partial-application*? (hd V2855) W2857 W2858) (shen.lambda-function V2855 (- W2857 W2858)) (if (shen.overapplication? (hd V2855) W2857 W2858) (shen.simple-curry (cons (cons fn (cons (hd V2855) ())) (tl V2855))) V2855))))))))))))) (true (simple-error "partial function shen.process-application")))) +(defun shen.process-application (V2869 V2870) (cond ((cons? V2869) (let W2871 (arity (hd V2869)) (let W2872 (length (tl V2869)) (if (element? V2869 V2870) V2869 (if (shen.shen-call? (hd V2869)) V2869 (if (shen.foreign? V2869) (shen.unpack-foreign V2869) (if (shen.fn-call? V2869) (shen.fn-call V2869) (if (shen.zero-place? V2869) V2869 (if (shen.undefined-f? (hd V2869) W2871) (shen.simple-curry (cons (cons fn (cons (hd V2869) ())) (tl V2869))) (if (variable? (hd V2869)) (shen.simple-curry V2869) (if (shen.application? (hd V2869)) (shen.simple-curry V2869) (if (shen.partial-application*? (hd V2869) W2871 W2872) (shen.lambda-function V2869 (- W2871 W2872)) (if (shen.overapplication? (hd V2869) W2871 W2872) (shen.simple-curry (cons (cons fn (cons (hd V2869) ())) (tl V2869))) V2869))))))))))))) (true (simple-error "partial function shen.process-application")))) -(defun shen.unpack-foreign (V2859) (cond ((and (cons? V2859) (and (cons? (hd V2859)) (and (= foreign (hd (hd V2859))) (and (cons? (tl (hd V2859))) (= () (tl (tl (hd V2859)))))))) (cons (hd (tl (hd V2859))) (tl V2859))) (true (simple-error "partial function shen.unpack-foreign")))) +(defun shen.unpack-foreign (V2873) (cond ((and (cons? V2873) (and (cons? (hd V2873)) (and (= foreign (hd (hd V2873))) (and (cons? (tl (hd V2873))) (= () (tl (tl (hd V2873)))))))) (cons (hd (tl (hd V2873))) (tl V2873))) (true (simple-error "partial function shen.unpack-foreign")))) -(defun shen.foreign? (V2862) (cond ((and (cons? V2862) (and (cons? (hd V2862)) (and (= foreign (hd (hd V2862))) (and (cons? (tl (hd V2862))) (= () (tl (tl (hd V2862)))))))) true) (true false))) +(defun shen.foreign? (V2876) (cond ((and (cons? V2876) (and (cons? (hd V2876)) (and (= foreign (hd (hd V2876))) (and (cons? (tl (hd V2876))) (= () (tl (tl (hd V2876)))))))) true) (true false))) -(defun shen.zero-place? (V2865) (cond ((and (cons? V2865) (= () (tl V2865))) true) (true false))) +(defun shen.zero-place? (V2879) (cond ((and (cons? V2879) (= () (tl V2879))) true) (true false))) -(defun shen.shen-call? (V2866) (and (symbol? V2866) (shen.internal-to-shen? (str V2866)))) +(defun shen.shen-call? (V2880) (and (symbol? V2880) (shen.internal-to-shen? (str V2880)))) -(defun shen.application? (V2871) (cond ((and (cons? V2871) (and (= protect (hd V2871)) (and (cons? (tl V2871)) (= () (tl (tl V2871)))))) false) ((and (cons? V2871) (and (= foreign (hd V2871)) (and (cons? (tl V2871)) (= () (tl (tl V2871)))))) false) (true (cons? V2871)))) +(defun shen.application? (V2885) (cond ((and (cons? V2885) (and (= protect (hd V2885)) (and (cons? (tl V2885)) (= () (tl (tl V2885)))))) false) ((and (cons? V2885) (and (= foreign (hd V2885)) (and (cons? (tl V2885)) (= () (tl (tl V2885)))))) false) (true (cons? V2885)))) -(defun shen.undefined-f? (V2876 V2877) (cond ((= -1 V2877) (and (shen.lowercase-symbol? V2876) (not (element? V2876 (external shen))))) (true false))) +(defun shen.undefined-f? (V2890 V2891) (cond ((= -1 V2891) (and (shen.lowercase-symbol? V2890) (not (element? V2890 (external shen))))) (true false))) -(defun shen.lowercase-symbol? (V2878) (and (symbol? V2878) (not (variable? V2878)))) +(defun shen.lowercase-symbol? (V2892) (and (symbol? V2892) (not (variable? V2892)))) -(defun shen.simple-curry (V2879) (cond ((and (cons? V2879) (and (cons? (tl V2879)) (= () (tl (tl V2879))))) V2879) ((and (cons? V2879) (and (cons? (tl V2879)) (cons? (tl (tl V2879))))) (shen.simple-curry (cons (cons (hd V2879) (cons (hd (tl V2879)) ())) (tl (tl V2879))))) (true V2879))) +(defun shen.simple-curry (V2893) (cond ((and (cons? V2893) (and (cons? (tl V2893)) (= () (tl (tl V2893))))) V2893) ((and (cons? V2893) (and (cons? (tl V2893)) (cons? (tl (tl V2893))))) (shen.simple-curry (cons (cons (hd V2893) (cons (hd (tl V2893)) ())) (tl (tl V2893))))) (true V2893))) -(defun function (V2880) (fn V2880)) +(defun function (V2894) (fn V2894)) -(defun fn (V2881) (cond ((= (arity V2881) 0) (V2881)) (true (let W2882 (assoc V2881 (value shen.*lambdatable*)) (if (empty? W2882) (simple-error (cn "fn: " (shen.app V2881 " is undefined -" shen.a))) (tl W2882)))))) +(defun fn (V2895) (cond ((= (arity V2895) 0) (V2895)) (true (let W2896 (assoc V2895 (value shen.*lambdatable*)) (if (empty? W2896) (simple-error (cn "fn: " (shen.app V2895 " is undefined +" shen.a))) (tl W2896)))))) -(defun shen.fn-call? (V2885) (cond ((and (cons? V2885) (and (= fn (hd V2885)) (and (cons? (tl V2885)) (= () (tl (tl V2885)))))) true) ((and (cons? V2885) (and (= function (hd V2885)) (and (cons? (tl V2885)) (= () (tl (tl V2885)))))) true) (true false))) +(defun shen.fn-call? (V2899) (cond ((and (cons? V2899) (and (= fn (hd V2899)) (and (cons? (tl V2899)) (= () (tl (tl V2899)))))) true) ((and (cons? V2899) (and (= function (hd V2899)) (and (cons? (tl V2899)) (= () (tl (tl V2899)))))) true) (true false))) -(defun shen.fn-call (V2886) (cond ((and (cons? V2886) (and (= function (hd V2886)) (and (cons? (tl V2886)) (= () (tl (tl V2886)))))) (shen.fn-call (cons fn (tl V2886)))) ((and (cons? V2886) (and (= fn (hd V2886)) (and (cons? (tl V2886)) (= () (tl (tl V2886)))))) (let W2887 (arity (hd (tl V2886))) (if (= W2887 -1) V2886 (if (= W2887 0) (tl V2886) (shen.lambda-function (tl V2886) W2887))))) (true (simple-error "partial function shen.fn-call")))) +(defun shen.fn-call (V2900) (cond ((and (cons? V2900) (and (= function (hd V2900)) (and (cons? (tl V2900)) (= () (tl (tl V2900)))))) (shen.fn-call (cons fn (tl V2900)))) ((and (cons? V2900) (and (= fn (hd V2900)) (and (cons? (tl V2900)) (= () (tl (tl V2900)))))) (let W2901 (arity (hd (tl V2900))) (if (= W2901 -1) V2900 (if (= W2901 0) (tl V2900) (shen.lambda-function (tl V2900) W2901))))) (true (simple-error "partial function shen.fn-call")))) -(defun shen.partial-application*? (V2888 V2889 V2890) (let W2891 (> V2889 V2890) (let W2892 (if (and W2891 (and (shen.loading?) (not (element? V2888 (cons + (cons - ())))))) (pr (cn "partial application of " (shen.app V2888 " -" shen.a)) (stoutput)) shen.skip) W2891))) +(defun shen.partial-application*? (V2902 V2903 V2904) (let W2905 (> V2903 V2904) (let W2906 (if (and W2905 (and (shen.loading?) (not (element? V2902 (cons + (cons - ())))))) (pr (cn "partial application of " (shen.app V2902 " +" shen.a)) (stoutput)) shen.skip) W2905))) (defun shen.loading? () (value shen.*loading?*)) -(defun shen.overapplication? (V2897 V2898 V2899) (cond ((= -1 V2898) false) (true (let W2900 (< V2898 V2899) (let W2901 (if (and W2900 (shen.loading?)) (pr (shen.app V2897 (cn " might not like " (shen.app V2899 (cn " argument" (shen.app (if (= V2899 1) "" "s") " -" shen.a)) shen.a)) shen.a) (stoutput)) shen.skip) W2900))))) +(defun shen.overapplication? (V2911 V2912 V2913) (cond ((= -1 V2912) false) (true (let W2914 (< V2912 V2913) (let W2915 (if (and W2914 (shen.loading?)) (pr (shen.app V2911 (cn " might not like " (shen.app V2913 (cn " argument" (shen.app (if (= V2913 1) "" "s") " +" shen.a)) shen.a)) shen.a) (stoutput)) shen.skip) W2914))))) diff --git a/kernel/klambda/sequent.kl b/kernel/klambda/sequent.kl index 30101b5..d5a16c8 100644 --- a/kernel/klambda/sequent.kl +++ b/kernel/klambda/sequent.kl @@ -1,102 +1,102 @@ -(defun shen. (V3019) (let W3020 (if (cons? V3019) (let W3021 (head V3019) (let W3022 (tail V3019) (let W3023 (shen. W3022) (if (shen.parse-failure? W3023) (shen.parse-failure) (let W3024 (shen.<-out W3023) (let W3025 (shen.in-> W3023) (shen.comb W3025 (let W3026 (shen.rules->prolog W3021 W3024) (shen.remember-datatype W3021 (fn W3021)))))))))) (shen.parse-failure)) (if (shen.parse-failure? W3020) (shen.parse-failure) W3020))) +(defun shen. (V3033) (let W3034 (if (cons? V3033) (let W3035 (head V3033) (let W3036 (tail V3033) (let W3037 (shen. W3036) (if (shen.parse-failure? W3037) (shen.parse-failure) (let W3038 (shen.<-out W3037) (let W3039 (shen.in-> W3037) (shen.comb W3039 (let W3040 (shen.rules->prolog W3035 W3038) (shen.remember-datatype W3035 (fn W3035)))))))))) (shen.parse-failure)) (if (shen.parse-failure? W3034) (shen.parse-failure) W3034))) -(defun shen.remember-datatype (V3027 V3028) (do (set shen.*datatypes* (shen.assoc-> V3027 V3028 (value shen.*datatypes*))) (do (set shen.*alldatatypes* (shen.assoc-> V3027 V3028 (value shen.*alldatatypes*))) V3027))) +(defun shen.remember-datatype (V3041 V3042) (do (set shen.*datatypes* (shen.assoc-> V3041 V3042 (value shen.*datatypes*))) (do (set shen.*alldatatypes* (shen.assoc-> V3041 V3042 (value shen.*alldatatypes*))) V3041))) -(defun shen. (V3029) (let W3030 (let W3031 (shen. V3029) (if (shen.parse-failure? W3031) (shen.parse-failure) (let W3032 (shen.<-out W3031) (let W3033 (shen.in-> W3031) (let W3034 (shen. W3033) (if (shen.parse-failure? W3034) (shen.parse-failure) (let W3035 (shen.<-out W3034) (let W3036 (shen.in-> W3034) (shen.comb W3036 (append W3032 W3035)))))))))) (if (shen.parse-failure? W3030) (let W3037 (let W3038 ( V3029) (if (shen.parse-failure? W3038) (shen.parse-failure) (let W3039 (shen.<-out W3038) (let W3040 (shen.in-> W3038) (shen.comb W3040 (if (empty? W3039) () (simple-error (cn "datatype syntax error here: - " (shen.app W3039 " - ..." shen.r))))))))) (if (shen.parse-failure? W3037) (shen.parse-failure) W3037)) W3030))) +(defun shen. (V3043) (let W3044 (let W3045 (shen. V3043) (if (shen.parse-failure? W3045) (shen.parse-failure) (let W3046 (shen.<-out W3045) (let W3047 (shen.in-> W3045) (let W3048 (shen. W3047) (if (shen.parse-failure? W3048) (shen.parse-failure) (let W3049 (shen.<-out W3048) (let W3050 (shen.in-> W3048) (shen.comb W3050 (append W3046 W3049)))))))))) (if (shen.parse-failure? W3044) (let W3051 (let W3052 ( V3043) (if (shen.parse-failure? W3052) (shen.parse-failure) (let W3053 (shen.<-out W3052) (let W3054 (shen.in-> W3052) (shen.comb W3054 (if (empty? W3053) () (simple-error (cn "datatype syntax error here: + " (shen.app W3053 " + ..." shen.r))))))))) (if (shen.parse-failure? W3051) (shen.parse-failure) W3051)) W3044))) -(defun shen. (V3041) (let W3042 (let W3043 (shen. V3041) (if (shen.parse-failure? W3043) (shen.parse-failure) (let W3044 (shen.<-out W3043) (let W3045 (shen.in-> W3043) (shen.comb W3045 W3044))))) (if (shen.parse-failure? W3042) (let W3046 (let W3047 (shen. V3041) (if (shen.parse-failure? W3047) (shen.parse-failure) (let W3048 (shen.<-out W3047) (let W3049 (shen.in-> W3047) (shen.comb W3049 W3048))))) (if (shen.parse-failure? W3046) (shen.parse-failure) W3046)) W3042))) +(defun shen. (V3055) (let W3056 (let W3057 (shen. V3055) (if (shen.parse-failure? W3057) (shen.parse-failure) (let W3058 (shen.<-out W3057) (let W3059 (shen.in-> W3057) (shen.comb W3059 W3058))))) (if (shen.parse-failure? W3056) (let W3060 (let W3061 (shen. V3055) (if (shen.parse-failure? W3061) (shen.parse-failure) (let W3062 (shen.<-out W3061) (let W3063 (shen.in-> W3061) (shen.comb W3063 W3062))))) (if (shen.parse-failure? W3060) (shen.parse-failure) W3060)) W3056))) -(defun shen. (V3050) (let W3051 (let W3052 (shen. V3050) (if (shen.parse-failure? W3052) (shen.parse-failure) (let W3053 (shen.<-out W3052) (let W3054 (shen.in-> W3052) (let W3055 (shen. W3054) (if (shen.parse-failure? W3055) (shen.parse-failure) (let W3056 (shen.<-out W3055) (let W3057 (shen.in-> W3055) (let W3058 (shen. W3057) (if (shen.parse-failure? W3058) (shen.parse-failure) (let W3059 (shen.in-> W3058) (let W3060 (shen. W3059) (if (shen.parse-failure? W3060) (shen.parse-failure) (let W3061 (shen.<-out W3060) (let W3062 (shen.in-> W3060) (let W3063 (shen. W3062) (if (shen.parse-failure? W3063) (shen.parse-failure) (let W3064 (shen.in-> W3063) (shen.comb W3064 (cons (cons W3053 (cons W3056 (cons W3061 ()))) ())))))))))))))))))))) (if (shen.parse-failure? W3051) (shen.parse-failure) W3051))) +(defun shen. (V3064) (let W3065 (let W3066 (shen. V3064) (if (shen.parse-failure? W3066) (shen.parse-failure) (let W3067 (shen.<-out W3066) (let W3068 (shen.in-> W3066) (let W3069 (shen. W3068) (if (shen.parse-failure? W3069) (shen.parse-failure) (let W3070 (shen.<-out W3069) (let W3071 (shen.in-> W3069) (let W3072 (shen. W3071) (if (shen.parse-failure? W3072) (shen.parse-failure) (let W3073 (shen.in-> W3072) (let W3074 (shen. W3073) (if (shen.parse-failure? W3074) (shen.parse-failure) (let W3075 (shen.<-out W3074) (let W3076 (shen.in-> W3074) (let W3077 (shen. W3076) (if (shen.parse-failure? W3077) (shen.parse-failure) (let W3078 (shen.in-> W3077) (shen.comb W3078 (cons (cons W3067 (cons W3070 (cons W3075 ()))) ())))))))))))))))))))) (if (shen.parse-failure? W3065) (shen.parse-failure) W3065))) -(defun shen. (V3065) (let W3066 (let W3067 (shen. V3065) (if (shen.parse-failure? W3067) (shen.parse-failure) (let W3068 (shen.<-out W3067) (let W3069 (shen.in-> W3067) (let W3070 (shen. W3069) (if (shen.parse-failure? W3070) (shen.parse-failure) (let W3071 (shen.<-out W3070) (let W3072 (shen.in-> W3070) (let W3073 (shen. W3072) (if (shen.parse-failure? W3073) (shen.parse-failure) (let W3074 (shen.in-> W3073) (let W3075 (shen. W3074) (if (shen.parse-failure? W3075) (shen.parse-failure) (let W3076 (shen.<-out W3075) (let W3077 (shen.in-> W3075) (let W3078 (shen. W3077) (if (shen.parse-failure? W3078) (shen.parse-failure) (let W3079 (shen.in-> W3078) (shen.comb W3079 (shen.lr-rule W3068 W3071 (cons () (cons W3076 ())))))))))))))))))))))) (if (shen.parse-failure? W3066) (shen.parse-failure) W3066))) +(defun shen. (V3079) (let W3080 (let W3081 (shen. V3079) (if (shen.parse-failure? W3081) (shen.parse-failure) (let W3082 (shen.<-out W3081) (let W3083 (shen.in-> W3081) (let W3084 (shen. W3083) (if (shen.parse-failure? W3084) (shen.parse-failure) (let W3085 (shen.<-out W3084) (let W3086 (shen.in-> W3084) (let W3087 (shen. W3086) (if (shen.parse-failure? W3087) (shen.parse-failure) (let W3088 (shen.in-> W3087) (let W3089 (shen. W3088) (if (shen.parse-failure? W3089) (shen.parse-failure) (let W3090 (shen.<-out W3089) (let W3091 (shen.in-> W3089) (let W3092 (shen. W3091) (if (shen.parse-failure? W3092) (shen.parse-failure) (let W3093 (shen.in-> W3092) (shen.comb W3093 (shen.lr-rule W3082 W3085 (cons () (cons W3090 ())))))))))))))))))))))) (if (shen.parse-failure? W3080) (shen.parse-failure) W3080))) -(defun shen. (V3080) (let W3081 (let W3082 (shen. V3080) (if (shen.parse-failure? W3082) (shen.parse-failure) (let W3083 (shen.<-out W3082) (let W3084 (shen.in-> W3082) (let W3085 (shen. W3084) (if (shen.parse-failure? W3085) (shen.parse-failure) (let W3086 (shen.in-> W3085) (let W3087 (shen. W3086) (if (shen.parse-failure? W3087) (shen.parse-failure) (let W3088 (shen.<-out W3087) (let W3089 (shen.in-> W3087) (shen.comb W3089 (cons (cons () (cons W3083 ())) W3088))))))))))))) (if (shen.parse-failure? W3081) (let W3090 (let W3091 (shen. V3080) (if (shen.parse-failure? W3091) (shen.parse-failure) (let W3092 (shen.<-out W3091) (let W3093 (shen.in-> W3091) (let W3094 (shen. W3093) (if (shen.parse-failure? W3094) (shen.parse-failure) (let W3095 (shen.in-> W3094) (shen.comb W3095 (cons (cons () (cons W3092 ())) ()))))))))) (if (shen.parse-failure? W3090) (shen.parse-failure) W3090)) W3081))) +(defun shen. (V3094) (let W3095 (let W3096 (shen. V3094) (if (shen.parse-failure? W3096) (shen.parse-failure) (let W3097 (shen.<-out W3096) (let W3098 (shen.in-> W3096) (let W3099 (shen. W3098) (if (shen.parse-failure? W3099) (shen.parse-failure) (let W3100 (shen.in-> W3099) (let W3101 (shen. W3100) (if (shen.parse-failure? W3101) (shen.parse-failure) (let W3102 (shen.<-out W3101) (let W3103 (shen.in-> W3101) (shen.comb W3103 (cons (cons () (cons W3097 ())) W3102))))))))))))) (if (shen.parse-failure? W3095) (let W3104 (let W3105 (shen. V3094) (if (shen.parse-failure? W3105) (shen.parse-failure) (let W3106 (shen.<-out W3105) (let W3107 (shen.in-> W3105) (let W3108 (shen. W3107) (if (shen.parse-failure? W3108) (shen.parse-failure) (let W3109 (shen.in-> W3108) (shen.comb W3109 (cons (cons () (cons W3106 ())) ()))))))))) (if (shen.parse-failure? W3104) (shen.parse-failure) W3104)) W3095))) -(defun shen. (V3096) (let W3097 (let W3098 (shen. V3096) (if (shen.parse-failure? W3098) (shen.parse-failure) (let W3099 (shen.<-out W3098) (let W3100 (shen.in-> W3098) (if (shen.hds=? W3100 >>) (let W3101 (tail W3100) (let W3102 (shen. W3101) (if (shen.parse-failure? W3102) (shen.parse-failure) (let W3103 (shen.<-out W3102) (let W3104 (shen.in-> W3102) (shen.comb W3104 (cons W3099 (cons W3103 ())))))))) (shen.parse-failure)))))) (if (shen.parse-failure? W3097) (let W3105 (let W3106 (shen. V3096) (if (shen.parse-failure? W3106) (shen.parse-failure) (let W3107 (shen.<-out W3106) (let W3108 (shen.in-> W3106) (shen.comb W3108 (cons () (cons W3107 ()))))))) (if (shen.parse-failure? W3105) (shen.parse-failure) W3105)) W3097))) +(defun shen. (V3110) (let W3111 (let W3112 (shen. V3110) (if (shen.parse-failure? W3112) (shen.parse-failure) (let W3113 (shen.<-out W3112) (let W3114 (shen.in-> W3112) (if (shen.hds=? W3114 >>) (let W3115 (tail W3114) (let W3116 (shen. W3115) (if (shen.parse-failure? W3116) (shen.parse-failure) (let W3117 (shen.<-out W3116) (let W3118 (shen.in-> W3116) (shen.comb W3118 (cons W3113 (cons W3117 ())))))))) (shen.parse-failure)))))) (if (shen.parse-failure? W3111) (let W3119 (let W3120 (shen. V3110) (if (shen.parse-failure? W3120) (shen.parse-failure) (let W3121 (shen.<-out W3120) (let W3122 (shen.in-> W3120) (shen.comb W3122 (cons () (cons W3121 ()))))))) (if (shen.parse-failure? W3119) (shen.parse-failure) W3119)) W3111))) -(defun shen. (V3109) (let W3110 (let W3111 (shen. V3109) (if (shen.parse-failure? W3111) (shen.parse-failure) (let W3112 (shen.<-out W3111) (let W3113 (shen.in-> W3111) (let W3114 (shen. W3113) (if (shen.parse-failure? W3114) (shen.parse-failure) (let W3115 (shen.in-> W3114) (let W3116 (shen. W3115) (if (shen.parse-failure? W3116) (shen.parse-failure) (let W3117 (shen.<-out W3116) (let W3118 (shen.in-> W3116) (shen.comb W3118 (cons W3112 W3117))))))))))))) (if (shen.parse-failure? W3110) (let W3119 (let W3120 ( V3109) (if (shen.parse-failure? W3120) (shen.parse-failure) (let W3121 (shen.in-> W3120) (shen.comb W3121 ())))) (if (shen.parse-failure? W3119) (shen.parse-failure) W3119)) W3110))) +(defun shen. (V3123) (let W3124 (let W3125 (shen. V3123) (if (shen.parse-failure? W3125) (shen.parse-failure) (let W3126 (shen.<-out W3125) (let W3127 (shen.in-> W3125) (let W3128 (shen. W3127) (if (shen.parse-failure? W3128) (shen.parse-failure) (let W3129 (shen.in-> W3128) (let W3130 (shen. W3129) (if (shen.parse-failure? W3130) (shen.parse-failure) (let W3131 (shen.<-out W3130) (let W3132 (shen.in-> W3130) (shen.comb W3132 (cons W3126 W3131))))))))))))) (if (shen.parse-failure? W3124) (let W3133 (let W3134 ( V3123) (if (shen.parse-failure? W3134) (shen.parse-failure) (let W3135 (shen.in-> W3134) (shen.comb W3135 ())))) (if (shen.parse-failure? W3133) (shen.parse-failure) W3133)) W3124))) -(defun shen. (V3122) (let W3123 (if (shen.hds=? V3122 !) (let W3124 (tail V3122) (shen.comb W3124 !)) (shen.parse-failure)) (if (shen.parse-failure? W3123) (let W3125 (let W3126 (shen. V3122) (if (shen.parse-failure? W3126) (shen.parse-failure) (let W3127 (shen.<-out W3126) (let W3128 (shen.in-> W3126) (if (shen.hds=? W3128 >>) (let W3129 (tail W3128) (let W3130 (shen. W3129) (if (shen.parse-failure? W3130) (shen.parse-failure) (let W3131 (shen.<-out W3130) (let W3132 (shen.in-> W3130) (shen.comb W3132 (cons W3127 (cons W3131 ())))))))) (shen.parse-failure)))))) (if (shen.parse-failure? W3125) (let W3133 (let W3134 (shen. V3122) (if (shen.parse-failure? W3134) (shen.parse-failure) (let W3135 (shen.<-out W3134) (let W3136 (shen.in-> W3134) (shen.comb W3136 (cons () (cons W3135 ()))))))) (if (shen.parse-failure? W3133) (shen.parse-failure) W3133)) W3125)) W3123))) +(defun shen. (V3136) (let W3137 (if (shen.hds=? V3136 !) (let W3138 (tail V3136) (shen.comb W3138 !)) (shen.parse-failure)) (if (shen.parse-failure? W3137) (let W3139 (let W3140 (shen. V3136) (if (shen.parse-failure? W3140) (shen.parse-failure) (let W3141 (shen.<-out W3140) (let W3142 (shen.in-> W3140) (if (shen.hds=? W3142 >>) (let W3143 (tail W3142) (let W3144 (shen. W3143) (if (shen.parse-failure? W3144) (shen.parse-failure) (let W3145 (shen.<-out W3144) (let W3146 (shen.in-> W3144) (shen.comb W3146 (cons W3141 (cons W3145 ())))))))) (shen.parse-failure)))))) (if (shen.parse-failure? W3139) (let W3147 (let W3148 (shen. V3136) (if (shen.parse-failure? W3148) (shen.parse-failure) (let W3149 (shen.<-out W3148) (let W3150 (shen.in-> W3148) (shen.comb W3150 (cons () (cons W3149 ()))))))) (if (shen.parse-failure? W3147) (shen.parse-failure) W3147)) W3139)) W3137))) -(defun shen. (V3137) (let W3138 (let W3139 (shen. V3137) (if (shen.parse-failure? W3139) (shen.parse-failure) (let W3140 (shen.<-out W3139) (let W3141 (shen.in-> W3139) (let W3142 (shen. W3141) (if (shen.parse-failure? W3142) (shen.parse-failure) (let W3143 (shen.in-> W3142) (let W3144 (shen. W3143) (if (shen.parse-failure? W3144) (shen.parse-failure) (let W3145 (shen.<-out W3144) (let W3146 (shen.in-> W3144) (shen.comb W3146 (cons W3140 W3145))))))))))))) (if (shen.parse-failure? W3138) (let W3147 (let W3148 (shen. V3137) (if (shen.parse-failure? W3148) (shen.parse-failure) (let W3149 (shen.<-out W3148) (let W3150 (shen.in-> W3148) (shen.comb W3150 (cons W3149 ())))))) (if (shen.parse-failure? W3147) (let W3151 (let W3152 ( V3137) (if (shen.parse-failure? W3152) (shen.parse-failure) (let W3153 (shen.in-> W3152) (shen.comb W3153 ())))) (if (shen.parse-failure? W3151) (shen.parse-failure) W3151)) W3147)) W3138))) +(defun shen. (V3151) (let W3152 (let W3153 (shen. V3151) (if (shen.parse-failure? W3153) (shen.parse-failure) (let W3154 (shen.<-out W3153) (let W3155 (shen.in-> W3153) (let W3156 (shen. W3155) (if (shen.parse-failure? W3156) (shen.parse-failure) (let W3157 (shen.in-> W3156) (let W3158 (shen. W3157) (if (shen.parse-failure? W3158) (shen.parse-failure) (let W3159 (shen.<-out W3158) (let W3160 (shen.in-> W3158) (shen.comb W3160 (cons W3154 W3159))))))))))))) (if (shen.parse-failure? W3152) (let W3161 (let W3162 (shen. V3151) (if (shen.parse-failure? W3162) (shen.parse-failure) (let W3163 (shen.<-out W3162) (let W3164 (shen.in-> W3162) (shen.comb W3164 (cons W3163 ())))))) (if (shen.parse-failure? W3161) (let W3165 (let W3166 ( V3151) (if (shen.parse-failure? W3166) (shen.parse-failure) (let W3167 (shen.in-> W3166) (shen.comb W3167 ())))) (if (shen.parse-failure? W3165) (shen.parse-failure) W3165)) W3161)) W3152))) -(defun shen. (V3154) (let W3155 (if (cons? V3154) (let W3156 (head V3154) (let W3157 (tail V3154) (if (= W3156 (intern ",")) (shen.comb W3157 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3155) (shen.parse-failure) W3155))) +(defun shen. (V3168) (let W3169 (if (cons? V3168) (let W3170 (head V3168) (let W3171 (tail V3168) (if (= W3170 (intern ",")) (shen.comb W3171 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3169) (shen.parse-failure) W3169))) -(defun shen. (V3158) (let W3159 (let W3160 (shen. V3158) (if (shen.parse-failure? W3160) (shen.parse-failure) (let W3161 (shen.<-out W3160) (let W3162 (shen.in-> W3160) (let W3163 (shen. W3162) (if (shen.parse-failure? W3163) (shen.parse-failure) (let W3164 (shen.in-> W3163) (let W3165 (shen. W3164) (if (shen.parse-failure? W3165) (shen.parse-failure) (let W3166 (shen.<-out W3165) (let W3167 (shen.in-> W3165) (shen.comb W3167 (cons (shen.curry W3161) (cons (intern ":") (cons (shen.rectify-type W3166) ()))))))))))))))) (if (shen.parse-failure? W3159) (let W3168 (let W3169 (shen. V3158) (if (shen.parse-failure? W3169) (shen.parse-failure) (let W3170 (shen.<-out W3169) (let W3171 (shen.in-> W3169) (shen.comb W3171 W3170))))) (if (shen.parse-failure? W3168) (shen.parse-failure) W3168)) W3159))) +(defun shen. (V3172) (let W3173 (let W3174 (shen. V3172) (if (shen.parse-failure? W3174) (shen.parse-failure) (let W3175 (shen.<-out W3174) (let W3176 (shen.in-> W3174) (let W3177 (shen. W3176) (if (shen.parse-failure? W3177) (shen.parse-failure) (let W3178 (shen.in-> W3177) (let W3179 (shen. W3178) (if (shen.parse-failure? W3179) (shen.parse-failure) (let W3180 (shen.<-out W3179) (let W3181 (shen.in-> W3179) (shen.comb W3181 (cons (shen.curry W3175) (cons (intern ":") (cons (shen.rectify-type W3180) ()))))))))))))))) (if (shen.parse-failure? W3173) (let W3182 (let W3183 (shen. V3172) (if (shen.parse-failure? W3183) (shen.parse-failure) (let W3184 (shen.<-out W3183) (let W3185 (shen.in-> W3183) (shen.comb W3185 W3184))))) (if (shen.parse-failure? W3182) (shen.parse-failure) W3182)) W3173))) -(defun shen. (V3172) (let W3173 (if (cons? V3172) (let W3174 (head V3172) (let W3175 (tail V3172) (if (= W3174 (intern ":")) (shen.comb W3175 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3173) (shen.parse-failure) W3173))) +(defun shen. (V3186) (let W3187 (if (cons? V3186) (let W3188 (head V3186) (let W3189 (tail V3186) (if (= W3188 (intern ":")) (shen.comb W3189 shen.skip) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3187) (shen.parse-failure) W3187))) -(defun shen. (V3176) (let W3177 (let W3178 (shen. V3176) (if (shen.parse-failure? W3178) (shen.parse-failure) (let W3179 (shen.<-out W3178) (let W3180 (shen.in-> W3178) (let W3181 (shen. W3180) (if (shen.parse-failure? W3181) (shen.parse-failure) (let W3182 (shen.<-out W3181) (let W3183 (shen.in-> W3181) (shen.comb W3183 (cons W3179 W3182)))))))))) (if (shen.parse-failure? W3177) (let W3184 (let W3185 ( V3176) (if (shen.parse-failure? W3185) (shen.parse-failure) (let W3186 (shen.in-> W3185) (shen.comb W3186 ())))) (if (shen.parse-failure? W3184) (shen.parse-failure) W3184)) W3177))) +(defun shen. (V3190) (let W3191 (let W3192 (shen. V3190) (if (shen.parse-failure? W3192) (shen.parse-failure) (let W3193 (shen.<-out W3192) (let W3194 (shen.in-> W3192) (let W3195 (shen. W3194) (if (shen.parse-failure? W3195) (shen.parse-failure) (let W3196 (shen.<-out W3195) (let W3197 (shen.in-> W3195) (shen.comb W3197 (cons W3193 W3196)))))))))) (if (shen.parse-failure? W3191) (let W3198 (let W3199 ( V3190) (if (shen.parse-failure? W3199) (shen.parse-failure) (let W3200 (shen.in-> W3199) (shen.comb W3200 ())))) (if (shen.parse-failure? W3198) (shen.parse-failure) W3198)) W3191))) -(defun shen. (V3187) (let W3188 (if (shen.hds=? V3187 if) (let W3189 (tail V3187) (if (cons? W3189) (let W3190 (head W3189) (let W3191 (tail W3189) (shen.comb W3191 (cons if (cons W3190 ()))))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W3188) (let W3192 (if (shen.hds=? V3187 let) (let W3193 (tail V3187) (if (cons? W3193) (let W3194 (head W3193) (let W3195 (tail W3193) (if (cons? W3195) (let W3196 (head W3195) (let W3197 (tail W3195) (shen.comb W3197 (cons let (cons W3194 (cons W3196 ())))))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W3192) (let W3198 (if (shen.hds=? V3187 ctxt) (let W3199 (tail V3187) (if (cons? W3199) (let W3200 (head W3199) (let W3201 (tail W3199) (if (variable? W3200) (shen.comb W3201 (cons ctxt (cons W3200 ()))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W3198) (let W3202 (if (shen.hds=? V3187 sqts) (let W3203 (tail V3187) (if (cons? W3203) (let W3204 (head W3203) (let W3205 (tail W3203) (if (variable? W3204) (shen.comb W3205 (cons sqts (cons W3204 ()))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W3202) (shen.parse-failure) W3202)) W3198)) W3192)) W3188))) +(defun shen. (V3201) (let W3202 (if (shen.hds=? V3201 if) (let W3203 (tail V3201) (if (cons? W3203) (let W3204 (head W3203) (let W3205 (tail W3203) (shen.comb W3205 (cons if (cons W3204 ()))))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W3202) (let W3206 (if (shen.hds=? V3201 let) (let W3207 (tail V3201) (if (cons? W3207) (let W3208 (head W3207) (let W3209 (tail W3207) (if (cons? W3209) (let W3210 (head W3209) (let W3211 (tail W3209) (shen.comb W3211 (cons let (cons W3208 (cons W3210 ())))))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W3206) (let W3212 (if (shen.hds=? V3201 ctxt) (let W3213 (tail V3201) (if (cons? W3213) (let W3214 (head W3213) (let W3215 (tail W3213) (if (variable? W3214) (shen.comb W3215 (cons ctxt (cons W3214 ()))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W3212) (let W3216 (if (shen.hds=? V3201 sqts) (let W3217 (tail V3201) (if (cons? W3217) (let W3218 (head W3217) (let W3219 (tail W3217) (if (variable? W3218) (shen.comb W3219 (cons sqts (cons W3218 ()))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W3216) (shen.parse-failure) W3216)) W3212)) W3206)) W3202))) -(defun shen.lr-rule (V3212 V3213 V3214) (cond ((and (cons? V3214) (and (= () (hd V3214)) (and (cons? (tl V3214)) (= () (tl (tl V3214)))))) (let W3215 (gensym P) (let W3216 (cons (tl V3214) (cons W3215 ())) (let W3217 (cons (shen.coll-formulae V3213) (cons W3215 ())) (let W3218 (cons V3212 (cons (cons W3217 ()) (cons W3216 ()))) (let W3219 (cons V3212 (cons V3213 (cons V3214 ()))) (cons W3219 (cons W3218 ())))))))) (true (simple-error "implementation error in shen.lr-rule")))) +(defun shen.lr-rule (V3226 V3227 V3228) (cond ((and (cons? V3228) (and (= () (hd V3228)) (and (cons? (tl V3228)) (= () (tl (tl V3228)))))) (let W3229 (gensym P) (let W3230 (cons (tl V3228) (cons W3229 ())) (let W3231 (cons (shen.coll-formulae V3227) (cons W3229 ())) (let W3232 (cons V3226 (cons (cons W3231 ()) (cons W3230 ()))) (let W3233 (cons V3226 (cons V3227 (cons V3228 ()))) (cons W3233 (cons W3232 ())))))))) (true (simple-error "implementation error in shen.lr-rule")))) -(defun shen.coll-formulae (V3222) (cond ((= () V3222) ()) ((and (cons? V3222) (and (cons? (hd V3222)) (and (= () (hd (hd V3222))) (and (cons? (tl (hd V3222))) (= () (tl (tl (hd V3222)))))))) (cons (hd (tl (hd V3222))) (shen.coll-formulae (tl V3222)))) (true (simple-error "implementation error in shen.coll-formulae")))) +(defun shen.coll-formulae (V3236) (cond ((= () V3236) ()) ((and (cons? V3236) (and (cons? (hd V3236)) (and (= () (hd (hd V3236))) (and (cons? (tl (hd V3236))) (= () (tl (tl (hd V3236)))))))) (cons (hd (tl (hd V3236))) (shen.coll-formulae (tl V3236)))) (true (simple-error "implementation error in shen.coll-formulae")))) -(defun shen. (V3223) (let W3224 (if (cons? V3223) (let W3225 (head V3223) (let W3226 (tail V3223) (if (not (shen.key-in-sequent-calculus? W3225)) (shen.comb W3226 (macroexpand W3225)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3224) (shen.parse-failure) W3224))) +(defun shen. (V3237) (let W3238 (if (cons? V3237) (let W3239 (head V3237) (let W3240 (tail V3237) (if (not (shen.key-in-sequent-calculus? W3239)) (shen.comb W3240 (macroexpand W3239)) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3238) (shen.parse-failure) W3238))) -(defun shen.key-in-sequent-calculus? (V3227) (or (element? V3227 (cons >> (cons (intern ";") (cons (intern ",") (cons (intern ":") (cons <-- ())))))) (or (shen.sng? V3227) (shen.dbl? V3227)))) +(defun shen.key-in-sequent-calculus? (V3241) (or (element? V3241 (cons >> (cons (intern ";") (cons (intern ",") (cons (intern ":") (cons <-- ())))))) (or (shen.sng? V3241) (shen.dbl? V3241)))) -(defun shen. (V3228) (let W3229 (let W3230 (shen. V3228) (if (shen.parse-failure? W3230) (shen.parse-failure) (let W3231 (shen.<-out W3230) (let W3232 (shen.in-> W3230) (shen.comb W3232 W3231))))) (if (shen.parse-failure? W3229) (shen.parse-failure) W3229))) +(defun shen. (V3242) (let W3243 (let W3244 (shen. V3242) (if (shen.parse-failure? W3244) (shen.parse-failure) (let W3245 (shen.<-out W3244) (let W3246 (shen.in-> W3244) (shen.comb W3246 W3245))))) (if (shen.parse-failure? W3243) (shen.parse-failure) W3243))) -(defun shen. (V3233) (let W3234 (if (cons? V3233) (let W3235 (head V3233) (let W3236 (tail V3233) (if (shen.dbl? W3235) (shen.comb W3236 W3235) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3234) (shen.parse-failure) W3234))) +(defun shen. (V3247) (let W3248 (if (cons? V3247) (let W3249 (head V3247) (let W3250 (tail V3247) (if (shen.dbl? W3249) (shen.comb W3250 W3249) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3248) (shen.parse-failure) W3248))) -(defun shen. (V3237) (let W3238 (if (cons? V3237) (let W3239 (head V3237) (let W3240 (tail V3237) (if (shen.sng? W3239) (shen.comb W3240 W3239) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3238) (shen.parse-failure) W3238))) +(defun shen. (V3251) (let W3252 (if (cons? V3251) (let W3253 (head V3251) (let W3254 (tail V3251) (if (shen.sng? W3253) (shen.comb W3254 W3253) (shen.parse-failure)))) (shen.parse-failure)) (if (shen.parse-failure? W3252) (shen.parse-failure) W3252))) -(defun shen.sng? (V3241) (and (symbol? V3241) (shen.sng-h? (str V3241)))) +(defun shen.sng? (V3255) (and (symbol? V3255) (shen.sng-h? (str V3255)))) -(defun shen.sng-h? (V3244) (cond ((= "___" V3244) true) ((and (shen.+string? V3244) (= "_" (hdstr V3244))) (shen.sng-h? (tlstr V3244))) (true false))) +(defun shen.sng-h? (V3258) (cond ((= "___" V3258) true) ((and (shen.+string? V3258) (= "_" (hdstr V3258))) (shen.sng-h? (tlstr V3258))) (true false))) -(defun shen.dbl? (V3245) (and (symbol? V3245) (shen.dbl-h? (str V3245)))) +(defun shen.dbl? (V3259) (and (symbol? V3259) (shen.dbl-h? (str V3259)))) -(defun shen.dbl-h? (V3248) (cond ((= "===" V3248) true) ((and (shen.+string? V3248) (= "=" (hdstr V3248))) (shen.dbl-h? (tlstr V3248))) (true false))) +(defun shen.dbl-h? (V3262) (cond ((= "===" V3262) true) ((and (shen.+string? V3262) (= "=" (hdstr V3262))) (shen.dbl-h? (tlstr V3262))) (true false))) -(defun shen.rules->prolog (V3249 V3250) (let W3251 (mapcan (lambda Z3252 (shen.rule->clause Z3252)) V3250) (let W3253 (cons defprolog (cons V3249 W3251)) (eval W3253)))) +(defun shen.rules->prolog (V3263 V3264) (let W3265 (mapcan (lambda Z3266 (shen.rule->clause Z3266)) V3264) (let W3267 (cons defprolog (cons V3263 W3265)) (eval W3267)))) -(defun shen.rule->clause (V3254) (cond ((and (cons? V3254) (and (cons? (tl V3254)) (and (cons? (tl (tl V3254))) (and (cons? (hd (tl (tl V3254)))) (and (cons? (tl (hd (tl (tl V3254))))) (and (= () (tl (tl (hd (tl (tl V3254)))))) (= () (tl (tl (tl V3254)))))))))) (let W3255 (shen.extract-vars (hd (tl (hd (tl (tl V3254)))))) (append (shen.rule->head (hd (tl (hd (tl (tl V3254)))))) (append (cons <-- ()) (shen.rule->body W3255 Assumptions (hd V3254) (hd (tl V3254)) (hd (hd (tl (tl V3254))))))))) (true (simple-error "partial function shen.rule->clause")))) +(defun shen.rule->clause (V3268) (cond ((and (cons? V3268) (and (cons? (tl V3268)) (and (cons? (tl (tl V3268))) (and (cons? (hd (tl (tl V3268)))) (and (cons? (tl (hd (tl (tl V3268))))) (and (= () (tl (tl (hd (tl (tl V3268)))))) (= () (tl (tl (tl V3268)))))))))) (let W3269 (shen.extract-vars (hd (tl (hd (tl (tl V3268)))))) (append (shen.rule->head (hd (tl (hd (tl (tl V3268)))))) (append (cons <-- ()) (shen.rule->body W3269 Assumptions (hd V3268) (hd (tl V3268)) (hd (hd (tl (tl V3268))))))))) (true (simple-error "partial function shen.rule->clause")))) -(defun shen.rule->head (V3256) (cons (shen.macro-@ch V3256) (cons Assumptions ()))) +(defun shen.rule->head (V3270) (cons (shen.macro-@ch V3270) (cons Assumptions ()))) -(defun shen.macro-@ch (V3257) (cons shen.@ch (cons V3257 ()))) +(defun shen.macro-@ch (V3271) (cons shen.@ch (cons V3271 ()))) -(defun shen.macro-@c (V3258) (cons shen.@c (cons V3258 ()))) +(defun shen.macro-@c (V3272) (cons shen.@c (cons V3272 ()))) -(defun shen.rule->body (V3259 V3260 V3261 V3262 V3263) (cond ((= () V3263) (shen.side-conditions->goals () V3259 V3260 V3261 V3262)) ((and (= () V3262) (and (cons? V3263) (= () (tl V3263)))) (let W3264 (shen.passive-variables (hd V3263) V3259) (let W3265 (shen.remove-bystanders V3259 (hd V3263)) (cons (shen.specialise-member (hd V3263) V3260 W3265 W3264) (shen.side-conditions->goals () V3259 V3260 V3261 ()))))) ((cons? V3263) (let W3266 (gensym NewAssumptions) (let W3267 (shen.passive-variables (hd V3263) V3259) (let W3268 (shen.remove-bystanders V3259 (hd V3263)) (cons (shen.specialise-consume (hd V3263) V3260 W3268 W3267 W3266) (shen.rule->body (append V3259 W3267) W3266 V3261 V3262 (tl V3263))))))) (true (simple-error "partial function shen.rule->body")))) +(defun shen.rule->body (V3273 V3274 V3275 V3276 V3277) (cond ((= () V3277) (shen.side-conditions->goals () V3273 V3274 V3275 V3276)) ((and (= () V3276) (and (cons? V3277) (= () (tl V3277)))) (let W3278 (shen.passive-variables (hd V3277) V3273) (let W3279 (shen.remove-bystanders V3273 (hd V3277)) (cons (shen.specialise-member (hd V3277) V3274 W3279 W3278) (shen.side-conditions->goals () V3273 V3274 V3275 ()))))) ((cons? V3277) (let W3280 (gensym NewAssumptions) (let W3281 (shen.passive-variables (hd V3277) V3273) (let W3282 (shen.remove-bystanders V3273 (hd V3277)) (cons (shen.specialise-consume (hd V3277) V3274 W3282 W3281 W3280) (shen.rule->body (append V3273 W3281) W3280 V3275 V3276 (tl V3277))))))) (true (simple-error "partial function shen.rule->body")))) -(defun shen.specialise-member (V3269 V3270 V3271 V3272) (let W3273 (gensym shen.member) (let W3274 (shen.member-clause W3273 V3269 V3271 V3272) (cons W3273 (cons V3270 (append V3271 V3272)))))) +(defun shen.specialise-member (V3283 V3284 V3285 V3286) (let W3287 (gensym shen.member) (let W3288 (shen.member-clause W3287 V3283 V3285 V3286) (cons W3287 (cons V3284 (append V3285 V3286)))))) -(defun shen.remove-bystanders (V3277 V3278) (cond ((= () V3277) ()) ((and (cons? V3277) (shen.occurs-check? (hd V3277) V3278)) (cons (hd V3277) (shen.remove-bystanders (tl V3277) V3278))) ((cons? V3277) (shen.remove-bystanders (tl V3277) V3278)) (true (simple-error "partial function shen.remove-bystanders")))) +(defun shen.remove-bystanders (V3291 V3292) (cond ((= () V3291) ()) ((and (cons? V3291) (shen.occurs-check? (hd V3291) V3292)) (cons (hd V3291) (shen.remove-bystanders (tl V3291) V3292))) ((cons? V3291) (shen.remove-bystanders (tl V3291) V3292)) (true (simple-error "partial function shen.remove-bystanders")))) -(defun shen.member-clause (V3279 V3280 V3281 V3282) (let W3283 (shen.nvars (length V3282)) (let W3284 (append (cons (cons - (cons (cons cons (cons (shen.macro-@ch V3280) (cons _ ()))) ())) ()) (append V3281 (append W3283 (append (cons <-- ()) (append (shen.passive-bind V3282 W3283) (cons (intern ";") ())))))) (let W3285 (let W3286 (gensym Hypotheses) (let W3287 (append V3281 V3282) (let W3288 (append (cons (cons - (cons (cons cons (cons _ (cons W3286 ()))) ())) ()) W3287) (let W3289 (cons (cons V3279 (cons W3286 W3287)) ()) (append W3288 (append (cons <-- ()) (append W3289 (cons (intern ";") ())))))))) (let W3290 (cons defprolog (cons V3279 (append W3284 W3285))) (eval W3290)))))) +(defun shen.member-clause (V3293 V3294 V3295 V3296) (let W3297 (shen.nvars (length V3296)) (let W3298 (append (cons (cons - (cons (cons cons (cons (shen.macro-@ch V3294) (cons _ ()))) ())) ()) (append V3295 (append W3297 (append (cons <-- ()) (append (shen.passive-bind V3296 W3297) (cons (intern ";") ())))))) (let W3299 (let W3300 (gensym Hypotheses) (let W3301 (append V3295 V3296) (let W3302 (append (cons (cons - (cons (cons cons (cons _ (cons W3300 ()))) ())) ()) W3301) (let W3303 (cons (cons V3293 (cons W3300 W3301)) ()) (append W3302 (append (cons <-- ()) (append W3303 (cons (intern ";") ())))))))) (let W3304 (cons defprolog (cons V3293 (append W3298 W3299))) (eval W3304)))))) -(defun shen.nvars (V3291) (cond ((= 0 V3291) ()) (true (cons (gensym NewV) (shen.nvars (- V3291 1)))))) +(defun shen.nvars (V3305) (cond ((= 0 V3305) ()) (true (cons (gensym NewV) (shen.nvars (- V3305 1)))))) -(defun shen.passive-bind (V3292 V3293) (cond ((and (= () V3292) (= () V3293)) ()) ((and (cons? V3292) (cons? V3293)) (cons (cons bind (cons (hd V3293) (cons (hd V3292) ()))) (shen.passive-bind (tl V3292) (tl V3293)))) (true (simple-error "partial function shen.passive-bind")))) +(defun shen.passive-bind (V3306 V3307) (cond ((and (= () V3306) (= () V3307)) ()) ((and (cons? V3306) (cons? V3307)) (cons (cons bind (cons (hd V3307) (cons (hd V3306) ()))) (shen.passive-bind (tl V3306) (tl V3307)))) (true (simple-error "partial function shen.passive-bind")))) -(defun shen.specialise-consume (V3294 V3295 V3296 V3297 V3298) (let W3299 (gensym shen.consume) (let W3300 (shen.consume-clause W3299 V3294 V3296 V3297 V3298) (cons W3299 (cons V3295 (cons V3298 (append V3296 V3297))))))) +(defun shen.specialise-consume (V3308 V3309 V3310 V3311 V3312) (let W3313 (gensym shen.consume) (let W3314 (shen.consume-clause W3313 V3308 V3310 V3311 V3312) (cons W3313 (cons V3309 (cons V3312 (append V3310 V3311))))))) -(defun shen.consume-clause (V3301 V3302 V3303 V3304 V3305) (let W3306 (shen.nvars (length V3304)) (let W3307 (gensym Assumption) (let W3308 (cons (cons - (cons (cons cons (cons (shen.macro-@ch V3302) (cons W3307 ()))) ())) (cons V3305 (append V3303 (append W3306 (append (cons <-- ()) (append (shen.passive-bind V3304 W3306) (cons (cons bind (cons V3305 (cons W3307 ()))) (cons (intern ";") ())))))))) (let W3309 (let W3310 (gensym Hypotheses) (let W3311 (append V3303 V3304) (let W3312 (gensym Assumptions) (let W3313 (cons (cons - (cons (cons cons (cons W3307 (cons W3310 ()))) ())) (cons (cons cons (cons W3312 (cons V3305 ()))) W3311)) (let W3314 (cons (cons bind (cons W3312 (cons W3307 ()))) (cons (cons V3301 (cons W3310 (cons V3305 W3311))) ())) (append W3313 (append (cons <-- ()) (append W3314 (cons (intern ";") ()))))))))) (let W3315 (cons defprolog (cons V3301 (append W3308 W3309))) (eval W3315))))))) +(defun shen.consume-clause (V3315 V3316 V3317 V3318 V3319) (let W3320 (shen.nvars (length V3318)) (let W3321 (gensym Assumption) (let W3322 (cons (cons - (cons (cons cons (cons (shen.macro-@ch V3316) (cons W3321 ()))) ())) (cons V3319 (append V3317 (append W3320 (append (cons <-- ()) (append (shen.passive-bind V3318 W3320) (cons (cons bind (cons V3319 (cons W3321 ()))) (cons (intern ";") ())))))))) (let W3323 (let W3324 (gensym Hypotheses) (let W3325 (append V3317 V3318) (let W3326 (gensym Assumptions) (let W3327 (cons (cons - (cons (cons cons (cons W3321 (cons W3324 ()))) ())) (cons (cons cons (cons W3326 (cons V3319 ()))) W3325)) (let W3328 (cons (cons bind (cons W3326 (cons W3321 ()))) (cons (cons V3315 (cons W3324 (cons V3319 W3325))) ())) (append W3327 (append (cons <-- ()) (append W3328 (cons (intern ";") ()))))))))) (let W3329 (cons defprolog (cons V3315 (append W3322 W3323))) (eval W3329))))))) -(defun shen.passive-variables (V3316 V3317) (difference (shen.extract-vars V3316) V3317)) +(defun shen.passive-variables (V3330 V3331) (difference (shen.extract-vars V3330) V3331)) -(defun shen.side-conditions->goals (V3322 V3323 V3324 V3325 V3326) (cond ((= () V3325) (shen.premises->goals V3322 V3324 V3326)) ((and (cons? V3325) (and (cons? (hd V3325)) (and (= if (hd (hd V3325))) (and (cons? (tl (hd V3325))) (= () (tl (tl (hd V3325)))))))) (cons (cons when (tl (hd V3325))) (shen.side-conditions->goals V3322 V3323 V3324 (tl V3325) V3326))) ((and (cons? V3325) (and (cons? (hd V3325)) (and (= let (hd (hd V3325))) (and (cons? (tl (hd V3325))) (and (cons? (tl (tl (hd V3325)))) (= () (tl (tl (tl (hd V3325)))))))))) (if (element? (hd (tl (hd V3325))) V3323) (cons (cons is! (tl (hd V3325))) (shen.side-conditions->goals V3322 V3323 V3324 (tl V3325) V3326)) (cons (cons bind (tl (hd V3325))) (shen.side-conditions->goals V3322 (cons (hd (tl (hd V3325))) V3323) V3324 (tl V3325) V3326)))) ((and (cons? V3325) (and (cons? (hd V3325)) (and (= ctxt (hd (hd V3325))) (and (cons? (tl (hd V3325))) (= () (tl (tl (hd V3325)))))))) (if (element? (hd (tl (hd V3325))) V3323) (shen.side-conditions->goals (cons (hd (tl (hd V3325))) V3322) V3323 V3324 (tl V3325) V3326) (cons (cons bind (cons (hd (tl (hd V3325))) (cons V3324 ()))) (shen.side-conditions->goals (cons (hd (tl (hd V3325))) V3322) (cons (hd (tl (hd V3325))) V3323) (hd (tl (hd V3325))) (tl V3325) V3326)))) ((and (cons? V3325) (and (cons? (hd V3325)) (and (= sqts (hd (hd V3325))) (and (cons? (tl (hd V3325))) (= () (tl (tl (hd V3325)))))))) (shen.side-conditions->goals V3322 V3323 V3324 (tl V3325) V3326)) (true (simple-error "partial function shen.side-conditions->goals")))) +(defun shen.side-conditions->goals (V3336 V3337 V3338 V3339 V3340) (cond ((= () V3339) (shen.premises->goals V3336 V3338 V3340)) ((and (cons? V3339) (and (cons? (hd V3339)) (and (= if (hd (hd V3339))) (and (cons? (tl (hd V3339))) (= () (tl (tl (hd V3339)))))))) (cons (cons when (tl (hd V3339))) (shen.side-conditions->goals V3336 V3337 V3338 (tl V3339) V3340))) ((and (cons? V3339) (and (cons? (hd V3339)) (and (= let (hd (hd V3339))) (and (cons? (tl (hd V3339))) (and (cons? (tl (tl (hd V3339)))) (= () (tl (tl (tl (hd V3339)))))))))) (if (element? (hd (tl (hd V3339))) V3337) (cons (cons is! (tl (hd V3339))) (shen.side-conditions->goals V3336 V3337 V3338 (tl V3339) V3340)) (cons (cons bind (tl (hd V3339))) (shen.side-conditions->goals V3336 (cons (hd (tl (hd V3339))) V3337) V3338 (tl V3339) V3340)))) ((and (cons? V3339) (and (cons? (hd V3339)) (and (= ctxt (hd (hd V3339))) (and (cons? (tl (hd V3339))) (= () (tl (tl (hd V3339)))))))) (if (element? (hd (tl (hd V3339))) V3337) (shen.side-conditions->goals (cons (hd (tl (hd V3339))) V3336) V3337 V3338 (tl V3339) V3340) (cons (cons bind (cons (hd (tl (hd V3339))) (cons V3338 ()))) (shen.side-conditions->goals (cons (hd (tl (hd V3339))) V3336) (cons (hd (tl (hd V3339))) V3337) (hd (tl (hd V3339))) (tl V3339) V3340)))) ((and (cons? V3339) (and (cons? (hd V3339)) (and (= sqts (hd (hd V3339))) (and (cons? (tl (hd V3339))) (= () (tl (tl (hd V3339)))))))) (shen.side-conditions->goals V3336 V3337 V3338 (tl V3339) V3340)) (true (simple-error "partial function shen.side-conditions->goals")))) -(defun shen.premises->goals (V3331 V3332 V3333) (cond ((= () V3333) (cons (intern ";") ())) ((and (cons? V3333) (= ! (hd V3333))) (cons ! (shen.premises->goals V3331 V3332 (tl V3333)))) ((and (cons? V3333) (= fail (hd V3333))) (cons (cons when (cons false ())) (shen.premises->goals V3331 V3332 (tl V3333)))) ((and (cons? V3333) (and (cons? (hd V3333)) (and (cons? (tl (hd V3333))) (= () (tl (tl (hd V3333))))))) (cons (cons shen.system-S (cons (shen.macro-@c (hd (tl (hd V3333)))) (cons (shen.construct-context V3331 (hd (hd V3333)) V3332) ()))) (shen.premises->goals V3331 V3332 (tl V3333)))) (true (simple-error "partial function shen.premises->goals")))) +(defun shen.premises->goals (V3345 V3346 V3347) (cond ((= () V3347) (cons (intern ";") ())) ((and (cons? V3347) (= ! (hd V3347))) (cons ! (shen.premises->goals V3345 V3346 (tl V3347)))) ((and (cons? V3347) (= fail (hd V3347))) (cons (cons when (cons false ())) (shen.premises->goals V3345 V3346 (tl V3347)))) ((and (cons? V3347) (and (cons? (hd V3347)) (and (cons? (tl (hd V3347))) (= () (tl (tl (hd V3347))))))) (cons (cons shen.system-S (cons (shen.macro-@c (hd (tl (hd V3347)))) (cons (shen.construct-context V3345 (hd (hd V3347)) V3346) ()))) (shen.premises->goals V3345 V3346 (tl V3347)))) (true (simple-error "partial function shen.premises->goals")))) -(defun shen.construct-context (V3337 V3338 V3339) (cond ((= () V3338) V3339) ((and (cons? V3338) (and (= () (tl V3338)) (element? (hd V3338) V3337))) (hd V3338)) ((cons? V3338) (cons cons (cons (shen.macro-@c (hd V3338)) (cons (shen.construct-context V3337 (tl V3338) V3339) ())))) (true (simple-error "partial function shen.construct-context")))) +(defun shen.construct-context (V3351 V3352 V3353) (cond ((= () V3352) V3353) ((and (cons? V3352) (and (= () (tl V3352)) (element? (hd V3352) V3351))) (hd V3352)) ((cons? V3352) (cons cons (cons (shen.macro-@c (hd V3352)) (cons (shen.construct-context V3351 (tl V3352) V3353) ())))) (true (simple-error "partial function shen.construct-context")))) -(defun preclude (V3340) (let W3341 (map (lambda Z3342 (shen.intern-type Z3342)) V3340) (let W3343 (value shen.*datatypes*) (let W3344 (shen.remove-datatypes W3341 W3343) (let W3345 (set shen.*datatypes* W3344) (shen.show-datatypes W3345)))))) +(defun preclude (V3354) (let W3355 (map (lambda Z3356 (shen.intern-type Z3356)) V3354) (let W3357 (value shen.*datatypes*) (let W3358 (shen.remove-datatypes W3355 W3357) (let W3359 (set shen.*datatypes* W3358) (shen.show-datatypes W3359)))))) -(defun shen.remove-datatypes (V3350 V3351) (cond ((= () V3350) V3351) ((cons? V3350) (shen.remove-datatypes (tl V3350) (shen.unassoc (hd V3350) V3351))) (true (simple-error "implementation error in shen.remove-datatypes")))) +(defun shen.remove-datatypes (V3364 V3365) (cond ((= () V3364) V3365) ((cons? V3364) (shen.remove-datatypes (tl V3364) (shen.unassoc (hd V3364) V3365))) (true (simple-error "implementation error in shen.remove-datatypes")))) -(defun shen.show-datatypes (V3352) (map (lambda Z3353 (hd Z3353)) V3352)) +(defun shen.show-datatypes (V3366) (map (lambda Z3367 (hd Z3367)) V3366)) -(defun include (V3354) (let W3355 (map (lambda Z3356 (shen.intern-type Z3356)) V3354) (let W3357 (map (lambda Z3358 (shen.remember-datatype Z3358 (fn Z3358))) W3355) (let W3359 (value shen.*datatypes*) (shen.show-datatypes W3359))))) +(defun include (V3368) (let W3369 (map (lambda Z3370 (shen.intern-type Z3370)) V3368) (let W3371 (map (lambda Z3372 (shen.remember-datatype Z3372 (fn Z3372))) W3369) (let W3373 (value shen.*datatypes*) (shen.show-datatypes W3373))))) -(defun preclude-all-but (V3360) (let W3361 (set shen.*datatypes* ()) (let W3362 (map (lambda Z3363 (shen.intern-type Z3363)) V3360) (let W3364 (map (lambda Z3365 (shen.remember-datatype Z3365 (fn Z3365))) W3362) (shen.show-datatypes (value shen.*datatypes*)))))) +(defun preclude-all-but (V3374) (let W3375 (set shen.*datatypes* ()) (let W3376 (map (lambda Z3377 (shen.intern-type Z3377)) V3374) (let W3378 (map (lambda Z3379 (shen.remember-datatype Z3379 (fn Z3379))) W3376) (shen.show-datatypes (value shen.*datatypes*)))))) -(defun include-all-but (V3366) (let W3367 (map (lambda Z3368 (shen.intern-type Z3368)) V3366) (let W3369 (value shen.*alldatatypes*) (let W3370 (set shen.*datatypes* (shen.remove-datatypes W3367 W3369)) (shen.show-datatypes W3370))))) +(defun include-all-but (V3380) (let W3381 (map (lambda Z3382 (shen.intern-type Z3382)) V3380) (let W3383 (value shen.*alldatatypes*) (let W3384 (set shen.*datatypes* (shen.remove-datatypes W3381 W3383)) (shen.show-datatypes W3384))))) diff --git a/kernel/klambda/sys.kl b/kernel/klambda/sys.kl index e732b95..d4a65b0 100644 --- a/kernel/klambda/sys.kl +++ b/kernel/klambda/sys.kl @@ -1,16 +1,16 @@ -(defun thaw (V3430) (V3430)) +(defun thaw (V3444) (V3444)) -(defun eval (V3431) (eval-kl (shen.shen->kl (shen.process-applications (macroexpand V3431) (shen.find-types V3431))))) +(defun eval (V3445) (eval-kl (shen.shen->kl (shen.process-applications (macroexpand V3445) (shen.find-types V3445))))) -(defun external (V3432) (cond ((= null V3432) ()) (true (trap-error (get V3432 shen.external-symbols (value *property-vector*)) (lambda Z3433 (simple-error (cn "package " (shen.app V3432 " does not exist. +(defun external (V3446) (cond ((= null V3446) ()) (true (trap-error (get V3446 shen.external-symbols (value *property-vector*)) (lambda Z3447 (simple-error (cn "package " (shen.app V3446 " does not exist. ;" shen.a)))))))) -(defun internal (V3434) (cond ((= null V3434) ()) (true (trap-error (get V3434 shen.internal-symbols (value *property-vector*)) (lambda Z3435 (simple-error (cn "package " (shen.app V3434 " does not exist. +(defun internal (V3448) (cond ((= null V3448) ()) (true (trap-error (get V3448 shen.internal-symbols (value *property-vector*)) (lambda Z3449 (simple-error (cn "package " (shen.app V3448 " does not exist. ;" shen.a)))))))) -(defun fail-if (V3436 V3437) (if (V3436 V3437) (fail) V3437)) +(defun fail-if (V3450 V3451) (if (V3450 V3451) (fail) V3451)) -(defun @s (V3438 V3439) (cn V3438 V3439)) +(defun @s (V3452 V3453) (cn V3452 V3453)) (defun tc? () (value shen.*tc*)) @@ -20,191 +20,191 @@ (defun tracked () (value shen.*tracking*)) -(defun ps (V3440) (trap-error (get V3440 shen.source (value *property-vector*)) (lambda Z3441 (simple-error (shen.app V3440 " not found. +(defun ps (V3454) (trap-error (get V3454 shen.source (value *property-vector*)) (lambda Z3455 (simple-error (shen.app V3454 " not found. " shen.a))))) (defun stinput () (value *stinput*)) -(defun vector (V3442) (let W3443 (absvector (+ V3442 1)) (let W3444 (address-> W3443 0 V3442) (let W3445 (if (= V3442 0) W3444 (shen.fillvector W3444 1 V3442 (fail))) W3445)))) +(defun vector (V3456) (let W3457 (absvector (+ V3456 1)) (let W3458 (address-> W3457 0 V3456) (let W3459 (if (= V3456 0) W3458 (shen.fillvector W3458 1 V3456 (fail))) W3459)))) -(defun shen.fillvector (V3447 V3448 V3449 V3450) (cond ((= V3448 V3449) (address-> V3447 V3449 V3450)) (true (shen.fillvector (address-> V3447 V3448 V3450) (+ 1 V3448) V3449 V3450)))) +(defun shen.fillvector (V3461 V3462 V3463 V3464) (cond ((= V3462 V3463) (address-> V3461 V3463 V3464)) (true (shen.fillvector (address-> V3461 V3462 V3464) (+ 1 V3462) V3463 V3464)))) -(defun vector? (V3451) (and (absvector? V3451) (trap-error (>= (<-address V3451 0) 0) (lambda Z3452 false)))) +(defun vector? (V3465) (and (absvector? V3465) (trap-error (>= (<-address V3465 0) 0) (lambda Z3466 false)))) -(defun vector-> (V3453 V3454 V3455) (if (= V3454 0) (simple-error "cannot access 0th element of a vector -") (address-> V3453 V3454 V3455))) +(defun vector-> (V3467 V3468 V3469) (if (= V3468 0) (simple-error "cannot access 0th element of a vector +") (address-> V3467 V3468 V3469))) -(defun <-vector (V3456 V3457) (if (= V3457 0) (simple-error "cannot access 0th element of a vector -") (let W3458 (<-address V3456 V3457) (if (= W3458 (fail)) (simple-error "vector element not found -") W3458)))) +(defun <-vector (V3470 V3471) (if (= V3471 0) (simple-error "cannot access 0th element of a vector +") (let W3472 (<-address V3470 V3471) (if (= W3472 (fail)) (simple-error "vector element not found +") W3472)))) -(defun shen.posint? (V3459) (and (integer? V3459) (>= V3459 0))) +(defun shen.posint? (V3473) (and (integer? V3473) (>= V3473 0))) -(defun limit (V3460) (<-address V3460 0)) +(defun limit (V3474) (<-address V3474 0)) -(defun symbol? (V3461) (cond ((or (boolean? V3461) (or (number? V3461) (or (string? V3461) (or (cons? V3461) (or (empty? V3461) (vector? V3461)))))) false) ((element? V3461 (cons { (cons } (cons (intern ":") (cons (intern ";") (cons (intern ",") ())))))) true) (true (trap-error (let W3462 (str V3461) (shen.analyse-symbol? W3462)) (lambda Z3463 false))))) +(defun symbol? (V3475) (cond ((or (boolean? V3475) (or (number? V3475) (or (string? V3475) (or (cons? V3475) (or (empty? V3475) (vector? V3475)))))) false) ((element? V3475 (cons { (cons } (cons (intern ":") (cons (intern ";") (cons (intern ",") ())))))) true) (true (trap-error (let W3476 (str V3475) (shen.analyse-symbol? W3476)) (lambda Z3477 false))))) -(defun shen.analyse-symbol? (V3466) (cond ((shen.+string? V3466) (and (shen.alpha? (string->n (hdstr V3466))) (shen.alphanums? (tlstr V3466)))) (true (simple-error "implementation error in shen.analyse-symbol?")))) +(defun shen.analyse-symbol? (V3480) (cond ((shen.+string? V3480) (and (shen.alpha? (string->n (hdstr V3480))) (shen.alphanums? (tlstr V3480)))) (true (simple-error "implementation error in shen.analyse-symbol?")))) -(defun shen.alphanums? (V3469) (cond ((= "" V3469) true) ((shen.+string? V3469) (let W3470 (string->n (hdstr V3469)) (and (or (shen.alpha? W3470) (shen.digit? W3470)) (shen.alphanums? (tlstr V3469))))) (true (simple-error "implementation error in shen.alphanums?")))) +(defun shen.alphanums? (V3483) (cond ((= "" V3483) true) ((shen.+string? V3483) (let W3484 (string->n (hdstr V3483)) (and (or (shen.alpha? W3484) (shen.digit? W3484)) (shen.alphanums? (tlstr V3483))))) (true (simple-error "implementation error in shen.alphanums?")))) -(defun variable? (V3471) (cond ((or (boolean? V3471) (or (number? V3471) (string? V3471))) false) (true (trap-error (let W3472 (str V3471) (shen.analyse-variable? W3472)) (lambda Z3473 false))))) +(defun variable? (V3485) (cond ((or (boolean? V3485) (or (number? V3485) (string? V3485))) false) (true (trap-error (let W3486 (str V3485) (shen.analyse-variable? W3486)) (lambda Z3487 false))))) -(defun shen.analyse-variable? (V3476) (cond ((shen.+string? V3476) (and (shen.uppercase? (string->n (hdstr V3476))) (shen.alphanums? (tlstr V3476)))) (true (simple-error "implementation error in shen.analyse-variable?")))) +(defun shen.analyse-variable? (V3490) (cond ((shen.+string? V3490) (and (shen.uppercase? (string->n (hdstr V3490))) (shen.alphanums? (tlstr V3490)))) (true (simple-error "implementation error in shen.analyse-variable?")))) -(defun gensym (V3477) (concat V3477 (set shen.*gensym* (+ 1 (value shen.*gensym*))))) +(defun gensym (V3491) (concat V3491 (set shen.*gensym* (+ 1 (value shen.*gensym*))))) -(defun concat (V3478 V3479) (intern (cn (str V3478) (str V3479)))) +(defun concat (V3492 V3493) (intern (cn (str V3492) (str V3493)))) -(defun @p (V3480 V3481) (let W3482 (absvector 3) (let W3483 (address-> W3482 0 shen.tuple) (let W3484 (address-> W3482 1 V3480) (let W3485 (address-> W3482 2 V3481) W3482))))) +(defun @p (V3494 V3495) (let W3496 (absvector 3) (let W3497 (address-> W3496 0 shen.tuple) (let W3498 (address-> W3496 1 V3494) (let W3499 (address-> W3496 2 V3495) W3496))))) -(defun fst (V3486) (<-address V3486 1)) +(defun fst (V3500) (<-address V3500 1)) -(defun snd (V3487) (<-address V3487 2)) +(defun snd (V3501) (<-address V3501 2)) -(defun tuple? (V3488) (trap-error (and (absvector? V3488) (= shen.tuple (<-address V3488 0))) (lambda Z3489 false))) +(defun tuple? (V3502) (trap-error (and (absvector? V3502) (= shen.tuple (<-address V3502 0))) (lambda Z3503 false))) -(defun append (V3494 V3495) (cond ((= () V3494) V3495) ((cons? V3494) (cons (hd V3494) (append (tl V3494) V3495))) (true (simple-error "attempt to append a non-list")))) +(defun append (V3508 V3509) (cond ((= () V3508) V3509) ((cons? V3508) (cons (hd V3508) (append (tl V3508) V3509))) (true (simple-error "attempt to append a non-list")))) -(defun @v (V3496 V3497) (let W3498 (limit V3497) (let W3499 (vector (+ W3498 1)) (let W3500 (vector-> W3499 1 V3496) (if (= W3498 0) W3500 (shen.@v-help V3497 1 W3498 W3500)))))) +(defun @v (V3510 V3511) (let W3512 (limit V3511) (let W3513 (vector (+ W3512 1)) (let W3514 (vector-> W3513 1 V3510) (if (= W3512 0) W3514 (shen.@v-help V3511 1 W3512 W3514)))))) -(defun shen.@v-help (V3502 V3503 V3504 V3505) (cond ((= V3503 V3504) (shen.copyfromvector V3502 V3505 V3504 (+ V3504 1))) (true (shen.@v-help V3502 (+ V3503 1) V3504 (shen.copyfromvector V3502 V3505 V3503 (+ V3503 1)))))) +(defun shen.@v-help (V3516 V3517 V3518 V3519) (cond ((= V3517 V3518) (shen.copyfromvector V3516 V3519 V3518 (+ V3518 1))) (true (shen.@v-help V3516 (+ V3517 1) V3518 (shen.copyfromvector V3516 V3519 V3517 (+ V3517 1)))))) -(defun shen.copyfromvector (V3506 V3507 V3508 V3509) (trap-error (vector-> V3507 V3509 (<-vector V3506 V3508)) (lambda Z3510 V3507))) +(defun shen.copyfromvector (V3520 V3521 V3522 V3523) (trap-error (vector-> V3521 V3523 (<-vector V3520 V3522)) (lambda Z3524 V3521))) -(defun hdv (V3511) (trap-error (<-vector V3511 1) (lambda Z3512 (simple-error "hdv needs a non-empty vector as an argument +(defun hdv (V3525) (trap-error (<-vector V3525 1) (lambda Z3526 (simple-error "hdv needs a non-empty vector as an argument ")))) -(defun tlv (V3513) (let W3514 (limit V3513) (if (= W3514 0) (simple-error "cannot take the tail of the empty vector -") (if (= W3514 1) (vector 0) (let W3515 (vector (- W3514 1)) (shen.tlv-help V3513 2 W3514 (vector (- W3514 1)))))))) +(defun tlv (V3527) (let W3528 (limit V3527) (if (= W3528 0) (simple-error "cannot take the tail of the empty vector +") (if (= W3528 1) (vector 0) (let W3529 (vector (- W3528 1)) (shen.tlv-help V3527 2 W3528 (vector (- W3528 1)))))))) -(defun shen.tlv-help (V3517 V3518 V3519 V3520) (cond ((= V3518 V3519) (shen.copyfromvector V3517 V3520 V3519 (- V3519 1))) (true (shen.tlv-help V3517 (+ V3518 1) V3519 (shen.copyfromvector V3517 V3520 V3518 (- V3518 1)))))) +(defun shen.tlv-help (V3531 V3532 V3533 V3534) (cond ((= V3532 V3533) (shen.copyfromvector V3531 V3534 V3533 (- V3533 1))) (true (shen.tlv-help V3531 (+ V3532 1) V3533 (shen.copyfromvector V3531 V3534 V3532 (- V3532 1)))))) -(defun assoc (V3532 V3533) (cond ((= () V3533) ()) ((and (cons? V3533) (and (cons? (hd V3533)) (= V3532 (hd (hd V3533))))) (hd V3533)) ((cons? V3533) (assoc V3532 (tl V3533))) (true (simple-error "attempt to search a non-list with assoc +(defun assoc (V3546 V3547) (cond ((= () V3547) ()) ((and (cons? V3547) (and (cons? (hd V3547)) (= V3546 (hd (hd V3547))))) (hd V3547)) ((cons? V3547) (assoc V3546 (tl V3547))) (true (simple-error "attempt to search a non-list with assoc ")))) -(defun boolean? (V3536) (cond ((= true V3536) true) ((= false V3536) true) (true false))) +(defun boolean? (V3550) (cond ((= true V3550) true) ((= false V3550) true) (true false))) -(defun nl (V3537) (cond ((= 0 V3537) 0) (true (do (pr " -" (stoutput)) (nl (- V3537 1)))))) +(defun nl (V3551) (cond ((= 0 V3551) 0) (true (do (pr " +" (stoutput)) (nl (- V3551 1)))))) -(defun difference (V3544 V3545) (cond ((= () V3544) ()) ((cons? V3544) (if (element? (hd V3544) V3545) (difference (tl V3544) V3545) (cons (hd V3544) (difference (tl V3544) V3545)))) (true (simple-error "attempt to find the difference with a non-list +(defun difference (V3558 V3559) (cond ((= () V3558) ()) ((cons? V3558) (if (element? (hd V3558) V3559) (difference (tl V3558) V3559) (cons (hd V3558) (difference (tl V3558) V3559)))) (true (simple-error "attempt to find the difference with a non-list ")))) -(defun do (V3546 V3547) V3547) +(defun do (V3560 V3561) V3561) -(defun element? (V3559 V3560) (cond ((= () V3560) false) ((and (cons? V3560) (= V3559 (hd V3560))) true) ((cons? V3560) (element? V3559 (tl V3560))) (true (simple-error "attempt to find an element in a non-list +(defun element? (V3573 V3574) (cond ((= () V3574) false) ((and (cons? V3574) (= V3573 (hd V3574))) true) ((cons? V3574) (element? V3573 (tl V3574))) (true (simple-error "attempt to find an element in a non-list ")))) -(defun empty? (V3563) (cond ((= () V3563) true) (true false))) +(defun empty? (V3577) (cond ((= () V3577) true) (true false))) -(defun fix (V3564 V3565) (shen.fix-help V3564 V3565 (V3564 V3565))) +(defun fix (V3578 V3579) (shen.fix-help V3578 V3579 (V3578 V3579))) -(defun shen.fix-help (V3571 V3572 V3573) (cond ((= V3572 V3573) V3573) (true (shen.fix-help V3571 V3573 (V3571 V3573))))) +(defun shen.fix-help (V3585 V3586 V3587) (cond ((= V3586 V3587) V3587) (true (shen.fix-help V3585 V3587 (V3585 V3587))))) -(defun put (V3574 V3575 V3576 V3577) (let W3578 (hash V3574 (limit V3577)) (let W3579 (trap-error (<-vector V3577 W3578) (lambda Z3580 ())) (let W3581 (vector-> V3577 W3578 (shen.change-pointer-value V3574 V3575 V3576 W3579)) V3576)))) +(defun put (V3588 V3589 V3590 V3591) (let W3592 (hash V3588 (limit V3591)) (let W3593 (trap-error (<-vector V3591 W3592) (lambda Z3594 ())) (let W3595 (vector-> V3591 W3592 (shen.change-pointer-value V3588 V3589 V3590 W3593)) V3590)))) -(defun unput (V3582 V3583 V3584) (let W3585 (hash V3582 (limit V3584)) (let W3586 (trap-error (<-vector V3584 W3585) (lambda Z3587 ())) (let W3588 (vector-> V3584 W3585 (shen.remove-pointer V3582 V3583 W3586)) V3582)))) +(defun unput (V3596 V3597 V3598) (let W3599 (hash V3596 (limit V3598)) (let W3600 (trap-error (<-vector V3598 W3599) (lambda Z3601 ())) (let W3602 (vector-> V3598 W3599 (shen.remove-pointer V3596 V3597 W3600)) V3596)))) -(defun shen.remove-pointer (V3599 V3600 V3601) (cond ((= () V3601) ()) ((and (cons? V3601) (and (cons? (hd V3601)) (and (cons? (hd (hd V3601))) (and (cons? (tl (hd (hd V3601)))) (and (= () (tl (tl (hd (hd V3601))))) (and (= V3600 (hd (tl (hd (hd V3601))))) (= V3599 (hd (hd (hd V3601)))))))))) (tl V3601)) ((cons? V3601) (cons (hd V3601) (shen.remove-pointer V3599 V3600 (tl V3601)))) (true (simple-error "implementation error in shen.remove-pointer")))) +(defun shen.remove-pointer (V3613 V3614 V3615) (cond ((= () V3615) ()) ((and (cons? V3615) (and (cons? (hd V3615)) (and (cons? (hd (hd V3615))) (and (cons? (tl (hd (hd V3615)))) (and (= () (tl (tl (hd (hd V3615))))) (and (= V3614 (hd (tl (hd (hd V3615))))) (= V3613 (hd (hd (hd V3615)))))))))) (tl V3615)) ((cons? V3615) (cons (hd V3615) (shen.remove-pointer V3613 V3614 (tl V3615)))) (true (simple-error "implementation error in shen.remove-pointer")))) -(defun shen.change-pointer-value (V3614 V3615 V3616 V3617) (cond ((= () V3617) (cons (cons (cons V3614 (cons V3615 ())) V3616) ())) ((and (cons? V3617) (and (cons? (hd V3617)) (and (cons? (hd (hd V3617))) (and (cons? (tl (hd (hd V3617)))) (and (= () (tl (tl (hd (hd V3617))))) (and (= V3615 (hd (tl (hd (hd V3617))))) (= V3614 (hd (hd (hd V3617)))))))))) (cons (cons (hd (hd V3617)) V3616) (tl V3617))) ((cons? V3617) (cons (hd V3617) (shen.change-pointer-value V3614 V3615 V3616 (tl V3617)))) (true (simple-error "implementation error in shen.change-pointer-value")))) +(defun shen.change-pointer-value (V3628 V3629 V3630 V3631) (cond ((= () V3631) (cons (cons (cons V3628 (cons V3629 ())) V3630) ())) ((and (cons? V3631) (and (cons? (hd V3631)) (and (cons? (hd (hd V3631))) (and (cons? (tl (hd (hd V3631)))) (and (= () (tl (tl (hd (hd V3631))))) (and (= V3629 (hd (tl (hd (hd V3631))))) (= V3628 (hd (hd (hd V3631)))))))))) (cons (cons (hd (hd V3631)) V3630) (tl V3631))) ((cons? V3631) (cons (hd V3631) (shen.change-pointer-value V3628 V3629 V3630 (tl V3631)))) (true (simple-error "implementation error in shen.change-pointer-value")))) -(defun get (V3618 V3619 V3620) (let W3621 (hash V3618 (limit V3620)) (let W3622 (trap-error (<-vector V3620 W3621) (lambda Z3623 (simple-error (shen.app V3618 (cn " has no attributes: " (shen.app V3619 " -" shen.s)) shen.a)))) (let W3624 (assoc (cons V3618 (cons V3619 ())) W3622) (if (empty? W3624) (simple-error (cn "attribute " (shen.app V3619 (cn " not found for " (shen.app V3618 " -" shen.s)) shen.s))) (tl W3624)))))) +(defun get (V3632 V3633 V3634) (let W3635 (hash V3632 (limit V3634)) (let W3636 (trap-error (<-vector V3634 W3635) (lambda Z3637 (simple-error (shen.app V3632 (cn " has no attributes: " (shen.app V3633 " +" shen.s)) shen.a)))) (let W3638 (assoc (cons V3632 (cons V3633 ())) W3636) (if (empty? W3638) (simple-error (cn "attribute " (shen.app V3633 (cn " not found for " (shen.app V3632 " +" shen.s)) shen.s))) (tl W3638)))))) -(defun hash (V3625 V3626) (let W3627 (shen.mod (shen.hashkey V3625) V3626) (if (= W3627 0) 1 W3627))) +(defun hash (V3639 V3640) (let W3641 (shen.mod (shen.hashkey V3639) V3640) (if (= W3641 0) 1 W3641))) -(defun shen.hashkey (V3628) (let W3629 (map (lambda Z3630 (string->n Z3630)) (explode V3628)) (shen.prodbutzero W3629 1))) +(defun shen.hashkey (V3642) (let W3643 (map (lambda Z3644 (string->n Z3644)) (explode V3642)) (shen.prodbutzero W3643 1))) -(defun shen.prodbutzero (V3631 V3632) (cond ((= () V3631) V3632) ((and (cons? V3631) (= 0 (hd V3631))) (shen.prodbutzero (tl V3631) V3632)) ((cons? V3631) (if (> V3632 10000000000) (shen.prodbutzero (tl V3631) (+ V3632 (hd V3631))) (shen.prodbutzero (tl V3631) (* V3632 (hd V3631))))) (true (simple-error "partial function shen.prodbutzero")))) +(defun shen.prodbutzero (V3645 V3646) (cond ((= () V3645) V3646) ((and (cons? V3645) (= 0 (hd V3645))) (shen.prodbutzero (tl V3645) V3646)) ((cons? V3645) (if (> V3646 10000000000) (shen.prodbutzero (tl V3645) (+ V3646 (hd V3645))) (shen.prodbutzero (tl V3645) (* V3646 (hd V3645))))) (true (simple-error "partial function shen.prodbutzero")))) -(defun shen.mod (V3633 V3634) (shen.modh V3633 (shen.multiples V3633 (cons V3634 ())))) +(defun shen.mod (V3647 V3648) (shen.modh V3647 (shen.multiples V3647 (cons V3648 ())))) -(defun shen.multiples (V3639 V3640) (cond ((and (cons? V3640) (> (hd V3640) V3639)) (tl V3640)) ((cons? V3640) (shen.multiples V3639 (cons (* 2 (hd V3640)) V3640))) (true (simple-error "implementation error in shen.multiples")))) +(defun shen.multiples (V3653 V3654) (cond ((and (cons? V3654) (> (hd V3654) V3653)) (tl V3654)) ((cons? V3654) (shen.multiples V3653 (cons (* 2 (hd V3654)) V3654))) (true (simple-error "implementation error in shen.multiples")))) -(defun shen.modh (V3647 V3648) (cond ((= 0 V3647) 0) ((= () V3648) V3647) ((and (cons? V3648) (> (hd V3648) V3647)) (if (empty? (tl V3648)) V3647 (shen.modh V3647 (tl V3648)))) ((cons? V3648) (shen.modh (- V3647 (hd V3648)) V3648)) (true (simple-error "implementation error in shen.modh")))) +(defun shen.modh (V3661 V3662) (cond ((= 0 V3661) 0) ((= () V3662) V3661) ((and (cons? V3662) (> (hd V3662) V3661)) (if (empty? (tl V3662)) V3661 (shen.modh V3661 (tl V3662)))) ((cons? V3662) (shen.modh (- V3661 (hd V3662)) V3662)) (true (simple-error "implementation error in shen.modh")))) -(defun sum (V3651) (cond ((= () V3651) 0) ((cons? V3651) (+ (hd V3651) (sum (tl V3651)))) (true (simple-error "attempt to sum a non-list +(defun sum (V3665) (cond ((= () V3665) 0) ((cons? V3665) (+ (hd V3665) (sum (tl V3665)))) (true (simple-error "attempt to sum a non-list ")))) -(defun head (V3656) (cond ((cons? V3656) (hd V3656)) (true (simple-error "head expects a non-empty list +(defun head (V3670) (cond ((cons? V3670) (hd V3670)) (true (simple-error "head expects a non-empty list ")))) -(defun tail (V3661) (cond ((cons? V3661) (tl V3661)) (true (simple-error "tail expects a non-empty list +(defun tail (V3675) (cond ((cons? V3675) (tl V3675)) (true (simple-error "tail expects a non-empty list ")))) -(defun hdstr (V3662) (pos V3662 0)) +(defun hdstr (V3676) (pos V3676 0)) -(defun intersection (V3669 V3670) (cond ((= () V3669) ()) ((cons? V3669) (if (element? (hd V3669) V3670) (cons (hd V3669) (intersection (tl V3669) V3670)) (intersection (tl V3669) V3670))) (true (simple-error "attempt to find the intersection with a non-list +(defun intersection (V3683 V3684) (cond ((= () V3683) ()) ((cons? V3683) (if (element? (hd V3683) V3684) (cons (hd V3683) (intersection (tl V3683) V3684)) (intersection (tl V3683) V3684))) (true (simple-error "attempt to find the intersection with a non-list ")))) -(defun reverse (V3671) (shen.reverse-help V3671 ())) +(defun reverse (V3685) (shen.reverse-help V3685 ())) -(defun shen.reverse-help (V3676 V3677) (cond ((= () V3676) V3677) ((cons? V3676) (shen.reverse-help (tl V3676) (cons (hd V3676) V3677))) (true (simple-error "attempt to reverse a non-list +(defun shen.reverse-help (V3690 V3691) (cond ((= () V3690) V3691) ((cons? V3690) (shen.reverse-help (tl V3690) (cons (hd V3690) V3691))) (true (simple-error "attempt to reverse a non-list ")))) -(defun union (V3682 V3683) (cond ((= () V3682) V3683) ((cons? V3682) (if (element? (hd V3682) V3683) (union (tl V3682) V3683) (cons (hd V3682) (union (tl V3682) V3683)))) (true (simple-error "attempt to find the union with a non-list +(defun union (V3696 V3697) (cond ((= () V3696) V3697) ((cons? V3696) (if (element? (hd V3696) V3697) (union (tl V3696) V3697) (cons (hd V3696) (union (tl V3696) V3697)))) (true (simple-error "attempt to find the union with a non-list ")))) -(defun y-or-n? (V3684) (let W3685 (pr (shen.proc-nl V3684) (stoutput)) (let W3686 (pr " (y/n) " (stoutput)) (let W3687 (shen.app (read (stinput)) "" shen.s) (if (= "y" W3687) true (if (= "n" W3687) false (do (pr "please answer y or n -" (stoutput)) (y-or-n? V3684)))))))) +(defun y-or-n? (V3698) (let W3699 (pr (shen.proc-nl V3698) (stoutput)) (let W3700 (pr " (y/n) " (stoutput)) (let W3701 (shen.app (read (stinput)) "" shen.s) (if (= "y" W3701) true (if (= "n" W3701) false (do (pr "please answer y or n +" (stoutput)) (y-or-n? V3698)))))))) -(defun not (V3688) (if V3688 false true)) +(defun not (V3702) (if V3702 false true)) (defun abort () (simple-error "")) -(defun subst (V3694 V3695 V3696) (cond ((= V3695 V3696) V3694) ((cons? V3696) (cons (subst V3694 V3695 (hd V3696)) (subst V3694 V3695 (tl V3696)))) (true V3696))) +(defun subst (V3708 V3709 V3710) (cond ((= V3709 V3710) V3708) ((cons? V3710) (cons (subst V3708 V3709 (hd V3710)) (subst V3708 V3709 (tl V3710)))) (true V3710))) -(defun explode (V3697) (shen.explode-h (shen.app V3697 "" shen.a))) +(defun explode (V3711) (shen.explode-h (shen.app V3711 "" shen.a))) -(defun shen.explode-h (V3700) (cond ((= "" V3700) ()) ((shen.+string? V3700) (cons (hdstr V3700) (shen.explode-h (tlstr V3700)))) (true (simple-error "implementation error in explode-h")))) +(defun shen.explode-h (V3714) (cond ((= "" V3714) ()) ((shen.+string? V3714) (cons (hdstr V3714) (shen.explode-h (tlstr V3714)))) (true (simple-error "implementation error in explode-h")))) -(defun cd (V3701) (set *home-directory* (if (= V3701 "") "" (shen.app V3701 "/" shen.a)))) +(defun cd (V3715) (set *home-directory* (if (= V3715 "") "" (shen.app V3715 "/" shen.a)))) -(defun map (V3702 V3703) (shen.map-h V3702 V3703 ())) +(defun map (V3716 V3717) (shen.map-h V3716 V3717 ())) -(defun shen.map-h (V3704 V3705 V3706) (cond ((= () V3705) (reverse V3706)) ((cons? V3705) (shen.map-h V3704 (tl V3705) (cons (V3704 (hd V3705)) V3706))) (true (simple-error "partial function shen.map-h")))) +(defun shen.map-h (V3718 V3719 V3720) (cond ((= () V3719) (reverse V3720)) ((cons? V3719) (shen.map-h V3718 (tl V3719) (cons (V3718 (hd V3719)) V3720))) (true (simple-error "partial function shen.map-h")))) -(defun length (V3707) (shen.length-h V3707 0)) +(defun length (V3721) (shen.length-h V3721 0)) -(defun shen.length-h (V3712 V3713) (cond ((= () V3712) V3713) (true (shen.length-h (tl V3712) (+ V3713 1))))) +(defun shen.length-h (V3726 V3727) (cond ((= () V3726) V3727) (true (shen.length-h (tl V3726) (+ V3727 1))))) -(defun occurrences (V3719 V3720) (cond ((= V3719 V3720) 1) ((cons? V3720) (+ (occurrences V3719 (hd V3720)) (occurrences V3719 (tl V3720)))) (true 0))) +(defun occurrences (V3733 V3734) (cond ((= V3733 V3734) 1) ((cons? V3734) (+ (occurrences V3733 (hd V3734)) (occurrences V3733 (tl V3734)))) (true 0))) -(defun nth (V3725 V3726) (cond ((and (= 1 V3725) (cons? V3726)) (hd V3726)) ((cons? V3726) (nth (- V3725 1) (tl V3726))) (true (simple-error (cn "nth applied to " (shen.app V3725 (cn ", " (shen.app V3726 " +(defun nth (V3739 V3740) (cond ((and (= 1 V3739) (cons? V3740)) (hd V3740)) ((cons? V3740) (nth (- V3739 1) (tl V3740))) (true (simple-error (cn "nth applied to " (shen.app V3739 (cn ", " (shen.app V3740 " " shen.a)) shen.a)))))) -(defun integer? (V3727) (and (number? V3727) (let W3728 (shen.abs V3727) (shen.integer-test? W3728 (shen.magless W3728 1))))) +(defun integer? (V3741) (and (number? V3741) (let W3742 (shen.abs V3741) (shen.integer-test? W3742 (shen.magless W3742 1))))) -(defun shen.abs (V3729) (if (> V3729 0) V3729 (- 0 V3729))) +(defun shen.abs (V3743) (if (> V3743 0) V3743 (- 0 V3743))) -(defun shen.magless (V3730 V3731) (let W3732 (* V3731 2) (if (> W3732 V3730) V3731 (shen.magless V3730 W3732)))) +(defun shen.magless (V3744 V3745) (let W3746 (* V3745 2) (if (> W3746 V3744) V3745 (shen.magless V3744 W3746)))) -(defun shen.integer-test? (V3736 V3737) (cond ((= 0 V3736) true) ((> 1 V3736) false) (true (let W3738 (- V3736 V3737) (if (> 0 W3738) (integer? V3736) (shen.integer-test? W3738 V3737)))))) +(defun shen.integer-test? (V3750 V3751) (cond ((= 0 V3750) true) ((> 1 V3750) false) (true (let W3752 (- V3750 V3751) (if (> 0 W3752) (integer? V3750) (shen.integer-test? W3752 V3751)))))) -(defun mapcan (V3745 V3746) (cond ((= () V3746) ()) ((cons? V3746) (append (V3745 (hd V3746)) (mapcan V3745 (tl V3746)))) (true (simple-error "attempt to mapcan over a non-list +(defun mapcan (V3759 V3760) (cond ((= () V3760) ()) ((cons? V3760) (append (V3759 (hd V3760)) (mapcan V3759 (tl V3760)))) (true (simple-error "attempt to mapcan over a non-list ")))) -(defun == (V3752 V3753) (cond ((= V3752 V3753) true) (true false))) +(defun == (V3766 V3767) (cond ((= V3766 V3767) true) (true false))) -(defun bound? (V3754) (and (symbol? V3754) (let W3755 (trap-error (value V3754) (lambda Z3756 shen.this-symbol-is-unbound)) (if (= W3755 shen.this-symbol-is-unbound) false true)))) +(defun bound? (V3768) (and (symbol? V3768) (let W3769 (trap-error (value V3768) (lambda Z3770 shen.this-symbol-is-unbound)) (if (= W3769 shen.this-symbol-is-unbound) false true)))) -(defun shen.string->bytes (V3757) (cond ((= "" V3757) ()) (true (cons (string->n (pos V3757 0)) (shen.string->bytes (tlstr V3757)))))) +(defun shen.string->bytes (V3771) (cond ((= "" V3771) ()) (true (cons (string->n (pos V3771 0)) (shen.string->bytes (tlstr V3771)))))) -(defun maxinferences (V3758) (if (< V3758 0) (value shen.*maxinferences*) (if (integer? V3758) (set shen.*maxinferences* V3758) (simple-error "maxinferences expects an integer value +(defun maxinferences (V3772) (if (< V3772 0) (value shen.*maxinferences*) (if (integer? V3772) (set shen.*maxinferences* V3772) (simple-error "maxinferences expects an integer value ")))) (defun inferences () (value shen.*infs*)) -(defun protect (V3759) V3759) +(defun protect (V3773) V3773) (defun stoutput () (value *stoutput*)) -(defun string->symbol (V3760) (let W3761 (intern V3760) (if (symbol? W3761) W3761 (simple-error (cn "cannot intern " (shen.app V3760 " to a symbol" shen.s)))))) +(defun string->symbol (V3774) (let W3775 (intern V3774) (if (symbol? W3775) W3775 (simple-error (cn "cannot intern " (shen.app V3774 " to a symbol" shen.s)))))) -(defun optimise (V3764) (cond ((= + V3764) (set shen.*optimise* true)) ((= - V3764) (set shen.*optimise* false)) (true (simple-error "optimise expects a + or a -. +(defun optimise (V3778) (cond ((= + V3778) (set shen.*optimise* true)) ((= - V3778) (set shen.*optimise* false)) (true (simple-error "optimise expects a + or a -. ")))) (defun os () (value *os*)) @@ -221,7 +221,7 @@ (defun release () (value *release*)) -(defun package? (V3765) (cond ((= null V3765) true) (true (trap-error (do (external V3765) true) (lambda Z3766 false))))) +(defun package? (V3779) (cond ((= null V3779) true) (true (trap-error (do (external V3779) true) (lambda Z3780 false))))) (defun fail () shen.fail!)(defun userdefs () (value shen.*userdefs*)) @@ -231,31 +231,31 @@ (defun system-S? () (value shen.*shen-type-theory-enabled?*)) -(defun enable-type-theory (V3769) (cond ((= + V3769) (set shen.*shen-type-theory-enabled?* true)) ((= - V3769) (set shen.*shen-type-theory-enabled?* false)) (true (simple-error "enable-type-theory expects a + or a - +(defun enable-type-theory (V3783) (cond ((= + V3783) (set shen.*shen-type-theory-enabled?* true)) ((= - V3783) (set shen.*shen-type-theory-enabled?* false)) (true (simple-error "enable-type-theory expects a + or a - ")))) -(defun shen.hush (V3772) (cond ((= + V3772) (set *hush* true)) ((= - V3772) (set *hush* false)) (true (simple-error "hush expects a + or a - +(defun shen.hush (V3786) (cond ((= + V3786) (set *hush* true)) ((= - V3786) (set *hush* false)) (true (simple-error "hush expects a + or a - ")))) -(defun tc (V3775) (cond ((= + V3775) (set shen.*tc* true)) ((= - V3775) (set shen.*tc* false)) (true (simple-error "tc expects a + or -")))) +(defun tc (V3789) (cond ((= + V3789) (set shen.*tc* true)) ((= - V3789) (set shen.*tc* false)) (true (simple-error "tc expects a + or -")))) -(defun destroy (V3776) (do (set shen.*sigf* (shen.unassoc V3776 (value shen.*sigf*))) V3776)) +(defun destroy (V3790) (do (set shen.*sigf* (shen.unassoc V3790 (value shen.*sigf*))) V3790)) -(defun shen.unassoc (V3786 V3787) (cond ((= () V3787) ()) ((and (cons? V3787) (and (cons? (hd V3787)) (= V3786 (hd (hd V3787))))) (tl V3787)) ((cons? V3787) (cons (hd V3787) (shen.unassoc V3786 (tl V3787)))) (true (simple-error "implementation error in shen.unassoc")))) +(defun shen.unassoc (V3800 V3801) (cond ((= () V3801) ()) ((and (cons? V3801) (and (cons? (hd V3801)) (= V3800 (hd (hd V3801))))) (tl V3801)) ((cons? V3801) (cons (hd V3801) (shen.unassoc V3800 (tl V3801)))) (true (simple-error "implementation error in shen.unassoc")))) -(defun in-package (V3788) (if (package? V3788) (set shen.*package* V3788) (simple-error (cn "package " (shen.app V3788 " does not exist +(defun in-package (V3802) (if (package? V3802) (set shen.*package* V3802) (simple-error (cn "package " (shen.app V3802 " does not exist " shen.a))))) -(defun write-to-file (V3789 V3790) (let W3791 (open V3789 out) (let W3792 (if (string? V3790) V3790 (shen.app V3790 "" shen.s)) (let W3793 (pr W3792 W3791) (let W3794 (close W3791) V3790))))) +(defun write-to-file (V3803 V3804) (let W3805 (open V3803 out) (let W3806 (if (string? V3804) V3804 (shen.app V3804 "" shen.s)) (let W3807 (pr W3806 W3805) (let W3808 (close W3805) V3804))))) (defun fresh () (shen.freshterm (gensym shen.t))) -(defun update-lambda-table (V3795 V3796) (let W3797 (put V3795 arity V3796 (value *property-vector*)) (let W3798 (shen.lambda-entry V3795) (let W3799 (set shen.*lambdatable* (cons W3798 (value shen.*lambdatable*))) V3795)))) +(defun update-lambda-table (V3809 V3810) (let W3811 (put V3809 arity V3810 (value *property-vector*)) (let W3812 (shen.lambda-entry V3809) (let W3813 (set shen.*lambdatable* (cons W3812 (value shen.*lambdatable*))) V3809)))) -(defun specialise (V3802 V3803) (cond ((= 0 V3803) (do (set shen.*special* (remove V3802 (value shen.*special*))) (do (set shen.*extraspecial* (remove V3802 (value shen.*extraspecial*))) V3802))) ((= 1 V3803) (do (set shen.*special* (adjoin V3802 (value shen.*special*))) (do (set shen.*extraspecial* (remove V3802 (value shen.*extraspecial*))) V3802))) ((= 2 V3803) (do (set shen.*special* (remove V3802 (value shen.*special*))) (do (set shen.*extraspecial* (adjoin V3802 (value shen.*extraspecial*))) V3802))) (true (simple-error "specialise requires values of 0, 1 or 2 +(defun specialise (V3816 V3817) (cond ((= 0 V3817) (do (set shen.*special* (remove V3816 (value shen.*special*))) (do (set shen.*extraspecial* (remove V3816 (value shen.*extraspecial*))) V3816))) ((= 1 V3817) (do (set shen.*special* (adjoin V3816 (value shen.*special*))) (do (set shen.*extraspecial* (remove V3816 (value shen.*extraspecial*))) V3816))) ((= 2 V3817) (do (set shen.*special* (remove V3816 (value shen.*special*))) (do (set shen.*extraspecial* (adjoin V3816 (value shen.*extraspecial*))) V3816))) (true (simple-error "specialise requires values of 0, 1 or 2 ")))) -(defun absolute (V3804) (set *absolute* (cons V3804 (value *absolute*)))) +(defun absolute (V3818) (set *absolute* (cons V3818 (value *absolute*)))) -(defun unabsolute (V3805) (set *absolute* (remove V3805 (value *absolute*)))) +(defun unabsolute (V3819) (set *absolute* (remove V3819 (value *absolute*)))) diff --git a/kernel/klambda/t-star.kl b/kernel/klambda/t-star.kl index 0c6d2a6..de1b34e 100644 --- a/kernel/klambda/t-star.kl +++ b/kernel/klambda/t-star.kl @@ -1,104 +1,104 @@ -(defun shen.typecheck (V4434 V4435) (let W4436 (shen.extract-vars V4435) (let W4437 (shen.rectify-type V4435) (let W4438 (shen.curry V4434) (((((lambda Z4439 (lambda Z4440 (lambda Z4441 (lambda Z4442 (let W4443 (shen.newpv Z4439) (shen.gc Z4439 (do (shen.incinfs) (shen.insert-prolog-variables (receive (shen.deref W4436 Z4439)) (receive (shen.deref W4437 Z4439)) W4443 Z4439 Z4440 Z4441 (freeze (shen.toplevel-forms (receive (shen.deref W4438 Z4439)) W4443 Z4439 Z4440 Z4441 (freeze (return W4443 Z4439 Z4440 Z4441 Z4442)))))))))))) (shen.prolog-vector)) (@v true (@v 0 (vector 0)))) 0) (freeze true)))))) +(defun shen.typecheck (V4448 V4449) (let W4450 (shen.extract-vars V4449) (let W4451 (shen.rectify-type V4449) (let W4452 (shen.curry V4448) (((((lambda Z4453 (lambda Z4454 (lambda Z4455 (lambda Z4456 (let W4457 (shen.newpv Z4453) (shen.gc Z4453 (do (shen.incinfs) (shen.insert-prolog-variables (receive (shen.deref W4450 Z4453)) (receive (shen.deref W4451 Z4453)) W4457 Z4453 Z4454 Z4455 (freeze (shen.toplevel-forms (receive (shen.deref W4452 Z4453)) W4457 Z4453 Z4454 Z4455 (freeze (return W4457 Z4453 Z4454 Z4455 Z4456)))))))))))) (shen.prolog-vector)) (@v true (@v 0 (vector 0)))) 0) (freeze true)))))) -(defun shen.insert-prolog-variables (V4444 V4445 V4446 V4447 V4448 V4449 V4450) (let W4451 (if (shen.unlocked? V4448) (let W4452 (shen.lazyderef V4444 V4447) (if (= W4452 ()) (do (shen.incinfs) (is! V4445 V4446 V4447 V4448 V4449 V4450)) false)) false) (if (= W4451 false) (if (shen.unlocked? V4448) (let W4453 (shen.lazyderef V4444 V4447) (if (cons? W4453) (let W4454 (hd W4453) (let W4455 (tl W4453) (let W4456 (shen.newpv V4447) (shen.gc V4447 (do (shen.incinfs) (shen.insert-prolog-variables W4455 (subst (shen.deref W4456 V4447) W4454 V4445) V4446 V4447 V4448 V4449 V4450)))))) false)) false) W4451))) +(defun shen.insert-prolog-variables (V4458 V4459 V4460 V4461 V4462 V4463 V4464) (let W4465 (if (shen.unlocked? V4462) (let W4466 (shen.lazyderef V4458 V4461) (if (= W4466 ()) (do (shen.incinfs) (is! V4459 V4460 V4461 V4462 V4463 V4464)) false)) false) (if (= W4465 false) (if (shen.unlocked? V4462) (let W4467 (shen.lazyderef V4458 V4461) (if (cons? W4467) (let W4468 (hd W4467) (let W4469 (tl W4467) (let W4470 (shen.newpv V4461) (shen.gc V4461 (do (shen.incinfs) (shen.insert-prolog-variables W4469 (subst (shen.deref W4470 V4461) W4468 V4459) V4460 V4461 V4462 V4463 V4464)))))) false)) false) W4465))) -(defun shen.toplevel-forms (V4457 V4458 V4459 V4460 V4461 V4462) (let W4463 (+ V4461 1) (let W4464 (if (shen.unlocked? V4460) (let W4465 (shen.lazyderef V4457 V4459) (if (cons? W4465) (let W4466 (shen.lazyderef (hd W4465) V4459) (if (= W4466 define) (let W4467 (shen.lazyderef (tl W4465) V4459) (if (cons? W4467) (let W4468 (hd W4467) (let W4469 (tl W4467) (do (shen.incinfs) (when (shen.type-theory-enabled?) V4459 V4460 W4463 (freeze (shen.cut V4459 V4460 W4463 (freeze (shen.signal-def (value shen.*spy*) W4468 V4459 V4460 W4463 (freeze (shen.t* (cons define (cons W4468 W4469)) V4458 V4459 V4460 W4463 V4462)))))))))) false)) false)) false)) false) (if (= W4464 false) (let W4470 (if (shen.unlocked? V4460) (do (shen.incinfs) (shen.system-S (cons V4457 (cons (intern ":") (cons V4458 ()))) () V4459 V4460 W4463 V4462)) false) (if (= W4470 false) (shen.unlock V4460 W4463) W4470)) W4464)))) +(defun shen.toplevel-forms (V4471 V4472 V4473 V4474 V4475 V4476) (let W4477 (+ V4475 1) (let W4478 (if (shen.unlocked? V4474) (let W4479 (shen.lazyderef V4471 V4473) (if (cons? W4479) (let W4480 (shen.lazyderef (hd W4479) V4473) (if (= W4480 define) (let W4481 (shen.lazyderef (tl W4479) V4473) (if (cons? W4481) (let W4482 (hd W4481) (let W4483 (tl W4481) (do (shen.incinfs) (when (shen.type-theory-enabled?) V4473 V4474 W4477 (freeze (shen.cut V4473 V4474 W4477 (freeze (shen.signal-def (value shen.*spy*) W4482 V4473 V4474 W4477 (freeze (shen.t* (cons define (cons W4482 W4483)) V4472 V4473 V4474 W4477 V4476)))))))))) false)) false)) false)) false) (if (= W4478 false) (let W4484 (if (shen.unlocked? V4474) (do (shen.incinfs) (shen.system-S (cons V4471 (cons (intern ":") (cons V4472 ()))) () V4473 V4474 W4477 V4476)) false) (if (= W4484 false) (shen.unlock V4474 W4477) W4484)) W4478)))) -(defun shen.signal-def (V4471 V4472 V4473 V4474 V4475 V4476) (let W4477 (if (shen.unlocked? V4474) (let W4478 (shen.lazyderef V4471 V4473) (if (= W4478 false) (do (shen.incinfs) (thaw V4476)) false)) false) (if (= W4477 false) (if (shen.unlocked? V4474) (let W4479 (shen.lazyderef V4471 V4473) (if (= W4479 true) (let W4480 (shen.newpv V4473) (shen.gc V4473 (do (shen.incinfs) (is W4480 (pr (cn " -typechecking (fn " (shen.app (shen.deref V4472 V4473) ") -" shen.a)) (stoutput)) V4473 V4474 V4475 V4476)))) false)) false) W4477))) +(defun shen.signal-def (V4485 V4486 V4487 V4488 V4489 V4490) (let W4491 (if (shen.unlocked? V4488) (let W4492 (shen.lazyderef V4485 V4487) (if (= W4492 false) (do (shen.incinfs) (thaw V4490)) false)) false) (if (= W4491 false) (if (shen.unlocked? V4488) (let W4493 (shen.lazyderef V4485 V4487) (if (= W4493 true) (let W4494 (shen.newpv V4487) (shen.gc V4487 (do (shen.incinfs) (is W4494 (pr (cn " +typechecking (fn " (shen.app (shen.deref V4486 V4487) ") +" shen.a)) (stoutput)) V4487 V4488 V4489 V4490)))) false)) false) W4491))) -(defun shen.rectify-type (V4481) (shen.demodulate (shen.curry-type V4481))) +(defun shen.rectify-type (V4495) (shen.demodulate (shen.curry-type V4495))) -(defun shen.demodulate (V4482) (trap-error (let W4483 (shen.walk (lambda Z4484 (shen.demod Z4484)) V4482) (if (= W4483 V4482) V4482 (shen.demodulate W4483))) (lambda Z4485 V4482))) +(defun shen.demodulate (V4496) (trap-error (let W4497 (shen.walk (lambda Z4498 (shen.demod Z4498)) V4496) (if (= W4497 V4496) V4496 (shen.demodulate W4497))) (lambda Z4499 V4496))) -(defun shen.curry-type (V4486) (cond ((and (cons? V4486) (and (cons? (tl V4486)) (and (= --> (hd (tl V4486))) (and (cons? (tl (tl V4486))) (and (cons? (tl (tl (tl V4486)))) (= --> (hd (tl (tl (tl V4486)))))))))) (shen.curry-type (cons (hd V4486) (cons --> (cons (tl (tl V4486)) ()))))) ((and (cons? V4486) (and (cons? (hd V4486)) (and (= list (hd (hd V4486))) (and (cons? (tl (hd V4486))) (and (= () (tl (tl (hd V4486)))) (and (cons? (tl V4486)) (and (= ==> (hd (tl V4486))) (and (cons? (tl (tl V4486))) (= () (tl (tl (tl V4486)))))))))))) (shen.curry-type (cons (hd V4486) (cons --> (cons (cons str (cons (hd V4486) (tl (tl V4486)))) ()))))) ((and (cons? V4486) (and (cons? (tl V4486)) (and (= * (hd (tl V4486))) (and (cons? (tl (tl V4486))) (and (cons? (tl (tl (tl V4486)))) (= * (hd (tl (tl (tl V4486)))))))))) (shen.curry-type (cons (hd V4486) (cons * (cons (tl (tl V4486)) ()))))) ((cons? V4486) (map (lambda Z4487 (shen.curry-type Z4487)) V4486)) (true V4486))) +(defun shen.curry-type (V4500) (cond ((and (cons? V4500) (and (cons? (tl V4500)) (and (= --> (hd (tl V4500))) (and (cons? (tl (tl V4500))) (and (cons? (tl (tl (tl V4500)))) (= --> (hd (tl (tl (tl V4500)))))))))) (shen.curry-type (cons (hd V4500) (cons --> (cons (tl (tl V4500)) ()))))) ((and (cons? V4500) (and (cons? (hd V4500)) (and (= list (hd (hd V4500))) (and (cons? (tl (hd V4500))) (and (= () (tl (tl (hd V4500)))) (and (cons? (tl V4500)) (and (= ==> (hd (tl V4500))) (and (cons? (tl (tl V4500))) (= () (tl (tl (tl V4500)))))))))))) (shen.curry-type (cons (hd V4500) (cons --> (cons (cons str (cons (hd V4500) (tl (tl V4500)))) ()))))) ((and (cons? V4500) (and (cons? (tl V4500)) (and (= * (hd (tl V4500))) (and (cons? (tl (tl V4500))) (and (cons? (tl (tl (tl V4500)))) (= * (hd (tl (tl (tl V4500)))))))))) (shen.curry-type (cons (hd V4500) (cons * (cons (tl (tl V4500)) ()))))) ((cons? V4500) (map (lambda Z4501 (shen.curry-type Z4501)) V4500)) (true V4500))) -(defun shen.curry (V4488) (cond ((and (cons? V4488) (and (= define (hd V4488)) (cons? (tl V4488)))) V4488) ((and (cons? V4488) (and (= type (hd V4488)) (and (cons? (tl V4488)) (and (cons? (tl (tl V4488))) (= () (tl (tl (tl V4488)))))))) (cons type (cons (shen.curry (hd (tl V4488))) (tl (tl V4488))))) ((and (cons? V4488) (shen.special? (hd V4488))) (cons (hd V4488) (map (lambda Z4489 (shen.curry Z4489)) (tl V4488)))) ((and (cons? V4488) (shen.extraspecial? (hd V4488))) V4488) ((and (cons? V4488) (and (cons? (tl V4488)) (cons? (tl (tl V4488))))) (shen.curry (cons (cons (hd V4488) (cons (hd (tl V4488)) ())) (tl (tl V4488))))) ((and (cons? V4488) (and (cons? (tl V4488)) (= () (tl (tl V4488))))) (cons (shen.curry (hd V4488)) (cons (shen.curry (hd (tl V4488))) ()))) (true V4488))) +(defun shen.curry (V4502) (cond ((and (cons? V4502) (and (= define (hd V4502)) (cons? (tl V4502)))) V4502) ((and (cons? V4502) (and (= type (hd V4502)) (and (cons? (tl V4502)) (and (cons? (tl (tl V4502))) (= () (tl (tl (tl V4502)))))))) (cons type (cons (shen.curry (hd (tl V4502))) (tl (tl V4502))))) ((and (cons? V4502) (shen.special? (hd V4502))) (cons (hd V4502) (map (lambda Z4503 (shen.curry Z4503)) (tl V4502)))) ((and (cons? V4502) (shen.extraspecial? (hd V4502))) V4502) ((and (cons? V4502) (and (cons? (tl V4502)) (cons? (tl (tl V4502))))) (shen.curry (cons (cons (hd V4502) (cons (hd (tl V4502)) ())) (tl (tl V4502))))) ((and (cons? V4502) (and (cons? (tl V4502)) (= () (tl (tl V4502))))) (cons (shen.curry (hd V4502)) (cons (shen.curry (hd (tl V4502))) ()))) (true V4502))) -(defun shen.special? (V4490) (element? V4490 (value shen.*special*))) +(defun shen.special? (V4504) (element? V4504 (value shen.*special*))) -(defun shen.extraspecial? (V4491) (element? V4491 (value shen.*extraspecial*))) +(defun shen.extraspecial? (V4505) (element? V4505 (value shen.*extraspecial*))) -(defun shen.system-S (V4492 V4493 V4494 V4495 V4496 V4497) (let W4498 (+ V4496 1) (let W4499 (if (shen.unlocked? V4495) (do (shen.incinfs) (when (shen.maxinfexceeded?) V4494 V4495 W4498 V4497)) false) (if (= W4499 false) (let W4500 (if (shen.unlocked? V4495) (let W4501 (shen.lazyderef V4492 V4494) (if (cons? W4501) (let W4502 (hd W4501) (let W4503 (shen.lazyderef (tl W4501) V4494) (if (cons? W4503) (let W4504 (hd W4503) (let W4505 (shen.lazyderef (tl W4503) V4494) (if (cons? W4505) (let W4506 (hd W4505) (let W4507 (shen.lazyderef (tl W4505) V4494) (if (= W4507 ()) (do (shen.incinfs) (when (= (shen.deref W4504 V4494) (intern ":")) V4494 V4495 W4498 (freeze (when (shen.type-theory-enabled?) V4494 V4495 W4498 (freeze (shen.cut V4494 V4495 W4498 (freeze (shen.system-S-h W4502 W4506 V4493 V4494 V4495 W4498 V4497)))))))) false))) false))) false))) false)) false) (if (= W4500 false) (let W4508 (if (shen.unlocked? V4495) (do (shen.incinfs) (when (value shen.*spy*) V4494 V4495 W4498 (freeze (shen.show V4492 V4493 V4494 V4495 W4498 V4497)))) false) (if (= W4508 false) (let W4509 (if (shen.unlocked? V4495) (do (shen.incinfs) (shen.search-user-datatypes V4492 V4493 (value shen.*datatypes*) V4494 V4495 W4498 V4497)) false) (if (= W4509 false) (shen.unlock V4495 W4498) W4509)) W4508)) W4500)) W4499)))) +(defun shen.system-S (V4506 V4507 V4508 V4509 V4510 V4511) (let W4512 (+ V4510 1) (let W4513 (if (shen.unlocked? V4509) (do (shen.incinfs) (when (shen.maxinfexceeded?) V4508 V4509 W4512 V4511)) false) (if (= W4513 false) (let W4514 (if (shen.unlocked? V4509) (let W4515 (shen.lazyderef V4506 V4508) (if (cons? W4515) (let W4516 (hd W4515) (let W4517 (shen.lazyderef (tl W4515) V4508) (if (cons? W4517) (let W4518 (hd W4517) (let W4519 (shen.lazyderef (tl W4517) V4508) (if (cons? W4519) (let W4520 (hd W4519) (let W4521 (shen.lazyderef (tl W4519) V4508) (if (= W4521 ()) (do (shen.incinfs) (when (= (shen.deref W4518 V4508) (intern ":")) V4508 V4509 W4512 (freeze (when (shen.type-theory-enabled?) V4508 V4509 W4512 (freeze (shen.cut V4508 V4509 W4512 (freeze (shen.system-S-h W4516 W4520 V4507 V4508 V4509 W4512 V4511)))))))) false))) false))) false))) false)) false) (if (= W4514 false) (let W4522 (if (shen.unlocked? V4509) (do (shen.incinfs) (when (value shen.*spy*) V4508 V4509 W4512 (freeze (shen.show V4506 V4507 V4508 V4509 W4512 V4511)))) false) (if (= W4522 false) (let W4523 (if (shen.unlocked? V4509) (do (shen.incinfs) (shen.search-user-datatypes V4506 V4507 (value shen.*datatypes*) V4508 V4509 W4512 V4511)) false) (if (= W4523 false) (shen.unlock V4509 W4512) W4523)) W4522)) W4514)) W4513)))) -(defun shen.show (V4516 V4517 V4518 V4519 V4520 V4521) (do (shen.line) (do (shen.show-p (shen.deref V4516 V4518)) (do (nl 2) (do (shen.show-assumptions (shen.deref V4517 V4518) 1) (do (shen.pause-for-user) false)))))) +(defun shen.show (V4530 V4531 V4532 V4533 V4534 V4535) (do (shen.line) (do (shen.show-p (shen.deref V4530 V4532)) (do (nl 2) (do (shen.show-assumptions (shen.deref V4531 V4532) 1) (do (shen.pause-for-user) false)))))) -(defun shen.line () (let W4522 (inferences) (pr (cn "____________________________________________________________ " (shen.app W4522 (cn " inference" (shen.app (if (= 1 W4522) "" "s") " +(defun shen.line () (let W4536 (inferences) (pr (cn "____________________________________________________________ " (shen.app W4536 (cn " inference" (shen.app (if (= 1 W4536) "" "s") " ?- " shen.a)) shen.a)) (stoutput)))) -(defun shen.show-p (V4523) (cond ((and (cons? V4523) (and (cons? (tl V4523)) (and (cons? (tl (tl V4523))) (and (= () (tl (tl (tl V4523)))) (= (hd (tl V4523)) (intern ":")))))) (do (shen.prterm (hd V4523)) (do (pr " : " (stoutput)) (pr (shen.app (hd (tl (tl V4523))) "" shen.r) (stoutput))))) (true (shen.prterm V4523)))) +(defun shen.show-p (V4537) (cond ((and (cons? V4537) (and (cons? (tl V4537)) (and (cons? (tl (tl V4537))) (and (= () (tl (tl (tl V4537)))) (= (hd (tl V4537)) (intern ":")))))) (do (shen.prterm (hd V4537)) (do (pr " : " (stoutput)) (pr (shen.app (hd (tl (tl V4537))) "" shen.r) (stoutput))))) (true (shen.prterm V4537)))) -(defun shen.prterm (V4524) (cond ((and (cons? V4524) (and (= cons (hd V4524)) (and (cons? (tl V4524)) (and (cons? (tl (tl V4524))) (= () (tl (tl (tl V4524)))))))) (do (pr "[" (stoutput)) (do (shen.prterm (hd (tl V4524))) (do (shen.prtl (hd (tl (tl V4524)))) (pr "]" (stoutput)))))) ((cons? V4524) (do (pr "(" (stoutput)) (do (shen.prterm (hd V4524)) (do (map (lambda Z4525 (do (pr " " (stoutput)) (shen.prterm Z4525))) (tl V4524)) (pr ")" (stoutput)))))) (true (print V4524)))) +(defun shen.prterm (V4538) (cond ((and (cons? V4538) (and (= cons (hd V4538)) (and (cons? (tl V4538)) (and (cons? (tl (tl V4538))) (= () (tl (tl (tl V4538)))))))) (do (pr "[" (stoutput)) (do (shen.prterm (hd (tl V4538))) (do (shen.prtl (hd (tl (tl V4538)))) (pr "]" (stoutput)))))) ((cons? V4538) (do (pr "(" (stoutput)) (do (shen.prterm (hd V4538)) (do (map (lambda Z4539 (do (pr " " (stoutput)) (shen.prterm Z4539))) (tl V4538)) (pr ")" (stoutput)))))) (true (print V4538)))) -(defun shen.prtl (V4526) (cond ((= () V4526) "") ((and (cons? V4526) (and (= cons (hd V4526)) (and (cons? (tl V4526)) (and (cons? (tl (tl V4526))) (= () (tl (tl (tl V4526)))))))) (do (pr " " (stoutput)) (do (shen.prterm (hd (tl V4526))) (shen.prtl (hd (tl (tl V4526))))))) (true (do (pr " | " (stoutput)) (shen.prterm V4526))))) +(defun shen.prtl (V4540) (cond ((= () V4540) "") ((and (cons? V4540) (and (= cons (hd V4540)) (and (cons? (tl V4540)) (and (cons? (tl (tl V4540))) (= () (tl (tl (tl V4540)))))))) (do (pr " " (stoutput)) (do (shen.prterm (hd (tl V4540))) (shen.prtl (hd (tl (tl V4540))))))) (true (do (pr " | " (stoutput)) (shen.prterm V4540))))) -(defun shen.show-assumptions (V4533 V4534) (cond ((= () V4533) (pr " -> " (stoutput))) ((cons? V4533) (do (pr (shen.app V4534 ". " shen.a) (stoutput)) (do (shen.show-p (hd V4533)) (do (nl 1) (shen.show-assumptions (tl V4533) (+ V4534 1)))))) (true (simple-error "implementation error in shen.show-assumptions")))) +(defun shen.show-assumptions (V4547 V4548) (cond ((= () V4547) (pr " +> " (stoutput))) ((cons? V4547) (do (pr (shen.app V4548 ". " shen.a) (stoutput)) (do (shen.show-p (hd V4547)) (do (nl 1) (shen.show-assumptions (tl V4547) (+ V4548 1)))))) (true (simple-error "implementation error in shen.show-assumptions")))) -(defun shen.pause-for-user () (let W4535 (read-byte (stinput)) (if (= W4535 94) (simple-error "input aborted +(defun shen.pause-for-user () (let W4549 (read-byte (stinput)) (if (= W4549 94) (simple-error "input aborted ") (nl 1)))) (defun shen.type-theory-enabled? () (value shen.*shen-type-theory-enabled?*)) (defun shen.maxinfexceeded? () (if (> (inferences) (value shen.*maxinferences*)) (simple-error "maximum inferences exceeded") false)) -(defun shen.system-S-h (V4536 V4537 V4538 V4539 V4540 V4541 V4542) (let W4543 (+ V4541 1) (let W4544 (if (shen.unlocked? V4540) (do (shen.incinfs) (when (value shen.*spy*) V4539 V4540 W4543 (freeze (shen.show (cons V4536 (cons (intern ":") (cons V4537 ()))) V4538 V4539 V4540 W4543 V4542)))) false) (if (= W4544 false) (let W4545 (if (shen.unlocked? V4540) (do (shen.incinfs) (when (not (cons? (shen.lazyderef V4536 V4539))) V4539 V4540 W4543 (freeze (shen.primitive V4536 V4537 V4539 V4540 W4543 V4542)))) false) (if (= W4545 false) (let W4546 (if (shen.unlocked? V4540) (do (shen.incinfs) (shen.by-hypothesis V4536 V4537 V4538 V4539 V4540 W4543 V4542)) false) (if (= W4546 false) (let W4547 (if (shen.unlocked? V4540) (let W4548 (shen.lazyderef V4536 V4539) (if (cons? W4548) (let W4549 (hd W4548) (let W4550 (shen.lazyderef (tl W4548) V4539) (if (= W4550 ()) (do (shen.incinfs) (shen.lookupsig W4549 (cons --> (cons V4537 ())) V4539 V4540 W4543 V4542)) false))) false)) false) (if (= W4547 false) (let W4551 (if (shen.unlocked? V4540) (let W4552 (shen.lazyderef V4536 V4539) (if (cons? W4552) (let W4553 (shen.lazyderef (hd W4552) V4539) (if (= W4553 fn) (let W4554 (shen.lazyderef (tl W4552) V4539) (if (cons? W4554) (let W4555 (hd W4554) (let W4556 (shen.lazyderef (tl W4554) V4539) (if (= W4556 ()) (do (shen.incinfs) (when (= (arity (shen.deref W4555 V4539)) 0) V4539 V4540 W4543 (freeze (shen.cut V4539 V4540 W4543 (freeze (shen.system-S-h (cons W4555 ()) V4537 V4538 V4539 V4540 W4543 V4542)))))) false))) false)) false)) false)) false) (if (= W4551 false) (let W4557 (if (shen.unlocked? V4540) (let W4558 (shen.lazyderef V4536 V4539) (if (cons? W4558) (let W4559 (shen.lazyderef (hd W4558) V4539) (if (= W4559 fn) (let W4560 (shen.lazyderef (tl W4558) V4539) (if (cons? W4560) (let W4561 (hd W4560) (let W4562 (shen.lazyderef (tl W4560) V4539) (if (= W4562 ()) (do (shen.incinfs) (shen.lookupsig W4561 V4537 V4539 V4540 W4543 V4542)) false))) false)) false)) false)) false) (if (= W4557 false) (let W4563 (if (shen.unlocked? V4540) (let W4564 (shen.lazyderef V4536 V4539) (if (cons? W4564) (let W4565 (hd W4564) (let W4566 (shen.lazyderef (tl W4564) V4539) (if (cons? W4566) (let W4567 (hd W4566) (let W4568 (shen.lazyderef (tl W4566) V4539) (if (= W4568 ()) (let W4569 (shen.newpv V4539) (shen.gc V4539 (do (shen.incinfs) (when (not (cons? (shen.lazyderef W4565 V4539))) V4539 V4540 W4543 (freeze (shen.lookupsig W4565 (cons W4569 (cons --> (cons V4537 ()))) V4539 V4540 W4543 (freeze (shen.system-S-h W4567 W4569 V4538 V4539 V4540 W4543 V4542)))))))) false))) false))) false)) false) (if (= W4563 false) (let W4570 (if (shen.unlocked? V4540) (let W4571 (shen.lazyderef V4536 V4539) (if (cons? W4571) (let W4572 (hd W4571) (let W4573 (shen.lazyderef (tl W4571) V4539) (if (cons? W4573) (let W4574 (hd W4573) (let W4575 (shen.lazyderef (tl W4573) V4539) (if (= W4575 ()) (let W4576 (shen.newpv V4539) (shen.gc V4539 (do (shen.incinfs) (shen.system-S-h W4572 (cons W4576 (cons --> (cons V4537 ()))) V4538 V4539 V4540 W4543 (freeze (shen.system-S-h W4574 W4576 V4538 V4539 V4540 W4543 V4542)))))) false))) false))) false)) false) (if (= W4570 false) (let W4577 (if (shen.unlocked? V4540) (let W4578 (shen.lazyderef V4536 V4539) (if (cons? W4578) (let W4579 (shen.lazyderef (hd W4578) V4539) (if (= W4579 cons) (let W4580 (shen.lazyderef (tl W4578) V4539) (if (cons? W4580) (let W4581 (hd W4580) (let W4582 (shen.lazyderef (tl W4580) V4539) (if (cons? W4582) (let W4583 (hd W4582) (let W4584 (shen.lazyderef (tl W4582) V4539) (if (= W4584 ()) (let W4585 (shen.lazyderef V4537 V4539) (let W4586 (lambda Z4587 (do (shen.incinfs) (shen.system-S-h W4581 Z4587 V4538 V4539 V4540 W4543 (freeze (shen.system-S-h W4583 (cons list (cons Z4587 ())) V4538 V4539 V4540 W4543 V4542))))) (if (cons? W4585) (let W4588 (shen.lazyderef (hd W4585) V4539) (let W4589 (freeze (let W4590 (shen.lazyderef (tl W4585) V4539) (let W4591 (lambda Z4592 (W4586 Z4592)) (if (cons? W4590) (let W4593 (hd W4590) (let W4594 (shen.lazyderef (tl W4590) V4539) (let W4595 (freeze (W4591 W4593)) (if (= W4594 ()) (thaw W4595) (if (shen.pvar? W4594) (shen.bind! W4594 () V4539 W4595) false))))) (if (shen.pvar? W4590) (let W4596 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4590 (cons W4596 ()) V4539 (freeze (W4591 W4596))))) false))))) (if (= W4588 list) (thaw W4589) (if (shen.pvar? W4588) (shen.bind! W4588 list V4539 W4589) false)))) (if (shen.pvar? W4585) (let W4597 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4585 (cons list (cons W4597 ())) V4539 (freeze (W4586 W4597))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4577 false) (let W4598 (if (shen.unlocked? V4540) (let W4599 (shen.lazyderef V4536 V4539) (if (cons? W4599) (let W4600 (shen.lazyderef (hd W4599) V4539) (if (= W4600 @p) (let W4601 (shen.lazyderef (tl W4599) V4539) (if (cons? W4601) (let W4602 (hd W4601) (let W4603 (shen.lazyderef (tl W4601) V4539) (if (cons? W4603) (let W4604 (hd W4603) (let W4605 (shen.lazyderef (tl W4603) V4539) (if (= W4605 ()) (let W4606 (shen.lazyderef V4537 V4539) (let W4607 (lambda Z4608 (lambda Z4609 (do (shen.incinfs) (shen.system-S-h W4602 Z4608 V4538 V4539 V4540 W4543 (freeze (shen.system-S-h W4604 Z4609 V4538 V4539 V4540 W4543 V4542)))))) (if (cons? W4606) (let W4610 (hd W4606) (let W4611 (shen.lazyderef (tl W4606) V4539) (let W4612 (lambda Z4613 ((W4607 W4610) Z4613)) (if (cons? W4611) (let W4614 (shen.lazyderef (hd W4611) V4539) (let W4615 (freeze (let W4616 (shen.lazyderef (tl W4611) V4539) (let W4617 (lambda Z4618 (W4612 Z4618)) (if (cons? W4616) (let W4619 (hd W4616) (let W4620 (shen.lazyderef (tl W4616) V4539) (let W4621 (freeze (W4617 W4619)) (if (= W4620 ()) (thaw W4621) (if (shen.pvar? W4620) (shen.bind! W4620 () V4539 W4621) false))))) (if (shen.pvar? W4616) (let W4622 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4616 (cons W4622 ()) V4539 (freeze (W4617 W4622))))) false))))) (if (= W4614 *) (thaw W4615) (if (shen.pvar? W4614) (shen.bind! W4614 * V4539 W4615) false)))) (if (shen.pvar? W4611) (let W4623 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4611 (cons * (cons W4623 ())) V4539 (freeze (W4612 W4623))))) false))))) (if (shen.pvar? W4606) (let W4624 (shen.newpv V4539) (shen.gc V4539 (let W4625 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4606 (cons W4624 (cons * (cons W4625 ()))) V4539 (freeze ((W4607 W4624) W4625))))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4598 false) (let W4626 (if (shen.unlocked? V4540) (let W4627 (shen.lazyderef V4536 V4539) (if (cons? W4627) (let W4628 (shen.lazyderef (hd W4627) V4539) (if (= W4628 @v) (let W4629 (shen.lazyderef (tl W4627) V4539) (if (cons? W4629) (let W4630 (hd W4629) (let W4631 (shen.lazyderef (tl W4629) V4539) (if (cons? W4631) (let W4632 (hd W4631) (let W4633 (shen.lazyderef (tl W4631) V4539) (if (= W4633 ()) (let W4634 (shen.lazyderef V4537 V4539) (let W4635 (lambda Z4636 (do (shen.incinfs) (shen.system-S-h W4630 Z4636 V4538 V4539 V4540 W4543 (freeze (shen.system-S-h W4632 (cons vector (cons Z4636 ())) V4538 V4539 V4540 W4543 V4542))))) (if (cons? W4634) (let W4637 (shen.lazyderef (hd W4634) V4539) (let W4638 (freeze (let W4639 (shen.lazyderef (tl W4634) V4539) (let W4640 (lambda Z4641 (W4635 Z4641)) (if (cons? W4639) (let W4642 (hd W4639) (let W4643 (shen.lazyderef (tl W4639) V4539) (let W4644 (freeze (W4640 W4642)) (if (= W4643 ()) (thaw W4644) (if (shen.pvar? W4643) (shen.bind! W4643 () V4539 W4644) false))))) (if (shen.pvar? W4639) (let W4645 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4639 (cons W4645 ()) V4539 (freeze (W4640 W4645))))) false))))) (if (= W4637 vector) (thaw W4638) (if (shen.pvar? W4637) (shen.bind! W4637 vector V4539 W4638) false)))) (if (shen.pvar? W4634) (let W4646 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4634 (cons vector (cons W4646 ())) V4539 (freeze (W4635 W4646))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4626 false) (let W4647 (if (shen.unlocked? V4540) (let W4648 (shen.lazyderef V4536 V4539) (if (cons? W4648) (let W4649 (shen.lazyderef (hd W4648) V4539) (if (= W4649 @s) (let W4650 (shen.lazyderef (tl W4648) V4539) (if (cons? W4650) (let W4651 (hd W4650) (let W4652 (shen.lazyderef (tl W4650) V4539) (if (cons? W4652) (let W4653 (hd W4652) (let W4654 (shen.lazyderef (tl W4652) V4539) (if (= W4654 ()) (let W4655 (shen.lazyderef V4537 V4539) (let W4656 (freeze (do (shen.incinfs) (shen.system-S-h W4651 string V4538 V4539 V4540 W4543 (freeze (shen.system-S-h W4653 string V4538 V4539 V4540 W4543 V4542))))) (if (= W4655 string) (thaw W4656) (if (shen.pvar? W4655) (shen.bind! W4655 string V4539 W4656) false)))) false))) false))) false)) false)) false)) false) (if (= W4647 false) (let W4657 (if (shen.unlocked? V4540) (let W4658 (shen.lazyderef V4536 V4539) (if (cons? W4658) (let W4659 (shen.lazyderef (hd W4658) V4539) (if (= W4659 lambda) (let W4660 (shen.lazyderef (tl W4658) V4539) (if (cons? W4660) (let W4661 (hd W4660) (let W4662 (shen.lazyderef (tl W4660) V4539) (if (cons? W4662) (let W4663 (hd W4662) (let W4664 (shen.lazyderef (tl W4662) V4539) (if (= W4664 ()) (let W4665 (shen.lazyderef V4537 V4539) (let W4666 (lambda Z4667 (lambda Z4668 (let W4669 (shen.newpv V4539) (shen.gc V4539 (let W4670 (shen.newpv V4539) (shen.gc V4539 (do (shen.incinfs) (bind W4670 (shen.freshterm (shen.lazyderef W4661 V4539)) V4539 V4540 W4543 (freeze (bind W4669 (shen.beta (shen.lazyderef W4661 V4539) (shen.deref W4670 V4539) (shen.deref W4663 V4539)) V4539 V4540 W4543 (freeze (shen.system-S-h W4669 Z4668 (cons (cons W4670 (cons (intern ":") (cons Z4667 ()))) V4538) V4539 V4540 W4543 V4542)))))))))))) (if (cons? W4665) (let W4671 (hd W4665) (let W4672 (shen.lazyderef (tl W4665) V4539) (let W4673 (lambda Z4674 ((W4666 W4671) Z4674)) (if (cons? W4672) (let W4675 (shen.lazyderef (hd W4672) V4539) (let W4676 (freeze (let W4677 (shen.lazyderef (tl W4672) V4539) (let W4678 (lambda Z4679 (W4673 Z4679)) (if (cons? W4677) (let W4680 (hd W4677) (let W4681 (shen.lazyderef (tl W4677) V4539) (let W4682 (freeze (W4678 W4680)) (if (= W4681 ()) (thaw W4682) (if (shen.pvar? W4681) (shen.bind! W4681 () V4539 W4682) false))))) (if (shen.pvar? W4677) (let W4683 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4677 (cons W4683 ()) V4539 (freeze (W4678 W4683))))) false))))) (if (= W4675 -->) (thaw W4676) (if (shen.pvar? W4675) (shen.bind! W4675 --> V4539 W4676) false)))) (if (shen.pvar? W4672) (let W4684 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4672 (cons --> (cons W4684 ())) V4539 (freeze (W4673 W4684))))) false))))) (if (shen.pvar? W4665) (let W4685 (shen.newpv V4539) (shen.gc V4539 (let W4686 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4665 (cons W4685 (cons --> (cons W4686 ()))) V4539 (freeze ((W4666 W4685) W4686))))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4657 false) (let W4687 (if (shen.unlocked? V4540) (let W4688 (shen.lazyderef V4536 V4539) (if (cons? W4688) (let W4689 (shen.lazyderef (hd W4688) V4539) (if (= W4689 let) (let W4690 (shen.lazyderef (tl W4688) V4539) (if (cons? W4690) (let W4691 (hd W4690) (let W4692 (shen.lazyderef (tl W4690) V4539) (if (cons? W4692) (let W4693 (hd W4692) (let W4694 (shen.lazyderef (tl W4692) V4539) (if (cons? W4694) (let W4695 (hd W4694) (let W4696 (shen.lazyderef (tl W4694) V4539) (if (= W4696 ()) (let W4697 (shen.newpv V4539) (shen.gc V4539 (let W4698 (shen.newpv V4539) (shen.gc V4539 (let W4699 (shen.newpv V4539) (shen.gc V4539 (do (shen.incinfs) (shen.system-S-h W4693 W4699 V4538 V4539 V4540 W4543 (freeze (bind W4698 (shen.freshterm (shen.lazyderef W4691 V4539)) V4539 V4540 W4543 (freeze (bind W4697 (shen.beta (shen.lazyderef W4691 V4539) (shen.lazyderef W4698 V4539) (shen.lazyderef W4695 V4539)) V4539 V4540 W4543 (freeze (shen.system-S-h W4697 V4537 (cons (cons W4698 (cons (intern ":") (cons W4699 ()))) V4538) V4539 V4540 W4543 V4542)))))))))))))) false))) false))) false))) false)) false)) false)) false) (if (= W4687 false) (let W4700 (if (shen.unlocked? V4540) (let W4701 (shen.lazyderef V4536 V4539) (if (cons? W4701) (let W4702 (shen.lazyderef (hd W4701) V4539) (if (= W4702 open) (let W4703 (shen.lazyderef (tl W4701) V4539) (if (cons? W4703) (let W4704 (hd W4703) (let W4705 (shen.lazyderef (tl W4703) V4539) (if (cons? W4705) (let W4706 (hd W4705) (let W4707 (shen.lazyderef (tl W4705) V4539) (if (= W4707 ()) (let W4708 (shen.lazyderef V4537 V4539) (let W4709 (lambda Z4710 (do (shen.incinfs) (is! W4706 Z4710 V4539 V4540 W4543 (freeze (when (element? (shen.lazyderef Z4710 V4539) (cons in (cons out ()))) V4539 V4540 W4543 (freeze (shen.system-S-h W4704 string V4538 V4539 V4540 W4543 V4542))))))) (if (cons? W4708) (let W4711 (shen.lazyderef (hd W4708) V4539) (let W4712 (freeze (let W4713 (shen.lazyderef (tl W4708) V4539) (let W4714 (lambda Z4715 (W4709 Z4715)) (if (cons? W4713) (let W4716 (hd W4713) (let W4717 (shen.lazyderef (tl W4713) V4539) (let W4718 (freeze (W4714 W4716)) (if (= W4717 ()) (thaw W4718) (if (shen.pvar? W4717) (shen.bind! W4717 () V4539 W4718) false))))) (if (shen.pvar? W4713) (let W4719 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4713 (cons W4719 ()) V4539 (freeze (W4714 W4719))))) false))))) (if (= W4711 stream) (thaw W4712) (if (shen.pvar? W4711) (shen.bind! W4711 stream V4539 W4712) false)))) (if (shen.pvar? W4708) (let W4720 (shen.newpv V4539) (shen.gc V4539 (shen.bind! W4708 (cons stream (cons W4720 ())) V4539 (freeze (W4709 W4720))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4700 false) (let W4721 (if (shen.unlocked? V4540) (let W4722 (shen.lazyderef V4536 V4539) (if (cons? W4722) (let W4723 (shen.lazyderef (hd W4722) V4539) (if (= W4723 type) (let W4724 (shen.lazyderef (tl W4722) V4539) (if (cons? W4724) (let W4725 (hd W4724) (let W4726 (shen.lazyderef (tl W4724) V4539) (if (cons? W4726) (let W4727 (hd W4726) (let W4728 (shen.lazyderef (tl W4726) V4539) (if (= W4728 ()) (do (shen.incinfs) (shen.cut V4539 V4540 W4543 (freeze (is! (shen.rectify-type (shen.deref W4727 V4539)) V4537 V4539 V4540 W4543 (freeze (shen.system-S-h W4725 V4537 V4538 V4539 V4540 W4543 V4542)))))) false))) false))) false)) false)) false)) false) (if (= W4721 false) (let W4729 (if (shen.unlocked? V4540) (let W4730 (shen.lazyderef V4536 V4539) (if (cons? W4730) (let W4731 (shen.lazyderef (hd W4730) V4539) (if (= W4731 shen.input-h+) (let W4732 (shen.lazyderef (tl W4730) V4539) (if (cons? W4732) (let W4733 (hd W4732) (let W4734 (shen.lazyderef (tl W4732) V4539) (if (cons? W4734) (let W4735 (hd W4734) (let W4736 (shen.lazyderef (tl W4734) V4539) (if (= W4736 ()) (do (shen.incinfs) (is V4537 (shen.rectify-type (shen.rdecons (shen.deref W4733 V4539))) V4539 V4540 W4543 (freeze (shen.system-S-h W4735 (cons stream (cons in ())) V4538 V4539 V4540 W4543 V4542)))) false))) false))) false)) false)) false)) false) (if (= W4729 false) (let W4737 (if (shen.unlocked? V4540) (let W4738 (shen.lazyderef V4536 V4539) (if (cons? W4738) (let W4739 (shen.lazyderef (hd W4738) V4539) (if (= W4739 set) (let W4740 (shen.lazyderef (tl W4738) V4539) (if (cons? W4740) (let W4741 (hd W4740) (let W4742 (shen.lazyderef (tl W4740) V4539) (if (cons? W4742) (let W4743 (hd W4742) (let W4744 (shen.lazyderef (tl W4742) V4539) (if (= W4744 ()) (do (shen.incinfs) (shen.system-S-h W4741 symbol V4538 V4539 V4540 W4543 (freeze (shen.system-S-h (cons value (cons W4741 ())) V4537 V4538 V4539 V4540 W4543 (freeze (shen.system-S-h W4743 V4537 V4538 V4539 V4540 W4543 V4542)))))) false))) false))) false)) false)) false)) false) (if (= W4737 false) (let W4745 (if (shen.unlocked? V4540) (let W4746 (shen.newpv V4539) (shen.gc V4539 (do (shen.incinfs) (shen.l-rules V4538 W4746 false V4539 V4540 W4543 (freeze (shen.cut V4539 V4540 W4543 (freeze (shen.system-S-h V4536 V4537 W4746 V4539 V4540 W4543 V4542)))))))) false) (if (= W4745 false) (let W4747 (if (shen.unlocked? V4540) (do (shen.incinfs) (shen.search-user-datatypes (cons V4536 (cons (intern ":") (cons V4537 ()))) V4538 (value shen.*datatypes*) V4539 V4540 W4543 V4542)) false) (if (= W4747 false) (shen.unlock V4540 W4543) W4747)) W4745)) W4737)) W4729)) W4721)) W4700)) W4687)) W4657)) W4647)) W4626)) W4598)) W4577)) W4570)) W4563)) W4557)) W4551)) W4547)) W4546)) W4545)) W4544)))) +(defun shen.system-S-h (V4550 V4551 V4552 V4553 V4554 V4555 V4556) (let W4557 (+ V4555 1) (let W4558 (if (shen.unlocked? V4554) (do (shen.incinfs) (when (value shen.*spy*) V4553 V4554 W4557 (freeze (shen.show (cons V4550 (cons (intern ":") (cons V4551 ()))) V4552 V4553 V4554 W4557 V4556)))) false) (if (= W4558 false) (let W4559 (if (shen.unlocked? V4554) (do (shen.incinfs) (when (not (cons? (shen.lazyderef V4550 V4553))) V4553 V4554 W4557 (freeze (shen.primitive V4550 V4551 V4553 V4554 W4557 V4556)))) false) (if (= W4559 false) (let W4560 (if (shen.unlocked? V4554) (do (shen.incinfs) (shen.by-hypothesis V4550 V4551 V4552 V4553 V4554 W4557 V4556)) false) (if (= W4560 false) (let W4561 (if (shen.unlocked? V4554) (let W4562 (shen.lazyderef V4550 V4553) (if (cons? W4562) (let W4563 (hd W4562) (let W4564 (shen.lazyderef (tl W4562) V4553) (if (= W4564 ()) (do (shen.incinfs) (shen.lookupsig W4563 (cons --> (cons V4551 ())) V4553 V4554 W4557 V4556)) false))) false)) false) (if (= W4561 false) (let W4565 (if (shen.unlocked? V4554) (let W4566 (shen.lazyderef V4550 V4553) (if (cons? W4566) (let W4567 (shen.lazyderef (hd W4566) V4553) (if (= W4567 fn) (let W4568 (shen.lazyderef (tl W4566) V4553) (if (cons? W4568) (let W4569 (hd W4568) (let W4570 (shen.lazyderef (tl W4568) V4553) (if (= W4570 ()) (do (shen.incinfs) (when (= (arity (shen.deref W4569 V4553)) 0) V4553 V4554 W4557 (freeze (shen.cut V4553 V4554 W4557 (freeze (shen.system-S-h (cons W4569 ()) V4551 V4552 V4553 V4554 W4557 V4556)))))) false))) false)) false)) false)) false) (if (= W4565 false) (let W4571 (if (shen.unlocked? V4554) (let W4572 (shen.lazyderef V4550 V4553) (if (cons? W4572) (let W4573 (shen.lazyderef (hd W4572) V4553) (if (= W4573 fn) (let W4574 (shen.lazyderef (tl W4572) V4553) (if (cons? W4574) (let W4575 (hd W4574) (let W4576 (shen.lazyderef (tl W4574) V4553) (if (= W4576 ()) (do (shen.incinfs) (shen.lookupsig W4575 V4551 V4553 V4554 W4557 V4556)) false))) false)) false)) false)) false) (if (= W4571 false) (let W4577 (if (shen.unlocked? V4554) (let W4578 (shen.lazyderef V4550 V4553) (if (cons? W4578) (let W4579 (hd W4578) (let W4580 (shen.lazyderef (tl W4578) V4553) (if (cons? W4580) (let W4581 (hd W4580) (let W4582 (shen.lazyderef (tl W4580) V4553) (if (= W4582 ()) (let W4583 (shen.newpv V4553) (shen.gc V4553 (do (shen.incinfs) (when (not (cons? (shen.lazyderef W4579 V4553))) V4553 V4554 W4557 (freeze (shen.lookupsig W4579 (cons W4583 (cons --> (cons V4551 ()))) V4553 V4554 W4557 (freeze (shen.system-S-h W4581 W4583 V4552 V4553 V4554 W4557 V4556)))))))) false))) false))) false)) false) (if (= W4577 false) (let W4584 (if (shen.unlocked? V4554) (let W4585 (shen.lazyderef V4550 V4553) (if (cons? W4585) (let W4586 (hd W4585) (let W4587 (shen.lazyderef (tl W4585) V4553) (if (cons? W4587) (let W4588 (hd W4587) (let W4589 (shen.lazyderef (tl W4587) V4553) (if (= W4589 ()) (let W4590 (shen.newpv V4553) (shen.gc V4553 (do (shen.incinfs) (shen.system-S-h W4586 (cons W4590 (cons --> (cons V4551 ()))) V4552 V4553 V4554 W4557 (freeze (shen.system-S-h W4588 W4590 V4552 V4553 V4554 W4557 V4556)))))) false))) false))) false)) false) (if (= W4584 false) (let W4591 (if (shen.unlocked? V4554) (let W4592 (shen.lazyderef V4550 V4553) (if (cons? W4592) (let W4593 (shen.lazyderef (hd W4592) V4553) (if (= W4593 cons) (let W4594 (shen.lazyderef (tl W4592) V4553) (if (cons? W4594) (let W4595 (hd W4594) (let W4596 (shen.lazyderef (tl W4594) V4553) (if (cons? W4596) (let W4597 (hd W4596) (let W4598 (shen.lazyderef (tl W4596) V4553) (if (= W4598 ()) (let W4599 (shen.lazyderef V4551 V4553) (let W4600 (lambda Z4601 (do (shen.incinfs) (shen.system-S-h W4595 Z4601 V4552 V4553 V4554 W4557 (freeze (shen.system-S-h W4597 (cons list (cons Z4601 ())) V4552 V4553 V4554 W4557 V4556))))) (if (cons? W4599) (let W4602 (shen.lazyderef (hd W4599) V4553) (let W4603 (freeze (let W4604 (shen.lazyderef (tl W4599) V4553) (let W4605 (lambda Z4606 (W4600 Z4606)) (if (cons? W4604) (let W4607 (hd W4604) (let W4608 (shen.lazyderef (tl W4604) V4553) (let W4609 (freeze (W4605 W4607)) (if (= W4608 ()) (thaw W4609) (if (shen.pvar? W4608) (shen.bind! W4608 () V4553 W4609) false))))) (if (shen.pvar? W4604) (let W4610 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4604 (cons W4610 ()) V4553 (freeze (W4605 W4610))))) false))))) (if (= W4602 list) (thaw W4603) (if (shen.pvar? W4602) (shen.bind! W4602 list V4553 W4603) false)))) (if (shen.pvar? W4599) (let W4611 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4599 (cons list (cons W4611 ())) V4553 (freeze (W4600 W4611))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4591 false) (let W4612 (if (shen.unlocked? V4554) (let W4613 (shen.lazyderef V4550 V4553) (if (cons? W4613) (let W4614 (shen.lazyderef (hd W4613) V4553) (if (= W4614 @p) (let W4615 (shen.lazyderef (tl W4613) V4553) (if (cons? W4615) (let W4616 (hd W4615) (let W4617 (shen.lazyderef (tl W4615) V4553) (if (cons? W4617) (let W4618 (hd W4617) (let W4619 (shen.lazyderef (tl W4617) V4553) (if (= W4619 ()) (let W4620 (shen.lazyderef V4551 V4553) (let W4621 (lambda Z4622 (lambda Z4623 (do (shen.incinfs) (shen.system-S-h W4616 Z4622 V4552 V4553 V4554 W4557 (freeze (shen.system-S-h W4618 Z4623 V4552 V4553 V4554 W4557 V4556)))))) (if (cons? W4620) (let W4624 (hd W4620) (let W4625 (shen.lazyderef (tl W4620) V4553) (let W4626 (lambda Z4627 ((W4621 W4624) Z4627)) (if (cons? W4625) (let W4628 (shen.lazyderef (hd W4625) V4553) (let W4629 (freeze (let W4630 (shen.lazyderef (tl W4625) V4553) (let W4631 (lambda Z4632 (W4626 Z4632)) (if (cons? W4630) (let W4633 (hd W4630) (let W4634 (shen.lazyderef (tl W4630) V4553) (let W4635 (freeze (W4631 W4633)) (if (= W4634 ()) (thaw W4635) (if (shen.pvar? W4634) (shen.bind! W4634 () V4553 W4635) false))))) (if (shen.pvar? W4630) (let W4636 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4630 (cons W4636 ()) V4553 (freeze (W4631 W4636))))) false))))) (if (= W4628 *) (thaw W4629) (if (shen.pvar? W4628) (shen.bind! W4628 * V4553 W4629) false)))) (if (shen.pvar? W4625) (let W4637 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4625 (cons * (cons W4637 ())) V4553 (freeze (W4626 W4637))))) false))))) (if (shen.pvar? W4620) (let W4638 (shen.newpv V4553) (shen.gc V4553 (let W4639 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4620 (cons W4638 (cons * (cons W4639 ()))) V4553 (freeze ((W4621 W4638) W4639))))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4612 false) (let W4640 (if (shen.unlocked? V4554) (let W4641 (shen.lazyderef V4550 V4553) (if (cons? W4641) (let W4642 (shen.lazyderef (hd W4641) V4553) (if (= W4642 @v) (let W4643 (shen.lazyderef (tl W4641) V4553) (if (cons? W4643) (let W4644 (hd W4643) (let W4645 (shen.lazyderef (tl W4643) V4553) (if (cons? W4645) (let W4646 (hd W4645) (let W4647 (shen.lazyderef (tl W4645) V4553) (if (= W4647 ()) (let W4648 (shen.lazyderef V4551 V4553) (let W4649 (lambda Z4650 (do (shen.incinfs) (shen.system-S-h W4644 Z4650 V4552 V4553 V4554 W4557 (freeze (shen.system-S-h W4646 (cons vector (cons Z4650 ())) V4552 V4553 V4554 W4557 V4556))))) (if (cons? W4648) (let W4651 (shen.lazyderef (hd W4648) V4553) (let W4652 (freeze (let W4653 (shen.lazyderef (tl W4648) V4553) (let W4654 (lambda Z4655 (W4649 Z4655)) (if (cons? W4653) (let W4656 (hd W4653) (let W4657 (shen.lazyderef (tl W4653) V4553) (let W4658 (freeze (W4654 W4656)) (if (= W4657 ()) (thaw W4658) (if (shen.pvar? W4657) (shen.bind! W4657 () V4553 W4658) false))))) (if (shen.pvar? W4653) (let W4659 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4653 (cons W4659 ()) V4553 (freeze (W4654 W4659))))) false))))) (if (= W4651 vector) (thaw W4652) (if (shen.pvar? W4651) (shen.bind! W4651 vector V4553 W4652) false)))) (if (shen.pvar? W4648) (let W4660 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4648 (cons vector (cons W4660 ())) V4553 (freeze (W4649 W4660))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4640 false) (let W4661 (if (shen.unlocked? V4554) (let W4662 (shen.lazyderef V4550 V4553) (if (cons? W4662) (let W4663 (shen.lazyderef (hd W4662) V4553) (if (= W4663 @s) (let W4664 (shen.lazyderef (tl W4662) V4553) (if (cons? W4664) (let W4665 (hd W4664) (let W4666 (shen.lazyderef (tl W4664) V4553) (if (cons? W4666) (let W4667 (hd W4666) (let W4668 (shen.lazyderef (tl W4666) V4553) (if (= W4668 ()) (let W4669 (shen.lazyderef V4551 V4553) (let W4670 (freeze (do (shen.incinfs) (shen.system-S-h W4665 string V4552 V4553 V4554 W4557 (freeze (shen.system-S-h W4667 string V4552 V4553 V4554 W4557 V4556))))) (if (= W4669 string) (thaw W4670) (if (shen.pvar? W4669) (shen.bind! W4669 string V4553 W4670) false)))) false))) false))) false)) false)) false)) false) (if (= W4661 false) (let W4671 (if (shen.unlocked? V4554) (let W4672 (shen.lazyderef V4550 V4553) (if (cons? W4672) (let W4673 (shen.lazyderef (hd W4672) V4553) (if (= W4673 lambda) (let W4674 (shen.lazyderef (tl W4672) V4553) (if (cons? W4674) (let W4675 (hd W4674) (let W4676 (shen.lazyderef (tl W4674) V4553) (if (cons? W4676) (let W4677 (hd W4676) (let W4678 (shen.lazyderef (tl W4676) V4553) (if (= W4678 ()) (let W4679 (shen.lazyderef V4551 V4553) (let W4680 (lambda Z4681 (lambda Z4682 (let W4683 (shen.newpv V4553) (shen.gc V4553 (let W4684 (shen.newpv V4553) (shen.gc V4553 (do (shen.incinfs) (bind W4684 (shen.freshterm (shen.lazyderef W4675 V4553)) V4553 V4554 W4557 (freeze (bind W4683 (shen.beta (shen.lazyderef W4675 V4553) (shen.deref W4684 V4553) (shen.deref W4677 V4553)) V4553 V4554 W4557 (freeze (shen.system-S-h W4683 Z4682 (cons (cons W4684 (cons (intern ":") (cons Z4681 ()))) V4552) V4553 V4554 W4557 V4556)))))))))))) (if (cons? W4679) (let W4685 (hd W4679) (let W4686 (shen.lazyderef (tl W4679) V4553) (let W4687 (lambda Z4688 ((W4680 W4685) Z4688)) (if (cons? W4686) (let W4689 (shen.lazyderef (hd W4686) V4553) (let W4690 (freeze (let W4691 (shen.lazyderef (tl W4686) V4553) (let W4692 (lambda Z4693 (W4687 Z4693)) (if (cons? W4691) (let W4694 (hd W4691) (let W4695 (shen.lazyderef (tl W4691) V4553) (let W4696 (freeze (W4692 W4694)) (if (= W4695 ()) (thaw W4696) (if (shen.pvar? W4695) (shen.bind! W4695 () V4553 W4696) false))))) (if (shen.pvar? W4691) (let W4697 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4691 (cons W4697 ()) V4553 (freeze (W4692 W4697))))) false))))) (if (= W4689 -->) (thaw W4690) (if (shen.pvar? W4689) (shen.bind! W4689 --> V4553 W4690) false)))) (if (shen.pvar? W4686) (let W4698 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4686 (cons --> (cons W4698 ())) V4553 (freeze (W4687 W4698))))) false))))) (if (shen.pvar? W4679) (let W4699 (shen.newpv V4553) (shen.gc V4553 (let W4700 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4679 (cons W4699 (cons --> (cons W4700 ()))) V4553 (freeze ((W4680 W4699) W4700))))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4671 false) (let W4701 (if (shen.unlocked? V4554) (let W4702 (shen.lazyderef V4550 V4553) (if (cons? W4702) (let W4703 (shen.lazyderef (hd W4702) V4553) (if (= W4703 let) (let W4704 (shen.lazyderef (tl W4702) V4553) (if (cons? W4704) (let W4705 (hd W4704) (let W4706 (shen.lazyderef (tl W4704) V4553) (if (cons? W4706) (let W4707 (hd W4706) (let W4708 (shen.lazyderef (tl W4706) V4553) (if (cons? W4708) (let W4709 (hd W4708) (let W4710 (shen.lazyderef (tl W4708) V4553) (if (= W4710 ()) (let W4711 (shen.newpv V4553) (shen.gc V4553 (let W4712 (shen.newpv V4553) (shen.gc V4553 (let W4713 (shen.newpv V4553) (shen.gc V4553 (do (shen.incinfs) (shen.system-S-h W4707 W4713 V4552 V4553 V4554 W4557 (freeze (bind W4712 (shen.freshterm (shen.lazyderef W4705 V4553)) V4553 V4554 W4557 (freeze (bind W4711 (shen.beta (shen.lazyderef W4705 V4553) (shen.lazyderef W4712 V4553) (shen.lazyderef W4709 V4553)) V4553 V4554 W4557 (freeze (shen.system-S-h W4711 V4551 (cons (cons W4712 (cons (intern ":") (cons W4713 ()))) V4552) V4553 V4554 W4557 V4556)))))))))))))) false))) false))) false))) false)) false)) false)) false) (if (= W4701 false) (let W4714 (if (shen.unlocked? V4554) (let W4715 (shen.lazyderef V4550 V4553) (if (cons? W4715) (let W4716 (shen.lazyderef (hd W4715) V4553) (if (= W4716 open) (let W4717 (shen.lazyderef (tl W4715) V4553) (if (cons? W4717) (let W4718 (hd W4717) (let W4719 (shen.lazyderef (tl W4717) V4553) (if (cons? W4719) (let W4720 (hd W4719) (let W4721 (shen.lazyderef (tl W4719) V4553) (if (= W4721 ()) (let W4722 (shen.lazyderef V4551 V4553) (let W4723 (lambda Z4724 (do (shen.incinfs) (is! W4720 Z4724 V4553 V4554 W4557 (freeze (when (element? (shen.lazyderef Z4724 V4553) (cons in (cons out ()))) V4553 V4554 W4557 (freeze (shen.system-S-h W4718 string V4552 V4553 V4554 W4557 V4556))))))) (if (cons? W4722) (let W4725 (shen.lazyderef (hd W4722) V4553) (let W4726 (freeze (let W4727 (shen.lazyderef (tl W4722) V4553) (let W4728 (lambda Z4729 (W4723 Z4729)) (if (cons? W4727) (let W4730 (hd W4727) (let W4731 (shen.lazyderef (tl W4727) V4553) (let W4732 (freeze (W4728 W4730)) (if (= W4731 ()) (thaw W4732) (if (shen.pvar? W4731) (shen.bind! W4731 () V4553 W4732) false))))) (if (shen.pvar? W4727) (let W4733 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4727 (cons W4733 ()) V4553 (freeze (W4728 W4733))))) false))))) (if (= W4725 stream) (thaw W4726) (if (shen.pvar? W4725) (shen.bind! W4725 stream V4553 W4726) false)))) (if (shen.pvar? W4722) (let W4734 (shen.newpv V4553) (shen.gc V4553 (shen.bind! W4722 (cons stream (cons W4734 ())) V4553 (freeze (W4723 W4734))))) false)))) false))) false))) false)) false)) false)) false) (if (= W4714 false) (let W4735 (if (shen.unlocked? V4554) (let W4736 (shen.lazyderef V4550 V4553) (if (cons? W4736) (let W4737 (shen.lazyderef (hd W4736) V4553) (if (= W4737 type) (let W4738 (shen.lazyderef (tl W4736) V4553) (if (cons? W4738) (let W4739 (hd W4738) (let W4740 (shen.lazyderef (tl W4738) V4553) (if (cons? W4740) (let W4741 (hd W4740) (let W4742 (shen.lazyderef (tl W4740) V4553) (if (= W4742 ()) (do (shen.incinfs) (shen.cut V4553 V4554 W4557 (freeze (is! (shen.rectify-type (shen.deref W4741 V4553)) V4551 V4553 V4554 W4557 (freeze (shen.system-S-h W4739 V4551 V4552 V4553 V4554 W4557 V4556)))))) false))) false))) false)) false)) false)) false) (if (= W4735 false) (let W4743 (if (shen.unlocked? V4554) (let W4744 (shen.lazyderef V4550 V4553) (if (cons? W4744) (let W4745 (shen.lazyderef (hd W4744) V4553) (if (= W4745 shen.input-h+) (let W4746 (shen.lazyderef (tl W4744) V4553) (if (cons? W4746) (let W4747 (hd W4746) (let W4748 (shen.lazyderef (tl W4746) V4553) (if (cons? W4748) (let W4749 (hd W4748) (let W4750 (shen.lazyderef (tl W4748) V4553) (if (= W4750 ()) (do (shen.incinfs) (is V4551 (shen.rectify-type (shen.rdecons (shen.deref W4747 V4553))) V4553 V4554 W4557 (freeze (shen.system-S-h W4749 (cons stream (cons in ())) V4552 V4553 V4554 W4557 V4556)))) false))) false))) false)) false)) false)) false) (if (= W4743 false) (let W4751 (if (shen.unlocked? V4554) (let W4752 (shen.lazyderef V4550 V4553) (if (cons? W4752) (let W4753 (shen.lazyderef (hd W4752) V4553) (if (= W4753 set) (let W4754 (shen.lazyderef (tl W4752) V4553) (if (cons? W4754) (let W4755 (hd W4754) (let W4756 (shen.lazyderef (tl W4754) V4553) (if (cons? W4756) (let W4757 (hd W4756) (let W4758 (shen.lazyderef (tl W4756) V4553) (if (= W4758 ()) (do (shen.incinfs) (shen.system-S-h W4755 symbol V4552 V4553 V4554 W4557 (freeze (shen.system-S-h (cons value (cons W4755 ())) V4551 V4552 V4553 V4554 W4557 (freeze (shen.system-S-h W4757 V4551 V4552 V4553 V4554 W4557 V4556)))))) false))) false))) false)) false)) false)) false) (if (= W4751 false) (let W4759 (if (shen.unlocked? V4554) (let W4760 (shen.newpv V4553) (shen.gc V4553 (do (shen.incinfs) (shen.l-rules V4552 W4760 false V4553 V4554 W4557 (freeze (shen.cut V4553 V4554 W4557 (freeze (shen.system-S-h V4550 V4551 W4760 V4553 V4554 W4557 V4556)))))))) false) (if (= W4759 false) (let W4761 (if (shen.unlocked? V4554) (do (shen.incinfs) (shen.search-user-datatypes (cons V4550 (cons (intern ":") (cons V4551 ()))) V4552 (value shen.*datatypes*) V4553 V4554 W4557 V4556)) false) (if (= W4761 false) (shen.unlock V4554 W4557) W4761)) W4759)) W4751)) W4743)) W4735)) W4714)) W4701)) W4671)) W4661)) W4640)) W4612)) W4591)) W4584)) W4577)) W4571)) W4565)) W4561)) W4560)) W4559)) W4558)))) -(defun shen.rdecons (V4748) (cond ((and (cons? V4748) (and (= cons (hd V4748)) (and (cons? (tl V4748)) (and (cons? (tl (tl V4748))) (= () (tl (tl (tl V4748)))))))) (cons (shen.rdecons (hd (tl V4748))) (shen.rdecons (hd (tl (tl V4748)))))) ((cons? V4748) (cons (shen.rdecons (hd V4748)) (shen.rdecons (tl V4748)))) (true V4748))) +(defun shen.rdecons (V4762) (cond ((and (cons? V4762) (and (= cons (hd V4762)) (and (cons? (tl V4762)) (and (cons? (tl (tl V4762))) (= () (tl (tl (tl V4762)))))))) (cons (shen.rdecons (hd (tl V4762))) (shen.rdecons (hd (tl (tl V4762)))))) ((cons? V4762) (cons (shen.rdecons (hd V4762)) (shen.rdecons (tl V4762)))) (true V4762))) -(defun shen.primitive (V4749 V4750 V4751 V4752 V4753 V4754) (let W4755 (if (shen.unlocked? V4752) (let W4756 (shen.lazyderef V4750 V4751) (let W4757 (freeze (do (shen.incinfs) (when (number? (shen.lazyderef V4749 V4751)) V4751 V4752 V4753 V4754))) (if (= W4756 number) (thaw W4757) (if (shen.pvar? W4756) (shen.bind! W4756 number V4751 W4757) false)))) false) (if (= W4755 false) (let W4758 (if (shen.unlocked? V4752) (let W4759 (shen.lazyderef V4750 V4751) (let W4760 (freeze (do (shen.incinfs) (when (boolean? (shen.lazyderef V4749 V4751)) V4751 V4752 V4753 V4754))) (if (= W4759 boolean) (thaw W4760) (if (shen.pvar? W4759) (shen.bind! W4759 boolean V4751 W4760) false)))) false) (if (= W4758 false) (let W4761 (if (shen.unlocked? V4752) (let W4762 (shen.lazyderef V4750 V4751) (let W4763 (freeze (do (shen.incinfs) (when (string? (shen.lazyderef V4749 V4751)) V4751 V4752 V4753 V4754))) (if (= W4762 string) (thaw W4763) (if (shen.pvar? W4762) (shen.bind! W4762 string V4751 W4763) false)))) false) (if (= W4761 false) (let W4764 (if (shen.unlocked? V4752) (let W4765 (shen.lazyderef V4750 V4751) (let W4766 (freeze (do (shen.incinfs) (when (symbol? (shen.lazyderef V4749 V4751)) V4751 V4752 V4753 V4754))) (if (= W4765 symbol) (thaw W4766) (if (shen.pvar? W4765) (shen.bind! W4765 symbol V4751 W4766) false)))) false) (if (= W4764 false) (if (shen.unlocked? V4752) (let W4767 (shen.lazyderef V4749 V4751) (if (= W4767 ()) (let W4768 (shen.lazyderef V4750 V4751) (let W4769 (lambda Z4770 (do (shen.incinfs) (thaw V4754))) (if (cons? W4768) (let W4771 (shen.lazyderef (hd W4768) V4751) (let W4772 (freeze (let W4773 (shen.lazyderef (tl W4768) V4751) (let W4774 (lambda Z4775 (W4769 Z4775)) (if (cons? W4773) (let W4776 (hd W4773) (let W4777 (shen.lazyderef (tl W4773) V4751) (let W4778 (freeze (W4774 W4776)) (if (= W4777 ()) (thaw W4778) (if (shen.pvar? W4777) (shen.bind! W4777 () V4751 W4778) false))))) (if (shen.pvar? W4773) (let W4779 (shen.newpv V4751) (shen.gc V4751 (shen.bind! W4773 (cons W4779 ()) V4751 (freeze (W4774 W4779))))) false))))) (if (= W4771 list) (thaw W4772) (if (shen.pvar? W4771) (shen.bind! W4771 list V4751 W4772) false)))) (if (shen.pvar? W4768) (let W4780 (shen.newpv V4751) (shen.gc V4751 (shen.bind! W4768 (cons list (cons W4780 ())) V4751 (freeze (W4769 W4780))))) false)))) false)) false) W4764)) W4761)) W4758)) W4755))) +(defun shen.primitive (V4763 V4764 V4765 V4766 V4767 V4768) (let W4769 (if (shen.unlocked? V4766) (let W4770 (shen.lazyderef V4764 V4765) (let W4771 (freeze (do (shen.incinfs) (when (number? (shen.lazyderef V4763 V4765)) V4765 V4766 V4767 V4768))) (if (= W4770 number) (thaw W4771) (if (shen.pvar? W4770) (shen.bind! W4770 number V4765 W4771) false)))) false) (if (= W4769 false) (let W4772 (if (shen.unlocked? V4766) (let W4773 (shen.lazyderef V4764 V4765) (let W4774 (freeze (do (shen.incinfs) (when (boolean? (shen.lazyderef V4763 V4765)) V4765 V4766 V4767 V4768))) (if (= W4773 boolean) (thaw W4774) (if (shen.pvar? W4773) (shen.bind! W4773 boolean V4765 W4774) false)))) false) (if (= W4772 false) (let W4775 (if (shen.unlocked? V4766) (let W4776 (shen.lazyderef V4764 V4765) (let W4777 (freeze (do (shen.incinfs) (when (string? (shen.lazyderef V4763 V4765)) V4765 V4766 V4767 V4768))) (if (= W4776 string) (thaw W4777) (if (shen.pvar? W4776) (shen.bind! W4776 string V4765 W4777) false)))) false) (if (= W4775 false) (let W4778 (if (shen.unlocked? V4766) (let W4779 (shen.lazyderef V4764 V4765) (let W4780 (freeze (do (shen.incinfs) (when (symbol? (shen.lazyderef V4763 V4765)) V4765 V4766 V4767 V4768))) (if (= W4779 symbol) (thaw W4780) (if (shen.pvar? W4779) (shen.bind! W4779 symbol V4765 W4780) false)))) false) (if (= W4778 false) (if (shen.unlocked? V4766) (let W4781 (shen.lazyderef V4763 V4765) (if (= W4781 ()) (let W4782 (shen.lazyderef V4764 V4765) (let W4783 (lambda Z4784 (do (shen.incinfs) (thaw V4768))) (if (cons? W4782) (let W4785 (shen.lazyderef (hd W4782) V4765) (let W4786 (freeze (let W4787 (shen.lazyderef (tl W4782) V4765) (let W4788 (lambda Z4789 (W4783 Z4789)) (if (cons? W4787) (let W4790 (hd W4787) (let W4791 (shen.lazyderef (tl W4787) V4765) (let W4792 (freeze (W4788 W4790)) (if (= W4791 ()) (thaw W4792) (if (shen.pvar? W4791) (shen.bind! W4791 () V4765 W4792) false))))) (if (shen.pvar? W4787) (let W4793 (shen.newpv V4765) (shen.gc V4765 (shen.bind! W4787 (cons W4793 ()) V4765 (freeze (W4788 W4793))))) false))))) (if (= W4785 list) (thaw W4786) (if (shen.pvar? W4785) (shen.bind! W4785 list V4765 W4786) false)))) (if (shen.pvar? W4782) (let W4794 (shen.newpv V4765) (shen.gc V4765 (shen.bind! W4782 (cons list (cons W4794 ())) V4765 (freeze (W4783 W4794))))) false)))) false)) false) W4778)) W4775)) W4772)) W4769))) -(defun shen.by-hypothesis (V4781 V4782 V4783 V4784 V4785 V4786 V4787) (let W4788 (if (shen.unlocked? V4785) (let W4789 (shen.lazyderef V4783 V4784) (if (cons? W4789) (let W4790 (shen.lazyderef (hd W4789) V4784) (if (cons? W4790) (let W4791 (hd W4790) (let W4792 (shen.lazyderef (tl W4790) V4784) (if (cons? W4792) (let W4793 (hd W4792) (let W4794 (shen.lazyderef (tl W4792) V4784) (if (cons? W4794) (let W4795 (hd W4794) (let W4796 (shen.lazyderef (tl W4794) V4784) (if (= W4796 ()) (do (shen.incinfs) (when (= (shen.deref W4793 V4784) (intern ":")) V4784 V4785 V4786 (freeze (when (= (shen.deref V4781 V4784) (shen.deref W4791 V4784)) V4784 V4785 V4786 (freeze (is! V4782 W4795 V4784 V4785 V4786 V4787)))))) false))) false))) false))) false)) false)) false) (if (= W4788 false) (if (shen.unlocked? V4785) (let W4797 (shen.lazyderef V4783 V4784) (if (cons? W4797) (let W4798 (tl W4797) (do (shen.incinfs) (shen.by-hypothesis V4781 V4782 W4798 V4784 V4785 V4786 V4787))) false)) false) W4788))) +(defun shen.by-hypothesis (V4795 V4796 V4797 V4798 V4799 V4800 V4801) (let W4802 (if (shen.unlocked? V4799) (let W4803 (shen.lazyderef V4797 V4798) (if (cons? W4803) (let W4804 (shen.lazyderef (hd W4803) V4798) (if (cons? W4804) (let W4805 (hd W4804) (let W4806 (shen.lazyderef (tl W4804) V4798) (if (cons? W4806) (let W4807 (hd W4806) (let W4808 (shen.lazyderef (tl W4806) V4798) (if (cons? W4808) (let W4809 (hd W4808) (let W4810 (shen.lazyderef (tl W4808) V4798) (if (= W4810 ()) (do (shen.incinfs) (when (= (shen.deref W4807 V4798) (intern ":")) V4798 V4799 V4800 (freeze (when (= (shen.deref V4795 V4798) (shen.deref W4805 V4798)) V4798 V4799 V4800 (freeze (is! V4796 W4809 V4798 V4799 V4800 V4801)))))) false))) false))) false))) false)) false)) false) (if (= W4802 false) (if (shen.unlocked? V4799) (let W4811 (shen.lazyderef V4797 V4798) (if (cons? W4811) (let W4812 (tl W4811) (do (shen.incinfs) (shen.by-hypothesis V4795 V4796 W4812 V4798 V4799 V4800 V4801))) false)) false) W4802))) -(defun shen.lookupsig (V4799 V4800 V4801 V4802 V4803 V4804) (if (shen.unlocked? V4802) (do (shen.incinfs) (shen.sigf (assoc V4799 (value shen.*sigf*)) V4800 V4801 V4802 V4803 V4804)) false)) +(defun shen.lookupsig (V4813 V4814 V4815 V4816 V4817 V4818) (if (shen.unlocked? V4816) (do (shen.incinfs) (shen.sigf (assoc V4813 (value shen.*sigf*)) V4814 V4815 V4816 V4817 V4818)) false)) -(defun shen.sigf (V4819 V4820 V4821 V4822 V4823 V4824) (cond ((cons? V4819) ((((((tl V4819) V4820) V4821) V4822) V4823) V4824)) (true false))) +(defun shen.sigf (V4833 V4834 V4835 V4836 V4837 V4838) (cond ((cons? V4833) ((((((tl V4833) V4834) V4835) V4836) V4837) V4838)) (true false))) -(defun shen.freshterm (V4825) (let W4826 (absvector 3) (let W4827 (address-> W4826 0 shen.print-freshterm) (let W4828 (address-> W4827 1 V4825) (let W4829 (address-> W4828 2 (set shen.*gensym* (+ 1 (value shen.*gensym*)))) W4829))))) +(defun shen.freshterm (V4839) (let W4840 (absvector 3) (let W4841 (address-> W4840 0 shen.print-freshterm) (let W4842 (address-> W4841 1 V4839) (let W4843 (address-> W4842 2 (set shen.*gensym* (+ 1 (value shen.*gensym*)))) W4843))))) -(defun shen.print-freshterm (V4830) (cn "&&" (shen.app (<-address V4830 1) "" shen.a))) +(defun shen.print-freshterm (V4844) (cn "&&" (shen.app (<-address V4844 1) "" shen.a))) -(defun shen.search-user-datatypes (V4831 V4832 V4833 V4834 V4835 V4836 V4837) (let W4838 (if (shen.unlocked? V4835) (let W4839 (shen.lazyderef V4833 V4834) (if (cons? W4839) (let W4840 (shen.lazyderef (hd W4839) V4834) (if (cons? W4840) (let W4841 (tl W4840) (do (shen.incinfs) (call (((shen.deref W4841 V4834) (shen.deref V4831 V4834)) (shen.deref V4832 V4834)) V4834 V4835 V4836 V4837))) false)) false)) false) (if (= W4838 false) (if (shen.unlocked? V4835) (let W4842 (shen.lazyderef V4833 V4834) (if (cons? W4842) (let W4843 (tl W4842) (do (shen.incinfs) (shen.search-user-datatypes V4831 V4832 W4843 V4834 V4835 V4836 V4837))) false)) false) W4838))) +(defun shen.search-user-datatypes (V4845 V4846 V4847 V4848 V4849 V4850 V4851) (let W4852 (if (shen.unlocked? V4849) (let W4853 (shen.lazyderef V4847 V4848) (if (cons? W4853) (let W4854 (shen.lazyderef (hd W4853) V4848) (if (cons? W4854) (let W4855 (tl W4854) (do (shen.incinfs) (call (((shen.deref W4855 V4848) (shen.deref V4845 V4848)) (shen.deref V4846 V4848)) V4848 V4849 V4850 V4851))) false)) false)) false) (if (= W4852 false) (if (shen.unlocked? V4849) (let W4856 (shen.lazyderef V4847 V4848) (if (cons? W4856) (let W4857 (tl W4856) (do (shen.incinfs) (shen.search-user-datatypes V4845 V4846 W4857 V4848 V4849 V4850 V4851))) false)) false) W4852))) -(defun shen.l-rules (V4844 V4845 V4846 V4847 V4848 V4849 V4850) (let W4851 (+ V4849 1) (let W4852 (if (shen.unlocked? V4848) (let W4853 (shen.lazyderef V4844 V4847) (if (= W4853 ()) (let W4854 (shen.lazyderef V4846 V4847) (if (= W4854 true) (do (shen.incinfs) (shen.cut V4847 V4848 W4851 (freeze (bind V4845 () V4847 V4848 W4851 V4850)))) false)) false)) false) (if (= W4852 false) (let W4855 (if (shen.unlocked? V4848) (let W4856 (shen.lazyderef V4844 V4847) (if (cons? W4856) (let W4857 (shen.lazyderef (hd W4856) V4847) (if (cons? W4857) (let W4858 (shen.lazyderef (hd W4857) V4847) (if (cons? W4858) (let W4859 (shen.lazyderef (hd W4858) V4847) (if (= W4859 cons) (let W4860 (shen.lazyderef (tl W4858) V4847) (if (cons? W4860) (let W4861 (hd W4860) (let W4862 (shen.lazyderef (tl W4860) V4847) (if (cons? W4862) (let W4863 (hd W4862) (let W4864 (shen.lazyderef (tl W4862) V4847) (if (= W4864 ()) (let W4865 (shen.lazyderef (tl W4857) V4847) (if (cons? W4865) (let W4866 (hd W4865) (let W4867 (shen.lazyderef (tl W4865) V4847) (if (cons? W4867) (let W4868 (shen.lazyderef (hd W4867) V4847) (if (cons? W4868) (let W4869 (shen.lazyderef (hd W4868) V4847) (if (= W4869 list) (let W4870 (shen.lazyderef (tl W4868) V4847) (if (cons? W4870) (let W4871 (hd W4870) (let W4872 (shen.lazyderef (tl W4870) V4847) (if (= W4872 ()) (let W4873 (shen.lazyderef (tl W4867) V4847) (if (= W4873 ()) (let W4874 (tl W4856) (do (shen.incinfs) (when (= (shen.deref W4866 V4847) (intern ":")) V4847 V4848 W4851 (freeze (shen.cut V4847 V4848 W4851 (freeze (shen.l-rules (cons (cons W4861 (cons W4866 (cons W4871 ()))) (cons (cons W4863 (cons W4866 (cons (cons list (cons W4871 ())) ()))) W4874)) V4845 true V4847 V4848 W4851 V4850))))))) false)) false))) false)) false)) false)) false))) false)) false))) false))) false)) false)) false)) false)) false)) false) (if (= W4855 false) (let W4875 (if (shen.unlocked? V4848) (let W4876 (shen.lazyderef V4844 V4847) (if (cons? W4876) (let W4877 (shen.lazyderef (hd W4876) V4847) (if (cons? W4877) (let W4878 (shen.lazyderef (hd W4877) V4847) (if (cons? W4878) (let W4879 (shen.lazyderef (hd W4878) V4847) (if (= W4879 @p) (let W4880 (shen.lazyderef (tl W4878) V4847) (if (cons? W4880) (let W4881 (hd W4880) (let W4882 (shen.lazyderef (tl W4880) V4847) (if (cons? W4882) (let W4883 (hd W4882) (let W4884 (shen.lazyderef (tl W4882) V4847) (if (= W4884 ()) (let W4885 (shen.lazyderef (tl W4877) V4847) (if (cons? W4885) (let W4886 (hd W4885) (let W4887 (shen.lazyderef (tl W4885) V4847) (if (cons? W4887) (let W4888 (shen.lazyderef (hd W4887) V4847) (if (cons? W4888) (let W4889 (hd W4888) (let W4890 (shen.lazyderef (tl W4888) V4847) (if (cons? W4890) (let W4891 (shen.lazyderef (hd W4890) V4847) (if (= W4891 *) (let W4892 (shen.lazyderef (tl W4890) V4847) (if (cons? W4892) (let W4893 (hd W4892) (let W4894 (shen.lazyderef (tl W4892) V4847) (if (= W4894 ()) (let W4895 (shen.lazyderef (tl W4887) V4847) (if (= W4895 ()) (let W4896 (tl W4876) (do (shen.incinfs) (when (= (shen.deref W4886 V4847) (intern ":")) V4847 V4848 W4851 (freeze (shen.cut V4847 V4848 W4851 (freeze (shen.l-rules (cons (cons W4881 (cons W4886 (cons W4889 ()))) (cons (cons W4883 (cons W4886 (cons W4893 ()))) W4896)) V4845 true V4847 V4848 W4851 V4850))))))) false)) false))) false)) false)) false))) false)) false))) false)) false))) false))) false)) false)) false)) false)) false)) false) (if (= W4875 false) (let W4897 (if (shen.unlocked? V4848) (let W4898 (shen.lazyderef V4844 V4847) (if (cons? W4898) (let W4899 (shen.lazyderef (hd W4898) V4847) (if (cons? W4899) (let W4900 (shen.lazyderef (hd W4899) V4847) (if (cons? W4900) (let W4901 (shen.lazyderef (hd W4900) V4847) (if (= W4901 @s) (let W4902 (shen.lazyderef (tl W4900) V4847) (if (cons? W4902) (let W4903 (hd W4902) (let W4904 (shen.lazyderef (tl W4902) V4847) (if (cons? W4904) (let W4905 (hd W4904) (let W4906 (shen.lazyderef (tl W4904) V4847) (if (= W4906 ()) (let W4907 (shen.lazyderef (tl W4899) V4847) (if (cons? W4907) (let W4908 (hd W4907) (let W4909 (shen.lazyderef (tl W4907) V4847) (if (cons? W4909) (let W4910 (shen.lazyderef (hd W4909) V4847) (if (= W4910 string) (let W4911 (shen.lazyderef (tl W4909) V4847) (if (= W4911 ()) (let W4912 (tl W4898) (do (shen.incinfs) (when (= (shen.deref W4908 V4847) (intern ":")) V4847 V4848 W4851 (freeze (shen.cut V4847 V4848 W4851 (freeze (shen.l-rules (cons (cons W4903 (cons W4908 (cons string ()))) (cons (cons W4905 (cons W4908 (cons string ()))) W4912)) V4845 true V4847 V4848 W4851 V4850))))))) false)) false)) false))) false)) false))) false))) false)) false)) false)) false)) false)) false) (if (= W4897 false) (let W4913 (if (shen.unlocked? V4848) (let W4914 (shen.lazyderef V4844 V4847) (if (cons? W4914) (let W4915 (shen.lazyderef (hd W4914) V4847) (if (cons? W4915) (let W4916 (shen.lazyderef (hd W4915) V4847) (if (cons? W4916) (let W4917 (shen.lazyderef (hd W4916) V4847) (if (= W4917 @v) (let W4918 (shen.lazyderef (tl W4916) V4847) (if (cons? W4918) (let W4919 (hd W4918) (let W4920 (shen.lazyderef (tl W4918) V4847) (if (cons? W4920) (let W4921 (hd W4920) (let W4922 (shen.lazyderef (tl W4920) V4847) (if (= W4922 ()) (let W4923 (shen.lazyderef (tl W4915) V4847) (if (cons? W4923) (let W4924 (hd W4923) (let W4925 (shen.lazyderef (tl W4923) V4847) (if (cons? W4925) (let W4926 (shen.lazyderef (hd W4925) V4847) (if (cons? W4926) (let W4927 (shen.lazyderef (hd W4926) V4847) (if (= W4927 vector) (let W4928 (shen.lazyderef (tl W4926) V4847) (if (cons? W4928) (let W4929 (hd W4928) (let W4930 (shen.lazyderef (tl W4928) V4847) (if (= W4930 ()) (let W4931 (shen.lazyderef (tl W4925) V4847) (if (= W4931 ()) (let W4932 (tl W4914) (do (shen.incinfs) (when (= (shen.deref W4924 V4847) (intern ":")) V4847 V4848 W4851 (freeze (shen.cut V4847 V4848 W4851 (freeze (shen.l-rules (cons (cons W4919 (cons W4924 (cons W4929 ()))) (cons (cons W4921 (cons W4924 (cons (cons vector (cons W4929 ())) ()))) W4932)) V4845 true V4847 V4848 W4851 V4850))))))) false)) false))) false)) false)) false)) false))) false)) false))) false))) false)) false)) false)) false)) false)) false) (if (= W4913 false) (let W4933 (if (shen.unlocked? V4848) (let W4934 (shen.lazyderef V4844 V4847) (if (cons? W4934) (let W4935 (hd W4934) (let W4936 (tl W4934) (let W4937 (shen.lazyderef V4845 V4847) (let W4938 (lambda Z4939 (lambda Z4940 (do (shen.incinfs) (bind Z4939 W4935 V4847 V4848 W4851 (freeze (shen.l-rules W4936 Z4940 V4846 V4847 V4848 W4851 V4850)))))) (if (cons? W4937) (let W4941 (hd W4937) (let W4942 (tl W4937) ((W4938 W4941) W4942))) (if (shen.pvar? W4937) (let W4943 (shen.newpv V4847) (shen.gc V4847 (let W4944 (shen.newpv V4847) (shen.gc V4847 (shen.bind! W4937 (cons W4943 W4944) V4847 (freeze ((W4938 W4943) W4944))))))) false)))))) false)) false) (if (= W4933 false) (shen.unlock V4848 W4851) W4933)) W4913)) W4897)) W4875)) W4855)) W4852)))) +(defun shen.l-rules (V4858 V4859 V4860 V4861 V4862 V4863 V4864) (let W4865 (+ V4863 1) (let W4866 (if (shen.unlocked? V4862) (let W4867 (shen.lazyderef V4858 V4861) (if (= W4867 ()) (let W4868 (shen.lazyderef V4860 V4861) (if (= W4868 true) (do (shen.incinfs) (shen.cut V4861 V4862 W4865 (freeze (bind V4859 () V4861 V4862 W4865 V4864)))) false)) false)) false) (if (= W4866 false) (let W4869 (if (shen.unlocked? V4862) (let W4870 (shen.lazyderef V4858 V4861) (if (cons? W4870) (let W4871 (shen.lazyderef (hd W4870) V4861) (if (cons? W4871) (let W4872 (shen.lazyderef (hd W4871) V4861) (if (cons? W4872) (let W4873 (shen.lazyderef (hd W4872) V4861) (if (= W4873 cons) (let W4874 (shen.lazyderef (tl W4872) V4861) (if (cons? W4874) (let W4875 (hd W4874) (let W4876 (shen.lazyderef (tl W4874) V4861) (if (cons? W4876) (let W4877 (hd W4876) (let W4878 (shen.lazyderef (tl W4876) V4861) (if (= W4878 ()) (let W4879 (shen.lazyderef (tl W4871) V4861) (if (cons? W4879) (let W4880 (hd W4879) (let W4881 (shen.lazyderef (tl W4879) V4861) (if (cons? W4881) (let W4882 (shen.lazyderef (hd W4881) V4861) (if (cons? W4882) (let W4883 (shen.lazyderef (hd W4882) V4861) (if (= W4883 list) (let W4884 (shen.lazyderef (tl W4882) V4861) (if (cons? W4884) (let W4885 (hd W4884) (let W4886 (shen.lazyderef (tl W4884) V4861) (if (= W4886 ()) (let W4887 (shen.lazyderef (tl W4881) V4861) (if (= W4887 ()) (let W4888 (tl W4870) (do (shen.incinfs) (when (= (shen.deref W4880 V4861) (intern ":")) V4861 V4862 W4865 (freeze (shen.cut V4861 V4862 W4865 (freeze (shen.l-rules (cons (cons W4875 (cons W4880 (cons W4885 ()))) (cons (cons W4877 (cons W4880 (cons (cons list (cons W4885 ())) ()))) W4888)) V4859 true V4861 V4862 W4865 V4864))))))) false)) false))) false)) false)) false)) false))) false)) false))) false))) false)) false)) false)) false)) false)) false) (if (= W4869 false) (let W4889 (if (shen.unlocked? V4862) (let W4890 (shen.lazyderef V4858 V4861) (if (cons? W4890) (let W4891 (shen.lazyderef (hd W4890) V4861) (if (cons? W4891) (let W4892 (shen.lazyderef (hd W4891) V4861) (if (cons? W4892) (let W4893 (shen.lazyderef (hd W4892) V4861) (if (= W4893 @p) (let W4894 (shen.lazyderef (tl W4892) V4861) (if (cons? W4894) (let W4895 (hd W4894) (let W4896 (shen.lazyderef (tl W4894) V4861) (if (cons? W4896) (let W4897 (hd W4896) (let W4898 (shen.lazyderef (tl W4896) V4861) (if (= W4898 ()) (let W4899 (shen.lazyderef (tl W4891) V4861) (if (cons? W4899) (let W4900 (hd W4899) (let W4901 (shen.lazyderef (tl W4899) V4861) (if (cons? W4901) (let W4902 (shen.lazyderef (hd W4901) V4861) (if (cons? W4902) (let W4903 (hd W4902) (let W4904 (shen.lazyderef (tl W4902) V4861) (if (cons? W4904) (let W4905 (shen.lazyderef (hd W4904) V4861) (if (= W4905 *) (let W4906 (shen.lazyderef (tl W4904) V4861) (if (cons? W4906) (let W4907 (hd W4906) (let W4908 (shen.lazyderef (tl W4906) V4861) (if (= W4908 ()) (let W4909 (shen.lazyderef (tl W4901) V4861) (if (= W4909 ()) (let W4910 (tl W4890) (do (shen.incinfs) (when (= (shen.deref W4900 V4861) (intern ":")) V4861 V4862 W4865 (freeze (shen.cut V4861 V4862 W4865 (freeze (shen.l-rules (cons (cons W4895 (cons W4900 (cons W4903 ()))) (cons (cons W4897 (cons W4900 (cons W4907 ()))) W4910)) V4859 true V4861 V4862 W4865 V4864))))))) false)) false))) false)) false)) false))) false)) false))) false)) false))) false))) false)) false)) false)) false)) false)) false) (if (= W4889 false) (let W4911 (if (shen.unlocked? V4862) (let W4912 (shen.lazyderef V4858 V4861) (if (cons? W4912) (let W4913 (shen.lazyderef (hd W4912) V4861) (if (cons? W4913) (let W4914 (shen.lazyderef (hd W4913) V4861) (if (cons? W4914) (let W4915 (shen.lazyderef (hd W4914) V4861) (if (= W4915 @s) (let W4916 (shen.lazyderef (tl W4914) V4861) (if (cons? W4916) (let W4917 (hd W4916) (let W4918 (shen.lazyderef (tl W4916) V4861) (if (cons? W4918) (let W4919 (hd W4918) (let W4920 (shen.lazyderef (tl W4918) V4861) (if (= W4920 ()) (let W4921 (shen.lazyderef (tl W4913) V4861) (if (cons? W4921) (let W4922 (hd W4921) (let W4923 (shen.lazyderef (tl W4921) V4861) (if (cons? W4923) (let W4924 (shen.lazyderef (hd W4923) V4861) (if (= W4924 string) (let W4925 (shen.lazyderef (tl W4923) V4861) (if (= W4925 ()) (let W4926 (tl W4912) (do (shen.incinfs) (when (= (shen.deref W4922 V4861) (intern ":")) V4861 V4862 W4865 (freeze (shen.cut V4861 V4862 W4865 (freeze (shen.l-rules (cons (cons W4917 (cons W4922 (cons string ()))) (cons (cons W4919 (cons W4922 (cons string ()))) W4926)) V4859 true V4861 V4862 W4865 V4864))))))) false)) false)) false))) false)) false))) false))) false)) false)) false)) false)) false)) false) (if (= W4911 false) (let W4927 (if (shen.unlocked? V4862) (let W4928 (shen.lazyderef V4858 V4861) (if (cons? W4928) (let W4929 (shen.lazyderef (hd W4928) V4861) (if (cons? W4929) (let W4930 (shen.lazyderef (hd W4929) V4861) (if (cons? W4930) (let W4931 (shen.lazyderef (hd W4930) V4861) (if (= W4931 @v) (let W4932 (shen.lazyderef (tl W4930) V4861) (if (cons? W4932) (let W4933 (hd W4932) (let W4934 (shen.lazyderef (tl W4932) V4861) (if (cons? W4934) (let W4935 (hd W4934) (let W4936 (shen.lazyderef (tl W4934) V4861) (if (= W4936 ()) (let W4937 (shen.lazyderef (tl W4929) V4861) (if (cons? W4937) (let W4938 (hd W4937) (let W4939 (shen.lazyderef (tl W4937) V4861) (if (cons? W4939) (let W4940 (shen.lazyderef (hd W4939) V4861) (if (cons? W4940) (let W4941 (shen.lazyderef (hd W4940) V4861) (if (= W4941 vector) (let W4942 (shen.lazyderef (tl W4940) V4861) (if (cons? W4942) (let W4943 (hd W4942) (let W4944 (shen.lazyderef (tl W4942) V4861) (if (= W4944 ()) (let W4945 (shen.lazyderef (tl W4939) V4861) (if (= W4945 ()) (let W4946 (tl W4928) (do (shen.incinfs) (when (= (shen.deref W4938 V4861) (intern ":")) V4861 V4862 W4865 (freeze (shen.cut V4861 V4862 W4865 (freeze (shen.l-rules (cons (cons W4933 (cons W4938 (cons W4943 ()))) (cons (cons W4935 (cons W4938 (cons (cons vector (cons W4943 ())) ()))) W4946)) V4859 true V4861 V4862 W4865 V4864))))))) false)) false))) false)) false)) false)) false))) false)) false))) false))) false)) false)) false)) false)) false)) false) (if (= W4927 false) (let W4947 (if (shen.unlocked? V4862) (let W4948 (shen.lazyderef V4858 V4861) (if (cons? W4948) (let W4949 (hd W4948) (let W4950 (tl W4948) (let W4951 (shen.lazyderef V4859 V4861) (let W4952 (lambda Z4953 (lambda Z4954 (do (shen.incinfs) (bind Z4953 W4949 V4861 V4862 W4865 (freeze (shen.l-rules W4950 Z4954 V4860 V4861 V4862 W4865 V4864)))))) (if (cons? W4951) (let W4955 (hd W4951) (let W4956 (tl W4951) ((W4952 W4955) W4956))) (if (shen.pvar? W4951) (let W4957 (shen.newpv V4861) (shen.gc V4861 (let W4958 (shen.newpv V4861) (shen.gc V4861 (shen.bind! W4951 (cons W4957 W4958) V4861 (freeze ((W4952 W4957) W4958))))))) false)))))) false)) false) (if (= W4947 false) (shen.unlock V4862 W4865) W4947)) W4927)) W4911)) W4889)) W4869)) W4866)))) -(defun shen.t* (V4945 V4946 V4947 V4948 V4949 V4950) (let W4951 (+ V4949 1) (let W4952 (if (shen.unlocked? V4948) (let W4953 (shen.lazyderef V4945 V4947) (if (cons? W4953) (let W4954 (shen.lazyderef (hd W4953) V4947) (if (= W4954 define) (let W4955 (shen.lazyderef (tl W4953) V4947) (if (cons? W4955) (let W4956 (hd W4955) (let W4957 (tl W4955) (let W4958 (shen.newpv V4947) (shen.gc V4947 (let W4959 (shen.newpv V4947) (shen.gc V4947 (let W4960 (shen.newpv V4947) (shen.gc V4947 (let W4961 (shen.newpv V4947) (shen.gc V4947 (do (shen.incinfs) (shen.cut V4947 V4948 W4951 (freeze (bind W4958 (shen.sigxrules (cons W4956 W4957)) V4947 V4948 W4951 (freeze (bind W4961 (fst (shen.lazyderef W4958 V4947)) V4947 V4948 W4951 (freeze (bind W4959 (snd (shen.lazyderef W4958 V4947)) V4947 V4948 W4951 (freeze (bind W4960 (shen.freshen-sig (shen.deref W4961 V4947)) V4947 V4948 W4951 (freeze (shen.t*-rules W4956 W4959 W4960 1 V4947 V4948 W4951 (freeze (is W4961 V4946 V4947 V4948 W4951 V4950)))))))))))))))))))))))) false)) false)) false)) false) (if (= W4952 false) (shen.unlock V4948 W4951) W4952)))) +(defun shen.t* (V4959 V4960 V4961 V4962 V4963 V4964) (let W4965 (+ V4963 1) (let W4966 (if (shen.unlocked? V4962) (let W4967 (shen.lazyderef V4959 V4961) (if (cons? W4967) (let W4968 (shen.lazyderef (hd W4967) V4961) (if (= W4968 define) (let W4969 (shen.lazyderef (tl W4967) V4961) (if (cons? W4969) (let W4970 (hd W4969) (let W4971 (tl W4969) (let W4972 (shen.newpv V4961) (shen.gc V4961 (let W4973 (shen.newpv V4961) (shen.gc V4961 (let W4974 (shen.newpv V4961) (shen.gc V4961 (let W4975 (shen.newpv V4961) (shen.gc V4961 (do (shen.incinfs) (shen.cut V4961 V4962 W4965 (freeze (bind W4972 (shen.sigxrules (cons W4970 W4971)) V4961 V4962 W4965 (freeze (bind W4975 (fst (shen.lazyderef W4972 V4961)) V4961 V4962 W4965 (freeze (bind W4973 (snd (shen.lazyderef W4972 V4961)) V4961 V4962 W4965 (freeze (bind W4974 (shen.freshen-sig (shen.deref W4975 V4961)) V4961 V4962 W4965 (freeze (shen.t*-rules W4970 W4973 W4974 1 V4961 V4962 W4965 (freeze (is W4975 V4960 V4961 V4962 W4965 V4964)))))))))))))))))))))))) false)) false)) false)) false) (if (= W4966 false) (shen.unlock V4962 W4965) W4966)))) -(defun shen.sigxrules (V4962) (compile (lambda Z4963 (shen. Z4963)) V4962)) +(defun shen.sigxrules (V4976) (compile (lambda Z4977 (shen. Z4977)) V4976)) -(defun shen. (V4964) (let W4965 (if (cons? V4964) (let W4966 (tail V4964) (if (shen.hds=? W4966 {) (let W4967 (tail W4966) (let W4968 (shen. W4967) (if (shen.parse-failure? W4968) (shen.parse-failure) (let W4969 (shen.<-out W4968) (let W4970 (shen.in-> W4968) (if (shen.hds=? W4970 }) (let W4971 (tail W4970) (let W4972 (shen. W4971) (if (shen.parse-failure? W4972) (shen.parse-failure) (let W4973 (shen.<-out W4972) (let W4974 (shen.in-> W4972) (shen.comb W4974 (let W4975 (shen.rectify-type W4969) (@p W4975 W4973)))))))) (shen.parse-failure))))))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W4965) (shen.parse-failure) W4965))) +(defun shen. (V4978) (let W4979 (if (cons? V4978) (let W4980 (tail V4978) (if (shen.hds=? W4980 {) (let W4981 (tail W4980) (let W4982 (shen. W4981) (if (shen.parse-failure? W4982) (shen.parse-failure) (let W4983 (shen.<-out W4982) (let W4984 (shen.in-> W4982) (if (shen.hds=? W4984 }) (let W4985 (tail W4984) (let W4986 (shen. W4985) (if (shen.parse-failure? W4986) (shen.parse-failure) (let W4987 (shen.<-out W4986) (let W4988 (shen.in-> W4986) (shen.comb W4988 (let W4989 (shen.rectify-type W4983) (@p W4989 W4987)))))))) (shen.parse-failure))))))) (shen.parse-failure))) (shen.parse-failure)) (if (shen.parse-failure? W4979) (shen.parse-failure) W4979))) -(defun shen.freshen-sig (V4976) (let W4977 (shen.extract-vars V4976) (let W4978 (map (lambda Z4979 (cons Z4979 (shen.freshterm (concat & Z4979)))) W4977) (shen.freshen-type W4978 V4976)))) +(defun shen.freshen-sig (V4990) (let W4991 (shen.extract-vars V4990) (let W4992 (map (lambda Z4993 (cons Z4993 (shen.freshterm (concat & Z4993)))) W4991) (shen.freshen-type W4992 V4990)))) -(defun shen.freshen-type (V4980 V4981) (cond ((= () V4980) V4981) ((and (cons? V4980) (cons? (hd V4980))) (shen.freshen-type (tl V4980) (subst (tl (hd V4980)) (hd (hd V4980)) V4981))) (true (simple-error "partial function shen.freshen-type")))) +(defun shen.freshen-type (V4994 V4995) (cond ((= () V4994) V4995) ((and (cons? V4994) (cons? (hd V4994))) (shen.freshen-type (tl V4994) (subst (tl (hd V4994)) (hd (hd V4994)) V4995))) (true (simple-error "partial function shen.freshen-type")))) -(defun shen. (V4982) (let W4983 (let W4984 (shen. V4982) (if (shen.parse-failure? W4984) (shen.parse-failure) (let W4985 (shen.<-out W4984) (let W4986 (shen.in-> W4984) (let W4987 (shen. W4986) (if (shen.parse-failure? W4987) (shen.parse-failure) (let W4988 (shen.<-out W4987) (let W4989 (shen.in-> W4987) (shen.comb W4989 (cons W4985 W4988)))))))))) (if (shen.parse-failure? W4983) (let W4990 (let W4991 (shen. V4982) (if (shen.parse-failure? W4991) (shen.parse-failure) (let W4992 (shen.<-out W4991) (let W4993 (shen.in-> W4991) (shen.comb W4993 (cons W4992 ())))))) (if (shen.parse-failure? W4990) (shen.parse-failure) W4990)) W4983))) +(defun shen. (V4996) (let W4997 (let W4998 (shen. V4996) (if (shen.parse-failure? W4998) (shen.parse-failure) (let W4999 (shen.<-out W4998) (let W5000 (shen.in-> W4998) (let W5001 (shen. W5000) (if (shen.parse-failure? W5001) (shen.parse-failure) (let W5002 (shen.<-out W5001) (let W5003 (shen.in-> W5001) (shen.comb W5003 (cons W4999 W5002)))))))))) (if (shen.parse-failure? W4997) (let W5004 (let W5005 (shen. V4996) (if (shen.parse-failure? W5005) (shen.parse-failure) (let W5006 (shen.<-out W5005) (let W5007 (shen.in-> W5005) (shen.comb W5007 (cons W5006 ())))))) (if (shen.parse-failure? W5004) (shen.parse-failure) W5004)) W4997))) -(defun shen. (V4994) (let W4995 (let W4996 (shen. V4994) (if (shen.parse-failure? W4996) (shen.parse-failure) (let W4997 (shen.<-out W4996) (let W4998 (shen.in-> W4996) (if (shen.hds=? W4998 ->) (let W4999 (tail W4998) (if (cons? W4999) (let W5000 (head W4999) (let W5001 (tail W4999) (if (shen.hds=? W5001 where) (let W5002 (tail W5001) (if (cons? W5002) (let W5003 (head W5002) (let W5004 (tail W5002) (shen.comb W5004 (@p W4997 (cons where (cons W5003 (cons W5000 ()))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W4995) (let W5005 (let W5006 (shen. V4994) (if (shen.parse-failure? W5006) (shen.parse-failure) (let W5007 (shen.<-out W5006) (let W5008 (shen.in-> W5006) (if (shen.hds=? W5008 <-) (let W5009 (tail W5008) (if (cons? W5009) (let W5010 (head W5009) (let W5011 (tail W5009) (if (shen.hds=? W5011 where) (let W5012 (tail W5011) (if (cons? W5012) (let W5013 (head W5012) (let W5014 (tail W5012) (shen.comb W5014 (@p W5007 (shen.correct (cons where (cons W5013 (cons W5010 ())))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W5005) (let W5015 (let W5016 (shen. V4994) (if (shen.parse-failure? W5016) (shen.parse-failure) (let W5017 (shen.<-out W5016) (let W5018 (shen.in-> W5016) (if (shen.hds=? W5018 <-) (let W5019 (tail W5018) (if (cons? W5019) (let W5020 (head W5019) (let W5021 (tail W5019) (shen.comb W5021 (@p W5017 (shen.correct W5020))))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W5015) (let W5022 (let W5023 (shen. V4994) (if (shen.parse-failure? W5023) (shen.parse-failure) (let W5024 (shen.<-out W5023) (let W5025 (shen.in-> W5023) (if (shen.hds=? W5025 ->) (let W5026 (tail W5025) (if (cons? W5026) (let W5027 (head W5026) (let W5028 (tail W5026) (shen.comb W5028 (@p W5024 W5027)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W5022) (shen.parse-failure) W5022)) W5015)) W5005)) W4995))) +(defun shen. (V5008) (let W5009 (let W5010 (shen. V5008) (if (shen.parse-failure? W5010) (shen.parse-failure) (let W5011 (shen.<-out W5010) (let W5012 (shen.in-> W5010) (if (shen.hds=? W5012 ->) (let W5013 (tail W5012) (if (cons? W5013) (let W5014 (head W5013) (let W5015 (tail W5013) (if (shen.hds=? W5015 where) (let W5016 (tail W5015) (if (cons? W5016) (let W5017 (head W5016) (let W5018 (tail W5016) (shen.comb W5018 (@p W5011 (cons where (cons W5017 (cons W5014 ()))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W5009) (let W5019 (let W5020 (shen. V5008) (if (shen.parse-failure? W5020) (shen.parse-failure) (let W5021 (shen.<-out W5020) (let W5022 (shen.in-> W5020) (if (shen.hds=? W5022 <-) (let W5023 (tail W5022) (if (cons? W5023) (let W5024 (head W5023) (let W5025 (tail W5023) (if (shen.hds=? W5025 where) (let W5026 (tail W5025) (if (cons? W5026) (let W5027 (head W5026) (let W5028 (tail W5026) (shen.comb W5028 (@p W5021 (shen.correct (cons where (cons W5027 (cons W5024 ())))))))) (shen.parse-failure))) (shen.parse-failure)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W5019) (let W5029 (let W5030 (shen. V5008) (if (shen.parse-failure? W5030) (shen.parse-failure) (let W5031 (shen.<-out W5030) (let W5032 (shen.in-> W5030) (if (shen.hds=? W5032 <-) (let W5033 (tail W5032) (if (cons? W5033) (let W5034 (head W5033) (let W5035 (tail W5033) (shen.comb W5035 (@p W5031 (shen.correct W5034))))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W5029) (let W5036 (let W5037 (shen. V5008) (if (shen.parse-failure? W5037) (shen.parse-failure) (let W5038 (shen.<-out W5037) (let W5039 (shen.in-> W5037) (if (shen.hds=? W5039 ->) (let W5040 (tail W5039) (if (cons? W5040) (let W5041 (head W5040) (let W5042 (tail W5040) (shen.comb W5042 (@p W5038 W5041)))) (shen.parse-failure))) (shen.parse-failure)))))) (if (shen.parse-failure? W5036) (shen.parse-failure) W5036)) W5029)) W5019)) W5009))) -(defun shen.correct (V5029) (cond ((and (cons? V5029) (and (= where (hd V5029)) (and (cons? (tl V5029)) (and (cons? (tl (tl V5029))) (and (cons? (hd (tl (tl V5029)))) (and (= fail-if (hd (hd (tl (tl V5029))))) (and (cons? (tl (hd (tl (tl V5029))))) (and (cons? (tl (tl (hd (tl (tl V5029)))))) (and (= () (tl (tl (tl (hd (tl (tl V5029))))))) (= () (tl (tl (tl V5029))))))))))))) (cons where (cons (cons and (cons (hd (tl V5029)) (cons (cons not (cons (tl (hd (tl (tl V5029)))) ())) ()))) (tl (tl (hd (tl (tl V5029)))))))) ((and (cons? V5029) (and (= where (hd V5029)) (and (cons? (tl V5029)) (and (cons? (tl (tl V5029))) (= () (tl (tl (tl V5029)))))))) (cons where (cons (cons and (cons (hd (tl V5029)) (cons (cons not (cons (cons == (cons (hd (tl (tl V5029))) (cons (cons fail ()) ()))) ())) ()))) (tl (tl V5029))))) ((and (cons? V5029) (and (= fail-if (hd V5029)) (and (cons? (tl V5029)) (and (cons? (tl (tl V5029))) (= () (tl (tl (tl V5029)))))))) (cons where (cons (cons not (cons (tl V5029) ())) (tl (tl V5029))))) (true (cons where (cons (cons not (cons (cons == (cons V5029 (cons (cons fail ()) ()))) ())) (cons V5029 ())))))) +(defun shen.correct (V5043) (cond ((and (cons? V5043) (and (= where (hd V5043)) (and (cons? (tl V5043)) (and (cons? (tl (tl V5043))) (and (cons? (hd (tl (tl V5043)))) (and (= fail-if (hd (hd (tl (tl V5043))))) (and (cons? (tl (hd (tl (tl V5043))))) (and (cons? (tl (tl (hd (tl (tl V5043)))))) (and (= () (tl (tl (tl (hd (tl (tl V5043))))))) (= () (tl (tl (tl V5043))))))))))))) (cons where (cons (cons and (cons (hd (tl V5043)) (cons (cons not (cons (tl (hd (tl (tl V5043)))) ())) ()))) (tl (tl (hd (tl (tl V5043)))))))) ((and (cons? V5043) (and (= where (hd V5043)) (and (cons? (tl V5043)) (and (cons? (tl (tl V5043))) (= () (tl (tl (tl V5043)))))))) (cons where (cons (cons and (cons (hd (tl V5043)) (cons (cons not (cons (cons == (cons (hd (tl (tl V5043))) (cons (cons fail ()) ()))) ())) ()))) (tl (tl V5043))))) ((and (cons? V5043) (and (= fail-if (hd V5043)) (and (cons? (tl V5043)) (and (cons? (tl (tl V5043))) (= () (tl (tl (tl V5043)))))))) (cons where (cons (cons not (cons (tl V5043) ())) (tl (tl V5043))))) (true (cons where (cons (cons not (cons (cons == (cons V5043 (cons (cons fail ()) ()))) ())) (cons V5043 ())))))) -(defun shen.t*-rules (V5030 V5031 V5032 V5033 V5034 V5035 V5036 V5037) (let W5038 (+ V5036 1) (let W5039 (if (shen.unlocked? V5035) (let W5040 (shen.lazyderef V5031 V5034) (if (= W5040 ()) (do (shen.incinfs) (thaw V5037)) false)) false) (if (= W5039 false) (let W5041 (if (shen.unlocked? V5035) (let W5042 (shen.lazyderef V5031 V5034) (if (cons? W5042) (let W5043 (hd W5042) (let W5044 (tl W5042) (let W5045 (shen.newpv V5034) (shen.gc V5034 (do (shen.incinfs) (bind W5045 (shen.freshen-rule (shen.deref W5043 V5034)) V5034 V5035 W5038 (freeze (shen.t*-rule V5030 V5033 (fst (shen.lazyderef W5045 V5034)) (snd (shen.lazyderef W5045 V5034)) V5032 V5034 V5035 W5038 (freeze (shen.cut V5034 V5035 W5038 (freeze (shen.t*-rules V5030 W5044 V5032 (+ V5033 1) V5034 V5035 W5038 V5037)))))))))))) false)) false) (if (= W5041 false) (shen.unlock V5035 W5038) W5041)) W5039)))) +(defun shen.t*-rules (V5044 V5045 V5046 V5047 V5048 V5049 V5050 V5051) (let W5052 (+ V5050 1) (let W5053 (if (shen.unlocked? V5049) (let W5054 (shen.lazyderef V5045 V5048) (if (= W5054 ()) (do (shen.incinfs) (thaw V5051)) false)) false) (if (= W5053 false) (let W5055 (if (shen.unlocked? V5049) (let W5056 (shen.lazyderef V5045 V5048) (if (cons? W5056) (let W5057 (hd W5056) (let W5058 (tl W5056) (let W5059 (shen.newpv V5048) (shen.gc V5048 (do (shen.incinfs) (bind W5059 (shen.freshen-rule (shen.deref W5057 V5048)) V5048 V5049 W5052 (freeze (shen.t*-rule V5044 V5047 (fst (shen.lazyderef W5059 V5048)) (snd (shen.lazyderef W5059 V5048)) V5046 V5048 V5049 W5052 (freeze (shen.cut V5048 V5049 W5052 (freeze (shen.t*-rules V5044 W5058 V5046 (+ V5047 1) V5048 V5049 W5052 V5051)))))))))))) false)) false) (if (= W5055 false) (shen.unlock V5049 W5052) W5055)) W5053)))) -(defun shen.freshen-rule (V5046) (cond ((tuple? V5046) (let W5047 (shen.extract-vars (fst V5046)) (let W5048 (map (lambda Z5049 (cons Z5049 (shen.freshterm Z5049))) W5047) (@p (shen.freshen W5048 (fst V5046)) (shen.freshen W5048 (snd V5046)))))) (true (simple-error "partial function shen.freshen-rule")))) +(defun shen.freshen-rule (V5060) (cond ((tuple? V5060) (let W5061 (shen.extract-vars (fst V5060)) (let W5062 (map (lambda Z5063 (cons Z5063 (shen.freshterm Z5063))) W5061) (@p (shen.freshen W5062 (fst V5060)) (shen.freshen W5062 (snd V5060)))))) (true (simple-error "partial function shen.freshen-rule")))) -(defun shen.freshen (V5050 V5051) (cond ((= () V5050) V5051) ((and (cons? V5050) (cons? (hd V5050))) (shen.freshen (tl V5050) (shen.beta (hd (hd V5050)) (tl (hd V5050)) V5051))) (true (simple-error "partial function shen.freshen")))) +(defun shen.freshen (V5064 V5065) (cond ((= () V5064) V5065) ((and (cons? V5064) (cons? (hd V5064))) (shen.freshen (tl V5064) (shen.beta (hd (hd V5064)) (tl (hd V5064)) V5065))) (true (simple-error "partial function shen.freshen")))) -(defun shen.t*-rule (V5052 V5053 V5054 V5055 V5056 V5057 V5058 V5059 V5060) (let W5061 (if (shen.unlocked? V5058) (do (shen.incinfs) (shen.t*-rule-h V5054 V5055 V5056 V5057 V5058 V5059 V5060)) false) (if (= W5061 false) (if (shen.unlocked? V5058) (let W5062 (shen.newpv V5057) (shen.gc V5057 (do (shen.incinfs) (bind W5062 (simple-error (cn "type error in rule " (shen.app V5053 (cn " of " (shen.app V5052 " -" shen.a)) shen.a))) V5057 V5058 V5059 V5060)))) false) W5061))) +(defun shen.t*-rule (V5066 V5067 V5068 V5069 V5070 V5071 V5072 V5073 V5074) (let W5075 (if (shen.unlocked? V5072) (do (shen.incinfs) (shen.t*-rule-h V5068 V5069 V5070 V5071 V5072 V5073 V5074)) false) (if (= W5075 false) (if (shen.unlocked? V5072) (let W5076 (shen.newpv V5071) (shen.gc V5071 (do (shen.incinfs) (bind W5076 (simple-error (cn "type error in rule " (shen.app V5067 (cn " of " (shen.app V5066 " +" shen.a)) shen.a))) V5071 V5072 V5073 V5074)))) false) W5075))) -(defun shen.t*-rule-h (V5063 V5064 V5065 V5066 V5067 V5068 V5069) (let W5070 (+ V5068 1) (let W5071 (if (shen.unlocked? V5067) (let W5072 (shen.lazyderef V5063 V5066) (if (= W5072 ()) (let W5073 (shen.lazyderef V5065 V5066) (if (cons? W5073) (let W5074 (shen.lazyderef (hd W5073) V5066) (if (= W5074 -->) (let W5075 (shen.lazyderef (tl W5073) V5066) (if (cons? W5075) (let W5076 (hd W5075) (let W5077 (shen.lazyderef (tl W5075) V5066) (if (= W5077 ()) (do (shen.incinfs) (shen.cut V5066 V5067 W5070 (freeze (shen.t*-correct V5064 W5076 () V5066 V5067 W5070 V5069)))) false))) false)) false)) false)) false)) false) (if (= W5071 false) (let W5078 (if (shen.unlocked? V5067) (let W5079 (shen.newpv V5066) (shen.gc V5066 (let W5080 (shen.newpv V5066) (shen.gc V5066 (let W5081 (shen.newpv V5066) (shen.gc V5066 (do (shen.incinfs) (shen.p-hyps (shen.freshterms V5063) W5079 V5066 V5067 W5070 (freeze (shen.t*-integrity V5063 V5065 W5079 W5080 V5066 V5067 W5070 (freeze (shen.cut V5066 V5067 W5070 (freeze (shen.myassume V5063 V5065 W5081 V5066 V5067 W5070 (freeze (shen.t*-correct V5064 W5080 W5081 V5066 V5067 W5070 V5069)))))))))))))))) false) (if (= W5078 false) (shen.unlock V5067 W5070) W5078)) W5071)))) +(defun shen.t*-rule-h (V5077 V5078 V5079 V5080 V5081 V5082 V5083) (let W5084 (+ V5082 1) (let W5085 (if (shen.unlocked? V5081) (let W5086 (shen.lazyderef V5077 V5080) (if (= W5086 ()) (let W5087 (shen.lazyderef V5079 V5080) (if (cons? W5087) (let W5088 (shen.lazyderef (hd W5087) V5080) (if (= W5088 -->) (let W5089 (shen.lazyderef (tl W5087) V5080) (if (cons? W5089) (let W5090 (hd W5089) (let W5091 (shen.lazyderef (tl W5089) V5080) (if (= W5091 ()) (do (shen.incinfs) (shen.cut V5080 V5081 W5084 (freeze (shen.t*-correct V5078 W5090 () V5080 V5081 W5084 V5083)))) false))) false)) false)) false)) false)) false) (if (= W5085 false) (let W5092 (if (shen.unlocked? V5081) (let W5093 (shen.newpv V5080) (shen.gc V5080 (let W5094 (shen.newpv V5080) (shen.gc V5080 (let W5095 (shen.newpv V5080) (shen.gc V5080 (do (shen.incinfs) (shen.p-hyps (shen.freshterms V5077) W5093 V5080 V5081 W5084 (freeze (shen.t*-integrity V5077 V5079 W5093 W5094 V5080 V5081 W5084 (freeze (shen.cut V5080 V5081 W5084 (freeze (shen.myassume V5077 V5079 W5095 V5080 V5081 W5084 (freeze (shen.t*-correct V5078 W5094 W5095 V5080 V5081 W5084 V5083)))))))))))))))) false) (if (= W5092 false) (shen.unlock V5081 W5084) W5092)) W5085)))) -(defun shen.myassume (V5082 V5083 V5084 V5085 V5086 V5087 V5088) (let W5089 (if (shen.unlocked? V5086) (let W5090 (shen.lazyderef V5082 V5085) (if (= W5090 ()) (let W5091 (shen.lazyderef V5084 V5085) (let W5092 (freeze (do (shen.incinfs) (thaw V5088))) (if (= W5091 ()) (thaw W5092) (if (shen.pvar? W5091) (shen.bind! W5091 () V5085 W5092) false)))) false)) false) (if (= W5089 false) (if (shen.unlocked? V5086) (let W5093 (shen.lazyderef V5082 V5085) (if (cons? W5093) (let W5094 (hd W5093) (let W5095 (tl W5093) (let W5096 (shen.lazyderef V5083 V5085) (if (cons? W5096) (let W5097 (hd W5096) (let W5098 (shen.lazyderef (tl W5096) V5085) (if (cons? W5098) (let W5099 (shen.lazyderef (hd W5098) V5085) (if (= W5099 -->) (let W5100 (shen.lazyderef (tl W5098) V5085) (if (cons? W5100) (let W5101 (hd W5100) (let W5102 (shen.lazyderef (tl W5100) V5085) (if (= W5102 ()) (let W5103 (shen.lazyderef V5084 V5085) (let W5104 (lambda Z5105 (lambda Z5106 (lambda Z5107 (lambda Z5108 (do (shen.incinfs) (is! W5097 Z5107 V5085 V5086 V5087 (freeze (is! W5094 Z5105 V5085 V5086 V5087 (freeze (bind Z5106 (intern ":") V5085 V5086 V5087 (freeze (shen.myassume W5095 W5101 Z5108 V5085 V5086 V5087 V5088)))))))))))) (if (cons? W5103) (let W5109 (shen.lazyderef (hd W5103) V5085) (let W5110 (lambda Z5111 (lambda Z5112 (lambda Z5113 (let W5114 (tl W5103) ((((W5104 Z5111) Z5112) Z5113) W5114))))) (if (cons? W5109) (let W5115 (hd W5109) (let W5116 (shen.lazyderef (tl W5109) V5085) (let W5117 (lambda Z5118 (lambda Z5119 (((W5110 W5115) Z5118) Z5119))) (if (cons? W5116) (let W5120 (hd W5116) (let W5121 (shen.lazyderef (tl W5116) V5085) (let W5122 (lambda Z5123 ((W5117 W5120) Z5123)) (if (cons? W5121) (let W5124 (hd W5121) (let W5125 (shen.lazyderef (tl W5121) V5085) (let W5126 (freeze (W5122 W5124)) (if (= W5125 ()) (thaw W5126) (if (shen.pvar? W5125) (shen.bind! W5125 () V5085 W5126) false))))) (if (shen.pvar? W5121) (let W5127 (shen.newpv V5085) (shen.gc V5085 (shen.bind! W5121 (cons W5127 ()) V5085 (freeze (W5122 W5127))))) false))))) (if (shen.pvar? W5116) (let W5128 (shen.newpv V5085) (shen.gc V5085 (let W5129 (shen.newpv V5085) (shen.gc V5085 (shen.bind! W5116 (cons W5128 (cons W5129 ())) V5085 (freeze ((W5117 W5128) W5129))))))) false))))) (if (shen.pvar? W5109) (let W5130 (shen.newpv V5085) (shen.gc V5085 (let W5131 (shen.newpv V5085) (shen.gc V5085 (let W5132 (shen.newpv V5085) (shen.gc V5085 (shen.bind! W5109 (cons W5130 (cons W5131 (cons W5132 ()))) V5085 (freeze (((W5110 W5130) W5131) W5132))))))))) false)))) (if (shen.pvar? W5103) (let W5133 (shen.newpv V5085) (shen.gc V5085 (let W5134 (shen.newpv V5085) (shen.gc V5085 (let W5135 (shen.newpv V5085) (shen.gc V5085 (let W5136 (shen.newpv V5085) (shen.gc V5085 (shen.bind! W5103 (cons (cons W5133 (cons W5134 (cons W5135 ()))) W5136) V5085 (freeze ((((W5104 W5133) W5134) W5135) W5136))))))))))) false)))) false))) false)) false)) false))) false)))) false)) false) W5089))) +(defun shen.myassume (V5096 V5097 V5098 V5099 V5100 V5101 V5102) (let W5103 (if (shen.unlocked? V5100) (let W5104 (shen.lazyderef V5096 V5099) (if (= W5104 ()) (let W5105 (shen.lazyderef V5098 V5099) (let W5106 (freeze (do (shen.incinfs) (thaw V5102))) (if (= W5105 ()) (thaw W5106) (if (shen.pvar? W5105) (shen.bind! W5105 () V5099 W5106) false)))) false)) false) (if (= W5103 false) (if (shen.unlocked? V5100) (let W5107 (shen.lazyderef V5096 V5099) (if (cons? W5107) (let W5108 (hd W5107) (let W5109 (tl W5107) (let W5110 (shen.lazyderef V5097 V5099) (if (cons? W5110) (let W5111 (hd W5110) (let W5112 (shen.lazyderef (tl W5110) V5099) (if (cons? W5112) (let W5113 (shen.lazyderef (hd W5112) V5099) (if (= W5113 -->) (let W5114 (shen.lazyderef (tl W5112) V5099) (if (cons? W5114) (let W5115 (hd W5114) (let W5116 (shen.lazyderef (tl W5114) V5099) (if (= W5116 ()) (let W5117 (shen.lazyderef V5098 V5099) (let W5118 (lambda Z5119 (lambda Z5120 (lambda Z5121 (lambda Z5122 (do (shen.incinfs) (is! W5111 Z5121 V5099 V5100 V5101 (freeze (is! W5108 Z5119 V5099 V5100 V5101 (freeze (bind Z5120 (intern ":") V5099 V5100 V5101 (freeze (shen.myassume W5109 W5115 Z5122 V5099 V5100 V5101 V5102)))))))))))) (if (cons? W5117) (let W5123 (shen.lazyderef (hd W5117) V5099) (let W5124 (lambda Z5125 (lambda Z5126 (lambda Z5127 (let W5128 (tl W5117) ((((W5118 Z5125) Z5126) Z5127) W5128))))) (if (cons? W5123) (let W5129 (hd W5123) (let W5130 (shen.lazyderef (tl W5123) V5099) (let W5131 (lambda Z5132 (lambda Z5133 (((W5124 W5129) Z5132) Z5133))) (if (cons? W5130) (let W5134 (hd W5130) (let W5135 (shen.lazyderef (tl W5130) V5099) (let W5136 (lambda Z5137 ((W5131 W5134) Z5137)) (if (cons? W5135) (let W5138 (hd W5135) (let W5139 (shen.lazyderef (tl W5135) V5099) (let W5140 (freeze (W5136 W5138)) (if (= W5139 ()) (thaw W5140) (if (shen.pvar? W5139) (shen.bind! W5139 () V5099 W5140) false))))) (if (shen.pvar? W5135) (let W5141 (shen.newpv V5099) (shen.gc V5099 (shen.bind! W5135 (cons W5141 ()) V5099 (freeze (W5136 W5141))))) false))))) (if (shen.pvar? W5130) (let W5142 (shen.newpv V5099) (shen.gc V5099 (let W5143 (shen.newpv V5099) (shen.gc V5099 (shen.bind! W5130 (cons W5142 (cons W5143 ())) V5099 (freeze ((W5131 W5142) W5143))))))) false))))) (if (shen.pvar? W5123) (let W5144 (shen.newpv V5099) (shen.gc V5099 (let W5145 (shen.newpv V5099) (shen.gc V5099 (let W5146 (shen.newpv V5099) (shen.gc V5099 (shen.bind! W5123 (cons W5144 (cons W5145 (cons W5146 ()))) V5099 (freeze (((W5124 W5144) W5145) W5146))))))))) false)))) (if (shen.pvar? W5117) (let W5147 (shen.newpv V5099) (shen.gc V5099 (let W5148 (shen.newpv V5099) (shen.gc V5099 (let W5149 (shen.newpv V5099) (shen.gc V5099 (let W5150 (shen.newpv V5099) (shen.gc V5099 (shen.bind! W5117 (cons (cons W5147 (cons W5148 (cons W5149 ()))) W5150) V5099 (freeze ((((W5118 W5147) W5148) W5149) W5150))))))))))) false)))) false))) false)) false)) false))) false)))) false)) false) W5103))) -(defun shen.freshterms (V5139) (cond ((= () V5139) ()) ((and (cons? V5139) (cons? (hd V5139))) (shen.freshterms (append (hd V5139) (tl V5139)))) ((and (cons? V5139) (shen.freshterm? (hd V5139))) (adjoin (hd V5139) (shen.freshterms (tl V5139)))) ((cons? V5139) (shen.freshterms (tl V5139))) (true (simple-error "partial function shen.freshterms")))) +(defun shen.freshterms (V5153) (cond ((= () V5153) ()) ((and (cons? V5153) (cons? (hd V5153))) (shen.freshterms (append (hd V5153) (tl V5153)))) ((and (cons? V5153) (shen.freshterm? (hd V5153))) (adjoin (hd V5153) (shen.freshterms (tl V5153)))) ((cons? V5153) (shen.freshterms (tl V5153))) (true (simple-error "partial function shen.freshterms")))) -(defun shen.p-hyps (V5140 V5141 V5142 V5143 V5144 V5145) (let W5146 (if (shen.unlocked? V5143) (let W5147 (shen.lazyderef V5140 V5142) (if (= W5147 ()) (let W5148 (shen.lazyderef V5141 V5142) (let W5149 (freeze (do (shen.incinfs) (thaw V5145))) (if (= W5148 ()) (thaw W5149) (if (shen.pvar? W5148) (shen.bind! W5148 () V5142 W5149) false)))) false)) false) (if (= W5146 false) (if (shen.unlocked? V5143) (let W5150 (shen.lazyderef V5140 V5142) (if (cons? W5150) (let W5151 (hd W5150) (let W5152 (tl W5150) (let W5153 (shen.lazyderef V5141 V5142) (let W5154 (lambda Z5155 (lambda Z5156 (lambda Z5157 (lambda Z5158 (do (shen.incinfs) (bind Z5155 W5151 V5142 V5143 V5144 (freeze (bind Z5156 (intern ":") V5142 V5143 V5144 (freeze (shen.p-hyps W5152 Z5158 V5142 V5143 V5144 V5145)))))))))) (if (cons? W5153) (let W5159 (shen.lazyderef (hd W5153) V5142) (let W5160 (lambda Z5161 (lambda Z5162 (lambda Z5163 (let W5164 (tl W5153) ((((W5154 Z5161) Z5162) Z5163) W5164))))) (if (cons? W5159) (let W5165 (hd W5159) (let W5166 (shen.lazyderef (tl W5159) V5142) (let W5167 (lambda Z5168 (lambda Z5169 (((W5160 W5165) Z5168) Z5169))) (if (cons? W5166) (let W5170 (hd W5166) (let W5171 (shen.lazyderef (tl W5166) V5142) (let W5172 (lambda Z5173 ((W5167 W5170) Z5173)) (if (cons? W5171) (let W5174 (hd W5171) (let W5175 (shen.lazyderef (tl W5171) V5142) (let W5176 (freeze (W5172 W5174)) (if (= W5175 ()) (thaw W5176) (if (shen.pvar? W5175) (shen.bind! W5175 () V5142 W5176) false))))) (if (shen.pvar? W5171) (let W5177 (shen.newpv V5142) (shen.gc V5142 (shen.bind! W5171 (cons W5177 ()) V5142 (freeze (W5172 W5177))))) false))))) (if (shen.pvar? W5166) (let W5178 (shen.newpv V5142) (shen.gc V5142 (let W5179 (shen.newpv V5142) (shen.gc V5142 (shen.bind! W5166 (cons W5178 (cons W5179 ())) V5142 (freeze ((W5167 W5178) W5179))))))) false))))) (if (shen.pvar? W5159) (let W5180 (shen.newpv V5142) (shen.gc V5142 (let W5181 (shen.newpv V5142) (shen.gc V5142 (let W5182 (shen.newpv V5142) (shen.gc V5142 (shen.bind! W5159 (cons W5180 (cons W5181 (cons W5182 ()))) V5142 (freeze (((W5160 W5180) W5181) W5182))))))))) false)))) (if (shen.pvar? W5153) (let W5183 (shen.newpv V5142) (shen.gc V5142 (let W5184 (shen.newpv V5142) (shen.gc V5142 (let W5185 (shen.newpv V5142) (shen.gc V5142 (let W5186 (shen.newpv V5142) (shen.gc V5142 (shen.bind! W5153 (cons (cons W5183 (cons W5184 (cons W5185 ()))) W5186) V5142 (freeze ((((W5154 W5183) W5184) W5185) W5186))))))))))) false)))))) false)) false) W5146))) +(defun shen.p-hyps (V5154 V5155 V5156 V5157 V5158 V5159) (let W5160 (if (shen.unlocked? V5157) (let W5161 (shen.lazyderef V5154 V5156) (if (= W5161 ()) (let W5162 (shen.lazyderef V5155 V5156) (let W5163 (freeze (do (shen.incinfs) (thaw V5159))) (if (= W5162 ()) (thaw W5163) (if (shen.pvar? W5162) (shen.bind! W5162 () V5156 W5163) false)))) false)) false) (if (= W5160 false) (if (shen.unlocked? V5157) (let W5164 (shen.lazyderef V5154 V5156) (if (cons? W5164) (let W5165 (hd W5164) (let W5166 (tl W5164) (let W5167 (shen.lazyderef V5155 V5156) (let W5168 (lambda Z5169 (lambda Z5170 (lambda Z5171 (lambda Z5172 (do (shen.incinfs) (bind Z5169 W5165 V5156 V5157 V5158 (freeze (bind Z5170 (intern ":") V5156 V5157 V5158 (freeze (shen.p-hyps W5166 Z5172 V5156 V5157 V5158 V5159)))))))))) (if (cons? W5167) (let W5173 (shen.lazyderef (hd W5167) V5156) (let W5174 (lambda Z5175 (lambda Z5176 (lambda Z5177 (let W5178 (tl W5167) ((((W5168 Z5175) Z5176) Z5177) W5178))))) (if (cons? W5173) (let W5179 (hd W5173) (let W5180 (shen.lazyderef (tl W5173) V5156) (let W5181 (lambda Z5182 (lambda Z5183 (((W5174 W5179) Z5182) Z5183))) (if (cons? W5180) (let W5184 (hd W5180) (let W5185 (shen.lazyderef (tl W5180) V5156) (let W5186 (lambda Z5187 ((W5181 W5184) Z5187)) (if (cons? W5185) (let W5188 (hd W5185) (let W5189 (shen.lazyderef (tl W5185) V5156) (let W5190 (freeze (W5186 W5188)) (if (= W5189 ()) (thaw W5190) (if (shen.pvar? W5189) (shen.bind! W5189 () V5156 W5190) false))))) (if (shen.pvar? W5185) (let W5191 (shen.newpv V5156) (shen.gc V5156 (shen.bind! W5185 (cons W5191 ()) V5156 (freeze (W5186 W5191))))) false))))) (if (shen.pvar? W5180) (let W5192 (shen.newpv V5156) (shen.gc V5156 (let W5193 (shen.newpv V5156) (shen.gc V5156 (shen.bind! W5180 (cons W5192 (cons W5193 ())) V5156 (freeze ((W5181 W5192) W5193))))))) false))))) (if (shen.pvar? W5173) (let W5194 (shen.newpv V5156) (shen.gc V5156 (let W5195 (shen.newpv V5156) (shen.gc V5156 (let W5196 (shen.newpv V5156) (shen.gc V5156 (shen.bind! W5173 (cons W5194 (cons W5195 (cons W5196 ()))) V5156 (freeze (((W5174 W5194) W5195) W5196))))))))) false)))) (if (shen.pvar? W5167) (let W5197 (shen.newpv V5156) (shen.gc V5156 (let W5198 (shen.newpv V5156) (shen.gc V5156 (let W5199 (shen.newpv V5156) (shen.gc V5156 (let W5200 (shen.newpv V5156) (shen.gc V5156 (shen.bind! W5167 (cons (cons W5197 (cons W5198 (cons W5199 ()))) W5200) V5156 (freeze ((((W5168 W5197) W5198) W5199) W5200))))))))))) false)))))) false)) false) W5160))) -(defun shen.t*-correct (V5187 V5188 V5189 V5190 V5191 V5192 V5193) (let W5194 (+ V5192 1) (let W5195 (if (shen.unlocked? V5191) (let W5196 (shen.lazyderef V5187 V5190) (if (cons? W5196) (let W5197 (shen.lazyderef (hd W5196) V5190) (if (= W5197 where) (let W5198 (shen.lazyderef (tl W5196) V5190) (if (cons? W5198) (let W5199 (hd W5198) (let W5200 (shen.lazyderef (tl W5198) V5190) (if (cons? W5200) (let W5201 (hd W5200) (let W5202 (shen.lazyderef (tl W5200) V5190) (if (= W5202 ()) (let W5203 (shen.newpv V5190) (shen.gc V5190 (do (shen.incinfs) (shen.cut V5190 V5191 W5194 (freeze (bind W5203 (shen.curry W5199) V5190 V5191 W5194 (freeze (shen.system-S-h W5203 boolean V5189 V5190 V5191 W5194 (freeze (shen.cut V5190 V5191 W5194 (freeze (shen.t*-correct W5201 V5188 (cons (cons W5203 (cons (intern ":") (cons verified ()))) V5189) V5190 V5191 W5194 V5193)))))))))))) false))) false))) false)) false)) false)) false) (if (= W5195 false) (let W5204 (if (shen.unlocked? V5191) (do (shen.incinfs) (shen.system-S-h (shen.curry V5187) V5188 V5189 V5190 V5191 W5194 V5193)) false) (if (= W5204 false) (shen.unlock V5191 W5194) W5204)) W5195)))) +(defun shen.t*-correct (V5201 V5202 V5203 V5204 V5205 V5206 V5207) (let W5208 (+ V5206 1) (let W5209 (if (shen.unlocked? V5205) (let W5210 (shen.lazyderef V5201 V5204) (if (cons? W5210) (let W5211 (shen.lazyderef (hd W5210) V5204) (if (= W5211 where) (let W5212 (shen.lazyderef (tl W5210) V5204) (if (cons? W5212) (let W5213 (hd W5212) (let W5214 (shen.lazyderef (tl W5212) V5204) (if (cons? W5214) (let W5215 (hd W5214) (let W5216 (shen.lazyderef (tl W5214) V5204) (if (= W5216 ()) (let W5217 (shen.newpv V5204) (shen.gc V5204 (do (shen.incinfs) (shen.cut V5204 V5205 W5208 (freeze (bind W5217 (shen.curry W5213) V5204 V5205 W5208 (freeze (shen.system-S-h W5217 boolean V5203 V5204 V5205 W5208 (freeze (shen.cut V5204 V5205 W5208 (freeze (shen.t*-correct W5215 V5202 (cons (cons W5217 (cons (intern ":") (cons verified ()))) V5203) V5204 V5205 W5208 V5207)))))))))))) false))) false))) false)) false)) false)) false) (if (= W5209 false) (let W5218 (if (shen.unlocked? V5205) (do (shen.incinfs) (shen.system-S-h (shen.curry V5201) V5202 V5203 V5204 V5205 W5208 V5207)) false) (if (= W5218 false) (shen.unlock V5205 W5208) W5218)) W5209)))) -(defun shen.t*-integrity (V5205 V5206 V5207 V5208 V5209 V5210 V5211 V5212) (let W5213 (if (shen.unlocked? V5210) (let W5214 (shen.lazyderef V5205 V5209) (if (= W5214 ()) (do (shen.incinfs) (is! V5206 V5208 V5209 V5210 V5211 V5212)) false)) false) (if (= W5213 false) (if (shen.unlocked? V5210) (let W5215 (shen.lazyderef V5205 V5209) (if (cons? W5215) (let W5216 (hd W5215) (let W5217 (tl W5215) (let W5218 (shen.lazyderef V5206 V5209) (if (cons? W5218) (let W5219 (hd W5218) (let W5220 (shen.lazyderef (tl W5218) V5209) (if (cons? W5220) (let W5221 (shen.lazyderef (hd W5220) V5209) (if (= W5221 -->) (let W5222 (shen.lazyderef (tl W5220) V5209) (if (cons? W5222) (let W5223 (hd W5222) (let W5224 (shen.lazyderef (tl W5222) V5209) (if (= W5224 ()) (do (shen.incinfs) (shen.system-S-h W5216 W5219 V5207 V5209 V5210 V5211 (freeze (shen.t*-integrity W5217 W5223 V5207 V5208 V5209 V5210 V5211 V5212)))) false))) false)) false)) false))) false)))) false)) false) W5213))) +(defun shen.t*-integrity (V5219 V5220 V5221 V5222 V5223 V5224 V5225 V5226) (let W5227 (if (shen.unlocked? V5224) (let W5228 (shen.lazyderef V5219 V5223) (if (= W5228 ()) (do (shen.incinfs) (is! V5220 V5222 V5223 V5224 V5225 V5226)) false)) false) (if (= W5227 false) (if (shen.unlocked? V5224) (let W5229 (shen.lazyderef V5219 V5223) (if (cons? W5229) (let W5230 (hd W5229) (let W5231 (tl W5229) (let W5232 (shen.lazyderef V5220 V5223) (if (cons? W5232) (let W5233 (hd W5232) (let W5234 (shen.lazyderef (tl W5232) V5223) (if (cons? W5234) (let W5235 (shen.lazyderef (hd W5234) V5223) (if (= W5235 -->) (let W5236 (shen.lazyderef (tl W5234) V5223) (if (cons? W5236) (let W5237 (hd W5236) (let W5238 (shen.lazyderef (tl W5236) V5223) (if (= W5238 ()) (do (shen.incinfs) (shen.system-S-h W5230 W5233 V5221 V5223 V5224 V5225 (freeze (shen.t*-integrity W5231 W5237 V5221 V5222 V5223 V5224 V5225 V5226)))) false))) false)) false)) false))) false)))) false)) false) W5227))) -(defun shen.freshterm? (V5225) (and (absvector? V5225) (and (not (string? V5225)) (= (<-address V5225 0) shen.print-freshterm)))) +(defun shen.freshterm? (V5239) (and (absvector? V5239) (and (not (string? V5239)) (= (<-address V5239 0) shen.print-freshterm)))) diff --git a/kernel/klambda/toplevel.kl b/kernel/klambda/toplevel.kl index 4730661..ee72195 100644 --- a/kernel/klambda/toplevel.kl +++ b/kernel/klambda/toplevel.kl @@ -1,6 +1,6 @@ (defun shen.shen () (do (shen.credits) (shen.loop))) -(defun shen.loop () (do (shen.initialise_environment) (do (shen.prompt) (do (trap-error (shen.read-evaluate-print) (lambda Z5248 (do (pr (error-to-string Z5248) (stoutput)) (nl 0)))) (shen.loop))))) +(defun shen.loop () (do (shen.initialise_environment) (do (shen.prompt) (do (trap-error (shen.read-evaluate-print) (lambda Z5262 (do (pr (error-to-string Z5262) (stoutput)) (nl 0)))) (shen.loop))))) (defun shen.credits () (do (pr " Shen, www.shenlanguage.org, copyright (C) 2010-2024, Mark Tarver @@ -15,32 +15,32 @@ Shen, www.shenlanguage.org, copyright (C) 2010-2024, Mark Tarver (" (shen.app (length (value shen.*history*)) "+) " shen.a)) (stoutput)) (pr (cn " (" (shen.app (length (value shen.*history*)) "-) " shen.a)) (stoutput)))) -(defun shen.read-evaluate-print () (let W5249 (value shen.*package*) (let W5250 (shen.package-user-input W5249 (lineread (stinput))) (let W5251 (shen.update-history) (shen.evaluate-lineread W5250 W5251 (value shen.*tc*)))))) +(defun shen.read-evaluate-print () (let W5263 (value shen.*package*) (let W5264 (shen.package-user-input W5263 (lineread (stinput))) (let W5265 (shen.update-history) (shen.evaluate-lineread W5264 W5265 (value shen.*tc*)))))) -(defun shen.package-user-input (V5252 V5253) (cond ((= null V5252) V5253) (true (let W5254 (str V5252) (let W5255 (external V5252) (map (lambda Z5256 (shen.pui-h W5254 W5255 Z5256)) V5253)))))) +(defun shen.package-user-input (V5266 V5267) (cond ((= null V5266) V5267) (true (let W5268 (str V5266) (let W5269 (external V5266) (map (lambda Z5270 (shen.pui-h W5268 W5269 Z5270)) V5267)))))) -(defun shen.pui-h (V5261 V5262 V5263) (cond ((and (cons? V5263) (and (= fn (hd V5263)) (and (cons? (tl V5263)) (= () (tl (tl V5263)))))) (if (shen.internal? (hd (tl V5263)) V5261 V5262) (cons fn (cons (shen.intern-in-package V5261 (hd (tl V5263))) ())) V5263)) ((cons? V5263) (if (shen.internal? (hd V5263) V5261 V5262) (cons (shen.intern-in-package V5261 (hd V5263)) (map (lambda Z5264 (shen.pui-h V5261 V5262 Z5264)) (tl V5263))) (if (cons? (hd V5263)) (map (lambda Z5265 (shen.pui-h V5261 V5262 Z5265)) V5263) (cons (hd V5263) (map (lambda Z5266 (shen.pui-h V5261 V5262 Z5266)) (tl V5263)))))) (true V5263))) +(defun shen.pui-h (V5275 V5276 V5277) (cond ((and (cons? V5277) (and (= fn (hd V5277)) (and (cons? (tl V5277)) (= () (tl (tl V5277)))))) (if (shen.internal? (hd (tl V5277)) V5275 V5276) (cons fn (cons (shen.intern-in-package V5275 (hd (tl V5277))) ())) V5277)) ((cons? V5277) (if (shen.internal? (hd V5277) V5275 V5276) (cons (shen.intern-in-package V5275 (hd V5277)) (map (lambda Z5278 (shen.pui-h V5275 V5276 Z5278)) (tl V5277))) (if (cons? (hd V5277)) (map (lambda Z5279 (shen.pui-h V5275 V5276 Z5279)) V5277) (cons (hd V5277) (map (lambda Z5280 (shen.pui-h V5275 V5276 Z5280)) (tl V5277)))))) (true V5277))) (defun shen.update-history () (set shen.*history* (cons (shen.trim-it (it)) (value shen.*history*)))) -(defun shen.trim-it (V5267) (cond ((and (shen.+string? V5267) (shen.whitespace? (string->n (hdstr V5267)))) (shen.trim-it (tlstr V5267))) (true V5267))) +(defun shen.trim-it (V5281) (cond ((and (shen.+string? V5281) (shen.whitespace? (string->n (hdstr V5281)))) (shen.trim-it (tlstr V5281))) (true V5281))) -(defun shen.evaluate-lineread (V5286 V5287 V5288) (cond ((and (cons? V5286) (and (= () (tl V5286)) (and (cons? V5287) (and (shen.+string? (hd V5287)) (and (= "!" (hdstr (hd V5287))) (and (shen.+string? (tlstr (hd V5287))) (and (= "!" (hdstr (tlstr (hd V5287)))) (cons? (tl V5287))))))))) (let W5289 (read-from-string (hd (tl V5287))) (let W5290 (set shen.*history* (cons (hd (tl V5287)) (tl V5287))) (let W5291 (pr (shen.app (hd (tl V5287)) " -" shen.a) (stoutput)) (shen.evaluate-lineread W5289 W5290 V5288))))) ((and (cons? V5286) (and (= () (tl V5286)) (and (cons? V5287) (and (shen.+string? (hd V5287)) (= "!" (hdstr (hd V5287))))))) (let W5292 (if (= (tlstr (hd V5287)) "") () (hd (read-from-string (tlstr (hd V5287))))) (let W5293 (shen.use-history W5292 (tlstr (hd V5287)) (tl V5287)) (let W5294 (pr (shen.app W5293 " -" shen.a) (stoutput)) (let W5295 (read-from-string W5293) (let W5296 (set shen.*history* (cons W5293 (tl V5287))) (shen.evaluate-lineread W5295 W5296 V5288))))))) ((and (cons? V5286) (and (= () (tl V5286)) (and (cons? V5287) (and (shen.+string? (hd V5287)) (= "%" (hdstr (hd V5287))))))) (let W5297 (if (= (tlstr (hd V5287)) "") () (hd (read-from-string (tlstr (hd V5287))))) (let W5298 (shen.peek-history W5297 (tlstr (hd V5287)) (tl V5287)) (let W5299 (set shen.*history* (tl V5287)) (abort))))) ((= true V5288) (shen.check-eval-and-print V5286)) ((= false V5288) (shen.eval-and-print V5286)) (true (simple-error "implementation error in shen.evaluate-lineread")))) +(defun shen.evaluate-lineread (V5300 V5301 V5302) (cond ((and (cons? V5300) (and (= () (tl V5300)) (and (cons? V5301) (and (shen.+string? (hd V5301)) (and (= "!" (hdstr (hd V5301))) (and (shen.+string? (tlstr (hd V5301))) (and (= "!" (hdstr (tlstr (hd V5301)))) (cons? (tl V5301))))))))) (let W5303 (read-from-string (hd (tl V5301))) (let W5304 (set shen.*history* (cons (hd (tl V5301)) (tl V5301))) (let W5305 (pr (shen.app (hd (tl V5301)) " +" shen.a) (stoutput)) (shen.evaluate-lineread W5303 W5304 V5302))))) ((and (cons? V5300) (and (= () (tl V5300)) (and (cons? V5301) (and (shen.+string? (hd V5301)) (= "!" (hdstr (hd V5301))))))) (let W5306 (if (= (tlstr (hd V5301)) "") () (hd (read-from-string (tlstr (hd V5301))))) (let W5307 (shen.use-history W5306 (tlstr (hd V5301)) (tl V5301)) (let W5308 (pr (shen.app W5307 " +" shen.a) (stoutput)) (let W5309 (read-from-string W5307) (let W5310 (set shen.*history* (cons W5307 (tl V5301))) (shen.evaluate-lineread W5309 W5310 V5302))))))) ((and (cons? V5300) (and (= () (tl V5300)) (and (cons? V5301) (and (shen.+string? (hd V5301)) (= "%" (hdstr (hd V5301))))))) (let W5311 (if (= (tlstr (hd V5301)) "") () (hd (read-from-string (tlstr (hd V5301))))) (let W5312 (shen.peek-history W5311 (tlstr (hd V5301)) (tl V5301)) (let W5313 (set shen.*history* (tl V5301)) (abort))))) ((= true V5302) (shen.check-eval-and-print V5300)) ((= false V5302) (shen.eval-and-print V5300)) (true (simple-error "implementation error in shen.evaluate-lineread")))) -(defun shen.use-history (V5300 V5301 V5302) (if (integer? V5300) (nth (+ 1 V5300) (reverse V5302)) (if (symbol? V5300) (shen.string-match V5301 V5302) (simple-error "! expects a number or a symbol +(defun shen.use-history (V5314 V5315 V5316) (if (integer? V5314) (nth (+ 1 V5314) (reverse V5316)) (if (symbol? V5314) (shen.string-match V5315 V5316) (simple-error "! expects a number or a symbol ")))) -(defun shen.peek-history (V5303 V5304 V5305) (if (integer? V5303) (pr (cn " -" (shen.app (nth (+ 1 V5303) (reverse V5305)) "" shen.a)) (stoutput)) (if (or (= V5304 "") (symbol? V5303)) (shen.recursive-string-match 0 V5304 (reverse V5305)) (simple-error "% expects a number or a symbol +(defun shen.peek-history (V5317 V5318 V5319) (if (integer? V5317) (pr (cn " +" (shen.app (nth (+ 1 V5317) (reverse V5319)) "" shen.a)) (stoutput)) (if (or (= V5318 "") (symbol? V5317)) (shen.recursive-string-match 0 V5318 (reverse V5319)) (simple-error "% expects a number or a symbol ")))) -(defun shen.string-match (V5315 V5316) (cond ((= () V5316) (simple-error " -input not found")) ((and (cons? V5316) (shen.string-prefix? V5315 (hd V5316))) (hd V5316)) ((cons? V5316) (shen.string-match V5315 (tl V5316))) (true (simple-error "implementation error in shen.string-match")))) +(defun shen.string-match (V5329 V5330) (cond ((= () V5330) (simple-error " +input not found")) ((and (cons? V5330) (shen.string-prefix? V5329 (hd V5330))) (hd V5330)) ((cons? V5330) (shen.string-match V5329 (tl V5330))) (true (simple-error "implementation error in shen.string-match")))) -(defun shen.string-prefix? (V5324 V5325) (cond ((= "" V5324) true) ((and (shen.+string? V5324) (shen.whitespace? (string->n (hdstr V5324)))) (shen.string-prefix? (tlstr V5324) V5325)) ((and (shen.+string? V5325) (shen.whitespace? (string->n (hdstr V5325)))) (shen.string-prefix? V5324 (tlstr V5325))) ((and (shen.+string? V5325) (= "(" (hdstr V5325))) (shen.string-prefix? V5324 (tlstr V5325))) ((and (shen.+string? V5324) (and (shen.+string? V5325) (= (hdstr V5324) (hdstr V5325)))) (shen.string-prefix? (tlstr V5324) (tlstr V5325))) (true false))) +(defun shen.string-prefix? (V5338 V5339) (cond ((= "" V5338) true) ((and (shen.+string? V5338) (shen.whitespace? (string->n (hdstr V5338)))) (shen.string-prefix? (tlstr V5338) V5339)) ((and (shen.+string? V5339) (shen.whitespace? (string->n (hdstr V5339)))) (shen.string-prefix? V5338 (tlstr V5339))) ((and (shen.+string? V5339) (= "(" (hdstr V5339))) (shen.string-prefix? V5338 (tlstr V5339))) ((and (shen.+string? V5338) (and (shen.+string? V5339) (= (hdstr V5338) (hdstr V5339)))) (shen.string-prefix? (tlstr V5338) (tlstr V5339))) (true false))) -(defun shen.recursive-string-match (V5336 V5337 V5338) (cond ((= () V5338) shen.skip) ((cons? V5338) (do (if (shen.string-prefix? V5337 (hd V5338)) (pr (shen.app V5336 (cn ". " (shen.app (hd V5338) " -" shen.a)) shen.a) (stoutput)) shen.skip) (shen.recursive-string-match (+ V5336 1) V5337 (tl V5338)))) (true (simple-error "implementation error in shen.recursive-string-match")))) +(defun shen.recursive-string-match (V5350 V5351 V5352) (cond ((= () V5352) shen.skip) ((cons? V5352) (do (if (shen.string-prefix? V5351 (hd V5352)) (pr (shen.app V5350 (cn ". " (shen.app (hd V5352) " +" shen.a)) shen.a) (stoutput)) shen.skip) (shen.recursive-string-match (+ V5350 1) V5351 (tl V5352)))) (true (simple-error "implementation error in shen.recursive-string-match")))) diff --git a/kernel/klambda/track.kl b/kernel/klambda/track.kl index 5522a98..000d804 100644 --- a/kernel/klambda/track.kl +++ b/kernel/klambda/track.kl @@ -1,66 +1,66 @@ -(defun shen.f-error (V5370) (do (pr (cn "partial function " (shen.app V5370 "; -" shen.a)) (stoutput)) (do (if (and (not (shen.tracked? V5370)) (y-or-n? (cn "track " (shen.app V5370 "? " shen.a)))) (shen.track-function (ps V5370)) shen.ok) (simple-error "aborted")))) +(defun shen.f-error (V5384) (do (pr (cn "partial function " (shen.app V5384 "; +" shen.a)) (stoutput)) (do (if (and (not (shen.tracked? V5384)) (y-or-n? (cn "track " (shen.app V5384 "? " shen.a)))) (shen.track-function (ps V5384)) shen.ok) (simple-error "aborted")))) -(defun shen.tracked? (V5371) (element? V5371 (value shen.*tracking*))) +(defun shen.tracked? (V5385) (element? V5385 (value shen.*tracking*))) -(defun track (V5372) (let W5373 (ps V5372) (shen.track-function W5373))) +(defun track (V5386) (let W5387 (ps V5386) (shen.track-function W5387))) -(defun shen.track-function (V5376) (cond ((and (cons? V5376) (and (= defun (hd V5376)) (and (cons? (tl V5376)) (and (cons? (tl (tl V5376))) (and (cons? (tl (tl (tl V5376)))) (= () (tl (tl (tl (tl V5376)))))))))) (let W5377 (cons defun (cons (hd (tl V5376)) (cons (hd (tl (tl V5376))) (cons (shen.insert-tracking-code (hd (tl V5376)) (hd (tl (tl V5376))) (hd (tl (tl (tl V5376))))) ())))) (let W5378 (eval-kl W5377) (let W5379 (set shen.*tracking* (adjoin (hd (tl V5376)) (value shen.*tracking*))) (hd (tl V5376)))))) (true (simple-error "implementation error in shen.track-function")))) +(defun shen.track-function (V5390) (cond ((and (cons? V5390) (and (= defun (hd V5390)) (and (cons? (tl V5390)) (and (cons? (tl (tl V5390))) (and (cons? (tl (tl (tl V5390)))) (= () (tl (tl (tl (tl V5390)))))))))) (let W5391 (cons defun (cons (hd (tl V5390)) (cons (hd (tl (tl V5390))) (cons (shen.insert-tracking-code (hd (tl V5390)) (hd (tl (tl V5390))) (hd (tl (tl (tl V5390))))) ())))) (let W5392 (eval-kl W5391) (let W5393 (set shen.*tracking* (adjoin (hd (tl V5390)) (value shen.*tracking*))) (hd (tl V5390)))))) (true (simple-error "implementation error in shen.track-function")))) -(defun shen.insert-tracking-code (V5380 V5381 V5382) (cons do (cons (cons set (cons shen.*call* (cons (cons + (cons (cons value (cons shen.*call* ())) (cons 1 ()))) ()))) (cons (cons do (cons (cons shen.input-track (cons (cons value (cons shen.*call* ())) (cons V5380 (cons (shen.cons-form (shen.prolog-track V5382 V5381)) ())))) (cons (cons do (cons (cons shen.terpri-or-read-char ()) (cons (cons let (cons Result (cons V5382 (cons (cons do (cons (cons shen.output-track (cons (cons value (cons shen.*call* ())) (cons V5380 (cons Result ())))) (cons (cons do (cons (cons set (cons shen.*call* (cons (cons - (cons (cons value (cons shen.*call* ())) (cons 1 ()))) ()))) (cons (cons do (cons (cons shen.terpri-or-read-char ()) (cons Result ()))) ()))) ()))) ())))) ()))) ()))) ())))) +(defun shen.insert-tracking-code (V5394 V5395 V5396) (cons do (cons (cons set (cons shen.*call* (cons (cons + (cons (cons value (cons shen.*call* ())) (cons 1 ()))) ()))) (cons (cons do (cons (cons shen.input-track (cons (cons value (cons shen.*call* ())) (cons V5394 (cons (shen.cons-form (shen.prolog-track V5396 V5395)) ())))) (cons (cons do (cons (cons shen.terpri-or-read-char ()) (cons (cons let (cons Result (cons V5396 (cons (cons do (cons (cons shen.output-track (cons (cons value (cons shen.*call* ())) (cons V5394 (cons Result ())))) (cons (cons do (cons (cons set (cons shen.*call* (cons (cons - (cons (cons value (cons shen.*call* ())) (cons 1 ()))) ()))) (cons (cons do (cons (cons shen.terpri-or-read-char ()) (cons Result ()))) ()))) ()))) ())))) ()))) ()))) ())))) -(defun shen.prolog-track (V5383 V5384) (cond ((= (occurrences shen.incinfs V5383) 0) V5384) (true (shen.vector-dereference V5384 (shen.vector-parameter V5384))))) +(defun shen.prolog-track (V5397 V5398) (cond ((= (occurrences shen.incinfs V5397) 0) V5398) (true (shen.vector-dereference V5398 (shen.vector-parameter V5398))))) -(defun shen.vector-parameter (V5387) (cond ((= () V5387) ()) ((and (cons? V5387) (and (cons? (tl V5387)) (and (cons? (tl (tl V5387))) (and (cons? (tl (tl (tl V5387)))) (= () (tl (tl (tl (tl V5387))))))))) (hd V5387)) ((cons? V5387) (shen.vector-parameter (tl V5387))) (true (simple-error "partial function shen.vector-parameter")))) +(defun shen.vector-parameter (V5401) (cond ((= () V5401) ()) ((and (cons? V5401) (and (cons? (tl V5401)) (and (cons? (tl (tl V5401))) (and (cons? (tl (tl (tl V5401)))) (= () (tl (tl (tl (tl V5401))))))))) (hd V5401)) ((cons? V5401) (shen.vector-parameter (tl V5401))) (true (simple-error "partial function shen.vector-parameter")))) -(defun shen.vector-dereference (V5390 V5391) (cond ((= () V5391) V5390) ((and (cons? V5390) (and (cons? (tl V5390)) (and (cons? (tl (tl V5390))) (and (cons? (tl (tl (tl V5390)))) (= () (tl (tl (tl (tl V5390))))))))) V5390) ((cons? V5390) (cons (cons shen.deref (cons (hd V5390) (cons V5391 ()))) (shen.vector-dereference (tl V5390) V5391))) (true (simple-error "partial function shen.vector-dereference")))) +(defun shen.vector-dereference (V5404 V5405) (cond ((= () V5405) V5404) ((and (cons? V5404) (and (cons? (tl V5404)) (and (cons? (tl (tl V5404))) (and (cons? (tl (tl (tl V5404)))) (= () (tl (tl (tl (tl V5404))))))))) V5404) ((cons? V5404) (cons (cons shen.deref (cons (hd V5404) (cons V5405 ()))) (shen.vector-dereference (tl V5404) V5405))) (true (simple-error "partial function shen.vector-dereference")))) -(defun step (V5394) (cond ((= + V5394) (set shen.*step* true)) ((= - V5394) (set shen.*step* false)) (true (simple-error "step expects a + or a -. +(defun step (V5408) (cond ((= + V5408) (set shen.*step* true)) ((= - V5408) (set shen.*step* false)) (true (simple-error "step expects a + or a -. ")))) (defun step? () (value shen.*step*)) -(defun spy (V5397) (cond ((= + V5397) (set shen.*spy* true)) ((= - V5397) (set shen.*spy* false)) (true (simple-error "spy expects a + or a -. +(defun spy (V5411) (cond ((= + V5411) (set shen.*spy* true)) ((= - V5411) (set shen.*spy* false)) (true (simple-error "spy expects a + or a -. ")))) (defun spy? () (value shen.*spy*)) (defun shen.terpri-or-read-char () (if (value shen.*step*) (shen.check-byte (read-byte (value *stinput*))) (nl 1))) -(defun shen.check-byte (V5400) (cond ((= 94 V5400) (simple-error "aborted")) (true true))) +(defun shen.check-byte (V5414) (cond ((= 94 V5414) (simple-error "aborted")) (true true))) -(defun shen.input-track (V5401 V5402 V5403) (do (pr (cn " -" (shen.app (shen.spaces V5401) (cn "<" (shen.app V5401 (cn "> Inputs to " (shen.app V5402 (cn " -" (shen.app (shen.spaces V5401) "" shen.a)) shen.a)) shen.a)) shen.a)) (stoutput)) (shen.recursively-print V5403))) +(defun shen.input-track (V5415 V5416 V5417) (do (pr (cn " +" (shen.app (shen.spaces V5415) (cn "<" (shen.app V5415 (cn "> Inputs to " (shen.app V5416 (cn " +" (shen.app (shen.spaces V5415) "" shen.a)) shen.a)) shen.a)) shen.a)) (stoutput)) (shen.recursively-print V5417))) -(defun shen.recursively-print (V5406) (cond ((= () V5406) (pr " ==>" (stoutput))) ((cons? V5406) (do (print (hd V5406)) (do (pr ", " (stoutput)) (shen.recursively-print (tl V5406))))) (true (simple-error "implementation error in shen.recursively-print")))) +(defun shen.recursively-print (V5420) (cond ((= () V5420) (pr " ==>" (stoutput))) ((cons? V5420) (do (print (hd V5420)) (do (pr ", " (stoutput)) (shen.recursively-print (tl V5420))))) (true (simple-error "implementation error in shen.recursively-print")))) -(defun shen.spaces (V5407) (cond ((= 0 V5407) "") (true (cn " " (shen.spaces (- V5407 1)))))) +(defun shen.spaces (V5421) (cond ((= 0 V5421) "") (true (cn " " (shen.spaces (- V5421 1)))))) -(defun shen.output-track (V5408 V5409 V5410) (pr (cn " -" (shen.app (shen.spaces V5408) (cn "<" (shen.app V5408 (cn "> Output from " (shen.app V5409 (cn " -" (shen.app (shen.spaces V5408) (cn "==> " (shen.app V5410 "" shen.s)) shen.a)) shen.a)) shen.a)) shen.a)) (stoutput))) +(defun shen.output-track (V5422 V5423 V5424) (pr (cn " +" (shen.app (shen.spaces V5422) (cn "<" (shen.app V5422 (cn "> Output from " (shen.app V5423 (cn " +" (shen.app (shen.spaces V5422) (cn "==> " (shen.app V5424 "" shen.s)) shen.a)) shen.a)) shen.a)) shen.a)) (stoutput))) -(defun untrack (V5411) (do (set shen.*tracking* (remove V5411 (value shen.*tracking*))) (do (trap-error (eval (ps V5411)) (lambda Z5412 V5411)) V5411))) +(defun untrack (V5425) (do (set shen.*tracking* (remove V5425 (value shen.*tracking*))) (do (trap-error (eval (ps V5425)) (lambda Z5426 V5425)) V5425))) -(defun remove (V5413 V5414) (shen.remove-h V5413 V5414 ())) +(defun remove (V5427 V5428) (shen.remove-h V5427 V5428 ())) -(defun shen.remove-h (V5424 V5425 V5426) (cond ((= () V5425) (reverse V5426)) ((and (cons? V5425) (= V5424 (hd V5425))) (shen.remove-h (hd V5425) (tl V5425) V5426)) ((cons? V5425) (shen.remove-h V5424 (tl V5425) (cons (hd V5425) V5426))) (true (simple-error "implementation error in shen.remove-h")))) +(defun shen.remove-h (V5438 V5439 V5440) (cond ((= () V5439) (reverse V5440)) ((and (cons? V5439) (= V5438 (hd V5439))) (shen.remove-h (hd V5439) (tl V5439) V5440)) ((cons? V5439) (shen.remove-h V5438 (tl V5439) (cons (hd V5439) V5440))) (true (simple-error "implementation error in shen.remove-h")))) -(defun profile (V5427) (do (set shen.*profiled* (cons V5427 (value shen.*profiled*))) (shen.profile-help (ps V5427)))) +(defun profile (V5441) (do (set shen.*profiled* (cons V5441 (value shen.*profiled*))) (shen.profile-help (ps V5441)))) -(defun shen.profile-help (V5430) (cond ((and (cons? V5430) (and (= defun (hd V5430)) (and (cons? (tl V5430)) (and (cons? (tl (tl V5430))) (and (cons? (tl (tl (tl V5430)))) (= () (tl (tl (tl (tl V5430)))))))))) (let W5431 (gensym shen.f) (let W5432 (cons defun (cons (hd (tl V5430)) (cons (hd (tl (tl V5430))) (cons (shen.profile-func (hd (tl V5430)) (hd (tl (tl V5430))) (cons W5431 (hd (tl (tl V5430))))) ())))) (let W5433 (cons defun (cons W5431 (cons (hd (tl (tl V5430))) (cons (subst W5431 (hd (tl V5430)) (hd (tl (tl (tl V5430))))) ())))) (let W5434 (eval-kl W5432) (let W5435 (eval-kl W5433) (hd (tl V5430)))))))) (true (simple-error "Cannot profile. +(defun shen.profile-help (V5444) (cond ((and (cons? V5444) (and (= defun (hd V5444)) (and (cons? (tl V5444)) (and (cons? (tl (tl V5444))) (and (cons? (tl (tl (tl V5444)))) (= () (tl (tl (tl (tl V5444)))))))))) (let W5445 (gensym shen.f) (let W5446 (cons defun (cons (hd (tl V5444)) (cons (hd (tl (tl V5444))) (cons (shen.profile-func (hd (tl V5444)) (hd (tl (tl V5444))) (cons W5445 (hd (tl (tl V5444))))) ())))) (let W5447 (cons defun (cons W5445 (cons (hd (tl (tl V5444))) (cons (subst W5445 (hd (tl V5444)) (hd (tl (tl (tl V5444))))) ())))) (let W5448 (eval-kl W5446) (let W5449 (eval-kl W5447) (hd (tl V5444)))))))) (true (simple-error "Cannot profile. ")))) -(defun unprofile (V5436) (do (set shen.*profiled* (remove V5436 (value shen.*profiled*))) (trap-error (eval (ps V5436)) (lambda Z5437 V5436)))) +(defun unprofile (V5450) (do (set shen.*profiled* (remove V5450 (value shen.*profiled*))) (trap-error (eval (ps V5450)) (lambda Z5451 V5450)))) -(defun shen.profiled? (V5438) (element? V5438 (value shen.*profiled*))) +(defun shen.profiled? (V5452) (element? V5452 (value shen.*profiled*))) -(defun shen.profile-func (V5439 V5440 V5441) (cons let (cons Start (cons (cons get-time (cons run ())) (cons (cons let (cons Result (cons V5441 (cons (cons let (cons Finish (cons (cons - (cons (cons get-time (cons run ())) (cons Start ()))) (cons (cons let (cons Record (cons (cons shen.put-profile (cons V5439 (cons (cons + (cons (cons shen.get-profile (cons V5439 ())) (cons Finish ()))) ()))) (cons Result ())))) ())))) ())))) ()))))) +(defun shen.profile-func (V5453 V5454 V5455) (cons let (cons Start (cons (cons get-time (cons run ())) (cons (cons let (cons Result (cons V5455 (cons (cons let (cons Finish (cons (cons - (cons (cons get-time (cons run ())) (cons Start ()))) (cons (cons let (cons Record (cons (cons shen.put-profile (cons V5453 (cons (cons + (cons (cons shen.get-profile (cons V5453 ())) (cons Finish ()))) ()))) (cons Result ())))) ())))) ())))) ()))))) -(defun profile-results (V5442) (let W5443 (shen.get-profile V5442) (let W5444 (shen.put-profile V5442 0) (@p V5442 W5443)))) +(defun profile-results (V5456) (let W5457 (shen.get-profile V5456) (let W5458 (shen.put-profile V5456 0) (@p V5456 W5457)))) -(defun shen.get-profile (V5445) (trap-error (get V5445 profile (value *property-vector*)) (lambda Z5446 0))) +(defun shen.get-profile (V5459) (trap-error (get V5459 profile (value *property-vector*)) (lambda Z5460 0))) -(defun shen.put-profile (V5447 V5448) (put V5447 profile V5448 (value *property-vector*))) +(defun shen.put-profile (V5461 V5462) (put V5461 profile V5462 (value *property-vector*))) diff --git a/kernel/klambda/types.kl b/kernel/klambda/types.kl index d23a10e..123bbed 100644 --- a/kernel/klambda/types.kl +++ b/kernel/klambda/types.kl @@ -1,13 +1,13 @@ -(defun declare (V5483 V5484) (let W5485 (shen.rectify-type V5484) (let W5486 (((((lambda Z5487 (lambda Z5488 (lambda Z5489 (lambda Z5490 (do (shen.incinfs) (shen.variancy (receive (shen.deref V5483 Z5487)) (receive (shen.deref W5485 Z5487)) Z5487 Z5488 Z5489 Z5490)))))) (shen.prolog-vector)) (@v true (@v 0 (vector 0)))) 0) (freeze true)) (let W5491 (eval-kl (shen.prolog-abstraction V5484)) (let W5492 (set shen.*sigf* (shen.assoc-> V5483 W5491 (value shen.*sigf*))) V5483))))) +(defun declare (V5507 V5508) (let W5509 (shen.rectify-type V5508) (let W5510 (((((lambda Z5511 (lambda Z5512 (lambda Z5513 (lambda Z5514 (do (shen.incinfs) (shen.variancy (receive (shen.deref V5507 Z5511)) (receive (shen.deref W5509 Z5511)) Z5511 Z5512 Z5513 Z5514)))))) (shen.prolog-vector)) (@v true (@v 0 (vector 0)))) 0) (freeze true)) (let W5515 (eval-kl (shen.prolog-abstraction V5508)) (let W5516 (set shen.*sigf* (shen.assoc-> V5507 W5515 (value shen.*sigf*))) V5507))))) -(defun shen.variancy (V5493 V5494 V5495 V5496 V5497 V5498) (if (shen.unlocked? V5496) (let W5499 (shen.newpv V5495) (shen.gc V5495 (do (shen.incinfs) (shen.system-S-h (cons fn (cons V5493 ())) W5499 () V5495 V5496 V5497 (freeze (shen.variants? V5493 W5499 V5494 V5495 V5496 V5497 V5498)))))) false)) +(defun shen.variancy (V5517 V5518 V5519 V5520 V5521 V5522) (let W5523 (+ V5521 1) (let W5524 (if (shen.unlocked? V5520) (let W5525 (shen.lazyderef V5518 V5519) (let W5526 (lambda Z5527 (let W5528 (shen.newpv V5519) (shen.gc V5519 (do (shen.incinfs) (when (= (arity (shen.deref V5517 V5519)) 0) V5519 V5520 W5523 (freeze (shen.cut V5519 V5520 W5523 (freeze (shen.system-S-h (cons fn (cons V5517 ())) W5528 () V5519 V5520 W5523 (freeze (shen.variants? V5517 Z5527 W5528 V5519 V5520 W5523 V5522))))))))))) (if (cons? W5525) (let W5529 (shen.lazyderef (hd W5525) V5519) (let W5530 (freeze (let W5531 (shen.lazyderef (tl W5525) V5519) (let W5532 (lambda Z5533 (W5526 Z5533)) (if (cons? W5531) (let W5534 (hd W5531) (let W5535 (shen.lazyderef (tl W5531) V5519) (let W5536 (freeze (W5532 W5534)) (if (= W5535 ()) (thaw W5536) (if (shen.pvar? W5535) (shen.bind! W5535 () V5519 W5536) false))))) (if (shen.pvar? W5531) (let W5537 (shen.newpv V5519) (shen.gc V5519 (shen.bind! W5531 (cons W5537 ()) V5519 (freeze (W5532 W5537))))) false))))) (if (= W5529 -->) (thaw W5530) (if (shen.pvar? W5529) (shen.bind! W5529 --> V5519 W5530) false)))) (if (shen.pvar? W5525) (let W5538 (shen.newpv V5519) (shen.gc V5519 (shen.bind! W5525 (cons --> (cons W5538 ())) V5519 (freeze (W5526 W5538))))) false)))) false) (if (= W5524 false) (let W5539 (if (shen.unlocked? V5520) (let W5540 (shen.newpv V5519) (shen.gc V5519 (do (shen.incinfs) (shen.system-S-h (cons fn (cons V5517 ())) W5540 () V5519 V5520 W5523 (freeze (shen.variants? V5517 W5540 V5518 V5519 V5520 W5523 V5522)))))) false) (if (= W5539 false) (shen.unlock V5520 W5523) W5539)) W5524)))) -(defun shen.variants? (V5500 V5501 V5502 V5503 V5504 V5505 V5506) (let W5507 (if (shen.unlocked? V5504) (do (shen.incinfs) (is! V5501 V5502 V5503 V5504 V5505 V5506)) false) (if (= W5507 false) (if (shen.unlocked? V5504) (let W5508 (shen.newpv V5503) (shen.gc V5503 (do (shen.incinfs) (is W5508 (pr (cn "warning: changing the type of " (shen.app (shen.deref V5500 V5503) " may create errors -" shen.a)) (stoutput)) V5503 V5504 V5505 V5506)))) false) W5507))) +(defun shen.variants? (V5541 V5542 V5543 V5544 V5545 V5546 V5547) (let W5548 (if (shen.unlocked? V5545) (do (shen.incinfs) (is! V5542 V5543 V5544 V5545 V5546 V5547)) false) (if (= W5548 false) (if (shen.unlocked? V5545) (let W5549 (shen.newpv V5544) (shen.gc V5544 (do (shen.incinfs) (is W5549 (pr (cn "warning: changing the type of " (shen.app (shen.deref V5541 V5544) " may create errors +" shen.a)) (stoutput)) V5544 V5545 V5546 V5547)))) false) W5548))) -(defun shen.prolog-abstraction (V5509) (let W5510 (gensym B) (let W5511 (gensym L) (let W5512 (gensym Key) (let W5513 (gensym C) (let W5514 (gensym V) (let W5515 (shen.extract-vars V5509) (cons lambda (cons W5514 (cons (cons lambda (cons W5510 (cons (cons lambda (cons W5511 (cons (cons lambda (cons W5512 (cons (cons lambda (cons W5513 (cons (shen.stpart W5515 (cons is! (cons W5514 (cons (shen.rcons_form V5509) (cons W5510 (cons W5511 (cons W5512 (cons W5513 ()))))))) W5510) ()))) ()))) ()))) ()))) ())))))))))) +(defun shen.prolog-abstraction (V5550) (let W5551 (gensym B) (let W5552 (gensym L) (let W5553 (gensym Key) (let W5554 (gensym C) (let W5555 (gensym V) (let W5556 (shen.extract-vars V5550) (cons lambda (cons W5555 (cons (cons lambda (cons W5551 (cons (cons lambda (cons W5552 (cons (cons lambda (cons W5553 (cons (cons lambda (cons W5554 (cons (shen.stpart W5556 (cons is! (cons W5555 (cons (shen.rcons_form V5550) (cons W5551 (cons W5552 (cons W5553 (cons W5554 ()))))))) W5551) ()))) ()))) ()))) ()))) ())))))))))) -(defun shen.demod (V5516) V5516) +(defun shen.demod (V5557) V5557) (declare abort (cons --> (cons A ()))) diff --git a/kernel/klambda/writer.kl b/kernel/klambda/writer.kl index bddb318..61f713e 100644 --- a/kernel/klambda/writer.kl +++ b/kernel/klambda/writer.kl @@ -1,52 +1,52 @@ -(defun print (V5561) (let W5562 (shen.insert V5561 "~S") (let W5563 (pr W5562 (stoutput)) V5561))) +(defun print (V5602) (let W5603 (shen.insert V5602 "~S") (let W5604 (pr W5603 (stoutput)) V5602))) -(defun pr (V5564 V5565) (if (value *hush*) V5564 (if (shen.char-stoutput? V5565) (shen.write-string V5564 V5565) (shen.write-chars V5564 V5565 (shen.string->byte V5564 0) 1)))) +(defun pr (V5605 V5606) (if (value *hush*) V5605 (if (shen.char-stoutput? V5606) (shen.write-string V5605 V5606) (shen.write-chars V5605 V5606 (shen.string->byte V5605 0) 1)))) -(defun shen.string->byte (V5566 V5567) (trap-error (string->n (pos V5566 V5567)) (lambda Z5568 shen.eos))) +(defun shen.string->byte (V5607 V5608) (trap-error (string->n (pos V5607 V5608)) (lambda Z5609 shen.eos))) -(defun shen.write-chars (V5569 V5570 V5571 V5572) (cond ((= shen.eos V5571) V5569) (true (shen.write-chars V5569 V5570 (do (write-byte V5571 V5570) (shen.string->byte V5569 V5572)) (+ V5572 1))))) +(defun shen.write-chars (V5610 V5611 V5612 V5613) (cond ((= shen.eos V5612) V5610) (true (shen.write-chars V5610 V5611 (do (write-byte V5612 V5611) (shen.string->byte V5610 V5613)) (+ V5613 1))))) -(defun shen.mkstr (V5573 V5574) (cond ((string? V5573) (shen.mkstr-l (shen.proc-nl V5573) V5574)) (true (shen.mkstr-r (cons shen.proc-nl (cons V5573 ())) V5574)))) +(defun shen.mkstr (V5614 V5615) (cond ((string? V5614) (shen.mkstr-l (shen.proc-nl V5614) V5615)) (true (shen.mkstr-r (cons shen.proc-nl (cons V5614 ())) V5615)))) -(defun shen.mkstr-l (V5579 V5580) (cond ((= () V5580) V5579) ((cons? V5580) (shen.mkstr-l (shen.insert-l (hd V5580) V5579) (tl V5580))) (true (simple-error "implementation error in shen.mkstr-l")))) +(defun shen.mkstr-l (V5620 V5621) (cond ((= () V5621) V5620) ((cons? V5621) (shen.mkstr-l (shen.insert-l (hd V5621) V5620) (tl V5621))) (true (simple-error "implementation error in shen.mkstr-l")))) -(defun shen.insert-l (V5587 V5588) (cond ((= "" V5588) "") ((and (shen.+string? V5588) (and (= "~" (hdstr V5588)) (and (shen.+string? (tlstr V5588)) (= "A" (hdstr (tlstr V5588)))))) (cons shen.app (cons V5587 (cons (tlstr (tlstr V5588)) (cons shen.a ()))))) ((and (shen.+string? V5588) (and (= "~" (hdstr V5588)) (and (shen.+string? (tlstr V5588)) (= "R" (hdstr (tlstr V5588)))))) (cons shen.app (cons V5587 (cons (tlstr (tlstr V5588)) (cons shen.r ()))))) ((and (shen.+string? V5588) (and (= "~" (hdstr V5588)) (and (shen.+string? (tlstr V5588)) (= "S" (hdstr (tlstr V5588)))))) (cons shen.app (cons V5587 (cons (tlstr (tlstr V5588)) (cons shen.s ()))))) ((shen.+string? V5588) (shen.factor-cn (cons cn (cons (hdstr V5588) (cons (shen.insert-l V5587 (tlstr V5588)) ()))))) ((and (cons? V5588) (and (= cn (hd V5588)) (and (cons? (tl V5588)) (and (cons? (tl (tl V5588))) (= () (tl (tl (tl V5588)))))))) (cons cn (cons (hd (tl V5588)) (cons (shen.insert-l V5587 (hd (tl (tl V5588)))) ())))) ((and (cons? V5588) (and (= shen.app (hd V5588)) (and (cons? (tl V5588)) (and (cons? (tl (tl V5588))) (and (cons? (tl (tl (tl V5588)))) (= () (tl (tl (tl (tl V5588)))))))))) (cons shen.app (cons (hd (tl V5588)) (cons (shen.insert-l V5587 (hd (tl (tl V5588)))) (tl (tl (tl V5588))))))) (true (simple-error "implementation error in shen.insert-l")))) +(defun shen.insert-l (V5628 V5629) (cond ((= "" V5629) "") ((and (shen.+string? V5629) (and (= "~" (hdstr V5629)) (and (shen.+string? (tlstr V5629)) (= "A" (hdstr (tlstr V5629)))))) (cons shen.app (cons V5628 (cons (tlstr (tlstr V5629)) (cons shen.a ()))))) ((and (shen.+string? V5629) (and (= "~" (hdstr V5629)) (and (shen.+string? (tlstr V5629)) (= "R" (hdstr (tlstr V5629)))))) (cons shen.app (cons V5628 (cons (tlstr (tlstr V5629)) (cons shen.r ()))))) ((and (shen.+string? V5629) (and (= "~" (hdstr V5629)) (and (shen.+string? (tlstr V5629)) (= "S" (hdstr (tlstr V5629)))))) (cons shen.app (cons V5628 (cons (tlstr (tlstr V5629)) (cons shen.s ()))))) ((shen.+string? V5629) (shen.factor-cn (cons cn (cons (hdstr V5629) (cons (shen.insert-l V5628 (tlstr V5629)) ()))))) ((and (cons? V5629) (and (= cn (hd V5629)) (and (cons? (tl V5629)) (and (cons? (tl (tl V5629))) (= () (tl (tl (tl V5629)))))))) (cons cn (cons (hd (tl V5629)) (cons (shen.insert-l V5628 (hd (tl (tl V5629)))) ())))) ((and (cons? V5629) (and (= shen.app (hd V5629)) (and (cons? (tl V5629)) (and (cons? (tl (tl V5629))) (and (cons? (tl (tl (tl V5629)))) (= () (tl (tl (tl (tl V5629)))))))))) (cons shen.app (cons (hd (tl V5629)) (cons (shen.insert-l V5628 (hd (tl (tl V5629)))) (tl (tl (tl V5629))))))) (true (simple-error "implementation error in shen.insert-l")))) -(defun shen.factor-cn (V5589) (cond ((and (cons? V5589) (and (= cn (hd V5589)) (and (cons? (tl V5589)) (and (cons? (tl (tl V5589))) (and (cons? (hd (tl (tl V5589)))) (and (= cn (hd (hd (tl (tl V5589))))) (and (cons? (tl (hd (tl (tl V5589))))) (and (cons? (tl (tl (hd (tl (tl V5589)))))) (and (= () (tl (tl (tl (hd (tl (tl V5589))))))) (and (= () (tl (tl (tl V5589)))) (and (string? (hd (tl V5589))) (string? (hd (tl (hd (tl (tl V5589))))))))))))))))) (cons cn (cons (cn (hd (tl V5589)) (hd (tl (hd (tl (tl V5589)))))) (tl (tl (hd (tl (tl V5589)))))))) (true V5589))) +(defun shen.factor-cn (V5630) (cond ((and (cons? V5630) (and (= cn (hd V5630)) (and (cons? (tl V5630)) (and (cons? (tl (tl V5630))) (and (cons? (hd (tl (tl V5630)))) (and (= cn (hd (hd (tl (tl V5630))))) (and (cons? (tl (hd (tl (tl V5630))))) (and (cons? (tl (tl (hd (tl (tl V5630)))))) (and (= () (tl (tl (tl (hd (tl (tl V5630))))))) (and (= () (tl (tl (tl V5630)))) (and (string? (hd (tl V5630))) (string? (hd (tl (hd (tl (tl V5630))))))))))))))))) (cons cn (cons (cn (hd (tl V5630)) (hd (tl (hd (tl (tl V5630)))))) (tl (tl (hd (tl (tl V5630)))))))) (true V5630))) -(defun shen.proc-nl (V5592) (cond ((= "" V5592) "") ((and (shen.+string? V5592) (and (= "~" (hdstr V5592)) (and (shen.+string? (tlstr V5592)) (= "%" (hdstr (tlstr V5592)))))) (cn (n->string 10) (shen.proc-nl (tlstr (tlstr V5592))))) ((shen.+string? V5592) (cn (hdstr V5592) (shen.proc-nl (tlstr V5592)))) (true (simple-error "implementation error in shen.proc-nl")))) +(defun shen.proc-nl (V5633) (cond ((= "" V5633) "") ((and (shen.+string? V5633) (and (= "~" (hdstr V5633)) (and (shen.+string? (tlstr V5633)) (= "%" (hdstr (tlstr V5633)))))) (cn (n->string 10) (shen.proc-nl (tlstr (tlstr V5633))))) ((shen.+string? V5633) (cn (hdstr V5633) (shen.proc-nl (tlstr V5633)))) (true (simple-error "implementation error in shen.proc-nl")))) -(defun shen.mkstr-r (V5597 V5598) (cond ((= () V5598) V5597) ((cons? V5598) (shen.mkstr-r (cons shen.insert (cons (hd V5598) (cons V5597 ()))) (tl V5598))) (true (simple-error "implementation error in shen.mkstr-r")))) +(defun shen.mkstr-r (V5638 V5639) (cond ((= () V5639) V5638) ((cons? V5639) (shen.mkstr-r (cons shen.insert (cons (hd V5639) (cons V5638 ()))) (tl V5639))) (true (simple-error "implementation error in shen.mkstr-r")))) -(defun shen.insert (V5599 V5600) (shen.insert-h V5599 V5600 "")) +(defun shen.insert (V5640 V5641) (shen.insert-h V5640 V5641 "")) -(defun shen.insert-h (V5609 V5610 V5611) (cond ((= "" V5610) V5611) ((and (shen.+string? V5610) (and (= "~" (hdstr V5610)) (and (shen.+string? (tlstr V5610)) (= "A" (hdstr (tlstr V5610)))))) (cn V5611 (shen.app V5609 (tlstr (tlstr V5610)) shen.a))) ((and (shen.+string? V5610) (and (= "~" (hdstr V5610)) (and (shen.+string? (tlstr V5610)) (= "R" (hdstr (tlstr V5610)))))) (cn V5611 (shen.app V5609 (tlstr (tlstr V5610)) shen.r))) ((and (shen.+string? V5610) (and (= "~" (hdstr V5610)) (and (shen.+string? (tlstr V5610)) (= "S" (hdstr (tlstr V5610)))))) (cn V5611 (shen.app V5609 (tlstr (tlstr V5610)) shen.s))) ((shen.+string? V5610) (shen.insert-h V5609 (tlstr V5610) (cn V5611 (hdstr V5610)))) (true (simple-error "implementation error in shen.insert-h")))) +(defun shen.insert-h (V5650 V5651 V5652) (cond ((= "" V5651) V5652) ((and (shen.+string? V5651) (and (= "~" (hdstr V5651)) (and (shen.+string? (tlstr V5651)) (= "A" (hdstr (tlstr V5651)))))) (cn V5652 (shen.app V5650 (tlstr (tlstr V5651)) shen.a))) ((and (shen.+string? V5651) (and (= "~" (hdstr V5651)) (and (shen.+string? (tlstr V5651)) (= "R" (hdstr (tlstr V5651)))))) (cn V5652 (shen.app V5650 (tlstr (tlstr V5651)) shen.r))) ((and (shen.+string? V5651) (and (= "~" (hdstr V5651)) (and (shen.+string? (tlstr V5651)) (= "S" (hdstr (tlstr V5651)))))) (cn V5652 (shen.app V5650 (tlstr (tlstr V5651)) shen.s))) ((shen.+string? V5651) (shen.insert-h V5650 (tlstr V5651) (cn V5652 (hdstr V5651)))) (true (simple-error "implementation error in shen.insert-h")))) -(defun shen.app (V5612 V5613 V5614) (cn (shen.arg->str V5612 V5614) V5613)) +(defun shen.app (V5653 V5654 V5655) (cn (shen.arg->str V5653 V5655) V5654)) -(defun shen.arg->str (V5618 V5619) (cond ((= V5618 (fail)) "...") ((shen.list? V5618) (shen.list->str V5618 V5619)) ((string? V5618) (shen.str->str V5618 V5619)) ((absvector? V5618) (shen.vector->str V5618 V5619)) (true (shen.atom->str V5618)))) +(defun shen.arg->str (V5659 V5660) (cond ((= V5659 (fail)) "...") ((shen.list? V5659) (shen.list->str V5659 V5660)) ((string? V5659) (shen.str->str V5659 V5660)) ((absvector? V5659) (shen.vector->str V5659 V5660)) (true (shen.atom->str V5659)))) -(defun shen.list->str (V5620 V5621) (cond ((= shen.r V5621) (@s "(" (@s (shen.iter-list V5620 shen.r (shen.maxseq)) ")"))) (true (@s "[" (@s (shen.iter-list V5620 V5621 (shen.maxseq)) "]"))))) +(defun shen.list->str (V5661 V5662) (cond ((= shen.r V5662) (@s "(" (@s (shen.iter-list V5661 shen.r (shen.maxseq)) ")"))) (true (@s "[" (@s (shen.iter-list V5661 V5662 (shen.maxseq)) "]"))))) (defun shen.maxseq () (value *maximum-print-sequence-size*)) -(defun shen.iter-list (V5632 V5633 V5634) (cond ((= () V5632) "") ((= 0 V5634) "... etc") ((and (cons? V5632) (= () (tl V5632))) (shen.arg->str (hd V5632) V5633)) ((cons? V5632) (@s (shen.arg->str (hd V5632) V5633) (@s " " (shen.iter-list (tl V5632) V5633 (- V5634 1))))) (true (@s "|" (@s " " (shen.arg->str V5632 V5633)))))) +(defun shen.iter-list (V5673 V5674 V5675) (cond ((= () V5673) "") ((= 0 V5675) "... etc") ((and (cons? V5673) (= () (tl V5673))) (shen.arg->str (hd V5673) V5674)) ((cons? V5673) (@s (shen.arg->str (hd V5673) V5674) (@s " " (shen.iter-list (tl V5673) V5674 (- V5675 1))))) (true (@s "|" (@s " " (shen.arg->str V5673 V5674)))))) -(defun shen.str->str (V5637 V5638) (cond ((= shen.a V5638) V5637) (true (@s (n->string 34) (@s V5637 (n->string 34)))))) +(defun shen.str->str (V5678 V5679) (cond ((= shen.a V5679) V5678) (true (@s (n->string 34) (@s V5678 (n->string 34)))))) -(defun shen.vector->str (V5639 V5640) (if (shen.print-vector? V5639) ((fn (<-address V5639 0)) V5639) (if (vector? V5639) (@s "<" (@s (shen.iter-vector V5639 1 V5640 (shen.maxseq)) ">")) (@s "<" (@s "<" (@s (shen.iter-vector V5639 0 V5640 (shen.maxseq)) ">>")))))) +(defun shen.vector->str (V5680 V5681) (if (shen.print-vector? V5680) ((fn (<-address V5680 0)) V5680) (if (vector? V5680) (@s "<" (@s (shen.iter-vector V5680 1 V5681 (shen.maxseq)) ">")) (@s "<" (@s "<" (@s (shen.iter-vector V5680 0 V5681 (shen.maxseq)) ">>")))))) -(defun shen.print-vector? (V5641) (let W5642 (<-address V5641 0) (if (= W5642 shen.tuple) true (if (= W5642 shen.pvar) true (if (not (number? W5642)) (shen.fbound? W5642) false))))) +(defun shen.print-vector? (V5682) (let W5683 (<-address V5682 0) (if (= W5683 shen.tuple) true (if (= W5683 shen.pvar) true (if (not (number? W5683)) (shen.fbound? W5683) false))))) -(defun shen.fbound? (V5643) (not (= (arity V5643) -1))) +(defun shen.fbound? (V5684) (not (= (arity V5684) -1))) -(defun shen.tuple (V5644) (cn "(@p " (shen.app (<-address V5644 1) (cn " " (shen.app (<-address V5644 2) ")" shen.s)) shen.s))) +(defun shen.tuple (V5685) (cn "(@p " (shen.app (<-address V5685 1) (cn " " (shen.app (<-address V5685 2) ")" shen.s)) shen.s))) -(defun shen.iter-vector (V5651 V5652 V5653 V5654) (cond ((= 0 V5654) "... etc") (true (let W5655 (trap-error (<-address V5651 V5652) (lambda Z5656 shen.out-of-bounds)) (let W5657 (trap-error (<-address V5651 (+ V5652 1)) (lambda Z5658 shen.out-of-bounds)) (if (= W5655 shen.out-of-bounds) "" (if (= W5657 shen.out-of-bounds) (shen.arg->str W5655 V5653) (@s (shen.arg->str W5655 V5653) (@s " " (shen.iter-vector V5651 (+ V5652 1) V5653 (- V5654 1))))))))))) +(defun shen.iter-vector (V5692 V5693 V5694 V5695) (cond ((= 0 V5695) "... etc") (true (let W5696 (trap-error (<-address V5692 V5693) (lambda Z5697 shen.out-of-bounds)) (let W5698 (trap-error (<-address V5692 (+ V5693 1)) (lambda Z5699 shen.out-of-bounds)) (if (= W5696 shen.out-of-bounds) "" (if (= W5698 shen.out-of-bounds) (shen.arg->str W5696 V5694) (@s (shen.arg->str W5696 V5694) (@s " " (shen.iter-vector V5692 (+ V5693 1) V5694 (- V5695 1))))))))))) -(defun shen.atom->str (V5659) (trap-error (str V5659) (lambda Z5660 (shen.funexstring)))) +(defun shen.atom->str (V5700) (trap-error (str V5700) (lambda Z5701 (shen.funexstring)))) (defun shen.funexstring () (@s "" (@s "f" (@s "u" (@s "n" (@s "e" (@s (shen.arg->str (gensym (intern "x")) shen.a) ""))))))) -(defun shen.list? (V5661) (or (empty? V5661) (cons? V5661))) +(defun shen.list? (V5702) (or (empty? V5702) (cons? V5702))) diff --git a/kernel/stlib/Calendar/date.shen b/kernel/stlib/Calendar/date.shen new file mode 100644 index 0000000..60c6963 --- /dev/null +++ b/kernel/stlib/Calendar/date.shen @@ -0,0 +1,160 @@ +\\ Copyright (c) 2016, Mark Tarver + +(package calendar [now internal-date unix gmt] + +(datatype globals + + _______________ + (value *gmt*) : (symbol * number * number * number);) + +(define gmt + {symbol --> number --> number --> number --> (symbol * number * number * number)} + Plus/Minus Hours Minutes Seconds + -> (set *gmt* (@p Plus/Minus Hours Minutes Seconds)) + where (validate-gmt? Plus/Minus Hours Minutes Seconds) + _ _ _ _ -> (error "error in GMT setting~%")) + +(define validate-gmt? + {symbol --> number --> number --> number --> boolean} + Plus/Minus Hours Minutes Seconds + -> (cases (not (element? Plus/Minus [+ -])) false + (not (and (integer? Hours) (integer? Minutes) (integer? Seconds))) false + (= Hours 12) (and (= Minutes 0) (= Seconds 0)) + (and (>= Hours 0) + (<= Hours 11) + (>= Minutes 0) + (<= Minutes 59) + (>= Seconds 0) + (<= Seconds 59)) true + true false)) + +(gmt + 0 0 0) + +(define now + {number --> string} + Days -> (internal-date->string (internal-date Days))) + +(define internal-date + {number --> (list number)} + Days -> (let UnixDate (+ (* 24 3600 Days) + (get-time unix) + (gmt-time (value *gmt*))) + (if (> 0 UnixDate) + (error "cannot regress date before 1970~%") + (internal-date-h + UnixDate + (- 0 (* 24 3600)) + 1970 + year + []))) where (integer? Days) + _ -> (error "internal-date requires an integer~%")) + +(define gmt-time + {(symbol * number * number * number) --> number} + (@p - Hours Minutes Seconds) -> (- 0 (+ (* 3600 Hours) (* 60 Minutes) Seconds)) + (@p + Hours Minutes Seconds) -> (+ (* 3600 Hours) (* 60 Minutes) Seconds)) + +(define internal-date-h + {number --> number --> number --> symbol --> (list number) --> (list number)} + Now Now Count _ Date -> [Count | Date] + Now Then Count Interval Date + -> (let Then' (+ (seconds-in Count Interval Date) Then) + (if (> Then' Now) + (let NextInterval (next-interval Interval) + Start (start-interval NextInterval) + (internal-date-h Now Then Start NextInterval [Count | Date])) + (internal-date-h Now Then' (+ Count 1) Interval Date)))) + +(define start-interval + {symbol --> number} + month -> 1 + day -> 0 + hour -> 0 + minute -> 0 + second -> 0) + +(define seconds-in + {number --> symbol --> (list number) --> number} + Count year _ -> (if (leap? Count) + (* 366 24 3600) + (* 365 24 3600)) + 2 month [Year] -> (* 29 24 3600) where (leap? Year) + Count month _ -> (* (days-in-month Count) 24 3600) + _ day _ -> (* 24 3600) + _ hour _ -> 3600 + _ minute _ -> 60 + _ second _ -> 1) + +(define next-interval + {symbol --> symbol} + year -> month + month -> day + day -> hour + hour -> minute + minute -> second) + +(define days-in-month + {number --> number} + 1 -> 31 + 2 -> 28 + 3 -> 31 + 4 -> 30 + 5 -> 31 + 6 -> 30 + 7 -> 31 + 8 -> 31 + 9 -> 30 + 10 -> 31 + 11 -> 30 + 12 -> 31) + +(define leap? + {number --> boolean} + Year -> (cases (integer? (/ Year 400)) true + (integer? (/ Year 100)) false + (integer? (/ Year 4)) true + true false)) + +(define internal-date->string + {(list number) --> string} + [Seconds Minutes Hours Days Months Year] + -> (make-string "~A:~A:~A, ~A~A ~A, ~A ~A" + (pad Hours) (pad Minutes) (pad Seconds) + Days (postfix-day Days) (month Months) Year (gmt-string (value *gmt*)))) + +(define gmt-string + {(symbol * number * number * number) --> string} + (@p Plus/Minus Hours Minutes Seconds) + -> (make-string "~AGMT ~A:~A:~A" Plus/Minus (pad Hours) (pad Minutes) (pad Seconds))) + +(define pad + {number --> string} + N -> (make-string "~A" N) where (> N 9) + N -> (make-string "0~A" N)) + +(define postfix-day + {number --> string} + 1 -> "st" + 21 -> "st" + 31 -> "st" + 2 -> "nd" + 22 -> "nd" + 3 -> "rd" + 23 -> "rd" + _ -> "th") + +(define month + {number --> string} + 1 -> "January" + 2 -> "February" + 3 -> "March" + 4 -> "April" + 5 -> "May" + 6 -> "June" + 7 -> "July" + 8 -> "August" + 9 -> "September" + 10 -> "October" + 11 -> "November" + 12 -> "December")) + diff --git a/kernel/stlib/Data/data.shen b/kernel/stlib/Data/data.shen new file mode 100644 index 0000000..cfd3fc1 --- /dev/null +++ b/kernel/stlib/Data/data.shen @@ -0,0 +1,26 @@ +(package file [read-data eval-data] + +(declare read-data [string --> [list unit]]) +(declare eval-data [string -->[list unit]]) + +(define read-data + File -> (let In (open File in) + (read-data-loop (trap-read In) In []))) + +(define read-data-loop + eof! In Acc -> (do (close In) (reverse Acc)) + Read In Acc -> (read-data-loop (trap-read In) In [Read | Acc])) + +(define trap-read + In -> (trap-error (read In) (/. E eof!))) + +(define eval-data + File -> (let In (open File in) + (eval-data-loop (trap-eval In) In []))) + +(define eval-data-loop + eof! In Acc -> (do (close In) (reverse Acc)) + Read In Acc -> (eval-data-loop (trap-eval In) In [Read | Acc])) + +(define trap-eval + In -> (trap-error (eval (read In)) (/. E eof!))) ) \ No newline at end of file diff --git a/kernel/stlib/Lists/lists.shen.kl b/kernel/stlib/Lists/lists.shen.kl new file mode 100644 index 0000000..ac35666 --- /dev/null +++ b/kernel/stlib/Lists/lists.shen.kl @@ -0,0 +1,110 @@ +(defun assoc-if (V3391 V3392) (cond ((= () V3392) ()) ((and (and (cons? V3392) (cons? (hd V3392))) (V3391 (hd (hd V3392)))) (hd V3392)) ((cons? V3392) (assoc-if V3391 (tl V3392))) (true (shen.f_error assoc-if)))) + +(defun assoc-if-not (V3402 V3403) (cond ((= () V3403) ()) ((and (and (cons? V3403) (cons? (hd V3403))) (not (V3402 (hd (hd V3403))))) (hd V3403)) ((cons? V3403) (assoc-if V3402 (tl V3403))) (true (shen.f_error assoc-if-not)))) + +(defun drop (V3410 V3411) (cond ((= 0 V3410) V3411) ((cons? V3411) (drop (- V3410 1) (tl V3411))) (true (shen.f_error drop)))) + +(defun drop-last (V3414 V3415) (reverse (drop V3414 (reverse V3415)))) + +(defun index (V3418 V3419) (list.index-h V3418 V3419 1)) + +(defun list.index-h (V3434 V3435 V3436) (cond ((= () V3435) -1) ((and (cons? V3435) (= (hd V3435) V3434)) V3436) ((cons? V3435) (list.index-h V3434 (tl V3435) (+ V3436 1))) (true (shen.f_error list.index-h)))) + +(defun index-last (V3439 V3440) (let Len (length V3440) (let N (index V3439 (reverse V3440)) (if (= N -1) N (+ (- Len N) 1))))) + +(defun insert (V3446 V3447 V3448) (cond ((= () V3448) (simple-error (cn "cannot insert " (shen.app V3447 " into list: index out of range +" shen.s)))) ((= 1 V3446) (cons V3447 V3448)) ((cons? V3448) (cons (hd V3448) (insert (- V3446 1) V3447 (tl V3448)))) (true (shen.f_error insert)))) + +(defun remove-duplicates (V3450) (cond ((= () V3450) ()) ((and (cons? V3450) (element? (hd V3450) (tl V3450))) (remove-duplicates (tl V3450))) ((cons? V3450) (cons (hd V3450) (remove-duplicates (tl V3450)))) (true (shen.f_error remove-duplicates)))) + +(defun trim-left-if (V3459 V3460) (cond ((= () V3460) ()) ((and (cons? V3460) (V3459 (hd V3460))) (trim-left-if V3459 (tl V3460))) (true V3460))) + +(defun trim-right-if (V3463 V3464) (reverse (trim-left-if V3463 (reverse V3464)))) + +(defun trim-if (V3467 V3468) (trim-right-if V3467 (trim-left-if V3467 V3468))) + +(defun trim-left (V3477 V3478) (cond ((= () V3478) ()) ((and (cons? V3478) (element? (hd V3478) V3477)) (trim-left V3477 (tl V3478))) (true V3478))) + +(defun trim-right (V3481 V3482) (reverse (trim-left V3481 (reverse V3482)))) + +(defun trim (V3485 V3486) (trim-right V3485 (trim-left V3485 V3486))) + +(defun prefix? (V3500 V3501) (cond ((= () V3500) true) ((and (and (cons? V3500) (cons? V3501)) (= (hd V3501) (hd V3500))) (prefix? (tl V3500) (tl V3501))) (true false))) + +(defun infix? (V3510 V3511) (cond ((prefix? V3510 V3511) true) ((= () V3511) false) ((cons? V3511) (infix? V3510 (tl V3511))) (true (shen.f_error infix?)))) + +(defun suffix? (V3514 V3515) (prefix? (reverse V3514) (reverse V3515))) + +(defun subset? (V3528 V3529) (cond ((= () V3528) true) ((and (cons? V3528) (element? (hd V3528) V3529)) (subset? (tl V3528) V3529)) (true false))) + +(defun set=? (V3532 V3533) (and (subset? V3532 V3533) (subset? V3533 V3532))) + +(defun set? (V3539) (cond ((= () V3539) true) ((and (cons? V3539) (element? (hd V3539) (tl V3539))) false) ((cons? V3539) (set? (tl V3539))) (true (shen.f_error set?)))) + +(defun n-times (V3542 V3543) (list.n-times-h V3543 V3542 ())) + +(defun list.n-times-h (V3547 V3548 V3549) (cond ((= 0 V3547) V3549) (true (list.n-times-h (- V3547 1) V3548 (cons V3548 V3549))))) + +(defun subbag? (V3552 V3553) (every? (lambda Z (= (count Z V3552) (count Z V3553))) V3552)) + +(defun bag=? (V3556 V3557) (and (subbag? V3556 V3557) (subbag? V3557 V3556))) + +(defun mapc (V3562 V3563) (cond ((= () V3563) ()) ((cons? V3563) (mapc (do (V3562 (hd V3563)) V3562) (tl V3563))) (true (shen.f_error mapc)))) + +(defun permute (V3565) (cond ((= () V3565) (cons () ())) (true (mapcan (lambda EL (map (lambda P (cons EL P)) (permute (remove EL V3565)))) V3565)))) + +(defun partition (V3570 V3571) (cond ((= () V3571) ()) ((cons? V3571) (let EQ (mapcan (lambda Z (if (V3570 (hd V3571) Z) (cons Z ()) ())) V3571) (let Remainder (difference V3571 EQ) (cons EQ (partition V3570 Remainder))))) (true (shen.f_error partition)))) + +(defun count-if (V3574 V3575) (length (mapcan (lambda Z (if (V3574 Z) (cons Z ()) ())) V3575))) + +(defun count (V3578 V3579) (count-if (= V3578) V3579)) + +(defun some? (V3593 V3594) (cond ((= () V3594) false) ((and (cons? V3594) (V3593 (hd V3594))) true) ((cons? V3594) (some? V3593 (tl V3594))) (true (shen.f_error some?)))) + +(defun every? (V3607 V3608) (cond ((= () V3608) true) ((and (cons? V3608) (V3607 (hd V3608))) (every? V3607 (tl V3608))) (true false))) + +(defun sort (V3615 V3616) (cond ((= () V3616) ()) ((and (cons? V3616) (= () (tl V3616))) V3616) ((cons? V3616) (let Less (mapcan (lambda Z (if (V3615 Z (hd V3616)) (cons Z ()) ())) (tl V3616)) (let More (mapcan (lambda Z (if (not (V3615 Z (hd V3616))) (cons Z ()) ())) (tl V3616)) (append (sort V3615 Less) (append (cons (hd V3616) ()) (sort V3615 More)))))) (true (shen.f_error sort)))) + +(defun find (V3626 V3627) (cond ((= () V3627) (simple-error "find has found no element +")) ((and (cons? V3627) (V3626 (hd V3627))) (hd V3627)) ((cons? V3627) (find V3626 (tl V3627))) (true (shen.f_error find)))) + +(defun foldr (V3633 V3634 V3635) (cond ((= () V3635) V3634) ((cons? V3635) (foldr V3633 (V3633 (hd V3635) V3634) (tl V3635))) (true (shen.f_error foldr)))) + +(defun foldl (V3641 V3642 V3643) (cond ((= () V3643) V3642) ((cons? V3643) (foldl V3641 (V3641 V3642 (hd V3643)) (tl V3643))) (true (shen.f_error foldl)))) + +(defun mapf (V3651 V3652 V3653) (cond ((= () V3652) ()) ((cons? V3652) (V3653 (V3651 (hd V3652)) (mapf V3651 (tl V3652) V3653))) (true (shen.f_error mapf)))) + +(defun filter (V3658 V3659) (cond ((= () V3659) ()) ((cons? V3659) (if (V3658 (hd V3659)) (cons (hd V3659) (filter V3658 (tl V3659))) (filter V3658 (tl V3659)))) (true (shen.f_error filter)))) + +(defun remove-if (V3664 V3665) (cond ((= () V3665) ()) ((cons? V3665) (if (V3664 (hd V3665)) (remove-if V3664 (tl V3665)) (cons (hd V3665) (remove-if V3664 (tl V3665))))) (true (shen.f_error remove-if)))) + +(defun list.reduce (V3669 V3670 V3671) (cond ((= () V3671) V3670) ((cons? V3671) (list.reduce V3669 (V3669 V3670 (hd V3671)) (tl V3671))) (true (shen.f_error list.reduce)))) + +(defun take (V3678 V3679) (cond ((= 0 V3678) ()) ((= () V3679) ()) ((cons? V3679) (cons (hd V3679) (take (- V3678 1) (tl V3679)))) (true (shen.f_error take)))) + +(defun take-last (V3682 V3683) (reverse (take V3682 (reverse V3683)))) + +(defun cartprod (V3688 V3689) (cond ((= () V3688) ()) ((cons? V3688) (append (map (lambda W (cons (hd V3688) (cons W ()))) V3689) (cartprod (tl V3688) V3689))) (true (shen.f_error cartprod)))) + +(defun powerset (V3691) (cond ((= () V3691) (cons () ())) ((cons? V3691) (let P (powerset (tl V3691)) (append P (map (lambda Z (cons (hd V3691) Z)) P)))) (true (shen.f_error powerset)))) + +(defun transitive-closure (V3694 V3695) (let Table (list.transitivity-table V3694 V3695) (list.transitive-closure-loop Table))) + +(defun list.transitivity-table (V3698 V3699) (map (lambda X (@p open (cons X (list.xRy V3698 X V3699)))) V3699)) + +(defun list.xRy (V3703 V3704 V3705) (filter (lambda Y (V3703 V3704 Y)) V3705)) + +(defun list.transitive-closure-loop (V3707) (let NewTable (list.compute-closure V3707) (if (every? (function list.closed?) NewTable) (map (lambda V3380 (snd V3380)) NewTable) (list.transitive-closure-loop NewTable)))) + +(defun list.closed? (V3716) (cond ((and (tuple? V3716) (= list.closed (fst V3716))) true) (true false))) + +(defun list.compute-closure (V3718) (map (lambda Row (list.augment-row Row V3718)) V3718)) + +(defun list.augment-row (V3723 V3724) (cond ((and (tuple? V3723) (= list.closed (fst V3723))) V3723) ((and (and (tuple? V3723) (= open (fst V3723))) (cons? (snd V3723))) (let NewEntries (mapcan (lambda Entry (list.lookup Entry V3724)) (tl (snd V3723))) (let NewSet (remove-duplicates NewEntries) (if (empty? (difference NewSet (tl (snd V3723)))) (@p list.closed (snd V3723)) (@p open (cons (hd (snd V3723)) NewSet)))))) (true (shen.f_error list.augment-row)))) + +(defun list.lookup (V3736 V3737) (cond ((= () V3737) (cons V3736 ())) ((and (and (and (cons? V3737) (tuple? (hd V3737))) (cons? (snd (hd V3737)))) (= (hd (snd (hd V3737))) V3736)) (snd (hd V3737))) ((cons? V3737) (list.lookup V3736 (tl V3737))) (true (shen.f_error list.lookup)))) + +(defun x->ascii (V3739) (map (lambda V3381 (string->n V3381)) (explode V3739))) + +(defun splice (V3743 V3744 V3745) (cond ((= 1 V3743) (append V3744 V3745)) ((cons? V3745) (cons (hd V3745) (splice (- V3743 1) V3744 (tl V3745)))) (true (shen.f_error splice)))) + diff --git a/kernel/stlib/Maths/r.shen b/kernel/stlib/Maths/r.shen new file mode 100644 index 0000000..70266a1 --- /dev/null +++ b/kernel/stlib/Maths/r.shen @@ -0,0 +1,6 @@ +(package rational (append [r-reduce r= r< r> r>= r<= r+ r- r* r/ r-expr +-inverse *-inverse + r-expt r->n r->pair n->r maths.n->r r-approx maths.lcd-loop + r-op1 r-op2] + (external maths)) + + a) \ No newline at end of file diff --git a/kernel/stlib/PROVENANCE.md b/kernel/stlib/PROVENANCE.md index 2964e4c..11fea26 100644 --- a/kernel/stlib/PROVENANCE.md +++ b/kernel/stlib/PROVENANCE.md @@ -1,63 +1,10 @@ # Standard library provenance -These are Mark Tarver's **S41.2 (2026-07-11 refresh)** standard-library -sources — the `Lib/StLib` tree of the refreshed Shen release. They are the -stdlib **source of truth** for this port, loaded at boot by -`crates/shen-rust/src/interp/boot.rs` (`load_stlib`), which runs upstream's -`install.shen`. This **retires the old community `stlib.kl` overlay** -(pre-compiled KLambda) that the port previously vendored under -`kernel/klambda/`. - -## Why sources, not the compiled overlay - -The community `ShenOSKernel-41.2` shipped the stdlib as a pre-compiled -`stlib.kl`. Installing those `defun`s bypassed the kernel's `load`/`define` -path, so stdlib functions ended up with the "unknown" arity `-1`: bare -`(fn filter)` and top-level `(filter …)` failed with -`fn: filter is undefined`. Loading the `.shen` sources through the real -`load` (as upstream's `install.shen` does) registers correct arities and -package namespacing, fixing that. Regression: -`crates/shen-rust/tests/library.rs::stdlib_loaded_from_source_has_real_arities`. - -## Canonical source - -- Repo: `pyrex41/shen-upstream` (the designated mirror of Tarver's uploads; - formerly `pyrex41/shen-s41.1` — old URLs redirect) -- Tag: `s41.2-pristine-20260711` -- Commit: `11fc51bdf53a4dcb505adeec6ec8352754cbe50f` -- Path in mirror: `Lib/StLib/` - -All files here are `diff`-verified byte-identical to that path at that tag -(22 files). Original upstream: the `Lib/StLib` directory of -`https://www.shenlanguage.org/Download/S41.2.zip` (Last-Modified -2026-07-11, zip sha256 `51becbf…3ee836`; see -`../klambda/PROVENANCE.md`). - -## What is vendored - -Exactly the files `install.shen` loads (plus `install.shen` and -`package-stlib.shen`): `Symbols/`, `Maths/` (incl. the `.dtype` -datatypes), `Lists/`, `Strings/`, `Vectors/`, `IO/`, `Tuples/`. The -StLib extras not referenced by `install.shen` (`Calendar/`, `Data/`, -`Maths/r.shen`, `Strings/regex.shen`, `Strings/smartmem.shen`) are **not** -vendored. - -## Load mechanism - -`load_stlib` rewrites `install.shen`'s relative `(load "…")` paths to -absolute paths under this directory (into a per-boot temp file) and loads -that, so no process-cwd mutation is needed and concurrent interpreter -boots stay re-entrant. The load runs under `*hush*` to keep the per-file -"…loaded"/type-signature chatter off the boot path. - -Note: package-internal (non-exported) stdlib functions are namespaced — -e.g. `reduce` lives inside `(package list …)` and is reachable as -`list.reduce`, not bare `reduce`. Exported names (`filter`, `sq`, …) are -global. Because exported stdlib functions become **system functions**, a -user `(define …)` over one is refused by the kernel (as on shen-cl). - -## Follow-up - -`shen_boot_embedded` (shenffi, no-filesystem iOS path) does not yet bundle -these sources, so that path brings up the kernel without the stdlib — -embedding the StLib sources for the no-fs boot is future work. +These files are sourced from Mark Tarver's Shen 42.0 archive, `Lib/StLib/`. +Canonical source: `pyrex41/shen-upstream`, tag `s42-pristine-20260825`. +Original archive: https://www.shenlanguage.org/Download/S42.zip +Archive SHA-256: `30abdc7e5a1e27b7a20109c1ed141e4712885e31f24d9710d16415fbbd4dfb23` + +The complete S42 `Lib/StLib` tree is vendored so `install.shen` and optional +library modules retain upstream behavior. `boot::load_stlib` rewrites the +relative paths in `install.shen` and loads the sources after the kernel. diff --git a/kernel/stlib/Strings/regex.shen b/kernel/stlib/Strings/regex.shen new file mode 100644 index 0000000..375e668 --- /dev/null +++ b/kernel/stlib/Strings/regex.shen @@ -0,0 +1,286 @@ + +(package regexp [] + +(datatype re-state + String : string; + Index : number; + Matches : [number]; + ========================================== + (@p (@p String Index) Matches) : re-state; + + Simple-state : string; + ======================= + Simple-state : re-state; + + _________________ + false : re-state;) + +(datatype re-next + + Re-string : string; + =================== + Re-string : re-next; + + ______________ + eos : re-next;) + +\\ re-state holds the state and match data of regular expressions + +(define new-state + {re-state --> re-state} + (@p (@p String Index) Matches) -> (@p (@p String Index) Matches) + String -> (@p (@p String 0) []) where (string? String)) + +(define state + {re-state --> (string * number)} + (@p (@p String Index) Matches) -> (@p String Index) + String -> (@p String 0) where (string? String)) + +(define index + {re-state --> number} + X -> (snd (state X))) + +(define matches + {re-state --> [number]} + (@p (@p String Index) Matches) -> Matches + String -> [] where (string? String)) + +(define next + {re-state --> re-next} + (@p (@p String Index) Matches) -> (trap-error (pos String Index) (/. X eos)) + String -> (next (new-state String)) where (string? String) + What -> (print (make-string "what the ~S" What))) + +(define increment + {re-state --> re-state} + (@p (@p String Index) Matches) -> (@p (@p String (+ 1 Index)) Matches) + String -> (increment (new-state String)) where (string? String)) + +(define match-strings + {re-state --> [string]} + false -> [] + String -> [] where (string? String) + (@p (@p S I) [A B|MS]) -> [(substr S A B)|(match-strings (@p (@p S I) MS))]) + +(define starting-at + {re-state --> number --> re-state} + (@p (@p String _) Matches) Index -> (@p (@p String Index) Matches) + String Index -> (starting-at (new-state String) Index) where (string? String)) + +(define successful? + {re-state --> boolean} + false -> false + _ -> true) + +\******************************************************************************* + * compilation of a regular expression from a string representation + *\ +(define re-or + \* Create a disjunction of regular expressions *\ + [] -> (lambda _ false) + [R|Rs] -> (lambda State + (let Result ((re R) State) + (if (successful? Result) + Result + ((re-or Rs) State))))) + +(define re-and + \* Create a conjunction of regular expressions *\ + [] -> (lambda X X) + [R|Rs] -> (lambda State + (let Result ((re R) State) + (if (successful? Result) + ((re-and Rs) Result) + false)))) + +(define re-repeat + \* Repeatedly apply a regular expression until it fails *\ + R -> (let RC (re R) + (lambda State + (let Result (RC State) + (if (successful? Result) + ((re-repeat RC) Result) + State))))) + +(define with-match + \* Wrap a regular expression into a match. *\ + E -> (lambda State + (let Beg (index State) + Result ((re E) State) + (if (successful? Result) + (@p (state Result) [(index Result) Beg|(matches Result)]) + false)))) + +(define re-repeat-lazy + R1 [] -> (lambda State State) + R1 R2 -> (let RC1 (re R1) + RC2 (re R2) + (lambda State + (let Result1 (RC2 State) + (if (successful? Result1) + Result1 + (let Result2 (RC1 State) + (if (successful? Result2) + ((re-repeat-lazy R1 R2) Result2) + false))))))) + +(define compile-1 + \* Condense (...|...) and [...] control constructs *\ + [] -> [] + ["("|Rs] -> (let Inside (take-while (complement (= ")")) Rs) + Leftover (tl (drop-while (complement (= ")")) Rs)) + Split (remove ["|"] (partition-with (= "|") Inside)) + (cons (with-match + (re-or (map (/. X (re-and (compile-2 (compile-1 X)))) + Split))) + (compile-1 Leftover))) + ["["|Rs] -> (let Inside (take-while (complement (= "]")) Rs) + Leftover (tl (drop-while (complement (= "]")) Rs)) + (cons (re-or Inside) (compile-1 Leftover))) + [R|Rs] -> (cons R (compile-1 Rs))) + +(define compile-2 + \* Handle + and * control constructs *\ + [] -> [] + [R "+" "?" |Rs] -> (cons R (compile-2 [R "*" "?"|Rs])) + [R "+"|Rs] -> (cons R (compile-2 [R "*"|Rs])) + [R1 "*" "?" R2|Rs] -> (cons (re-repeat-lazy R1 R2) (compile-2 Rs)) + [R1 "*" "?"|Rs] -> (cons (re-repeat-lazy R1 []) (compile-2 Rs)) + [R "*"|Rs] -> (cons (re-repeat R) (compile-2 Rs)) + [R|Rs] -> (cons R (compile-2 Rs))) + +(define parse + \* Convert a string regexp into a list of compiled regular expressions and strings *\ + {string --> (list A)} + "" -> [] + \* Character Classes *\ + (@s "\\d" Str) -> [(to-re re-digit?) |(parse Str)] + (@s "[:digit:]" Str) -> [(to-re re-digit?) |(parse Str)] + (@s "\\D" Str) -> [(to-re (complement re-digit?)) |(parse Str)] + (@s "\\s" Str) -> [(to-re re-space?) |(parse Str)] + (@s "[:space:]" Str) -> [(to-re re-space?) |(parse Str)] + (@s "\\S" Str) -> [(to-re (complement re-space?)) |(parse Str)] + (@s "\\a" Str) -> [(to-re re-alpha?) |(parse Str)] + (@s "[:alpha:]" Str) -> [(to-re re-alpha?) |(parse Str)] + (@s "\\A" Str) -> [(to-re (complement re-alpha?)) |(parse Str)] + (@s "\\w" Str) -> [(to-re re-word?) |(parse Str)] + (@s "[:word:]" Str) -> [(to-re re-word?) |(parse Str)] + (@s "\\W" Str) -> [(to-re (complement re-word?)) |(parse Str)] + \* Beginning and end markers *\ + \** (@s "^" Str) -> [beginning-of-string? | (parse Str)] **\ + (@s "$" Str) -> [end-of-string? | (parse Str)] + \* Control characters *\ + (@s "(" Str) -> ["("|(parse Str)] (@s ")" Str) -> [")"|(parse Str)] + (@s "[" Str) -> ["["|(parse Str)] (@s "]" Str) -> ["]"|(parse Str)] + (@s "+" Str) -> ["+"|(parse Str)] (@s "*" Str) -> ["*"|(parse Str)] + (@s "|" Str) -> ["|"|(parse Str)] (@s "?" Str) -> ["?"|(parse Str)] + \* Escape'd and Regular Characters *\ + (@s "\\" C Str) -> [(to-re (= C))|(parse Str)] + (@s C Str) -> [(to-re (= C))|(parse Str)]) + +(define to-re + \* Convert a boolean string matcher into a regular expression *\ + {(string --> boolean) --> regexp} + X -> (lambda S (let Next (next S) + (if (and (not (= eos Next)) (X Next)) + (increment S) false)))) + +(define beginning-of-string? + {re-state --> re-state} + S -> (if (= 0 (index S)) S false)) + +(define end-of-string? + {re-state --> re-state} + S -> (if (= eos (next S)) S false)) + +(define re-digit? + {string --> boolean} + X -> (element? X ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"])) + +(define re-alpha? + {string --> boolean} + X -> (element? X ["z" "y" "x" "w" "v" "u" "t" "s" "r" "q" "p" "o" "n" + "m" "l" "k" "j" "i" "h" "g" "f" "e" "d" "c" "b" "a" + "Z" "Y" "X" "W" "V" "U" "T" "S" "R" "Q" "P" "O" "N" + "M" "L" "K" "J" "I" "H" "G" "F" "E" "D" "C" "B" "A"])) + +(define re-word? + {string --> boolean} + X -> (or (re-digit? X) (re-alpha? X))) + +(define re-space? + {string --> boolean} + X -> (element? X [" " " " " +"])) + +\******************************************************************************* + * External functions + *\ +(define re + \* Compile a string or S-expr to a regular expression *\ + Str -> (re-and (compile-2 (compile-1 (parse Str)))) where (string? Str) + digit -> (to-re re-digit?) + space -> (to-re re-space?) + alpha -> (to-re re-alpha?) + word -> (to-re re-word?) + Sym -> (re-and (map (function re) (explode (str Sym)))) where (symbol? Sym) + [- A B] -> (re-range A B) + [| |RS] -> (re-or RS) + [bar! |RS] -> (re-or RS) + [: |RS] -> (re-and RS) + [m |RS] -> (re-match RS) + [+ R] -> (re [: R [* R]]) + [* R] -> (re-repeat R) + [+? A B] -> [: A (re-repeat-lazy A B)] + [+? A] -> [: A (re-repeat-lazy A [])] + [*? A B] -> (re-repeat-lazy A B) + [*? A] -> (re-repeat-lazy A []) + CS -> (re [:|CS]) where (cons? CS) + X -> X) + +(define re-search + \* Parse and search for a regular expression in a string. *\ + {string --> string --> match-data} + Re String -> (re-search-from Re String 0)) + +(define re-search-from + \* Parse and search for a regular expression in a string starting at arg3. *\ + {string --> string --> number --> string} + Re Str Ind -> (re-search- (with-match (re Re)) + (starting-at (new-state Str) Ind))) + +(define re-search- + \* Continue searching forward in for arg1 in arg2 until success or eos *\ + {regex --> re-state --> match-data} + Re State -> (let Try (Re State) + (if (= false Try) + (if (= eos (next State)) + false + (re-search- Re (increment State))) + Try))) + +(define do-matches + \* Call a function on every match of arg2 in arg3 *\ + {(match-data --> A) --> string --> string --> (list A)} + Fn Re Str -> (do-matches- Fn (with-match (re Re)) (new-state Str))) + +(define do-matches- + \* Call arg1 on the match data from every match of arg2 in arg3 *\ + {(match-data --> A) --> regexp --> re-state --> (list A)} + Fn Re State -> (let Try (Re State) + (if (= false Try) + (if (= eos (next State)) + [] + (do-matches- Fn Re (increment State))) + (cons (Fn Try) + (do-matches- Fn Re (@p (state Try) [])))))) + +(define replace-regexp + \* replace all matches of arg1 with arg2 in arg3 *\ + {string --> string --> string --> string} + Regexp Replace String -> + (reduce (/. Match Acc + (@s (substr Acc 0 (nth 2 Match)) + Replace + (substr Acc (nth 1 Match) (length-str Acc)))) + String (reverse (do-matches (function snd) Regexp String)))) ) \ No newline at end of file diff --git a/kernel/stlib/Strings/smartmem.shen b/kernel/stlib/Strings/smartmem.shen new file mode 100644 index 0000000..69d9c9f --- /dev/null +++ b/kernel/stlib/Strings/smartmem.shen @@ -0,0 +1,63 @@ +(package string [render-file render string->list file-extension whitespace?] + +(declare render [string --> string]) +(declare render-file [string --> [string --> string]]) + +(define render-file + File Extension -> (let Bytes (read-file-as-bytelist File) + Strings (bytes->strings Bytes []) + Render (compile (fn ) Strings) + Out (file-extension File Extension) + Write (write-to-file Out Render) + Out)) + +(define bytes->strings + [] Strings -> (reverse Strings) + [Byte | Bytes] Strings -> (bytes->strings Bytes [(n->string Byte) | Strings])) + +(define render + String -> (let L (string->list String) + (if (element? "{" L) + (compile (fn ) L) + String))) + +(define rendered? + "" -> true + (@s "{" _) -> false + (@s _ S) -> (rendered? S)) + +(defcc + "{" "}" := (cn (render (recapply (fn (intern )) )) ); + "{" "}" := (cn (render ((intern ))) ); + := (cn ); + := "";) + +(defcc + S := S where (and (not (= S "}")) (not (= S "\")));) + +(define recapply + X [] -> X + Fn [X | Y] -> (recapply (Fn X) Y)) + +(defcc + "\" := [ | ]; + := [];) + +(defcc + ;) + +(defcc + Char := Char where (and (not (= Char "}")) + (not (= Char "\")));) + +(defcc + W := skip where (whitespace? W);) + +(defcc + := (cn ); + := "";) + +(defcc + Char := Char where (and (not (= Char "}")) + (not (= Char "\")) + (not (whitespace? Char)));)) \ No newline at end of file diff --git a/scripts/shen-check.sh b/scripts/shen-check.sh index e0966f1..239e2d1 100755 --- a/scripts/shen-check.sh +++ b/scripts/shen-check.sh @@ -1,7 +1,7 @@ #!/bin/bash # Gate 4: type-check specs through the shen-rust binary itself. # -# Boots ShenOSKernel-41.2, turns on the type checker, loads the spec +# Boots the Shen 42 kernel, turns on the type checker, loads the spec # file. The kernel reports `typechecked in N inferences` on success; # we grep for that string. set -euo pipefail From 915a6cba459e706e8da39155e0e863b169e97b10 Mon Sep 17 00:00:00 2001 From: Reuben Brooks Date: Thu, 27 Aug 2026 11:09:10 -0500 Subject: [PATCH 2/6] Refresh S42 boot test documentation --- crates/shen-rust/tests/boot_kernel.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/shen-rust/tests/boot_kernel.rs b/crates/shen-rust/tests/boot_kernel.rs index ab580ff..5949dd4 100644 --- a/crates/shen-rust/tests/boot_kernel.rs +++ b/crates/shen-rust/tests/boot_kernel.rs @@ -39,7 +39,7 @@ fn eval(interp: &mut Interp, src: &str) -> Value { #[test] fn kernel_boots_clean() { // Just running boot is the test — it has to load every kernel file - // (incl. the S41.2-refresh self-initialising declarations.kl) without + // (incl. the S42 self-initialising declarations.kl) without // raising. let _ = fresh_booted(); } From 9f81b64d78e96def08ef7577735c1aa7d7d47f3c Mon Sep 17 00:00:00 2001 From: Reuben Brooks Date: Thu, 27 Aug 2026 11:16:30 -0500 Subject: [PATCH 3/6] Handle empty S42 core AOT module --- crates/shen-rust/src/aot/kernel/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/shen-rust/src/aot/kernel/mod.rs b/crates/shen-rust/src/aot/kernel/mod.rs index 57a9202..3d3c642 100644 --- a/crates/shen-rust/src/aot/kernel/mod.rs +++ b/crates/shen-rust/src/aot/kernel/mod.rs @@ -48,7 +48,7 @@ pub mod yacc; pub fn install_all(interp: &mut Interp) { sys::install(interp); writer::install(interp); - core::install(interp); + // S42 core.kl contains no defuns; source loading still handles its forms. reader::install(interp); declarations::install(interp); toplevel::install(interp); From 839cca114b594b2bc191e8aa0fff8308dd293d95 Mon Sep 17 00:00:00 2001 From: Reuben Brooks Date: Thu, 27 Aug 2026 11:33:36 -0500 Subject: [PATCH 4/6] Regenerate S42 core AOT module --- crates/shen-rust/src/aot/kernel/core.rs | 11337 ++++++++++++++++++++++ 1 file changed, 11337 insertions(+) diff --git a/crates/shen-rust/src/aot/kernel/core.rs b/crates/shen-rust/src/aot/kernel/core.rs index 8b13789..762d8db 100644 --- a/crates/shen-rust/src/aot/kernel/core.rs +++ b/crates/shen-rust/src/aot/kernel/core.rs @@ -1 +1,11338 @@ +//! Auto-generated by `klcompile` from kernel/klambda/core.kl. +//! +//! DO NOT EDIT. Re-run klcompile to regenerate. +#![allow( + unused_variables, + unused_braces, + unused_imports, + clippy::let_and_return, + clippy::needless_question_mark, + clippy::redundant_clone, + clippy::needless_late_init, + clippy::len_zero, + clippy::needless_borrow, + clippy::approx_constant, + clippy::redundant_closure_call, + non_snake_case +)] + +use crate::aot::runtime as rt; +use crate::error::{ShenError, ShenResult}; +use crate::interp::eval::Interp; +use crate::value::Value; +use std::rc::Rc; + +/// AOT-compiled from KL `(defun shen.shen->kl ...)` +pub fn aot_shen_x2e_shen_x2d__x3e_kl(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.shen->kl: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V528 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W529 = { + let __t0 = v_V528.clone(); + rt::apply_direct(interp, "shen.shen->kl-h", &[__t0])? + }; + break Ok({ + let __t1 = v_W529.clone(); + rt::apply_direct(interp, "shen.record-and-evaluate", &[__t1])? + }); + } + } +} + +fn install_shen_x2e_shen_x2d__x3e_kl(interp: &mut Interp) { + interp.register_native("shen.shen->kl", 1, aot_shen_x2e_shen_x2d__x3e_kl); + interp.register_aot_direct("shen.shen->kl", aot_shen_x2e_shen_x2d__x3e_kl); +} + +/// AOT-compiled from KL `(defun shen.record-and-evaluate ...)` +pub fn aot_shen_x2e_record_x2d_and_x2d_evaluate( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.record-and-evaluate: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V530 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t58 = { + let __t30 = { + let __t3 = v_V530.clone(); + rt::is_cons(&__t3) + }; + if !rt::is_truthy(interp, &__t30)? { + Value::bool(false) + } else { + let __t31 = { + let __t28 = { + let __t4 = Value::sym(interp.intern("defun")); + let __t6 = { + let __t5 = v_V530.clone(); + rt::hd(&__t5)? + }; + rt::eq(&__t4, &__t6) + }; + if !rt::is_truthy(interp, &__t28)? { + Value::bool(false) + } else { + let __t29 = { + let __t26 = { + let __t8 = { + let __t7 = v_V530.clone(); + rt::tl(&__t7)? + }; + rt::is_cons(&__t8) + }; + if !rt::is_truthy(interp, &__t26)? { + Value::bool(false) + } else { + let __t27 = { + let __t24 = { + let __t11 = { + let __t10 = { + let __t9 = v_V530.clone(); + rt::tl(&__t9)? + }; + rt::tl(&__t10)? + }; + rt::is_cons(&__t11) + }; + if !rt::is_truthy(interp, &__t24)? { + Value::bool(false) + } else { + let __t25 = { + let __t22 = { + let __t15 = { + let __t14 = { + let __t13 = { + let __t12 = v_V530.clone(); + rt::tl(&__t12)? + }; + rt::tl(&__t13)? + }; + rt::tl(&__t14)? + }; + rt::is_cons(&__t15) + }; + if !rt::is_truthy(interp, &__t22)? { + Value::bool(false) + } else { + let __t23 = { + let __t16 = Value::nil(); + let __t21 = { + let __t20 = { + let __t19 = { + let __t18 = { + let __t17 = v_V530.clone(); + rt::tl(&__t17)? + }; + rt::tl(&__t18)? + }; + rt::tl(&__t19)? + }; + rt::tl(&__t20)? + }; + rt::eq(&__t16, &__t21) + }; + Value::bool(rt::is_truthy(interp, &__t23)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t25)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t27)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t29)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t31)?) + } + }; + if match rt::is_truthy(interp, &__t58) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W531 = { + let __t41 = { + let __t34 = { + let __t33 = { + let __t32 = v_V530.clone(); + rt::tl(&__t32)? + }; + rt::hd(&__t33)? + }; + rt::apply_direct(interp, "shen.sysfunc?", &[__t34])? + }; + if rt::is_truthy(interp, &__t41)? { + { + let __t40 = { + let __t37 = { + let __t36 = { + let __t35 = v_V530.clone(); + rt::tl(&__t35)? + }; + rt::hd(&__t36)? + }; + let __t38 = Value::str(" is not a legitimate function name\n"); + let __t39 = Value::sym(interp.intern("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t37, __t38, __t39])? + }; + rt::apply_direct(interp, "simple-error", &[__t40])? + } + } else { + Value::sym(interp.intern("shen.skip")) + } + }; + { + let v_W532 = { + let __t44 = { + let __t43 = { + let __t42 = v_V530.clone(); + rt::tl(&__t42)? + }; + rt::hd(&__t43)? + }; + let __t49 = { + let __t48 = { + let __t47 = { + let __t46 = { + let __t45 = v_V530.clone(); + rt::tl(&__t45)? + }; + rt::tl(&__t46)? + }; + rt::hd(&__t47)? + }; + rt::apply_direct(interp, "length", &[__t48])? + }; + rt::apply_direct(interp, "shen.store-arity", &[__t44, __t49])? + }; + { + let v_W533 = { + let __t52 = { + let __t51 = { + let __t50 = v_V530.clone(); + rt::tl(&__t50)? + }; + rt::hd(&__t51)? + }; + let __t53 = v_V530.clone(); + rt::apply_direct(interp, "shen.record-kl", &[__t52, __t53])? + }; + { + let v_W534 = { + let __t54 = v_V530.clone(); + rt::apply_direct(interp, "eval-kl", &[__t54])? + }; + break Ok({ + let __t57 = { + let __t56 = { + let __t55 = v_V530.clone(); + rt::tl(&__t55)? + }; + rt::hd(&__t56)? + }; + rt::apply_direct(interp, "shen.fn-print", &[__t57])? + }); + } + } + } + } + } else { + { + let __t2 = Value::bool(true); + if match rt::is_truthy(interp, &__t2) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V530.clone()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_record_x2d_and_x2d_evaluate(interp: &mut Interp) { + interp.register_native( + "shen.record-and-evaluate", + 1, + aot_shen_x2e_record_x2d_and_x2d_evaluate, + ); + interp.register_aot_direct( + "shen.record-and-evaluate", + aot_shen_x2e_record_x2d_and_x2d_evaluate, + ); +} + +/// AOT-compiled from KL `(defun shen.shen->kl-h ...)` +pub fn aot_shen_x2e_shen_x2d__x3e_kl_x2d_h( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.shen->kl-h: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V535 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t178 = { + let __t170 = { + let __t162 = v_V535.clone(); + rt::is_cons(&__t162) + }; + if !rt::is_truthy(interp, &__t170)? { + Value::bool(false) + } else { + let __t171 = { + let __t168 = { + let __t163 = Value::sym(interp.intern("define")); + let __t165 = { + let __t164 = v_V535.clone(); + rt::hd(&__t164)? + }; + rt::eq(&__t163, &__t165) + }; + if !rt::is_truthy(interp, &__t168)? { + Value::bool(false) + } else { + let __t169 = { + let __t167 = { + let __t166 = v_V535.clone(); + rt::tl(&__t166)? + }; + rt::is_cons(&__t167) + }; + Value::bool(rt::is_truthy(interp, &__t169)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t171)?) + } + }; + if match rt::is_truthy(interp, &__t178) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t174 = { + let __t173 = { + let __t172 = v_V535.clone(); + rt::tl(&__t172)? + }; + rt::hd(&__t173)? + }; + let __t177 = { + let __t176 = { + let __t175 = v_V535.clone(); + rt::tl(&__t175)? + }; + rt::tl(&__t176)? + }; + rt::apply_direct(interp, "shen.shendef->kldef", &[__t174, __t177])? + }); + } else { + { + let __t161 = { + let __t159 = { + let __t132 = v_V535.clone(); + rt::is_cons(&__t132) + }; + if !rt::is_truthy(interp, &__t159)? { + Value::bool(false) + } else { + let __t160 = { + let __t157 = { + let __t133 = Value::sym(interp.intern("defun")); + let __t135 = { + let __t134 = v_V535.clone(); + rt::hd(&__t134)? + }; + rt::eq(&__t133, &__t135) + }; + if !rt::is_truthy(interp, &__t157)? { + Value::bool(false) + } else { + let __t158 = { + let __t155 = { + let __t137 = { + let __t136 = v_V535.clone(); + rt::tl(&__t136)? + }; + rt::is_cons(&__t137) + }; + if !rt::is_truthy(interp, &__t155)? { + Value::bool(false) + } else { + let __t156 = { + let __t153 = { + let __t140 = { + let __t139 = { + let __t138 = v_V535.clone(); + rt::tl(&__t138)? + }; + rt::tl(&__t139)? + }; + rt::is_cons(&__t140) + }; + if !rt::is_truthy(interp, &__t153)? { + Value::bool(false) + } else { + let __t154 = { + let __t151 = { + let __t144 = { + let __t143 = { + let __t142 = { + let __t141 = v_V535.clone(); + rt::tl(&__t141)? + }; + rt::tl(&__t142)? + }; + rt::tl(&__t143)? + }; + rt::is_cons(&__t144) + }; + if !rt::is_truthy(interp, &__t151)? { + Value::bool(false) + } else { + let __t152 = { + let __t145 = Value::nil(); + let __t150 = { + let __t149 = { + let __t148 = { + let __t147 = { + let __t146 = + v_V535.clone(); + rt::tl(&__t146)? + }; + rt::tl(&__t147)? + }; + rt::tl(&__t148)? + }; + rt::tl(&__t149)? + }; + rt::eq(&__t145, &__t150) + }; + Value::bool(rt::is_truthy( + interp, &__t152, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t154)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t156)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t158)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t160)?) + } + }; + if match rt::is_truthy(interp, &__t161) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V535.clone()); + } else { + { + let __t131 = { + let __t117 = { + let __t97 = v_V535.clone(); + rt::is_cons(&__t97) + }; + if !rt::is_truthy(interp, &__t117)? { + Value::bool(false) + } else { + let __t118 = { + let __t115 = { + let __t98 = Value::sym(interp.intern("type")); + let __t100 = { + let __t99 = v_V535.clone(); + rt::hd(&__t99)? + }; + rt::eq(&__t98, &__t100) + }; + if !rt::is_truthy(interp, &__t115)? { + Value::bool(false) + } else { + let __t116 = { + let __t113 = { + let __t102 = { + let __t101 = v_V535.clone(); + rt::tl(&__t101)? + }; + rt::is_cons(&__t102) + }; + if !rt::is_truthy(interp, &__t113)? { + Value::bool(false) + } else { + let __t114 = { + let __t111 = { + let __t105 = { + let __t104 = { + let __t103 = v_V535.clone(); + rt::tl(&__t103)? + }; + rt::tl(&__t104)? + }; + rt::is_cons(&__t105) + }; + if !rt::is_truthy(interp, &__t111)? { + Value::bool(false) + } else { + let __t112 = { + let __t106 = Value::nil(); + let __t110 = { + let __t109 = { + let __t108 = { + let __t107 = + v_V535.clone(); + rt::tl(&__t107)? + }; + rt::tl(&__t108)? + }; + rt::tl(&__t109)? + }; + rt::eq(&__t106, &__t110) + }; + Value::bool(rt::is_truthy( + interp, &__t112, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t114)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t116)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t118)?) + } + }; + if match rt::is_truthy(interp, &__t131) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t119 = Value::sym(interp.intern("type")); + let __t130 = { + let __t122 = { + let __t121 = { + let __t120 = v_V535.clone(); + rt::tl(&__t120)? + }; + rt::hd(&__t121)? + }; + let __t129 = { + let __t127 = { + let __t126 = { + let __t125 = { + let __t124 = { + let __t123 = v_V535.clone(); + rt::tl(&__t123)? + }; + rt::tl(&__t124)? + }; + rt::hd(&__t125)? + }; + rt::apply_direct( + interp, + "shen.rcons_form", + &[__t126], + )? + }; + let __t128 = Value::nil(); + rt::cons(&__t127, &__t128) + }; + rt::cons(&__t122, &__t129) + }; + rt::cons(&__t119, &__t130) + }); + } else { + { + let __t96 = { + let __t85 = { + let __t65 = v_V535.clone(); + rt::is_cons(&__t65) + }; + if !rt::is_truthy(interp, &__t85)? { + Value::bool(false) + } else { + let __t86 = { + let __t83 = { + let __t66 = Value::sym(interp.intern("input+")); + let __t68 = { + let __t67 = v_V535.clone(); + rt::hd(&__t67)? + }; + rt::eq(&__t66, &__t68) + }; + if !rt::is_truthy(interp, &__t83)? { + Value::bool(false) + } else { + let __t84 = { + let __t81 = { + let __t70 = { + let __t69 = v_V535.clone(); + rt::tl(&__t69)? + }; + rt::is_cons(&__t70) + }; + if !rt::is_truthy(interp, &__t81)? { + Value::bool(false) + } else { + let __t82 = { + let __t79 = { + let __t73 = { + let __t72 = { + let __t71 = + v_V535.clone(); + rt::tl(&__t71)? + }; + rt::tl(&__t72)? + }; + rt::is_cons(&__t73) + }; + if !rt::is_truthy(interp, &__t79)? { + Value::bool(false) + } else { + let __t80 = { + let __t74 = Value::nil(); + let __t78 = { + let __t77 = { + let __t76 = { + let __t75 = + v_V535 + .clone( + ); + rt::tl(&__t75)? + }; + rt::tl(&__t76)? + }; + rt::tl(&__t77)? + }; + rt::eq(&__t74, &__t78) + }; + Value::bool(rt::is_truthy( + interp, &__t80, + )?) + } + }; + Value::bool(rt::is_truthy( + interp, &__t82, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t84)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t86)?) + } + }; + if match rt::is_truthy(interp, &__t96) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t87 = Value::sym(interp.intern("input+")); + let __t95 = { + let __t91 = { + let __t90 = { + let __t89 = { + let __t88 = v_V535.clone(); + rt::tl(&__t88)? + }; + rt::hd(&__t89)? + }; + rt::apply_direct( + interp, + "shen.rcons_form", + &[__t90], + )? + }; + let __t94 = { + let __t93 = { + let __t92 = v_V535.clone(); + rt::tl(&__t92)? + }; + rt::tl(&__t93)? + }; + rt::cons(&__t91, &__t94) + }; + rt::cons(&__t87, &__t95) + }); + } else { + { + let __t64 = { + let __t60 = v_V535.clone(); + rt::is_cons(&__t60) + }; + if match rt::is_truthy(interp, &__t64) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t62 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z536 = args[0].clone(); + Ok({ + let __t61 = v_Z536.clone(); + rt::apply_direct( + interp, + "shen.shen->kl-h", + &[__t61], + )? + }) + }, + Vec::new(), + interp, + ) + }; + let __t63 = v_V535.clone(); + rt::apply_direct( + interp, + "map", + &[__t62, __t63], + )? + }); + } else { + { + let __t59 = Value::bool(true); + if match rt::is_truthy(interp, &__t59) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V535.clone()); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_shen_x2d__x3e_kl_x2d_h(interp: &mut Interp) { + interp.register_native("shen.shen->kl-h", 1, aot_shen_x2e_shen_x2d__x3e_kl_x2d_h); + interp.register_aot_direct("shen.shen->kl-h", aot_shen_x2e_shen_x2d__x3e_kl_x2d_h); +} + +/// AOT-compiled from KL `(defun shen.shendef->kldef ...)` +pub fn aot_shen_x2e_shendef_x2d__x3e_kldef( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.shendef->kldef: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V537 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V538 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + break Ok({ + let __t180 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z539 = args[0].clone(); + Ok({ + let __t179 = v_Z539.clone(); + rt::apply_direct(interp, "shen.", &[__t179])? + }) + }, + Vec::new(), + interp, + ) + }; + let __t183 = { + let __t181 = v_V537.clone(); + let __t182 = v_V538.clone(); + rt::cons(&__t181, &__t182) + }; + rt::apply_direct(interp, "compile", &[__t180, __t183])? + }); + } +} + +fn install_shen_x2e_shendef_x2d__x3e_kldef(interp: &mut Interp) { + interp.register_native( + "shen.shendef->kldef", + 2, + aot_shen_x2e_shendef_x2d__x3e_kldef, + ); + interp.register_aot_direct("shen.shendef->kldef", aot_shen_x2e_shendef_x2d__x3e_kldef); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_define_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V540 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W541 = { + let v_W542 = { + let __t184 = v_V540.clone(); + rt::apply_direct(interp, "shen.", &[__t184])? + }; + { + let __t209 = { + let __t185 = v_W542.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t185])? + }; + if rt::is_truthy(interp, &__t209)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W543 = { + let __t186 = v_W542.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t186])? + }; + { + let v_W544 = { + let __t187 = v_W542.clone(); + rt::apply_direct(interp, "shen.in->", &[__t187])? + }; + { + let __t208 = { + let __t188 = v_W544.clone(); + let __t189 = Value::sym(interp.intern("{")); + rt::apply_direct(interp, "shen.hds=?", &[__t188, __t189])? + }; + if rt::is_truthy(interp, &__t208)? { + { + let v_W545 = { + let __t190 = v_W544.clone(); + rt::apply_direct(interp, "tail", &[__t190])? + }; + { + let v_W546 = { + let __t191 = v_W545.clone(); + rt::apply_direct( + interp, + "shen.", + &[__t191], + )? + }; + { + let __t207 = { + let __t192 = v_W546.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t192], + )? + }; + if rt::is_truthy(interp, &__t207)? { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } else { + { + let v_W547 = { + let __t193 = v_W546.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t193], + )? + }; + { + let __t206 = { + let __t194 = v_W547.clone(); + let __t195 = Value::sym( + interp.intern("}"), + ); + rt::apply_direct( + interp, + "shen.hds=?", + &[__t194, __t195], + )? + }; + if rt::is_truthy(interp, &__t206)? { + { + let v_W548 = { + let __t196 = + v_W547.clone(); + rt::apply_direct( + interp, + "tail", + &[__t196], + )? + }; + { + let v_W549 = { + let __t197 = + v_W548.clone(); + rt::apply_direct( + interp, + "shen.", + &[__t197], + )? + }; + { + let __t205 = { + let __t198 = + v_W549 + .clone( + ); + rt::apply_direct(interp, "shen.parse-failure?", &[__t198])? + }; + if rt::is_truthy( + interp, &__t205, + )? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W550 = { + let __t199 = v_W549.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t199])? + }; + { + let v_W551 = { + let __t200 = v_W549.clone(); + rt::apply_direct(interp, "shen.in->", &[__t200])? + }; + { + let __t201 = v_W551.clone(); + let __t204 = { let __t202 = v_W543.clone(); let __t203 = v_W550.clone(); rt::apply_direct(interp, "shen.shendef->kldef-h", &[__t202, __t203])? }; + rt::apply_direct(interp, "shen.comb", &[__t201, __t204])? + } + } + } + } + } + } + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + } + } + } + } + } + }; + { + let __t211 = { + let __t210 = v_W541.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t210])? + }; + if match rt::is_truthy(interp, &__t211) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W552 = { + let v_W553 = { + let __t212 = v_V540.clone(); + rt::apply_direct(interp, "shen.", &[__t212])? + }; + { + let __t225 = { + let __t213 = v_W553.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t213])? + }; + if rt::is_truthy(interp, &__t225)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W554 = { + let __t214 = v_W553.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t214])? + }; + { + let v_W555 = { + let __t215 = v_W553.clone(); + rt::apply_direct(interp, "shen.in->", &[__t215])? + }; + { + let v_W556 = { + let __t216 = v_W555.clone(); + rt::apply_direct( + interp, + "shen.", + &[__t216], + )? + }; + { + let __t224 = { + let __t217 = v_W556.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t217], + )? + }; + if rt::is_truthy(interp, &__t224)? { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } else { + { + let v_W557 = { + let __t218 = v_W556.clone(); + rt::apply_direct( + interp, + "shen.<-out", + &[__t218], + )? + }; + { + let v_W558 = { + let __t219 = v_W556.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t219], + )? + }; + { + let __t220 = v_W558.clone(); + let __t223 = { + let __t221 = v_W554.clone(); + let __t222 = v_W557.clone(); + rt::apply_direct( + interp, + "shen.shendef->kldef-h", + &[__t221, __t222], + )? + }; + rt::apply_direct( + interp, + "shen.comb", + &[__t220, __t223], + )? + } + } + } + } + } + } + } + } + } + } + }; + { + let __t227 = { + let __t226 = v_W552.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t226])? + }; + if match rt::is_truthy(interp, &__t227) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W552.clone()); + } + } + } + } else { + break Ok(v_W541.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_define_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_define_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_define_x3e_); +} + +/// AOT-compiled from KL `(defun shen.shendef->kldef-h ...)` +pub fn aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.shendef->kldef-h: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V559 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V560 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W561 = { + let __t229 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z562 = args[0].clone(); + Ok({ + let __t228 = v_Z562.clone(); + rt::apply_direct(interp, "fst", &[__t228])? + }) + }, + Vec::new(), + interp, + ) + }; + let __t230 = v_V560.clone(); + rt::apply_direct(interp, "map", &[__t229, __t230])? + }; + { + let v_W563 = { + let __t231 = v_V559.clone(); + let __t232 = v_W561.clone(); + rt::apply_direct(interp, "shen.arity-chk", &[__t231, __t232])? + }; + { + let v_W564 = { + let __t235 = { + let v_V559 = v_V559.clone(); + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z565 = args[0].clone(); + Ok({ + let __t233 = v_V559.clone(); + let __t234 = v_Z565.clone(); + rt::apply_direct( + interp, + "shen.free-var-chk", + &[__t233, __t234], + )? + }) + }, + vec![v_V559], + interp, + ) + }; + let __t236 = v_V560.clone(); + rt::apply_direct(interp, "map", &[__t235, __t236])? + }; + { + let v_W566 = { + let __t237 = v_V560.clone(); + rt::apply_direct(interp, "shen.unprotect", &[__t237])? + }; + { + let v_W567 = { + let __t241 = { + let __t238 = v_V559.clone(); + let __t239 = v_W566.clone(); + let __t240 = v_W563.clone(); + rt::apply_direct( + interp, + "shen.compile-to-kl", + &[__t238, __t239, __t240], + )? + }; + rt::apply_direct(interp, "shen.factorise-code", &[__t241])? + }; + break Ok(v_W567.clone()); + } + } + } + } + } + } +} + +fn install_shen_x2e_shendef_x2d__x3e_kldef_x2d_h(interp: &mut Interp) { + interp.register_native( + "shen.shendef->kldef-h", + 2, + aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h, + ); + interp.register_aot_direct( + "shen.shendef->kldef-h", + aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h, + ); +} + +/// AOT-compiled from KL `(defun shen.unprotect ...)` +pub fn aot_shen_x2e_unprotect(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.unprotect: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V568 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t275 = { + let __t268 = v_V568.clone(); + rt::apply_direct(interp, "tuple?", &[__t268])? + }; + if match rt::is_truthy(interp, &__t275) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t271 = { + let __t270 = { + let __t269 = v_V568.clone(); + rt::apply_direct(interp, "fst", &[__t269])? + }; + rt::apply_direct(interp, "shen.unprotect", &[__t270])? + }; + let __t274 = { + let __t273 = { + let __t272 = v_V568.clone(); + rt::apply_direct(interp, "snd", &[__t272])? + }; + rt::apply_direct(interp, "shen.unprotect", &[__t273])? + }; + rt::apply_direct(interp, "@p", &[__t271, __t274])? + }); + } else { + { + let __t267 = { + let __t262 = { + let __t248 = v_V568.clone(); + rt::is_cons(&__t248) + }; + if !rt::is_truthy(interp, &__t262)? { + Value::bool(false) + } else { + let __t263 = { + let __t260 = { + let __t249 = Value::sym(interp.intern("protect")); + let __t251 = { + let __t250 = v_V568.clone(); + rt::hd(&__t250)? + }; + rt::eq(&__t249, &__t251) + }; + if !rt::is_truthy(interp, &__t260)? { + Value::bool(false) + } else { + let __t261 = { + let __t258 = { + let __t253 = { + let __t252 = v_V568.clone(); + rt::tl(&__t252)? + }; + rt::is_cons(&__t253) + }; + if !rt::is_truthy(interp, &__t258)? { + Value::bool(false) + } else { + let __t259 = { + let __t254 = Value::nil(); + let __t257 = { + let __t256 = { + let __t255 = v_V568.clone(); + rt::tl(&__t255)? + }; + rt::tl(&__t256)? + }; + rt::eq(&__t254, &__t257) + }; + Value::bool(rt::is_truthy(interp, &__t259)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t261)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t263)?) + } + }; + if match rt::is_truthy(interp, &__t267) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t266 = { + let __t265 = { + let __t264 = v_V568.clone(); + rt::tl(&__t264)? + }; + rt::hd(&__t265)? + }; + v_V568 = __t266; + continue; + } + } else { + { + let __t247 = { + let __t243 = v_V568.clone(); + rt::is_cons(&__t243) + }; + if match rt::is_truthy(interp, &__t247) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t245 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z569 = args[0].clone(); + Ok({ + let __t244 = v_Z569.clone(); + rt::apply_direct( + interp, + "shen.unprotect", + &[__t244], + )? + }) + }, + Vec::new(), + interp, + ) + }; + let __t246 = v_V568.clone(); + rt::apply_direct(interp, "map", &[__t245, __t246])? + }); + } else { + { + let __t242 = Value::bool(true); + if match rt::is_truthy(interp, &__t242) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V568.clone()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_unprotect(interp: &mut Interp) { + interp.register_native("shen.unprotect", 1, aot_shen_x2e_unprotect); + interp.register_aot_direct("shen.unprotect", aot_shen_x2e_unprotect); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_name_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V570 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W571 = { + let __t291 = { + let __t276 = v_V570.clone(); + rt::is_cons(&__t276) + }; + if rt::is_truthy(interp, &__t291)? { + { + let v_W572 = { + let __t277 = v_V570.clone(); + rt::apply_direct(interp, "head", &[__t277])? + }; + { + let v_W573 = { + let __t278 = v_V570.clone(); + rt::apply_direct(interp, "tail", &[__t278])? + }; + { + let __t279 = v_W573.clone(); + let __t290 = { + let __t289 = { + let __t283 = { + let __t280 = v_W572.clone(); + rt::is_symbol(&__t280) + }; + if !rt::is_truthy(interp, &__t283)? { + Value::bool(false) + } else { + let __t284 = { + let __t282 = { + let __t281 = v_W572.clone(); + rt::apply_direct( + interp, + "variable?", + &[__t281], + )? + }; + rt::apply_direct(interp, "not", &[__t282])? + }; + Value::bool(rt::is_truthy(interp, &__t284)?) + } + }; + if rt::is_truthy(interp, &__t289)? { + v_W572.clone() + } else { + { + let __t288 = { + let __t285 = v_W572.clone(); + let __t286 = Value::str( + " is not a legitimate function name.\n", + ); + let __t287 = Value::sym(interp.intern("shen.a")); + rt::apply_direct( + interp, + "shen.app", + &[__t285, __t286, __t287], + )? + }; + rt::apply_direct(interp, "simple-error", &[__t288])? + } + } + }; + rt::apply_direct(interp, "shen.comb", &[__t279, __t290])? + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + }; + { + let __t293 = { + let __t292 = v_W571.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t292])? + }; + if match rt::is_truthy(interp, &__t293) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W571.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_name_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_name_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_name_x3e_); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_signature_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V574 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W575 = { + let __t314 = { + let __t294 = v_V574.clone(); + rt::is_cons(&__t294) + }; + if rt::is_truthy(interp, &__t314)? { + { + let v_W576 = { + let __t295 = v_V574.clone(); + rt::apply_direct(interp, "head", &[__t295])? + }; + { + let v_W577 = { + let __t296 = v_V574.clone(); + rt::apply_direct(interp, "tail", &[__t296])? + }; + { + let v_W578 = { + let __t297 = v_W577.clone(); + rt::apply_direct(interp, "shen.", &[__t297])? + }; + { + let __t313 = { + let __t298 = v_W578.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t298])? + }; + if rt::is_truthy(interp, &__t313)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W579 = { + let __t299 = v_W578.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t299])? + }; + { + let v_W580 = { + let __t300 = v_W578.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t300], + )? + }; + { + let __t312 = { + let __t307 = { + let __t301 = v_W576.clone(); + let __t306 = { + let __t302 = + Value::sym(interp.intern("{")); + let __t305 = { + let __t303 = Value::sym( + interp.intern("}"), + ); + let __t304 = Value::nil(); + rt::cons(&__t303, &__t304) + }; + rt::cons(&__t302, &__t305) + }; + rt::apply_direct( + interp, + "element?", + &[__t301, __t306], + )? + }; + rt::apply_direct(interp, "not", &[__t307])? + }; + if rt::is_truthy(interp, &__t312)? { + { + let __t308 = v_W580.clone(); + let __t311 = { + let __t309 = v_W576.clone(); + let __t310 = v_W579.clone(); + rt::cons(&__t309, &__t310) + }; + rt::apply_direct( + interp, + "shen.comb", + &[__t308, __t311], + )? + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } + } + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + }; + { + let __t316 = { + let __t315 = v_W575.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t315])? + }; + if match rt::is_truthy(interp, &__t316) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W581 = { + let v_W582 = { + let __t317 = v_V574.clone(); + rt::apply_direct(interp, "", &[__t317])? + }; + { + let __t322 = { + let __t318 = v_W582.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t318])? + }; + if rt::is_truthy(interp, &__t322)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W583 = { + let __t319 = v_W582.clone(); + rt::apply_direct(interp, "shen.in->", &[__t319])? + }; + { + let __t320 = v_W583.clone(); + let __t321 = Value::nil(); + rt::apply_direct( + interp, + "shen.comb", + &[__t320, __t321], + )? + } + } + } + } + }; + { + let __t324 = { + let __t323 = v_W581.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t323])? + }; + if match rt::is_truthy(interp, &__t324) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W581.clone()); + } + } + } + } else { + break Ok(v_W575.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_signature_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_signature_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_signature_x3e_); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_rules_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V584 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W585 = { + let v_W586 = { + let __t325 = v_V584.clone(); + rt::apply_direct(interp, "shen.", &[__t325])? + }; + { + let __t339 = { + let __t326 = v_W586.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t326])? + }; + if rt::is_truthy(interp, &__t339)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W587 = { + let __t327 = v_W586.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t327])? + }; + { + let v_W588 = { + let __t328 = v_W586.clone(); + rt::apply_direct(interp, "shen.in->", &[__t328])? + }; + { + let v_W589 = { + let __t329 = v_W588.clone(); + rt::apply_direct(interp, "shen.", &[__t329])? + }; + { + let __t338 = { + let __t330 = v_W589.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t330], + )? + }; + if rt::is_truthy(interp, &__t338)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W590 = { + let __t331 = v_W589.clone(); + rt::apply_direct( + interp, + "shen.<-out", + &[__t331], + )? + }; + { + let v_W591 = { + let __t332 = v_W589.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t332], + )? + }; + { + let __t333 = v_W591.clone(); + let __t337 = { + let __t335 = { + let __t334 = v_W587.clone(); + rt::apply_direct( + interp, + "shen.linearise", + &[__t334], + )? + }; + let __t336 = v_W590.clone(); + rt::cons(&__t335, &__t336) + }; + rt::apply_direct( + interp, + "shen.comb", + &[__t333, __t337], + )? + } + } + } + } + } + } + } + } + } + } + }; + { + let __t341 = { + let __t340 = v_W585.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t340])? + }; + if match rt::is_truthy(interp, &__t341) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W592 = { + let v_W593 = { + let __t342 = v_V584.clone(); + rt::apply_direct(interp, "", &[__t342])? + }; + { + let __t356 = { + let __t343 = v_W593.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t343])? + }; + if rt::is_truthy(interp, &__t356)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W594 = { + let __t344 = v_W593.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t344])? + }; + { + let v_W595 = { + let __t345 = v_W593.clone(); + rt::apply_direct(interp, "shen.in->", &[__t345])? + }; + { + let __t346 = v_W595.clone(); + let __t355 = { + let __t354 = { + let __t347 = v_W594.clone(); + rt::apply_direct( + interp, + "empty?", + &[__t347], + )? + }; + if rt::is_truthy(interp, &__t354)? { + Value::nil() + } else { + { + let __t353 = { + let __t348 = Value::str( + "Shen syntax error here:\n ", + ); + let __t352 = { + let __t349 = v_W594.clone(); + let __t350 = + Value::str("\n ..."); + let __t351 = Value::sym( + interp.intern("shen.r"), + ); + rt::apply_direct( + interp, + "shen.app", + &[__t349, __t350, __t351], + )? + }; + rt::apply_direct( + interp, + "cn", + &[__t348, __t352], + )? + }; + rt::apply_direct( + interp, + "simple-error", + &[__t353], + )? + } + } + }; + rt::apply_direct( + interp, + "shen.comb", + &[__t346, __t355], + )? + } + } + } + } + } + }; + { + let __t358 = { + let __t357 = v_W592.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t357])? + }; + if match rt::is_truthy(interp, &__t358) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W592.clone()); + } + } + } + } else { + break Ok(v_W585.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_rules_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_rules_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_rules_x3e_); +} + +/// AOT-compiled from KL `(defun shen.linearise ...)` +pub fn aot_shen_x2e_linearise(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.linearise: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V598 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t369 = { + let __t361 = v_V598.clone(); + rt::apply_direct(interp, "tuple?", &[__t361])? + }; + if match rt::is_truthy(interp, &__t369) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t363 = { + let __t362 = v_V598.clone(); + rt::apply_direct(interp, "fst", &[__t362])? + }; + let __t365 = { + let __t364 = v_V598.clone(); + rt::apply_direct(interp, "fst", &[__t364])? + }; + let __t366 = Value::nil(); + let __t368 = { + let __t367 = v_V598.clone(); + rt::apply_direct(interp, "snd", &[__t367])? + }; + rt::apply_direct( + interp, + "shen.linearise-h", + &[__t363, __t365, __t366, __t368], + )? + }); + } else { + { + let __t360 = Value::bool(true); + if match rt::is_truthy(interp, &__t360) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t359 = Value::str("implementation error in shen.linearise"); + rt::apply_direct(interp, "simple-error", &[__t359])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_linearise(interp: &mut Interp) { + interp.register_native("shen.linearise", 1, aot_shen_x2e_linearise); + interp.register_aot_direct("shen.linearise", aot_shen_x2e_linearise); +} + +/// AOT-compiled from KL `(defun shen.linearise-h ...)` +pub fn aot_shen_x2e_linearise_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 4 { + return Err(ShenError::new(format!( + "shen.linearise-h: expected 4 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V611 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V612 = args[1].clone(); + #[allow(unused_mut)] + let mut v_V613 = args[2].clone(); + #[allow(unused_mut)] + let mut v_V614 = args[3].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t438 = { + let __t434 = Value::nil(); + let __t435 = v_V611.clone(); + rt::eq(&__t434, &__t435) + }; + if match rt::is_truthy(interp, &__t438) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t436 = v_V612.clone(); + let __t437 = v_V614.clone(); + rt::apply_direct(interp, "@p", &[__t436, __t437])? + }); + } else { + { + let __t433 = { + let __t423 = { + let __t420 = v_V611.clone(); + rt::is_cons(&__t420) + }; + if !rt::is_truthy(interp, &__t423)? { + Value::bool(false) + } else { + let __t424 = { + let __t422 = { + let __t421 = v_V611.clone(); + rt::hd(&__t421)? + }; + rt::is_cons(&__t422) + }; + Value::bool(rt::is_truthy(interp, &__t424)?) + } + }; + if match rt::is_truthy(interp, &__t433) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t429 = { + let __t426 = { + let __t425 = v_V611.clone(); + rt::hd(&__t425)? + }; + let __t428 = { + let __t427 = v_V611.clone(); + rt::tl(&__t427)? + }; + rt::apply_direct(interp, "append", &[__t426, __t428])? + }; + let __t430 = v_V612.clone(); + let __t431 = v_V613.clone(); + let __t432 = v_V614.clone(); + v_V611 = __t429; + v_V612 = __t430; + v_V613 = __t431; + v_V614 = __t432; + continue; + } + } else { + { + let __t419 = { + let __t382 = { + let __t379 = v_V611.clone(); + rt::is_cons(&__t379) + }; + if !rt::is_truthy(interp, &__t382)? { + Value::bool(false) + } else { + let __t383 = { + let __t381 = { + let __t380 = v_V611.clone(); + rt::hd(&__t380)? + }; + rt::apply_direct(interp, "variable?", &[__t381])? + }; + Value::bool(rt::is_truthy(interp, &__t383)?) + } + }; + if match rt::is_truthy(interp, &__t419) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t387 = { + let __t385 = { + let __t384 = v_V611.clone(); + rt::hd(&__t384)? + }; + let __t386 = v_V613.clone(); + rt::apply_direct(interp, "element?", &[__t385, __t386])? + }; + if match rt::is_truthy(interp, &__t387) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W615 = { + let __t388 = Value::sym(interp.intern("V")); + rt::apply_direct(interp, "gensym", &[__t388])? + }; + { + let __t390 = { + let __t389 = v_V611.clone(); + rt::tl(&__t389)? + }; + let __t395 = { + let __t392 = { + let __t391 = v_V611.clone(); + rt::hd(&__t391)? + }; + let __t393 = v_W615.clone(); + let __t394 = v_V612.clone(); + rt::apply_direct( + interp, + "shen.rep-X", + &[__t392, __t393, __t394], + )? + }; + let __t396 = v_V613.clone(); + let __t410 = { + let __t397 = Value::sym(interp.intern("where")); + let __t409 = { + let __t405 = { + let __t398 = + Value::sym(interp.intern("=")); + let __t404 = { + let __t399 = v_W615.clone(); + let __t403 = { + let __t401 = { + let __t400 = v_V611.clone(); + rt::hd(&__t400)? + }; + let __t402 = Value::nil(); + rt::cons(&__t401, &__t402) + }; + rt::cons(&__t399, &__t403) + }; + rt::cons(&__t398, &__t404) + }; + let __t408 = { + let __t406 = v_V614.clone(); + let __t407 = Value::nil(); + rt::cons(&__t406, &__t407) + }; + rt::cons(&__t405, &__t408) + }; + rt::cons(&__t397, &__t409) + }; + v_V611 = __t390; + v_V612 = __t395; + v_V613 = __t396; + v_V614 = __t410; + continue; + } + } + } else { + { + let __t412 = { + let __t411 = v_V611.clone(); + rt::tl(&__t411)? + }; + let __t413 = v_V612.clone(); + let __t417 = { + let __t415 = { + let __t414 = v_V611.clone(); + rt::hd(&__t414)? + }; + let __t416 = v_V613.clone(); + rt::cons(&__t415, &__t416) + }; + let __t418 = v_V614.clone(); + v_V611 = __t412; + v_V612 = __t413; + v_V613 = __t417; + v_V614 = __t418; + continue; + } + } + } + } else { + { + let __t378 = { + let __t372 = v_V611.clone(); + rt::is_cons(&__t372) + }; + if match rt::is_truthy(interp, &__t378) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t374 = { + let __t373 = v_V611.clone(); + rt::tl(&__t373)? + }; + let __t375 = v_V612.clone(); + let __t376 = v_V613.clone(); + let __t377 = v_V614.clone(); + v_V611 = __t374; + v_V612 = __t375; + v_V613 = __t376; + v_V614 = __t377; + continue; + } + } else { + { + let __t371 = Value::bool(true); + if match rt::is_truthy(interp, &__t371) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t370 = Value::str( + "implementation error in shen.linearise-h", + ); + rt::apply_direct( + interp, + "simple-error", + &[__t370], + )? + }); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_linearise_x2d_h(interp: &mut Interp) { + interp.register_native("shen.linearise-h", 4, aot_shen_x2e_linearise_x2d_h); + interp.register_aot_direct("shen.linearise-h", aot_shen_x2e_linearise_x2d_h); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V616 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W617 = { + let v_W618 = { + let __t439 = v_V616.clone(); + rt::apply_direct(interp, "shen.", &[__t439])? + }; + { + let __t469 = { + let __t440 = v_W618.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t440])? + }; + if rt::is_truthy(interp, &__t469)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W619 = { + let __t441 = v_W618.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t441])? + }; + { + let v_W620 = { + let __t442 = v_W618.clone(); + rt::apply_direct(interp, "shen.in->", &[__t442])? + }; + { + let __t468 = { + let __t443 = v_W620.clone(); + let __t444 = Value::sym(interp.intern("->")); + rt::apply_direct(interp, "shen.hds=?", &[__t443, __t444])? + }; + if rt::is_truthy(interp, &__t468)? { + { + let v_W621 = { + let __t445 = v_W620.clone(); + rt::apply_direct(interp, "tail", &[__t445])? + }; + { + let __t467 = { + let __t446 = v_W621.clone(); + rt::is_cons(&__t446) + }; + if rt::is_truthy(interp, &__t467)? { + { + let v_W622 = { + let __t447 = v_W621.clone(); + rt::apply_direct( + interp, + "head", + &[__t447], + )? + }; + { + let v_W623 = { + let __t448 = v_W621.clone(); + rt::apply_direct( + interp, + "tail", + &[__t448], + )? + }; + { + let __t466 = { + let __t449 = v_W623.clone(); + let __t450 = Value::sym( + interp.intern("where"), + ); + rt::apply_direct( + interp, + "shen.hds=?", + &[__t449, __t450], + )? + }; + if rt::is_truthy(interp, &__t466)? { + { + let v_W624 = { + let __t451 = + v_W623.clone(); + rt::apply_direct( + interp, + "tail", + &[__t451], + )? + }; + { + let __t465 = { + let __t452 = + v_W624.clone(); + rt::is_cons(&__t452) + }; + if rt::is_truthy( + interp, &__t465, + )? { + { + let v_W625 = { + let __t453 = v_W624.clone(); + rt::apply_direct(interp, "head", &[__t453])? + }; + { + let v_W626 = { + let __t454 = v_W624.clone(); + rt::apply_direct(interp, "tail", &[__t454])? + }; + { + let __t455 = v_W626.clone(); + let __t464 = { + let __t456 = v_W619.clone(); + let __t463 = { let __t457 = Value::sym(interp.intern("where")); let __t462 = { let __t458 = v_W625.clone(); let __t461 = { let __t459 = v_W622.clone(); let __t460 = Value::nil(); rt::cons(&__t459, &__t460) }; rt::cons(&__t458, &__t461) }; rt::cons(&__t457, &__t462) }; + rt::apply_direct(interp, "@p", &[__t456, __t463])? + }; + rt::apply_direct(interp, "shen.comb", &[__t455, __t464])? + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + } + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + } + } + } + } + } + }; + { + let __t471 = { + let __t470 = v_W617.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t470])? + }; + if match rt::is_truthy(interp, &__t471) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W627 = { + let v_W628 = { + let __t472 = v_V616.clone(); + rt::apply_direct(interp, "shen.", &[__t472])? + }; + { + let __t488 = { + let __t473 = v_W628.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t473])? + }; + if rt::is_truthy(interp, &__t488)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W629 = { + let __t474 = v_W628.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t474])? + }; + { + let v_W630 = { + let __t475 = v_W628.clone(); + rt::apply_direct(interp, "shen.in->", &[__t475])? + }; + { + let __t487 = { + let __t476 = v_W630.clone(); + let __t477 = Value::sym(interp.intern("->")); + rt::apply_direct( + interp, + "shen.hds=?", + &[__t476, __t477], + )? + }; + if rt::is_truthy(interp, &__t487)? { + { + let v_W631 = { + let __t478 = v_W630.clone(); + rt::apply_direct( + interp, + "tail", + &[__t478], + )? + }; + { + let __t486 = { + let __t479 = v_W631.clone(); + rt::is_cons(&__t479) + }; + if rt::is_truthy(interp, &__t486)? { + { + let v_W632 = { + let __t480 = v_W631.clone(); + rt::apply_direct( + interp, + "head", + &[__t480], + )? + }; + { + let v_W633 = { + let __t481 = + v_W631.clone(); + rt::apply_direct( + interp, + "tail", + &[__t481], + )? + }; + { + let __t482 = + v_W633.clone(); + let __t485 = { + let __t483 = + v_W629.clone(); + let __t484 = + v_W632.clone(); + rt::apply_direct( + interp, + "@p", + &[ + __t483, + __t484, + ], + )? + }; + rt::apply_direct( + interp, + "shen.comb", + &[__t482, __t485], + )? + } + } + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } + } + } + }; + { + let __t490 = { + let __t489 = v_W627.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t489])? + }; + if match rt::is_truthy(interp, &__t490) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W634 = { + let v_W635 = { + let __t491 = v_V616.clone(); + rt::apply_direct(interp, "shen.", &[__t491])? + }; + { + let __t525 = { + let __t492 = v_W635.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t492], + )? + }; + if rt::is_truthy(interp, &__t525)? { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } else { + { + let v_W636 = { + let __t493 = v_W635.clone(); + rt::apply_direct( + interp, + "shen.<-out", + &[__t493], + )? + }; + { + let v_W637 = { + let __t494 = v_W635.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t494], + )? + }; + { + let __t524 = { + let __t495 = v_W637.clone(); + let __t496 = + Value::sym(interp.intern("<-")); + rt::apply_direct( + interp, + "shen.hds=?", + &[__t495, __t496], + )? + }; + if rt::is_truthy(interp, &__t524)? { + { + let v_W638 = { + let __t497 = v_W637.clone(); + rt::apply_direct( + interp, + "tail", + &[__t497], + )? + }; + { + let __t523 = { + let __t498 = + v_W638.clone(); + rt::is_cons(&__t498) + }; + if rt::is_truthy( + interp, &__t523, + )? { + { + let v_W639 = { + let __t499 = + v_W638 + .clone( + ); + rt::apply_direct(interp, "head", &[__t499])? + }; + { + let v_W640 = { + let __t500 = v_W638.clone(); + rt::apply_direct(interp, "tail", &[__t500])? + }; + { + let __t522 = { + let __t501 = v_W640.clone(); + let __t502 = Value::sym(interp.intern("where")); + rt::apply_direct(interp, "shen.hds=?", &[__t501, __t502])? + }; + if rt::is_truthy(interp, &__t522)? { { let v_W641 = { let __t503 = v_W640.clone(); rt::apply_direct(interp, "tail", &[__t503])? }; { let __t521 = { let __t504 = v_W641.clone(); rt::is_cons(&__t504) }; if rt::is_truthy(interp, &__t521)? { { let v_W642 = { let __t505 = v_W641.clone(); rt::apply_direct(interp, "head", &[__t505])? }; { let v_W643 = { let __t506 = v_W641.clone(); rt::apply_direct(interp, "tail", &[__t506])? }; { let __t507 = v_W643.clone(); let __t520 = { let __t508 = v_W636.clone(); let __t519 = { let __t509 = Value::sym(interp.intern("where")); let __t518 = { let __t510 = v_W642.clone(); let __t517 = { let __t515 = { let __t511 = Value::sym(interp.intern("shen.choicepoint!")); let __t514 = { let __t512 = v_W639.clone(); let __t513 = Value::nil(); rt::cons(&__t512, &__t513) }; rt::cons(&__t511, &__t514) }; let __t516 = Value::nil(); rt::cons(&__t515, &__t516) }; rt::cons(&__t510, &__t517) }; rt::cons(&__t509, &__t518) }; rt::apply_direct(interp, "@p", &[__t508, __t519])? }; rt::apply_direct(interp, "shen.comb", &[__t507, __t520])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + } + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } + } + } + }; + { + let __t527 = { + let __t526 = v_W634.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t526], + )? + }; + if match rt::is_truthy(interp, &__t527) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W644 = { + let v_W645 = { + let __t528 = v_V616.clone(); + rt::apply_direct( + interp, + "shen.", + &[__t528], + )? + }; + { + let __t548 = { + let __t529 = v_W645.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t529], + )? + }; + if rt::is_truthy(interp, &__t548)? { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } else { + { + let v_W646 = { + let __t530 = v_W645.clone(); + rt::apply_direct( + interp, + "shen.<-out", + &[__t530], + )? + }; + { + let v_W647 = { + let __t531 = v_W645.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t531], + )? + }; + { + let __t547 = { + let __t532 = + v_W647.clone(); + let __t533 = Value::sym( + interp.intern("<-"), + ); + rt::apply_direct( + interp, + "shen.hds=?", + &[__t532, __t533], + )? + }; + if rt::is_truthy( + interp, &__t547, + )? { + { + let v_W648 = { + let __t534 = + v_W647 + .clone( + ); + rt::apply_direct(interp, "tail", &[__t534])? + }; + { + let __t546 = { + let __t535 = v_W648.clone(); + rt::is_cons( + &__t535, + ) + }; + if rt::is_truthy(interp, &__t546)? { { let v_W649 = { let __t536 = v_W648.clone(); rt::apply_direct(interp, "head", &[__t536])? }; { let v_W650 = { let __t537 = v_W648.clone(); rt::apply_direct(interp, "tail", &[__t537])? }; { let __t538 = v_W650.clone(); let __t545 = { let __t539 = v_W646.clone(); let __t544 = { let __t540 = Value::sym(interp.intern("shen.choicepoint!")); let __t543 = { let __t541 = v_W649.clone(); let __t542 = Value::nil(); rt::cons(&__t541, &__t542) }; rt::cons(&__t540, &__t543) }; rt::apply_direct(interp, "@p", &[__t539, __t544])? }; rt::apply_direct(interp, "shen.comb", &[__t538, __t545])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + } + } + } + } + } + }; + { + let __t550 = { + let __t549 = v_W644.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t549], + )? + }; + if match rt::is_truthy(interp, &__t550) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + }); + } else { + break Ok(v_W644.clone()); + } + } + } + } else { + break Ok(v_W634.clone()); + } + } + } + } else { + break Ok(v_W627.clone()); + } + } + } + } else { + break Ok(v_W617.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_rule_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_rule_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_rule_x3e_); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_patterns_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V651 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W652 = { + let v_W653 = { + let __t551 = v_V651.clone(); + rt::apply_direct(interp, "shen.", &[__t551])? + }; + { + let __t564 = { + let __t552 = v_W653.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t552])? + }; + if rt::is_truthy(interp, &__t564)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W654 = { + let __t553 = v_W653.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t553])? + }; + { + let v_W655 = { + let __t554 = v_W653.clone(); + rt::apply_direct(interp, "shen.in->", &[__t554])? + }; + { + let v_W656 = { + let __t555 = v_W655.clone(); + rt::apply_direct(interp, "shen.", &[__t555])? + }; + { + let __t563 = { + let __t556 = v_W656.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t556], + )? + }; + if rt::is_truthy(interp, &__t563)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W657 = { + let __t557 = v_W656.clone(); + rt::apply_direct( + interp, + "shen.<-out", + &[__t557], + )? + }; + { + let v_W658 = { + let __t558 = v_W656.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t558], + )? + }; + { + let __t559 = v_W658.clone(); + let __t562 = { + let __t560 = v_W654.clone(); + let __t561 = v_W657.clone(); + rt::cons(&__t560, &__t561) + }; + rt::apply_direct( + interp, + "shen.comb", + &[__t559, __t562], + )? + } + } + } + } + } + } + } + } + } + } + }; + { + let __t566 = { + let __t565 = v_W652.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t565])? + }; + if match rt::is_truthy(interp, &__t566) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W659 = { + let v_W660 = { + let __t567 = v_V651.clone(); + rt::apply_direct(interp, "", &[__t567])? + }; + { + let __t572 = { + let __t568 = v_W660.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t568])? + }; + if rt::is_truthy(interp, &__t572)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W661 = { + let __t569 = v_W660.clone(); + rt::apply_direct(interp, "shen.in->", &[__t569])? + }; + { + let __t570 = v_W661.clone(); + let __t571 = Value::nil(); + rt::apply_direct( + interp, + "shen.comb", + &[__t570, __t571], + )? + } + } + } + } + }; + { + let __t574 = { + let __t573 = v_W659.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t573])? + }; + if match rt::is_truthy(interp, &__t574) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W659.clone()); + } + } + } + } else { + break Ok(v_W652.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_patterns_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_patterns_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_patterns_x3e_); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V662 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W663 = { + let __t605 = { + let __t575 = v_V662.clone(); + rt::apply_direct(interp, "shen.ccons?", &[__t575])? + }; + if rt::is_truthy(interp, &__t605)? { + { + let v_W664 = { + let __t576 = v_V662.clone(); + rt::apply_direct(interp, "head", &[__t576])? + }; + { + let v_W665 = { + let __t577 = v_V662.clone(); + rt::apply_direct(interp, "tail", &[__t577])? + }; + { + let v_W666 = { + let __t578 = v_W664.clone(); + rt::apply_direct(interp, "shen.", &[__t578])? + }; + { + let __t604 = { + let __t579 = v_W666.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t579])? + }; + if rt::is_truthy(interp, &__t604)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W667 = { + let __t580 = v_W666.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t580])? + }; + { + let v_W668 = { + let __t581 = v_W666.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t581], + )? + }; + { + let v_W669 = { + let __t582 = v_W668.clone(); + rt::apply_direct( + interp, + "shen.", + &[__t582], + )? + }; + { + let __t603 = { + let __t583 = v_W669.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t583], + )? + }; + if rt::is_truthy(interp, &__t603)? { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } else { + { + let v_W670 = { + let __t584 = v_W669.clone(); + rt::apply_direct( + interp, + "shen.<-out", + &[__t584], + )? + }; + { + let v_W671 = { + let __t585 = v_W669.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t585], + )? + }; + { + let v_W672 = { + let __t586 = + v_W671.clone(); + rt::apply_direct( + interp, + "shen.", + &[__t586], + )? + }; + { + let __t602 = { + let __t587 = + v_W672.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t587])? + }; + if rt::is_truthy( + interp, &__t602, + )? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W673 = { + let __t588 = v_W672.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t588])? + }; + { + let v_W674 = { + let __t589 = v_W672.clone(); + rt::apply_direct(interp, "shen.in->", &[__t589])? + }; + { + let v_W675 = { + let __t590 = v_W674.clone(); + rt::apply_direct(interp, "", &[__t590])? + }; + { + let __t601 = { let __t591 = v_W675.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t591])? }; + if rt::is_truthy(interp, &__t601)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W676 = { let __t592 = v_W675.clone(); rt::apply_direct(interp, "shen.in->", &[__t592])? }; { let __t593 = v_W665.clone(); let __t600 = { let __t594 = v_W667.clone(); let __t599 = { let __t595 = v_W670.clone(); let __t598 = { let __t596 = v_W673.clone(); let __t597 = Value::nil(); rt::cons(&__t596, &__t597) }; rt::cons(&__t595, &__t598) }; rt::cons(&__t594, &__t599) }; rt::apply_direct(interp, "shen.comb", &[__t593, __t600])? } } } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + }; + { + let __t607 = { + let __t606 = v_W663.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t606])? + }; + if match rt::is_truthy(interp, &__t607) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W677 = { + let __t629 = { + let __t608 = v_V662.clone(); + rt::apply_direct(interp, "shen.ccons?", &[__t608])? + }; + if rt::is_truthy(interp, &__t629)? { + { + let v_W678 = { + let __t609 = v_V662.clone(); + rt::apply_direct(interp, "head", &[__t609])? + }; + { + let v_W679 = { + let __t610 = v_V662.clone(); + rt::apply_direct(interp, "tail", &[__t610])? + }; + { + let __t628 = { + let __t611 = v_W678.clone(); + let __t612 = Value::sym(interp.intern("vector")); + rt::apply_direct( + interp, + "shen.hds=?", + &[__t611, __t612], + )? + }; + if rt::is_truthy(interp, &__t628)? { + { + let v_W680 = { + let __t613 = v_W678.clone(); + rt::apply_direct(interp, "tail", &[__t613])? + }; + { + let __t627 = { + let __t614 = v_W680.clone(); + let __t615 = Value::int(0i64); + rt::apply_direct( + interp, + "shen.hds=?", + &[__t614, __t615], + )? + }; + if rt::is_truthy(interp, &__t627)? { + { + let v_W681 = { + let __t616 = v_W680.clone(); + rt::apply_direct( + interp, + "tail", + &[__t616], + )? + }; + { + let v_W682 = { + let __t617 = v_W681.clone(); + rt::apply_direct( + interp, + "", + &[__t617], + )? + }; + { + let __t626 = { + let __t618 = + v_W682.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t618])? + }; + if rt::is_truthy( + interp, &__t626, + )? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W683 = { + let __t619 = + v_W682 + .clone( + ); + rt::apply_direct(interp, "shen.in->", &[__t619])? + }; + { + let __t620 = + v_W679 + .clone( + ); + let __t625 = { + let __t621 = Value::sym(interp.intern("vector")); + let __t624 = { + let __t622 = Value::int(0i64); + let __t623 = Value::nil(); + rt::cons(&__t622, &__t623) + }; + rt::cons( + &__t621, + &__t624, + ) + }; + rt::apply_direct(interp, "shen.comb", &[__t620, __t625])? + } + } + } + } + } + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + }; + { + let __t631 = { + let __t630 = v_W677.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t630])? + }; + if match rt::is_truthy(interp, &__t631) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W684 = { + let __t640 = { + let __t632 = v_V662.clone(); + rt::is_cons(&__t632) + }; + if rt::is_truthy(interp, &__t640)? { + { + let v_W685 = { + let __t633 = v_V662.clone(); + rt::apply_direct(interp, "head", &[__t633])? + }; + { + let v_W686 = { + let __t634 = v_V662.clone(); + rt::apply_direct(interp, "tail", &[__t634])? + }; + { + let __t639 = { + let __t635 = v_W685.clone(); + rt::is_cons(&__t635) + }; + if rt::is_truthy(interp, &__t639)? { + { + let __t636 = v_W686.clone(); + let __t638 = { + let __t637 = v_W685.clone(); + rt::apply_direct( + interp, + "shen.constructor-error", + &[__t637], + )? + }; + rt::apply_direct( + interp, + "shen.comb", + &[__t636, __t638], + )? + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + }; + { + let __t642 = { + let __t641 = v_W684.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t641], + )? + }; + if match rt::is_truthy(interp, &__t642) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W687 = { + let v_W688 = { + let __t643 = v_V662.clone(); + rt::apply_direct( + interp, + "shen.", + &[__t643], + )? + }; + { + let __t649 = { + let __t644 = v_W688.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t644], + )? + }; + if rt::is_truthy(interp, &__t649)? { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } else { + { + let v_W689 = { + let __t645 = v_W688.clone(); + rt::apply_direct( + interp, + "shen.<-out", + &[__t645], + )? + }; + { + let v_W690 = { + let __t646 = v_W688.clone(); + rt::apply_direct( + interp, + "shen.in->", + &[__t646], + )? + }; + { + let __t647 = v_W690.clone(); + let __t648 = v_W689.clone(); + rt::apply_direct( + interp, + "shen.comb", + &[__t647, __t648], + )? + } + } + } + } + } + }; + { + let __t651 = { + let __t650 = v_W687.clone(); + rt::apply_direct( + interp, + "shen.parse-failure?", + &[__t650], + )? + }; + if match rt::is_truthy(interp, &__t651) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + }); + } else { + break Ok(v_W687.clone()); + } + } + } + } else { + break Ok(v_W684.clone()); + } + } + } + } else { + break Ok(v_W677.clone()); + } + } + } + } else { + break Ok(v_W663.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_pattern_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_pattern_x3e_); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_constructor_x3e_( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V691 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W692 = { + let __t659 = { + let __t652 = v_V691.clone(); + rt::is_cons(&__t652) + }; + if rt::is_truthy(interp, &__t659)? { + { + let v_W693 = { + let __t653 = v_V691.clone(); + rt::apply_direct(interp, "head", &[__t653])? + }; + { + let v_W694 = { + let __t654 = v_V691.clone(); + rt::apply_direct(interp, "tail", &[__t654])? + }; + { + let __t658 = { + let __t655 = v_W693.clone(); + rt::apply_direct(interp, "shen.constructor?", &[__t655])? + }; + if rt::is_truthy(interp, &__t658)? { + { + let __t656 = v_W694.clone(); + let __t657 = v_W693.clone(); + rt::apply_direct(interp, "shen.comb", &[__t656, __t657])? + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + }; + { + let __t661 = { + let __t660 = v_W692.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t660])? + }; + if match rt::is_truthy(interp, &__t661) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W692.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_constructor_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_constructor_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_constructor_x3e_); +} + +/// AOT-compiled from KL `(defun shen.constructor? ...)` +pub fn aot_shen_x2e_constructor_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.constructor?: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V695 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + break Ok({ + let __t662 = v_V695.clone(); + let __t671 = { + let __t663 = Value::sym(interp.intern("cons")); + let __t670 = { + let __t664 = Value::sym(interp.intern("@p")); + let __t669 = { + let __t665 = Value::sym(interp.intern("@s")); + let __t668 = { + let __t666 = Value::sym(interp.intern("@v")); + let __t667 = Value::nil(); + rt::cons(&__t666, &__t667) + }; + rt::cons(&__t665, &__t668) + }; + rt::cons(&__t664, &__t669) + }; + rt::cons(&__t663, &__t670) + }; + rt::apply_direct(interp, "element?", &[__t662, __t671])? + }); + } +} + +fn install_shen_x2e_constructor_x3f_(interp: &mut Interp) { + interp.register_native("shen.constructor?", 1, aot_shen_x2e_constructor_x3f_); + interp.register_aot_direct("shen.constructor?", aot_shen_x2e_constructor_x3f_); +} + +/// AOT-compiled from KL `(defun shen.constructor-error ...)` +pub fn aot_shen_x2e_constructor_x2d_error( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.constructor-error: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V696 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + break Ok({ + let __t675 = { + let __t672 = v_V696.clone(); + let __t673 = Value::str(" is not a legitimate constructor\n"); + let __t674 = Value::sym(interp.intern("shen.r")); + rt::apply_direct(interp, "shen.app", &[__t672, __t673, __t674])? + }; + rt::apply_direct(interp, "simple-error", &[__t675])? + }); + } +} + +fn install_shen_x2e_constructor_x2d_error(interp: &mut Interp) { + interp.register_native( + "shen.constructor-error", + 1, + aot_shen_x2e_constructor_x2d_error, + ); + interp.register_aot_direct("shen.constructor-error", aot_shen_x2e_constructor_x2d_error); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_simple_x2d_pattern_x3e_( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V697 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W698 = { + let __t685 = { + let __t676 = v_V697.clone(); + rt::is_cons(&__t676) + }; + if rt::is_truthy(interp, &__t685)? { + { + let v_W699 = { + let __t677 = v_V697.clone(); + rt::apply_direct(interp, "head", &[__t677])? + }; + { + let v_W700 = { + let __t678 = v_V697.clone(); + rt::apply_direct(interp, "tail", &[__t678])? + }; + { + let __t684 = { + let __t679 = v_W699.clone(); + let __t680 = Value::sym(interp.intern("_")); + rt::eq(&__t679, &__t680) + }; + if rt::is_truthy(interp, &__t684)? { + { + let __t681 = v_W700.clone(); + let __t683 = { + let __t682 = Value::sym(interp.intern("Y")); + rt::apply_direct(interp, "gensym", &[__t682])? + }; + rt::apply_direct(interp, "shen.comb", &[__t681, __t683])? + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + }; + { + let __t687 = { + let __t686 = v_W698.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t686])? + }; + if match rt::is_truthy(interp, &__t687) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W701 = { + let __t701 = { + let __t688 = v_V697.clone(); + rt::is_cons(&__t688) + }; + if rt::is_truthy(interp, &__t701)? { + { + let v_W702 = { + let __t689 = v_V697.clone(); + rt::apply_direct(interp, "head", &[__t689])? + }; + { + let v_W703 = { + let __t690 = v_V697.clone(); + rt::apply_direct(interp, "tail", &[__t690])? + }; + { + let __t700 = { + let __t697 = { + let __t691 = v_W702.clone(); + let __t696 = { + let __t692 = + Value::sym(interp.intern("->")); + let __t695 = { + let __t693 = + Value::sym(interp.intern("<-")); + let __t694 = Value::nil(); + rt::cons(&__t693, &__t694) + }; + rt::cons(&__t692, &__t695) + }; + rt::apply_direct( + interp, + "element?", + &[__t691, __t696], + )? + }; + rt::apply_direct(interp, "not", &[__t697])? + }; + if rt::is_truthy(interp, &__t700)? { + { + let __t698 = v_W703.clone(); + let __t699 = v_W702.clone(); + rt::apply_direct( + interp, + "shen.comb", + &[__t698, __t699], + )? + } + } else { + { + rt::apply_direct( + interp, + "shen.parse-failure", + &[], + )? + } + } + } + } + } + } else { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } + }; + { + let __t703 = { + let __t702 = v_W701.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t702])? + }; + if match rt::is_truthy(interp, &__t703) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W701.clone()); + } + } + } + } else { + break Ok(v_W698.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_simple_x2d_pattern_x3e_(interp: &mut Interp) { + interp.register_native( + "shen.", + 1, + aot_shen_x2e__x3c_simple_x2d_pattern_x3e_, + ); + interp.register_aot_direct( + "shen.", + aot_shen_x2e__x3c_simple_x2d_pattern_x3e_, + ); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_pattern1_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V704 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W705 = { + let v_W706 = { + let __t704 = v_V704.clone(); + rt::apply_direct(interp, "shen.", &[__t704])? + }; + { + let __t710 = { + let __t705 = v_W706.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t705])? + }; + if rt::is_truthy(interp, &__t710)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W707 = { + let __t706 = v_W706.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t706])? + }; + { + let v_W708 = { + let __t707 = v_W706.clone(); + rt::apply_direct(interp, "shen.in->", &[__t707])? + }; + { + let __t708 = v_W708.clone(); + let __t709 = v_W707.clone(); + rt::apply_direct(interp, "shen.comb", &[__t708, __t709])? + } + } + } + } + } + }; + { + let __t712 = { + let __t711 = v_W705.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t711])? + }; + if match rt::is_truthy(interp, &__t712) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W705.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_pattern1_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_pattern1_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_pattern1_x3e_); +} + +/// AOT-compiled from KL `(defun shen. ...)` +pub fn aot_shen_x2e__x3c_pattern2_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V709 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W710 = { + let v_W711 = { + let __t713 = v_V709.clone(); + rt::apply_direct(interp, "shen.", &[__t713])? + }; + { + let __t719 = { + let __t714 = v_W711.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t714])? + }; + if rt::is_truthy(interp, &__t719)? { + { + rt::apply_direct(interp, "shen.parse-failure", &[])? + } + } else { + { + let v_W712 = { + let __t715 = v_W711.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t715])? + }; + { + let v_W713 = { + let __t716 = v_W711.clone(); + rt::apply_direct(interp, "shen.in->", &[__t716])? + }; + { + let __t717 = v_W713.clone(); + let __t718 = v_W712.clone(); + rt::apply_direct(interp, "shen.comb", &[__t717, __t718])? + } + } + } + } + } + }; + { + let __t721 = { + let __t720 = v_W710.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t720])? + }; + if match rt::is_truthy(interp, &__t721) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + } else { + break Ok(v_W710.clone()); + } + } + } + } +} + +fn install_shen_x2e__x3c_pattern2_x3e_(interp: &mut Interp) { + interp.register_native("shen.", 1, aot_shen_x2e__x3c_pattern2_x3e_); + interp.register_aot_direct("shen.", aot_shen_x2e__x3c_pattern2_x3e_); +} + +/// AOT-compiled from KL `(defun shen.fn-print ...)` +pub fn aot_shen_x2e_fn_x2d_print(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.fn-print: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V714 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W715 = { + let __t722 = Value::int(2i64); + rt::apply_direct(interp, "absvector", &[__t722])? + }; + { + let v_W716 = { + let __t723 = v_W715.clone(); + let __t724 = Value::int(0i64); + let __t725 = Value::sym(interp.intern("shen.printF")); + rt::apply_direct(interp, "address->", &[__t723, __t724, __t725])? + }; + { + let v_W717 = { + let __t726 = v_W716.clone(); + let __t727 = Value::int(1i64); + let __t739 = { + let __t728 = Value::str("("); + let __t738 = { + let __t729 = Value::str("f"); + let __t737 = { + let __t730 = Value::str("n"); + let __t736 = { + let __t731 = Value::str(" "); + let __t735 = { + let __t733 = { + let __t732 = v_V714.clone(); + rt::apply_direct(interp, "str", &[__t732])? + }; + let __t734 = Value::str(")"); + rt::apply_direct(interp, "@s", &[__t733, __t734])? + }; + rt::apply_direct(interp, "@s", &[__t731, __t735])? + }; + rt::apply_direct(interp, "@s", &[__t730, __t736])? + }; + rt::apply_direct(interp, "@s", &[__t729, __t737])? + }; + rt::apply_direct(interp, "@s", &[__t728, __t738])? + }; + rt::apply_direct(interp, "address->", &[__t726, __t727, __t739])? + }; + break Ok(v_W717.clone()); + } + } + } + } +} + +fn install_shen_x2e_fn_x2d_print(interp: &mut Interp) { + interp.register_native("shen.fn-print", 1, aot_shen_x2e_fn_x2d_print); + interp.register_aot_direct("shen.fn-print", aot_shen_x2e_fn_x2d_print); +} + +/// AOT-compiled from KL `(defun shen.printF ...)` +pub fn aot_shen_x2e_printF(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.printF: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V718 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + break Ok({ + let __t740 = v_V718.clone(); + let __t741 = Value::int(1i64); + rt::apply_direct(interp, "<-address", &[__t740, __t741])? + }); + } +} + +fn install_shen_x2e_printF(interp: &mut Interp) { + interp.register_native("shen.printF", 1, aot_shen_x2e_printF); + interp.register_aot_direct("shen.printF", aot_shen_x2e_printF); +} + +/// AOT-compiled from KL `(defun shen.arity-chk ...)` +pub fn aot_shen_x2e_arity_x2d_chk(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.arity-chk: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V723 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V724 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t775 = { + let __t771 = { + let __t767 = v_V724.clone(); + rt::is_cons(&__t767) + }; + if !rt::is_truthy(interp, &__t771)? { + Value::bool(false) + } else { + let __t772 = { + let __t768 = Value::nil(); + let __t770 = { + let __t769 = v_V724.clone(); + rt::tl(&__t769)? + }; + rt::eq(&__t768, &__t770) + }; + Value::bool(rt::is_truthy(interp, &__t772)?) + } + }; + if match rt::is_truthy(interp, &__t775) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t774 = { + let __t773 = v_V724.clone(); + rt::hd(&__t773)? + }; + rt::apply_direct(interp, "length", &[__t774])? + }); + } else { + { + let __t766 = { + let __t761 = { + let __t749 = v_V724.clone(); + rt::is_cons(&__t749) + }; + if !rt::is_truthy(interp, &__t761)? { + Value::bool(false) + } else { + let __t762 = { + let __t759 = { + let __t751 = { + let __t750 = v_V724.clone(); + rt::tl(&__t750)? + }; + rt::is_cons(&__t751) + }; + if !rt::is_truthy(interp, &__t759)? { + Value::bool(false) + } else { + let __t760 = { + let __t754 = { + let __t753 = { + let __t752 = v_V724.clone(); + rt::hd(&__t752)? + }; + rt::apply_direct(interp, "length", &[__t753])? + }; + let __t758 = { + let __t757 = { + let __t756 = { + let __t755 = v_V724.clone(); + rt::tl(&__t755)? + }; + rt::hd(&__t756)? + }; + rt::apply_direct(interp, "length", &[__t757])? + }; + rt::eq(&__t754, &__t758) + }; + Value::bool(rt::is_truthy(interp, &__t760)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t762)?) + } + }; + if match rt::is_truthy(interp, &__t766) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t763 = v_V723.clone(); + let __t765 = { + let __t764 = v_V724.clone(); + rt::tl(&__t764)? + }; + v_V723 = __t763; + v_V724 = __t765; + continue; + } + } else { + { + let __t748 = Value::bool(true); + if match rt::is_truthy(interp, &__t748) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t747 = { + let __t742 = Value::str("arity error in "); + let __t746 = { + let __t743 = v_V723.clone(); + let __t744 = Value::str("\n"); + let __t745 = Value::sym(interp.intern("shen.a")); + rt::apply_direct( + interp, + "shen.app", + &[__t743, __t744, __t745], + )? + }; + rt::apply_direct(interp, "cn", &[__t742, __t746])? + }; + rt::apply_direct(interp, "simple-error", &[__t747])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } +} + +fn install_shen_x2e_arity_x2d_chk(interp: &mut Interp) { + interp.register_native("shen.arity-chk", 2, aot_shen_x2e_arity_x2d_chk); + interp.register_aot_direct("shen.arity-chk", aot_shen_x2e_arity_x2d_chk); +} + +/// AOT-compiled from KL `(defun shen.free-var-chk ...)` +pub fn aot_shen_x2e_free_x2d_var_x2d_chk(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.free-var-chk: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V725 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V726 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t786 = { + let __t778 = v_V726.clone(); + rt::apply_direct(interp, "tuple?", &[__t778])? + }; + if match rt::is_truthy(interp, &__t786) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t779 = v_V725.clone(); + let __t785 = { + let __t782 = { + let __t781 = { + let __t780 = v_V726.clone(); + rt::apply_direct(interp, "fst", &[__t780])? + }; + rt::apply_direct(interp, "shen.extract-vars", &[__t781])? + }; + let __t784 = { + let __t783 = v_V726.clone(); + rt::apply_direct(interp, "snd", &[__t783])? + }; + rt::apply_direct(interp, "shen.find-free-vars", &[__t782, __t784])? + }; + rt::apply_direct( + interp, + "shen.free-variable-error-message", + &[__t779, __t785], + )? + }); + } else { + { + let __t777 = Value::bool(true); + if match rt::is_truthy(interp, &__t777) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t776 = Value::str("partial function shen.free-var-chk"); + rt::apply_direct(interp, "simple-error", &[__t776])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_free_x2d_var_x2d_chk(interp: &mut Interp) { + interp.register_native("shen.free-var-chk", 2, aot_shen_x2e_free_x2d_var_x2d_chk); + interp.register_aot_direct("shen.free-var-chk", aot_shen_x2e_free_x2d_var_x2d_chk); +} + +/// AOT-compiled from KL `(defun shen.free-variable-error-message ...)` +pub fn aot_shen_x2e_free_x2d_variable_x2d_error_x2d_message( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.free-variable-error-message: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V727 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V728 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t788 = { + let __t787 = v_V728.clone(); + rt::apply_direct(interp, "empty?", &[__t787])? + }; + if match rt::is_truthy(interp, &__t788) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("shen.skip"))); + } else { + { + let _ = { + let __t794 = { + let __t789 = Value::str("free variables in "); + let __t793 = { + let __t790 = v_V727.clone(); + let __t791 = Value::str(":"); + let __t792 = Value::sym(interp.intern("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t790, __t791, __t792])? + }; + rt::apply_direct(interp, "cn", &[__t789, __t793])? + }; + let __t795 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t794, __t795])? + }; + { + let _ = { + let __t803 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z729 = args[0].clone(); + Ok({ + let __t801 = { + let __t796 = Value::str(" "); + let __t800 = { + let __t797 = v_Z729.clone(); + let __t798 = Value::str(""); + let __t799 = + Value::sym(interp.intern("shen.a")); + rt::apply_direct( + interp, + "shen.app", + &[__t797, __t798, __t799], + )? + }; + rt::apply_direct(interp, "cn", &[__t796, __t800])? + }; + let __t802 = + { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t801, __t802])? + }) + }, + Vec::new(), + interp, + ) + }; + let __t804 = v_V728.clone(); + rt::apply_direct(interp, "map", &[__t803, __t804])? + }; + { + let _ = { + let __t805 = Value::int(1i64); + rt::apply_direct(interp, "nl", &[__t805])? + }; + break Ok({ rt::apply_direct(interp, "abort", &[])? }); + } + } + } + } + } + } +} + +fn install_shen_x2e_free_x2d_variable_x2d_error_x2d_message(interp: &mut Interp) { + interp.register_native( + "shen.free-variable-error-message", + 2, + aot_shen_x2e_free_x2d_variable_x2d_error_x2d_message, + ); + interp.register_aot_direct( + "shen.free-variable-error-message", + aot_shen_x2e_free_x2d_variable_x2d_error_x2d_message, + ); +} + +/// AOT-compiled from KL `(defun shen.extract-vars ...)` +pub fn aot_shen_x2e_extract_x2d_vars(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.extract-vars: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V732 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t818 = { + let __t815 = v_V732.clone(); + rt::apply_direct(interp, "variable?", &[__t815])? + }; + if match rt::is_truthy(interp, &__t818) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t816 = v_V732.clone(); + let __t817 = Value::nil(); + rt::cons(&__t816, &__t817) + }); + } else { + { + let __t814 = { + let __t807 = v_V732.clone(); + rt::is_cons(&__t807) + }; + if match rt::is_truthy(interp, &__t814) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t810 = { + let __t809 = { + let __t808 = v_V732.clone(); + rt::hd(&__t808)? + }; + rt::apply_direct(interp, "shen.extract-vars", &[__t809])? + }; + let __t813 = { + let __t812 = { + let __t811 = v_V732.clone(); + rt::tl(&__t811)? + }; + rt::apply_direct(interp, "shen.extract-vars", &[__t812])? + }; + rt::apply_direct(interp, "union", &[__t810, __t813])? + }); + } else { + { + let __t806 = Value::bool(true); + if match rt::is_truthy(interp, &__t806) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::nil()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } +} + +fn install_shen_x2e_extract_x2d_vars(interp: &mut Interp) { + interp.register_native("shen.extract-vars", 1, aot_shen_x2e_extract_x2d_vars); + interp.register_aot_direct("shen.extract-vars", aot_shen_x2e_extract_x2d_vars); +} + +/// AOT-compiled from KL `(defun shen.find-free-vars ...)` +pub fn aot_shen_x2e_find_x2d_free_x2d_vars( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.find-free-vars: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V737 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V738 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t930 = { + let __t928 = { + let __t914 = v_V738.clone(); + rt::is_cons(&__t914) + }; + if !rt::is_truthy(interp, &__t928)? { + Value::bool(false) + } else { + let __t929 = { + let __t926 = { + let __t915 = Value::sym(interp.intern("protect")); + let __t917 = { + let __t916 = v_V738.clone(); + rt::hd(&__t916)? + }; + rt::eq(&__t915, &__t917) + }; + if !rt::is_truthy(interp, &__t926)? { + Value::bool(false) + } else { + let __t927 = { + let __t924 = { + let __t919 = { + let __t918 = v_V738.clone(); + rt::tl(&__t918)? + }; + rt::is_cons(&__t919) + }; + if !rt::is_truthy(interp, &__t924)? { + Value::bool(false) + } else { + let __t925 = { + let __t920 = Value::nil(); + let __t923 = { + let __t922 = { + let __t921 = v_V738.clone(); + rt::tl(&__t921)? + }; + rt::tl(&__t922)? + }; + rt::eq(&__t920, &__t923) + }; + Value::bool(rt::is_truthy(interp, &__t925)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t927)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t929)?) + } + }; + if match rt::is_truthy(interp, &__t930) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::nil()); + } else { + { + let __t913 = { + let __t894 = { + let __t867 = v_V738.clone(); + rt::is_cons(&__t867) + }; + if !rt::is_truthy(interp, &__t894)? { + Value::bool(false) + } else { + let __t895 = { + let __t892 = { + let __t868 = Value::sym(interp.intern("let")); + let __t870 = { + let __t869 = v_V738.clone(); + rt::hd(&__t869)? + }; + rt::eq(&__t868, &__t870) + }; + if !rt::is_truthy(interp, &__t892)? { + Value::bool(false) + } else { + let __t893 = { + let __t890 = { + let __t872 = { + let __t871 = v_V738.clone(); + rt::tl(&__t871)? + }; + rt::is_cons(&__t872) + }; + if !rt::is_truthy(interp, &__t890)? { + Value::bool(false) + } else { + let __t891 = { + let __t888 = { + let __t875 = { + let __t874 = { + let __t873 = v_V738.clone(); + rt::tl(&__t873)? + }; + rt::tl(&__t874)? + }; + rt::is_cons(&__t875) + }; + if !rt::is_truthy(interp, &__t888)? { + Value::bool(false) + } else { + let __t889 = { + let __t886 = { + let __t879 = { + let __t878 = { + let __t877 = { + let __t876 = v_V738.clone(); + rt::tl(&__t876)? + }; + rt::tl(&__t877)? + }; + rt::tl(&__t878)? + }; + rt::is_cons(&__t879) + }; + if !rt::is_truthy(interp, &__t886)? { + Value::bool(false) + } else { + let __t887 = { + let __t880 = Value::nil(); + let __t885 = { + let __t884 = { + let __t883 = { + let __t882 = { + let __t881 = + v_V738.clone(); + rt::tl(&__t881)? + }; + rt::tl(&__t882)? + }; + rt::tl(&__t883)? + }; + rt::tl(&__t884)? + }; + rt::eq(&__t880, &__t885) + }; + Value::bool(rt::is_truthy( + interp, &__t887, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t889)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t891)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t893)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t895)?) + } + }; + if match rt::is_truthy(interp, &__t913) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t901 = { + let __t896 = v_V737.clone(); + let __t900 = { + let __t899 = { + let __t898 = { + let __t897 = v_V738.clone(); + rt::tl(&__t897)? + }; + rt::tl(&__t898)? + }; + rt::hd(&__t899)? + }; + rt::apply_direct(interp, "shen.find-free-vars", &[__t896, __t900])? + }; + let __t912 = { + let __t906 = { + let __t904 = { + let __t903 = { + let __t902 = v_V738.clone(); + rt::tl(&__t902)? + }; + rt::hd(&__t903)? + }; + let __t905 = v_V737.clone(); + rt::cons(&__t904, &__t905) + }; + let __t911 = { + let __t910 = { + let __t909 = { + let __t908 = { + let __t907 = v_V738.clone(); + rt::tl(&__t907)? + }; + rt::tl(&__t908)? + }; + rt::tl(&__t909)? + }; + rt::hd(&__t910)? + }; + rt::apply_direct(interp, "shen.find-free-vars", &[__t906, __t911])? + }; + rt::apply_direct(interp, "union", &[__t901, __t912])? + }); + } else { + { + let __t866 = { + let __t855 = { + let __t835 = v_V738.clone(); + rt::is_cons(&__t835) + }; + if !rt::is_truthy(interp, &__t855)? { + Value::bool(false) + } else { + let __t856 = { + let __t853 = { + let __t836 = Value::sym(interp.intern("lambda")); + let __t838 = { + let __t837 = v_V738.clone(); + rt::hd(&__t837)? + }; + rt::eq(&__t836, &__t838) + }; + if !rt::is_truthy(interp, &__t853)? { + Value::bool(false) + } else { + let __t854 = { + let __t851 = { + let __t840 = { + let __t839 = v_V738.clone(); + rt::tl(&__t839)? + }; + rt::is_cons(&__t840) + }; + if !rt::is_truthy(interp, &__t851)? { + Value::bool(false) + } else { + let __t852 = { + let __t849 = { + let __t843 = { + let __t842 = { + let __t841 = v_V738.clone(); + rt::tl(&__t841)? + }; + rt::tl(&__t842)? + }; + rt::is_cons(&__t843) + }; + if !rt::is_truthy(interp, &__t849)? { + Value::bool(false) + } else { + let __t850 = { + let __t844 = Value::nil(); + let __t848 = { + let __t847 = { + let __t846 = { + let __t845 = + v_V738.clone(); + rt::tl(&__t845)? + }; + rt::tl(&__t846)? + }; + rt::tl(&__t847)? + }; + rt::eq(&__t844, &__t848) + }; + Value::bool(rt::is_truthy( + interp, &__t850, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t852)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t854)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t856)?) + } + }; + if match rt::is_truthy(interp, &__t866) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t861 = { + let __t859 = { + let __t858 = { + let __t857 = v_V738.clone(); + rt::tl(&__t857)? + }; + rt::hd(&__t858)? + }; + let __t860 = v_V737.clone(); + rt::cons(&__t859, &__t860) + }; + let __t865 = { + let __t864 = { + let __t863 = { + let __t862 = v_V738.clone(); + rt::tl(&__t862)? + }; + rt::tl(&__t863)? + }; + rt::hd(&__t864)? + }; + v_V737 = __t861; + v_V738 = __t865; + continue; + } + } else { + { + let __t834 = { + let __t825 = v_V738.clone(); + rt::is_cons(&__t825) + }; + if match rt::is_truthy(interp, &__t834) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t829 = { + let __t826 = v_V737.clone(); + let __t828 = { + let __t827 = v_V738.clone(); + rt::hd(&__t827)? + }; + rt::apply_direct( + interp, + "shen.find-free-vars", + &[__t826, __t828], + )? + }; + let __t833 = { + let __t830 = v_V737.clone(); + let __t832 = { + let __t831 = v_V738.clone(); + rt::tl(&__t831)? + }; + rt::apply_direct( + interp, + "shen.find-free-vars", + &[__t830, __t832], + )? + }; + rt::apply_direct(interp, "union", &[__t829, __t833])? + }); + } else { + { + let __t824 = { + let __t820 = v_V738.clone(); + let __t821 = v_V737.clone(); + rt::apply_direct( + interp, + "shen.free-variable?", + &[__t820, __t821], + )? + }; + if match rt::is_truthy(interp, &__t824) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t822 = v_V738.clone(); + let __t823 = Value::nil(); + rt::cons(&__t822, &__t823) + }); + } else { + { + let __t819 = Value::bool(true); + if match rt::is_truthy(interp, &__t819) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::nil()); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_find_x2d_free_x2d_vars(interp: &mut Interp) { + interp.register_native( + "shen.find-free-vars", + 2, + aot_shen_x2e_find_x2d_free_x2d_vars, + ); + interp.register_aot_direct("shen.find-free-vars", aot_shen_x2e_find_x2d_free_x2d_vars); +} + +/// AOT-compiled from KL `(defun shen.free-variable? ...)` +pub fn aot_shen_x2e_free_x2d_variable_x3f_( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.free-variable?: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V739 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V740 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t932 = { + let __t931 = v_V739.clone(); + rt::apply_direct(interp, "variable?", &[__t931])? + }; + if !match rt::is_truthy(interp, &__t932) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::bool(false)); + } else { + break Ok({ + let __t935 = { + let __t933 = v_V739.clone(); + let __t934 = v_V740.clone(); + rt::apply_direct(interp, "element?", &[__t933, __t934])? + }; + rt::apply_direct(interp, "not", &[__t935])? + }); + } + } + } +} + +fn install_shen_x2e_free_x2d_variable_x3f_(interp: &mut Interp) { + interp.register_native( + "shen.free-variable?", + 2, + aot_shen_x2e_free_x2d_variable_x3f_, + ); + interp.register_aot_direct("shen.free-variable?", aot_shen_x2e_free_x2d_variable_x3f_); +} + +/// AOT-compiled from KL `(defun shen.record-kl ...)` +pub fn aot_shen_x2e_record_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.record-kl: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V741 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V742 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let _ = { + let __t936 = Value::sym(interp.intern("shen.*userdefs*")); + let __t940 = { + let __t937 = v_V741.clone(); + let __t939 = { + let __t938 = Value::sym(interp.intern("shen.*userdefs*")); + rt::apply_direct(interp, "value", &[__t938])? + }; + rt::apply_direct(interp, "adjoin", &[__t937, __t939])? + }; + rt::apply_direct(interp, "set", &[__t936, __t940])? + }; + break Ok({ + let __t941 = v_V741.clone(); + let __t942 = Value::sym(interp.intern("shen.source")); + let __t943 = v_V742.clone(); + let __t945 = { + let __t944 = Value::sym(interp.intern("*property-vector*")); + rt::apply_direct(interp, "value", &[__t944])? + }; + rt::apply_direct(interp, "put", &[__t941, __t942, __t943, __t945])? + }); + } + } +} + +fn install_shen_x2e_record_x2d_kl(interp: &mut Interp) { + interp.register_native("shen.record-kl", 2, aot_shen_x2e_record_x2d_kl); + interp.register_aot_direct("shen.record-kl", aot_shen_x2e_record_x2d_kl); +} + +/// AOT-compiled from KL `(defun shen.compile-to-kl ...)` +pub fn aot_shen_x2e_compile_x2d_to_x2d_kl( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 3 { + return Err(ShenError::new(format!( + "shen.compile-to-kl: expected 3 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V743 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V744 = args[1].clone(); + #[allow(unused_mut)] + let mut v_V745 = args[2].clone(); + #[allow(clippy::never_loop)] + loop { + { + let v_W746 = { + let __t946 = v_V745.clone(); + rt::apply_direct(interp, "shen.parameters", &[__t946])? + }; + { + let v_W747 = { + let __t947 = v_V743.clone(); + let __t950 = { + let __t948 = v_V744.clone(); + let __t949 = v_W746.clone(); + rt::apply_direct(interp, "shen.kl-body", &[__t948, __t949])? + }; + rt::apply_direct(interp, "shen.scan-body", &[__t947, __t950])? + }; + { + let v_W748 = { + let __t951 = Value::sym(interp.intern("defun")); + let __t959 = { + let __t952 = v_V743.clone(); + let __t958 = { + let __t953 = v_W746.clone(); + let __t957 = { + let __t955 = { + let __t954 = v_W747.clone(); + rt::apply_direct(interp, "shen.cond-form", &[__t954])? + }; + let __t956 = Value::nil(); + rt::cons(&__t955, &__t956) + }; + rt::cons(&__t953, &__t957) + }; + rt::cons(&__t952, &__t958) + }; + rt::cons(&__t951, &__t959) + }; + break Ok(v_W748.clone()); + } + } + } + } +} + +fn install_shen_x2e_compile_x2d_to_x2d_kl(interp: &mut Interp) { + interp.register_native("shen.compile-to-kl", 3, aot_shen_x2e_compile_x2d_to_x2d_kl); + interp.register_aot_direct("shen.compile-to-kl", aot_shen_x2e_compile_x2d_to_x2d_kl); +} + +/// AOT-compiled from KL `(defun shen.parameters ...)` +pub fn aot_shen_x2e_parameters(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.parameters: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V749 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t969 = { + let __t967 = Value::int(0i64); + let __t968 = v_V749.clone(); + rt::eq(&__t967, &__t968) + }; + if match rt::is_truthy(interp, &__t969) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::nil()); + } else { + { + let __t966 = Value::bool(true); + if match rt::is_truthy(interp, &__t966) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t961 = { + let __t960 = Value::sym(interp.intern("V")); + rt::apply_direct(interp, "gensym", &[__t960])? + }; + let __t965 = { + let __t964 = { + let __t962 = v_V749.clone(); + let __t963 = Value::int(1i64); + rt::sub(&__t962, &__t963)? + }; + rt::apply_direct(interp, "shen.parameters", &[__t964])? + }; + rt::cons(&__t961, &__t965) + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_parameters(interp: &mut Interp) { + interp.register_native("shen.parameters", 1, aot_shen_x2e_parameters); + interp.register_aot_direct("shen.parameters", aot_shen_x2e_parameters); +} + +/// AOT-compiled from KL `(defun shen.cond-form ...)` +pub fn aot_shen_x2e_cond_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.cond-form: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V752 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t999 = { + let __t994 = { + let __t973 = v_V752.clone(); + rt::is_cons(&__t973) + }; + if !rt::is_truthy(interp, &__t994)? { + Value::bool(false) + } else { + let __t995 = { + let __t992 = { + let __t975 = { + let __t974 = v_V752.clone(); + rt::hd(&__t974)? + }; + rt::is_cons(&__t975) + }; + if !rt::is_truthy(interp, &__t992)? { + Value::bool(false) + } else { + let __t993 = { + let __t990 = { + let __t976 = Value::bool(true); + let __t979 = { + let __t978 = { + let __t977 = v_V752.clone(); + rt::hd(&__t977)? + }; + rt::hd(&__t978)? + }; + rt::eq(&__t976, &__t979) + }; + if !rt::is_truthy(interp, &__t990)? { + Value::bool(false) + } else { + let __t991 = { + let __t988 = { + let __t982 = { + let __t981 = { + let __t980 = v_V752.clone(); + rt::hd(&__t980)? + }; + rt::tl(&__t981)? + }; + rt::is_cons(&__t982) + }; + if !rt::is_truthy(interp, &__t988)? { + Value::bool(false) + } else { + let __t989 = { + let __t983 = Value::nil(); + let __t987 = { + let __t986 = { + let __t985 = { + let __t984 = v_V752.clone(); + rt::hd(&__t984)? + }; + rt::tl(&__t985)? + }; + rt::tl(&__t986)? + }; + rt::eq(&__t983, &__t987) + }; + Value::bool(rt::is_truthy(interp, &__t989)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t991)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t993)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t995)?) + } + }; + if match rt::is_truthy(interp, &__t999) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t998 = { + let __t997 = { + let __t996 = v_V752.clone(); + rt::hd(&__t996)? + }; + rt::tl(&__t997)? + }; + rt::hd(&__t998)? + }); + } else { + { + let __t972 = Value::bool(true); + if match rt::is_truthy(interp, &__t972) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t970 = Value::sym(interp.intern("cond")); + let __t971 = v_V752.clone(); + rt::cons(&__t970, &__t971) + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_cond_x2d_form(interp: &mut Interp) { + interp.register_native("shen.cond-form", 1, aot_shen_x2e_cond_x2d_form); + interp.register_aot_direct("shen.cond-form", aot_shen_x2e_cond_x2d_form); +} + +/// AOT-compiled from KL `(defun shen.scan-body ...)` +pub fn aot_shen_x2e_scan_x2d_body(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.scan-body: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V761 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V762 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1064 = { + let __t1052 = Value::nil(); + let __t1053 = v_V762.clone(); + rt::eq(&__t1052, &__t1053) + }; + if match rt::is_truthy(interp, &__t1064) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1062 = { + let __t1054 = Value::bool(true); + let __t1061 = { + let __t1059 = { + let __t1055 = Value::sym(interp.intern("shen.f-error")); + let __t1058 = { + let __t1056 = v_V761.clone(); + let __t1057 = Value::nil(); + rt::cons(&__t1056, &__t1057) + }; + rt::cons(&__t1055, &__t1058) + }; + let __t1060 = Value::nil(); + rt::cons(&__t1059, &__t1060) + }; + rt::cons(&__t1054, &__t1061) + }; + let __t1063 = Value::nil(); + rt::cons(&__t1062, &__t1063) + }); + } else { + { + let __t1051 = { + let __t1040 = { + let __t1037 = v_V762.clone(); + rt::is_cons(&__t1037) + }; + if !rt::is_truthy(interp, &__t1040)? { + Value::bool(false) + } else { + let __t1041 = { + let __t1039 = { + let __t1038 = v_V762.clone(); + rt::hd(&__t1038)? + }; + rt::apply_direct(interp, "shen.choicepoint?", &[__t1039])? + }; + Value::bool(rt::is_truthy(interp, &__t1041)?) + } + }; + if match rt::is_truthy(interp, &__t1051) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1042 = v_V761.clone(); + let __t1044 = { + let __t1043 = Value::sym(interp.intern("Freeze")); + rt::apply_direct(interp, "gensym", &[__t1043])? + }; + let __t1046 = { + let __t1045 = Value::sym(interp.intern("Result")); + rt::apply_direct(interp, "gensym", &[__t1045])? + }; + let __t1048 = { + let __t1047 = v_V762.clone(); + rt::hd(&__t1047)? + }; + let __t1050 = { + let __t1049 = v_V762.clone(); + rt::tl(&__t1049)? + }; + rt::apply_direct( + interp, + "shen.choicepoint", + &[__t1042, __t1044, __t1046, __t1048, __t1050], + )? + }); + } else { + { + let __t1036 = { + let __t1031 = { + let __t1010 = v_V762.clone(); + rt::is_cons(&__t1010) + }; + if !rt::is_truthy(interp, &__t1031)? { + Value::bool(false) + } else { + let __t1032 = { + let __t1029 = { + let __t1012 = { + let __t1011 = v_V762.clone(); + rt::hd(&__t1011)? + }; + rt::is_cons(&__t1012) + }; + if !rt::is_truthy(interp, &__t1029)? { + Value::bool(false) + } else { + let __t1030 = { + let __t1027 = { + let __t1013 = Value::bool(true); + let __t1016 = { + let __t1015 = { + let __t1014 = v_V762.clone(); + rt::hd(&__t1014)? + }; + rt::hd(&__t1015)? + }; + rt::eq(&__t1013, &__t1016) + }; + if !rt::is_truthy(interp, &__t1027)? { + Value::bool(false) + } else { + let __t1028 = { + let __t1025 = { + let __t1019 = { + let __t1018 = { + let __t1017 = v_V762.clone(); + rt::hd(&__t1017)? + }; + rt::tl(&__t1018)? + }; + rt::is_cons(&__t1019) + }; + if !rt::is_truthy(interp, &__t1025)? { + Value::bool(false) + } else { + let __t1026 = { + let __t1020 = Value::nil(); + let __t1024 = { + let __t1023 = { + let __t1022 = { + let __t1021 = + v_V762.clone(); + rt::hd(&__t1021)? + }; + rt::tl(&__t1022)? + }; + rt::tl(&__t1023)? + }; + rt::eq(&__t1020, &__t1024) + }; + Value::bool(rt::is_truthy( + interp, &__t1026, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1028)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1030)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1032)?) + } + }; + if match rt::is_truthy(interp, &__t1036) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1034 = { + let __t1033 = v_V762.clone(); + rt::hd(&__t1033)? + }; + let __t1035 = Value::nil(); + rt::cons(&__t1034, &__t1035) + }); + } else { + { + let __t1009 = { + let __t1002 = v_V762.clone(); + rt::is_cons(&__t1002) + }; + if match rt::is_truthy(interp, &__t1009) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1004 = { + let __t1003 = v_V762.clone(); + rt::hd(&__t1003)? + }; + let __t1008 = { + let __t1005 = v_V761.clone(); + let __t1007 = { + let __t1006 = v_V762.clone(); + rt::tl(&__t1006)? + }; + rt::apply_direct( + interp, + "shen.scan-body", + &[__t1005, __t1007], + )? + }; + rt::cons(&__t1004, &__t1008) + }); + } else { + { + let __t1001 = Value::bool(true); + if match rt::is_truthy(interp, &__t1001) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1000 = Value::str( + "implementation error in shen.scan-body", + ); + rt::apply_direct( + interp, + "simple-error", + &[__t1000], + )? + }); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_scan_x2d_body(interp: &mut Interp) { + interp.register_native("shen.scan-body", 2, aot_shen_x2e_scan_x2d_body); + interp.register_aot_direct("shen.scan-body", aot_shen_x2e_scan_x2d_body); +} + +/// AOT-compiled from KL `(defun shen.choicepoint? ...)` +pub fn aot_shen_x2e_choicepoint_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.choicepoint?: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V769 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1103 = { + let __t1101 = { + let __t1066 = v_V769.clone(); + rt::is_cons(&__t1066) + }; + if !rt::is_truthy(interp, &__t1101)? { + Value::bool(false) + } else { + let __t1102 = { + let __t1099 = { + let __t1068 = { + let __t1067 = v_V769.clone(); + rt::tl(&__t1067)? + }; + rt::is_cons(&__t1068) + }; + if !rt::is_truthy(interp, &__t1099)? { + Value::bool(false) + } else { + let __t1100 = { + let __t1097 = { + let __t1071 = { + let __t1070 = { + let __t1069 = v_V769.clone(); + rt::tl(&__t1069)? + }; + rt::hd(&__t1070)? + }; + rt::is_cons(&__t1071) + }; + if !rt::is_truthy(interp, &__t1097)? { + Value::bool(false) + } else { + let __t1098 = { + let __t1095 = { + let __t1072 = + Value::sym(interp.intern("shen.choicepoint!")); + let __t1076 = { + let __t1075 = { + let __t1074 = { + let __t1073 = v_V769.clone(); + rt::tl(&__t1073)? + }; + rt::hd(&__t1074)? + }; + rt::hd(&__t1075)? + }; + rt::eq(&__t1072, &__t1076) + }; + if !rt::is_truthy(interp, &__t1095)? { + Value::bool(false) + } else { + let __t1096 = { + let __t1093 = { + let __t1080 = { + let __t1079 = { + let __t1078 = { + let __t1077 = v_V769.clone(); + rt::tl(&__t1077)? + }; + rt::hd(&__t1078)? + }; + rt::tl(&__t1079)? + }; + rt::is_cons(&__t1080) + }; + if !rt::is_truthy(interp, &__t1093)? { + Value::bool(false) + } else { + let __t1094 = { + let __t1091 = { + let __t1081 = Value::nil(); + let __t1086 = { + let __t1085 = { + let __t1084 = { + let __t1083 = { + let __t1082 = + v_V769.clone(); + rt::tl(&__t1082)? + }; + rt::hd(&__t1083)? + }; + rt::tl(&__t1084)? + }; + rt::tl(&__t1085)? + }; + rt::eq(&__t1081, &__t1086) + }; + if !rt::is_truthy(interp, &__t1091)? { + Value::bool(false) + } else { + let __t1092 = { + let __t1087 = Value::nil(); + let __t1090 = { + let __t1089 = { + let __t1088 = + v_V769.clone(); + rt::tl(&__t1088)? + }; + rt::tl(&__t1089)? + }; + rt::eq(&__t1087, &__t1090) + }; + Value::bool(rt::is_truthy( + interp, &__t1092, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1094)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1096)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1098)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1100)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1102)?) + } + }; + if match rt::is_truthy(interp, &__t1103) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::bool(true)); + } else { + { + let __t1065 = Value::bool(true); + if match rt::is_truthy(interp, &__t1065) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::bool(false)); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_choicepoint_x3f_(interp: &mut Interp) { + interp.register_native("shen.choicepoint?", 1, aot_shen_x2e_choicepoint_x3f_); + interp.register_aot_direct("shen.choicepoint?", aot_shen_x2e_choicepoint_x3f_); +} + +/// AOT-compiled from KL `(defun shen.choicepoint ...)` +pub fn aot_shen_x2e_choicepoint(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 5 { + return Err(ShenError::new(format!( + "shen.choicepoint: expected 5 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V785 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V786 = args[1].clone(); + #[allow(unused_mut)] + let mut v_V787 = args[2].clone(); + #[allow(unused_mut)] + let mut v_V788 = args[3].clone(); + #[allow(unused_mut)] + let mut v_V789 = args[4].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1366 = { + let __t1286 = { + let __t1204 = v_V788.clone(); + rt::is_cons(&__t1204) + }; + if !rt::is_truthy(interp, &__t1286)? { + Value::bool(false) + } else { + let __t1287 = { + let __t1284 = { + let __t1206 = { + let __t1205 = v_V788.clone(); + rt::tl(&__t1205)? + }; + rt::is_cons(&__t1206) + }; + if !rt::is_truthy(interp, &__t1284)? { + Value::bool(false) + } else { + let __t1285 = { + let __t1282 = { + let __t1209 = { + let __t1208 = { + let __t1207 = v_V788.clone(); + rt::tl(&__t1207)? + }; + rt::hd(&__t1208)? + }; + rt::is_cons(&__t1209) + }; + if !rt::is_truthy(interp, &__t1282)? { + Value::bool(false) + } else { + let __t1283 = { + let __t1280 = { + let __t1213 = { + let __t1212 = { + let __t1211 = { + let __t1210 = v_V788.clone(); + rt::tl(&__t1210)? + }; + rt::hd(&__t1211)? + }; + rt::tl(&__t1212)? + }; + rt::is_cons(&__t1213) + }; + if !rt::is_truthy(interp, &__t1280)? { + Value::bool(false) + } else { + let __t1281 = { + let __t1278 = { + let __t1218 = { + let __t1217 = { + let __t1216 = { + let __t1215 = { + let __t1214 = v_V788.clone(); + rt::tl(&__t1214)? + }; + rt::hd(&__t1215)? + }; + rt::tl(&__t1216)? + }; + rt::hd(&__t1217)? + }; + rt::is_cons(&__t1218) + }; + if !rt::is_truthy(interp, &__t1278)? { + Value::bool(false) + } else { + let __t1279 = { + let __t1276 = { + let __t1219 = Value::sym( + interp.intern("fail-if"), + ); + let __t1225 = { + let __t1224 = { + let __t1223 = { + let __t1222 = { + let __t1221 = { + let __t1220 = + v_V788.clone(); + rt::tl(&__t1220)? + }; + rt::hd(&__t1221)? + }; + rt::tl(&__t1222)? + }; + rt::hd(&__t1223)? + }; + rt::hd(&__t1224)? + }; + rt::eq(&__t1219, &__t1225) + }; + if !rt::is_truthy(interp, &__t1276)? { + Value::bool(false) + } else { + let __t1277 = { + let __t1274 = { + let __t1231 = { + let __t1230 = { + let __t1229 = { + let __t1228 = { + let __t1227 = { + let __t1226 = v_V788.clone(); + rt::tl(&__t1226)? + }; + rt::hd( + &__t1227, + )? + }; + rt::tl(&__t1228)? + }; + rt::hd(&__t1229)? + }; + rt::tl(&__t1230)? + }; + rt::is_cons(&__t1231) + }; + if !rt::is_truthy(interp, &__t1274)? + { + Value::bool(false) + } else { + let __t1275 = { + let __t1272 = { + let __t1238 = { + let __t1237 = { + let __t1236 = { + let __t1235 = { + let __t1234 = { + let __t1233 = { let __t1232 = v_V788.clone(); rt::tl(&__t1232)? }; + rt::hd(&__t1233)? + }; + rt::tl(&__t1234)? + }; + rt::hd(&__t1235)? + }; + rt::tl( + &__t1236, + )? + }; + rt::tl(&__t1237)? + }; + rt::is_cons(&__t1238) + }; + if !rt::is_truthy( + interp, &__t1272, + )? { + Value::bool(false) + } else { + let __t1273 = { + let __t1270 = { + let __t1239 = + Value::nil( + ); + let __t1247 = { + let __t1246 = { + let __t1245 = { + let __t1244 = { let __t1243 = { let __t1242 = { let __t1241 = { let __t1240 = v_V788.clone(); rt::tl(&__t1240)? }; rt::hd(&__t1241)? }; rt::tl(&__t1242)? }; rt::hd(&__t1243)? }; + rt::tl(&__t1244)? + }; + rt::tl(&__t1245)? + }; + rt::tl(&__t1246)? + }; + rt::eq( + &__t1239, + &__t1247, + ) + }; + if !rt::is_truthy( + interp, + &__t1270, + )? { + Value::bool( + false, + ) + } else { + let __t1271 = { + let __t1268 = { + let __t1248 = Value::nil(); + let __t1253 = { + let __t1252 = { let __t1251 = { let __t1250 = { let __t1249 = v_V788.clone(); rt::tl(&__t1249)? }; rt::hd(&__t1250)? }; rt::tl(&__t1251)? }; + rt::tl(&__t1252)? + }; + rt::eq(&__t1248, &__t1253) + }; + if !rt::is_truthy(interp, &__t1268)? { Value::bool(false) } else { let __t1269 = { let __t1266 = { let __t1254 = Value::nil(); let __t1257 = { let __t1256 = { let __t1255 = v_V788.clone(); rt::tl(&__t1255)? }; rt::tl(&__t1256)? }; rt::eq(&__t1254, &__t1257) }; if !rt::is_truthy(interp, &__t1266)? { Value::bool(false) } else { let __t1267 = { let __t1258 = v_V785.clone(); let __t1265 = { let __t1264 = { let __t1263 = { let __t1262 = { let __t1261 = { let __t1260 = { let __t1259 = v_V788.clone(); rt::tl(&__t1259)? }; rt::hd(&__t1260)? }; rt::tl(&__t1261)? }; rt::hd(&__t1262)? }; rt::tl(&__t1263)? }; rt::hd(&__t1264)? }; rt::eq(&__t1258, &__t1265) }; Value::bool(rt::is_truthy(interp, &__t1267)?) } }; Value::bool(rt::is_truthy(interp, &__t1269)?) } + }; + Value::bool(rt::is_truthy(interp, &__t1271)?) + } + }; + Value::bool( + rt::is_truthy( + interp, + &__t1273, + )?, + ) + } + }; + Value::bool(rt::is_truthy( + interp, &__t1275, + )?) + } + }; + Value::bool(rt::is_truthy( + interp, &__t1277, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1279)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1281)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1283)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1285)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1287)?) + } + }; + if match rt::is_truthy(interp, &__t1366) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1364 = { + let __t1288 = Value::bool(true); + let __t1363 = { + let __t1361 = { + let __t1289 = Value::sym(interp.intern("let")); + let __t1360 = { + let __t1290 = v_V786.clone(); + let __t1359 = { + let __t1305 = { + let __t1291 = Value::sym(interp.intern("freeze")); + let __t1304 = { + let __t1302 = { + let __t1292 = Value::sym(interp.intern("cond")); + let __t1301 = { + let __t1299 = { + let __t1298 = { + let __t1297 = { + let __t1296 = { + let __t1295 = { + let __t1294 = { + let __t1293 = + v_V788.clone(); + rt::tl(&__t1293)? + }; + rt::hd(&__t1294)? + }; + rt::tl(&__t1295)? + }; + rt::hd(&__t1296)? + }; + rt::tl(&__t1297)? + }; + rt::hd(&__t1298)? + }; + let __t1300 = v_V789.clone(); + rt::apply_direct( + interp, + "shen.scan-body", + &[__t1299, __t1300], + )? + }; + rt::cons(&__t1292, &__t1301) + }; + let __t1303 = Value::nil(); + rt::cons(&__t1302, &__t1303) + }; + rt::cons(&__t1291, &__t1304) + }; + let __t1358 = { + let __t1356 = { + let __t1306 = Value::sym(interp.intern("if")); + let __t1355 = { + let __t1308 = { + let __t1307 = v_V788.clone(); + rt::hd(&__t1307)? + }; + let __t1354 = { + let __t1346 = { + let __t1309 = + Value::sym(interp.intern("let")); + let __t1345 = { + let __t1310 = v_V787.clone(); + let __t1344 = { + let __t1318 = { + let __t1317 = { + let __t1316 = { + let __t1315 = { + let __t1314 = { + let __t1313 = { + let __t1312 = { + let __t1311 = v_V788.clone(); + rt::tl(&__t1311)? + }; + rt::hd(&__t1312)? + }; + rt::tl(&__t1313)? + }; + rt::hd( + &__t1314, + )? + }; + rt::tl(&__t1315)? + }; + rt::tl(&__t1316)? + }; + rt::hd(&__t1317)? + }; + let __t1343 = { + let __t1341 = { + let __t1319 = + Value::sym( + interp.intern( + "if", + ), + ); + let __t1340 = { + let __t1330 = { + let __t1326 = { + let __t1325 = { + let __t1324 = { + let __t1323 = { let __t1322 = { let __t1321 = { let __t1320 = v_V788.clone(); rt::tl(&__t1320)? }; rt::hd(&__t1321)? }; rt::tl(&__t1322)? }; + rt::hd(&__t1323)? + }; + rt::tl(&__t1324)? + }; + rt::hd(&__t1325)? + }; + let __t1329 = { + let __t1327 = v_V787.clone(); + let __t1328 = Value::nil(); + rt::cons(&__t1327, &__t1328) + }; + rt::cons( + &__t1326, + &__t1329, + ) + }; + let __t1339 = { + let __t1335 = { + let __t1331 = Value::sym(interp.intern("thaw")); + let __t1334 = { + let __t1332 = v_V786.clone(); + let __t1333 = Value::nil(); + rt::cons(&__t1332, &__t1333) + }; + rt::cons(&__t1331, &__t1334) + }; + let __t1338 = { + let __t1336 = v_V787.clone(); + let __t1337 = Value::nil(); + rt::cons(&__t1336, &__t1337) + }; + rt::cons( + &__t1335, + &__t1338, + ) + }; + rt::cons( + &__t1330, + &__t1339, + ) + }; + rt::cons( + &__t1319, &__t1340, + ) + }; + let __t1342 = Value::nil(); + rt::cons(&__t1341, &__t1342) + }; + rt::cons(&__t1318, &__t1343) + }; + rt::cons(&__t1310, &__t1344) + }; + rt::cons(&__t1309, &__t1345) + }; + let __t1353 = { + let __t1351 = { + let __t1347 = Value::sym( + interp.intern("thaw"), + ); + let __t1350 = { + let __t1348 = v_V786.clone(); + let __t1349 = Value::nil(); + rt::cons(&__t1348, &__t1349) + }; + rt::cons(&__t1347, &__t1350) + }; + let __t1352 = Value::nil(); + rt::cons(&__t1351, &__t1352) + }; + rt::cons(&__t1346, &__t1353) + }; + rt::cons(&__t1308, &__t1354) + }; + rt::cons(&__t1306, &__t1355) + }; + let __t1357 = Value::nil(); + rt::cons(&__t1356, &__t1357) + }; + rt::cons(&__t1305, &__t1358) + }; + rt::cons(&__t1290, &__t1359) + }; + rt::cons(&__t1289, &__t1360) + }; + let __t1362 = Value::nil(); + rt::cons(&__t1361, &__t1362) + }; + rt::cons(&__t1288, &__t1363) + }; + let __t1365 = Value::nil(); + rt::cons(&__t1364, &__t1365) + }); + } else { + { + let __t1203 = { + let __t1134 = { + let __t1106 = v_V788.clone(); + rt::is_cons(&__t1106) + }; + if !rt::is_truthy(interp, &__t1134)? { + Value::bool(false) + } else { + let __t1135 = { + let __t1132 = { + let __t1108 = { + let __t1107 = v_V788.clone(); + rt::tl(&__t1107)? + }; + rt::is_cons(&__t1108) + }; + if !rt::is_truthy(interp, &__t1132)? { + Value::bool(false) + } else { + let __t1133 = { + let __t1130 = { + let __t1111 = { + let __t1110 = { + let __t1109 = v_V788.clone(); + rt::tl(&__t1109)? + }; + rt::hd(&__t1110)? + }; + rt::is_cons(&__t1111) + }; + if !rt::is_truthy(interp, &__t1130)? { + Value::bool(false) + } else { + let __t1131 = { + let __t1128 = { + let __t1115 = { + let __t1114 = { + let __t1113 = { + let __t1112 = v_V788.clone(); + rt::tl(&__t1112)? + }; + rt::hd(&__t1113)? + }; + rt::tl(&__t1114)? + }; + rt::is_cons(&__t1115) + }; + if !rt::is_truthy(interp, &__t1128)? { + Value::bool(false) + } else { + let __t1129 = { + let __t1126 = { + let __t1116 = Value::nil(); + let __t1121 = { + let __t1120 = { + let __t1119 = { + let __t1118 = { + let __t1117 = + v_V788.clone(); + rt::tl(&__t1117)? + }; + rt::hd(&__t1118)? + }; + rt::tl(&__t1119)? + }; + rt::tl(&__t1120)? + }; + rt::eq(&__t1116, &__t1121) + }; + if !rt::is_truthy(interp, &__t1126)? { + Value::bool(false) + } else { + let __t1127 = { + let __t1122 = Value::nil(); + let __t1125 = { + let __t1124 = { + let __t1123 = + v_V788.clone(); + rt::tl(&__t1123)? + }; + rt::tl(&__t1124)? + }; + rt::eq(&__t1122, &__t1125) + }; + Value::bool(rt::is_truthy( + interp, &__t1127, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1129)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1131)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1133)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1135)?) + } + }; + if match rt::is_truthy(interp, &__t1203) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1201 = { + let __t1136 = Value::bool(true); + let __t1200 = { + let __t1198 = { + let __t1137 = Value::sym(interp.intern("let")); + let __t1197 = { + let __t1138 = v_V786.clone(); + let __t1196 = { + let __t1147 = { + let __t1139 = + Value::sym(interp.intern("freeze")); + let __t1146 = { + let __t1144 = { + let __t1140 = + Value::sym(interp.intern("cond")); + let __t1143 = { + let __t1141 = v_V785.clone(); + let __t1142 = v_V789.clone(); + rt::apply_direct( + interp, + "shen.scan-body", + &[__t1141, __t1142], + )? + }; + rt::cons(&__t1140, &__t1143) + }; + let __t1145 = Value::nil(); + rt::cons(&__t1144, &__t1145) + }; + rt::cons(&__t1139, &__t1146) + }; + let __t1195 = { + let __t1193 = { + let __t1148 = + Value::sym(interp.intern("if")); + let __t1192 = { + let __t1150 = { + let __t1149 = v_V788.clone(); + rt::hd(&__t1149)? + }; + let __t1191 = { + let __t1183 = { + let __t1151 = Value::sym( + interp.intern("let"), + ); + let __t1182 = { + let __t1152 = + v_V787.clone(); + let __t1181 = { + let __t1157 = { + let __t1156 = { + let __t1155 = { + let __t1154 = { + let __t1153 = v_V788.clone(); + rt::tl(&__t1153)? + }; + rt::hd(&__t1154)? + }; + rt::tl( + &__t1155, + )? + }; + rt::hd(&__t1156)? + }; + let __t1180 = { + let __t1178 = { + let __t1158 = Value::sym(interp.intern("if")); + let __t1177 = { + let __t1167 = { + let __t1159 = Value::sym(interp.intern("=")); + let __t1166 = { + let __t1160 = v_V787.clone(); + let __t1165 = { let __t1163 = { let __t1161 = Value::sym(interp.intern("fail")); let __t1162 = Value::nil(); rt::cons(&__t1161, &__t1162) }; let __t1164 = Value::nil(); rt::cons(&__t1163, &__t1164) }; + rt::cons(&__t1160, &__t1165) + }; + rt::cons(&__t1159, &__t1166) + }; + let __t1176 = { + let __t1172 = { + let __t1168 = Value::sym(interp.intern("thaw")); + let __t1171 = { let __t1169 = v_V786.clone(); let __t1170 = Value::nil(); rt::cons(&__t1169, &__t1170) }; + rt::cons(&__t1168, &__t1171) + }; + let __t1175 = { + let __t1173 = v_V787.clone(); + let __t1174 = Value::nil(); + rt::cons(&__t1173, &__t1174) + }; + rt::cons(&__t1172, &__t1175) + }; + rt::cons(&__t1167, &__t1176) + }; + rt::cons( + &__t1158, + &__t1177, + ) + }; + let __t1179 = + Value::nil(); + rt::cons( + &__t1178, + &__t1179, + ) + }; + rt::cons( + &__t1157, &__t1180, + ) + }; + rt::cons(&__t1152, &__t1181) + }; + rt::cons(&__t1151, &__t1182) + }; + let __t1190 = { + let __t1188 = { + let __t1184 = Value::sym( + interp.intern("thaw"), + ); + let __t1187 = { + let __t1185 = + v_V786.clone(); + let __t1186 = + Value::nil(); + rt::cons( + &__t1185, &__t1186, + ) + }; + rt::cons(&__t1184, &__t1187) + }; + let __t1189 = Value::nil(); + rt::cons(&__t1188, &__t1189) + }; + rt::cons(&__t1183, &__t1190) + }; + rt::cons(&__t1150, &__t1191) + }; + rt::cons(&__t1148, &__t1192) + }; + let __t1194 = Value::nil(); + rt::cons(&__t1193, &__t1194) + }; + rt::cons(&__t1147, &__t1195) + }; + rt::cons(&__t1138, &__t1196) + }; + rt::cons(&__t1137, &__t1197) + }; + let __t1199 = Value::nil(); + rt::cons(&__t1198, &__t1199) + }; + rt::cons(&__t1136, &__t1200) + }; + let __t1202 = Value::nil(); + rt::cons(&__t1201, &__t1202) + }); + } else { + { + let __t1105 = Value::bool(true); + if match rt::is_truthy(interp, &__t1105) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1104 = + Value::str("implementation error in shen.choicepoint"); + rt::apply_direct(interp, "simple-error", &[__t1104])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } +} + +fn install_shen_x2e_choicepoint(interp: &mut Interp) { + interp.register_native("shen.choicepoint", 5, aot_shen_x2e_choicepoint); + interp.register_aot_direct("shen.choicepoint", aot_shen_x2e_choicepoint); +} + +/// AOT-compiled from KL `(defun shen.rep-X ...)` +pub fn aot_shen_x2e_rep_x2d_X(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 3 { + return Err(ShenError::new(format!( + "shen.rep-X: expected 3 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V791 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V792 = args[1].clone(); + #[allow(unused_mut)] + let mut v_V793 = args[2].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1390 = { + let __t1388 = v_V791.clone(); + let __t1389 = v_V793.clone(); + rt::eq(&__t1388, &__t1389) + }; + if match rt::is_truthy(interp, &__t1390) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V792.clone()); + } else { + { + let __t1387 = { + let __t1368 = v_V793.clone(); + rt::is_cons(&__t1368) + }; + if match rt::is_truthy(interp, &__t1387) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W794 = { + let __t1369 = v_V791.clone(); + let __t1370 = v_V792.clone(); + let __t1372 = { + let __t1371 = v_V793.clone(); + rt::hd(&__t1371)? + }; + rt::apply_direct( + interp, + "shen.rep-X", + &[__t1369, __t1370, __t1372], + )? + }; + { + let __t1376 = { + let __t1373 = v_W794.clone(); + let __t1375 = { + let __t1374 = v_V793.clone(); + rt::hd(&__t1374)? + }; + rt::eq(&__t1373, &__t1375) + }; + if match rt::is_truthy(interp, &__t1376) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1378 = { + let __t1377 = v_V793.clone(); + rt::hd(&__t1377)? + }; + let __t1383 = { + let __t1379 = v_V791.clone(); + let __t1380 = v_V792.clone(); + let __t1382 = { + let __t1381 = v_V793.clone(); + rt::tl(&__t1381)? + }; + rt::apply_direct( + interp, + "shen.rep-X", + &[__t1379, __t1380, __t1382], + )? + }; + rt::cons(&__t1378, &__t1383) + }); + } else { + break Ok({ + let __t1384 = v_W794.clone(); + let __t1386 = { + let __t1385 = v_V793.clone(); + rt::tl(&__t1385)? + }; + rt::cons(&__t1384, &__t1386) + }); + } + } + } + } else { + { + let __t1367 = Value::bool(true); + if match rt::is_truthy(interp, &__t1367) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V793.clone()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } +} + +fn install_shen_x2e_rep_x2d_X(interp: &mut Interp) { + interp.register_native("shen.rep-X", 3, aot_shen_x2e_rep_x2d_X); + interp.register_aot_direct("shen.rep-X", aot_shen_x2e_rep_x2d_X); +} + +/// AOT-compiled from KL `(defun shen.kl-body ...)` +pub fn aot_shen_x2e_kl_x2d_body(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.kl-body: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V795 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V796 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + break Ok({ + let __t1398 = { + let v_V796 = v_V796.clone(); + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z797 = args[0].clone(); + Ok({ + let __t1391 = Value::nil(); + let __t1393 = { + let __t1392 = v_Z797.clone(); + rt::apply_direct(interp, "fst", &[__t1392])? + }; + let __t1394 = v_V796.clone(); + let __t1397 = { + let __t1396 = { + let __t1395 = v_Z797.clone(); + rt::apply_direct(interp, "snd", &[__t1395])? + }; + rt::apply_direct(interp, "shen.alpha-convert", &[__t1396])? + }; + rt::apply_direct( + interp, + "shen.triple-stack", + &[__t1391, __t1393, __t1394, __t1397], + )? + }) + }, + vec![v_V796], + interp, + ) + }; + let __t1399 = v_V795.clone(); + rt::apply_direct(interp, "map", &[__t1398, __t1399])? + }); + } +} + +fn install_shen_x2e_kl_x2d_body(interp: &mut Interp) { + interp.register_native("shen.kl-body", 2, aot_shen_x2e_kl_x2d_body); + interp.register_aot_direct("shen.kl-body", aot_shen_x2e_kl_x2d_body); +} + +/// AOT-compiled from KL `(defun shen.alpha-convert ...)` +pub fn aot_shen_x2e_alpha_x2d_convert(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.alpha-convert: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V798 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1500 = { + let __t1480 = { + let __t1460 = v_V798.clone(); + rt::is_cons(&__t1460) + }; + if !rt::is_truthy(interp, &__t1480)? { + Value::bool(false) + } else { + let __t1481 = { + let __t1478 = { + let __t1461 = Value::sym(interp.intern("lambda")); + let __t1463 = { + let __t1462 = v_V798.clone(); + rt::hd(&__t1462)? + }; + rt::eq(&__t1461, &__t1463) + }; + if !rt::is_truthy(interp, &__t1478)? { + Value::bool(false) + } else { + let __t1479 = { + let __t1476 = { + let __t1465 = { + let __t1464 = v_V798.clone(); + rt::tl(&__t1464)? + }; + rt::is_cons(&__t1465) + }; + if !rt::is_truthy(interp, &__t1476)? { + Value::bool(false) + } else { + let __t1477 = { + let __t1474 = { + let __t1468 = { + let __t1467 = { + let __t1466 = v_V798.clone(); + rt::tl(&__t1466)? + }; + rt::tl(&__t1467)? + }; + rt::is_cons(&__t1468) + }; + if !rt::is_truthy(interp, &__t1474)? { + Value::bool(false) + } else { + let __t1475 = { + let __t1469 = Value::nil(); + let __t1473 = { + let __t1472 = { + let __t1471 = { + let __t1470 = v_V798.clone(); + rt::tl(&__t1470)? + }; + rt::tl(&__t1471)? + }; + rt::tl(&__t1472)? + }; + rt::eq(&__t1469, &__t1473) + }; + Value::bool(rt::is_truthy(interp, &__t1475)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1477)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1479)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1481)?) + } + }; + if match rt::is_truthy(interp, &__t1500) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W799 = { + let __t1482 = Value::sym(interp.intern("Z")); + rt::apply_direct(interp, "gensym", &[__t1482])? + }; + { + let v_W800 = { + let __t1483 = Value::sym(interp.intern("lambda")); + let __t1496 = { + let __t1484 = v_W799.clone(); + let __t1495 = { + let __t1493 = { + let __t1487 = { + let __t1486 = { + let __t1485 = v_V798.clone(); + rt::tl(&__t1485)? + }; + rt::hd(&__t1486)? + }; + let __t1488 = v_W799.clone(); + let __t1492 = { + let __t1491 = { + let __t1490 = { + let __t1489 = v_V798.clone(); + rt::tl(&__t1489)? + }; + rt::tl(&__t1490)? + }; + rt::hd(&__t1491)? + }; + rt::apply_direct( + interp, + "shen.beta", + &[__t1487, __t1488, __t1492], + )? + }; + let __t1494 = Value::nil(); + rt::cons(&__t1493, &__t1494) + }; + rt::cons(&__t1484, &__t1495) + }; + rt::cons(&__t1483, &__t1496) + }; + break Ok({ + let __t1498 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z801 = args[0].clone(); + Ok({ + let __t1497 = v_Z801.clone(); + rt::apply_direct( + interp, + "shen.alpha-convert", + &[__t1497], + )? + }) + }, + Vec::new(), + interp, + ) + }; + let __t1499 = v_W800.clone(); + rt::apply_direct(interp, "map", &[__t1498, __t1499])? + }); + } + } + } else { + { + let __t1459 = { + let __t1433 = { + let __t1406 = v_V798.clone(); + rt::is_cons(&__t1406) + }; + if !rt::is_truthy(interp, &__t1433)? { + Value::bool(false) + } else { + let __t1434 = { + let __t1431 = { + let __t1407 = Value::sym(interp.intern("let")); + let __t1409 = { + let __t1408 = v_V798.clone(); + rt::hd(&__t1408)? + }; + rt::eq(&__t1407, &__t1409) + }; + if !rt::is_truthy(interp, &__t1431)? { + Value::bool(false) + } else { + let __t1432 = { + let __t1429 = { + let __t1411 = { + let __t1410 = v_V798.clone(); + rt::tl(&__t1410)? + }; + rt::is_cons(&__t1411) + }; + if !rt::is_truthy(interp, &__t1429)? { + Value::bool(false) + } else { + let __t1430 = { + let __t1427 = { + let __t1414 = { + let __t1413 = { + let __t1412 = v_V798.clone(); + rt::tl(&__t1412)? + }; + rt::tl(&__t1413)? + }; + rt::is_cons(&__t1414) + }; + if !rt::is_truthy(interp, &__t1427)? { + Value::bool(false) + } else { + let __t1428 = { + let __t1425 = { + let __t1418 = { + let __t1417 = { + let __t1416 = { + let __t1415 = + v_V798.clone(); + rt::tl(&__t1415)? + }; + rt::tl(&__t1416)? + }; + rt::tl(&__t1417)? + }; + rt::is_cons(&__t1418) + }; + if !rt::is_truthy(interp, &__t1425)? { + Value::bool(false) + } else { + let __t1426 = { + let __t1419 = Value::nil(); + let __t1424 = { + let __t1423 = { + let __t1422 = { + let __t1421 = { + let __t1420 = + v_V798.clone(); + rt::tl(&__t1420)? + }; + rt::tl(&__t1421)? + }; + rt::tl(&__t1422)? + }; + rt::tl(&__t1423)? + }; + rt::eq(&__t1419, &__t1424) + }; + Value::bool(rt::is_truthy( + interp, &__t1426, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1428)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1430)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1432)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1434)?) + } + }; + if match rt::is_truthy(interp, &__t1459) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W802 = { + let __t1435 = Value::sym(interp.intern("W")); + rt::apply_direct(interp, "gensym", &[__t1435])? + }; + { + let v_W803 = { + let __t1436 = Value::sym(interp.intern("let")); + let __t1455 = { + let __t1437 = v_W802.clone(); + let __t1454 = { + let __t1441 = { + let __t1440 = { + let __t1439 = { + let __t1438 = v_V798.clone(); + rt::tl(&__t1438)? + }; + rt::tl(&__t1439)? + }; + rt::hd(&__t1440)? + }; + let __t1453 = { + let __t1451 = { + let __t1444 = { + let __t1443 = { + let __t1442 = v_V798.clone(); + rt::tl(&__t1442)? + }; + rt::hd(&__t1443)? + }; + let __t1445 = v_W802.clone(); + let __t1450 = { + let __t1449 = { + let __t1448 = { + let __t1447 = { + let __t1446 = v_V798.clone(); + rt::tl(&__t1446)? + }; + rt::tl(&__t1447)? + }; + rt::tl(&__t1448)? + }; + rt::hd(&__t1449)? + }; + rt::apply_direct( + interp, + "shen.beta", + &[__t1444, __t1445, __t1450], + )? + }; + let __t1452 = Value::nil(); + rt::cons(&__t1451, &__t1452) + }; + rt::cons(&__t1441, &__t1453) + }; + rt::cons(&__t1437, &__t1454) + }; + rt::cons(&__t1436, &__t1455) + }; + break Ok({ + let __t1457 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z804 = args[0].clone(); + Ok({ + let __t1456 = v_Z804.clone(); + rt::apply_direct( + interp, + "shen.alpha-convert", + &[__t1456], + )? + }) + }, + Vec::new(), + interp, + ) + }; + let __t1458 = v_W803.clone(); + rt::apply_direct(interp, "map", &[__t1457, __t1458])? + }); + } + } + } else { + { + let __t1405 = { + let __t1401 = v_V798.clone(); + rt::is_cons(&__t1401) + }; + if match rt::is_truthy(interp, &__t1405) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1403 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z805 = args[0].clone(); + Ok({ + let __t1402 = v_Z805.clone(); + rt::apply_direct( + interp, + "shen.alpha-convert", + &[__t1402], + )? + }) + }, + Vec::new(), + interp, + ) + }; + let __t1404 = v_V798.clone(); + rt::apply_direct(interp, "map", &[__t1403, __t1404])? + }); + } else { + { + let __t1400 = Value::bool(true); + if match rt::is_truthy(interp, &__t1400) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V798.clone()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_alpha_x2d_convert(interp: &mut Interp) { + interp.register_native("shen.alpha-convert", 1, aot_shen_x2e_alpha_x2d_convert); + interp.register_aot_direct("shen.alpha-convert", aot_shen_x2e_alpha_x2d_convert); +} + +/// AOT-compiled from KL `(defun shen.triple-stack ...)` +pub fn aot_shen_x2e_triple_x2d_stack(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 4 { + return Err(ShenError::new(format!( + "shen.triple-stack: expected 4 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V814 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V815 = args[1].clone(); + #[allow(unused_mut)] + let mut v_V816 = args[2].clone(); + #[allow(unused_mut)] + let mut v_V817 = args[3].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1678 = { + let __t1665 = { + let __t1637 = Value::nil(); + let __t1638 = v_V815.clone(); + rt::eq(&__t1637, &__t1638) + }; + if !rt::is_truthy(interp, &__t1665)? { + Value::bool(false) + } else { + let __t1666 = { + let __t1663 = { + let __t1639 = Value::nil(); + let __t1640 = v_V816.clone(); + rt::eq(&__t1639, &__t1640) + }; + if !rt::is_truthy(interp, &__t1663)? { + Value::bool(false) + } else { + let __t1664 = { + let __t1661 = { + let __t1641 = v_V817.clone(); + rt::is_cons(&__t1641) + }; + if !rt::is_truthy(interp, &__t1661)? { + Value::bool(false) + } else { + let __t1662 = { + let __t1659 = { + let __t1642 = Value::sym(interp.intern("where")); + let __t1644 = { + let __t1643 = v_V817.clone(); + rt::hd(&__t1643)? + }; + rt::eq(&__t1642, &__t1644) + }; + if !rt::is_truthy(interp, &__t1659)? { + Value::bool(false) + } else { + let __t1660 = { + let __t1657 = { + let __t1646 = { + let __t1645 = v_V817.clone(); + rt::tl(&__t1645)? + }; + rt::is_cons(&__t1646) + }; + if !rt::is_truthy(interp, &__t1657)? { + Value::bool(false) + } else { + let __t1658 = { + let __t1655 = { + let __t1649 = { + let __t1648 = { + let __t1647 = v_V817.clone(); + rt::tl(&__t1647)? + }; + rt::tl(&__t1648)? + }; + rt::is_cons(&__t1649) + }; + if !rt::is_truthy(interp, &__t1655)? { + Value::bool(false) + } else { + let __t1656 = { + let __t1650 = Value::nil(); + let __t1654 = { + let __t1653 = { + let __t1652 = { + let __t1651 = + v_V817.clone(); + rt::tl(&__t1651)? + }; + rt::tl(&__t1652)? + }; + rt::tl(&__t1653)? + }; + rt::eq(&__t1650, &__t1654) + }; + Value::bool(rt::is_truthy( + interp, &__t1656, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1658)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1660)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1662)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1664)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1666)?) + } + }; + if match rt::is_truthy(interp, &__t1678) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t1671 = { + let __t1669 = { + let __t1668 = { + let __t1667 = v_V817.clone(); + rt::tl(&__t1667)? + }; + rt::hd(&__t1668)? + }; + let __t1670 = v_V814.clone(); + rt::cons(&__t1669, &__t1670) + }; + let __t1672 = Value::nil(); + let __t1673 = Value::nil(); + let __t1677 = { + let __t1676 = { + let __t1675 = { + let __t1674 = v_V817.clone(); + rt::tl(&__t1674)? + }; + rt::tl(&__t1675)? + }; + rt::hd(&__t1676)? + }; + v_V814 = __t1671; + v_V815 = __t1672; + v_V816 = __t1673; + v_V817 = __t1677; + continue; + } + } else { + { + let __t1636 = { + let __t1628 = { + let __t1624 = Value::nil(); + let __t1625 = v_V815.clone(); + rt::eq(&__t1624, &__t1625) + }; + if !rt::is_truthy(interp, &__t1628)? { + Value::bool(false) + } else { + let __t1629 = { + let __t1626 = Value::nil(); + let __t1627 = v_V816.clone(); + rt::eq(&__t1626, &__t1627) + }; + Value::bool(rt::is_truthy(interp, &__t1629)?) + } + }; + if match rt::is_truthy(interp, &__t1636) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1632 = { + let __t1631 = { + let __t1630 = v_V814.clone(); + rt::apply_direct(interp, "reverse", &[__t1630])? + }; + rt::apply_direct(interp, "shen.rectify-test", &[__t1631])? + }; + let __t1635 = { + let __t1633 = v_V817.clone(); + let __t1634 = Value::nil(); + rt::cons(&__t1633, &__t1634) + }; + rt::cons(&__t1632, &__t1635) + }); + } else { + { + let __t1623 = { + let __t1610 = { + let __t1604 = v_V815.clone(); + rt::is_cons(&__t1604) + }; + if !rt::is_truthy(interp, &__t1610)? { + Value::bool(false) + } else { + let __t1611 = { + let __t1608 = { + let __t1605 = v_V816.clone(); + rt::is_cons(&__t1605) + }; + if !rt::is_truthy(interp, &__t1608)? { + Value::bool(false) + } else { + let __t1609 = { + let __t1607 = { + let __t1606 = v_V815.clone(); + rt::hd(&__t1606)? + }; + rt::apply_direct(interp, "variable?", &[__t1607])? + }; + Value::bool(rt::is_truthy(interp, &__t1609)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1611)?) + } + }; + if match rt::is_truthy(interp, &__t1623) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t1612 = v_V814.clone(); + let __t1614 = { + let __t1613 = v_V815.clone(); + rt::tl(&__t1613)? + }; + let __t1616 = { + let __t1615 = v_V816.clone(); + rt::tl(&__t1615)? + }; + let __t1622 = { + let __t1618 = { + let __t1617 = v_V815.clone(); + rt::hd(&__t1617)? + }; + let __t1620 = { + let __t1619 = v_V816.clone(); + rt::hd(&__t1619)? + }; + let __t1621 = v_V817.clone(); + rt::apply_direct( + interp, + "shen.beta", + &[__t1618, __t1620, __t1621], + )? + }; + v_V814 = __t1612; + v_V815 = __t1614; + v_V816 = __t1616; + v_V817 = __t1622; + continue; + } + } else { + { + let __t1603 = { + let __t1549 = { + let __t1524 = v_V815.clone(); + rt::is_cons(&__t1524) + }; + if !rt::is_truthy(interp, &__t1549)? { + Value::bool(false) + } else { + let __t1550 = { + let __t1547 = { + let __t1526 = { + let __t1525 = v_V815.clone(); + rt::hd(&__t1525)? + }; + rt::is_cons(&__t1526) + }; + if !rt::is_truthy(interp, &__t1547)? { + Value::bool(false) + } else { + let __t1548 = { + let __t1545 = { + let __t1529 = { + let __t1528 = { + let __t1527 = v_V815.clone(); + rt::hd(&__t1527)? + }; + rt::tl(&__t1528)? + }; + rt::is_cons(&__t1529) + }; + if !rt::is_truthy(interp, &__t1545)? { + Value::bool(false) + } else { + let __t1546 = { + let __t1543 = { + let __t1533 = { + let __t1532 = { + let __t1531 = { + let __t1530 = + v_V815.clone(); + rt::hd(&__t1530)? + }; + rt::tl(&__t1531)? + }; + rt::tl(&__t1532)? + }; + rt::is_cons(&__t1533) + }; + if !rt::is_truthy(interp, &__t1543)? + { + Value::bool(false) + } else { + let __t1544 = { + let __t1541 = { + let __t1534 = + Value::nil(); + let __t1539 = { + let __t1538 = { + let __t1537 = { + let __t1536 = { + let __t1535 = v_V815.clone(); + rt::hd(&__t1535)? + }; + rt::tl(&__t1536)? + }; + rt::tl( + &__t1537, + )? + }; + rt::tl(&__t1538)? + }; + rt::eq( + &__t1534, &__t1539, + ) + }; + if !rt::is_truthy( + interp, &__t1541, + )? { + Value::bool(false) + } else { + let __t1542 = { + let __t1540 = + v_V816.clone(); + rt::is_cons( + &__t1540, + ) + }; + Value::bool( + rt::is_truthy( + interp, + &__t1542, + )?, + ) + } + }; + Value::bool(rt::is_truthy( + interp, &__t1544, + )?) + } + }; + Value::bool(rt::is_truthy( + interp, &__t1546, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1548)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1550)?) + } + }; + if match rt::is_truthy(interp, &__t1603) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t1561 = { + let __t1559 = { + let __t1554 = { + let __t1553 = { + let __t1552 = { + let __t1551 = v_V815.clone(); + rt::hd(&__t1551)? + }; + rt::hd(&__t1552)? + }; + rt::apply_direct( + interp, + "shen.op-test", + &[__t1553], + )? + }; + let __t1558 = { + let __t1556 = { + let __t1555 = v_V816.clone(); + rt::hd(&__t1555)? + }; + let __t1557 = Value::nil(); + rt::cons(&__t1556, &__t1557) + }; + rt::cons(&__t1554, &__t1558) + }; + let __t1560 = v_V814.clone(); + rt::cons(&__t1559, &__t1560) + }; + let __t1574 = { + let __t1565 = { + let __t1564 = { + let __t1563 = { + let __t1562 = v_V815.clone(); + rt::hd(&__t1562)? + }; + rt::tl(&__t1563)? + }; + rt::hd(&__t1564)? + }; + let __t1573 = { + let __t1570 = { + let __t1569 = { + let __t1568 = { + let __t1567 = { + let __t1566 = v_V815.clone(); + rt::hd(&__t1566)? + }; + rt::tl(&__t1567)? + }; + rt::tl(&__t1568)? + }; + rt::hd(&__t1569)? + }; + let __t1572 = { + let __t1571 = v_V815.clone(); + rt::tl(&__t1571)? + }; + rt::cons(&__t1570, &__t1572) + }; + rt::cons(&__t1565, &__t1573) + }; + let __t1596 = { + let __t1583 = { + let __t1578 = { + let __t1577 = { + let __t1576 = { + let __t1575 = v_V815.clone(); + rt::hd(&__t1575)? + }; + rt::hd(&__t1576)? + }; + rt::apply_direct( + interp, + "shen.op1", + &[__t1577], + )? + }; + let __t1582 = { + let __t1580 = { + let __t1579 = v_V816.clone(); + rt::hd(&__t1579)? + }; + let __t1581 = Value::nil(); + rt::cons(&__t1580, &__t1581) + }; + rt::cons(&__t1578, &__t1582) + }; + let __t1595 = { + let __t1592 = { + let __t1587 = { + let __t1586 = { + let __t1585 = { + let __t1584 = v_V815.clone(); + rt::hd(&__t1584)? + }; + rt::hd(&__t1585)? + }; + rt::apply_direct( + interp, + "shen.op2", + &[__t1586], + )? + }; + let __t1591 = { + let __t1589 = { + let __t1588 = v_V816.clone(); + rt::hd(&__t1588)? + }; + let __t1590 = Value::nil(); + rt::cons(&__t1589, &__t1590) + }; + rt::cons(&__t1587, &__t1591) + }; + let __t1594 = { + let __t1593 = v_V816.clone(); + rt::tl(&__t1593)? + }; + rt::cons(&__t1592, &__t1594) + }; + rt::cons(&__t1583, &__t1595) + }; + let __t1602 = { + let __t1598 = { + let __t1597 = v_V815.clone(); + rt::hd(&__t1597)? + }; + let __t1600 = { + let __t1599 = v_V816.clone(); + rt::hd(&__t1599)? + }; + let __t1601 = v_V817.clone(); + rt::apply_direct( + interp, + "shen.beta", + &[__t1598, __t1600, __t1601], + )? + }; + v_V814 = __t1561; + v_V815 = __t1574; + v_V816 = __t1596; + v_V817 = __t1602; + continue; + } + } else { + { + let __t1523 = { + let __t1505 = { + let __t1503 = v_V815.clone(); + rt::is_cons(&__t1503) + }; + if !rt::is_truthy(interp, &__t1505)? { + Value::bool(false) + } else { + let __t1506 = { + let __t1504 = v_V816.clone(); + rt::is_cons(&__t1504) + }; + Value::bool(rt::is_truthy(interp, &__t1506)?) + } + }; + if match rt::is_truthy(interp, &__t1523) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t1517 = { + let __t1515 = { + let __t1507 = + Value::sym(interp.intern("=")); + let __t1514 = { + let __t1509 = { + let __t1508 = v_V815.clone(); + rt::hd(&__t1508)? + }; + let __t1513 = { + let __t1511 = { + let __t1510 = + v_V816.clone(); + rt::hd(&__t1510)? + }; + let __t1512 = Value::nil(); + rt::cons(&__t1511, &__t1512) + }; + rt::cons(&__t1509, &__t1513) + }; + rt::cons(&__t1507, &__t1514) + }; + let __t1516 = v_V814.clone(); + rt::cons(&__t1515, &__t1516) + }; + let __t1519 = { + let __t1518 = v_V815.clone(); + rt::tl(&__t1518)? + }; + let __t1521 = { + let __t1520 = v_V816.clone(); + rt::tl(&__t1520)? + }; + let __t1522 = v_V817.clone(); + v_V814 = __t1517; + v_V815 = __t1519; + v_V816 = __t1521; + v_V817 = __t1522; + continue; + } + } else { + { + let __t1502 = Value::bool(true); + if match rt::is_truthy(interp, &__t1502) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1501 = Value::str("implementation error in shen.triple-stack"); + rt::apply_direct( + interp, + "simple-error", + &[__t1501], + )? + }); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_triple_x2d_stack(interp: &mut Interp) { + interp.register_native("shen.triple-stack", 4, aot_shen_x2e_triple_x2d_stack); + interp.register_aot_direct("shen.triple-stack", aot_shen_x2e_triple_x2d_stack); +} + +/// AOT-compiled from KL `(defun shen.rectify-test ...)` +pub fn aot_shen_x2e_rectify_x2d_test(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.rectify-test: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V820 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1706 = { + let __t1704 = Value::nil(); + let __t1705 = v_V820.clone(); + rt::eq(&__t1704, &__t1705) + }; + if match rt::is_truthy(interp, &__t1706) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::bool(true)); + } else { + { + let __t1703 = { + let __t1700 = { + let __t1696 = v_V820.clone(); + rt::is_cons(&__t1696) + }; + if !rt::is_truthy(interp, &__t1700)? { + Value::bool(false) + } else { + let __t1701 = { + let __t1697 = Value::nil(); + let __t1699 = { + let __t1698 = v_V820.clone(); + rt::tl(&__t1698)? + }; + rt::eq(&__t1697, &__t1699) + }; + Value::bool(rt::is_truthy(interp, &__t1701)?) + } + }; + if match rt::is_truthy(interp, &__t1703) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1702 = v_V820.clone(); + rt::hd(&__t1702)? + }); + } else { + { + let __t1695 = { + let __t1684 = { + let __t1681 = v_V820.clone(); + rt::is_cons(&__t1681) + }; + if !rt::is_truthy(interp, &__t1684)? { + Value::bool(false) + } else { + let __t1685 = { + let __t1683 = { + let __t1682 = v_V820.clone(); + rt::tl(&__t1682)? + }; + rt::is_cons(&__t1683) + }; + Value::bool(rt::is_truthy(interp, &__t1685)?) + } + }; + if match rt::is_truthy(interp, &__t1695) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1686 = Value::sym(interp.intern("and")); + let __t1694 = { + let __t1688 = { + let __t1687 = v_V820.clone(); + rt::hd(&__t1687)? + }; + let __t1693 = { + let __t1691 = { + let __t1690 = { + let __t1689 = v_V820.clone(); + rt::tl(&__t1689)? + }; + rt::apply_direct( + interp, + "shen.rectify-test", + &[__t1690], + )? + }; + let __t1692 = Value::nil(); + rt::cons(&__t1691, &__t1692) + }; + rt::cons(&__t1688, &__t1693) + }; + rt::cons(&__t1686, &__t1694) + }); + } else { + { + let __t1680 = Value::bool(true); + if match rt::is_truthy(interp, &__t1680) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1679 = Value::str( + "implementation error in shen.rectify-test", + ); + rt::apply_direct(interp, "simple-error", &[__t1679])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_rectify_x2d_test(interp: &mut Interp) { + interp.register_native("shen.rectify-test", 1, aot_shen_x2e_rectify_x2d_test); + interp.register_aot_direct("shen.rectify-test", aot_shen_x2e_rectify_x2d_test); +} + +/// AOT-compiled from KL `(defun shen.beta ...)` +pub fn aot_shen_x2e_beta(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 3 { + return Err(ShenError::new(format!( + "shen.beta: expected 3 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V830 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V831 = args[1].clone(); + #[allow(unused_mut)] + let mut v_V832 = args[2].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1801 = { + let __t1799 = v_V830.clone(); + let __t1800 = v_V832.clone(); + rt::eq(&__t1799, &__t1800) + }; + if match rt::is_truthy(interp, &__t1801) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V831.clone()); + } else { + { + let __t1798 = { + let __t1796 = { + let __t1770 = v_V832.clone(); + rt::is_cons(&__t1770) + }; + if !rt::is_truthy(interp, &__t1796)? { + Value::bool(false) + } else { + let __t1797 = { + let __t1794 = { + let __t1771 = Value::sym(interp.intern("lambda")); + let __t1773 = { + let __t1772 = v_V832.clone(); + rt::hd(&__t1772)? + }; + rt::eq(&__t1771, &__t1773) + }; + if !rt::is_truthy(interp, &__t1794)? { + Value::bool(false) + } else { + let __t1795 = { + let __t1792 = { + let __t1775 = { + let __t1774 = v_V832.clone(); + rt::tl(&__t1774)? + }; + rt::is_cons(&__t1775) + }; + if !rt::is_truthy(interp, &__t1792)? { + Value::bool(false) + } else { + let __t1793 = { + let __t1790 = { + let __t1778 = { + let __t1777 = { + let __t1776 = v_V832.clone(); + rt::tl(&__t1776)? + }; + rt::tl(&__t1777)? + }; + rt::is_cons(&__t1778) + }; + if !rt::is_truthy(interp, &__t1790)? { + Value::bool(false) + } else { + let __t1791 = { + let __t1788 = { + let __t1779 = Value::nil(); + let __t1783 = { + let __t1782 = { + let __t1781 = { + let __t1780 = + v_V832.clone(); + rt::tl(&__t1780)? + }; + rt::tl(&__t1781)? + }; + rt::tl(&__t1782)? + }; + rt::eq(&__t1779, &__t1783) + }; + if !rt::is_truthy(interp, &__t1788)? { + Value::bool(false) + } else { + let __t1789 = { + let __t1784 = v_V830.clone(); + let __t1787 = { + let __t1786 = { + let __t1785 = + v_V832.clone(); + rt::tl(&__t1785)? + }; + rt::hd(&__t1786)? + }; + rt::eq(&__t1784, &__t1787) + }; + Value::bool(rt::is_truthy( + interp, &__t1789, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1791)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1793)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1795)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1797)?) + } + }; + if match rt::is_truthy(interp, &__t1798) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V832.clone()); + } else { + { + let __t1769 = { + let __t1748 = { + let __t1715 = v_V832.clone(); + rt::is_cons(&__t1715) + }; + if !rt::is_truthy(interp, &__t1748)? { + Value::bool(false) + } else { + let __t1749 = { + let __t1746 = { + let __t1716 = Value::sym(interp.intern("let")); + let __t1718 = { + let __t1717 = v_V832.clone(); + rt::hd(&__t1717)? + }; + rt::eq(&__t1716, &__t1718) + }; + if !rt::is_truthy(interp, &__t1746)? { + Value::bool(false) + } else { + let __t1747 = { + let __t1744 = { + let __t1720 = { + let __t1719 = v_V832.clone(); + rt::tl(&__t1719)? + }; + rt::is_cons(&__t1720) + }; + if !rt::is_truthy(interp, &__t1744)? { + Value::bool(false) + } else { + let __t1745 = { + let __t1742 = { + let __t1723 = { + let __t1722 = { + let __t1721 = v_V832.clone(); + rt::tl(&__t1721)? + }; + rt::tl(&__t1722)? + }; + rt::is_cons(&__t1723) + }; + if !rt::is_truthy(interp, &__t1742)? { + Value::bool(false) + } else { + let __t1743 = { + let __t1740 = { + let __t1727 = { + let __t1726 = { + let __t1725 = { + let __t1724 = + v_V832.clone(); + rt::tl(&__t1724)? + }; + rt::tl(&__t1725)? + }; + rt::tl(&__t1726)? + }; + rt::is_cons(&__t1727) + }; + if !rt::is_truthy(interp, &__t1740)? + { + Value::bool(false) + } else { + let __t1741 = { + let __t1738 = { + let __t1728 = + Value::nil(); + let __t1733 = { + let __t1732 = { + let __t1731 = { + let __t1730 = { + let __t1729 = v_V832.clone(); + rt::tl(&__t1729)? + }; + rt::tl(&__t1730)? + }; + rt::tl( + &__t1731, + )? + }; + rt::tl(&__t1732)? + }; + rt::eq( + &__t1728, &__t1733, + ) + }; + if !rt::is_truthy( + interp, &__t1738, + )? { + Value::bool(false) + } else { + let __t1739 = { + let __t1734 = + v_V830.clone(); + let __t1737 = { + let __t1736 = { + let __t1735 = v_V832.clone(); + rt::tl(&__t1735)? + }; + rt::hd( + &__t1736, + )? + }; + rt::eq( + &__t1734, + &__t1737, + ) + }; + Value::bool( + rt::is_truthy( + interp, + &__t1739, + )?, + ) + } + }; + Value::bool(rt::is_truthy( + interp, &__t1741, + )?) + } + }; + Value::bool(rt::is_truthy( + interp, &__t1743, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1745)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1747)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1749)?) + } + }; + if match rt::is_truthy(interp, &__t1769) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1750 = Value::sym(interp.intern("let")); + let __t1768 = { + let __t1753 = { + let __t1752 = { + let __t1751 = v_V832.clone(); + rt::tl(&__t1751)? + }; + rt::hd(&__t1752)? + }; + let __t1767 = { + let __t1762 = { + let __t1756 = { + let __t1755 = { + let __t1754 = v_V832.clone(); + rt::tl(&__t1754)? + }; + rt::hd(&__t1755)? + }; + let __t1757 = v_V831.clone(); + let __t1761 = { + let __t1760 = { + let __t1759 = { + let __t1758 = v_V832.clone(); + rt::tl(&__t1758)? + }; + rt::tl(&__t1759)? + }; + rt::hd(&__t1760)? + }; + rt::apply_direct( + interp, + "shen.beta", + &[__t1756, __t1757, __t1761], + )? + }; + let __t1766 = { + let __t1765 = { + let __t1764 = { + let __t1763 = v_V832.clone(); + rt::tl(&__t1763)? + }; + rt::tl(&__t1764)? + }; + rt::tl(&__t1765)? + }; + rt::cons(&__t1762, &__t1766) + }; + rt::cons(&__t1753, &__t1767) + }; + rt::cons(&__t1750, &__t1768) + }); + } else { + { + let __t1714 = { + let __t1708 = v_V832.clone(); + rt::is_cons(&__t1708) + }; + if match rt::is_truthy(interp, &__t1714) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1712 = { + let v_V830 = v_V830.clone(); + let v_V831 = v_V831.clone(); + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z833 = args[0].clone(); + Ok({ + let __t1709 = v_V830.clone(); + let __t1710 = v_V831.clone(); + let __t1711 = v_Z833.clone(); + rt::apply_direct( + interp, + "shen.beta", + &[__t1709, __t1710, __t1711], + )? + }) + }, + vec![v_V830, v_V831], + interp, + ) + }; + let __t1713 = v_V832.clone(); + rt::apply_direct(interp, "map", &[__t1712, __t1713])? + }); + } else { + { + let __t1707 = Value::bool(true); + if match rt::is_truthy(interp, &__t1707) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V832.clone()); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_beta(interp: &mut Interp) { + interp.register_native("shen.beta", 3, aot_shen_x2e_beta); + interp.register_aot_direct("shen.beta", aot_shen_x2e_beta); +} + +/// AOT-compiled from KL `(defun shen.op1 ...)` +pub fn aot_shen_x2e_op1(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.op1: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V836 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1815 = { + let __t1813 = Value::sym(interp.intern("cons")); + let __t1814 = v_V836.clone(); + rt::eq(&__t1813, &__t1814) + }; + if match rt::is_truthy(interp, &__t1815) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("hd"))); + } else { + { + let __t1812 = { + let __t1810 = Value::sym(interp.intern("@s")); + let __t1811 = v_V836.clone(); + rt::eq(&__t1810, &__t1811) + }; + if match rt::is_truthy(interp, &__t1812) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("hdstr"))); + } else { + { + let __t1809 = { + let __t1807 = Value::sym(interp.intern("@p")); + let __t1808 = v_V836.clone(); + rt::eq(&__t1807, &__t1808) + }; + if match rt::is_truthy(interp, &__t1809) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("fst"))); + } else { + { + let __t1806 = { + let __t1804 = Value::sym(interp.intern("@v")); + let __t1805 = v_V836.clone(); + rt::eq(&__t1804, &__t1805) + }; + if match rt::is_truthy(interp, &__t1806) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("hdv"))); + } else { + { + let __t1803 = Value::bool(true); + if match rt::is_truthy(interp, &__t1803) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1802 = Value::str( + "implementation error in shen.op1", + ); + rt::apply_direct( + interp, + "simple-error", + &[__t1802], + )? + }); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_op1(interp: &mut Interp) { + interp.register_native("shen.op1", 1, aot_shen_x2e_op1); + interp.register_aot_direct("shen.op1", aot_shen_x2e_op1); +} + +/// AOT-compiled from KL `(defun shen.op2 ...)` +pub fn aot_shen_x2e_op2(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.op2: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V839 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1829 = { + let __t1827 = Value::sym(interp.intern("cons")); + let __t1828 = v_V839.clone(); + rt::eq(&__t1827, &__t1828) + }; + if match rt::is_truthy(interp, &__t1829) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("tl"))); + } else { + { + let __t1826 = { + let __t1824 = Value::sym(interp.intern("@s")); + let __t1825 = v_V839.clone(); + rt::eq(&__t1824, &__t1825) + }; + if match rt::is_truthy(interp, &__t1826) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("tlstr"))); + } else { + { + let __t1823 = { + let __t1821 = Value::sym(interp.intern("@p")); + let __t1822 = v_V839.clone(); + rt::eq(&__t1821, &__t1822) + }; + if match rt::is_truthy(interp, &__t1823) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("snd"))); + } else { + { + let __t1820 = { + let __t1818 = Value::sym(interp.intern("@v")); + let __t1819 = v_V839.clone(); + rt::eq(&__t1818, &__t1819) + }; + if match rt::is_truthy(interp, &__t1820) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("tlv"))); + } else { + { + let __t1817 = Value::bool(true); + if match rt::is_truthy(interp, &__t1817) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1816 = Value::str( + "implementation error in shen.op2", + ); + rt::apply_direct( + interp, + "simple-error", + &[__t1816], + )? + }); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_op2(interp: &mut Interp) { + interp.register_native("shen.op2", 1, aot_shen_x2e_op2); + interp.register_aot_direct("shen.op2", aot_shen_x2e_op2); +} + +/// AOT-compiled from KL `(defun shen.op-test ...)` +pub fn aot_shen_x2e_op_x2d_test(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.op-test: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V842 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1843 = { + let __t1841 = Value::sym(interp.intern("cons")); + let __t1842 = v_V842.clone(); + rt::eq(&__t1841, &__t1842) + }; + if match rt::is_truthy(interp, &__t1843) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("cons?"))); + } else { + { + let __t1840 = { + let __t1838 = Value::sym(interp.intern("@s")); + let __t1839 = v_V842.clone(); + rt::eq(&__t1838, &__t1839) + }; + if match rt::is_truthy(interp, &__t1840) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("shen.+string?"))); + } else { + { + let __t1837 = { + let __t1835 = Value::sym(interp.intern("@p")); + let __t1836 = v_V842.clone(); + rt::eq(&__t1835, &__t1836) + }; + if match rt::is_truthy(interp, &__t1837) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("tuple?"))); + } else { + { + let __t1834 = { + let __t1832 = Value::sym(interp.intern("@v")); + let __t1833 = v_V842.clone(); + rt::eq(&__t1832, &__t1833) + }; + if match rt::is_truthy(interp, &__t1834) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("shen.+vector?"))); + } else { + { + let __t1831 = Value::bool(true); + if match rt::is_truthy(interp, &__t1831) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1830 = Value::str( + "implementation error in shen.op-test", + ); + rt::apply_direct( + interp, + "simple-error", + &[__t1830], + )? + }); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_op_x2d_test(interp: &mut Interp) { + interp.register_native("shen.op-test", 1, aot_shen_x2e_op_x2d_test); + interp.register_aot_direct("shen.op-test", aot_shen_x2e_op_x2d_test); +} + +/// AOT-compiled from KL `(defun shen.+string? ...)` +pub fn aot_shen_x2e__x2b_string_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.+string?: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V843 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1848 = { + let __t1846 = Value::str(""); + let __t1847 = v_V843.clone(); + rt::eq(&__t1846, &__t1847) + }; + if match rt::is_truthy(interp, &__t1848) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::bool(false)); + } else { + { + let __t1845 = Value::bool(true); + if match rt::is_truthy(interp, &__t1845) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1844 = v_V843.clone(); + rt::is_string(&__t1844) + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e__x2b_string_x3f_(interp: &mut Interp) { + interp.register_native("shen.+string?", 1, aot_shen_x2e__x2b_string_x3f_); + interp.register_aot_direct("shen.+string?", aot_shen_x2e__x2b_string_x3f_); +} + +/// AOT-compiled from KL `(defun shen.+vector? ...)` +pub fn aot_shen_x2e__x2b_vector_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.+vector?: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V844 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1854 = { + let __t1851 = v_V844.clone(); + let __t1853 = { + let __t1852 = Value::int(0i64); + rt::apply_direct(interp, "vector", &[__t1852])? + }; + rt::eq(&__t1851, &__t1853) + }; + if match rt::is_truthy(interp, &__t1854) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::bool(false)); + } else { + { + let __t1850 = Value::bool(true); + if match rt::is_truthy(interp, &__t1850) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1849 = v_V844.clone(); + rt::is_absvector(&__t1849) + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e__x2b_vector_x3f_(interp: &mut Interp) { + interp.register_native("shen.+vector?", 1, aot_shen_x2e__x2b_vector_x3f_); + interp.register_aot_direct("shen.+vector?", aot_shen_x2e__x2b_vector_x3f_); +} + +/// AOT-compiled from KL `(defun factorise ...)` +pub fn aot_factorise(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "factorise: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V847 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1866 = { + let __t1862 = Value::sym(interp.intern("+")); + let __t1863 = v_V847.clone(); + rt::eq(&__t1862, &__t1863) + }; + if match rt::is_truthy(interp, &__t1866) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1864 = Value::sym(interp.intern("shen.*factorise?*")); + let __t1865 = Value::bool(true); + rt::apply_direct(interp, "set", &[__t1864, __t1865])? + }); + } else { + { + let __t1861 = { + let __t1857 = Value::sym(interp.intern("-")); + let __t1858 = v_V847.clone(); + rt::eq(&__t1857, &__t1858) + }; + if match rt::is_truthy(interp, &__t1861) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1859 = Value::sym(interp.intern("shen.*factorise?*")); + let __t1860 = Value::bool(false); + rt::apply_direct(interp, "set", &[__t1859, __t1860])? + }); + } else { + { + let __t1856 = Value::bool(true); + if match rt::is_truthy(interp, &__t1856) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1855 = Value::str("factorise expects a + or a -\n"); + rt::apply_direct(interp, "simple-error", &[__t1855])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } +} + +fn install_factorise(interp: &mut Interp) { + interp.register_native("factorise", 1, aot_factorise); + interp.register_aot_direct("factorise", aot_factorise); +} + +/// AOT-compiled from KL `(defun shen.factorise-code ...)` +pub fn aot_shen_x2e_factorise_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.factorise-code: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V848 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1870 = { + let __t1868 = Value::sym(interp.intern("shen.*factorise?*")); + rt::apply_direct(interp, "value", &[__t1868])? + }; + if match rt::is_truthy(interp, &__t1870) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1869 = v_V848.clone(); + rt::apply_direct(interp, "shen.factor", &[__t1869])? + }); + } else { + { + let __t1867 = Value::bool(true); + if match rt::is_truthy(interp, &__t1867) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V848.clone()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_factorise_x2d_code(interp: &mut Interp) { + interp.register_native("shen.factorise-code", 1, aot_shen_x2e_factorise_x2d_code); + interp.register_aot_direct("shen.factorise-code", aot_shen_x2e_factorise_x2d_code); +} + +/// AOT-compiled from KL `(defun shen.factor ...)` +pub fn aot_shen_x2e_factor(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.factor: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V849 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t1936 = { + let __t1915 = { + let __t1872 = v_V849.clone(); + rt::is_cons(&__t1872) + }; + if !rt::is_truthy(interp, &__t1915)? { + Value::bool(false) + } else { + let __t1916 = { + let __t1913 = { + let __t1873 = Value::sym(interp.intern("defun")); + let __t1875 = { + let __t1874 = v_V849.clone(); + rt::hd(&__t1874)? + }; + rt::eq(&__t1873, &__t1875) + }; + if !rt::is_truthy(interp, &__t1913)? { + Value::bool(false) + } else { + let __t1914 = { + let __t1911 = { + let __t1877 = { + let __t1876 = v_V849.clone(); + rt::tl(&__t1876)? + }; + rt::is_cons(&__t1877) + }; + if !rt::is_truthy(interp, &__t1911)? { + Value::bool(false) + } else { + let __t1912 = { + let __t1909 = { + let __t1880 = { + let __t1879 = { + let __t1878 = v_V849.clone(); + rt::tl(&__t1878)? + }; + rt::tl(&__t1879)? + }; + rt::is_cons(&__t1880) + }; + if !rt::is_truthy(interp, &__t1909)? { + Value::bool(false) + } else { + let __t1910 = { + let __t1907 = { + let __t1884 = { + let __t1883 = { + let __t1882 = { + let __t1881 = v_V849.clone(); + rt::tl(&__t1881)? + }; + rt::tl(&__t1882)? + }; + rt::tl(&__t1883)? + }; + rt::is_cons(&__t1884) + }; + if !rt::is_truthy(interp, &__t1907)? { + Value::bool(false) + } else { + let __t1908 = { + let __t1905 = { + let __t1889 = { + let __t1888 = { + let __t1887 = { + let __t1886 = { + let __t1885 = + v_V849.clone(); + rt::tl(&__t1885)? + }; + rt::tl(&__t1886)? + }; + rt::tl(&__t1887)? + }; + rt::hd(&__t1888)? + }; + rt::is_cons(&__t1889) + }; + if !rt::is_truthy(interp, &__t1905)? { + Value::bool(false) + } else { + let __t1906 = { + let __t1903 = { + let __t1890 = Value::sym( + interp.intern("cond"), + ); + let __t1896 = { + let __t1895 = { + let __t1894 = { + let __t1893 = { + let __t1892 = { + let __t1891 = v_V849.clone(); + rt::tl(&__t1891)? + }; + rt::tl( + &__t1892, + )? + }; + rt::tl(&__t1893)? + }; + rt::hd(&__t1894)? + }; + rt::hd(&__t1895)? + }; + rt::eq(&__t1890, &__t1896) + }; + if !rt::is_truthy(interp, &__t1903)? + { + Value::bool(false) + } else { + let __t1904 = { + let __t1897 = Value::nil(); + let __t1902 = { + let __t1901 = { + let __t1900 = { + let __t1899 = { + let __t1898 = v_V849.clone(); + rt::tl(&__t1898)? + }; + rt::tl( + &__t1899, + )? + }; + rt::tl(&__t1900)? + }; + rt::tl(&__t1901)? + }; + rt::eq(&__t1897, &__t1902) + }; + Value::bool(rt::is_truthy( + interp, &__t1904, + )?) + } + }; + Value::bool(rt::is_truthy( + interp, &__t1906, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1908)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1910)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1912)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1914)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1916)?) + } + }; + if match rt::is_truthy(interp, &__t1936) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1917 = Value::sym(interp.intern("defun")); + let __t1935 = { + let __t1920 = { + let __t1919 = { + let __t1918 = v_V849.clone(); + rt::tl(&__t1918)? + }; + rt::hd(&__t1919)? + }; + let __t1934 = { + let __t1924 = { + let __t1923 = { + let __t1922 = { + let __t1921 = v_V849.clone(); + rt::tl(&__t1921)? + }; + rt::tl(&__t1922)? + }; + rt::hd(&__t1923)? + }; + let __t1933 = { + let __t1931 = { + let __t1930 = { + let __t1929 = { + let __t1928 = { + let __t1927 = { + let __t1926 = { + let __t1925 = v_V849.clone(); + rt::tl(&__t1925)? + }; + rt::tl(&__t1926)? + }; + rt::tl(&__t1927)? + }; + rt::hd(&__t1928)? + }; + rt::tl(&__t1929)? + }; + rt::apply_direct(interp, "shen.factor-recognisors", &[__t1930])? + }; + let __t1932 = Value::nil(); + rt::cons(&__t1931, &__t1932) + }; + rt::cons(&__t1924, &__t1933) + }; + rt::cons(&__t1920, &__t1934) + }; + rt::cons(&__t1917, &__t1935) + }); + } else { + { + let __t1871 = Value::bool(true); + if match rt::is_truthy(interp, &__t1871) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V849.clone()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_factor(interp: &mut Interp) { + interp.register_native("shen.factor", 1, aot_shen_x2e_factor); + interp.register_aot_direct("shen.factor", aot_shen_x2e_factor); +} + +/// AOT-compiled from KL `(defun shen.factor-recognisors ...)` +pub fn aot_shen_x2e_factor_x2d_recognisors( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.factor-recognisors: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V852 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2127 = { + let __t2122 = { + let __t2101 = v_V852.clone(); + rt::is_cons(&__t2101) + }; + if !rt::is_truthy(interp, &__t2122)? { + Value::bool(false) + } else { + let __t2123 = { + let __t2120 = { + let __t2103 = { + let __t2102 = v_V852.clone(); + rt::hd(&__t2102)? + }; + rt::is_cons(&__t2103) + }; + if !rt::is_truthy(interp, &__t2120)? { + Value::bool(false) + } else { + let __t2121 = { + let __t2118 = { + let __t2104 = Value::bool(true); + let __t2107 = { + let __t2106 = { + let __t2105 = v_V852.clone(); + rt::hd(&__t2105)? + }; + rt::hd(&__t2106)? + }; + rt::eq(&__t2104, &__t2107) + }; + if !rt::is_truthy(interp, &__t2118)? { + Value::bool(false) + } else { + let __t2119 = { + let __t2116 = { + let __t2110 = { + let __t2109 = { + let __t2108 = v_V852.clone(); + rt::hd(&__t2108)? + }; + rt::tl(&__t2109)? + }; + rt::is_cons(&__t2110) + }; + if !rt::is_truthy(interp, &__t2116)? { + Value::bool(false) + } else { + let __t2117 = { + let __t2111 = Value::nil(); + let __t2115 = { + let __t2114 = { + let __t2113 = { + let __t2112 = v_V852.clone(); + rt::hd(&__t2112)? + }; + rt::tl(&__t2113)? + }; + rt::tl(&__t2114)? + }; + rt::eq(&__t2111, &__t2115) + }; + Value::bool(rt::is_truthy(interp, &__t2117)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2119)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2121)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2123)?) + } + }; + if match rt::is_truthy(interp, &__t2127) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2126 = { + let __t2125 = { + let __t2124 = v_V852.clone(); + rt::hd(&__t2124)? + }; + rt::tl(&__t2125)? + }; + rt::hd(&__t2126)? + }); + } else { + { + let __t2100 = { + let __t2021 = { + let __t1972 = v_V852.clone(); + rt::is_cons(&__t1972) + }; + if !rt::is_truthy(interp, &__t2021)? { + Value::bool(false) + } else { + let __t2022 = { + let __t2019 = { + let __t1974 = { + let __t1973 = v_V852.clone(); + rt::hd(&__t1973)? + }; + rt::is_cons(&__t1974) + }; + if !rt::is_truthy(interp, &__t2019)? { + Value::bool(false) + } else { + let __t2020 = { + let __t2017 = { + let __t1977 = { + let __t1976 = { + let __t1975 = v_V852.clone(); + rt::hd(&__t1975)? + }; + rt::hd(&__t1976)? + }; + rt::is_cons(&__t1977) + }; + if !rt::is_truthy(interp, &__t2017)? { + Value::bool(false) + } else { + let __t2018 = { + let __t2015 = { + let __t1978 = Value::sym(interp.intern("and")); + let __t1982 = { + let __t1981 = { + let __t1980 = { + let __t1979 = v_V852.clone(); + rt::hd(&__t1979)? + }; + rt::hd(&__t1980)? + }; + rt::hd(&__t1981)? + }; + rt::eq(&__t1978, &__t1982) + }; + if !rt::is_truthy(interp, &__t2015)? { + Value::bool(false) + } else { + let __t2016 = { + let __t2013 = { + let __t1986 = { + let __t1985 = { + let __t1984 = { + let __t1983 = + v_V852.clone(); + rt::hd(&__t1983)? + }; + rt::hd(&__t1984)? + }; + rt::tl(&__t1985)? + }; + rt::is_cons(&__t1986) + }; + if !rt::is_truthy(interp, &__t2013)? { + Value::bool(false) + } else { + let __t2014 = { + let __t2011 = { + let __t1991 = { + let __t1990 = { + let __t1989 = { + let __t1988 = { + let __t1987 = + v_V852 + .clone( + ); + rt::hd( + &__t1987, + )? + }; + rt::hd(&__t1988)? + }; + rt::tl(&__t1989)? + }; + rt::tl(&__t1990)? + }; + rt::is_cons(&__t1991) + }; + if !rt::is_truthy(interp, &__t2011)? + { + Value::bool(false) + } else { + let __t2012 = { + let __t2009 = { + let __t1992 = + Value::nil(); + let __t1998 = { + let __t1997 = { + let __t1996 = { + let __t1995 = { + let __t1994 = { + let __t1993 = v_V852.clone(); + rt::hd(&__t1993)? + }; + rt::hd(&__t1994)? + }; + rt::tl(&__t1995)? + }; + rt::tl( + &__t1996, + )? + }; + rt::tl(&__t1997)? + }; + rt::eq( + &__t1992, &__t1998, + ) + }; + if !rt::is_truthy( + interp, &__t2009, + )? { + Value::bool(false) + } else { + let __t2010 = { + let __t2007 = { + let __t2001 = { + let __t2000 = { + let __t1999 = v_V852.clone(); + rt::hd(&__t1999)? + }; + rt::tl(&__t2000)? + }; + rt::is_cons( + &__t2001, + ) + }; + if !rt::is_truthy( + interp, + &__t2007, + )? { + Value::bool( + false, + ) + } else { + let __t2008 = { + let __t2002 = Value::nil(); + let __t2006 = { + let __t2005 = { + let __t2004 = { let __t2003 = v_V852.clone(); rt::hd(&__t2003)? }; + rt::tl(&__t2004)? + }; + rt::tl(&__t2005)? + }; + rt::eq(&__t2002, &__t2006) + }; + Value::bool(rt::is_truthy(interp, &__t2008)?) + } + }; + Value::bool( + rt::is_truthy( + interp, + &__t2010, + )?, + ) + } + }; + Value::bool(rt::is_truthy( + interp, &__t2012, + )?) + } + }; + Value::bool(rt::is_truthy( + interp, &__t2014, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2016)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2018)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2020)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2022)?) + } + }; + if match rt::is_truthy(interp, &__t2100) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W853 = { + let __t2027 = { + let __t2026 = { + let __t2025 = { + let __t2024 = { + let __t2023 = v_V852.clone(); + rt::hd(&__t2023)? + }; + rt::hd(&__t2024)? + }; + rt::tl(&__t2025)? + }; + rt::hd(&__t2026)? + }; + let __t2028 = v_V852.clone(); + let __t2029 = Value::nil(); + rt::apply_direct( + interp, + "shen.pivot-on", + &[__t2027, __t2028, __t2029], + )? + }; + { + let v_W854 = { + let __t2030 = v_W853.clone(); + rt::apply_direct(interp, "fst", &[__t2030])? + }; + { + let __t2032 = { + let __t2031 = v_W854.clone(); + rt::apply_direct(interp, "shen.bad-pivot?", &[__t2031])? + }; + if match rt::is_truthy(interp, &__t2032) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2035 = { + let __t2033 = Value::sym(interp.intern("if")); + let __t2034 = Value::nil(); + rt::cons(&__t2033, &__t2034) + }; + let __t2049 = { + let __t2043 = { + let __t2038 = { + let __t2037 = { + let __t2036 = v_V852.clone(); + rt::hd(&__t2036)? + }; + rt::hd(&__t2037)? + }; + let __t2042 = { + let __t2041 = { + let __t2040 = { + let __t2039 = v_V852.clone(); + rt::hd(&__t2039)? + }; + rt::tl(&__t2040)? + }; + rt::hd(&__t2041)? + }; + rt::apply_direct( + interp, + "shen.recursively-factor-selectors", + &[__t2038, __t2042], + )? + }; + let __t2048 = { + let __t2046 = { + let __t2045 = { + let __t2044 = v_V852.clone(); + rt::tl(&__t2044)? + }; + rt::apply_direct( + interp, + "shen.factor-recognisors", + &[__t2045], + )? + }; + let __t2047 = Value::nil(); + rt::cons(&__t2046, &__t2047) + }; + rt::apply_direct( + interp, + "append", + &[__t2043, __t2048], + )? + }; + rt::apply_direct(interp, "append", &[__t2035, __t2049])? + }); + } else { + { + let v_W855 = { + let __t2050 = v_W853.clone(); + rt::apply_direct(interp, "snd", &[__t2050])? + }; + { + let v_W856 = { + let __t2051 = v_W855.clone(); + rt::apply_direct( + interp, + "shen.factor-recognisors", + &[__t2051], + )? + }; + { + let v_W857 = { + let __t2052 = + Value::sym(interp.intern("GoTo")); + rt::apply_direct( + interp, + "gensym", + &[__t2052], + )? + }; + { + let v_W858 = { + let __t2063 = { + let __t2061 = { + let __t2053 = Value::bool(true); + let __t2060 = { + let __t2058 = { + let __t2054 = + Value::sym( + interp.intern( + "thaw", + ), + ); + let __t2057 = { + let __t2055 = + v_W857.clone(); + let __t2056 = + Value::nil(); + rt::cons( + &__t2055, + &__t2056, + ) + }; + rt::cons( + &__t2054, &__t2057, + ) + }; + let __t2059 = Value::nil(); + rt::cons(&__t2058, &__t2059) + }; + rt::cons(&__t2053, &__t2060) + }; + let __t2062 = v_W854.clone(); + rt::cons(&__t2061, &__t2062) + }; + rt::apply_direct( + interp, + "reverse", + &[__t2063], + )? + }; + { + let v_W859 = { + let __t2064 = Value::sym( + interp.intern("let"), + ); + let __t2098 = { + let __t2065 = v_W857.clone(); + let __t2097 = { + let __t2070 = { + let __t2066 = + Value::sym( + interp.intern( + "freeze", + ), + ); + let __t2069 = { + let __t2067 = + v_W856.clone(); + let __t2068 = + Value::nil(); + rt::cons( + &__t2067, + &__t2068, + ) + }; + rt::cons( + &__t2066, &__t2069, + ) + }; + let __t2096 = { + let __t2094 = { + let __t2071 = + Value::sym( + interp + .intern( + "if", + ), + ); + let __t2093 = { + let __t2076 = { + let __t2075 = { + let __t2074 = { + let __t2073 = { let __t2072 = v_V852.clone(); rt::hd(&__t2072)? }; + rt::hd(&__t2073)? + }; + rt::tl(&__t2074)? + }; + rt::hd(&__t2075)? + }; + let __t2092 = { + let __t2084 = { + let __t2081 = { + let __t2080 = { let __t2079 = { let __t2078 = { let __t2077 = v_V852.clone(); rt::hd(&__t2077)? }; rt::hd(&__t2078)? }; rt::tl(&__t2079)? }; + rt::hd(&__t2080)? + }; + let __t2083 = { + let __t2082 = v_W858.clone(); + rt::apply_direct(interp, "shen.factor-recognisors", &[__t2082])? + }; + rt::apply_direct(interp, "shen.factor-selectors", &[__t2081, __t2083])? + }; + let __t2091 = { + let __t2089 = { + let __t2085 = Value::sym(interp.intern("thaw")); + let __t2088 = { let __t2086 = v_W857.clone(); let __t2087 = Value::nil(); rt::cons(&__t2086, &__t2087) }; + rt::cons(&__t2085, &__t2088) + }; + let __t2090 = Value::nil(); + rt::cons(&__t2089, &__t2090) + }; + rt::cons(&__t2084, &__t2091) + }; + rt::cons( + &__t2076, + &__t2092, + ) + }; + rt::cons( + &__t2071, + &__t2093, + ) + }; + let __t2095 = + Value::nil(); + rt::cons( + &__t2094, &__t2095, + ) + }; + rt::cons(&__t2070, &__t2096) + }; + rt::cons(&__t2065, &__t2097) + }; + rt::cons(&__t2064, &__t2098) + }; + break Ok({ + let __t2099 = v_W859.clone(); + rt::apply_direct( + interp, + "shen.remove-indirection", + &[__t2099], + )? + }); + } + } + } + } + } + } + } + } + } + } else { + { + let __t1971 = { + let __t1954 = { + let __t1939 = v_V852.clone(); + rt::is_cons(&__t1939) + }; + if !rt::is_truthy(interp, &__t1954)? { + Value::bool(false) + } else { + let __t1955 = { + let __t1952 = { + let __t1941 = { + let __t1940 = v_V852.clone(); + rt::hd(&__t1940)? + }; + rt::is_cons(&__t1941) + }; + if !rt::is_truthy(interp, &__t1952)? { + Value::bool(false) + } else { + let __t1953 = { + let __t1950 = { + let __t1944 = { + let __t1943 = { + let __t1942 = v_V852.clone(); + rt::hd(&__t1942)? + }; + rt::tl(&__t1943)? + }; + rt::is_cons(&__t1944) + }; + if !rt::is_truthy(interp, &__t1950)? { + Value::bool(false) + } else { + let __t1951 = { + let __t1945 = Value::nil(); + let __t1949 = { + let __t1948 = { + let __t1947 = { + let __t1946 = v_V852.clone(); + rt::hd(&__t1946)? + }; + rt::tl(&__t1947)? + }; + rt::tl(&__t1948)? + }; + rt::eq(&__t1945, &__t1949) + }; + Value::bool(rt::is_truthy(interp, &__t1951)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1953)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t1955)?) + } + }; + if match rt::is_truthy(interp, &__t1971) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1956 = Value::sym(interp.intern("if")); + let __t1970 = { + let __t1959 = { + let __t1958 = { + let __t1957 = v_V852.clone(); + rt::hd(&__t1957)? + }; + rt::hd(&__t1958)? + }; + let __t1969 = { + let __t1963 = { + let __t1962 = { + let __t1961 = { + let __t1960 = v_V852.clone(); + rt::hd(&__t1960)? + }; + rt::tl(&__t1961)? + }; + rt::hd(&__t1962)? + }; + let __t1968 = { + let __t1966 = { + let __t1965 = { + let __t1964 = v_V852.clone(); + rt::tl(&__t1964)? + }; + rt::apply_direct( + interp, + "shen.factor-recognisors", + &[__t1965], + )? + }; + let __t1967 = Value::nil(); + rt::cons(&__t1966, &__t1967) + }; + rt::cons(&__t1963, &__t1968) + }; + rt::cons(&__t1959, &__t1969) + }; + rt::cons(&__t1956, &__t1970) + }); + } else { + { + let __t1938 = Value::bool(true); + if match rt::is_truthy(interp, &__t1938) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t1937 = Value::str( + "partial function shen.factor-recognisors", + ); + rt::apply_direct(interp, "simple-error", &[__t1937])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_factor_x2d_recognisors(interp: &mut Interp) { + interp.register_native( + "shen.factor-recognisors", + 1, + aot_shen_x2e_factor_x2d_recognisors, + ); + interp.register_aot_direct( + "shen.factor-recognisors", + aot_shen_x2e_factor_x2d_recognisors, + ); +} + +/// AOT-compiled from KL `(defun shen.recursively-factor-selectors ...)` +pub fn aot_shen_x2e_recursively_x2d_factor_x2d_selectors( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.recursively-factor-selectors: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V860 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V861 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2216 = { + let __t2200 = { + let __t2173 = v_V860.clone(); + rt::is_cons(&__t2173) + }; + if !rt::is_truthy(interp, &__t2200)? { + Value::bool(false) + } else { + let __t2201 = { + let __t2198 = { + let __t2174 = Value::sym(interp.intern("let")); + let __t2176 = { + let __t2175 = v_V860.clone(); + rt::hd(&__t2175)? + }; + rt::eq(&__t2174, &__t2176) + }; + if !rt::is_truthy(interp, &__t2198)? { + Value::bool(false) + } else { + let __t2199 = { + let __t2196 = { + let __t2178 = { + let __t2177 = v_V860.clone(); + rt::tl(&__t2177)? + }; + rt::is_cons(&__t2178) + }; + if !rt::is_truthy(interp, &__t2196)? { + Value::bool(false) + } else { + let __t2197 = { + let __t2194 = { + let __t2181 = { + let __t2180 = { + let __t2179 = v_V860.clone(); + rt::tl(&__t2179)? + }; + rt::tl(&__t2180)? + }; + rt::is_cons(&__t2181) + }; + if !rt::is_truthy(interp, &__t2194)? { + Value::bool(false) + } else { + let __t2195 = { + let __t2192 = { + let __t2185 = { + let __t2184 = { + let __t2183 = { + let __t2182 = v_V860.clone(); + rt::tl(&__t2182)? + }; + rt::tl(&__t2183)? + }; + rt::tl(&__t2184)? + }; + rt::is_cons(&__t2185) + }; + if !rt::is_truthy(interp, &__t2192)? { + Value::bool(false) + } else { + let __t2193 = { + let __t2186 = Value::nil(); + let __t2191 = { + let __t2190 = { + let __t2189 = { + let __t2188 = { + let __t2187 = + v_V860.clone(); + rt::tl(&__t2187)? + }; + rt::tl(&__t2188)? + }; + rt::tl(&__t2189)? + }; + rt::tl(&__t2190)? + }; + rt::eq(&__t2186, &__t2191) + }; + Value::bool(rt::is_truthy(interp, &__t2193)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2195)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2197)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2199)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2201)?) + } + }; + if match rt::is_truthy(interp, &__t2216) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2204 = { + let __t2203 = { + let __t2202 = v_V860.clone(); + rt::tl(&__t2202)? + }; + rt::hd(&__t2203)? + }; + let __t2208 = { + let __t2207 = { + let __t2206 = { + let __t2205 = v_V860.clone(); + rt::tl(&__t2205)? + }; + rt::tl(&__t2206)? + }; + rt::hd(&__t2207)? + }; + let __t2215 = { + let __t2213 = { + let __t2212 = { + let __t2211 = { + let __t2210 = { + let __t2209 = v_V860.clone(); + rt::tl(&__t2209)? + }; + rt::tl(&__t2210)? + }; + rt::tl(&__t2211)? + }; + rt::hd(&__t2212)? + }; + let __t2214 = v_V861.clone(); + rt::apply_direct( + interp, + "shen.recursively-factor-selectors", + &[__t2213, __t2214], + )? + }; + rt::apply_direct(interp, "shen.restore-local", &[__t2204, __t2208, __t2215])? + }); + } else { + { + let __t2172 = { + let __t2153 = { + let __t2133 = v_V860.clone(); + rt::is_cons(&__t2133) + }; + if !rt::is_truthy(interp, &__t2153)? { + Value::bool(false) + } else { + let __t2154 = { + let __t2151 = { + let __t2134 = Value::sym(interp.intern("and")); + let __t2136 = { + let __t2135 = v_V860.clone(); + rt::hd(&__t2135)? + }; + rt::eq(&__t2134, &__t2136) + }; + if !rt::is_truthy(interp, &__t2151)? { + Value::bool(false) + } else { + let __t2152 = { + let __t2149 = { + let __t2138 = { + let __t2137 = v_V860.clone(); + rt::tl(&__t2137)? + }; + rt::is_cons(&__t2138) + }; + if !rt::is_truthy(interp, &__t2149)? { + Value::bool(false) + } else { + let __t2150 = { + let __t2147 = { + let __t2141 = { + let __t2140 = { + let __t2139 = v_V860.clone(); + rt::tl(&__t2139)? + }; + rt::tl(&__t2140)? + }; + rt::is_cons(&__t2141) + }; + if !rt::is_truthy(interp, &__t2147)? { + Value::bool(false) + } else { + let __t2148 = { + let __t2142 = Value::nil(); + let __t2146 = { + let __t2145 = { + let __t2144 = { + let __t2143 = v_V860.clone(); + rt::tl(&__t2143)? + }; + rt::tl(&__t2144)? + }; + rt::tl(&__t2145)? + }; + rt::eq(&__t2142, &__t2146) + }; + Value::bool(rt::is_truthy(interp, &__t2148)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2150)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2152)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2154)?) + } + }; + if match rt::is_truthy(interp, &__t2172) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2157 = { + let __t2156 = { + let __t2155 = v_V860.clone(); + rt::tl(&__t2155)? + }; + rt::hd(&__t2156)? + }; + let __t2171 = { + let __t2165 = { + let __t2160 = { + let __t2159 = { + let __t2158 = v_V860.clone(); + rt::tl(&__t2158)? + }; + rt::hd(&__t2159)? + }; + let __t2164 = { + let __t2163 = { + let __t2162 = { + let __t2161 = v_V860.clone(); + rt::tl(&__t2161)? + }; + rt::tl(&__t2162)? + }; + rt::hd(&__t2163)? + }; + rt::apply_direct( + interp, + "shen.factor-selectors", + &[__t2160, __t2164], + )? + }; + let __t2170 = { + let __t2168 = { + let __t2167 = { + let __t2166 = v_V860.clone(); + rt::tl(&__t2166)? + }; + rt::hd(&__t2167)? + }; + let __t2169 = v_V861.clone(); + rt::apply_direct( + interp, + "shen.factor-selectors", + &[__t2168, __t2169], + )? + }; + rt::apply_direct( + interp, + "shen.recursively-factor-selectors", + &[__t2165, __t2170], + )? + }; + rt::apply_direct(interp, "shen.restore-P", &[__t2157, __t2171])? + }); + } else { + { + let __t2132 = Value::bool(true); + if match rt::is_truthy(interp, &__t2132) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2128 = v_V860.clone(); + let __t2131 = { + let __t2129 = v_V861.clone(); + let __t2130 = Value::nil(); + rt::cons(&__t2129, &__t2130) + }; + rt::cons(&__t2128, &__t2131) + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } +} + +fn install_shen_x2e_recursively_x2d_factor_x2d_selectors(interp: &mut Interp) { + interp.register_native( + "shen.recursively-factor-selectors", + 2, + aot_shen_x2e_recursively_x2d_factor_x2d_selectors, + ); + interp.register_aot_direct( + "shen.recursively-factor-selectors", + aot_shen_x2e_recursively_x2d_factor_x2d_selectors, + ); +} + +/// AOT-compiled from KL `(defun shen.restore-P ...)` +pub fn aot_shen_x2e_restore_x2d_P(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.restore-P: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V862 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V863 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2240 = { + let __t2228 = { + let __t2219 = v_V863.clone(); + rt::is_cons(&__t2219) + }; + if !rt::is_truthy(interp, &__t2228)? { + Value::bool(false) + } else { + let __t2229 = { + let __t2226 = { + let __t2221 = { + let __t2220 = v_V863.clone(); + rt::tl(&__t2220)? + }; + rt::is_cons(&__t2221) + }; + if !rt::is_truthy(interp, &__t2226)? { + Value::bool(false) + } else { + let __t2227 = { + let __t2222 = Value::nil(); + let __t2225 = { + let __t2224 = { + let __t2223 = v_V863.clone(); + rt::tl(&__t2223)? + }; + rt::tl(&__t2224)? + }; + rt::eq(&__t2222, &__t2225) + }; + Value::bool(rt::is_truthy(interp, &__t2227)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2229)?) + } + }; + if match rt::is_truthy(interp, &__t2240) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2237 = { + let __t2230 = Value::sym(interp.intern("and")); + let __t2236 = { + let __t2231 = v_V862.clone(); + let __t2235 = { + let __t2233 = { + let __t2232 = v_V863.clone(); + rt::hd(&__t2232)? + }; + let __t2234 = Value::nil(); + rt::cons(&__t2233, &__t2234) + }; + rt::cons(&__t2231, &__t2235) + }; + rt::cons(&__t2230, &__t2236) + }; + let __t2239 = { + let __t2238 = v_V863.clone(); + rt::tl(&__t2238)? + }; + rt::cons(&__t2237, &__t2239) + }); + } else { + { + let __t2218 = Value::bool(true); + if match rt::is_truthy(interp, &__t2218) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2217 = Value::str("partial function shen.restore-P"); + rt::apply_direct(interp, "simple-error", &[__t2217])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_restore_x2d_P(interp: &mut Interp) { + interp.register_native("shen.restore-P", 2, aot_shen_x2e_restore_x2d_P); + interp.register_aot_direct("shen.restore-P", aot_shen_x2e_restore_x2d_P); +} + +/// AOT-compiled from KL `(defun shen.restore-local ...)` +pub fn aot_shen_x2e_restore_x2d_local(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 3 { + return Err(ShenError::new(format!( + "shen.restore-local: expected 3 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V864 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V865 = args[1].clone(); + #[allow(unused_mut)] + let mut v_V866 = args[2].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2266 = { + let __t2252 = { + let __t2243 = v_V866.clone(); + rt::is_cons(&__t2243) + }; + if !rt::is_truthy(interp, &__t2252)? { + Value::bool(false) + } else { + let __t2253 = { + let __t2250 = { + let __t2245 = { + let __t2244 = v_V866.clone(); + rt::tl(&__t2244)? + }; + rt::is_cons(&__t2245) + }; + if !rt::is_truthy(interp, &__t2250)? { + Value::bool(false) + } else { + let __t2251 = { + let __t2246 = Value::nil(); + let __t2249 = { + let __t2248 = { + let __t2247 = v_V866.clone(); + rt::tl(&__t2247)? + }; + rt::tl(&__t2248)? + }; + rt::eq(&__t2246, &__t2249) + }; + Value::bool(rt::is_truthy(interp, &__t2251)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2253)?) + } + }; + if match rt::is_truthy(interp, &__t2266) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2263 = { + let __t2254 = Value::sym(interp.intern("let")); + let __t2262 = { + let __t2255 = v_V864.clone(); + let __t2261 = { + let __t2256 = v_V865.clone(); + let __t2260 = { + let __t2258 = { + let __t2257 = v_V866.clone(); + rt::hd(&__t2257)? + }; + let __t2259 = Value::nil(); + rt::cons(&__t2258, &__t2259) + }; + rt::cons(&__t2256, &__t2260) + }; + rt::cons(&__t2255, &__t2261) + }; + rt::cons(&__t2254, &__t2262) + }; + let __t2265 = { + let __t2264 = v_V866.clone(); + rt::tl(&__t2264)? + }; + rt::cons(&__t2263, &__t2265) + }); + } else { + { + let __t2242 = Value::bool(true); + if match rt::is_truthy(interp, &__t2242) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2241 = Value::str("partial function shen.restore-local"); + rt::apply_direct(interp, "simple-error", &[__t2241])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_restore_x2d_local(interp: &mut Interp) { + interp.register_native("shen.restore-local", 3, aot_shen_x2e_restore_x2d_local); + interp.register_aot_direct("shen.restore-local", aot_shen_x2e_restore_x2d_local); +} + +/// AOT-compiled from KL `(defun shen.bad-pivot? ...)` +pub fn aot_shen_x2e_bad_x2d_pivot_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.bad-pivot?: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V871 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2274 = { + let __t2272 = { + let __t2268 = v_V871.clone(); + rt::is_cons(&__t2268) + }; + if !rt::is_truthy(interp, &__t2272)? { + Value::bool(false) + } else { + let __t2273 = { + let __t2269 = Value::nil(); + let __t2271 = { + let __t2270 = v_V871.clone(); + rt::tl(&__t2270)? + }; + rt::eq(&__t2269, &__t2271) + }; + Value::bool(rt::is_truthy(interp, &__t2273)?) + } + }; + if match rt::is_truthy(interp, &__t2274) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::bool(true)); + } else { + { + let __t2267 = Value::bool(true); + if match rt::is_truthy(interp, &__t2267) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::bool(false)); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_bad_x2d_pivot_x3f_(interp: &mut Interp) { + interp.register_native("shen.bad-pivot?", 1, aot_shen_x2e_bad_x2d_pivot_x3f_); + interp.register_aot_direct("shen.bad-pivot?", aot_shen_x2e_bad_x2d_pivot_x3f_); +} + +/// AOT-compiled from KL `(defun shen.remove-indirection ...)` +pub fn aot_shen_x2e_remove_x2d_indirection( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.remove-indirection: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V872 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2399 = { + let __t2381 = { + let __t2276 = v_V872.clone(); + rt::is_cons(&__t2276) + }; + if !rt::is_truthy(interp, &__t2381)? { + Value::bool(false) + } else { + let __t2382 = { + let __t2379 = { + let __t2277 = Value::sym(interp.intern("let")); + let __t2279 = { + let __t2278 = v_V872.clone(); + rt::hd(&__t2278)? + }; + rt::eq(&__t2277, &__t2279) + }; + if !rt::is_truthy(interp, &__t2379)? { + Value::bool(false) + } else { + let __t2380 = { + let __t2377 = { + let __t2281 = { + let __t2280 = v_V872.clone(); + rt::tl(&__t2280)? + }; + rt::is_cons(&__t2281) + }; + if !rt::is_truthy(interp, &__t2377)? { + Value::bool(false) + } else { + let __t2378 = { + let __t2375 = { + let __t2284 = { + let __t2283 = { + let __t2282 = v_V872.clone(); + rt::tl(&__t2282)? + }; + rt::tl(&__t2283)? + }; + rt::is_cons(&__t2284) + }; + if !rt::is_truthy(interp, &__t2375)? { + Value::bool(false) + } else { + let __t2376 = { + let __t2373 = { + let __t2288 = { + let __t2287 = { + let __t2286 = { + let __t2285 = v_V872.clone(); + rt::tl(&__t2285)? + }; + rt::tl(&__t2286)? + }; + rt::hd(&__t2287)? + }; + rt::is_cons(&__t2288) + }; + if !rt::is_truthy(interp, &__t2373)? { + Value::bool(false) + } else { + let __t2374 = { + let __t2371 = { + let __t2289 = + Value::sym(interp.intern("freeze")); + let __t2294 = { + let __t2293 = { + let __t2292 = { + let __t2291 = { + let __t2290 = + v_V872.clone(); + rt::tl(&__t2290)? + }; + rt::tl(&__t2291)? + }; + rt::hd(&__t2292)? + }; + rt::hd(&__t2293)? + }; + rt::eq(&__t2289, &__t2294) + }; + if !rt::is_truthy(interp, &__t2371)? { + Value::bool(false) + } else { + let __t2372 = { + let __t2369 = { + let __t2299 = { + let __t2298 = { + let __t2297 = { + let __t2296 = { + let __t2295 = + v_V872 + .clone( + ); + rt::tl( + &__t2295, + )? + }; + rt::tl(&__t2296)? + }; + rt::hd(&__t2297)? + }; + rt::tl(&__t2298)? + }; + rt::is_cons(&__t2299) + }; + if !rt::is_truthy(interp, &__t2369)? + { + Value::bool(false) + } else { + let __t2370 = { + let __t2367 = { + let __t2305 = { + let __t2304 = { + let __t2303 = { + let __t2302 = { + let __t2301 = { + let __t2300 = v_V872.clone(); + rt::tl(&__t2300)? + }; + rt::tl(&__t2301)? + }; + rt::hd(&__t2302)? + }; + rt::tl( + &__t2303, + )? + }; + rt::hd(&__t2304)? + }; + rt::is_cons(&__t2305) + }; + if !rt::is_truthy( + interp, &__t2367, + )? { + Value::bool(false) + } else { + let __t2368 = { + let __t2365 = { + let __t2306 = Value::sym(interp.intern("thaw")); + let __t2313 = { + let __t2312 = { + let __t2311 = { + let __t2310 = { let __t2309 = { let __t2308 = { let __t2307 = v_V872.clone(); rt::tl(&__t2307)? }; rt::tl(&__t2308)? }; rt::hd(&__t2309)? }; + rt::tl(&__t2310)? + }; + rt::hd(&__t2311)? + }; + rt::hd(&__t2312)? + }; + rt::eq( + &__t2306, + &__t2313, + ) + }; + if !rt::is_truthy( + interp, + &__t2365, + )? { + Value::bool( + false, + ) + } else { + let __t2366 = { + let __t2363 = { + let __t2320 = { + let __t2319 = { let __t2318 = { let __t2317 = { let __t2316 = { let __t2315 = { let __t2314 = v_V872.clone(); rt::tl(&__t2314)? }; rt::tl(&__t2315)? }; rt::hd(&__t2316)? }; rt::tl(&__t2317)? }; rt::hd(&__t2318)? }; + rt::tl(&__t2319)? + }; + rt::is_cons(&__t2320) + }; + if !rt::is_truthy(interp, &__t2363)? { Value::bool(false) } else { let __t2364 = { let __t2361 = { let __t2321 = Value::nil(); let __t2329 = { let __t2328 = { let __t2327 = { let __t2326 = { let __t2325 = { let __t2324 = { let __t2323 = { let __t2322 = v_V872.clone(); rt::tl(&__t2322)? }; rt::tl(&__t2323)? }; rt::hd(&__t2324)? }; rt::tl(&__t2325)? }; rt::hd(&__t2326)? }; rt::tl(&__t2327)? }; rt::tl(&__t2328)? }; rt::eq(&__t2321, &__t2329) }; if !rt::is_truthy(interp, &__t2361)? { Value::bool(false) } else { let __t2362 = { let __t2359 = { let __t2330 = Value::nil(); let __t2336 = { let __t2335 = { let __t2334 = { let __t2333 = { let __t2332 = { let __t2331 = v_V872.clone(); rt::tl(&__t2331)? }; rt::tl(&__t2332)? }; rt::hd(&__t2333)? }; rt::tl(&__t2334)? }; rt::tl(&__t2335)? }; rt::eq(&__t2330, &__t2336) }; if !rt::is_truthy(interp, &__t2359)? { Value::bool(false) } else { let __t2360 = { let __t2357 = { let __t2340 = { let __t2339 = { let __t2338 = { let __t2337 = v_V872.clone(); rt::tl(&__t2337)? }; rt::tl(&__t2338)? }; rt::tl(&__t2339)? }; rt::is_cons(&__t2340) }; if !rt::is_truthy(interp, &__t2357)? { Value::bool(false) } else { let __t2358 = { let __t2355 = { let __t2341 = Value::nil(); let __t2346 = { let __t2345 = { let __t2344 = { let __t2343 = { let __t2342 = v_V872.clone(); rt::tl(&__t2342)? }; rt::tl(&__t2343)? }; rt::tl(&__t2344)? }; rt::tl(&__t2345)? }; rt::eq(&__t2341, &__t2346) }; if !rt::is_truthy(interp, &__t2355)? { Value::bool(false) } else { let __t2356 = { let __t2354 = { let __t2353 = { let __t2352 = { let __t2351 = { let __t2350 = { let __t2349 = { let __t2348 = { let __t2347 = v_V872.clone(); rt::tl(&__t2347)? }; rt::tl(&__t2348)? }; rt::hd(&__t2349)? }; rt::tl(&__t2350)? }; rt::hd(&__t2351)? }; rt::tl(&__t2352)? }; rt::hd(&__t2353)? }; rt::is_symbol(&__t2354) }; Value::bool(rt::is_truthy(interp, &__t2356)?) } }; Value::bool(rt::is_truthy(interp, &__t2358)?) } }; Value::bool(rt::is_truthy(interp, &__t2360)?) } }; Value::bool(rt::is_truthy(interp, &__t2362)?) } }; Value::bool(rt::is_truthy(interp, &__t2364)?) } + }; + Value::bool(rt::is_truthy(interp, &__t2366)?) + } + }; + Value::bool( + rt::is_truthy( + interp, + &__t2368, + )?, + ) + } + }; + Value::bool(rt::is_truthy( + interp, &__t2370, + )?) + } + }; + Value::bool(rt::is_truthy( + interp, &__t2372, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2374)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2376)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2378)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2380)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2382)?) + } + }; + if match rt::is_truthy(interp, &__t2399) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2390 = { + let __t2389 = { + let __t2388 = { + let __t2387 = { + let __t2386 = { + let __t2385 = { + let __t2384 = { + let __t2383 = v_V872.clone(); + rt::tl(&__t2383)? + }; + rt::tl(&__t2384)? + }; + rt::hd(&__t2385)? + }; + rt::tl(&__t2386)? + }; + rt::hd(&__t2387)? + }; + rt::tl(&__t2388)? + }; + rt::hd(&__t2389)? + }; + let __t2393 = { + let __t2392 = { + let __t2391 = v_V872.clone(); + rt::tl(&__t2391)? + }; + rt::hd(&__t2392)? + }; + let __t2398 = { + let __t2397 = { + let __t2396 = { + let __t2395 = { + let __t2394 = v_V872.clone(); + rt::tl(&__t2394)? + }; + rt::tl(&__t2395)? + }; + rt::tl(&__t2396)? + }; + rt::hd(&__t2397)? + }; + rt::apply_direct(interp, "subst", &[__t2390, __t2393, __t2398])? + }); + } else { + { + let __t2275 = Value::bool(true); + if match rt::is_truthy(interp, &__t2275) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V872.clone()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_remove_x2d_indirection(interp: &mut Interp) { + interp.register_native( + "shen.remove-indirection", + 1, + aot_shen_x2e_remove_x2d_indirection, + ); + interp.register_aot_direct( + "shen.remove-indirection", + aot_shen_x2e_remove_x2d_indirection, + ); +} + +/// AOT-compiled from KL `(defun shen.pivot-on ...)` +pub fn aot_shen_x2e_pivot_x2d_on(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 3 { + return Err(ShenError::new(format!( + "shen.pivot-on: expected 3 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V875 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V876 = args[1].clone(); + #[allow(unused_mut)] + let mut v_V877 = args[2].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2517 = { + let __t2496 = { + let __t2439 = v_V876.clone(); + rt::is_cons(&__t2439) + }; + if !rt::is_truthy(interp, &__t2496)? { + Value::bool(false) + } else { + let __t2497 = { + let __t2494 = { + let __t2441 = { + let __t2440 = v_V876.clone(); + rt::hd(&__t2440)? + }; + rt::is_cons(&__t2441) + }; + if !rt::is_truthy(interp, &__t2494)? { + Value::bool(false) + } else { + let __t2495 = { + let __t2492 = { + let __t2444 = { + let __t2443 = { + let __t2442 = v_V876.clone(); + rt::hd(&__t2442)? + }; + rt::hd(&__t2443)? + }; + rt::is_cons(&__t2444) + }; + if !rt::is_truthy(interp, &__t2492)? { + Value::bool(false) + } else { + let __t2493 = { + let __t2490 = { + let __t2445 = Value::sym(interp.intern("and")); + let __t2449 = { + let __t2448 = { + let __t2447 = { + let __t2446 = v_V876.clone(); + rt::hd(&__t2446)? + }; + rt::hd(&__t2447)? + }; + rt::hd(&__t2448)? + }; + rt::eq(&__t2445, &__t2449) + }; + if !rt::is_truthy(interp, &__t2490)? { + Value::bool(false) + } else { + let __t2491 = { + let __t2488 = { + let __t2453 = { + let __t2452 = { + let __t2451 = { + let __t2450 = v_V876.clone(); + rt::hd(&__t2450)? + }; + rt::hd(&__t2451)? + }; + rt::tl(&__t2452)? + }; + rt::is_cons(&__t2453) + }; + if !rt::is_truthy(interp, &__t2488)? { + Value::bool(false) + } else { + let __t2489 = { + let __t2486 = { + let __t2458 = { + let __t2457 = { + let __t2456 = { + let __t2455 = { + let __t2454 = + v_V876.clone(); + rt::hd(&__t2454)? + }; + rt::hd(&__t2455)? + }; + rt::tl(&__t2456)? + }; + rt::tl(&__t2457)? + }; + rt::is_cons(&__t2458) + }; + if !rt::is_truthy(interp, &__t2486)? { + Value::bool(false) + } else { + let __t2487 = { + let __t2484 = { + let __t2459 = Value::nil(); + let __t2465 = { + let __t2464 = { + let __t2463 = { + let __t2462 = { + let __t2461 = { + let __t2460 = v_V876.clone(); + rt::hd(&__t2460)? + }; + rt::hd( + &__t2461, + )? + }; + rt::tl(&__t2462)? + }; + rt::tl(&__t2463)? + }; + rt::tl(&__t2464)? + }; + rt::eq(&__t2459, &__t2465) + }; + if !rt::is_truthy(interp, &__t2484)? + { + Value::bool(false) + } else { + let __t2485 = { + let __t2482 = { + let __t2468 = { + let __t2467 = { + let __t2466 = + v_V876 + .clone( + ); + rt::hd( + &__t2466, + )? + }; + rt::tl(&__t2467)? + }; + rt::is_cons(&__t2468) + }; + if !rt::is_truthy( + interp, &__t2482, + )? { + Value::bool(false) + } else { + let __t2483 = { + let __t2480 = { + let __t2469 = + Value::nil( + ); + let __t2473 = { + let __t2472 = { + let __t2471 = { + let __t2470 = v_V876.clone(); + rt::hd(&__t2470)? + }; + rt::tl(&__t2471)? + }; + rt::tl(&__t2472)? + }; + rt::eq( + &__t2469, + &__t2473, + ) + }; + if !rt::is_truthy( + interp, + &__t2480, + )? { + Value::bool( + false, + ) + } else { + let __t2481 = { + let __t2474 = v_V875.clone(); + let __t2479 = { + let __t2478 = { + let __t2477 = { let __t2476 = { let __t2475 = v_V876.clone(); rt::hd(&__t2475)? }; rt::hd(&__t2476)? }; + rt::tl(&__t2477)? + }; + rt::hd(&__t2478)? + }; + rt::eq(&__t2474, &__t2479) + }; + Value::bool(rt::is_truthy(interp, &__t2481)?) + } + }; + Value::bool( + rt::is_truthy( + interp, + &__t2483, + )?, + ) + } + }; + Value::bool(rt::is_truthy( + interp, &__t2485, + )?) + } + }; + Value::bool(rt::is_truthy( + interp, &__t2487, + )?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2489)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2491)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2493)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2495)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2497)?) + } + }; + if match rt::is_truthy(interp, &__t2517) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t2502 = { + let __t2501 = { + let __t2500 = { + let __t2499 = { + let __t2498 = v_V876.clone(); + rt::hd(&__t2498)? + }; + rt::hd(&__t2499)? + }; + rt::tl(&__t2500)? + }; + rt::hd(&__t2501)? + }; + let __t2504 = { + let __t2503 = v_V876.clone(); + rt::tl(&__t2503)? + }; + let __t2516 = { + let __t2514 = { + let __t2510 = { + let __t2509 = { + let __t2508 = { + let __t2507 = { + let __t2506 = { + let __t2505 = v_V876.clone(); + rt::hd(&__t2505)? + }; + rt::hd(&__t2506)? + }; + rt::tl(&__t2507)? + }; + rt::tl(&__t2508)? + }; + rt::hd(&__t2509)? + }; + let __t2513 = { + let __t2512 = { + let __t2511 = v_V876.clone(); + rt::hd(&__t2511)? + }; + rt::tl(&__t2512)? + }; + rt::cons(&__t2510, &__t2513) + }; + let __t2515 = v_V877.clone(); + rt::cons(&__t2514, &__t2515) + }; + v_V875 = __t2502; + v_V876 = __t2504; + v_V877 = __t2516; + continue; + } + } else { + { + let __t2438 = { + let __t2424 = { + let __t2403 = v_V876.clone(); + rt::is_cons(&__t2403) + }; + if !rt::is_truthy(interp, &__t2424)? { + Value::bool(false) + } else { + let __t2425 = { + let __t2422 = { + let __t2405 = { + let __t2404 = v_V876.clone(); + rt::hd(&__t2404)? + }; + rt::is_cons(&__t2405) + }; + if !rt::is_truthy(interp, &__t2422)? { + Value::bool(false) + } else { + let __t2423 = { + let __t2420 = { + let __t2408 = { + let __t2407 = { + let __t2406 = v_V876.clone(); + rt::hd(&__t2406)? + }; + rt::tl(&__t2407)? + }; + rt::is_cons(&__t2408) + }; + if !rt::is_truthy(interp, &__t2420)? { + Value::bool(false) + } else { + let __t2421 = { + let __t2418 = { + let __t2409 = Value::nil(); + let __t2413 = { + let __t2412 = { + let __t2411 = { + let __t2410 = v_V876.clone(); + rt::hd(&__t2410)? + }; + rt::tl(&__t2411)? + }; + rt::tl(&__t2412)? + }; + rt::eq(&__t2409, &__t2413) + }; + if !rt::is_truthy(interp, &__t2418)? { + Value::bool(false) + } else { + let __t2419 = { + let __t2414 = v_V875.clone(); + let __t2417 = { + let __t2416 = { + let __t2415 = v_V876.clone(); + rt::hd(&__t2415)? + }; + rt::hd(&__t2416)? + }; + rt::eq(&__t2414, &__t2417) + }; + Value::bool(rt::is_truthy(interp, &__t2419)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2421)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2423)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2425)?) + } + }; + if match rt::is_truthy(interp, &__t2438) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t2428 = { + let __t2427 = { + let __t2426 = v_V876.clone(); + rt::hd(&__t2426)? + }; + rt::hd(&__t2427)? + }; + let __t2430 = { + let __t2429 = v_V876.clone(); + rt::tl(&__t2429)? + }; + let __t2437 = { + let __t2435 = { + let __t2431 = Value::bool(true); + let __t2434 = { + let __t2433 = { + let __t2432 = v_V876.clone(); + rt::hd(&__t2432)? + }; + rt::tl(&__t2433)? + }; + rt::cons(&__t2431, &__t2434) + }; + let __t2436 = v_V877.clone(); + rt::cons(&__t2435, &__t2436) + }; + v_V875 = __t2428; + v_V876 = __t2430; + v_V877 = __t2437; + continue; + } + } else { + { + let __t2402 = Value::bool(true); + if match rt::is_truthy(interp, &__t2402) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2400 = v_V877.clone(); + let __t2401 = v_V876.clone(); + rt::apply_direct(interp, "@p", &[__t2400, __t2401])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } +} + +fn install_shen_x2e_pivot_x2d_on(interp: &mut Interp) { + interp.register_native("shen.pivot-on", 3, aot_shen_x2e_pivot_x2d_on); + interp.register_aot_direct("shen.pivot-on", aot_shen_x2e_pivot_x2d_on); +} + +/// AOT-compiled from KL `(defun shen.factor-selectors ...)` +pub fn aot_shen_x2e_factor_x2d_selectors(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.factor-selectors: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V880 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V881 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2549 = { + let __t2528 = { + let __t2519 = v_V880.clone(); + rt::is_cons(&__t2519) + }; + if !rt::is_truthy(interp, &__t2528)? { + Value::bool(false) + } else { + let __t2529 = { + let __t2526 = { + let __t2521 = { + let __t2520 = v_V880.clone(); + rt::tl(&__t2520)? + }; + rt::is_cons(&__t2521) + }; + if !rt::is_truthy(interp, &__t2526)? { + Value::bool(false) + } else { + let __t2527 = { + let __t2522 = Value::nil(); + let __t2525 = { + let __t2524 = { + let __t2523 = v_V880.clone(); + rt::tl(&__t2523)? + }; + rt::tl(&__t2524)? + }; + rt::eq(&__t2522, &__t2525) + }; + Value::bool(rt::is_truthy(interp, &__t2527)?) + } + }; + Value::bool(rt::is_truthy(interp, &__t2529)?) + } + }; + if match rt::is_truthy(interp, &__t2549) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W882 = { + let __t2531 = { + let __t2530 = v_V880.clone(); + rt::hd(&__t2530)? + }; + rt::apply_direct(interp, "shen.op", &[__t2531])? + }; + { + let __t2534 = { + let __t2532 = Value::sym(interp.intern("shen.skip")); + let __t2533 = v_W882.clone(); + rt::eq(&__t2532, &__t2533) + }; + if match rt::is_truthy(interp, &__t2534) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V881.clone()); + } else { + break Ok({ + let __t2547 = { + let __t2539 = { + let __t2536 = { + let __t2535 = v_W882.clone(); + rt::apply_direct(interp, "shen.op1", &[__t2535])? + }; + let __t2538 = { + let __t2537 = v_V880.clone(); + rt::tl(&__t2537)? + }; + rt::cons(&__t2536, &__t2538) + }; + let __t2546 = { + let __t2544 = { + let __t2541 = { + let __t2540 = v_W882.clone(); + rt::apply_direct(interp, "shen.op2", &[__t2540])? + }; + let __t2543 = { + let __t2542 = v_V880.clone(); + rt::tl(&__t2542)? + }; + rt::cons(&__t2541, &__t2543) + }; + let __t2545 = Value::nil(); + rt::cons(&__t2544, &__t2545) + }; + rt::cons(&__t2539, &__t2546) + }; + let __t2548 = v_V881.clone(); + rt::apply_direct( + interp, + "shen.factor-selectors-h", + &[__t2547, __t2548], + )? + }); + } + } + } + } else { + { + let __t2518 = Value::bool(true); + if match rt::is_truthy(interp, &__t2518) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V881.clone()); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } +} + +fn install_shen_x2e_factor_x2d_selectors(interp: &mut Interp) { + interp.register_native( + "shen.factor-selectors", + 2, + aot_shen_x2e_factor_x2d_selectors, + ); + interp.register_aot_direct("shen.factor-selectors", aot_shen_x2e_factor_x2d_selectors); +} + +/// AOT-compiled from KL `(defun shen.op ...)` +pub fn aot_shen_x2e_op(interp: &mut Interp, args: &[Value]) -> ShenResult { + if args.len() != 1 { + return Err(ShenError::new(format!( + "shen.op: expected 1 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V885 = args[0].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2562 = { + let __t2560 = Value::sym(interp.intern("cons?")); + let __t2561 = v_V885.clone(); + rt::eq(&__t2560, &__t2561) + }; + if match rt::is_truthy(interp, &__t2562) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("cons"))); + } else { + { + let __t2559 = { + let __t2557 = Value::sym(interp.intern("shen.+string?")); + let __t2558 = v_V885.clone(); + rt::eq(&__t2557, &__t2558) + }; + if match rt::is_truthy(interp, &__t2559) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("@s"))); + } else { + { + let __t2556 = { + let __t2554 = Value::sym(interp.intern("shen.+vector?")); + let __t2555 = v_V885.clone(); + rt::eq(&__t2554, &__t2555) + }; + if match rt::is_truthy(interp, &__t2556) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("@v"))); + } else { + { + let __t2553 = { + let __t2551 = Value::sym(interp.intern("tuple?")); + let __t2552 = v_V885.clone(); + rt::eq(&__t2551, &__t2552) + }; + if match rt::is_truthy(interp, &__t2553) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("@p"))); + } else { + { + let __t2550 = Value::bool(true); + if match rt::is_truthy(interp, &__t2550) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(Value::sym(interp.intern("shen.skip"))); + } else { + break Err(ShenError::new( + "cond: no clause matched", + )); + } + } + } + } + } + } + } + } + } + } + } +} + +fn install_shen_x2e_op(interp: &mut Interp) { + interp.register_native("shen.op", 1, aot_shen_x2e_op); + interp.register_aot_direct("shen.op", aot_shen_x2e_op); +} + +/// AOT-compiled from KL `(defun shen.factor-selectors-h ...)` +pub fn aot_shen_x2e_factor_x2d_selectors_x2d_h( + interp: &mut Interp, + args: &[Value], +) -> ShenResult { + if args.len() != 2 { + return Err(ShenError::new(format!( + "shen.factor-selectors-h: expected 2 args, got {}", + args.len() + ))); + } + #[allow(unused_mut)] + let mut v_V886 = args[0].clone(); + #[allow(unused_mut)] + let mut v_V887 = args[1].clone(); + #[allow(clippy::never_loop)] + loop { + { + let __t2595 = { + let __t2593 = Value::nil(); + let __t2594 = v_V886.clone(); + rt::eq(&__t2593, &__t2594) + }; + if match rt::is_truthy(interp, &__t2595) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok(v_V887.clone()); + } else { + { + let __t2592 = { + let __t2565 = v_V886.clone(); + rt::is_cons(&__t2565) + }; + if match rt::is_truthy(interp, &__t2592) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let __t2571 = { + let __t2569 = { + let __t2567 = { + let __t2566 = v_V886.clone(); + rt::hd(&__t2566)? + }; + let __t2568 = v_V887.clone(); + rt::apply_direct(interp, "occurrences", &[__t2567, __t2568])? + }; + let __t2570 = Value::int(1i64); + rt::gt(&__t2569, &__t2570)? + }; + if match rt::is_truthy(interp, &__t2571) { + Ok(b) => b, + Err(e) => break Err(e), + } { + { + let v_W888 = { + let __t2572 = Value::sym(interp.intern("Select")); + rt::apply_direct(interp, "gensym", &[__t2572])? + }; + break Ok({ + let __t2573 = Value::sym(interp.intern("let")); + let __t2588 = { + let __t2574 = v_W888.clone(); + let __t2587 = { + let __t2576 = { + let __t2575 = v_V886.clone(); + rt::hd(&__t2575)? + }; + let __t2586 = { + let __t2584 = { + let __t2578 = { + let __t2577 = v_V886.clone(); + rt::tl(&__t2577)? + }; + let __t2583 = { + let __t2579 = v_W888.clone(); + let __t2581 = { + let __t2580 = v_V886.clone(); + rt::hd(&__t2580)? + }; + let __t2582 = v_V887.clone(); + rt::apply_direct( + interp, + "subst", + &[__t2579, __t2581, __t2582], + )? + }; + rt::apply_direct( + interp, + "shen.factor-selectors-h", + &[__t2578, __t2583], + )? + }; + let __t2585 = Value::nil(); + rt::cons(&__t2584, &__t2585) + }; + rt::cons(&__t2576, &__t2586) + }; + rt::cons(&__t2574, &__t2587) + }; + rt::cons(&__t2573, &__t2588) + }); + } + } else { + { + let __t2590 = { + let __t2589 = v_V886.clone(); + rt::tl(&__t2589)? + }; + let __t2591 = v_V887.clone(); + v_V886 = __t2590; + v_V887 = __t2591; + continue; + } + } + } + } else { + { + let __t2564 = Value::bool(true); + if match rt::is_truthy(interp, &__t2564) { + Ok(b) => b, + Err(e) => break Err(e), + } { + break Ok({ + let __t2563 = + Value::str("partial function shen.factor-selectors-h"); + rt::apply_direct(interp, "simple-error", &[__t2563])? + }); + } else { + break Err(ShenError::new("cond: no clause matched")); + } + } + } + } + } + } + } +} + +fn install_shen_x2e_factor_x2d_selectors_x2d_h(interp: &mut Interp) { + interp.register_native( + "shen.factor-selectors-h", + 2, + aot_shen_x2e_factor_x2d_selectors_x2d_h, + ); + interp.register_aot_direct( + "shen.factor-selectors-h", + aot_shen_x2e_factor_x2d_selectors_x2d_h, + ); +} + +/// Register every AOT-compiled function on `interp`. Call after kernel +/// boot so these names override the tree-walked defuns. +pub fn install(interp: &mut Interp) { + install_shen_x2e_shen_x2d__x3e_kl(interp); + install_shen_x2e_record_x2d_and_x2d_evaluate(interp); + install_shen_x2e_shen_x2d__x3e_kl_x2d_h(interp); + install_shen_x2e_shendef_x2d__x3e_kldef(interp); + install_shen_x2e__x3c_define_x3e_(interp); + install_shen_x2e_shendef_x2d__x3e_kldef_x2d_h(interp); + install_shen_x2e_unprotect(interp); + install_shen_x2e__x3c_name_x3e_(interp); + install_shen_x2e__x3c_signature_x3e_(interp); + install_shen_x2e__x3c_rules_x3e_(interp); + install_shen_x2e_linearise(interp); + install_shen_x2e_linearise_x2d_h(interp); + install_shen_x2e__x3c_rule_x3e_(interp); + install_shen_x2e__x3c_patterns_x3e_(interp); + install_shen_x2e__x3c_pattern_x3e_(interp); + install_shen_x2e__x3c_constructor_x3e_(interp); + install_shen_x2e_constructor_x3f_(interp); + install_shen_x2e_constructor_x2d_error(interp); + install_shen_x2e__x3c_simple_x2d_pattern_x3e_(interp); + install_shen_x2e__x3c_pattern1_x3e_(interp); + install_shen_x2e__x3c_pattern2_x3e_(interp); + install_shen_x2e_fn_x2d_print(interp); + install_shen_x2e_printF(interp); + install_shen_x2e_arity_x2d_chk(interp); + install_shen_x2e_free_x2d_var_x2d_chk(interp); + install_shen_x2e_free_x2d_variable_x2d_error_x2d_message(interp); + install_shen_x2e_extract_x2d_vars(interp); + install_shen_x2e_find_x2d_free_x2d_vars(interp); + install_shen_x2e_free_x2d_variable_x3f_(interp); + install_shen_x2e_record_x2d_kl(interp); + install_shen_x2e_compile_x2d_to_x2d_kl(interp); + install_shen_x2e_parameters(interp); + install_shen_x2e_cond_x2d_form(interp); + install_shen_x2e_scan_x2d_body(interp); + install_shen_x2e_choicepoint_x3f_(interp); + install_shen_x2e_choicepoint(interp); + install_shen_x2e_rep_x2d_X(interp); + install_shen_x2e_kl_x2d_body(interp); + install_shen_x2e_alpha_x2d_convert(interp); + install_shen_x2e_triple_x2d_stack(interp); + install_shen_x2e_rectify_x2d_test(interp); + install_shen_x2e_beta(interp); + install_shen_x2e_op1(interp); + install_shen_x2e_op2(interp); + install_shen_x2e_op_x2d_test(interp); + install_shen_x2e__x2b_string_x3f_(interp); + install_shen_x2e__x2b_vector_x3f_(interp); + install_factorise(interp); + install_shen_x2e_factorise_x2d_code(interp); + install_shen_x2e_factor(interp); + install_shen_x2e_factor_x2d_recognisors(interp); + install_shen_x2e_recursively_x2d_factor_x2d_selectors(interp); + install_shen_x2e_restore_x2d_P(interp); + install_shen_x2e_restore_x2d_local(interp); + install_shen_x2e_bad_x2d_pivot_x3f_(interp); + install_shen_x2e_remove_x2d_indirection(interp); + install_shen_x2e_pivot_x2d_on(interp); + install_shen_x2e_factor_x2d_selectors(interp); + install_shen_x2e_op(interp); + install_shen_x2e_factor_x2d_selectors_x2d_h(interp); +} From c8f5cc99bd7c922c1d8bee295ef1c94a4241ed1a Mon Sep 17 00:00:00 2001 From: pyrex41 Date: Tue, 1 Sep 2026 08:55:53 -0500 Subject: [PATCH 5/6] Restore S42 core AOT install and record the real kernel version. core.kl still has ~60 defuns; install_all skipped them after an empty first codegen. kernel-tests stay 134/0 at ~8s. Docs call the running kernel S42 and keep the June 3s figure as community 41.2 history. --- BENCHMARKS.md | 34 +++++++++++++++++++------- DEMO.md | 17 +++++++------ PERFORMANCE.md | 15 ++++++++++-- README.md | 14 ++++++++--- STATUS.md | 25 +++++++++++++------ crates/klcompile/src/lib.rs | 30 +++++++++++++++++++++++ crates/shen-rust/src/aot/kernel/mod.rs | 4 ++- crates/shen-rust/tests/library.rs | 6 ++--- crates/shen-rust/tests/parse_kernel.rs | 6 ++--- scripts/codegen-kernel-aot.sh | 16 ++++++++++++ scripts/kernel-aot-audit.sh | 15 ++++++++++++ 11 files changed, 146 insertions(+), 36 deletions(-) diff --git a/BENCHMARKS.md b/BENCHMARKS.md index c28e230..d080834 100644 --- a/BENCHMARKS.md +++ b/BENCHMARKS.md @@ -10,21 +10,34 @@ ratio, not the absolute. Harnesses live in `crates/shen-rust/benches/`, `scripts/cross-port-bench.sh` runs the upstream Shen kernel test suite (134 tests) through both ports on the same machine, interleaved. +**S41.2 (2026-06-10, paired interleaved min-of-5)** — historical. Do not read +these 3.0s figures as S42. + | Port | `--kernel-tests` | vs shen-cl | |---|---:|---:| | shen-cl (SBCL interpreted) | ≈ 1.0 s | 1× | | **shen-rust (release, bare)** | ≈ 3.0 s | **~3.0×** | | shen-rust + warm tc-cache (`SHEN_RUST_TC_CACHE`) | ≈ 1.0 s | **~1× (parity / ahead)** | -(Paired interleaved min-of-5, 2026-06-10. The 2026-06-09 snapshot read -≈4.3 s vs ≈1.3 s = ~3.3×; the 2026-06-10 profiling round — thin-LTO build -flags, the split-TLS heap, the direct-mapped intern cache — bought ~18% -cumulative, and shen-cl also ran faster on this box that day. The *ratio* is -the stable claim.) Down from ~17× at first conformance (see `PERFORMANCE.md` -for the path). The remaining bare gap is the boxed-`Value` + -interpreted-dispatch model, not a single hot spot — each remaining local -lever measures ≤ ~8%. The tc-cache row is verdict memoization (off by -default), not raw speed. +(The 2026-06-09 snapshot read ≈4.3 s vs ≈1.3 s = ~3.3×; the 2026-06-10 +profiling round — thin-LTO build flags, the split-TLS heap, the direct-mapped +intern cache — bought ~18% cumulative, and shen-cl also ran faster on this box +that day. The *ratio* is the stable S41.2 claim.) Down from ~17× at first +conformance (see `PERFORMANCE.md` for the path). The remaining bare gap is the +boxed-`Value` + interpreted-dispatch model, not a single hot spot — each +remaining local lever measures ≤ ~8%. The tc-cache row is verdict memoization +(off by default), not raw speed. + +**S42 (2026-09-01 retime, core AOT restored; `*version*` 42).** Same suite, +release `shen-rust --kernel-tests`, `/usr/bin/time -p` wall, min-of-3 on this +box. PR #21 (`42c2f16`) was ~8s with `core::install` skipped; June S41.2 was +~3s. This run is **not** 3s. + +| Kernel / config | `--kernel-tests` wall | 134/0 | notes | +|---|---:|:---:|---| +| S41.2 (2026-06-10, paired min-of-5) | ≈ 3.0 s | yes | historical; vs shen-cl ≈1.0 s | +| S42 PR #21 (`42c2f16`, core AOT skipped) | ≈ 8 s | yes | first S42 vendor | +| **S42 (2026-09-01, core AOT restored)** | **≈ 7.9 s** (7.89 / 8.39 / 9.43) | **yes** | same ~8s band as PR #21, not the 3s S41.2 path | ## Cross-port: the wider field (rust vs cl vs lua) @@ -166,6 +179,9 @@ Gate 7 in `scripts/gates.sh`; Gate 8 repeats it in a debug build, where the heap-reentrancy sentinel (`value.rs` split-TLS note) is live; Gate 9 repeats the debug run with `SHEN_RUST_GC` at a small trigger floor, so full mark/sweep cycles run under the sentinel plus the debug poison-on-sweep. +S42 release wall on this box (2026-09-01, core AOT restored) is **≈ 7.9 s** +min-of-3 — quote against PR #21 ~8s and June S41.2 ~3s; do not claim 3s for +this kernel. ## Methodology diff --git a/DEMO.md b/DEMO.md index 6a58d01..2914a74 100644 --- a/DEMO.md +++ b/DEMO.md @@ -17,8 +17,9 @@ Re-verify the whole tour at any time with ## Build and conformance -One workspace, plain cargo. The build AOT-compiles the entire vendored -ShenOSKernel-41.2 (21 KLambda files) to Rust via `crates/klcompile`. +One workspace, plain cargo. The build AOT-compiles the vendored **Shen S42** +kernel (15 canonical KLambda files plus port extensions; provenance +`s42-pristine-20260825`) to Rust via `crates/klcompile`. ```bash cargo build --release --quiet --bin shen-rust && echo build ok @@ -53,7 +54,7 @@ printf '(define fact 0 -> 1 N -> (* N (fact (- N 1))))\n(fact 20)\n(map (* 2) [1 ```output shen-rust booting kernel… ready. -Shen 41.2, ©2021–2026 Mark Tarver (shen-rust 0.1.0, Rust) +Shen 42, ©2021–2026 Mark Tarver (shen-rust 0.1.0, Rust) (0-) (fn fact) (0-) 2432902008176640000 @@ -183,10 +184,12 @@ RESULT: PASS ## Performance and verification Measured against the reference `shen-cl` (SBCL) port, paired and interleaved -on the same machine: ~3× off bare on a one-shot kernel-tests run (down from -17× at first conformance), at parity with a warm typecheck cache, and ahead on -served workloads (VM ~2.3×, AOT overlay ~3× over that). Every number — and -every experiment that *failed* — is documented in `PERFORMANCE.md` and +on the same machine: **S41.2** was ~3× off bare on a one-shot kernel-tests run +(down from 17× at first conformance), at parity with a warm typecheck cache, +and ahead on served workloads (VM ~2.3×, AOT overlay ~3× over that). S42 PR #21 +was ~8s with core AOT skipped; a 2026-09-01 retime with core restored is ≈ 7.9 s +(min-of-3, 134/0) — those 3.0s numbers are not S42. Every number — +and every experiment that *failed* — is documented in `PERFORMANCE.md` and `BENCHMARKS.md`, reproducible from `scripts/` and `benches/`. The repo holds itself to ten CI gates (`scripts/gates.sh`): fmt+clippy, diff --git a/PERFORMANCE.md b/PERFORMANCE.md index 1ed731e..db331a0 100644 --- a/PERFORMANCE.md +++ b/PERFORMANCE.md @@ -3,12 +3,23 @@ ## Current state On the full `--kernel-tests` suite, against the reference `shen-cl` (SBCL) -interpreter, `shen-rust` is **~3.0× slower** (≈3.0s vs ≈1.0s wall, paired +interpreter, `shen-rust` on **S41.2** was **~3.0× slower** (≈3.0s vs ≈1.0s wall, paired interleaved min-of-5, 2026-06-10) — down from **~17×** at first conformance. With a warm tc-cache (verdict memoization, off by default) it runs **at parity**. Measure head-to-head with `scripts/cross-port-bench.sh` (interleaved; the machine has ~5–12% thermal variance, so trust min-of-N, -not single runs). +not single runs). Those 3.0s figures are **S41.2 history**, not S42. + +**S42 (2026-09-01 retime).** Kernel is **Shen S42**, `*version*` 42, provenance +`s42-pristine-20260825`. PR #21 (`42c2f16`) reported `--kernel-tests` ≈ **~8s** +(134/0) with **core AOT skipped**: the first S42 `core.rs` codegen was empty, so +`9f81b64` omitted `core::install` (41.2 had installed core). `839cca1` +regenerated `core.rs` (~11k lines, `pub fn install`) but left the skip. +`core.kl` has ~60 defuns (`shen->kl`, `define`, `linearise`, …); AOT install is +restored. This machine's release retime (`./target/release/shen-rust --kernel-tests`, +`/usr/bin/time -p` wall, min-of-3, 2026-09-01): **≈ 7.9 s** (7.89 / 8.39 / 9.43 s; +internal suite `run time` ≈ 6.4 s), **passed: 134, failed: 0**. That is the same +band as PR #21's ~8s, **not** the June S41.2 ≈3s path — do not quote 3s for S42. The bytecode VM is **~2.3× faster than the tree-walker on warm / served workloads** (`scripts/warm-bench.sh`), which is why it ships behind `--served` diff --git a/README.md b/README.md index c06c660..a0254a2 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,9 @@ with native [AWS Cedar](https://www.cedarpolicy.com/) authorization integration. Shen is a functional language with an integrated logic engine and an optional, very expressive type system (a sequent-calculus theorem prover). `shen-rust` -boots the upstream **ShenOSKernel-41.2** and passes its full conformance suite — -**134 / 134 kernel tests**, in every execution mode. +boots the upstream **Shen S42** kernel (`*version*` 42, provenance +`s42-pristine-20260825`; see `kernel/klambda/PROVENANCE.md`) and passes its +full conformance suite — **134 / 134 kernel tests**, in every execution mode. The name follows the Shen-port convention (`shen-cl`, `shen-go`, `shen-ocaml`): the engine is `shen-rust`. The name `shen-cedar` is reused for the Shen **+** @@ -135,7 +136,7 @@ crates/klcompile/ build-time KL → Rust AOT compiler for the kernel crates/shengen-rust/ Shen sequent-calc specs → Rust guard types (backpressure) bin/shen-rust/ the REPL / CLI (`--served`, `--kernel-tests`) examples/shen-cedar-authz/ Shen + Cedar integration (gate / verify / generate) -kernel/ vendored ShenOSKernel-41.2 (klambda + conformance tests) +kernel/ vendored Shen S42 (klambda + conformance tests) specs/ backpressure specs in Shen sequent-calculus syntax design/ architecture + performance design notes scripts/ gates.sh (CI), benches, cross-port + warm benchmarks @@ -144,7 +145,12 @@ scripts/ gates.sh (CI), benches, cross-port + warm benchmarks ## Performance The reference target is the upstream `shen-cl` (SBCL) port. Two metrics, two -answers (paired interleaved runs, 2026-06-10, Apple M-series): +answers. The one-shot table below is **S41.2** (paired interleaved, 2026-06-10, +Apple M-series) — do not read it as S42. PR #21's S42 vendor (~8s +`--kernel-tests`, 134/0) ran with core AOT skipped. A 2026-09-01 release retime +with core AOT restored is **≈ 7.9 s wall** (min-of-3: 7.89 / 8.39 / 9.43 s, +134/0) — the same ~8s band as PR #21, **not** the 3s S41.2 path. See +`PERFORMANCE.md`. **One-shot** (`--kernel-tests`, boot + load + run + exit): diff --git a/STATUS.md b/STATUS.md index ce2dffa..ac487fb 100644 --- a/STATUS.md +++ b/STATUS.md @@ -3,7 +3,7 @@ ## Current state A working port of the Shen language to Rust. It boots Mark Tarver's -**Shen S41.2 (2026-07-11 refresh)** kernel (see +**Shen S42** kernel (`*version*` 42, provenance `s42-pristine-20260825`; see `kernel/klambda/PROVENANCE.md`) and passes the full conformance suite — **134 / 134** kernel tests (`scripts/kernel-tests.sh`) — in every execution mode. All gates green (`scripts/gates.sh`): shengen-codegen, fmt+clippy, build, test @@ -46,12 +46,14 @@ What's in the tree today: types; `specs/core.shen`. Performance vs the reference `shen-cl` (SBCL) on one-shot `--kernel-tests`: -**~3.0× bare** (≈3.0 s vs ≈1.0 s, paired 2026-06-10; down from ~17× at first -conformance), **at parity with warm tc-cache** (≈1.0 s, off by default). The -remaining bare gap is structural — the boxed-`Value` + interpreted-dispatch -model, not a single hot spot. On served workloads the story inverts: VM -~2.3× warm, AOT overlay ~3.1× over that on spec code. Full story in -`PERFORMANCE.md`, `BENCHMARKS.md`, and `design/perf-*.md`. +**S41.2 ~3.0× bare** (≈3.0 s vs ≈1.0 s, paired 2026-06-10; down from ~17× at +first conformance), **at parity with warm tc-cache** (≈1.0 s, off by default). +Those 3.0s numbers are S41.2, not S42 — PR #21's S42 run was ~8s with core AOT +skipped; a 2026-09-01 release retime with core AOT restored is ≈ 7.9 s wall +(min-of-3, 134/0), the same ~8s band, not 3s (see `PERFORMANCE.md`). The remaining bare gap is structural — the +boxed-`Value` + interpreted-dispatch model, not a single hot spot. On served +workloads the story inverts: VM ~2.3× warm, AOT overlay ~3.1× over that on spec +code. Full story in `PERFORMANCE.md`, `BENCHMARKS.md`, and `design/perf-*.md`. ## Milestones @@ -105,6 +107,15 @@ model, not a single hot spot. On served workloads the story inverts: VM - **Rename** — the engine port `shen-cedar` → **`shen-rust`** (the name `shen-cedar` now denotes the Shen+Cedar examples). History before that commit says "shen-cedar". +- **S42 kernel** (2026-08-25/27) — vendor Mark Tarver Shen 42.0 + (`s42-pristine-20260825`; PR #21 squash `42c2f16`). `(value *version*)` is + `"42"`. First S42 `core.rs` codegen was empty, so `9f81b64` skipped + `core::install`; `839cca1` regenerated `core.rs` (~11k lines, `pub fn + install`) but left the skip. `core.kl` has ~60 defuns (`shen->kl`, `define`, + `linearise`, …); 41.2 installed core, and AOT install is restored. Release + `--kernel-tests` retime 2026-09-01: ≈ 7.9 s wall (min-of-3), 134/0 — vs PR #21 + ~8s and vs June S41.2 ~3s (do not quote 3s for S42). GC, VM, overlay, and + Cedar are unchanged. ## Known limitations diff --git a/crates/klcompile/src/lib.rs b/crates/klcompile/src/lib.rs index 7018715..b32bcde 100644 --- a/crates/klcompile/src/lib.rs +++ b/crates/klcompile/src/lib.rs @@ -1165,6 +1165,36 @@ mod tests { assert!(report.skipped[0].starts_with("big: body too large")); } + /// `install_all` must call `core::install` when `core.rs` has + /// `pub fn install` / `core.kl` has defuns. 9f81b64 skipped the call + /// after an empty first S42 codegen; 839cca1 left the skip after + /// regenerating a real module. + #[test] + fn core_kl_defuns_require_install_all_to_call_core() { + let root = workspace_root(); + let core_kl = + std::fs::read_to_string(root.join("kernel/klambda/core.kl")).expect("core.kl"); + let core_rs = std::fs::read_to_string(root.join("crates/shen-rust/src/aot/kernel/core.rs")) + .expect("core.rs"); + let mod_rs = std::fs::read_to_string(root.join("crates/shen-rust/src/aot/kernel/mod.rs")) + .expect("mod.rs"); + let defun_count = core_kl.lines().filter(|l| l.starts_with("(defun ")).count(); + assert!( + defun_count >= 50, + "core.kl should have ~60 defuns, found {defun_count}" + ); + assert!( + core_rs.contains("pub fn install("), + "core.rs must expose pub fn install when core.kl has defuns" + ); + assert!( + mod_rs + .lines() + .any(|l| l.trim_start().starts_with("core::install(")), + "install_all omits core::install while core.rs has pub fn install" + ); + } + /// External config emits shen_rust:: imports and a plain `//` header /// (no inner attrs — host file owns lints in include!-style use). #[test] diff --git a/crates/shen-rust/src/aot/kernel/mod.rs b/crates/shen-rust/src/aot/kernel/mod.rs index 3d3c642..0b64dfd 100644 --- a/crates/shen-rust/src/aot/kernel/mod.rs +++ b/crates/shen-rust/src/aot/kernel/mod.rs @@ -45,10 +45,12 @@ pub mod yacc; /// Order mirrors `interp::boot::KERNEL_FILES` (upstream `install.lsp` /// runtime order for the Tarver S42 refresh, then the standard library /// and extensions). `backend` is intentionally absent — see above. +/// `core` must be called whenever `core.rs` exposes `pub fn install` +/// (`core.kl` has ~60 defuns; Gate 6 rejects omitting it). pub fn install_all(interp: &mut Interp) { sys::install(interp); writer::install(interp); - // S42 core.kl contains no defuns; source loading still handles its forms. + core::install(interp); reader::install(interp); declarations::install(interp); toplevel::install(interp); diff --git a/crates/shen-rust/tests/library.rs b/crates/shen-rust/tests/library.rs index e48c1a9..d84518b 100644 --- a/crates/shen-rust/tests/library.rs +++ b/crates/shen-rust/tests/library.rs @@ -195,9 +195,9 @@ fn stdlib_loaded_from_source_has_real_arities() { // the stdlib as pre-compiled KLambda defuns, bypassing the kernel's // `load`/`define` path, so functions like `filter` ended up with the // "unknown" arity -1. That broke `(fn filter)` and top-level - // `(filter ...)` ("fn: filter is undefined"). The S41.2-refresh port - // loads StLib from the `Lib/StLib` Shen sources through the real `load`, - // which registers correct arities. See kernel/stlib/PROVENANCE.md. + // `(filter ...)` ("fn: filter is undefined"). The S42 port loads StLib + // from the `Lib/StLib` Shen sources through the real `load`, which + // registers correct arities. See kernel/stlib/PROVENANCE.md. let mut i = fresh_booted(); // `filter` has a known (non -1) arity now. diff --git a/crates/shen-rust/tests/parse_kernel.rs b/crates/shen-rust/tests/parse_kernel.rs index f69df26..e5a74d7 100644 --- a/crates/shen-rust/tests/parse_kernel.rs +++ b/crates/shen-rust/tests/parse_kernel.rs @@ -43,9 +43,9 @@ fn parses_every_kernel_file() { total_forms += forms.len(); } - // The S41.2-refresh klambda set is ~900 top-level forms (the standard - // library moved out to kernel/stlib/ Shen sources, so it is no longer - // counted here); exact number changes between releases. We just want a + // The S42 klambda set is ~900 top-level forms (the standard library + // lives in kernel/stlib/ Shen sources, so it is no longer counted + // here); exact number changes between releases. We just want a // sanity floor that a real content-loss regression would trip. assert!( total_forms > 500, diff --git a/scripts/codegen-kernel-aot.sh b/scripts/codegen-kernel-aot.sh index c112156..ef70c0a 100755 --- a/scripts/codegen-kernel-aot.sh +++ b/scripts/codegen-kernel-aot.sh @@ -22,4 +22,20 @@ done rustfmt --quiet crates/shen-rust/src/aot/kernel/*.rs || true +# Do not leave core AOT uninstalled when codegen emitted an installer. +# 9f81b64 skipped core::install after empty S42 core.rs; 839cca1 regenerated +# a real module (~11k, pub fn install) and left the skip. backend is still +# excluded from install_all (not on the boot list). +core_rs="crates/shen-rust/src/aot/kernel/core.rs" +mod_rs="crates/shen-rust/src/aot/kernel/mod.rs" +core_kl="kernel/klambda/core.kl" +if grep -qE '^pub fn install\(' "$core_rs" && ! grep -qE '^[[:space:]]*core::install\(' "$mod_rs"; then + echo "codegen-kernel-aot: FAIL — $core_rs has pub fn install but install_all omits core::install" + exit 1 +fi +if grep -qE '^\(defun[[:space:]]' "$core_kl" && ! grep -qE '^[[:space:]]*core::install\(' "$mod_rs"; then + echo "codegen-kernel-aot: FAIL — $core_kl has defuns but install_all omits core::install" + exit 1 +fi + echo "codegen-kernel-aot: regenerated $(ls crates/shen-rust/src/aot/kernel/*.rs | wc -l | tr -d ' ') modules" diff --git a/scripts/kernel-aot-audit.sh b/scripts/kernel-aot-audit.sh index 050a78b..687b073 100755 --- a/scripts/kernel-aot-audit.sh +++ b/scripts/kernel-aot-audit.sh @@ -52,6 +52,21 @@ for f in "$KERNEL_AOT_DIR"/*.rs; do fi done +# core.kl has ~60 defuns. 9f81b64 skipped core::install after an empty first +# S42 codegen; 839cca1 regenerated core.rs (`pub fn install`) and left the skip. +# backend / programmable-pattern-matching stay out of install_all on purpose. +mod_rs="$KERNEL_AOT_DIR/mod.rs" +core_kl="kernel/klambda/core.kl" +if { grep -qE '^pub fn install\(' "$KERNEL_AOT_DIR/core.rs" || grep -qE '^pub fn install\(' "$SCRATCH/core.rs"; } \ + && ! grep -qE '^[[:space:]]*core::install\(' "$mod_rs"; then + echo "FAIL: core.rs has pub fn install but install_all omits core::install" + drift=1 +fi +if grep -qE '^\(defun[[:space:]]' "$core_kl" && ! grep -qE '^[[:space:]]*core::install\(' "$mod_rs"; then + echo "FAIL: $core_kl has defuns but install_all omits core::install" + drift=1 +fi + if [ $drift -ne 0 ]; then echo "kernel-aot-audit: FAIL — run scripts/codegen-kernel-aot.sh and re-commit." exit 1 From 6f31a55a996ca7e01d0c8211ffda559343bad923 Mon Sep 17 00:00:00 2001 From: pyrex41 Date: Mon, 21 Sep 2026 11:56:41 -0500 Subject: [PATCH 6/6] Shen/Scheme-style KL mappings and kernel overrides Native kernel overrides and klcompile mappings (intern, value/set, trap-error, Prolog CPS freezes). Hash agrees with equality. Soundness tests and paired A/B. 134/0. --- PERFORMANCE.md | 51 + crates/klcompile/src/lib.rs | 680 +- crates/shen-rust/src/aot/kernel/backend.rs | 3255 +++-- crates/shen-rust/src/aot/kernel/core.rs | 9418 +++++++------- .../shen-rust/src/aot/kernel/declarations.rs | 487 +- .../aot/kernel/extension_expand_dynamic.rs | 1455 ++- .../src/aot/kernel/extension_features.rs | 1309 +- .../src/aot/kernel/extension_launcher.rs | 1624 ++- ...extension_programmable_pattern_matching.rs | 1127 +- crates/shen-rust/src/aot/kernel/load.rs | 1609 ++- crates/shen-rust/src/aot/kernel/macros.rs | 2803 ++--- crates/shen-rust/src/aot/kernel/prolog.rs | 9031 +++++++------- crates/shen-rust/src/aot/kernel/reader.rs | 10112 ++++++++-------- crates/shen-rust/src/aot/kernel/sequent.rs | 5261 ++++---- crates/shen-rust/src/aot/kernel/sys.rs | 4227 +++---- crates/shen-rust/src/aot/kernel/t_star.rs | 7398 ++++++----- crates/shen-rust/src/aot/kernel/toplevel.rs | 1696 ++- crates/shen-rust/src/aot/kernel/track.rs | 2072 ++-- crates/shen-rust/src/aot/kernel/types.rs | 760 +- crates/shen-rust/src/aot/kernel/writer.rs | 2504 ++-- crates/shen-rust/src/aot/kernel/yacc.rs | 4412 ++++--- crates/shen-rust/src/aot/runtime.rs | 128 + crates/shen-rust/src/interp/boot.rs | 6 + crates/shen-rust/src/interp/eval.rs | 13 + crates/shen-rust/src/primitives.rs | 651 +- crates/shen-rust/src/value.rs | 20 + crates/shen-rust/tests/library.rs | 60 + crates/shen-rust/tests/primitives_coverage.rs | 7 +- .../tests/scheme_mapping_soundness.rs | 132 + 29 files changed, 35019 insertions(+), 37289 deletions(-) create mode 100644 crates/shen-rust/tests/scheme_mapping_soundness.rs diff --git a/PERFORMANCE.md b/PERFORMANCE.md index db331a0..3ef59af 100644 --- a/PERFORMANCE.md +++ b/PERFORMANCE.md @@ -76,6 +76,57 @@ The living, detailed record is in `design/`: work didn't vanish — it CSE'd into `eval_in` and the call sites — but the per-step call/return overhead and cold-blob bloat did. +## Shen/Scheme-style compiler mappings + kernel overrides + +Shen/Scheme (and the old SBCL port that reused its compiler) is fast not only +because Chez/SBCL are fast, but because the KL→host compiler exploits KLambda +properties and because well-placed overrides replace the kernel's portable +bodies. The kernel is deliberately inefficient on hot functions so a new port +can boot at all; once the port is up, those bodies are the cheapest wins. + +Landed (134/0, kernel AOT regenerated): + +1. **Native overrides** (after AOT install, dual-registered into `aot_direct`) + for the portable bodies Shen/Scheme also replaces: `hash` (must be live + *before* `declarations.kl` fills `*property-vector*` — same algorithm at + populate and lookup; 0-guard so bucket 0 stays the vector length), + `integer?` (kernel is recursive subtraction via `magless`/`integer-test?`), + `symbol?` / `variable?` / `shen.analyse-symbol?` (kernel walks `str` through + `alpha?`/`alphanums?` under `trap-error`), `@p`/`tuple?`/`fst`/`snd`, + `vector`/`<-vector`/`vector->`/`limit`, `empty?`/`not`/`boolean?`, reader + leaves (`hdstr`, `shen.digit?`, `shen.byte->digit`, case predicates). +2. **klcompile mappings** that Chez already does: `(intern "foo")` → + `intern_static`; `(value unbound-sym)` → `rt::global_value`; `(set unbound-sym + V)` → `rt::set_global`; `(trap-error (value X) (lambda E H))` → `value/or` + and the same for `<-address` (Shen/Scheme `emit-trap-error-optimize`); more + primitives inlined (`empty?`, `cn`, `hdstr`/`tlstr`, `string->n`/`n->string`, + `<-address`/`address->`, `not`, `boolean?`, `fail`, `intern`). Kernel + `symbol?` is **not** inlined to `is_sym()` — that was the KL primitive, not + the kernel predicate. + +Follow-up (`af86b09`, Astra review): trap-error rewrite is gated on unused `E` ++ non-raising operands; `intern` of `"true"`/`"false"` is Bool on the primitive +*and* `rt::intern`; `hash` agrees with `shen_eq`; freeze-continuation inlining +refuses escaping `lambda`/`freeze`; same-module seal is kernel-AOT only; +native `get`/`put` distinguish uninit vs assoc-miss. Tests in +`tests/scheme_mapping_soundness.rs`. + +**Paired A/B** (this machine, 2026-09-20, interleaved min-of-5, both 134/0, +`kernel/shen-42` `c8f5cc9` vs `perf/shen-scheme-kl-overrides` `af86b09`): + +| | wall (s) | suite `run time` (s) | +|---|---|---| +| base | 19.29, 11.59, 13.87, 15.81, 13.19 (**min 11.59**) | 13.40, 8.17, 7.71, 11.88, 8.84 (**min 7.71**) | +| new | 10.42, 7.29, 14.07, 10.79, 10.27 (**min 7.29**) | 7.46, 5.22, 9.65, 6.56, 7.78 (**min 5.22**) | + +Min-of-5 wall **11.59 → 7.29 (~1.6×)**; suite **7.71 → 5.22 (~1.5×)**. NEW won +wall in 4/5 pairs (pair 3 lost: 13.87 vs 14.07). Variance is large (~2× spread +within each arm) — treat the factor as directional, not a scoreboard number. +No ablation of individual mappings. + +Still on the table: `yields-boolean?`; dedicated `@p` type; remaining `t-star` +heap freezes; cross-module seal (needs a documented immutable kernel boundary). + ## Why the remaining ~3.0× is structural Two execution-engine bets — the bytecode VM and the Cranelift closure-JIT — diff --git a/crates/klcompile/src/lib.rs b/crates/klcompile/src/lib.rs index b32bcde..e4dbe4a 100644 --- a/crates/klcompile/src/lib.rs +++ b/crates/klcompile/src/lib.rs @@ -26,7 +26,7 @@ //! `crate::` imports) must not drift; external configs change the //! header but the kernel default must stay byte-identical. -use std::collections::HashSet; +use std::collections::{HashMap, HashSet}; use shen_rust::kl::ast::KlExpr; use shen_rust::kl::parser::parse_all; @@ -60,6 +60,9 @@ pub struct CompileOptions { /// `Interp::install_overlay*`). Overlay/external configs only — the /// kernel AOT modules are manifest-free and byte-frozen (Gate 6). pub emit_manifest: Option, + /// Same-module saturated calls compile to `aot_foo` (sealed kernel unit). + /// Off for overlays: user `defun` / tracking must keep `apply_direct`. + pub seal_same_module: bool, } /// Generation-time provenance recorded into the overlay manifest. Both @@ -102,6 +105,7 @@ impl CompileOptions { force_skip: KERNEL_SLOW_DEFUNS.iter().map(|s| s.to_string()).collect(), }, emit_manifest: None, + seal_same_module: true, } } @@ -120,6 +124,7 @@ impl CompileOptions { force_skip: Vec::new(), }, emit_manifest: None, + seal_same_module: false, } } } @@ -164,6 +169,26 @@ pub fn compile_kl(src: &str, opts: &CompileOptions) -> Result<(String, CompileRe } let mut g = Codegen::new(&interner); + // Sealed kernel unit only (Shen/Scheme runtime library). Overlays keep + // apply_direct so later defun/tracking can invalidate the cell. + if opts.seal_same_module { + for (i, form) in forms.iter().enumerate() { + if let Some((name, arity)) = defun_name_arity(form, &interner) { + if last_index.get(&name) != Some(&i) { + continue; + } + if opts.skip.force_skip.contains(&name) { + continue; + } + if let Some(budget) = opts.skip.max_body_nodes { + if body_node_count(form) > budget { + continue; + } + } + g.module_fns.insert(name, arity); + } + } + } g.emit_header(opts); let mut compiled = Vec::new(); let mut skipped = Vec::new(); @@ -226,6 +251,10 @@ struct Codegen<'a> { /// detector to turn self-calls in tail position into `continue`s. current_fn: Option, current_params: Vec, + /// Last-wins defuns in this module and their arities, for same-file sealing. + module_fns: HashMap, + /// `let Go (freeze Else)` continuations: thaw of `Go` compiles to this Rust expr. + inline_thaws: HashMap, } impl<'a> Codegen<'a> { @@ -236,6 +265,8 @@ impl<'a> Codegen<'a> { counter: 0, current_fn: None, current_params: Vec::new(), + module_fns: HashMap::new(), + inline_thaws: HashMap::new(), } } @@ -540,6 +571,9 @@ impl<'a> Codegen<'a> { KlExpr::Sym(s) => self.interner.resolve(*s).to_string(), _ => return Err("let: var must be symbol".into()), }; + if let Some(src) = self.try_compile_freeze_cont(&var, &args[1], &args[2], scope, true)? { + return Ok(src); + } let value_src = self.compile_expr(&args[1], scope)?; scope.bind(&var); let body_src = self.compile_tail(&args[2], scope)?; @@ -627,7 +661,7 @@ impl<'a> Codegen<'a> { } else { // Free symbol — innocent symbol semantics: evaluate // to the symbol value itself. - format!("Value::sym(interp.intern({:?}))", name) + format!("Value::sym(interp.intern_static({:?}))", name) } } KlExpr::App(items) => self.compile_app(items, scope)?, @@ -682,18 +716,49 @@ impl<'a> Codegen<'a> { )); } + // Shen/Scheme-style mappings that exploit KL properties: + // intern of a string literal, (value free-sym), (set free-sym). + if let Some(src) = self.compile_kl_special(head, args, scope)? { + return Ok(src); + } + + // Prolog CPS: `(when T … (freeze B))` / cut / bind! thaw the last + // arg immediately. Lowering skips the heap freeze (t-star's 23). + if let Some(src) = self.compile_cps_freeze(head, args, scope)? { + return Ok(src); + } + // Inlinable primitive? Emit a direct call to the rt:: helper, // bypassing the env-routed apply_named path. release-mode LLVM // inlines the helper body so e.g. `(+ X 1)` becomes a direct // Value::Int match. - if let Some((rust_helper, fallible)) = inlinable(head, args.len()) { + if let Some((rust_helper, fallible, needs_interp)) = inlinable(head, args.len()) { let (binds, names) = self.bind_args(args, scope)?; let refs: Vec = names.iter().map(|n| format!("&{n}")).collect(); let q = if fallible { "?" } else { "" }; - return Ok(format!( - "{{ {binds}rt::{rust_helper}({}){q} }}", + let args_src = if needs_interp { + if refs.is_empty() { + "interp".to_string() + } else { + format!("interp, {}", refs.join(", ")) + } + } else { refs.join(", ") - )); + }; + return Ok(format!("{{ {binds}rt::{rust_helper}({args_src}){q} }}")); + } + + // Same-module seal: saturated call to a defun in this file. + // Native overrides stay on apply_direct so hot_* wins after install. + if let Some(&arity) = self.module_fns.get(head) { + if args.len() == arity && !SEAL_EXCLUDE.contains(&head) { + let (binds, names) = self.bind_args(args, scope)?; + return Ok(format!( + "{{ {binds}aot_{}(interp, &[{}])? }}", + sanitize_ident(head), + names.join(", ") + )); + } } // Plain named call. Uses the direct table (populated for every @@ -757,6 +822,9 @@ impl<'a> Codegen<'a> { KlExpr::Sym(s) => self.interner.resolve(*s).to_string(), _ => return Err("let: var must be symbol".into()), }; + if let Some(src) = self.try_compile_freeze_cont(&var, &args[1], &args[2], scope, false)? { + return Ok(src); + } let value_src = self.compile_expr(&args[1], scope)?; scope.bind(&var); let body_src = self.compile_expr(&args[2], scope)?; @@ -939,14 +1007,71 @@ impl<'a> Codegen<'a> { if args.len() != 1 { return Err("thaw: expected 1 arg".into()); } + if let KlExpr::Sym(s) = &args[0] { + let name = self.interner.resolve(*s); + if let Some(src) = self.inline_thaws.get(name) { + return Ok(src.clone()); + } + } let f = self.compile_expr(&args[0], scope)?; Ok(format!("rt::apply_value(interp, {f}, &[])?")) } + /// KL properties that map onto cheap Rust: intern of a string literal + /// (Shen/Scheme: `(intern "foo")` → quote), `(value unbound-sym)` as a + /// direct global load, `(set unbound-sym V)` as a direct store. + fn compile_kl_special( + &mut self, + head: &str, + args: &[KlExpr], + scope: &mut Scope, + ) -> Result, String> { + match head { + "intern" if args.len() == 1 => { + if let KlExpr::Str(s) = &args[0] { + return Ok(Some(match s.as_ref() { + "true" => "Value::bool(true)".to_string(), + "false" => "Value::bool(false)".to_string(), + other => format!("Value::sym(interp.intern_static({other:?}))"), + })); + } + } + "=" if args.len() == 2 => { + if let Some(src) = self.compile_eq_special(&args[0], &args[1], scope)? { + return Ok(Some(src)); + } + } + "value" if args.len() == 1 => { + if let KlExpr::Sym(id) = &args[0] { + let name = self.interner.resolve(*id); + if !scope.has(name) { + return Ok(Some(format!("rt::global_value(interp, {name:?})?"))); + } + } + } + "set" if args.len() == 2 => { + if let KlExpr::Sym(id) = &args[0] { + let name = self.interner.resolve(*id).to_string(); + if !scope.has(&name) { + let val = self.compile_expr(&args[1], scope)?; + return Ok(Some(format!( + "{{ let __v = {val}; rt::set_global(interp, {name:?}, __v) }}" + ))); + } + } + } + _ => {} + } + Ok(None) + } + fn compile_trap_error(&mut self, args: &[KlExpr], scope: &mut Scope) -> Result { if args.len() != 2 { return Err("trap-error: expected 2 args".into()); } + if let Some(opt) = self.try_trap_error_optimize(args, scope)? { + return Ok(opt); + } let body = self.compile_expr(&args[0], scope)?; let handler = self.compile_expr(&args[1], scope)?; // Wrap the body in an IIFE so `?` inside it propagates to the @@ -957,6 +1082,253 @@ impl<'a> Codegen<'a> { )) } + /// Shen/Scheme `emit-trap-error-optimize`: `(trap-error (value X) (lambda E H))` + /// → `value/or`, same for `<-address`. Enabled for all klcompile output + /// (kernel + overlays) because the rewrite assumes operands don't raise + /// their own errors and the handler ignores `E` — true of the kernel + /// forms this fires on, and of overlay code that copies them. + fn try_trap_error_optimize( + &mut self, + args: &[KlExpr], + scope: &mut Scope, + ) -> Result, String> { + let body_items = match &args[0] { + KlExpr::App(items) if !items.is_empty() => items, + _ => return Ok(None), + }; + let op = match &body_items[0] { + KlExpr::Sym(s) => self.interner.resolve(*s), + _ => return Ok(None), + }; + if !matches!(op, "value" | "<-address" | "<-vector") { + return Ok(None); + } + let handler_items = match &args[1] { + KlExpr::App(items) if items.len() == 3 => items, + _ => return Ok(None), + }; + let hhead = match &handler_items[0] { + KlExpr::Sym(s) => self.interner.resolve(*s), + _ => return Ok(None), + }; + if hhead != "lambda" { + return Ok(None); + } + let param = match &handler_items[1] { + KlExpr::Sym(s) => self.interner.resolve(*s), + _ => return Ok(None), + }; + // Handler must ignore the exception (Shen/Scheme's documented premise). + if expr_uses_name(self.interner, param, &handler_items[2]) { + return Ok(None); + } + // Operands must not themselves raise: compiling them with `?` outside + // the trap would leak errors the original form catches. + let operands = &body_items[1..]; + if !operands.iter().all(is_safe_operand) { + return Ok(None); + } + let thunk = self.compile_freeze(std::slice::from_ref(&handler_items[2]), scope)?; + match op { + "value" if body_items.len() == 2 => { + let x = self.compile_expr(&body_items[1], scope)?; + Ok(Some(format!( + "{{ let __x = {x}; let __h = {thunk}; rt::apply_direct(interp, \"value/or\", &[__x, __h])? }}" + ))) + } + "<-address" if body_items.len() == 3 => { + let x = self.compile_expr(&body_items[1], scope)?; + let n = self.compile_expr(&body_items[2], scope)?; + Ok(Some(format!( + "{{ let __x = {x}; let __n = {n}; let __h = {thunk}; rt::apply_direct(interp, \"<-address/or\", &[__x, __n, __h])? }}" + ))) + } + "<-vector" if body_items.len() == 3 => { + let x = self.compile_expr(&body_items[1], scope)?; + let n = self.compile_expr(&body_items[2], scope)?; + Ok(Some(format!( + "{{ let __x = {x}; let __n = {n}; let __h = {thunk}; rt::apply_direct(interp, \"<-vector/or\", &[__x, __n, __h])? }}" + ))) + } + _ => Ok(None), + } + } + + /// `(when T _ _ _ (freeze B))`, `(shen.cut V C N (freeze B))`, + /// `(shen.bind! P X V (freeze B))`, `(bind P X V _ _ (freeze B))`. + /// These callees thaw the last argument immediately (prolog.kl). + fn compile_cps_freeze( + &mut self, + head: &str, + args: &[KlExpr], + scope: &mut Scope, + ) -> Result, String> { + let Some(body) = freeze_arg_body(self.interner, args.last()) else { + return Ok(None); + }; + match (head, args.len()) { + ("when", 5) => { + let t = self.compile_expr(&args[0], scope)?; + let b = self.compile_expr(&args[1], scope)?; + let c = self.compile_expr(&args[2], scope)?; + let n = self.compile_expr(&args[3], scope)?; + let body_src = self.compile_expr(body, scope)?; + let tv = self.fresh(); + Ok(Some(format!( + "{{ let {tv} = {t}; let _ = {b}; let _ = {c}; let _ = {n}; if rt::is_truthy(interp, &{tv})? {{ {body_src} }} else {{ Value::bool(false) }} }}" + ))) + } + ("shen.cut", 4) => { + let v = self.compile_expr(&args[0], scope)?; + let c = self.compile_expr(&args[1], scope)?; + let n = self.compile_expr(&args[2], scope)?; + let body_src = self.compile_expr(body, scope)?; + let rv = self.fresh(); + let cv = self.fresh(); + Ok(Some(format!( + "{{ let _ = {v}; let {cv} = {c}; let __n = {n}; let {rv} = {body_src}; if rt::is_truthy(interp, &rt::eq(&{rv}, &Value::bool(false)))? {{ let __u = rt::apply_direct(interp, \"shen.unlocked?\", &[{cv}])?; if rt::is_truthy(interp, &__u)? {{ let _ = rt::apply_direct(interp, \"shen.lock\", &[__n, {cv}])?; }} }} {rv} }}" + ))) + } + ("shen.bind!", 4) => { + let p = self.compile_expr(&args[0], scope)?; + let x = self.compile_expr(&args[1], scope)?; + let vec = self.compile_expr(&args[2], scope)?; + let body_src = self.compile_expr(body, scope)?; + let pv = self.fresh(); + let xv = self.fresh(); + let vv = self.fresh(); + let rv = self.fresh(); + Ok(Some(format!( + "{{ let {pv} = {p}; let {xv} = {x}; let {vv} = {vec}; let _ = rt::apply_direct(interp, \"shen.bindv\", &[{pv}, {xv}, {vv}])?; let {rv} = {body_src}; if rt::is_truthy(interp, &rt::eq(&{rv}, &Value::bool(false)))? {{ rt::apply_direct(interp, \"shen.unwind\", &[{pv}, {vv}, {rv}])? }} else {{ {rv} }} }}" + ))) + } + ("bind", 6) => { + // (bind P X Vec C N Cont) → bind! P X Vec Cont + let p = self.compile_expr(&args[0], scope)?; + let x = self.compile_expr(&args[1], scope)?; + let vec = self.compile_expr(&args[2], scope)?; + let c = self.compile_expr(&args[3], scope)?; + let n = self.compile_expr(&args[4], scope)?; + let body_src = self.compile_expr(body, scope)?; + let pv = self.fresh(); + let xv = self.fresh(); + let vv = self.fresh(); + let rv = self.fresh(); + Ok(Some(format!( + "{{ let {pv} = {p}; let {xv} = {x}; let {vv} = {vec}; let _ = {c}; let _ = {n}; let _ = rt::apply_direct(interp, \"shen.bindv\", &[{pv}, {xv}, {vv}])?; let {rv} = {body_src}; if rt::is_truthy(interp, &rt::eq(&{rv}, &Value::bool(false)))? {{ rt::apply_direct(interp, \"shen.unwind\", &[{pv}, {vv}, {rv}])? }} else {{ {rv} }} }}" + ))) + } + _ => Ok(None), + } + } + + /// S37+ factoriser: `(let Go (freeze Else) Body)` where `Go` is only + /// `(thaw Go)`'d. Emit a Rust closure (no Shen heap allocation) so Chez's + /// local-procedure / jump lowering has a Rust analogue. + fn try_compile_freeze_cont( + &mut self, + var: &str, + value: &KlExpr, + body: &KlExpr, + scope: &mut Scope, + tail: bool, + ) -> Result, String> { + let freeze_body = match value { + KlExpr::App(items) if items.len() == 2 => { + let head = match &items[0] { + KlExpr::Sym(s) => self.interner.resolve(*s), + _ => return Ok(None), + }; + if head != "freeze" { + return Ok(None); + } + &items[1] + } + _ => return Ok(None), + }; + if !only_thawed(self.interner, var, body) { + return Ok(None); + } + let else_src = self.compile_expr(freeze_body, scope)?; + let go = self.fresh(); + self.inline_thaws + .insert(var.to_string(), format!("{go}(interp)?")); + scope.bind(var); + let body_src = if tail { + self.compile_tail(body, scope)? + } else { + self.compile_expr(body, scope)? + }; + scope.unbind(var); + self.inline_thaws.remove(var); + Ok(Some(format!( + "{{ let {go} = |interp: &mut Interp| -> ShenResult {{ Ok({else_src}) }}; {body_src} }}" + ))) + } + + /// Shen/Scheme `emit-equality-check`: nil / fail / symbol / string literals + /// skip general `shen_eq`. + fn compile_eq_special( + &mut self, + a: &KlExpr, + b: &KlExpr, + scope: &mut Scope, + ) -> Result, String> { + if let Some(src) = self.compile_eq_hint(a, b, scope)? { + return Ok(Some(src)); + } + self.compile_eq_hint(b, a, scope) + } + + fn compile_eq_hint( + &mut self, + lit: &KlExpr, + other: &KlExpr, + scope: &mut Scope, + ) -> Result, String> { + match lit { + KlExpr::Nil => { + let x = self.compile_expr(other, scope)?; + Ok(Some(format!("Value::bool(({x}).is_nil())"))) + } + KlExpr::Str(s) => { + let x = self.compile_expr(other, scope)?; + Ok(Some(format!( + "Value::bool(({x}).as_str() == Some({:?}))", + s.as_ref() + ))) + } + KlExpr::Sym(id) => { + let name = self.interner.resolve(*id); + if scope.has(name) { + return Ok(None); + } + if name == "shen.fail!" { + let x = self.compile_expr(other, scope)?; + return Ok(Some(format!( + "Value::bool(({x}).as_sym() == Some(interp.well_known.k_shen_fail))" + ))); + } + let x = self.compile_expr(other, scope)?; + Ok(Some(format!( + "Value::bool(({x}).as_sym() == Some(interp.intern_static({name:?})))" + ))) + } + KlExpr::App(items) if items.len() == 1 => { + if let KlExpr::Sym(s) = &items[0] { + if self.interner.resolve(*s) == "fail" && !scope.has("fail") { + let x = self.compile_expr(other, scope)?; + return Ok(Some(format!( + "Value::bool(({x}).as_sym() == Some(interp.well_known.k_shen_fail))" + ))); + } + } + Ok(None) + } + _ => Ok(None), + } + } + fn compile_quote(&mut self, expr: &KlExpr) -> Result { // Quote produces a literal Value. No lookups, no calls. Ok(match expr { @@ -1044,34 +1416,162 @@ fn defun_name(form: &KlExpr, interner: &Interner) -> Option { } } -/// Inlinable primitive table. Returns the `rt::` helper name and whether -/// it returns `ShenResult` (needs `?`) vs. `Value` (infallible). +fn defun_name_arity(form: &KlExpr, interner: &Interner) -> Option<(String, usize)> { + let items = match form { + KlExpr::App(items) if items.len() == 4 => items, + _ => return None, + }; + let head = match &items[0] { + KlExpr::Sym(s) => interner.resolve(*s), + _ => return None, + }; + if head != "defun" { + return None; + } + let name = match &items[1] { + KlExpr::Sym(s) => interner.resolve(*s).to_string(), + _ => return None, + }; + let arity = match &items[2] { + KlExpr::Nil => 0, + KlExpr::App(ps) => ps.len(), + _ => return None, + }; + Some((name, arity)) +} + +/// `Go` occurs only as `(thaw Go)` in the current frame — not inside a +/// `lambda`/`freeze` (those escape and would capture an unbound Rust local). +fn only_thawed(interner: &Interner, var: &str, expr: &KlExpr) -> bool { + fn walk(interner: &Interner, var: &str, expr: &KlExpr, escape: bool) -> bool { + match expr { + KlExpr::Sym(s) => interner.resolve(*s) != var, + KlExpr::App(items) => { + if items.len() == 2 { + if let (KlExpr::Sym(h), KlExpr::Sym(v)) = (&items[0], &items[1]) { + if interner.resolve(*h) == "thaw" && interner.resolve(*v) == var { + return !escape; + } + } + } + let head = match items.first() { + Some(KlExpr::Sym(s)) => interner.resolve(*s), + _ => "", + }; + let nest = escape || head == "lambda" || head == "freeze"; + items.iter().all(|c| walk(interner, var, c, nest)) + } + _ => true, + } + } + walk(interner, var, expr, false) +} + +fn expr_uses_name(interner: &Interner, name: &str, expr: &KlExpr) -> bool { + match expr { + KlExpr::Sym(s) => interner.resolve(*s) == name, + KlExpr::App(items) => items.iter().any(|c| expr_uses_name(interner, name, c)), + _ => false, + } +} + +fn is_safe_operand(expr: &KlExpr) -> bool { + !matches!(expr, KlExpr::App(_)) +} + +fn freeze_arg_body<'a>(interner: &Interner, last: Option<&'a KlExpr>) -> Option<&'a KlExpr> { + let KlExpr::App(items) = last? else { + return None; + }; + if items.len() != 2 { + return None; + } + match &items[0] { + KlExpr::Sym(s) if interner.resolve(*s) == "freeze" => Some(&items[1]), + _ => None, + } +} + +/// Kernel names with native overrides. Sealing to `aot_*` would skip them. +const SEAL_EXCLUDE: &[&str] = &[ + "hash", + "put", + "get", + "unput", + "element?", + "shen.pvar?", + "shen.lazyderef", + "fail", + "value/or", + "<-address/or", + "<-vector/or", + "not", + "boolean?", + "integer?", + "empty?", + "symbol?", + "variable?", + "shen.analyse-symbol?", + "@p", + "tuple?", + "fst", + "snd", + "vector", + "<-vector", + "vector->", + "limit", + "hdstr", + "shen.byte->digit", + "shen.digit?", + "shen.lowercase?", + "shen.uppercase?", + "read-file-as-bytelist", + "read-file-as-string", + "pr", +]; + +/// Inlinable primitive table. Returns `(rt helper, fallible, needs_interp)`. /// Arity must match exactly — partial application stays on the /// apply_named path so its closure semantics are preserved. -fn inlinable(name: &str, arity: usize) -> Option<(&'static str, bool)> { - let (helper, expected_arity, fallible) = match name { - "+" => ("add", 2, true), - "-" => ("sub", 2, true), - "*" => ("mul", 2, true), - "/" => ("div", 2, true), - "<" => ("lt", 2, true), - ">" => ("gt", 2, true), - "<=" => ("lte", 2, true), - ">=" => ("gte", 2, true), - "=" => ("eq", 2, false), - "cons" => ("cons", 2, false), - "hd" => ("hd", 1, true), - "tl" => ("tl", 1, true), - "cons?" => ("is_cons", 1, false), - "number?" => ("is_number", 1, false), - "string?" => ("is_string", 1, false), - "symbol?" => ("is_symbol", 1, false), - "absvector?" => ("is_absvector", 1, false), - "vector?" => ("is_absvector", 1, false), +/// +/// `symbol?` is **not** inlined: the KL primitive is `is_sym()`, but the +/// kernel `symbol?` (overridden natively after boot) rejects booleans and +/// checks `analyse-symbol?`. AOT bodies must call the override. +fn inlinable(name: &str, arity: usize) -> Option<(&'static str, bool, bool)> { + // (helper, expected_arity, fallible, needs_interp) + let (helper, expected_arity, fallible, needs_interp) = match name { + "+" => ("add", 2, true, false), + "-" => ("sub", 2, true, false), + "*" => ("mul", 2, true, false), + "/" => ("div", 2, true, false), + "<" => ("lt", 2, true, false), + ">" => ("gt", 2, true, false), + "<=" => ("lte", 2, true, false), + ">=" => ("gte", 2, true, false), + "=" => ("eq", 2, false, false), + "cons" => ("cons", 2, false, false), + "hd" => ("hd", 1, true, false), + "tl" => ("tl", 1, true, false), + "cons?" => ("is_cons", 1, false, false), + "number?" => ("is_number", 1, false, false), + "string?" => ("is_string", 1, false, false), + "absvector?" => ("is_absvector", 1, false, false), + "empty?" => ("is_empty", 1, false, false), + "cn" => ("cn", 2, true, false), + "hdstr" => ("hdstr", 1, true, false), + "tlstr" => ("tlstr", 1, true, false), + "string->n" => ("string_to_n", 1, true, false), + "n->string" => ("n_to_string", 1, true, false), + "<-address" => ("address_ref", 2, true, false), + "address->" => ("address_set", 3, true, false), + "not" => ("not", 1, true, true), + "boolean?" => ("is_boolean", 1, false, true), + "fail" => ("fail", 0, false, true), + "intern" => ("intern", 1, true, true), _ => return None, }; if arity == expected_arity { - Some((helper, fallible)) + Some((helper, fallible, needs_interp)) } else { None } @@ -1207,4 +1707,126 @@ mod tests { assert!(!out.contains("#![allow")); assert!(!out.contains("use crate::")); } + + /// `(intern "foo")` compiles to intern_static of the literal (Shen/Scheme + /// quotes the interned symbol). + #[test] + fn intern_string_literal_uses_intern_static() { + let src = "(defun f () (intern \"foo\"))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("intern_static(\"foo\")"), "{out}"); + assert!(!out.contains("rt::intern(")); + } + + /// `(value *stoutput*)` of a free symbol is a direct global load. + #[test] + fn value_of_free_symbol_uses_global_value() { + let src = "(defun f () (value *stoutput*))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!( + out.contains("rt::global_value(interp, \"*stoutput*\")"), + "{out}" + ); + } + + /// `(trap-error (value X) (lambda E H))` → value/or, matching Shen/Scheme. + #[test] + fn trap_error_value_lowers_to_value_or() { + let src = "(defun f (X) (trap-error (value X) (lambda E 0)))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("value/or"), "{out}"); + assert!(!out.contains("Value::err"), "{out}"); + } + + /// `empty?` inlines to `rt::is_empty`. + #[test] + fn empty_p_is_inlined() { + let src = "(defun f (X) (empty? X))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("rt::is_empty"), "{out}"); + } + + #[test] + fn eq_nil_uses_is_nil() { + let src = "(defun f (X) (= X ()))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("is_nil()"), "{out}"); + assert!(!out.contains("rt::eq"), "{out}"); + } + + #[test] + fn intern_true_false_are_bools() { + let src = "(defun f () (intern \"true\"))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("Value::bool(true)"), "{out}"); + } + + #[test] + fn freeze_continuation_is_local_closure() { + let src = "(defun f (X Y) (let G (freeze Y) (if X X (thaw G))))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("|interp: &mut Interp|"), "{out}"); + assert!(!out.contains("make_aot_closure(\"\""), "{out}"); + } + + #[test] + fn same_module_saturated_call_is_sealed() { + let src = "(defun g (X) X) (defun f (X) (g X))"; + let mut opts = CompileOptions::external("test.kl"); + opts.seal_same_module = true; + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("aot_g(interp,"), "{out}"); + assert!(!out.contains("apply_direct(interp, \"g\""), "{out}"); + } + + #[test] + fn overlay_calls_are_not_sealed() { + let src = "(defun g (X) X) (defun f (X) (g X))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("apply_direct(interp, \"g\""), "{out}"); + assert!(!out.contains("aot_g(interp,"), "{out}"); + } + + #[test] + fn trap_error_skips_optimize_if_handler_uses_exn() { + let src = "(defun f (X) (trap-error (value X) (lambda E (error-to-string E))))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(!out.contains("value/or"), "{out}"); + assert!(out.contains("Value::err"), "{out}"); + } + + #[test] + fn trap_error_skips_optimize_if_operand_can_raise() { + let src = "(defun f () (trap-error (<-vector (simple-error \"boom\") 1) (lambda E 42)))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(!out.contains("vector/or"), "{out}"); + assert!(out.contains("Value::err"), "{out}"); + } + + #[test] + fn when_freeze_is_inlined() { + let src = "(defun f (X) (when X A B C (freeze 1)))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(!out.contains("make_aot_closure(\"\""), "{out}"); + assert!(out.contains("is_truthy"), "{out}"); + } + + #[test] + fn freeze_inside_lambda_is_not_inlined() { + let src = "(defun f (X) (let G (freeze X) (lambda Y (thaw G))))"; + let opts = CompileOptions::external("test.kl"); + let (out, _) = compile_kl(src, &opts).expect("compile"); + assert!(out.contains("make_aot_closure(\"\""), "{out}"); + } } diff --git a/crates/shen-rust/src/aot/kernel/backend.rs b/crates/shen-rust/src/aot/kernel/backend.rs index 9399f6e..428f06e 100644 --- a/crates/shen-rust/src/aot/kernel/backend.rs +++ b/crates/shen-rust/src/aot/kernel/backend.rs @@ -38,7 +38,7 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp(interp: &mut Interp, args: &[Value]) -> She break Ok({ let __t0 = Value::nil(); let __t1 = v_V5715.clone(); - rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t0, __t1])? + aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t0, __t1])? }); } } @@ -66,919 +66,828 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( #[allow(clippy::never_loop)] loop { { - let __t343 = { - let __t339 = Value::sym(interp.intern("T")); - let __t342 = { - let __t340 = v_V5724.clone(); - let __t341 = v_V5723.clone(); - rt::apply_direct(interp, "MEMBER", &[__t340, __t341])? - }; - rt::eq(&__t339, &__t342) - }; - if match rt::is_truthy(interp, &__t343) { + let __t305 = Value::bool( + ({ + let __t303 = v_V5724.clone(); + let __t304 = v_V5723.clone(); + rt::apply_direct(interp, "MEMBER", &[__t303, __t304])? + }) + .as_sym() + == Some(interp.intern_static("T")), + ); + if match rt::is_truthy(interp, &__t305) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5724.clone()); } else { { - let __t338 = { - let __t332 = { - let __t312 = v_V5724.clone(); - rt::is_cons(&__t312) + let __t302 = { + let __t296 = { + let __t280 = v_V5724.clone(); + rt::is_cons(&__t280) }; - if !rt::is_truthy(interp, &__t332)? { + if !rt::is_truthy(interp, &__t296)? { Value::bool(false) } else { - let __t333 = { - let __t330 = { - let __t313 = Value::sym(interp.intern("type")); - let __t315 = { - let __t314 = v_V5724.clone(); - rt::hd(&__t314)? - }; - rt::eq(&__t313, &__t315) - }; - if !rt::is_truthy(interp, &__t330)? { + let __t297 = { + let __t294 = Value::bool( + ({ + let __t281 = v_V5724.clone(); + rt::hd(&__t281)? + }) + .as_sym() + == Some(interp.intern_static("type")), + ); + if !rt::is_truthy(interp, &__t294)? { Value::bool(false) } else { - let __t331 = { - let __t328 = { - let __t317 = { - let __t316 = v_V5724.clone(); - rt::tl(&__t316)? + let __t295 = { + let __t292 = { + let __t283 = { + let __t282 = v_V5724.clone(); + rt::tl(&__t282)? }; - rt::is_cons(&__t317) + rt::is_cons(&__t283) }; - if !rt::is_truthy(interp, &__t328)? { + if !rt::is_truthy(interp, &__t292)? { Value::bool(false) } else { - let __t329 = { - let __t326 = { - let __t320 = { - let __t319 = { - let __t318 = v_V5724.clone(); - rt::tl(&__t318)? + let __t293 = { + let __t290 = { + let __t286 = { + let __t285 = { + let __t284 = v_V5724.clone(); + rt::tl(&__t284)? }; - rt::tl(&__t319)? + rt::tl(&__t285)? }; - rt::is_cons(&__t320) + rt::is_cons(&__t286) }; - if !rt::is_truthy(interp, &__t326)? { + if !rt::is_truthy(interp, &__t290)? { Value::bool(false) } else { - let __t327 = { - let __t321 = Value::nil(); - let __t325 = { - let __t324 = { - let __t323 = { - let __t322 = v_V5724.clone(); - rt::tl(&__t322)? + let __t291 = Value::bool( + ({ + let __t289 = { + let __t288 = { + let __t287 = v_V5724.clone(); + rt::tl(&__t287)? }; - rt::tl(&__t323)? + rt::tl(&__t288)? }; - rt::tl(&__t324)? - }; - rt::eq(&__t321, &__t325) - }; - Value::bool(rt::is_truthy(interp, &__t327)?) + rt::tl(&__t289)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t291)?) } }; - Value::bool(rt::is_truthy(interp, &__t329)?) + Value::bool(rt::is_truthy(interp, &__t293)?) } }; - Value::bool(rt::is_truthy(interp, &__t331)?) + Value::bool(rt::is_truthy(interp, &__t295)?) } }; - Value::bool(rt::is_truthy(interp, &__t333)?) + Value::bool(rt::is_truthy(interp, &__t297)?) } }; - if match rt::is_truthy(interp, &__t338) { + if match rt::is_truthy(interp, &__t302) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t334 = v_V5723.clone(); - let __t337 = { - let __t336 = { - let __t335 = v_V5724.clone(); - rt::tl(&__t335)? + let __t298 = v_V5723.clone(); + let __t301 = { + let __t300 = { + let __t299 = v_V5724.clone(); + rt::tl(&__t299)? }; - rt::hd(&__t336)? + rt::hd(&__t300)? }; - v_V5723 = __t334; - v_V5724 = __t337; + v_V5723 = __t298; + v_V5724 = __t301; continue; } } else { { - let __t311 = { - let __t305 = { - let __t291 = v_V5724.clone(); - rt::is_cons(&__t291) + let __t279 = { + let __t273 = { + let __t263 = v_V5724.clone(); + rt::is_cons(&__t263) }; - if !rt::is_truthy(interp, &__t305)? { + if !rt::is_truthy(interp, &__t273)? { Value::bool(false) } else { - let __t306 = { - let __t303 = { - let __t292 = Value::sym(interp.intern("protect")); - let __t294 = { - let __t293 = v_V5724.clone(); - rt::hd(&__t293)? - }; - rt::eq(&__t292, &__t294) - }; - if !rt::is_truthy(interp, &__t303)? { + let __t274 = { + let __t271 = Value::bool( + ({ + let __t264 = v_V5724.clone(); + rt::hd(&__t264)? + }) + .as_sym() + == Some(interp.intern_static("protect")), + ); + if !rt::is_truthy(interp, &__t271)? { Value::bool(false) } else { - let __t304 = { - let __t301 = { - let __t296 = { - let __t295 = v_V5724.clone(); - rt::tl(&__t295)? + let __t272 = { + let __t269 = { + let __t266 = { + let __t265 = v_V5724.clone(); + rt::tl(&__t265)? }; - rt::is_cons(&__t296) + rt::is_cons(&__t266) }; - if !rt::is_truthy(interp, &__t301)? { + if !rt::is_truthy(interp, &__t269)? { Value::bool(false) } else { - let __t302 = { - let __t297 = Value::nil(); - let __t300 = { - let __t299 = { - let __t298 = v_V5724.clone(); - rt::tl(&__t298)? + let __t270 = Value::bool( + ({ + let __t268 = { + let __t267 = v_V5724.clone(); + rt::tl(&__t267)? }; - rt::tl(&__t299)? - }; - rt::eq(&__t297, &__t300) - }; - Value::bool(rt::is_truthy(interp, &__t302)?) + rt::tl(&__t268)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t270)?) } }; - Value::bool(rt::is_truthy(interp, &__t304)?) + Value::bool(rt::is_truthy(interp, &__t272)?) } }; - Value::bool(rt::is_truthy(interp, &__t306)?) + Value::bool(rt::is_truthy(interp, &__t274)?) } }; - if match rt::is_truthy(interp, &__t311) { + if match rt::is_truthy(interp, &__t279) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t307 = v_V5723.clone(); - let __t310 = { - let __t309 = { - let __t308 = v_V5724.clone(); - rt::tl(&__t308)? + let __t275 = v_V5723.clone(); + let __t278 = { + let __t277 = { + let __t276 = v_V5724.clone(); + rt::tl(&__t276)? }; - rt::hd(&__t309)? + rt::hd(&__t277)? }; - v_V5723 = __t307; - v_V5724 = __t310; + v_V5723 = __t275; + v_V5724 = __t278; continue; } } else { { - let __t290 = { - let __t285 = { - let __t259 = v_V5724.clone(); - rt::is_cons(&__t259) + let __t262 = { + let __t257 = { + let __t237 = v_V5724.clone(); + rt::is_cons(&__t237) }; - if !rt::is_truthy(interp, &__t285)? { + if !rt::is_truthy(interp, &__t257)? { Value::bool(false) } else { - let __t286 = { - let __t283 = { - let __t260 = - Value::sym(interp.intern("lambda")); - let __t262 = { - let __t261 = v_V5724.clone(); - rt::hd(&__t261)? - }; - rt::eq(&__t260, &__t262) - }; - if !rt::is_truthy(interp, &__t283)? { + let __t258 = { + let __t255 = Value::bool( + ({ + let __t238 = v_V5724.clone(); + rt::hd(&__t238)? + }) + .as_sym() + == Some(interp.intern_static("lambda")), + ); + if !rt::is_truthy(interp, &__t255)? { Value::bool(false) } else { - let __t284 = { - let __t281 = { - let __t264 = { - let __t263 = v_V5724.clone(); - rt::tl(&__t263)? + let __t256 = { + let __t253 = { + let __t240 = { + let __t239 = v_V5724.clone(); + rt::tl(&__t239)? }; - rt::is_cons(&__t264) + rt::is_cons(&__t240) }; - if !rt::is_truthy(interp, &__t281)? { + if !rt::is_truthy(interp, &__t253)? { Value::bool(false) } else { - let __t282 = { - let __t279 = { - let __t267 = { - let __t266 = { - let __t265 = + let __t254 = { + let __t251 = { + let __t243 = { + let __t242 = { + let __t241 = v_V5724.clone(); - rt::tl(&__t265)? + rt::tl(&__t241)? }; - rt::tl(&__t266)? + rt::tl(&__t242)? }; - rt::is_cons(&__t267) + rt::is_cons(&__t243) }; - if !rt::is_truthy(interp, &__t279)? + if !rt::is_truthy(interp, &__t251)? { Value::bool(false) } else { - let __t280 = { - let __t277 = { - let __t268 = - Value::nil(); - let __t272 = { - let __t271 = { - let __t270 = { - let __t269 = v_V5724.clone(); - rt::tl( - &__t269, - )? - }; - rt::tl(&__t270)? - }; - rt::tl(&__t271)? - }; - rt::eq(&__t268, &__t272) - }; + let __t252 = { + let __t249 = Value::bool(({ let __t246 = { let __t245 = { let __t244 = v_V5724.clone(); rt::tl(&__t244)? }; rt::tl(&__t245)? }; rt::tl(&__t246)? }).is_nil()); if !rt::is_truthy( - interp, &__t277, + interp, &__t249, )? { Value::bool(false) } else { - let __t278 = { - let __t275 = { - let __t274 = { - let __t273 = v_V5724.clone(); - rt::tl( - &__t273, - )? - }; - rt::hd(&__t274)? - }; - let __t276 = - Value::sym( - interp - .intern( - "T", - ), - ); - rt::eq( - &__t275, - &__t276, - ) - }; + let __t250 = Value::bool(({ let __t248 = { let __t247 = v_V5724.clone(); rt::tl(&__t247)? }; rt::hd(&__t248)? }).as_sym() == Some(interp.intern_static("T"))); Value::bool( rt::is_truthy( - interp, &__t278, + interp, &__t250, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t280, + interp, &__t252, )?) } }; Value::bool(rt::is_truthy( - interp, &__t282, + interp, &__t254, )?) } }; - Value::bool(rt::is_truthy(interp, &__t284)?) + Value::bool(rt::is_truthy(interp, &__t256)?) } }; - Value::bool(rt::is_truthy(interp, &__t286)?) + Value::bool(rt::is_truthy(interp, &__t258)?) } }; - if match rt::is_truthy(interp, &__t290) { + if match rt::is_truthy(interp, &__t262) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t287 = v_V5723.clone(); - let __t289 = { - let __t288 = v_V5724.clone(); - rt::apply_direct(interp, "cl.rectify-t", &[__t288])? + let __t259 = v_V5723.clone(); + let __t261 = { + let __t260 = v_V5724.clone(); + aot_cl_x2e_rectify_x2d_t(interp, &[__t260])? }; - v_V5723 = __t287; - v_V5724 = __t289; + v_V5723 = __t259; + v_V5724 = __t261; continue; } } else { { - let __t258 = { - let __t233 = { - let __t213 = v_V5724.clone(); - rt::is_cons(&__t213) + let __t236 = { + let __t211 = { + let __t195 = v_V5724.clone(); + rt::is_cons(&__t195) }; - if !rt::is_truthy(interp, &__t233)? { + if !rt::is_truthy(interp, &__t211)? { Value::bool(false) } else { - let __t234 = { - let __t231 = { - let __t214 = - Value::sym(interp.intern("lambda")); - let __t216 = { - let __t215 = v_V5724.clone(); - rt::hd(&__t215)? - }; - rt::eq(&__t214, &__t216) - }; - if !rt::is_truthy(interp, &__t231)? { + let __t212 = { + let __t209 = Value::bool( + ({ + let __t196 = v_V5724.clone(); + rt::hd(&__t196)? + }) + .as_sym() + == Some( + interp.intern_static("lambda"), + ), + ); + if !rt::is_truthy(interp, &__t209)? { Value::bool(false) } else { - let __t232 = { - let __t229 = { - let __t218 = { - let __t217 = + let __t210 = { + let __t207 = { + let __t198 = { + let __t197 = v_V5724.clone(); - rt::tl(&__t217)? + rt::tl(&__t197)? }; - rt::is_cons(&__t218) + rt::is_cons(&__t198) }; - if !rt::is_truthy(interp, &__t229)? + if !rt::is_truthy(interp, &__t207)? { Value::bool(false) } else { - let __t230 = { - let __t227 = { - let __t221 = { - let __t220 = { - let __t219 = + let __t208 = { + let __t205 = { + let __t201 = { + let __t200 = { + let __t199 = v_V5724 .clone( ); - rt::tl(&__t219)? + rt::tl(&__t199)? }; - rt::tl(&__t220)? + rt::tl(&__t200)? }; - rt::is_cons(&__t221) + rt::is_cons(&__t201) }; if !rt::is_truthy( - interp, &__t227, + interp, &__t205, )? { Value::bool(false) } else { - let __t228 = { - let __t222 = - Value::nil(); - let __t226 = { - let __t225 = { - let __t224 = { - let __t223 = v_V5724.clone(); - rt::tl(&__t223)? - }; - rt::tl( - &__t224, - )? - }; - rt::tl(&__t225)? - }; - rt::eq( - &__t222, - &__t226, - ) - }; + let __t206 = Value::bool(({ let __t204 = { let __t203 = { let __t202 = v_V5724.clone(); rt::tl(&__t202)? }; rt::tl(&__t203)? }; rt::tl(&__t204)? }).is_nil()); Value::bool( rt::is_truthy( - interp, &__t228, + interp, &__t206, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t230, + interp, &__t208, )?) } }; Value::bool(rt::is_truthy( - interp, &__t232, + interp, &__t210, )?) } }; - Value::bool(rt::is_truthy(interp, &__t234)?) + Value::bool(rt::is_truthy(interp, &__t212)?) } }; - if match rt::is_truthy(interp, &__t258) { + if match rt::is_truthy(interp, &__t236) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t235 = - Value::sym(interp.intern("FUNCTION")); - let __t257 = { - let __t255 = { - let __t236 = - Value::sym(interp.intern("LAMBDA")); - let __t254 = { - let __t241 = { - let __t239 = { - let __t238 = { - let __t237 = + let __t213 = Value::sym( + interp.intern_static("FUNCTION"), + ); + let __t235 = { + let __t233 = { + let __t214 = Value::sym( + interp.intern_static("LAMBDA"), + ); + let __t232 = { + let __t219 = { + let __t217 = { + let __t216 = { + let __t215 = v_V5724.clone(); - rt::tl(&__t237)? + rt::tl(&__t215)? }; - rt::hd(&__t238)? + rt::hd(&__t216)? }; - let __t240 = Value::nil(); - rt::cons(&__t239, &__t240) + let __t218 = Value::nil(); + rt::cons(&__t217, &__t218) }; - let __t253 = { - let __t251 = { - let __t246 = { - let __t244 = { - let __t243 = { - let __t242 = + let __t231 = { + let __t229 = { + let __t224 = { + let __t222 = { + let __t221 = { + let __t220 = v_V5724 .clone( ); - rt::tl(&__t242)? + rt::tl(&__t220)? }; - rt::hd(&__t243)? + rt::hd(&__t221)? }; - let __t245 = + let __t223 = v_V5723.clone(); rt::cons( - &__t244, &__t245, + &__t222, &__t223, ) }; - let __t250 = { - let __t249 = { - let __t248 = { - let __t247 = + let __t228 = { + let __t227 = { + let __t226 = { + let __t225 = v_V5724 .clone( ); - rt::tl(&__t247)? + rt::tl(&__t225)? }; - rt::tl(&__t248)? + rt::tl(&__t226)? }; - rt::hd(&__t249)? + rt::hd(&__t227)? }; - rt::apply_direct( - interp, - "cl.kl-to-lisp-h", - &[__t246, __t250], - )? + aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t224, __t228])? }; - let __t252 = Value::nil(); - rt::cons(&__t251, &__t252) + let __t230 = Value::nil(); + rt::cons(&__t229, &__t230) }; - rt::cons(&__t241, &__t253) + rt::cons(&__t219, &__t231) }; - rt::cons(&__t236, &__t254) + rt::cons(&__t214, &__t232) }; - let __t256 = Value::nil(); - rt::cons(&__t255, &__t256) + let __t234 = Value::nil(); + rt::cons(&__t233, &__t234) }; - rt::cons(&__t235, &__t257) + rt::cons(&__t213, &__t235) }); } else { { - let __t212 = { - let __t207 = { - let __t174 = v_V5724.clone(); - rt::is_cons(&__t174) + let __t194 = { + let __t189 = { + let __t162 = v_V5724.clone(); + rt::is_cons(&__t162) }; - if !rt::is_truthy(interp, &__t207)? { + if !rt::is_truthy(interp, &__t189)? { Value::bool(false) } else { - let __t208 = { - let __t205 = { - let __t175 = Value::sym( - interp.intern("let"), - ); - let __t177 = { - let __t176 = + let __t190 = { + let __t187 = Value::bool( + ({ + let __t163 = v_V5724.clone(); - rt::hd(&__t176)? - }; - rt::eq(&__t175, &__t177) - }; - if !rt::is_truthy(interp, &__t205)? + rt::hd(&__t163)? + }) + .as_sym() + == Some( + interp.intern_static( + "let", + ), + ), + ); + if !rt::is_truthy(interp, &__t187)? { Value::bool(false) } else { - let __t206 = { - let __t203 = { - let __t179 = { - let __t178 = + let __t188 = { + let __t185 = { + let __t165 = { + let __t164 = v_V5724.clone(); - rt::tl(&__t178)? + rt::tl(&__t164)? }; - rt::is_cons(&__t179) + rt::is_cons(&__t165) }; if !rt::is_truthy( - interp, &__t203, + interp, &__t185, )? { Value::bool(false) } else { - let __t204 = { - let __t201 = { - let __t182 = { - let __t181 = { - let __t180 = v_V5724.clone(); - rt::tl(&__t180)? + let __t186 = { + let __t183 = { + let __t168 = { + let __t167 = { + let __t166 = v_V5724.clone(); + rt::tl(&__t166)? }; rt::tl( - &__t181, + &__t167, )? }; rt::is_cons( - &__t182, + &__t168, ) }; if !rt::is_truthy( - interp, &__t201, + interp, &__t183, )? { Value::bool( false, ) } else { - let __t202 = { - let __t199 = { - let __t186 = { - let __t185 = { let __t184 = { let __t183 = v_V5724.clone(); rt::tl(&__t183)? }; rt::tl(&__t184)? }; - rt::tl(&__t185)? + let __t184 = { + let __t181 = { + let __t172 = { + let __t171 = { let __t170 = { let __t169 = v_V5724.clone(); rt::tl(&__t169)? }; rt::tl(&__t170)? }; + rt::tl(&__t171)? }; - rt::is_cons(&__t186) + rt::is_cons(&__t172) }; - if !rt::is_truthy(interp, &__t199)? { Value::bool(false) } else { let __t200 = { let __t197 = { let __t187 = Value::nil(); let __t192 = { let __t191 = { let __t190 = { let __t189 = { let __t188 = v_V5724.clone(); rt::tl(&__t188)? }; rt::tl(&__t189)? }; rt::tl(&__t190)? }; rt::tl(&__t191)? }; rt::eq(&__t187, &__t192) }; if !rt::is_truthy(interp, &__t197)? { Value::bool(false) } else { let __t198 = { let __t195 = { let __t194 = { let __t193 = v_V5724.clone(); rt::tl(&__t193)? }; rt::hd(&__t194)? }; let __t196 = Value::sym(interp.intern("T")); rt::eq(&__t195, &__t196) }; Value::bool(rt::is_truthy(interp, &__t198)?) } }; Value::bool(rt::is_truthy(interp, &__t200)?) } + if !rt::is_truthy(interp, &__t181)? { Value::bool(false) } else { let __t182 = { let __t179 = Value::bool(({ let __t176 = { let __t175 = { let __t174 = { let __t173 = v_V5724.clone(); rt::tl(&__t173)? }; rt::tl(&__t174)? }; rt::tl(&__t175)? }; rt::tl(&__t176)? }).is_nil()); if !rt::is_truthy(interp, &__t179)? { Value::bool(false) } else { let __t180 = Value::bool(({ let __t178 = { let __t177 = v_V5724.clone(); rt::tl(&__t177)? }; rt::hd(&__t178)? }).as_sym() == Some(interp.intern_static("T"))); Value::bool(rt::is_truthy(interp, &__t180)?) } }; Value::bool(rt::is_truthy(interp, &__t182)?) } }; - Value::bool(rt::is_truthy(interp, &__t202)?) + Value::bool(rt::is_truthy(interp, &__t184)?) } }; Value::bool( rt::is_truthy( - interp, &__t204, + interp, &__t186, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t206, + interp, &__t188, )?) } }; Value::bool(rt::is_truthy( - interp, &__t208, + interp, &__t190, )?) } }; - if match rt::is_truthy(interp, &__t212) { + if match rt::is_truthy(interp, &__t194) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t209 = v_V5723.clone(); - let __t211 = { - let __t210 = v_V5724.clone(); - rt::apply_direct( + let __t191 = v_V5723.clone(); + let __t193 = { + let __t192 = v_V5724.clone(); + aot_cl_x2e_rectify_x2d_t( interp, - "cl.rectify-t", - &[__t210], + &[__t192], )? }; - v_V5723 = __t209; - v_V5724 = __t211; + v_V5723 = __t191; + v_V5724 = __t193; continue; } } else { { - let __t173 = { - let __t142 = { - let __t115 = v_V5724.clone(); - rt::is_cons(&__t115) + let __t161 = { + let __t130 = { + let __t107 = v_V5724.clone(); + rt::is_cons(&__t107) }; - if !rt::is_truthy(interp, &__t142)? + if !rt::is_truthy(interp, &__t130)? { Value::bool(false) } else { - let __t143 = { - let __t140 = { - let __t116 = Value::sym( - interp - .intern("let"), - ); - let __t118 = { - let __t117 = - v_V5724.clone(); - rt::hd(&__t117)? - }; - rt::eq(&__t116, &__t118) - }; + let __t131 = { + let __t128 = Value::bool(({ let __t108 = v_V5724.clone(); rt::hd(&__t108)? }).as_sym() == Some(interp.intern_static("let"))); if !rt::is_truthy( - interp, &__t140, + interp, &__t128, )? { Value::bool(false) } else { - let __t141 = { - let __t138 = { - let __t120 = { - let __t119 = v_V5724.clone(); + let __t129 = { + let __t126 = { + let __t110 = { + let __t109 = v_V5724.clone(); rt::tl( - &__t119, + &__t109, )? }; rt::is_cons( - &__t120, + &__t110, ) }; if !rt::is_truthy( - interp, &__t138, + interp, &__t126, )? { Value::bool( false, ) } else { - let __t139 = { - let __t136 = { - let __t123 = { - let __t122 = { let __t121 = v_V5724.clone(); rt::tl(&__t121)? }; - rt::tl(&__t122)? + let __t127 = { + let __t124 = { + let __t113 = { + let __t112 = { let __t111 = v_V5724.clone(); rt::tl(&__t111)? }; + rt::tl(&__t112)? }; - rt::is_cons(&__t123) + rt::is_cons(&__t113) }; - if !rt::is_truthy(interp, &__t136)? { Value::bool(false) } else { let __t137 = { let __t134 = { let __t127 = { let __t126 = { let __t125 = { let __t124 = v_V5724.clone(); rt::tl(&__t124)? }; rt::tl(&__t125)? }; rt::tl(&__t126)? }; rt::is_cons(&__t127) }; if !rt::is_truthy(interp, &__t134)? { Value::bool(false) } else { let __t135 = { let __t128 = Value::nil(); let __t133 = { let __t132 = { let __t131 = { let __t130 = { let __t129 = v_V5724.clone(); rt::tl(&__t129)? }; rt::tl(&__t130)? }; rt::tl(&__t131)? }; rt::tl(&__t132)? }; rt::eq(&__t128, &__t133) }; Value::bool(rt::is_truthy(interp, &__t135)?) } }; Value::bool(rt::is_truthy(interp, &__t137)?) } + if !rt::is_truthy(interp, &__t124)? { Value::bool(false) } else { let __t125 = { let __t122 = { let __t117 = { let __t116 = { let __t115 = { let __t114 = v_V5724.clone(); rt::tl(&__t114)? }; rt::tl(&__t115)? }; rt::tl(&__t116)? }; rt::is_cons(&__t117) }; if !rt::is_truthy(interp, &__t122)? { Value::bool(false) } else { let __t123 = Value::bool(({ let __t121 = { let __t120 = { let __t119 = { let __t118 = v_V5724.clone(); rt::tl(&__t118)? }; rt::tl(&__t119)? }; rt::tl(&__t120)? }; rt::tl(&__t121)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t123)?) } }; Value::bool(rt::is_truthy(interp, &__t125)?) } }; - Value::bool(rt::is_truthy(interp, &__t139)?) + Value::bool(rt::is_truthy(interp, &__t127)?) } }; Value::bool( rt::is_truthy( - interp, &__t141, + interp, &__t129, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t143, + interp, &__t131, )?) } }; - if match rt::is_truthy(interp, &__t173) + if match rt::is_truthy(interp, &__t161) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t144 = Value::sym( - interp.intern("LET"), + let __t132 = Value::sym( + interp.intern_static("LET"), ); - let __t172 = { - let __t158 = { - let __t156 = { - let __t147 = { - let __t146 = { - let __t145 = v_V5724.clone(); + let __t160 = { + let __t146 = { + let __t144 = { + let __t135 = { + let __t134 = { + let __t133 = v_V5724.clone(); rt::tl( - &__t145, + &__t133, )? }; - rt::hd(&__t146)? + rt::hd(&__t134)? }; - let __t155 = { - let __t153 = { - let __t148 = v_V5723.clone(); - let __t152 = { - let __t151 = { - let __t150 = { let __t149 = v_V5724.clone(); rt::tl(&__t149)? }; - rt::tl(&__t150)? + let __t143 = { + let __t141 = { + let __t136 = v_V5723.clone(); + let __t140 = { + let __t139 = { + let __t138 = { let __t137 = v_V5724.clone(); rt::tl(&__t137)? }; + rt::tl(&__t138)? }; - rt::hd(&__t151)? + rt::hd(&__t139)? }; - rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t148, __t152])? + aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t136, __t140])? }; - let __t154 = + let __t142 = Value::nil( ); rt::cons( - &__t153, - &__t154, + &__t141, + &__t142, ) }; rt::cons( - &__t147, - &__t155, + &__t135, + &__t143, ) }; - let __t157 = + let __t145 = Value::nil(); rt::cons( - &__t156, &__t157, + &__t144, &__t145, ) }; - let __t171 = { - let __t169 = { - let __t163 = { - let __t161 = { - let __t160 = { - let __t159 = v_V5724.clone(); - rt::tl(&__t159)? + let __t159 = { + let __t157 = { + let __t151 = { + let __t149 = { + let __t148 = { + let __t147 = v_V5724.clone(); + rt::tl(&__t147)? }; rt::hd( - &__t160, + &__t148, )? }; - let __t162 = + let __t150 = v_V5723 .clone( ); rt::cons( - &__t161, - &__t162, + &__t149, + &__t150, ) }; - let __t168 = { - let __t167 = { - let __t166 = { - let __t165 = { - let __t164 = v_V5724.clone(); - rt::tl(&__t164)? + let __t156 = { + let __t155 = { + let __t154 = { + let __t153 = { + let __t152 = v_V5724.clone(); + rt::tl(&__t152)? }; - rt::tl(&__t165)? + rt::tl(&__t153)? }; rt::tl( - &__t166, + &__t154, )? }; - rt::hd(&__t167)? + rt::hd(&__t155)? }; - rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t163, __t168])? + aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t151, __t156])? }; - let __t170 = + let __t158 = Value::nil(); rt::cons( - &__t169, &__t170, + &__t157, &__t158, ) }; - rt::cons(&__t158, &__t171) + rt::cons(&__t146, &__t159) }; - rt::cons(&__t144, &__t172) + rt::cons(&__t132, &__t160) }); } else { { - let __t114 = { - let __t90 = { - let __t63 = + let __t106 = { + let __t82 = { + let __t59 = v_V5724.clone(); - rt::is_cons(&__t63) + rt::is_cons(&__t59) }; if !rt::is_truthy( - interp, &__t90, + interp, &__t82, )? { Value::bool(false) } else { - let __t91 = { - let __t88 = { - let __t64 = Value::sym(interp.intern("defun")); - let __t66 = { - let __t65 = v_V5724.clone(); - rt::hd( - &__t65, - )? - }; - rt::eq( - &__t64, - &__t66, - ) - }; + let __t83 = { + let __t80 = Value::bool(({ let __t60 = v_V5724.clone(); rt::hd(&__t60)? }).as_sym() == Some(interp.intern_static("defun"))); if !rt::is_truthy( - interp, &__t88, + interp, &__t80, )? { Value::bool( false, ) } else { - let __t89 = { - let __t86 = { - let __t68 = { - let __t67 = v_V5724.clone(); - rt::tl(&__t67)? + let __t81 = { + let __t78 = { + let __t62 = { + let __t61 = v_V5724.clone(); + rt::tl(&__t61)? }; - rt::is_cons(&__t68) + rt::is_cons(&__t62) }; - if !rt::is_truthy(interp, &__t86)? { Value::bool(false) } else { let __t87 = { let __t84 = { let __t71 = { let __t70 = { let __t69 = v_V5724.clone(); rt::tl(&__t69)? }; rt::tl(&__t70)? }; rt::is_cons(&__t71) }; if !rt::is_truthy(interp, &__t84)? { Value::bool(false) } else { let __t85 = { let __t82 = { let __t75 = { let __t74 = { let __t73 = { let __t72 = v_V5724.clone(); rt::tl(&__t72)? }; rt::tl(&__t73)? }; rt::tl(&__t74)? }; rt::is_cons(&__t75) }; if !rt::is_truthy(interp, &__t82)? { Value::bool(false) } else { let __t83 = { let __t76 = Value::nil(); let __t81 = { let __t80 = { let __t79 = { let __t78 = { let __t77 = v_V5724.clone(); rt::tl(&__t77)? }; rt::tl(&__t78)? }; rt::tl(&__t79)? }; rt::tl(&__t80)? }; rt::eq(&__t76, &__t81) }; Value::bool(rt::is_truthy(interp, &__t83)?) } }; Value::bool(rt::is_truthy(interp, &__t85)?) } }; Value::bool(rt::is_truthy(interp, &__t87)?) } + if !rt::is_truthy(interp, &__t78)? { Value::bool(false) } else { let __t79 = { let __t76 = { let __t65 = { let __t64 = { let __t63 = v_V5724.clone(); rt::tl(&__t63)? }; rt::tl(&__t64)? }; rt::is_cons(&__t65) }; if !rt::is_truthy(interp, &__t76)? { Value::bool(false) } else { let __t77 = { let __t74 = { let __t69 = { let __t68 = { let __t67 = { let __t66 = v_V5724.clone(); rt::tl(&__t66)? }; rt::tl(&__t67)? }; rt::tl(&__t68)? }; rt::is_cons(&__t69) }; if !rt::is_truthy(interp, &__t74)? { Value::bool(false) } else { let __t75 = Value::bool(({ let __t73 = { let __t72 = { let __t71 = { let __t70 = v_V5724.clone(); rt::tl(&__t70)? }; rt::tl(&__t71)? }; rt::tl(&__t72)? }; rt::tl(&__t73)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t75)?) } }; Value::bool(rt::is_truthy(interp, &__t77)?) } }; Value::bool(rt::is_truthy(interp, &__t79)?) } }; - Value::bool(rt::is_truthy(interp, &__t89)?) + Value::bool(rt::is_truthy(interp, &__t81)?) } }; Value::bool( rt::is_truthy( - interp, &__t91, + interp, &__t83, )?, ) } }; if match rt::is_truthy( - interp, &__t114, + interp, &__t106, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t92 = Value::sym( - interp.intern( - "DEFUN", - ), + let __t84 = Value::sym( + interp + .intern_static( + "DEFUN", + ), ); - let __t113 = { - let __t95 = { - let __t94 = { - let __t93 = v_V5724.clone(); + let __t105 = { + let __t87 = { + let __t86 = { + let __t85 = v_V5724.clone(); rt::tl( - &__t93, + &__t85, )? }; - rt::hd(&__t94)? + rt::hd(&__t86)? }; - let __t112 = { - let __t99 = { - let __t98 = { - let __t97 = { - let __t96 = v_V5724.clone(); - rt::tl(&__t96)? + let __t104 = { + let __t91 = { + let __t90 = { + let __t89 = { + let __t88 = v_V5724.clone(); + rt::tl(&__t88)? }; - rt::tl(&__t97)? + rt::tl(&__t89)? }; rt::hd( - &__t98, + &__t90, )? }; - let __t111 = { - let __t109 = { - let __t103 = { - let __t102 = { let __t101 = { let __t100 = v_V5724.clone(); rt::tl(&__t100)? }; rt::tl(&__t101)? }; - rt::hd(&__t102)? + let __t103 = { + let __t101 = { + let __t95 = { + let __t94 = { let __t93 = { let __t92 = v_V5724.clone(); rt::tl(&__t92)? }; rt::tl(&__t93)? }; + rt::hd(&__t94)? }; - let __t108 = { - let __t107 = { let __t106 = { let __t105 = { let __t104 = v_V5724.clone(); rt::tl(&__t104)? }; rt::tl(&__t105)? }; rt::tl(&__t106)? }; - rt::hd(&__t107)? + let __t100 = { + let __t99 = { let __t98 = { let __t97 = { let __t96 = v_V5724.clone(); rt::tl(&__t96)? }; rt::tl(&__t97)? }; rt::tl(&__t98)? }; + rt::hd(&__t99)? }; - rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t103, __t108])? + aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t95, __t100])? }; - let __t110 = Value::nil(); + let __t102 = Value::nil(); rt::cons( - &__t109, - &__t110, + &__t101, + &__t102, ) }; rt::cons( - &__t99, - &__t111, + &__t91, + &__t103, ) }; rt::cons( - &__t95, &__t112, + &__t87, &__t104, ) }; rt::cons( - &__t92, &__t113, + &__t84, &__t105, ) }); } else { { - let __t62 = { - let __t53 = { - let __t49 = + let __t58 = { + let __t49 = { + let __t47 = v_V5724 .clone( ); rt::is_cons( - &__t49, + &__t47, ) }; if !rt::is_truthy( - interp, &__t53, + interp, &__t49, )? { Value::bool( false, ) } else { - let __t54 = { - let __t50 = Value::sym(interp.intern("cond")); - let __t52 = { - let __t51 = v_V5724.clone(); - rt::hd(&__t51)? - }; - rt::eq( - &__t50, - &__t52, - ) - }; - Value::bool(rt::is_truthy(interp, &__t54)?) + let __t50 = Value::bool(({ let __t48 = v_V5724.clone(); rt::hd(&__t48)? }).as_sym() == Some(interp.intern_static("cond"))); + Value::bool(rt::is_truthy(interp, &__t50)?) } }; if match rt::is_truthy( - interp, &__t62, + interp, &__t58, ) { Ok(b) => b, Err(e) => { @@ -986,33 +895,33 @@ pub fn aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h( } } { break Ok({ - let __t55 = Value::sym(interp.intern("COND")); - let __t61 = { - let __t58 = { + let __t51 = Value::sym(interp.intern_static("COND")); + let __t57 = { + let __t54 = { let v_V5723 = v_V5723.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z5725 = args[0].clone(); Ok({ let __t56 = v_V5723.clone(); let __t57 = v_Z5725.clone(); rt::apply_direct(interp, "cl.cond-code", &[__t56, __t57])? }) }, vec![v_V5723], interp) + rt::make_aot_closure("", 1, move |interp, args| { let v_Z5725 = args[0].clone(); Ok({ let __t52 = v_V5723.clone(); let __t53 = v_Z5725.clone(); aot_cl_x2e_cond_x2d_code(interp, &[__t52, __t53])? }) }, vec![v_V5723], interp) }; - let __t60 = { - let __t59 = v_V5724.clone(); - rt::tl(&__t59)? + let __t56 = { + let __t55 = v_V5724.clone(); + rt::tl(&__t55)? }; - rt::apply_direct(interp, "CL.MAPCAR", &[__t58, __t60])? + rt::apply_direct(interp, "CL.MAPCAR", &[__t54, __t56])? }; rt::cons( - &__t55, - &__t61, + &__t51, + &__t57, ) }); } else { { - let __t48 = { - let __t41 = { + let __t46 = { + let __t39 = { let __t31 = v_V5724.clone(); rt::is_cons(&__t31) }; - if !rt::is_truthy(interp, &__t41)? { Value::bool(false) } else { let __t42 = { let __t39 = { let __t32 = Value::sym(interp.intern("T")); let __t36 = { let __t34 = { let __t33 = v_V5724.clone(); rt::hd(&__t33)? }; let __t35 = v_V5723.clone(); rt::apply_direct(interp, "MEMBER", &[__t34, __t35])? }; rt::eq(&__t32, &__t36) }; if rt::is_truthy(interp, &__t39)? { Value::bool(true) } else { let __t40 = { let __t38 = { let __t37 = v_V5724.clone(); rt::hd(&__t37)? }; rt::is_cons(&__t38) }; Value::bool(rt::is_truthy(interp, &__t40)?) } }; Value::bool(rt::is_truthy(interp, &__t42)?) } + if !rt::is_truthy(interp, &__t39)? { Value::bool(false) } else { let __t40 = { let __t37 = Value::bool(({ let __t33 = { let __t32 = v_V5724.clone(); rt::hd(&__t32)? }; let __t34 = v_V5723.clone(); rt::apply_direct(interp, "MEMBER", &[__t33, __t34])? }).as_sym() == Some(interp.intern_static("T"))); if rt::is_truthy(interp, &__t37)? { Value::bool(true) } else { let __t38 = { let __t36 = { let __t35 = v_V5724.clone(); rt::hd(&__t35)? }; rt::is_cons(&__t36) }; Value::bool(rt::is_truthy(interp, &__t38)?) } }; Value::bool(rt::is_truthy(interp, &__t40)?) } }; - if match rt::is_truthy(interp, &__t48) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5726 = { let __t45 = { let v_V5723 = v_V5723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5727 = args[0].clone(); Ok({ let __t43 = v_V5723.clone(); let __t44 = v_Z5727.clone(); rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t43, __t44])? }) }, vec![v_V5723], interp) }; let __t46 = v_V5724.clone(); rt::apply_direct(interp, "CL.MAPCAR", &[__t45, __t46])? }; break Ok({ let __t47 = v_W5726.clone(); rt::apply_direct(interp, "cl.currylisp", &[__t47])? }); } } else { { let __t30 = { let __t18 = { let __t15 = v_V5724.clone(); rt::is_cons(&__t15) }; if !rt::is_truthy(interp, &__t18)? { Value::bool(false) } else { let __t19 = { let __t17 = { let __t16 = v_V5724.clone(); rt::hd(&__t16)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t17])? }; Value::bool(rt::is_truthy(interp, &__t19)?) } }; if match rt::is_truthy(interp, &__t30) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5728 = { let __t22 = { let v_V5723 = v_V5723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5729 = args[0].clone(); Ok({ let __t20 = v_V5723.clone(); let __t21 = v_Z5729.clone(); rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t20, __t21])? }) }, vec![v_V5723], interp) }; let __t24 = { let __t23 = v_V5724.clone(); rt::tl(&__t23)? }; rt::apply_direct(interp, "CL.MAPCAR", &[__t22, __t24])? }; { let v_W5730 = { let __t26 = { let __t25 = v_V5724.clone(); rt::hd(&__t25)? }; rt::apply_direct(interp, "cl.maplispsym", &[__t26])? }; break Ok({ let __t29 = { let __t27 = v_W5730.clone(); let __t28 = v_W5728.clone(); rt::cons(&__t27, &__t28) }; rt::apply_direct(interp, "cl.optimise-application", &[__t29])? }); } } } else { { let __t14 = { let __t12 = { let __t7 = v_V5724.clone(); rt::is_number(&__t7) }; if rt::is_truthy(interp, &__t12)? { Value::bool(true) } else { let __t13 = { let __t10 = { let __t8 = v_V5724.clone(); rt::is_string(&__t8) }; if rt::is_truthy(interp, &__t10)? { Value::bool(true) } else { let __t11 = { let __t9 = v_V5724.clone(); rt::apply_direct(interp, "empty?", &[__t9])? }; Value::bool(rt::is_truthy(interp, &__t11)?) } }; Value::bool(rt::is_truthy(interp, &__t13)?) } }; if match rt::is_truthy(interp, &__t14) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5724.clone()); } else { { let __t6 = Value::bool(true); if match rt::is_truthy(interp, &__t6) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2 = Value::sym(interp.intern("QUOTE")); let __t5 = { let __t3 = v_V5724.clone(); let __t4 = Value::nil(); rt::cons(&__t3, &__t4) }; rt::cons(&__t2, &__t5) }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } + if match rt::is_truthy(interp, &__t46) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5726 = { let __t43 = { let v_V5723 = v_V5723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5727 = args[0].clone(); Ok({ let __t41 = v_V5723.clone(); let __t42 = v_Z5727.clone(); aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t41, __t42])? }) }, vec![v_V5723], interp) }; let __t44 = v_V5724.clone(); rt::apply_direct(interp, "CL.MAPCAR", &[__t43, __t44])? }; break Ok({ let __t45 = v_W5726.clone(); aot_cl_x2e_currylisp(interp, &[__t45])? }); } } else { { let __t30 = { let __t18 = { let __t15 = v_V5724.clone(); rt::is_cons(&__t15) }; if !rt::is_truthy(interp, &__t18)? { Value::bool(false) } else { let __t19 = { let __t17 = { let __t16 = v_V5724.clone(); rt::hd(&__t16)? }; aot_cl_x2e_fastsymbol_x3f_(interp, &[__t17])? }; Value::bool(rt::is_truthy(interp, &__t19)?) } }; if match rt::is_truthy(interp, &__t30) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5728 = { let __t22 = { let v_V5723 = v_V5723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5729 = args[0].clone(); Ok({ let __t20 = v_V5723.clone(); let __t21 = v_Z5729.clone(); aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t20, __t21])? }) }, vec![v_V5723], interp) }; let __t24 = { let __t23 = v_V5724.clone(); rt::tl(&__t23)? }; rt::apply_direct(interp, "CL.MAPCAR", &[__t22, __t24])? }; { let v_W5730 = { let __t26 = { let __t25 = v_V5724.clone(); rt::hd(&__t25)? }; aot_cl_x2e_maplispsym(interp, &[__t26])? }; break Ok({ let __t29 = { let __t27 = v_W5730.clone(); let __t28 = v_W5728.clone(); rt::cons(&__t27, &__t28) }; aot_cl_x2e_optimise_x2d_application(interp, &[__t29])? }); } } } else { { let __t14 = { let __t12 = { let __t7 = v_V5724.clone(); rt::is_number(&__t7) }; if rt::is_truthy(interp, &__t12)? { Value::bool(true) } else { let __t13 = { let __t10 = { let __t8 = v_V5724.clone(); rt::is_string(&__t8) }; if rt::is_truthy(interp, &__t10)? { Value::bool(true) } else { let __t11 = { let __t9 = v_V5724.clone(); rt::is_empty(&__t9) }; Value::bool(rt::is_truthy(interp, &__t11)?) } }; Value::bool(rt::is_truthy(interp, &__t13)?) } }; if match rt::is_truthy(interp, &__t14) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5724.clone()); } else { { let __t6 = Value::bool(true); if match rt::is_truthy(interp, &__t6) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2 = Value::sym(interp.intern_static("QUOTE")); let __t5 = { let __t3 = v_V5724.clone(); let __t4 = Value::nil(); rt::cons(&__t3, &__t4) }; rt::cons(&__t2, &__t5) }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } @@ -1053,13 +962,13 @@ pub fn aot_cl_x2e_rectify_x2d_t(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { break Ok({ - let __t345 = { - let __t344 = Value::str("x"); - rt::apply_direct(interp, "GENSYM", &[__t344])? + let __t307 = { + let __t306 = Value::str("x"); + rt::apply_direct(interp, "GENSYM", &[__t306])? }; - let __t346 = Value::sym(interp.intern("T")); - let __t347 = v_V5731.clone(); - rt::apply_direct(interp, "SUBST", &[__t345, __t346, __t347])? + let __t308 = Value::sym(interp.intern_static("T")); + let __t309 = v_V5731.clone(); + rt::apply_direct(interp, "SUBST", &[__t307, __t308, __t309])? }); } } @@ -1082,162 +991,160 @@ pub fn aot_cl_x2e_currylisp(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { { - let __t395 = { - let __t391 = { - let __t382 = Value::sym(interp.intern("FUNCALL")); - let __t390 = { - let __t384 = { - let __t383 = v_V5732.clone(); - rt::hd(&__t383)? + let __t353 = { + let __t349 = { + let __t340 = Value::sym(interp.intern_static("FUNCALL")); + let __t348 = { + let __t342 = { + let __t341 = v_V5732.clone(); + rt::hd(&__t341)? }; - let __t389 = { - let __t387 = { - let __t386 = { - let __t385 = v_V5732.clone(); - rt::tl(&__t385)? + let __t347 = { + let __t345 = { + let __t344 = { + let __t343 = v_V5732.clone(); + rt::tl(&__t343)? }; - rt::hd(&__t386)? + rt::hd(&__t344)? }; - let __t388 = Value::nil(); - rt::cons(&__t387, &__t388) + let __t346 = Value::nil(); + rt::cons(&__t345, &__t346) }; - rt::cons(&__t384, &__t389) + rt::cons(&__t342, &__t347) }; - rt::cons(&__t382, &__t390) + rt::cons(&__t340, &__t348) }; - let __t394 = { - let __t393 = { - let __t392 = v_V5732.clone(); - rt::tl(&__t392)? + let __t352 = { + let __t351 = { + let __t350 = v_V5732.clone(); + rt::tl(&__t350)? }; - rt::tl(&__t393)? + rt::tl(&__t351)? }; - rt::cons(&__t391, &__t394) + rt::cons(&__t349, &__t352) }; - v_V5732 = __t395; + v_V5732 = __t353; continue; } } else { { - let __t371 = { - let __t367 = { - let __t358 = v_V5732.clone(); - rt::is_cons(&__t358) + let __t329 = { + let __t325 = { + let __t318 = v_V5732.clone(); + rt::is_cons(&__t318) }; - if !rt::is_truthy(interp, &__t367)? { + if !rt::is_truthy(interp, &__t325)? { Value::bool(false) } else { - let __t368 = { - let __t365 = { - let __t360 = { - let __t359 = v_V5732.clone(); - rt::tl(&__t359)? + let __t326 = { + let __t323 = { + let __t320 = { + let __t319 = v_V5732.clone(); + rt::tl(&__t319)? }; - rt::is_cons(&__t360) + rt::is_cons(&__t320) }; - if !rt::is_truthy(interp, &__t365)? { + if !rt::is_truthy(interp, &__t323)? { Value::bool(false) } else { - let __t366 = { - let __t361 = Value::nil(); - let __t364 = { - let __t363 = { - let __t362 = v_V5732.clone(); - rt::tl(&__t362)? + let __t324 = Value::bool( + ({ + let __t322 = { + let __t321 = v_V5732.clone(); + rt::tl(&__t321)? }; - rt::tl(&__t363)? - }; - rt::eq(&__t361, &__t364) - }; - Value::bool(rt::is_truthy(interp, &__t366)?) + rt::tl(&__t322)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t324)?) } }; - Value::bool(rt::is_truthy(interp, &__t368)?) + Value::bool(rt::is_truthy(interp, &__t326)?) } }; - if match rt::is_truthy(interp, &__t371) { + if match rt::is_truthy(interp, &__t329) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t369 = Value::sym(interp.intern("FUNCALL")); - let __t370 = v_V5732.clone(); - rt::cons(&__t369, &__t370) + let __t327 = Value::sym(interp.intern_static("FUNCALL")); + let __t328 = v_V5732.clone(); + rt::cons(&__t327, &__t328) }); } else { { - let __t357 = { - let __t353 = { - let __t349 = v_V5732.clone(); - rt::is_cons(&__t349) + let __t317 = { + let __t313 = { + let __t311 = v_V5732.clone(); + rt::is_cons(&__t311) }; - if !rt::is_truthy(interp, &__t353)? { + if !rt::is_truthy(interp, &__t313)? { Value::bool(false) } else { - let __t354 = { - let __t350 = Value::nil(); - let __t352 = { - let __t351 = v_V5732.clone(); - rt::tl(&__t351)? - }; - rt::eq(&__t350, &__t352) - }; - Value::bool(rt::is_truthy(interp, &__t354)?) + let __t314 = Value::bool( + ({ + let __t312 = v_V5732.clone(); + rt::tl(&__t312)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t314)?) } }; - if match rt::is_truthy(interp, &__t357) { + if match rt::is_truthy(interp, &__t317) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t355 = Value::sym(interp.intern("FUNCALL")); - let __t356 = v_V5732.clone(); - rt::cons(&__t355, &__t356) + let __t315 = Value::sym(interp.intern_static("FUNCALL")); + let __t316 = v_V5732.clone(); + rt::cons(&__t315, &__t316) }); } else { { - let __t348 = Value::bool(true); - if match rt::is_truthy(interp, &__t348) { + let __t310 = Value::bool(true); + if match rt::is_truthy(interp, &__t310) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1276,858 +1183,773 @@ pub fn aot_cl_x2e_optimise_x2d_application( #[allow(clippy::never_loop)] loop { { - let __t827 = { - let __t822 = { - let __t808 = v_V5733.clone(); - rt::is_cons(&__t808) + let __t726 = { + let __t721 = { + let __t711 = v_V5733.clone(); + rt::is_cons(&__t711) }; - if !rt::is_truthy(interp, &__t822)? { + if !rt::is_truthy(interp, &__t721)? { Value::bool(false) } else { - let __t823 = { - let __t820 = { - let __t809 = Value::sym(interp.intern("protect")); - let __t811 = { - let __t810 = v_V5733.clone(); - rt::hd(&__t810)? - }; - rt::eq(&__t809, &__t811) - }; - if !rt::is_truthy(interp, &__t820)? { + let __t722 = { + let __t719 = Value::bool( + ({ + let __t712 = v_V5733.clone(); + rt::hd(&__t712)? + }) + .as_sym() + == Some(interp.intern_static("protect")), + ); + if !rt::is_truthy(interp, &__t719)? { Value::bool(false) } else { - let __t821 = { - let __t818 = { - let __t813 = { - let __t812 = v_V5733.clone(); - rt::tl(&__t812)? + let __t720 = { + let __t717 = { + let __t714 = { + let __t713 = v_V5733.clone(); + rt::tl(&__t713)? }; - rt::is_cons(&__t813) + rt::is_cons(&__t714) }; - if !rt::is_truthy(interp, &__t818)? { + if !rt::is_truthy(interp, &__t717)? { Value::bool(false) } else { - let __t819 = { - let __t814 = Value::nil(); - let __t817 = { - let __t816 = { - let __t815 = v_V5733.clone(); - rt::tl(&__t815)? + let __t718 = Value::bool( + ({ + let __t716 = { + let __t715 = v_V5733.clone(); + rt::tl(&__t715)? }; - rt::tl(&__t816)? - }; - rt::eq(&__t814, &__t817) - }; - Value::bool(rt::is_truthy(interp, &__t819)?) + rt::tl(&__t716)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t718)?) } }; - Value::bool(rt::is_truthy(interp, &__t821)?) + Value::bool(rt::is_truthy(interp, &__t720)?) } }; - Value::bool(rt::is_truthy(interp, &__t823)?) + Value::bool(rt::is_truthy(interp, &__t722)?) } }; - if match rt::is_truthy(interp, &__t827) { + if match rt::is_truthy(interp, &__t726) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t826 = { - let __t825 = { - let __t824 = v_V5733.clone(); - rt::tl(&__t824)? + let __t725 = { + let __t724 = { + let __t723 = v_V5733.clone(); + rt::tl(&__t723)? }; - rt::hd(&__t825)? + rt::hd(&__t724)? }; - v_V5733 = __t826; + v_V5733 = __t725; continue; } } else { { - let __t807 = { - let __t798 = { - let __t784 = v_V5733.clone(); - rt::is_cons(&__t784) + let __t710 = { + let __t701 = { + let __t691 = v_V5733.clone(); + rt::is_cons(&__t691) }; - if !rt::is_truthy(interp, &__t798)? { + if !rt::is_truthy(interp, &__t701)? { Value::bool(false) } else { - let __t799 = { - let __t796 = { - let __t785 = Value::sym(interp.intern("hd")); - let __t787 = { - let __t786 = v_V5733.clone(); - rt::hd(&__t786)? - }; - rt::eq(&__t785, &__t787) - }; - if !rt::is_truthy(interp, &__t796)? { + let __t702 = { + let __t699 = Value::bool( + ({ + let __t692 = v_V5733.clone(); + rt::hd(&__t692)? + }) + .as_sym() + == Some(interp.intern_static("hd")), + ); + if !rt::is_truthy(interp, &__t699)? { Value::bool(false) } else { - let __t797 = { - let __t794 = { - let __t789 = { - let __t788 = v_V5733.clone(); - rt::tl(&__t788)? + let __t700 = { + let __t697 = { + let __t694 = { + let __t693 = v_V5733.clone(); + rt::tl(&__t693)? }; - rt::is_cons(&__t789) + rt::is_cons(&__t694) }; - if !rt::is_truthy(interp, &__t794)? { + if !rt::is_truthy(interp, &__t697)? { Value::bool(false) } else { - let __t795 = { - let __t790 = Value::nil(); - let __t793 = { - let __t792 = { - let __t791 = v_V5733.clone(); - rt::tl(&__t791)? + let __t698 = Value::bool( + ({ + let __t696 = { + let __t695 = v_V5733.clone(); + rt::tl(&__t695)? }; - rt::tl(&__t792)? - }; - rt::eq(&__t790, &__t793) - }; - Value::bool(rt::is_truthy(interp, &__t795)?) + rt::tl(&__t696)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t698)?) } }; - Value::bool(rt::is_truthy(interp, &__t797)?) + Value::bool(rt::is_truthy(interp, &__t700)?) } }; - Value::bool(rt::is_truthy(interp, &__t799)?) + Value::bool(rt::is_truthy(interp, &__t702)?) } }; - if match rt::is_truthy(interp, &__t807) { + if match rt::is_truthy(interp, &__t710) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t800 = Value::sym(interp.intern("CAR")); - let __t806 = { - let __t804 = { - let __t803 = { - let __t802 = { - let __t801 = v_V5733.clone(); - rt::tl(&__t801)? + let __t703 = Value::sym(interp.intern_static("CAR")); + let __t709 = { + let __t707 = { + let __t706 = { + let __t705 = { + let __t704 = v_V5733.clone(); + rt::tl(&__t704)? }; - rt::hd(&__t802)? + rt::hd(&__t705)? }; - rt::apply_direct(interp, "cl.optimise-application", &[__t803])? + aot_cl_x2e_optimise_x2d_application(interp, &[__t706])? }; - let __t805 = Value::nil(); - rt::cons(&__t804, &__t805) + let __t708 = Value::nil(); + rt::cons(&__t707, &__t708) }; - rt::cons(&__t800, &__t806) + rt::cons(&__t703, &__t709) }); } else { { - let __t783 = { - let __t774 = { - let __t760 = v_V5733.clone(); - rt::is_cons(&__t760) + let __t690 = { + let __t681 = { + let __t671 = v_V5733.clone(); + rt::is_cons(&__t671) }; - if !rt::is_truthy(interp, &__t774)? { + if !rt::is_truthy(interp, &__t681)? { Value::bool(false) } else { - let __t775 = { - let __t772 = { - let __t761 = Value::sym(interp.intern("tl")); - let __t763 = { - let __t762 = v_V5733.clone(); - rt::hd(&__t762)? - }; - rt::eq(&__t761, &__t763) - }; - if !rt::is_truthy(interp, &__t772)? { + let __t682 = { + let __t679 = Value::bool( + ({ + let __t672 = v_V5733.clone(); + rt::hd(&__t672)? + }) + .as_sym() + == Some(interp.intern_static("tl")), + ); + if !rt::is_truthy(interp, &__t679)? { Value::bool(false) } else { - let __t773 = { - let __t770 = { - let __t765 = { - let __t764 = v_V5733.clone(); - rt::tl(&__t764)? + let __t680 = { + let __t677 = { + let __t674 = { + let __t673 = v_V5733.clone(); + rt::tl(&__t673)? }; - rt::is_cons(&__t765) + rt::is_cons(&__t674) }; - if !rt::is_truthy(interp, &__t770)? { + if !rt::is_truthy(interp, &__t677)? { Value::bool(false) } else { - let __t771 = { - let __t766 = Value::nil(); - let __t769 = { - let __t768 = { - let __t767 = v_V5733.clone(); - rt::tl(&__t767)? + let __t678 = Value::bool( + ({ + let __t676 = { + let __t675 = v_V5733.clone(); + rt::tl(&__t675)? }; - rt::tl(&__t768)? - }; - rt::eq(&__t766, &__t769) - }; - Value::bool(rt::is_truthy(interp, &__t771)?) + rt::tl(&__t676)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t678)?) } }; - Value::bool(rt::is_truthy(interp, &__t773)?) + Value::bool(rt::is_truthy(interp, &__t680)?) } }; - Value::bool(rt::is_truthy(interp, &__t775)?) + Value::bool(rt::is_truthy(interp, &__t682)?) } }; - if match rt::is_truthy(interp, &__t783) { + if match rt::is_truthy(interp, &__t690) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t776 = Value::sym(interp.intern("CDR")); - let __t782 = { - let __t780 = { - let __t779 = { - let __t778 = { - let __t777 = v_V5733.clone(); - rt::tl(&__t777)? + let __t683 = Value::sym(interp.intern_static("CDR")); + let __t689 = { + let __t687 = { + let __t686 = { + let __t685 = { + let __t684 = v_V5733.clone(); + rt::tl(&__t684)? }; - rt::hd(&__t778)? + rt::hd(&__t685)? }; - rt::apply_direct( - interp, - "cl.optimise-application", - &[__t779], - )? + aot_cl_x2e_optimise_x2d_application(interp, &[__t686])? }; - let __t781 = Value::nil(); - rt::cons(&__t780, &__t781) + let __t688 = Value::nil(); + rt::cons(&__t687, &__t688) }; - rt::cons(&__t776, &__t782) + rt::cons(&__t683, &__t689) }); } else { { - let __t759 = { - let __t744 = { - let __t724 = v_V5733.clone(); - rt::is_cons(&__t724) + let __t670 = { + let __t655 = { + let __t639 = v_V5733.clone(); + rt::is_cons(&__t639) }; - if !rt::is_truthy(interp, &__t744)? { + if !rt::is_truthy(interp, &__t655)? { Value::bool(false) } else { - let __t745 = { - let __t742 = { - let __t725 = Value::sym(interp.intern("cons")); - let __t727 = { - let __t726 = v_V5733.clone(); - rt::hd(&__t726)? - }; - rt::eq(&__t725, &__t727) - }; - if !rt::is_truthy(interp, &__t742)? { + let __t656 = { + let __t653 = Value::bool( + ({ + let __t640 = v_V5733.clone(); + rt::hd(&__t640)? + }) + .as_sym() + == Some(interp.intern_static("cons")), + ); + if !rt::is_truthy(interp, &__t653)? { Value::bool(false) } else { - let __t743 = { - let __t740 = { - let __t729 = { - let __t728 = v_V5733.clone(); - rt::tl(&__t728)? + let __t654 = { + let __t651 = { + let __t642 = { + let __t641 = v_V5733.clone(); + rt::tl(&__t641)? }; - rt::is_cons(&__t729) + rt::is_cons(&__t642) }; - if !rt::is_truthy(interp, &__t740)? { + if !rt::is_truthy(interp, &__t651)? { Value::bool(false) } else { - let __t741 = { - let __t738 = { - let __t732 = { - let __t731 = { - let __t730 = + let __t652 = { + let __t649 = { + let __t645 = { + let __t644 = { + let __t643 = v_V5733.clone(); - rt::tl(&__t730)? + rt::tl(&__t643)? }; - rt::tl(&__t731)? + rt::tl(&__t644)? }; - rt::is_cons(&__t732) + rt::is_cons(&__t645) }; - if !rt::is_truthy(interp, &__t738)? + if !rt::is_truthy(interp, &__t649)? { Value::bool(false) } else { - let __t739 = { - let __t733 = Value::nil(); - let __t737 = { - let __t736 = { - let __t735 = { - let __t734 = + let __t650 = Value::bool( + ({ + let __t648 = { + let __t647 = { + let __t646 = v_V5733 .clone( ); - rt::tl(&__t734)? + rt::tl(&__t646)? }; - rt::tl(&__t735)? + rt::tl(&__t647)? }; - rt::tl(&__t736)? - }; - rt::eq(&__t733, &__t737) - }; + rt::tl(&__t648)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t739, + interp, &__t650, )?) } }; Value::bool(rt::is_truthy( - interp, &__t741, + interp, &__t652, )?) } }; - Value::bool(rt::is_truthy(interp, &__t743)?) + Value::bool(rt::is_truthy(interp, &__t654)?) } }; - Value::bool(rt::is_truthy(interp, &__t745)?) + Value::bool(rt::is_truthy(interp, &__t656)?) } }; - if match rt::is_truthy(interp, &__t759) { + if match rt::is_truthy(interp, &__t670) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t746 = Value::sym(interp.intern("CONS")); - let __t758 = { - let __t750 = { - let __t749 = { - let __t748 = { - let __t747 = v_V5733.clone(); - rt::tl(&__t747)? + let __t657 = Value::sym(interp.intern_static("CONS")); + let __t669 = { + let __t661 = { + let __t660 = { + let __t659 = { + let __t658 = v_V5733.clone(); + rt::tl(&__t658)? }; - rt::hd(&__t748)? + rt::hd(&__t659)? }; - rt::apply_direct( + aot_cl_x2e_optimise_x2d_application( interp, - "cl.optimise-application", - &[__t749], + &[__t660], )? }; - let __t757 = { - let __t755 = { - let __t754 = { - let __t753 = { - let __t752 = { - let __t751 = v_V5733.clone(); - rt::tl(&__t751)? + let __t668 = { + let __t666 = { + let __t665 = { + let __t664 = { + let __t663 = { + let __t662 = v_V5733.clone(); + rt::tl(&__t662)? }; - rt::tl(&__t752)? + rt::tl(&__t663)? }; - rt::hd(&__t753)? + rt::hd(&__t664)? }; - rt::apply_direct( + aot_cl_x2e_optimise_x2d_application( interp, - "cl.optimise-application", - &[__t754], + &[__t665], )? }; - let __t756 = Value::nil(); - rt::cons(&__t755, &__t756) + let __t667 = Value::nil(); + rt::cons(&__t666, &__t667) }; - rt::cons(&__t750, &__t757) + rt::cons(&__t661, &__t668) }; - rt::cons(&__t746, &__t758) + rt::cons(&__t657, &__t669) }); } else { { - let __t723 = { - let __t708 = { - let __t688 = v_V5733.clone(); - rt::is_cons(&__t688) + let __t638 = { + let __t623 = { + let __t607 = v_V5733.clone(); + rt::is_cons(&__t607) }; - if !rt::is_truthy(interp, &__t708)? { + if !rt::is_truthy(interp, &__t623)? { Value::bool(false) } else { - let __t709 = { - let __t706 = { - let __t689 = - Value::sym(interp.intern("append")); - let __t691 = { - let __t690 = v_V5733.clone(); - rt::hd(&__t690)? - }; - rt::eq(&__t689, &__t691) - }; - if !rt::is_truthy(interp, &__t706)? { + let __t624 = { + let __t621 = Value::bool( + ({ + let __t608 = v_V5733.clone(); + rt::hd(&__t608)? + }) + .as_sym() + == Some( + interp.intern_static("append"), + ), + ); + if !rt::is_truthy(interp, &__t621)? { Value::bool(false) } else { - let __t707 = { - let __t704 = { - let __t693 = { - let __t692 = + let __t622 = { + let __t619 = { + let __t610 = { + let __t609 = v_V5733.clone(); - rt::tl(&__t692)? + rt::tl(&__t609)? }; - rt::is_cons(&__t693) + rt::is_cons(&__t610) }; - if !rt::is_truthy(interp, &__t704)? + if !rt::is_truthy(interp, &__t619)? { Value::bool(false) } else { - let __t705 = { - let __t702 = { - let __t696 = { - let __t695 = { - let __t694 = + let __t620 = { + let __t617 = { + let __t613 = { + let __t612 = { + let __t611 = v_V5733 .clone( ); - rt::tl(&__t694)? + rt::tl(&__t611)? }; - rt::tl(&__t695)? + rt::tl(&__t612)? }; - rt::is_cons(&__t696) + rt::is_cons(&__t613) }; if !rt::is_truthy( - interp, &__t702, + interp, &__t617, )? { Value::bool(false) } else { - let __t703 = { - let __t697 = - Value::nil(); - let __t701 = { - let __t700 = { - let __t699 = { - let __t698 = v_V5733.clone(); - rt::tl(&__t698)? - }; - rt::tl( - &__t699, - )? - }; - rt::tl(&__t700)? - }; - rt::eq( - &__t697, - &__t701, - ) - }; + let __t618 = Value::bool(({ let __t616 = { let __t615 = { let __t614 = v_V5733.clone(); rt::tl(&__t614)? }; rt::tl(&__t615)? }; rt::tl(&__t616)? }).is_nil()); Value::bool( rt::is_truthy( - interp, &__t703, + interp, &__t618, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t705, + interp, &__t620, )?) } }; Value::bool(rt::is_truthy( - interp, &__t707, + interp, &__t622, )?) } }; - Value::bool(rt::is_truthy(interp, &__t709)?) + Value::bool(rt::is_truthy(interp, &__t624)?) } }; - if match rt::is_truthy(interp, &__t723) { + if match rt::is_truthy(interp, &__t638) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t710 = - Value::sym(interp.intern("APPEND")); - let __t722 = { - let __t714 = { - let __t713 = { - let __t712 = { - let __t711 = v_V5733.clone(); - rt::tl(&__t711)? + let __t625 = + Value::sym(interp.intern_static("APPEND")); + let __t637 = { + let __t629 = { + let __t628 = { + let __t627 = { + let __t626 = v_V5733.clone(); + rt::tl(&__t626)? }; - rt::hd(&__t712)? + rt::hd(&__t627)? }; - rt::apply_direct( + aot_cl_x2e_optimise_x2d_application( interp, - "cl.optimise-application", - &[__t713], + &[__t628], )? }; - let __t721 = { - let __t719 = { - let __t718 = { - let __t717 = { - let __t716 = { - let __t715 = + let __t636 = { + let __t634 = { + let __t633 = { + let __t632 = { + let __t631 = { + let __t630 = v_V5733.clone(); - rt::tl(&__t715)? + rt::tl(&__t630)? }; - rt::tl(&__t716)? + rt::tl(&__t631)? }; - rt::hd(&__t717)? + rt::hd(&__t632)? }; - rt::apply_direct( + aot_cl_x2e_optimise_x2d_application( interp, - "cl.optimise-application", - &[__t718], + &[__t633], )? }; - let __t720 = Value::nil(); - rt::cons(&__t719, &__t720) + let __t635 = Value::nil(); + rt::cons(&__t634, &__t635) }; - rt::cons(&__t714, &__t721) + rt::cons(&__t629, &__t636) }; - rt::cons(&__t710, &__t722) + rt::cons(&__t625, &__t637) }); } else { { - let __t687 = { - let __t678 = { - let __t664 = v_V5733.clone(); - rt::is_cons(&__t664) + let __t606 = { + let __t597 = { + let __t587 = v_V5733.clone(); + rt::is_cons(&__t587) }; - if !rt::is_truthy(interp, &__t678)? { + if !rt::is_truthy(interp, &__t597)? { Value::bool(false) } else { - let __t679 = { - let __t676 = { - let __t665 = Value::sym( - interp.intern("reverse"), - ); - let __t667 = { - let __t666 = + let __t598 = { + let __t595 = Value::bool( + ({ + let __t588 = v_V5733.clone(); - rt::hd(&__t666)? - }; - rt::eq(&__t665, &__t667) - }; - if !rt::is_truthy(interp, &__t676)? + rt::hd(&__t588)? + }) + .as_sym() + == Some( + interp.intern_static( + "reverse", + ), + ), + ); + if !rt::is_truthy(interp, &__t595)? { Value::bool(false) } else { - let __t677 = { - let __t674 = { - let __t669 = { - let __t668 = + let __t596 = { + let __t593 = { + let __t590 = { + let __t589 = v_V5733.clone(); - rt::tl(&__t668)? + rt::tl(&__t589)? }; - rt::is_cons(&__t669) + rt::is_cons(&__t590) }; if !rt::is_truthy( - interp, &__t674, + interp, &__t593, )? { Value::bool(false) } else { - let __t675 = { - let __t670 = - Value::nil(); - let __t673 = { - let __t672 = { - let __t671 = v_V5733.clone(); - rt::tl( - &__t671, - )? - }; - rt::tl(&__t672)? - }; - rt::eq( - &__t670, - &__t673, - ) - }; + let __t594 = Value::bool(({ let __t592 = { let __t591 = v_V5733.clone(); rt::tl(&__t591)? }; rt::tl(&__t592)? }).is_nil()); Value::bool( rt::is_truthy( - interp, &__t675, + interp, &__t594, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t677, + interp, &__t596, )?) } }; Value::bool(rt::is_truthy( - interp, &__t679, + interp, &__t598, )?) } }; - if match rt::is_truthy(interp, &__t687) { + if match rt::is_truthy(interp, &__t606) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t680 = Value::sym( - interp.intern("REVERSE"), + let __t599 = Value::sym( + interp.intern_static("REVERSE"), ); - let __t686 = { - let __t684 = { - let __t683 = { - let __t682 = { - let __t681 = + let __t605 = { + let __t603 = { + let __t602 = { + let __t601 = { + let __t600 = v_V5733.clone(); - rt::tl(&__t681)? + rt::tl(&__t600)? }; - rt::hd(&__t682)? + rt::hd(&__t601)? }; - rt::apply_direct( - interp, - "cl.optimise-application", - &[__t683], - )? + aot_cl_x2e_optimise_x2d_application(interp, &[__t602])? }; - let __t685 = Value::nil(); - rt::cons(&__t684, &__t685) + let __t604 = Value::nil(); + rt::cons(&__t603, &__t604) }; - rt::cons(&__t680, &__t686) + rt::cons(&__t599, &__t605) }); } else { { - let __t663 = { - let __t654 = { - let __t640 = v_V5733.clone(); - rt::is_cons(&__t640) + let __t586 = { + let __t577 = { + let __t567 = v_V5733.clone(); + rt::is_cons(&__t567) }; - if !rt::is_truthy(interp, &__t654)? + if !rt::is_truthy(interp, &__t577)? { Value::bool(false) } else { - let __t655 = { - let __t652 = { - let __t641 = Value::sym( - interp.intern( - "length", - ), - ); - let __t643 = { - let __t642 = - v_V5733.clone(); - rt::hd(&__t642)? - }; - rt::eq(&__t641, &__t643) - }; + let __t578 = { + let __t575 = Value::bool(({ let __t568 = v_V5733.clone(); rt::hd(&__t568)? }).as_sym() == Some(interp.intern_static("length"))); if !rt::is_truthy( - interp, &__t652, + interp, &__t575, )? { Value::bool(false) } else { - let __t653 = { - let __t650 = { - let __t645 = { - let __t644 = v_V5733.clone(); + let __t576 = { + let __t573 = { + let __t570 = { + let __t569 = v_V5733.clone(); rt::tl( - &__t644, + &__t569, )? }; rt::is_cons( - &__t645, + &__t570, ) }; if !rt::is_truthy( - interp, &__t650, + interp, &__t573, )? { Value::bool( false, ) } else { - let __t651 = { - let __t646 = Value::nil(); - let __t649 = { - let __t648 = { - let __t647 = v_V5733.clone(); - rt::tl(&__t647)? - }; - rt::tl(&__t648)? - }; - rt::eq( - &__t646, - &__t649, - ) - }; - Value::bool(rt::is_truthy(interp, &__t651)?) + let __t574 = Value::bool(({ let __t572 = { let __t571 = v_V5733.clone(); rt::tl(&__t571)? }; rt::tl(&__t572)? }).is_nil()); + Value::bool(rt::is_truthy(interp, &__t574)?) } }; Value::bool( rt::is_truthy( - interp, &__t653, + interp, &__t576, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t655, + interp, &__t578, )?) } }; - if match rt::is_truthy(interp, &__t663) + if match rt::is_truthy(interp, &__t586) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t656 = - Value::sym(interp.intern( + let __t579 = Value::sym( + interp.intern_static( "CL.LIST-LENGTH", - )); - let __t662 = { - let __t660 = { - let __t659 = { - let __t658 = { - let __t657 = + ), + ); + let __t585 = { + let __t583 = { + let __t582 = { + let __t581 = { + let __t580 = v_V5733 .clone( ); - rt::tl(&__t657)? + rt::tl(&__t580)? }; - rt::hd(&__t658)? + rt::hd(&__t581)? }; - rt::apply_direct(interp, "cl.optimise-application", &[__t659])? + aot_cl_x2e_optimise_x2d_application(interp, &[__t582])? }; - let __t661 = Value::nil(); - rt::cons(&__t660, &__t661) + let __t584 = Value::nil(); + rt::cons(&__t583, &__t584) }; - rt::cons(&__t656, &__t662) + rt::cons(&__t579, &__t585) }); } else { { - let __t639 = { - let __t617 = { - let __t590 = + let __t566 = { + let __t544 = { + let __t521 = v_V5733.clone(); - rt::is_cons(&__t590) + rt::is_cons(&__t521) }; if !rt::is_truthy( - interp, &__t617, + interp, &__t544, )? { Value::bool(false) } else { - let __t618 = { - let __t615 = { - let __t591 = Value::sym(interp.intern("if")); - let __t593 = { - let __t592 = v_V5733.clone(); - rt::hd( - &__t592, - )? - }; - rt::eq( - &__t591, - &__t593, - ) - }; + let __t545 = { + let __t542 = Value::bool(({ let __t522 = v_V5733.clone(); rt::hd(&__t522)? }).as_sym() == Some(interp.intern_static("if"))); if !rt::is_truthy( - interp, &__t615, + interp, &__t542, )? { Value::bool( false, ) } else { - let __t616 = { - let __t613 = { - let __t595 = { - let __t594 = v_V5733.clone(); - rt::tl(&__t594)? + let __t543 = { + let __t540 = { + let __t524 = { + let __t523 = v_V5733.clone(); + rt::tl(&__t523)? }; - rt::is_cons(&__t595) + rt::is_cons(&__t524) }; - if !rt::is_truthy(interp, &__t613)? { Value::bool(false) } else { let __t614 = { let __t611 = { let __t598 = { let __t597 = { let __t596 = v_V5733.clone(); rt::tl(&__t596)? }; rt::tl(&__t597)? }; rt::is_cons(&__t598) }; if !rt::is_truthy(interp, &__t611)? { Value::bool(false) } else { let __t612 = { let __t609 = { let __t602 = { let __t601 = { let __t600 = { let __t599 = v_V5733.clone(); rt::tl(&__t599)? }; rt::tl(&__t600)? }; rt::tl(&__t601)? }; rt::is_cons(&__t602) }; if !rt::is_truthy(interp, &__t609)? { Value::bool(false) } else { let __t610 = { let __t603 = Value::nil(); let __t608 = { let __t607 = { let __t606 = { let __t605 = { let __t604 = v_V5733.clone(); rt::tl(&__t604)? }; rt::tl(&__t605)? }; rt::tl(&__t606)? }; rt::tl(&__t607)? }; rt::eq(&__t603, &__t608) }; Value::bool(rt::is_truthy(interp, &__t610)?) } }; Value::bool(rt::is_truthy(interp, &__t612)?) } }; Value::bool(rt::is_truthy(interp, &__t614)?) } + if !rt::is_truthy(interp, &__t540)? { Value::bool(false) } else { let __t541 = { let __t538 = { let __t527 = { let __t526 = { let __t525 = v_V5733.clone(); rt::tl(&__t525)? }; rt::tl(&__t526)? }; rt::is_cons(&__t527) }; if !rt::is_truthy(interp, &__t538)? { Value::bool(false) } else { let __t539 = { let __t536 = { let __t531 = { let __t530 = { let __t529 = { let __t528 = v_V5733.clone(); rt::tl(&__t528)? }; rt::tl(&__t529)? }; rt::tl(&__t530)? }; rt::is_cons(&__t531) }; if !rt::is_truthy(interp, &__t536)? { Value::bool(false) } else { let __t537 = Value::bool(({ let __t535 = { let __t534 = { let __t533 = { let __t532 = v_V5733.clone(); rt::tl(&__t532)? }; rt::tl(&__t533)? }; rt::tl(&__t534)? }; rt::tl(&__t535)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t537)?) } }; Value::bool(rt::is_truthy(interp, &__t539)?) } }; Value::bool(rt::is_truthy(interp, &__t541)?) } }; - Value::bool(rt::is_truthy(interp, &__t616)?) + Value::bool(rt::is_truthy(interp, &__t543)?) } }; Value::bool( rt::is_truthy( - interp, &__t618, + interp, &__t545, )?, ) } }; if match rt::is_truthy( - interp, &__t639, + interp, &__t566, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t619 = Value::sym( - interp.intern("IF"), + let __t546 = Value::sym( + interp + .intern_static( + "IF", + ), ); - let __t638 = { - let __t623 = { - let __t622 = { - let __t621 = { - let __t620 = v_V5733.clone(); - rt::tl(&__t620)? + let __t565 = { + let __t550 = { + let __t549 = { + let __t548 = { + let __t547 = v_V5733.clone(); + rt::tl(&__t547)? }; rt::hd( - &__t621, + &__t548, )? }; - rt::apply_direct(interp, "cl.wrap", &[__t622])? + aot_cl_x2e_wrap( + interp, + &[__t549], + )? }; - let __t637 = { - let __t628 = { - let __t627 = { - let __t626 = { - let __t625 = { let __t624 = v_V5733.clone(); rt::tl(&__t624)? }; - rt::tl(&__t625)? + let __t564 = { + let __t555 = { + let __t554 = { + let __t553 = { + let __t552 = { let __t551 = v_V5733.clone(); rt::tl(&__t551)? }; + rt::tl(&__t552)? }; - rt::hd(&__t626)? + rt::hd(&__t553)? }; - rt::apply_direct(interp, "cl.optimise-application", &[__t627])? + aot_cl_x2e_optimise_x2d_application(interp, &[__t554])? }; - let __t636 = { - let __t634 = { - let __t633 = { - let __t632 = { let __t631 = { let __t630 = { let __t629 = v_V5733.clone(); rt::tl(&__t629)? }; rt::tl(&__t630)? }; rt::tl(&__t631)? }; - rt::hd(&__t632)? + let __t563 = { + let __t561 = { + let __t560 = { + let __t559 = { let __t558 = { let __t557 = { let __t556 = v_V5733.clone(); rt::tl(&__t556)? }; rt::tl(&__t557)? }; rt::tl(&__t558)? }; + rt::hd(&__t559)? }; - rt::apply_direct(interp, "cl.optimise-application", &[__t633])? + aot_cl_x2e_optimise_x2d_application(interp, &[__t560])? }; - let __t635 = Value::nil(); + let __t562 = Value::nil(); rt::cons( - &__t634, - &__t635, + &__t561, + &__t562, ) }; rt::cons( - &__t628, - &__t636, + &__t555, + &__t563, ) }; rt::cons( - &__t623, - &__t637, + &__t550, + &__t564, ) }; rt::cons( - &__t619, &__t638, + &__t546, &__t565, ) }); } else { { - let __t589 = { - let __t583 = { - let __t543 = + let __t520 = { + let __t514 = { + let __t482 = v_V5733 .clone( ); rt::is_cons( - &__t543, + &__t482, ) }; if !rt::is_truthy( - interp, &__t583, + interp, &__t514, )? { Value::bool( false, ) } else { - let __t584 = { - let __t581 = { - let __t544 = Value::sym(interp.intern("value")); - let __t546 = { - let __t545 = v_V5733.clone(); - rt::hd(&__t545)? - }; - rt::eq(&__t544, &__t546) - }; - if !rt::is_truthy(interp, &__t581)? { Value::bool(false) } else { let __t582 = { let __t579 = { let __t548 = { let __t547 = v_V5733.clone(); rt::tl(&__t547)? }; rt::is_cons(&__t548) }; if !rt::is_truthy(interp, &__t579)? { Value::bool(false) } else { let __t580 = { let __t577 = { let __t551 = { let __t550 = { let __t549 = v_V5733.clone(); rt::tl(&__t549)? }; rt::hd(&__t550)? }; rt::is_cons(&__t551) }; if !rt::is_truthy(interp, &__t577)? { Value::bool(false) } else { let __t578 = { let __t575 = { let __t555 = { let __t554 = { let __t553 = { let __t552 = v_V5733.clone(); rt::tl(&__t552)? }; rt::hd(&__t553)? }; rt::tl(&__t554)? }; rt::is_cons(&__t555) }; if !rt::is_truthy(interp, &__t575)? { Value::bool(false) } else { let __t576 = { let __t573 = { let __t556 = Value::nil(); let __t561 = { let __t560 = { let __t559 = { let __t558 = { let __t557 = v_V5733.clone(); rt::tl(&__t557)? }; rt::hd(&__t558)? }; rt::tl(&__t559)? }; rt::tl(&__t560)? }; rt::eq(&__t556, &__t561) }; if !rt::is_truthy(interp, &__t573)? { Value::bool(false) } else { let __t574 = { let __t571 = { let __t562 = Value::nil(); let __t565 = { let __t564 = { let __t563 = v_V5733.clone(); rt::tl(&__t563)? }; rt::tl(&__t564)? }; rt::eq(&__t562, &__t565) }; if !rt::is_truthy(interp, &__t571)? { Value::bool(false) } else { let __t572 = { let __t569 = { let __t568 = { let __t567 = { let __t566 = v_V5733.clone(); rt::tl(&__t566)? }; rt::hd(&__t567)? }; rt::hd(&__t568)? }; let __t570 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t569, &__t570) }; Value::bool(rt::is_truthy(interp, &__t572)?) } }; Value::bool(rt::is_truthy(interp, &__t574)?) } }; Value::bool(rt::is_truthy(interp, &__t576)?) } }; Value::bool(rt::is_truthy(interp, &__t578)?) } }; Value::bool(rt::is_truthy(interp, &__t580)?) } }; Value::bool(rt::is_truthy(interp, &__t582)?) } + let __t515 = { + let __t512 = Value::bool(({ let __t483 = v_V5733.clone(); rt::hd(&__t483)? }).as_sym() == Some(interp.intern_static("value"))); + if !rt::is_truthy(interp, &__t512)? { Value::bool(false) } else { let __t513 = { let __t510 = { let __t485 = { let __t484 = v_V5733.clone(); rt::tl(&__t484)? }; rt::is_cons(&__t485) }; if !rt::is_truthy(interp, &__t510)? { Value::bool(false) } else { let __t511 = { let __t508 = { let __t488 = { let __t487 = { let __t486 = v_V5733.clone(); rt::tl(&__t486)? }; rt::hd(&__t487)? }; rt::is_cons(&__t488) }; if !rt::is_truthy(interp, &__t508)? { Value::bool(false) } else { let __t509 = { let __t506 = { let __t492 = { let __t491 = { let __t490 = { let __t489 = v_V5733.clone(); rt::tl(&__t489)? }; rt::hd(&__t490)? }; rt::tl(&__t491)? }; rt::is_cons(&__t492) }; if !rt::is_truthy(interp, &__t506)? { Value::bool(false) } else { let __t507 = { let __t504 = Value::bool(({ let __t496 = { let __t495 = { let __t494 = { let __t493 = v_V5733.clone(); rt::tl(&__t493)? }; rt::hd(&__t494)? }; rt::tl(&__t495)? }; rt::tl(&__t496)? }).is_nil()); if !rt::is_truthy(interp, &__t504)? { Value::bool(false) } else { let __t505 = { let __t502 = Value::bool(({ let __t498 = { let __t497 = v_V5733.clone(); rt::tl(&__t497)? }; rt::tl(&__t498)? }).is_nil()); if !rt::is_truthy(interp, &__t502)? { Value::bool(false) } else { let __t503 = Value::bool(({ let __t501 = { let __t500 = { let __t499 = v_V5733.clone(); rt::tl(&__t499)? }; rt::hd(&__t500)? }; rt::hd(&__t501)? }).as_sym() == Some(interp.intern_static("QUOTE"))); Value::bool(rt::is_truthy(interp, &__t503)?) } }; Value::bool(rt::is_truthy(interp, &__t505)?) } }; Value::bool(rt::is_truthy(interp, &__t507)?) } }; Value::bool(rt::is_truthy(interp, &__t509)?) } }; Value::bool(rt::is_truthy(interp, &__t511)?) } }; Value::bool(rt::is_truthy(interp, &__t513)?) } }; - Value::bool(rt::is_truthy(interp, &__t584)?) + Value::bool(rt::is_truthy(interp, &__t515)?) } }; if match rt::is_truthy( - interp, &__t589, + interp, &__t520, ) { Ok(b) => b, Err(e) => { @@ -2135,30 +1957,30 @@ pub fn aot_cl_x2e_optimise_x2d_application( } } { break Ok({ - let __t588 = { - let __t587 = { - let __t586 = { - let __t585 = v_V5733.clone(); - rt::tl(&__t585)? + let __t519 = { + let __t518 = { + let __t517 = { + let __t516 = v_V5733.clone(); + rt::tl(&__t516)? }; - rt::hd(&__t586)? + rt::hd(&__t517)? }; rt::tl( - &__t587, + &__t518, )? }; - rt::hd(&__t588)? + rt::hd(&__t519)? }); } else { { - let __t542 = { - let __t537 = { - let __t517 = v_V5733.clone(); - rt::is_cons(&__t517) + let __t481 = { + let __t476 = { + let __t460 = v_V5733.clone(); + rt::is_cons(&__t460) }; - if !rt::is_truthy(interp, &__t537)? { Value::bool(false) } else { let __t538 = { let __t535 = { let __t518 = Value::sym(interp.intern("map")); let __t520 = { let __t519 = v_V5733.clone(); rt::hd(&__t519)? }; rt::eq(&__t518, &__t520) }; if !rt::is_truthy(interp, &__t535)? { Value::bool(false) } else { let __t536 = { let __t533 = { let __t522 = { let __t521 = v_V5733.clone(); rt::tl(&__t521)? }; rt::is_cons(&__t522) }; if !rt::is_truthy(interp, &__t533)? { Value::bool(false) } else { let __t534 = { let __t531 = { let __t525 = { let __t524 = { let __t523 = v_V5733.clone(); rt::tl(&__t523)? }; rt::tl(&__t524)? }; rt::is_cons(&__t525) }; if !rt::is_truthy(interp, &__t531)? { Value::bool(false) } else { let __t532 = { let __t526 = Value::nil(); let __t530 = { let __t529 = { let __t528 = { let __t527 = v_V5733.clone(); rt::tl(&__t527)? }; rt::tl(&__t528)? }; rt::tl(&__t529)? }; rt::eq(&__t526, &__t530) }; Value::bool(rt::is_truthy(interp, &__t532)?) } }; Value::bool(rt::is_truthy(interp, &__t534)?) } }; Value::bool(rt::is_truthy(interp, &__t536)?) } }; Value::bool(rt::is_truthy(interp, &__t538)?) } + if !rt::is_truthy(interp, &__t476)? { Value::bool(false) } else { let __t477 = { let __t474 = Value::bool(({ let __t461 = v_V5733.clone(); rt::hd(&__t461)? }).as_sym() == Some(interp.intern_static("map"))); if !rt::is_truthy(interp, &__t474)? { Value::bool(false) } else { let __t475 = { let __t472 = { let __t463 = { let __t462 = v_V5733.clone(); rt::tl(&__t462)? }; rt::is_cons(&__t463) }; if !rt::is_truthy(interp, &__t472)? { Value::bool(false) } else { let __t473 = { let __t470 = { let __t466 = { let __t465 = { let __t464 = v_V5733.clone(); rt::tl(&__t464)? }; rt::tl(&__t465)? }; rt::is_cons(&__t466) }; if !rt::is_truthy(interp, &__t470)? { Value::bool(false) } else { let __t471 = Value::bool(({ let __t469 = { let __t468 = { let __t467 = v_V5733.clone(); rt::tl(&__t467)? }; rt::tl(&__t468)? }; rt::tl(&__t469)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t471)?) } }; Value::bool(rt::is_truthy(interp, &__t473)?) } }; Value::bool(rt::is_truthy(interp, &__t475)?) } }; Value::bool(rt::is_truthy(interp, &__t477)?) } }; - if match rt::is_truthy(interp, &__t542) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t539 = Value::sym(interp.intern("CL.MAPCAR")); let __t541 = { let __t540 = v_V5733.clone(); rt::tl(&__t540)? }; rt::cons(&__t539, &__t541) }); } else { { let __t516 = { let __t505 = { let __t479 = v_V5733.clone(); rt::is_cons(&__t479) }; if !rt::is_truthy(interp, &__t505)? { Value::bool(false) } else { let __t506 = { let __t503 = { let __t480 = Value::sym(interp.intern("+")); let __t482 = { let __t481 = v_V5733.clone(); rt::hd(&__t481)? }; rt::eq(&__t480, &__t482) }; if !rt::is_truthy(interp, &__t503)? { Value::bool(false) } else { let __t504 = { let __t501 = { let __t484 = { let __t483 = v_V5733.clone(); rt::tl(&__t483)? }; rt::is_cons(&__t484) }; if !rt::is_truthy(interp, &__t501)? { Value::bool(false) } else { let __t502 = { let __t499 = { let __t485 = Value::int(1i64); let __t488 = { let __t487 = { let __t486 = v_V5733.clone(); rt::tl(&__t486)? }; rt::hd(&__t487)? }; rt::eq(&__t485, &__t488) }; if !rt::is_truthy(interp, &__t499)? { Value::bool(false) } else { let __t500 = { let __t497 = { let __t491 = { let __t490 = { let __t489 = v_V5733.clone(); rt::tl(&__t489)? }; rt::tl(&__t490)? }; rt::is_cons(&__t491) }; if !rt::is_truthy(interp, &__t497)? { Value::bool(false) } else { let __t498 = { let __t492 = Value::nil(); let __t496 = { let __t495 = { let __t494 = { let __t493 = v_V5733.clone(); rt::tl(&__t493)? }; rt::tl(&__t494)? }; rt::tl(&__t495)? }; rt::eq(&__t492, &__t496) }; Value::bool(rt::is_truthy(interp, &__t498)?) } }; Value::bool(rt::is_truthy(interp, &__t500)?) } }; Value::bool(rt::is_truthy(interp, &__t502)?) } }; Value::bool(rt::is_truthy(interp, &__t504)?) } }; Value::bool(rt::is_truthy(interp, &__t506)?) } }; if match rt::is_truthy(interp, &__t516) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t508 = { let __t507 = Value::str("1+"); rt::apply_direct(interp, "intern", &[__t507])? }; let __t515 = { let __t513 = { let __t512 = { let __t511 = { let __t510 = { let __t509 = v_V5733.clone(); rt::tl(&__t509)? }; rt::tl(&__t510)? }; rt::hd(&__t511)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t512])? }; let __t514 = Value::nil(); rt::cons(&__t513, &__t514) }; rt::cons(&__t508, &__t515) }); } else { { let __t478 = { let __t468 = { let __t441 = v_V5733.clone(); rt::is_cons(&__t441) }; if !rt::is_truthy(interp, &__t468)? { Value::bool(false) } else { let __t469 = { let __t466 = { let __t442 = Value::sym(interp.intern("+")); let __t444 = { let __t443 = v_V5733.clone(); rt::hd(&__t443)? }; rt::eq(&__t442, &__t444) }; if !rt::is_truthy(interp, &__t466)? { Value::bool(false) } else { let __t467 = { let __t464 = { let __t446 = { let __t445 = v_V5733.clone(); rt::tl(&__t445)? }; rt::is_cons(&__t446) }; if !rt::is_truthy(interp, &__t464)? { Value::bool(false) } else { let __t465 = { let __t462 = { let __t449 = { let __t448 = { let __t447 = v_V5733.clone(); rt::tl(&__t447)? }; rt::tl(&__t448)? }; rt::is_cons(&__t449) }; if !rt::is_truthy(interp, &__t462)? { Value::bool(false) } else { let __t463 = { let __t460 = { let __t450 = Value::int(1i64); let __t454 = { let __t453 = { let __t452 = { let __t451 = v_V5733.clone(); rt::tl(&__t451)? }; rt::tl(&__t452)? }; rt::hd(&__t453)? }; rt::eq(&__t450, &__t454) }; if !rt::is_truthy(interp, &__t460)? { Value::bool(false) } else { let __t461 = { let __t455 = Value::nil(); let __t459 = { let __t458 = { let __t457 = { let __t456 = v_V5733.clone(); rt::tl(&__t456)? }; rt::tl(&__t457)? }; rt::tl(&__t458)? }; rt::eq(&__t455, &__t459) }; Value::bool(rt::is_truthy(interp, &__t461)?) } }; Value::bool(rt::is_truthy(interp, &__t463)?) } }; Value::bool(rt::is_truthy(interp, &__t465)?) } }; Value::bool(rt::is_truthy(interp, &__t467)?) } }; Value::bool(rt::is_truthy(interp, &__t469)?) } }; if match rt::is_truthy(interp, &__t478) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t471 = { let __t470 = Value::str("1+"); rt::apply_direct(interp, "intern", &[__t470])? }; let __t477 = { let __t475 = { let __t474 = { let __t473 = { let __t472 = v_V5733.clone(); rt::tl(&__t472)? }; rt::hd(&__t473)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t474])? }; let __t476 = Value::nil(); rt::cons(&__t475, &__t476) }; rt::cons(&__t471, &__t477) }); } else { { let __t440 = { let __t430 = { let __t403 = v_V5733.clone(); rt::is_cons(&__t403) }; if !rt::is_truthy(interp, &__t430)? { Value::bool(false) } else { let __t431 = { let __t428 = { let __t404 = Value::sym(interp.intern("-")); let __t406 = { let __t405 = v_V5733.clone(); rt::hd(&__t405)? }; rt::eq(&__t404, &__t406) }; if !rt::is_truthy(interp, &__t428)? { Value::bool(false) } else { let __t429 = { let __t426 = { let __t408 = { let __t407 = v_V5733.clone(); rt::tl(&__t407)? }; rt::is_cons(&__t408) }; if !rt::is_truthy(interp, &__t426)? { Value::bool(false) } else { let __t427 = { let __t424 = { let __t411 = { let __t410 = { let __t409 = v_V5733.clone(); rt::tl(&__t409)? }; rt::tl(&__t410)? }; rt::is_cons(&__t411) }; if !rt::is_truthy(interp, &__t424)? { Value::bool(false) } else { let __t425 = { let __t422 = { let __t412 = Value::int(1i64); let __t416 = { let __t415 = { let __t414 = { let __t413 = v_V5733.clone(); rt::tl(&__t413)? }; rt::tl(&__t414)? }; rt::hd(&__t415)? }; rt::eq(&__t412, &__t416) }; if !rt::is_truthy(interp, &__t422)? { Value::bool(false) } else { let __t423 = { let __t417 = Value::nil(); let __t421 = { let __t420 = { let __t419 = { let __t418 = v_V5733.clone(); rt::tl(&__t418)? }; rt::tl(&__t419)? }; rt::tl(&__t420)? }; rt::eq(&__t417, &__t421) }; Value::bool(rt::is_truthy(interp, &__t423)?) } }; Value::bool(rt::is_truthy(interp, &__t425)?) } }; Value::bool(rt::is_truthy(interp, &__t427)?) } }; Value::bool(rt::is_truthy(interp, &__t429)?) } }; Value::bool(rt::is_truthy(interp, &__t431)?) } }; if match rt::is_truthy(interp, &__t440) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t433 = { let __t432 = Value::str("1-"); rt::apply_direct(interp, "intern", &[__t432])? }; let __t439 = { let __t437 = { let __t436 = { let __t435 = { let __t434 = v_V5733.clone(); rt::tl(&__t434)? }; rt::hd(&__t435)? }; rt::apply_direct(interp, "cl.optimise-application", &[__t436])? }; let __t438 = Value::nil(); rt::cons(&__t437, &__t438) }; rt::cons(&__t433, &__t439) }); } else { { let __t402 = { let __t398 = v_V5733.clone(); rt::is_cons(&__t398) }; if match rt::is_truthy(interp, &__t402) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t400 = { rt::make_aot_closure("", 1, move |interp, args| { let v_Z5734 = args[0].clone(); Ok({ let __t399 = v_Z5734.clone(); rt::apply_direct(interp, "cl.optimise-application", &[__t399])? }) }, Vec::new(), interp) }; let __t401 = v_V5733.clone(); rt::apply_direct(interp, "CL.MAPCAR", &[__t400, __t401])? }); } else { { let __t397 = Value::bool(true); if match rt::is_truthy(interp, &__t397) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5733.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } } + if match rt::is_truthy(interp, &__t481) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t478 = Value::sym(interp.intern_static("CL.MAPCAR")); let __t480 = { let __t479 = v_V5733.clone(); rt::tl(&__t479)? }; rt::cons(&__t478, &__t480) }); } else { { let __t459 = { let __t449 = { let __t427 = v_V5733.clone(); rt::is_cons(&__t427) }; if !rt::is_truthy(interp, &__t449)? { Value::bool(false) } else { let __t450 = { let __t447 = Value::bool(({ let __t428 = v_V5733.clone(); rt::hd(&__t428)? }).as_sym() == Some(interp.intern_static("+"))); if !rt::is_truthy(interp, &__t447)? { Value::bool(false) } else { let __t448 = { let __t445 = { let __t430 = { let __t429 = v_V5733.clone(); rt::tl(&__t429)? }; rt::is_cons(&__t430) }; if !rt::is_truthy(interp, &__t445)? { Value::bool(false) } else { let __t446 = { let __t443 = { let __t431 = Value::int(1i64); let __t434 = { let __t433 = { let __t432 = v_V5733.clone(); rt::tl(&__t432)? }; rt::hd(&__t433)? }; rt::eq(&__t431, &__t434) }; if !rt::is_truthy(interp, &__t443)? { Value::bool(false) } else { let __t444 = { let __t441 = { let __t437 = { let __t436 = { let __t435 = v_V5733.clone(); rt::tl(&__t435)? }; rt::tl(&__t436)? }; rt::is_cons(&__t437) }; if !rt::is_truthy(interp, &__t441)? { Value::bool(false) } else { let __t442 = Value::bool(({ let __t440 = { let __t439 = { let __t438 = v_V5733.clone(); rt::tl(&__t438)? }; rt::tl(&__t439)? }; rt::tl(&__t440)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t442)?) } }; Value::bool(rt::is_truthy(interp, &__t444)?) } }; Value::bool(rt::is_truthy(interp, &__t446)?) } }; Value::bool(rt::is_truthy(interp, &__t448)?) } }; Value::bool(rt::is_truthy(interp, &__t450)?) } }; if match rt::is_truthy(interp, &__t459) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t451 = Value::sym(interp.intern_static("1+")); let __t458 = { let __t456 = { let __t455 = { let __t454 = { let __t453 = { let __t452 = v_V5733.clone(); rt::tl(&__t452)? }; rt::tl(&__t453)? }; rt::hd(&__t454)? }; aot_cl_x2e_optimise_x2d_application(interp, &[__t455])? }; let __t457 = Value::nil(); rt::cons(&__t456, &__t457) }; rt::cons(&__t451, &__t458) }); } else { { let __t426 = { let __t417 = { let __t394 = v_V5733.clone(); rt::is_cons(&__t394) }; if !rt::is_truthy(interp, &__t417)? { Value::bool(false) } else { let __t418 = { let __t415 = Value::bool(({ let __t395 = v_V5733.clone(); rt::hd(&__t395)? }).as_sym() == Some(interp.intern_static("+"))); if !rt::is_truthy(interp, &__t415)? { Value::bool(false) } else { let __t416 = { let __t413 = { let __t397 = { let __t396 = v_V5733.clone(); rt::tl(&__t396)? }; rt::is_cons(&__t397) }; if !rt::is_truthy(interp, &__t413)? { Value::bool(false) } else { let __t414 = { let __t411 = { let __t400 = { let __t399 = { let __t398 = v_V5733.clone(); rt::tl(&__t398)? }; rt::tl(&__t399)? }; rt::is_cons(&__t400) }; if !rt::is_truthy(interp, &__t411)? { Value::bool(false) } else { let __t412 = { let __t409 = { let __t401 = Value::int(1i64); let __t405 = { let __t404 = { let __t403 = { let __t402 = v_V5733.clone(); rt::tl(&__t402)? }; rt::tl(&__t403)? }; rt::hd(&__t404)? }; rt::eq(&__t401, &__t405) }; if !rt::is_truthy(interp, &__t409)? { Value::bool(false) } else { let __t410 = Value::bool(({ let __t408 = { let __t407 = { let __t406 = v_V5733.clone(); rt::tl(&__t406)? }; rt::tl(&__t407)? }; rt::tl(&__t408)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t410)?) } }; Value::bool(rt::is_truthy(interp, &__t412)?) } }; Value::bool(rt::is_truthy(interp, &__t414)?) } }; Value::bool(rt::is_truthy(interp, &__t416)?) } }; Value::bool(rt::is_truthy(interp, &__t418)?) } }; if match rt::is_truthy(interp, &__t426) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t419 = Value::sym(interp.intern_static("1+")); let __t425 = { let __t423 = { let __t422 = { let __t421 = { let __t420 = v_V5733.clone(); rt::tl(&__t420)? }; rt::hd(&__t421)? }; aot_cl_x2e_optimise_x2d_application(interp, &[__t422])? }; let __t424 = Value::nil(); rt::cons(&__t423, &__t424) }; rt::cons(&__t419, &__t425) }); } else { { let __t393 = { let __t384 = { let __t361 = v_V5733.clone(); rt::is_cons(&__t361) }; if !rt::is_truthy(interp, &__t384)? { Value::bool(false) } else { let __t385 = { let __t382 = Value::bool(({ let __t362 = v_V5733.clone(); rt::hd(&__t362)? }).as_sym() == Some(interp.intern_static("-"))); if !rt::is_truthy(interp, &__t382)? { Value::bool(false) } else { let __t383 = { let __t380 = { let __t364 = { let __t363 = v_V5733.clone(); rt::tl(&__t363)? }; rt::is_cons(&__t364) }; if !rt::is_truthy(interp, &__t380)? { Value::bool(false) } else { let __t381 = { let __t378 = { let __t367 = { let __t366 = { let __t365 = v_V5733.clone(); rt::tl(&__t365)? }; rt::tl(&__t366)? }; rt::is_cons(&__t367) }; if !rt::is_truthy(interp, &__t378)? { Value::bool(false) } else { let __t379 = { let __t376 = { let __t368 = Value::int(1i64); let __t372 = { let __t371 = { let __t370 = { let __t369 = v_V5733.clone(); rt::tl(&__t369)? }; rt::tl(&__t370)? }; rt::hd(&__t371)? }; rt::eq(&__t368, &__t372) }; if !rt::is_truthy(interp, &__t376)? { Value::bool(false) } else { let __t377 = Value::bool(({ let __t375 = { let __t374 = { let __t373 = v_V5733.clone(); rt::tl(&__t373)? }; rt::tl(&__t374)? }; rt::tl(&__t375)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t377)?) } }; Value::bool(rt::is_truthy(interp, &__t379)?) } }; Value::bool(rt::is_truthy(interp, &__t381)?) } }; Value::bool(rt::is_truthy(interp, &__t383)?) } }; Value::bool(rt::is_truthy(interp, &__t385)?) } }; if match rt::is_truthy(interp, &__t393) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t386 = Value::sym(interp.intern_static("1-")); let __t392 = { let __t390 = { let __t389 = { let __t388 = { let __t387 = v_V5733.clone(); rt::tl(&__t387)? }; rt::hd(&__t388)? }; aot_cl_x2e_optimise_x2d_application(interp, &[__t389])? }; let __t391 = Value::nil(); rt::cons(&__t390, &__t391) }; rt::cons(&__t386, &__t392) }); } else { { let __t360 = { let __t356 = v_V5733.clone(); rt::is_cons(&__t356) }; if match rt::is_truthy(interp, &__t360) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t358 = { rt::make_aot_closure("", 1, move |interp, args| { let v_Z5734 = args[0].clone(); Ok({ let __t357 = v_Z5734.clone(); aot_cl_x2e_optimise_x2d_application(interp, &[__t357])? }) }, Vec::new(), interp) }; let __t359 = v_V5733.clone(); rt::apply_direct(interp, "CL.MAPCAR", &[__t358, __t359])? }); } else { { let __t355 = Value::bool(true); if match rt::is_truthy(interp, &__t355) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5733.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } } } } } @@ -2208,91 +2030,90 @@ pub fn aot_cl_x2e_cond_x2d_code(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t853 = { - let __t839 = { - let __t830 = v_V5740.clone(); - rt::is_cons(&__t830) + let __t750 = { + let __t736 = { + let __t729 = v_V5740.clone(); + rt::is_cons(&__t729) }; - if !rt::is_truthy(interp, &__t839)? { + if !rt::is_truthy(interp, &__t736)? { Value::bool(false) } else { - let __t840 = { - let __t837 = { - let __t832 = { - let __t831 = v_V5740.clone(); - rt::tl(&__t831)? + let __t737 = { + let __t734 = { + let __t731 = { + let __t730 = v_V5740.clone(); + rt::tl(&__t730)? }; - rt::is_cons(&__t832) + rt::is_cons(&__t731) }; - if !rt::is_truthy(interp, &__t837)? { + if !rt::is_truthy(interp, &__t734)? { Value::bool(false) } else { - let __t838 = { - let __t833 = Value::nil(); - let __t836 = { - let __t835 = { - let __t834 = v_V5740.clone(); - rt::tl(&__t834)? + let __t735 = Value::bool( + ({ + let __t733 = { + let __t732 = v_V5740.clone(); + rt::tl(&__t732)? }; - rt::tl(&__t835)? - }; - rt::eq(&__t833, &__t836) - }; - Value::bool(rt::is_truthy(interp, &__t838)?) + rt::tl(&__t733)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t735)?) } }; - Value::bool(rt::is_truthy(interp, &__t840)?) + Value::bool(rt::is_truthy(interp, &__t737)?) } }; - if match rt::is_truthy(interp, &__t853) { + if match rt::is_truthy(interp, &__t750) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5741 = { - let __t844 = { - let __t841 = v_V5739.clone(); - let __t843 = { - let __t842 = v_V5740.clone(); - rt::hd(&__t842)? + let __t741 = { + let __t738 = v_V5739.clone(); + let __t740 = { + let __t739 = v_V5740.clone(); + rt::hd(&__t739)? }; - rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t841, __t843])? + aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t738, __t740])? }; - rt::apply_direct(interp, "cl.wrap", &[__t844])? + aot_cl_x2e_wrap(interp, &[__t741])? }; { let v_W5742 = { - let __t845 = v_V5739.clone(); - let __t848 = { - let __t847 = { - let __t846 = v_V5740.clone(); - rt::tl(&__t846)? + let __t742 = v_V5739.clone(); + let __t745 = { + let __t744 = { + let __t743 = v_V5740.clone(); + rt::tl(&__t743)? }; - rt::hd(&__t847)? + rt::hd(&__t744)? }; - rt::apply_direct(interp, "cl.kl-to-lisp-h", &[__t845, __t848])? + aot_cl_x2e_kl_x2d_to_x2d_lisp_x2d_h(interp, &[__t742, __t745])? }; break Ok({ - let __t849 = v_W5741.clone(); - let __t852 = { - let __t850 = v_W5742.clone(); - let __t851 = Value::nil(); - rt::cons(&__t850, &__t851) + let __t746 = v_W5741.clone(); + let __t749 = { + let __t747 = v_W5742.clone(); + let __t748 = Value::nil(); + rt::cons(&__t747, &__t748) }; - rt::cons(&__t849, &__t852) + rt::cons(&__t746, &__t749) }); } } } else { { - let __t829 = Value::bool(true); - if match rt::is_truthy(interp, &__t829) { + let __t728 = Value::bool(true); + if match rt::is_truthy(interp, &__t728) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t828 = Value::str("implementation error in shen.cond-code"); - rt::apply_direct(interp, "simple-error", &[__t828])? + let __t727 = Value::str("implementation error in shen.cond-code"); + rt::apply_direct(interp, "simple-error", &[__t727])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2321,759 +2142,711 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t1598 = { - let __t1596 = { - let __t1576 = v_V5743.clone(); - rt::is_cons(&__t1576) + let __t1383 = { + let __t1381 = { + let __t1365 = v_V5743.clone(); + rt::is_cons(&__t1365) }; - if !rt::is_truthy(interp, &__t1596)? { + if !rt::is_truthy(interp, &__t1381)? { Value::bool(false) } else { - let __t1597 = { - let __t1594 = { - let __t1578 = { - let __t1577 = v_V5743.clone(); - rt::tl(&__t1577)? + let __t1382 = { + let __t1379 = { + let __t1367 = { + let __t1366 = v_V5743.clone(); + rt::tl(&__t1366)? }; - rt::is_cons(&__t1578) + rt::is_cons(&__t1367) }; - if !rt::is_truthy(interp, &__t1594)? { + if !rt::is_truthy(interp, &__t1379)? { Value::bool(false) } else { - let __t1595 = { - let __t1592 = { - let __t1579 = Value::bool(true); - let __t1582 = { - let __t1581 = { - let __t1580 = v_V5743.clone(); - rt::tl(&__t1580)? + let __t1380 = { + let __t1377 = { + let __t1368 = Value::bool(true); + let __t1371 = { + let __t1370 = { + let __t1369 = v_V5743.clone(); + rt::tl(&__t1369)? }; - rt::hd(&__t1581)? + rt::hd(&__t1370)? }; - rt::eq(&__t1579, &__t1582) + rt::eq(&__t1368, &__t1371) }; - if !rt::is_truthy(interp, &__t1592)? { + if !rt::is_truthy(interp, &__t1377)? { Value::bool(false) } else { - let __t1593 = { - let __t1590 = { - let __t1583 = Value::nil(); - let __t1586 = { - let __t1585 = { - let __t1584 = v_V5743.clone(); - rt::tl(&__t1584)? + let __t1378 = { + let __t1375 = Value::bool( + ({ + let __t1373 = { + let __t1372 = v_V5743.clone(); + rt::tl(&__t1372)? }; - rt::tl(&__t1585)? - }; - rt::eq(&__t1583, &__t1586) - }; - if !rt::is_truthy(interp, &__t1590)? { + rt::tl(&__t1373)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1375)? { Value::bool(false) } else { - let __t1591 = { - let __t1588 = { - let __t1587 = v_V5743.clone(); - rt::hd(&__t1587)? - }; - let __t1589 = Value::sym(interp.intern("QUOTE")); - rt::eq(&__t1588, &__t1589) - }; - Value::bool(rt::is_truthy(interp, &__t1591)?) + let __t1376 = Value::bool( + ({ + let __t1374 = v_V5743.clone(); + rt::hd(&__t1374)? + }) + .as_sym() + == Some(interp.intern_static("QUOTE")), + ); + Value::bool(rt::is_truthy(interp, &__t1376)?) } }; - Value::bool(rt::is_truthy(interp, &__t1593)?) + Value::bool(rt::is_truthy(interp, &__t1378)?) } }; - Value::bool(rt::is_truthy(interp, &__t1595)?) + Value::bool(rt::is_truthy(interp, &__t1380)?) } }; - Value::bool(rt::is_truthy(interp, &__t1597)?) + Value::bool(rt::is_truthy(interp, &__t1382)?) } }; - if match rt::is_truthy(interp, &__t1598) { + if match rt::is_truthy(interp, &__t1383) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("T"))); + break Ok(Value::sym(interp.intern_static("T"))); } else { { - let __t1575 = { - let __t1570 = { - let __t1556 = v_V5743.clone(); - rt::is_cons(&__t1556) + let __t1364 = { + let __t1359 = { + let __t1349 = v_V5743.clone(); + rt::is_cons(&__t1349) }; - if !rt::is_truthy(interp, &__t1570)? { + if !rt::is_truthy(interp, &__t1359)? { Value::bool(false) } else { - let __t1571 = { - let __t1568 = { - let __t1557 = Value::sym(interp.intern("cons?")); - let __t1559 = { - let __t1558 = v_V5743.clone(); - rt::hd(&__t1558)? - }; - rt::eq(&__t1557, &__t1559) - }; - if !rt::is_truthy(interp, &__t1568)? { + let __t1360 = { + let __t1357 = Value::bool( + ({ + let __t1350 = v_V5743.clone(); + rt::hd(&__t1350)? + }) + .as_sym() + == Some(interp.intern_static("cons?")), + ); + if !rt::is_truthy(interp, &__t1357)? { Value::bool(false) } else { - let __t1569 = { - let __t1566 = { - let __t1561 = { - let __t1560 = v_V5743.clone(); - rt::tl(&__t1560)? + let __t1358 = { + let __t1355 = { + let __t1352 = { + let __t1351 = v_V5743.clone(); + rt::tl(&__t1351)? }; - rt::is_cons(&__t1561) + rt::is_cons(&__t1352) }; - if !rt::is_truthy(interp, &__t1566)? { + if !rt::is_truthy(interp, &__t1355)? { Value::bool(false) } else { - let __t1567 = { - let __t1562 = Value::nil(); - let __t1565 = { - let __t1564 = { - let __t1563 = v_V5743.clone(); - rt::tl(&__t1563)? + let __t1356 = Value::bool( + ({ + let __t1354 = { + let __t1353 = v_V5743.clone(); + rt::tl(&__t1353)? }; - rt::tl(&__t1564)? - }; - rt::eq(&__t1562, &__t1565) - }; - Value::bool(rt::is_truthy(interp, &__t1567)?) + rt::tl(&__t1354)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1356)?) } }; - Value::bool(rt::is_truthy(interp, &__t1569)?) + Value::bool(rt::is_truthy(interp, &__t1358)?) } }; - Value::bool(rt::is_truthy(interp, &__t1571)?) + Value::bool(rt::is_truthy(interp, &__t1360)?) } }; - if match rt::is_truthy(interp, &__t1575) { + if match rt::is_truthy(interp, &__t1364) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1572 = Value::sym(interp.intern("CONSP")); - let __t1574 = { - let __t1573 = v_V5743.clone(); - rt::tl(&__t1573)? + let __t1361 = Value::sym(interp.intern_static("CONSP")); + let __t1363 = { + let __t1362 = v_V5743.clone(); + rt::tl(&__t1362)? }; - rt::cons(&__t1572, &__t1574) + rt::cons(&__t1361, &__t1363) }); } else { { - let __t1555 = { - let __t1550 = { - let __t1536 = v_V5743.clone(); - rt::is_cons(&__t1536) + let __t1348 = { + let __t1343 = { + let __t1333 = v_V5743.clone(); + rt::is_cons(&__t1333) }; - if !rt::is_truthy(interp, &__t1550)? { + if !rt::is_truthy(interp, &__t1343)? { Value::bool(false) } else { - let __t1551 = { - let __t1548 = { - let __t1537 = Value::sym(interp.intern("string?")); - let __t1539 = { - let __t1538 = v_V5743.clone(); - rt::hd(&__t1538)? - }; - rt::eq(&__t1537, &__t1539) - }; - if !rt::is_truthy(interp, &__t1548)? { + let __t1344 = { + let __t1341 = Value::bool( + ({ + let __t1334 = v_V5743.clone(); + rt::hd(&__t1334)? + }) + .as_sym() + == Some(interp.intern_static("string?")), + ); + if !rt::is_truthy(interp, &__t1341)? { Value::bool(false) } else { - let __t1549 = { - let __t1546 = { - let __t1541 = { - let __t1540 = v_V5743.clone(); - rt::tl(&__t1540)? + let __t1342 = { + let __t1339 = { + let __t1336 = { + let __t1335 = v_V5743.clone(); + rt::tl(&__t1335)? }; - rt::is_cons(&__t1541) + rt::is_cons(&__t1336) }; - if !rt::is_truthy(interp, &__t1546)? { + if !rt::is_truthy(interp, &__t1339)? { Value::bool(false) } else { - let __t1547 = { - let __t1542 = Value::nil(); - let __t1545 = { - let __t1544 = { - let __t1543 = v_V5743.clone(); - rt::tl(&__t1543)? + let __t1340 = Value::bool( + ({ + let __t1338 = { + let __t1337 = v_V5743.clone(); + rt::tl(&__t1337)? }; - rt::tl(&__t1544)? - }; - rt::eq(&__t1542, &__t1545) - }; - Value::bool(rt::is_truthy(interp, &__t1547)?) + rt::tl(&__t1338)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1340)?) } }; - Value::bool(rt::is_truthy(interp, &__t1549)?) + Value::bool(rt::is_truthy(interp, &__t1342)?) } }; - Value::bool(rt::is_truthy(interp, &__t1551)?) + Value::bool(rt::is_truthy(interp, &__t1344)?) } }; - if match rt::is_truthy(interp, &__t1555) { + if match rt::is_truthy(interp, &__t1348) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1552 = Value::sym(interp.intern("STRINGP")); - let __t1554 = { - let __t1553 = v_V5743.clone(); - rt::tl(&__t1553)? + let __t1345 = Value::sym(interp.intern_static("STRINGP")); + let __t1347 = { + let __t1346 = v_V5743.clone(); + rt::tl(&__t1346)? }; - rt::cons(&__t1552, &__t1554) + rt::cons(&__t1345, &__t1347) }); } else { { - let __t1535 = { - let __t1530 = { - let __t1516 = v_V5743.clone(); - rt::is_cons(&__t1516) + let __t1332 = { + let __t1327 = { + let __t1317 = v_V5743.clone(); + rt::is_cons(&__t1317) }; - if !rt::is_truthy(interp, &__t1530)? { + if !rt::is_truthy(interp, &__t1327)? { Value::bool(false) } else { - let __t1531 = { - let __t1528 = { - let __t1517 = - Value::sym(interp.intern("number?")); - let __t1519 = { - let __t1518 = v_V5743.clone(); - rt::hd(&__t1518)? - }; - rt::eq(&__t1517, &__t1519) - }; - if !rt::is_truthy(interp, &__t1528)? { + let __t1328 = { + let __t1325 = Value::bool( + ({ + let __t1318 = v_V5743.clone(); + rt::hd(&__t1318)? + }) + .as_sym() + == Some(interp.intern_static("number?")), + ); + if !rt::is_truthy(interp, &__t1325)? { Value::bool(false) } else { - let __t1529 = { - let __t1526 = { - let __t1521 = { - let __t1520 = v_V5743.clone(); - rt::tl(&__t1520)? + let __t1326 = { + let __t1323 = { + let __t1320 = { + let __t1319 = v_V5743.clone(); + rt::tl(&__t1319)? }; - rt::is_cons(&__t1521) + rt::is_cons(&__t1320) }; - if !rt::is_truthy(interp, &__t1526)? { + if !rt::is_truthy(interp, &__t1323)? { Value::bool(false) } else { - let __t1527 = { - let __t1522 = Value::nil(); - let __t1525 = { - let __t1524 = { - let __t1523 = + let __t1324 = Value::bool( + ({ + let __t1322 = { + let __t1321 = v_V5743.clone(); - rt::tl(&__t1523)? + rt::tl(&__t1321)? }; - rt::tl(&__t1524)? - }; - rt::eq(&__t1522, &__t1525) - }; + rt::tl(&__t1322)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1527, + interp, &__t1324, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1529)?) + Value::bool(rt::is_truthy(interp, &__t1326)?) } }; - Value::bool(rt::is_truthy(interp, &__t1531)?) + Value::bool(rt::is_truthy(interp, &__t1328)?) } }; - if match rt::is_truthy(interp, &__t1535) { + if match rt::is_truthy(interp, &__t1332) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1532 = Value::sym(interp.intern("NUMBERP")); - let __t1534 = { - let __t1533 = v_V5743.clone(); - rt::tl(&__t1533)? + let __t1329 = + Value::sym(interp.intern_static("NUMBERP")); + let __t1331 = { + let __t1330 = v_V5743.clone(); + rt::tl(&__t1330)? }; - rt::cons(&__t1532, &__t1534) + rt::cons(&__t1329, &__t1331) }); } else { { - let __t1515 = { - let __t1510 = { - let __t1496 = v_V5743.clone(); - rt::is_cons(&__t1496) + let __t1316 = { + let __t1311 = { + let __t1301 = v_V5743.clone(); + rt::is_cons(&__t1301) }; - if !rt::is_truthy(interp, &__t1510)? { + if !rt::is_truthy(interp, &__t1311)? { Value::bool(false) } else { - let __t1511 = { - let __t1508 = { - let __t1497 = - Value::sym(interp.intern("empty?")); - let __t1499 = { - let __t1498 = v_V5743.clone(); - rt::hd(&__t1498)? - }; - rt::eq(&__t1497, &__t1499) - }; - if !rt::is_truthy(interp, &__t1508)? { + let __t1312 = { + let __t1309 = Value::bool( + ({ + let __t1302 = v_V5743.clone(); + rt::hd(&__t1302)? + }) + .as_sym() + == Some( + interp.intern_static("empty?"), + ), + ); + if !rt::is_truthy(interp, &__t1309)? { Value::bool(false) } else { - let __t1509 = { - let __t1506 = { - let __t1501 = { - let __t1500 = + let __t1310 = { + let __t1307 = { + let __t1304 = { + let __t1303 = v_V5743.clone(); - rt::tl(&__t1500)? + rt::tl(&__t1303)? }; - rt::is_cons(&__t1501) + rt::is_cons(&__t1304) }; - if !rt::is_truthy(interp, &__t1506)? + if !rt::is_truthy(interp, &__t1307)? { Value::bool(false) } else { - let __t1507 = { - let __t1502 = Value::nil(); - let __t1505 = { - let __t1504 = { - let __t1503 = + let __t1308 = Value::bool( + ({ + let __t1306 = { + let __t1305 = v_V5743.clone(); - rt::tl(&__t1503)? + rt::tl(&__t1305)? }; - rt::tl(&__t1504)? - }; - rt::eq(&__t1502, &__t1505) - }; + rt::tl(&__t1306)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1507, + interp, &__t1308, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1509, + interp, &__t1310, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1511)?) + Value::bool(rt::is_truthy(interp, &__t1312)?) } }; - if match rt::is_truthy(interp, &__t1515) { + if match rt::is_truthy(interp, &__t1316) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1512 = Value::sym(interp.intern("NULL")); - let __t1514 = { - let __t1513 = v_V5743.clone(); - rt::tl(&__t1513)? + let __t1313 = + Value::sym(interp.intern_static("NULL")); + let __t1315 = { + let __t1314 = v_V5743.clone(); + rt::tl(&__t1314)? }; - rt::cons(&__t1512, &__t1514) + rt::cons(&__t1313, &__t1315) }); } else { { - let __t1495 = { - let __t1480 = { - let __t1460 = v_V5743.clone(); - rt::is_cons(&__t1460) + let __t1300 = { + let __t1285 = { + let __t1269 = v_V5743.clone(); + rt::is_cons(&__t1269) }; - if !rt::is_truthy(interp, &__t1480)? { + if !rt::is_truthy(interp, &__t1285)? { Value::bool(false) } else { - let __t1481 = { - let __t1478 = { - let __t1461 = Value::sym( - interp.intern("and"), - ); - let __t1463 = { - let __t1462 = + let __t1286 = { + let __t1283 = Value::bool( + ({ + let __t1270 = v_V5743.clone(); - rt::hd(&__t1462)? - }; - rt::eq(&__t1461, &__t1463) - }; - if !rt::is_truthy(interp, &__t1478)? + rt::hd(&__t1270)? + }) + .as_sym() + == Some( + interp.intern_static( + "and", + ), + ), + ); + if !rt::is_truthy(interp, &__t1283)? { Value::bool(false) } else { - let __t1479 = { - let __t1476 = { - let __t1465 = { - let __t1464 = + let __t1284 = { + let __t1281 = { + let __t1272 = { + let __t1271 = v_V5743.clone(); - rt::tl(&__t1464)? + rt::tl(&__t1271)? }; - rt::is_cons(&__t1465) + rt::is_cons(&__t1272) }; if !rt::is_truthy( - interp, &__t1476, + interp, &__t1281, )? { Value::bool(false) } else { - let __t1477 = { - let __t1474 = { - let __t1468 = { - let __t1467 = { - let __t1466 = v_V5743.clone(); - rt::tl(&__t1466)? + let __t1282 = { + let __t1279 = { + let __t1275 = { + let __t1274 = { + let __t1273 = v_V5743.clone(); + rt::tl(&__t1273)? }; - rt::tl(&__t1467)? + rt::tl(&__t1274)? }; rt::is_cons( - &__t1468, + &__t1275, ) }; if !rt::is_truthy( interp, - &__t1474, + &__t1279, )? { Value::bool( false, ) } else { - let __t1475 = { - let __t1469 = Value::nil(); - let __t1473 = { - let __t1472 = { - let __t1471 = { let __t1470 = v_V5743.clone(); rt::tl(&__t1470)? }; - rt::tl(&__t1471)? - }; - rt::tl(&__t1472)? - }; - rt::eq(&__t1469, &__t1473) - }; - Value::bool(rt::is_truthy(interp, &__t1475)?) + let __t1280 = Value::bool(({ let __t1278 = { let __t1277 = { let __t1276 = v_V5743.clone(); rt::tl(&__t1276)? }; rt::tl(&__t1277)? }; rt::tl(&__t1278)? }).is_nil()); + Value::bool(rt::is_truthy(interp, &__t1280)?) } }; Value::bool( rt::is_truthy( interp, - &__t1477, + &__t1282, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t1479, + interp, &__t1284, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1481, + interp, &__t1286, )?) } }; - if match rt::is_truthy(interp, &__t1495) { + if match rt::is_truthy(interp, &__t1300) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1482 = - Value::sym(interp.intern("AND")); - let __t1494 = { - let __t1486 = { - let __t1485 = { - let __t1484 = { - let __t1483 = + let __t1287 = Value::sym( + interp.intern_static("AND"), + ); + let __t1299 = { + let __t1291 = { + let __t1290 = { + let __t1289 = { + let __t1288 = v_V5743.clone(); - rt::tl(&__t1483)? + rt::tl(&__t1288)? }; - rt::hd(&__t1484)? + rt::hd(&__t1289)? }; - rt::apply_direct( + aot_cl_x2e_wrap( interp, - "cl.wrap", - &[__t1485], + &[__t1290], )? }; - let __t1493 = { - let __t1491 = { - let __t1490 = { - let __t1489 = { - let __t1488 = { - let __t1487 = + let __t1298 = { + let __t1296 = { + let __t1295 = { + let __t1294 = { + let __t1293 = { + let __t1292 = v_V5743 .clone( ); rt::tl( - &__t1487, + &__t1292, )? }; - rt::tl(&__t1488)? + rt::tl(&__t1293)? }; - rt::hd(&__t1489)? + rt::hd(&__t1294)? }; - rt::apply_direct( + aot_cl_x2e_wrap( interp, - "cl.wrap", - &[__t1490], + &[__t1295], )? }; - let __t1492 = Value::nil(); - rt::cons(&__t1491, &__t1492) + let __t1297 = Value::nil(); + rt::cons(&__t1296, &__t1297) }; - rt::cons(&__t1486, &__t1493) + rt::cons(&__t1291, &__t1298) }; - rt::cons(&__t1482, &__t1494) + rt::cons(&__t1287, &__t1299) }); } else { { - let __t1459 = { - let __t1444 = { - let __t1424 = v_V5743.clone(); - rt::is_cons(&__t1424) + let __t1268 = { + let __t1253 = { + let __t1237 = v_V5743.clone(); + rt::is_cons(&__t1237) }; - if !rt::is_truthy(interp, &__t1444)? + if !rt::is_truthy(interp, &__t1253)? { Value::bool(false) } else { - let __t1445 = { - let __t1442 = { - let __t1425 = - Value::sym( - interp.intern( - "or", - ), - ); - let __t1427 = { - let __t1426 = - v_V5743.clone(); - rt::hd(&__t1426)? - }; - rt::eq( - &__t1425, &__t1427, - ) - }; + let __t1254 = { + let __t1251 = Value::bool(({ let __t1238 = v_V5743.clone(); rt::hd(&__t1238)? }).as_sym() == Some(interp.intern_static("or"))); if !rt::is_truthy( - interp, &__t1442, + interp, &__t1251, )? { Value::bool(false) } else { - let __t1443 = { - let __t1440 = { - let __t1429 = { - let __t1428 = v_V5743.clone(); - rt::tl(&__t1428)? + let __t1252 = { + let __t1249 = { + let __t1240 = { + let __t1239 = v_V5743.clone(); + rt::tl(&__t1239)? }; rt::is_cons( - &__t1429, + &__t1240, ) }; if !rt::is_truthy( interp, - &__t1440, + &__t1249, )? { Value::bool( false, ) } else { - let __t1441 = { - let __t1438 = { - let __t1432 = { - let __t1431 = { let __t1430 = v_V5743.clone(); rt::tl(&__t1430)? }; - rt::tl(&__t1431)? + let __t1250 = { + let __t1247 = { + let __t1243 = { + let __t1242 = { let __t1241 = v_V5743.clone(); rt::tl(&__t1241)? }; + rt::tl(&__t1242)? }; - rt::is_cons(&__t1432) + rt::is_cons(&__t1243) }; - if !rt::is_truthy(interp, &__t1438)? { Value::bool(false) } else { let __t1439 = { let __t1433 = Value::nil(); let __t1437 = { let __t1436 = { let __t1435 = { let __t1434 = v_V5743.clone(); rt::tl(&__t1434)? }; rt::tl(&__t1435)? }; rt::tl(&__t1436)? }; rt::eq(&__t1433, &__t1437) }; Value::bool(rt::is_truthy(interp, &__t1439)?) } + if !rt::is_truthy(interp, &__t1247)? { Value::bool(false) } else { let __t1248 = Value::bool(({ let __t1246 = { let __t1245 = { let __t1244 = v_V5743.clone(); rt::tl(&__t1244)? }; rt::tl(&__t1245)? }; rt::tl(&__t1246)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t1248)?) } }; - Value::bool(rt::is_truthy(interp, &__t1441)?) + Value::bool(rt::is_truthy(interp, &__t1250)?) } }; Value::bool( rt::is_truthy( interp, - &__t1443, + &__t1252, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t1445, + interp, &__t1254, )?) } }; - if match rt::is_truthy(interp, &__t1459) + if match rt::is_truthy(interp, &__t1268) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1446 = Value::sym( - interp.intern("OR"), + let __t1255 = Value::sym( + interp.intern_static("OR"), ); - let __t1458 = { - let __t1450 = { - let __t1449 = { - let __t1448 = { - let __t1447 = + let __t1267 = { + let __t1259 = { + let __t1258 = { + let __t1257 = { + let __t1256 = v_V5743 .clone( ); rt::tl( - &__t1447, + &__t1256, )? }; - rt::hd(&__t1448)? + rt::hd(&__t1257)? }; - rt::apply_direct( + aot_cl_x2e_wrap( interp, - "cl.wrap", - &[__t1449], + &[__t1258], )? }; - let __t1457 = { - let __t1455 = { - let __t1454 = { - let __t1453 = { - let __t1452 = { - let __t1451 = v_V5743.clone(); - rt::tl(&__t1451)? + let __t1266 = { + let __t1264 = { + let __t1263 = { + let __t1262 = { + let __t1261 = { + let __t1260 = v_V5743.clone(); + rt::tl(&__t1260)? }; - rt::tl(&__t1452)? + rt::tl(&__t1261)? }; rt::hd( - &__t1453, + &__t1262, )? }; - rt::apply_direct( + aot_cl_x2e_wrap( interp, - "cl.wrap", - &[__t1454], + &[__t1263], )? }; - let __t1456 = + let __t1265 = Value::nil(); rt::cons( - &__t1455, &__t1456, + &__t1264, &__t1265, ) }; - rt::cons(&__t1450, &__t1457) + rt::cons(&__t1259, &__t1266) }; - rt::cons(&__t1446, &__t1458) + rt::cons(&__t1255, &__t1267) }); } else { { - let __t1423 = { - let __t1414 = { - let __t1400 = + let __t1236 = { + let __t1227 = { + let __t1217 = v_V5743.clone(); - rt::is_cons(&__t1400) + rt::is_cons(&__t1217) }; if !rt::is_truthy( - interp, &__t1414, + interp, &__t1227, )? { Value::bool(false) } else { - let __t1415 = { - let __t1412 = { - let __t1401 = Value::sym(interp.intern("not")); - let __t1403 = { - let __t1402 = v_V5743.clone(); - rt::hd(&__t1402)? - }; - rt::eq( - &__t1401, - &__t1403, - ) - }; + let __t1228 = { + let __t1225 = Value::bool(({ let __t1218 = v_V5743.clone(); rt::hd(&__t1218)? }).as_sym() == Some(interp.intern_static("not"))); if !rt::is_truthy( interp, - &__t1412, + &__t1225, )? { Value::bool( false, ) } else { - let __t1413 = { - let __t1410 = { - let __t1405 = { - let __t1404 = v_V5743.clone(); - rt::tl(&__t1404)? + let __t1226 = { + let __t1223 = { + let __t1220 = { + let __t1219 = v_V5743.clone(); + rt::tl(&__t1219)? }; - rt::is_cons(&__t1405) + rt::is_cons(&__t1220) }; - if !rt::is_truthy(interp, &__t1410)? { Value::bool(false) } else { let __t1411 = { let __t1406 = Value::nil(); let __t1409 = { let __t1408 = { let __t1407 = v_V5743.clone(); rt::tl(&__t1407)? }; rt::tl(&__t1408)? }; rt::eq(&__t1406, &__t1409) }; Value::bool(rt::is_truthy(interp, &__t1411)?) } + if !rt::is_truthy(interp, &__t1223)? { Value::bool(false) } else { let __t1224 = Value::bool(({ let __t1222 = { let __t1221 = v_V5743.clone(); rt::tl(&__t1221)? }; rt::tl(&__t1222)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t1224)?) } }; - Value::bool(rt::is_truthy(interp, &__t1413)?) + Value::bool(rt::is_truthy(interp, &__t1226)?) } }; Value::bool( rt::is_truthy( interp, - &__t1415, + &__t1228, )?, ) } }; if match rt::is_truthy( - interp, &__t1423, + interp, &__t1236, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1416 = - Value::sym( - interp.intern( - "NOT", - ), - ); - let __t1422 = { - let __t1420 = { - let __t1419 = { - let __t1418 = { - let __t1417 = v_V5743.clone(); - rt::tl(&__t1417)? + let __t1229 = Value::sym(interp.intern_static("NOT")); + let __t1235 = { + let __t1233 = { + let __t1232 = { + let __t1231 = { + let __t1230 = v_V5743.clone(); + rt::tl(&__t1230)? }; - rt::hd(&__t1418)? + rt::hd(&__t1231)? }; - rt::apply_direct(interp, "cl.wrap", &[__t1419])? + aot_cl_x2e_wrap( + interp, + &[__t1232], + )? }; - let __t1421 = + let __t1234 = Value::nil(); rt::cons( - &__t1420, - &__t1421, + &__t1233, + &__t1234, ) }; rt::cons( - &__t1416, &__t1422, + &__t1229, &__t1235, ) }); } else { { - let __t1399 = { - let __t1391 = { - let __t1364 = + let __t1216 = { + let __t1208 = { + let __t1187 = v_V5743 .clone( ); rt::is_cons( - &__t1364, + &__t1187, ) }; if !rt::is_truthy( interp, - &__t1391, + &__t1208, )? { Value::bool( false, ) } else { - let __t1392 = { - let __t1389 = { - let __t1365 = Value::sym(interp.intern("cl.equal?")); - let __t1367 = { - let __t1366 = v_V5743.clone(); - rt::hd(&__t1366)? - }; - rt::eq(&__t1365, &__t1367) - }; - if !rt::is_truthy(interp, &__t1389)? { Value::bool(false) } else { let __t1390 = { let __t1387 = { let __t1369 = { let __t1368 = v_V5743.clone(); rt::tl(&__t1368)? }; rt::is_cons(&__t1369) }; if !rt::is_truthy(interp, &__t1387)? { Value::bool(false) } else { let __t1388 = { let __t1385 = { let __t1372 = { let __t1371 = { let __t1370 = v_V5743.clone(); rt::tl(&__t1370)? }; rt::tl(&__t1371)? }; rt::is_cons(&__t1372) }; if !rt::is_truthy(interp, &__t1385)? { Value::bool(false) } else { let __t1386 = { let __t1383 = { let __t1373 = Value::nil(); let __t1377 = { let __t1376 = { let __t1375 = { let __t1374 = v_V5743.clone(); rt::tl(&__t1374)? }; rt::tl(&__t1375)? }; rt::hd(&__t1376)? }; rt::eq(&__t1373, &__t1377) }; if !rt::is_truthy(interp, &__t1383)? { Value::bool(false) } else { let __t1384 = { let __t1378 = Value::nil(); let __t1382 = { let __t1381 = { let __t1380 = { let __t1379 = v_V5743.clone(); rt::tl(&__t1379)? }; rt::tl(&__t1380)? }; rt::tl(&__t1381)? }; rt::eq(&__t1378, &__t1382) }; Value::bool(rt::is_truthy(interp, &__t1384)?) } }; Value::bool(rt::is_truthy(interp, &__t1386)?) } }; Value::bool(rt::is_truthy(interp, &__t1388)?) } }; Value::bool(rt::is_truthy(interp, &__t1390)?) } + let __t1209 = { + let __t1206 = Value::bool(({ let __t1188 = v_V5743.clone(); rt::hd(&__t1188)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); + if !rt::is_truthy(interp, &__t1206)? { Value::bool(false) } else { let __t1207 = { let __t1204 = { let __t1190 = { let __t1189 = v_V5743.clone(); rt::tl(&__t1189)? }; rt::is_cons(&__t1190) }; if !rt::is_truthy(interp, &__t1204)? { Value::bool(false) } else { let __t1205 = { let __t1202 = { let __t1193 = { let __t1192 = { let __t1191 = v_V5743.clone(); rt::tl(&__t1191)? }; rt::tl(&__t1192)? }; rt::is_cons(&__t1193) }; if !rt::is_truthy(interp, &__t1202)? { Value::bool(false) } else { let __t1203 = { let __t1200 = Value::bool(({ let __t1196 = { let __t1195 = { let __t1194 = v_V5743.clone(); rt::tl(&__t1194)? }; rt::tl(&__t1195)? }; rt::hd(&__t1196)? }).is_nil()); if !rt::is_truthy(interp, &__t1200)? { Value::bool(false) } else { let __t1201 = Value::bool(({ let __t1199 = { let __t1198 = { let __t1197 = v_V5743.clone(); rt::tl(&__t1197)? }; rt::tl(&__t1198)? }; rt::tl(&__t1199)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t1201)?) } }; Value::bool(rt::is_truthy(interp, &__t1203)?) } }; Value::bool(rt::is_truthy(interp, &__t1205)?) } }; Value::bool(rt::is_truthy(interp, &__t1207)?) } }; - Value::bool(rt::is_truthy(interp, &__t1392)?) + Value::bool(rt::is_truthy(interp, &__t1209)?) } }; if match rt::is_truthy( - interp, &__t1399, + interp, &__t1216, ) { Ok(b) => b, Err(e) => { @@ -3081,33 +2854,33 @@ pub fn aot_cl_x2e_wrap(interp: &mut Interp, args: &[Value]) -> ShenResult } } { break Ok({ - let __t1393 = Value::sym(interp.intern("NULL")); - let __t1398 = { - let __t1396 = { - let __t1395 = { - let __t1394 = v_V5743.clone(); - rt::tl(&__t1394)? + let __t1210 = Value::sym(interp.intern_static("NULL")); + let __t1215 = { + let __t1213 = { + let __t1212 = { + let __t1211 = v_V5743.clone(); + rt::tl(&__t1211)? }; - rt::hd(&__t1395)? + rt::hd(&__t1212)? }; - let __t1397 = Value::nil(); - rt::cons(&__t1396, &__t1397) + let __t1214 = Value::nil(); + rt::cons(&__t1213, &__t1214) }; rt::cons( - &__t1393, - &__t1398, + &__t1210, + &__t1215, ) }); } else { { - let __t1363 = { - let __t1357 = { - let __t1331 = v_V5743.clone(); - rt::is_cons(&__t1331) + let __t1186 = { + let __t1180 = { + let __t1160 = v_V5743.clone(); + rt::is_cons(&__t1160) }; - if !rt::is_truthy(interp, &__t1357)? { Value::bool(false) } else { let __t1358 = { let __t1355 = { let __t1332 = Value::sym(interp.intern("cl.equal?")); let __t1334 = { let __t1333 = v_V5743.clone(); rt::hd(&__t1333)? }; rt::eq(&__t1332, &__t1334) }; if !rt::is_truthy(interp, &__t1355)? { Value::bool(false) } else { let __t1356 = { let __t1353 = { let __t1336 = { let __t1335 = v_V5743.clone(); rt::tl(&__t1335)? }; rt::is_cons(&__t1336) }; if !rt::is_truthy(interp, &__t1353)? { Value::bool(false) } else { let __t1354 = { let __t1351 = { let __t1337 = Value::nil(); let __t1340 = { let __t1339 = { let __t1338 = v_V5743.clone(); rt::tl(&__t1338)? }; rt::hd(&__t1339)? }; rt::eq(&__t1337, &__t1340) }; if !rt::is_truthy(interp, &__t1351)? { Value::bool(false) } else { let __t1352 = { let __t1349 = { let __t1343 = { let __t1342 = { let __t1341 = v_V5743.clone(); rt::tl(&__t1341)? }; rt::tl(&__t1342)? }; rt::is_cons(&__t1343) }; if !rt::is_truthy(interp, &__t1349)? { Value::bool(false) } else { let __t1350 = { let __t1344 = Value::nil(); let __t1348 = { let __t1347 = { let __t1346 = { let __t1345 = v_V5743.clone(); rt::tl(&__t1345)? }; rt::tl(&__t1346)? }; rt::tl(&__t1347)? }; rt::eq(&__t1344, &__t1348) }; Value::bool(rt::is_truthy(interp, &__t1350)?) } }; Value::bool(rt::is_truthy(interp, &__t1352)?) } }; Value::bool(rt::is_truthy(interp, &__t1354)?) } }; Value::bool(rt::is_truthy(interp, &__t1356)?) } }; Value::bool(rt::is_truthy(interp, &__t1358)?) } + if !rt::is_truthy(interp, &__t1180)? { Value::bool(false) } else { let __t1181 = { let __t1178 = Value::bool(({ let __t1161 = v_V5743.clone(); rt::hd(&__t1161)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t1178)? { Value::bool(false) } else { let __t1179 = { let __t1176 = { let __t1163 = { let __t1162 = v_V5743.clone(); rt::tl(&__t1162)? }; rt::is_cons(&__t1163) }; if !rt::is_truthy(interp, &__t1176)? { Value::bool(false) } else { let __t1177 = { let __t1174 = Value::bool(({ let __t1165 = { let __t1164 = v_V5743.clone(); rt::tl(&__t1164)? }; rt::hd(&__t1165)? }).is_nil()); if !rt::is_truthy(interp, &__t1174)? { Value::bool(false) } else { let __t1175 = { let __t1172 = { let __t1168 = { let __t1167 = { let __t1166 = v_V5743.clone(); rt::tl(&__t1166)? }; rt::tl(&__t1167)? }; rt::is_cons(&__t1168) }; if !rt::is_truthy(interp, &__t1172)? { Value::bool(false) } else { let __t1173 = Value::bool(({ let __t1171 = { let __t1170 = { let __t1169 = v_V5743.clone(); rt::tl(&__t1169)? }; rt::tl(&__t1170)? }; rt::tl(&__t1171)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t1173)?) } }; Value::bool(rt::is_truthy(interp, &__t1175)?) } }; Value::bool(rt::is_truthy(interp, &__t1177)?) } }; Value::bool(rt::is_truthy(interp, &__t1179)?) } }; Value::bool(rt::is_truthy(interp, &__t1181)?) } }; - if match rt::is_truthy(interp, &__t1363) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1359 = Value::sym(interp.intern("NULL")); let __t1362 = { let __t1361 = { let __t1360 = v_V5743.clone(); rt::tl(&__t1360)? }; rt::tl(&__t1361)? }; rt::cons(&__t1359, &__t1362) }); } else { { let __t1330 = { let __t1325 = { let __t1267 = v_V5743.clone(); rt::is_cons(&__t1267) }; if !rt::is_truthy(interp, &__t1325)? { Value::bool(false) } else { let __t1326 = { let __t1323 = { let __t1268 = Value::sym(interp.intern("cl.equal?")); let __t1270 = { let __t1269 = v_V5743.clone(); rt::hd(&__t1269)? }; rt::eq(&__t1268, &__t1270) }; if !rt::is_truthy(interp, &__t1323)? { Value::bool(false) } else { let __t1324 = { let __t1321 = { let __t1272 = { let __t1271 = v_V5743.clone(); rt::tl(&__t1271)? }; rt::is_cons(&__t1272) }; if !rt::is_truthy(interp, &__t1321)? { Value::bool(false) } else { let __t1322 = { let __t1319 = { let __t1275 = { let __t1274 = { let __t1273 = v_V5743.clone(); rt::tl(&__t1273)? }; rt::tl(&__t1274)? }; rt::is_cons(&__t1275) }; if !rt::is_truthy(interp, &__t1319)? { Value::bool(false) } else { let __t1320 = { let __t1317 = { let __t1279 = { let __t1278 = { let __t1277 = { let __t1276 = v_V5743.clone(); rt::tl(&__t1276)? }; rt::tl(&__t1277)? }; rt::hd(&__t1278)? }; rt::is_cons(&__t1279) }; if !rt::is_truthy(interp, &__t1317)? { Value::bool(false) } else { let __t1318 = { let __t1315 = { let __t1284 = { let __t1283 = { let __t1282 = { let __t1281 = { let __t1280 = v_V5743.clone(); rt::tl(&__t1280)? }; rt::tl(&__t1281)? }; rt::hd(&__t1282)? }; rt::tl(&__t1283)? }; rt::is_cons(&__t1284) }; if !rt::is_truthy(interp, &__t1315)? { Value::bool(false) } else { let __t1316 = { let __t1313 = { let __t1285 = Value::nil(); let __t1291 = { let __t1290 = { let __t1289 = { let __t1288 = { let __t1287 = { let __t1286 = v_V5743.clone(); rt::tl(&__t1286)? }; rt::tl(&__t1287)? }; rt::hd(&__t1288)? }; rt::tl(&__t1289)? }; rt::tl(&__t1290)? }; rt::eq(&__t1285, &__t1291) }; if !rt::is_truthy(interp, &__t1313)? { Value::bool(false) } else { let __t1314 = { let __t1311 = { let __t1292 = Value::nil(); let __t1296 = { let __t1295 = { let __t1294 = { let __t1293 = v_V5743.clone(); rt::tl(&__t1293)? }; rt::tl(&__t1294)? }; rt::tl(&__t1295)? }; rt::eq(&__t1292, &__t1296) }; if !rt::is_truthy(interp, &__t1311)? { Value::bool(false) } else { let __t1312 = { let __t1309 = { let __t1301 = { let __t1300 = { let __t1299 = { let __t1298 = { let __t1297 = v_V5743.clone(); rt::tl(&__t1297)? }; rt::tl(&__t1298)? }; rt::hd(&__t1299)? }; rt::hd(&__t1300)? }; let __t1302 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t1301, &__t1302) }; if !rt::is_truthy(interp, &__t1309)? { Value::bool(false) } else { let __t1310 = { let __t1308 = { let __t1307 = { let __t1306 = { let __t1305 = { let __t1304 = { let __t1303 = v_V5743.clone(); rt::tl(&__t1303)? }; rt::tl(&__t1304)? }; rt::hd(&__t1305)? }; rt::tl(&__t1306)? }; rt::hd(&__t1307)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t1308])? }; Value::bool(rt::is_truthy(interp, &__t1310)?) } }; Value::bool(rt::is_truthy(interp, &__t1312)?) } }; Value::bool(rt::is_truthy(interp, &__t1314)?) } }; Value::bool(rt::is_truthy(interp, &__t1316)?) } }; Value::bool(rt::is_truthy(interp, &__t1318)?) } }; Value::bool(rt::is_truthy(interp, &__t1320)?) } }; Value::bool(rt::is_truthy(interp, &__t1322)?) } }; Value::bool(rt::is_truthy(interp, &__t1324)?) } }; Value::bool(rt::is_truthy(interp, &__t1326)?) } }; if match rt::is_truthy(interp, &__t1330) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1327 = Value::sym(interp.intern("EQ")); let __t1329 = { let __t1328 = v_V5743.clone(); rt::tl(&__t1328)? }; rt::cons(&__t1327, &__t1329) }); } else { { let __t1266 = { let __t1261 = { let __t1208 = v_V5743.clone(); rt::is_cons(&__t1208) }; if !rt::is_truthy(interp, &__t1261)? { Value::bool(false) } else { let __t1262 = { let __t1259 = { let __t1209 = Value::sym(interp.intern("cl.equal?")); let __t1211 = { let __t1210 = v_V5743.clone(); rt::hd(&__t1210)? }; rt::eq(&__t1209, &__t1211) }; if !rt::is_truthy(interp, &__t1259)? { Value::bool(false) } else { let __t1260 = { let __t1257 = { let __t1213 = { let __t1212 = v_V5743.clone(); rt::tl(&__t1212)? }; rt::is_cons(&__t1213) }; if !rt::is_truthy(interp, &__t1257)? { Value::bool(false) } else { let __t1258 = { let __t1255 = { let __t1216 = { let __t1215 = { let __t1214 = v_V5743.clone(); rt::tl(&__t1214)? }; rt::hd(&__t1215)? }; rt::is_cons(&__t1216) }; if !rt::is_truthy(interp, &__t1255)? { Value::bool(false) } else { let __t1256 = { let __t1253 = { let __t1220 = { let __t1219 = { let __t1218 = { let __t1217 = v_V5743.clone(); rt::tl(&__t1217)? }; rt::hd(&__t1218)? }; rt::tl(&__t1219)? }; rt::is_cons(&__t1220) }; if !rt::is_truthy(interp, &__t1253)? { Value::bool(false) } else { let __t1254 = { let __t1251 = { let __t1221 = Value::nil(); let __t1226 = { let __t1225 = { let __t1224 = { let __t1223 = { let __t1222 = v_V5743.clone(); rt::tl(&__t1222)? }; rt::hd(&__t1223)? }; rt::tl(&__t1224)? }; rt::tl(&__t1225)? }; rt::eq(&__t1221, &__t1226) }; if !rt::is_truthy(interp, &__t1251)? { Value::bool(false) } else { let __t1252 = { let __t1249 = { let __t1229 = { let __t1228 = { let __t1227 = v_V5743.clone(); rt::tl(&__t1227)? }; rt::tl(&__t1228)? }; rt::is_cons(&__t1229) }; if !rt::is_truthy(interp, &__t1249)? { Value::bool(false) } else { let __t1250 = { let __t1247 = { let __t1230 = Value::nil(); let __t1234 = { let __t1233 = { let __t1232 = { let __t1231 = v_V5743.clone(); rt::tl(&__t1231)? }; rt::tl(&__t1232)? }; rt::tl(&__t1233)? }; rt::eq(&__t1230, &__t1234) }; if !rt::is_truthy(interp, &__t1247)? { Value::bool(false) } else { let __t1248 = { let __t1245 = { let __t1238 = { let __t1237 = { let __t1236 = { let __t1235 = v_V5743.clone(); rt::tl(&__t1235)? }; rt::hd(&__t1236)? }; rt::hd(&__t1237)? }; let __t1239 = Value::sym(interp.intern("QUOTE")); rt::eq(&__t1238, &__t1239) }; if !rt::is_truthy(interp, &__t1245)? { Value::bool(false) } else { let __t1246 = { let __t1244 = { let __t1243 = { let __t1242 = { let __t1241 = { let __t1240 = v_V5743.clone(); rt::tl(&__t1240)? }; rt::hd(&__t1241)? }; rt::tl(&__t1242)? }; rt::hd(&__t1243)? }; rt::apply_direct(interp, "cl.fastsymbol?", &[__t1244])? }; Value::bool(rt::is_truthy(interp, &__t1246)?) } }; Value::bool(rt::is_truthy(interp, &__t1248)?) } }; Value::bool(rt::is_truthy(interp, &__t1250)?) } }; Value::bool(rt::is_truthy(interp, &__t1252)?) } }; Value::bool(rt::is_truthy(interp, &__t1254)?) } }; Value::bool(rt::is_truthy(interp, &__t1256)?) } }; Value::bool(rt::is_truthy(interp, &__t1258)?) } }; Value::bool(rt::is_truthy(interp, &__t1260)?) } }; Value::bool(rt::is_truthy(interp, &__t1262)?) } }; if match rt::is_truthy(interp, &__t1266) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1263 = Value::sym(interp.intern("EQ")); let __t1265 = { let __t1264 = v_V5743.clone(); rt::tl(&__t1264)? }; rt::cons(&__t1263, &__t1265) }); } else { { let __t1207 = { let __t1202 = { let __t1163 = v_V5743.clone(); rt::is_cons(&__t1163) }; if !rt::is_truthy(interp, &__t1202)? { Value::bool(false) } else { let __t1203 = { let __t1200 = { let __t1164 = Value::sym(interp.intern("cl.equal?")); let __t1166 = { let __t1165 = v_V5743.clone(); rt::hd(&__t1165)? }; rt::eq(&__t1164, &__t1166) }; if !rt::is_truthy(interp, &__t1200)? { Value::bool(false) } else { let __t1201 = { let __t1198 = { let __t1168 = { let __t1167 = v_V5743.clone(); rt::tl(&__t1167)? }; rt::is_cons(&__t1168) }; if !rt::is_truthy(interp, &__t1198)? { Value::bool(false) } else { let __t1199 = { let __t1196 = { let __t1171 = { let __t1170 = { let __t1169 = v_V5743.clone(); rt::tl(&__t1169)? }; rt::hd(&__t1170)? }; rt::is_cons(&__t1171) }; if !rt::is_truthy(interp, &__t1196)? { Value::bool(false) } else { let __t1197 = { let __t1194 = { let __t1172 = Value::sym(interp.intern("fail")); let __t1176 = { let __t1175 = { let __t1174 = { let __t1173 = v_V5743.clone(); rt::tl(&__t1173)? }; rt::hd(&__t1174)? }; rt::hd(&__t1175)? }; rt::eq(&__t1172, &__t1176) }; if !rt::is_truthy(interp, &__t1194)? { Value::bool(false) } else { let __t1195 = { let __t1192 = { let __t1177 = Value::nil(); let __t1181 = { let __t1180 = { let __t1179 = { let __t1178 = v_V5743.clone(); rt::tl(&__t1178)? }; rt::hd(&__t1179)? }; rt::tl(&__t1180)? }; rt::eq(&__t1177, &__t1181) }; if !rt::is_truthy(interp, &__t1192)? { Value::bool(false) } else { let __t1193 = { let __t1190 = { let __t1184 = { let __t1183 = { let __t1182 = v_V5743.clone(); rt::tl(&__t1182)? }; rt::tl(&__t1183)? }; rt::is_cons(&__t1184) }; if !rt::is_truthy(interp, &__t1190)? { Value::bool(false) } else { let __t1191 = { let __t1185 = Value::nil(); let __t1189 = { let __t1188 = { let __t1187 = { let __t1186 = v_V5743.clone(); rt::tl(&__t1186)? }; rt::tl(&__t1187)? }; rt::tl(&__t1188)? }; rt::eq(&__t1185, &__t1189) }; Value::bool(rt::is_truthy(interp, &__t1191)?) } }; Value::bool(rt::is_truthy(interp, &__t1193)?) } }; Value::bool(rt::is_truthy(interp, &__t1195)?) } }; Value::bool(rt::is_truthy(interp, &__t1197)?) } }; Value::bool(rt::is_truthy(interp, &__t1199)?) } }; Value::bool(rt::is_truthy(interp, &__t1201)?) } }; Value::bool(rt::is_truthy(interp, &__t1203)?) } }; if match rt::is_truthy(interp, &__t1207) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1204 = Value::sym(interp.intern("EQ")); let __t1206 = { let __t1205 = v_V5743.clone(); rt::tl(&__t1205)? }; rt::cons(&__t1204, &__t1206) }); } else { { let __t1162 = { let __t1157 = { let __t1115 = v_V5743.clone(); rt::is_cons(&__t1115) }; if !rt::is_truthy(interp, &__t1157)? { Value::bool(false) } else { let __t1158 = { let __t1155 = { let __t1116 = Value::sym(interp.intern("cl.equal?")); let __t1118 = { let __t1117 = v_V5743.clone(); rt::hd(&__t1117)? }; rt::eq(&__t1116, &__t1118) }; if !rt::is_truthy(interp, &__t1155)? { Value::bool(false) } else { let __t1156 = { let __t1153 = { let __t1120 = { let __t1119 = v_V5743.clone(); rt::tl(&__t1119)? }; rt::is_cons(&__t1120) }; if !rt::is_truthy(interp, &__t1153)? { Value::bool(false) } else { let __t1154 = { let __t1151 = { let __t1123 = { let __t1122 = { let __t1121 = v_V5743.clone(); rt::tl(&__t1121)? }; rt::tl(&__t1122)? }; rt::is_cons(&__t1123) }; if !rt::is_truthy(interp, &__t1151)? { Value::bool(false) } else { let __t1152 = { let __t1149 = { let __t1127 = { let __t1126 = { let __t1125 = { let __t1124 = v_V5743.clone(); rt::tl(&__t1124)? }; rt::tl(&__t1125)? }; rt::hd(&__t1126)? }; rt::is_cons(&__t1127) }; if !rt::is_truthy(interp, &__t1149)? { Value::bool(false) } else { let __t1150 = { let __t1147 = { let __t1128 = Value::sym(interp.intern("fail")); let __t1133 = { let __t1132 = { let __t1131 = { let __t1130 = { let __t1129 = v_V5743.clone(); rt::tl(&__t1129)? }; rt::tl(&__t1130)? }; rt::hd(&__t1131)? }; rt::hd(&__t1132)? }; rt::eq(&__t1128, &__t1133) }; if !rt::is_truthy(interp, &__t1147)? { Value::bool(false) } else { let __t1148 = { let __t1145 = { let __t1134 = Value::nil(); let __t1139 = { let __t1138 = { let __t1137 = { let __t1136 = { let __t1135 = v_V5743.clone(); rt::tl(&__t1135)? }; rt::tl(&__t1136)? }; rt::hd(&__t1137)? }; rt::tl(&__t1138)? }; rt::eq(&__t1134, &__t1139) }; if !rt::is_truthy(interp, &__t1145)? { Value::bool(false) } else { let __t1146 = { let __t1140 = Value::nil(); let __t1144 = { let __t1143 = { let __t1142 = { let __t1141 = v_V5743.clone(); rt::tl(&__t1141)? }; rt::tl(&__t1142)? }; rt::tl(&__t1143)? }; rt::eq(&__t1140, &__t1144) }; Value::bool(rt::is_truthy(interp, &__t1146)?) } }; Value::bool(rt::is_truthy(interp, &__t1148)?) } }; Value::bool(rt::is_truthy(interp, &__t1150)?) } }; Value::bool(rt::is_truthy(interp, &__t1152)?) } }; Value::bool(rt::is_truthy(interp, &__t1154)?) } }; Value::bool(rt::is_truthy(interp, &__t1156)?) } }; Value::bool(rt::is_truthy(interp, &__t1158)?) } }; if match rt::is_truthy(interp, &__t1162) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1159 = Value::sym(interp.intern("EQ")); let __t1161 = { let __t1160 = v_V5743.clone(); rt::tl(&__t1160)? }; rt::cons(&__t1159, &__t1161) }); } else { { let __t1114 = { let __t1109 = { let __t1084 = v_V5743.clone(); rt::is_cons(&__t1084) }; if !rt::is_truthy(interp, &__t1109)? { Value::bool(false) } else { let __t1110 = { let __t1107 = { let __t1085 = Value::sym(interp.intern("cl.equal?")); let __t1087 = { let __t1086 = v_V5743.clone(); rt::hd(&__t1086)? }; rt::eq(&__t1085, &__t1087) }; if !rt::is_truthy(interp, &__t1107)? { Value::bool(false) } else { let __t1108 = { let __t1105 = { let __t1089 = { let __t1088 = v_V5743.clone(); rt::tl(&__t1088)? }; rt::is_cons(&__t1089) }; if !rt::is_truthy(interp, &__t1105)? { Value::bool(false) } else { let __t1106 = { let __t1103 = { let __t1092 = { let __t1091 = { let __t1090 = v_V5743.clone(); rt::tl(&__t1090)? }; rt::tl(&__t1091)? }; rt::is_cons(&__t1092) }; if !rt::is_truthy(interp, &__t1103)? { Value::bool(false) } else { let __t1104 = { let __t1101 = { let __t1093 = Value::nil(); let __t1097 = { let __t1096 = { let __t1095 = { let __t1094 = v_V5743.clone(); rt::tl(&__t1094)? }; rt::tl(&__t1095)? }; rt::tl(&__t1096)? }; rt::eq(&__t1093, &__t1097) }; if !rt::is_truthy(interp, &__t1101)? { Value::bool(false) } else { let __t1102 = { let __t1100 = { let __t1099 = { let __t1098 = v_V5743.clone(); rt::tl(&__t1098)? }; rt::hd(&__t1099)? }; rt::is_string(&__t1100) }; Value::bool(rt::is_truthy(interp, &__t1102)?) } }; Value::bool(rt::is_truthy(interp, &__t1104)?) } }; Value::bool(rt::is_truthy(interp, &__t1106)?) } }; Value::bool(rt::is_truthy(interp, &__t1108)?) } }; Value::bool(rt::is_truthy(interp, &__t1110)?) } }; if match rt::is_truthy(interp, &__t1114) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1111 = Value::sym(interp.intern("EQUAL")); let __t1113 = { let __t1112 = v_V5743.clone(); rt::tl(&__t1112)? }; rt::cons(&__t1111, &__t1113) }); } else { { let __t1083 = { let __t1078 = { let __t1052 = v_V5743.clone(); rt::is_cons(&__t1052) }; if !rt::is_truthy(interp, &__t1078)? { Value::bool(false) } else { let __t1079 = { let __t1076 = { let __t1053 = Value::sym(interp.intern("cl.equal?")); let __t1055 = { let __t1054 = v_V5743.clone(); rt::hd(&__t1054)? }; rt::eq(&__t1053, &__t1055) }; if !rt::is_truthy(interp, &__t1076)? { Value::bool(false) } else { let __t1077 = { let __t1074 = { let __t1057 = { let __t1056 = v_V5743.clone(); rt::tl(&__t1056)? }; rt::is_cons(&__t1057) }; if !rt::is_truthy(interp, &__t1074)? { Value::bool(false) } else { let __t1075 = { let __t1072 = { let __t1060 = { let __t1059 = { let __t1058 = v_V5743.clone(); rt::tl(&__t1058)? }; rt::tl(&__t1059)? }; rt::is_cons(&__t1060) }; if !rt::is_truthy(interp, &__t1072)? { Value::bool(false) } else { let __t1073 = { let __t1070 = { let __t1061 = Value::nil(); let __t1065 = { let __t1064 = { let __t1063 = { let __t1062 = v_V5743.clone(); rt::tl(&__t1062)? }; rt::tl(&__t1063)? }; rt::tl(&__t1064)? }; rt::eq(&__t1061, &__t1065) }; if !rt::is_truthy(interp, &__t1070)? { Value::bool(false) } else { let __t1071 = { let __t1069 = { let __t1068 = { let __t1067 = { let __t1066 = v_V5743.clone(); rt::tl(&__t1066)? }; rt::tl(&__t1067)? }; rt::hd(&__t1068)? }; rt::is_string(&__t1069) }; Value::bool(rt::is_truthy(interp, &__t1071)?) } }; Value::bool(rt::is_truthy(interp, &__t1073)?) } }; Value::bool(rt::is_truthy(interp, &__t1075)?) } }; Value::bool(rt::is_truthy(interp, &__t1077)?) } }; Value::bool(rt::is_truthy(interp, &__t1079)?) } }; if match rt::is_truthy(interp, &__t1083) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1080 = Value::sym(interp.intern("EQUAL")); let __t1082 = { let __t1081 = v_V5743.clone(); rt::tl(&__t1081)? }; rt::cons(&__t1080, &__t1082) }); } else { { let __t1051 = { let __t1046 = { let __t1021 = v_V5743.clone(); rt::is_cons(&__t1021) }; if !rt::is_truthy(interp, &__t1046)? { Value::bool(false) } else { let __t1047 = { let __t1044 = { let __t1022 = Value::sym(interp.intern("cl.equal?")); let __t1024 = { let __t1023 = v_V5743.clone(); rt::hd(&__t1023)? }; rt::eq(&__t1022, &__t1024) }; if !rt::is_truthy(interp, &__t1044)? { Value::bool(false) } else { let __t1045 = { let __t1042 = { let __t1026 = { let __t1025 = v_V5743.clone(); rt::tl(&__t1025)? }; rt::is_cons(&__t1026) }; if !rt::is_truthy(interp, &__t1042)? { Value::bool(false) } else { let __t1043 = { let __t1040 = { let __t1029 = { let __t1028 = { let __t1027 = v_V5743.clone(); rt::tl(&__t1027)? }; rt::tl(&__t1028)? }; rt::is_cons(&__t1029) }; if !rt::is_truthy(interp, &__t1040)? { Value::bool(false) } else { let __t1041 = { let __t1038 = { let __t1030 = Value::nil(); let __t1034 = { let __t1033 = { let __t1032 = { let __t1031 = v_V5743.clone(); rt::tl(&__t1031)? }; rt::tl(&__t1032)? }; rt::tl(&__t1033)? }; rt::eq(&__t1030, &__t1034) }; if !rt::is_truthy(interp, &__t1038)? { Value::bool(false) } else { let __t1039 = { let __t1037 = { let __t1036 = { let __t1035 = v_V5743.clone(); rt::tl(&__t1035)? }; rt::hd(&__t1036)? }; rt::is_number(&__t1037) }; Value::bool(rt::is_truthy(interp, &__t1039)?) } }; Value::bool(rt::is_truthy(interp, &__t1041)?) } }; Value::bool(rt::is_truthy(interp, &__t1043)?) } }; Value::bool(rt::is_truthy(interp, &__t1045)?) } }; Value::bool(rt::is_truthy(interp, &__t1047)?) } }; if match rt::is_truthy(interp, &__t1051) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1048 = Value::sym(interp.intern("EQUALP")); let __t1050 = { let __t1049 = v_V5743.clone(); rt::tl(&__t1049)? }; rt::cons(&__t1048, &__t1050) }); } else { { let __t1020 = { let __t1015 = { let __t989 = v_V5743.clone(); rt::is_cons(&__t989) }; if !rt::is_truthy(interp, &__t1015)? { Value::bool(false) } else { let __t1016 = { let __t1013 = { let __t990 = Value::sym(interp.intern("cl.equal?")); let __t992 = { let __t991 = v_V5743.clone(); rt::hd(&__t991)? }; rt::eq(&__t990, &__t992) }; if !rt::is_truthy(interp, &__t1013)? { Value::bool(false) } else { let __t1014 = { let __t1011 = { let __t994 = { let __t993 = v_V5743.clone(); rt::tl(&__t993)? }; rt::is_cons(&__t994) }; if !rt::is_truthy(interp, &__t1011)? { Value::bool(false) } else { let __t1012 = { let __t1009 = { let __t997 = { let __t996 = { let __t995 = v_V5743.clone(); rt::tl(&__t995)? }; rt::tl(&__t996)? }; rt::is_cons(&__t997) }; if !rt::is_truthy(interp, &__t1009)? { Value::bool(false) } else { let __t1010 = { let __t1007 = { let __t998 = Value::nil(); let __t1002 = { let __t1001 = { let __t1000 = { let __t999 = v_V5743.clone(); rt::tl(&__t999)? }; rt::tl(&__t1000)? }; rt::tl(&__t1001)? }; rt::eq(&__t998, &__t1002) }; if !rt::is_truthy(interp, &__t1007)? { Value::bool(false) } else { let __t1008 = { let __t1006 = { let __t1005 = { let __t1004 = { let __t1003 = v_V5743.clone(); rt::tl(&__t1003)? }; rt::tl(&__t1004)? }; rt::hd(&__t1005)? }; rt::is_number(&__t1006) }; Value::bool(rt::is_truthy(interp, &__t1008)?) } }; Value::bool(rt::is_truthy(interp, &__t1010)?) } }; Value::bool(rt::is_truthy(interp, &__t1012)?) } }; Value::bool(rt::is_truthy(interp, &__t1014)?) } }; Value::bool(rt::is_truthy(interp, &__t1016)?) } }; if match rt::is_truthy(interp, &__t1020) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1017 = Value::sym(interp.intern("EQUALP")); let __t1019 = { let __t1018 = v_V5743.clone(); rt::tl(&__t1018)? }; rt::cons(&__t1017, &__t1019) }); } else { { let __t988 = { let __t983 = { let __t963 = v_V5743.clone(); rt::is_cons(&__t963) }; if !rt::is_truthy(interp, &__t983)? { Value::bool(false) } else { let __t984 = { let __t981 = { let __t964 = Value::sym(interp.intern("cl.equal?")); let __t966 = { let __t965 = v_V5743.clone(); rt::hd(&__t965)? }; rt::eq(&__t964, &__t966) }; if !rt::is_truthy(interp, &__t981)? { Value::bool(false) } else { let __t982 = { let __t979 = { let __t968 = { let __t967 = v_V5743.clone(); rt::tl(&__t967)? }; rt::is_cons(&__t968) }; if !rt::is_truthy(interp, &__t979)? { Value::bool(false) } else { let __t980 = { let __t977 = { let __t971 = { let __t970 = { let __t969 = v_V5743.clone(); rt::tl(&__t969)? }; rt::tl(&__t970)? }; rt::is_cons(&__t971) }; if !rt::is_truthy(interp, &__t977)? { Value::bool(false) } else { let __t978 = { let __t972 = Value::nil(); let __t976 = { let __t975 = { let __t974 = { let __t973 = v_V5743.clone(); rt::tl(&__t973)? }; rt::tl(&__t974)? }; rt::tl(&__t975)? }; rt::eq(&__t972, &__t976) }; Value::bool(rt::is_truthy(interp, &__t978)?) } }; Value::bool(rt::is_truthy(interp, &__t980)?) } }; Value::bool(rt::is_truthy(interp, &__t982)?) } }; Value::bool(rt::is_truthy(interp, &__t984)?) } }; if match rt::is_truthy(interp, &__t988) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t985 = Value::sym(interp.intern("cl.ABSEQUAL")); let __t987 = { let __t986 = v_V5743.clone(); rt::tl(&__t986)? }; rt::cons(&__t985, &__t987) }); } else { { let __t962 = { let __t957 = { let __t937 = v_V5743.clone(); rt::is_cons(&__t937) }; if !rt::is_truthy(interp, &__t957)? { Value::bool(false) } else { let __t958 = { let __t955 = { let __t938 = Value::sym(interp.intern("cl.greater?")); let __t940 = { let __t939 = v_V5743.clone(); rt::hd(&__t939)? }; rt::eq(&__t938, &__t940) }; if !rt::is_truthy(interp, &__t955)? { Value::bool(false) } else { let __t956 = { let __t953 = { let __t942 = { let __t941 = v_V5743.clone(); rt::tl(&__t941)? }; rt::is_cons(&__t942) }; if !rt::is_truthy(interp, &__t953)? { Value::bool(false) } else { let __t954 = { let __t951 = { let __t945 = { let __t944 = { let __t943 = v_V5743.clone(); rt::tl(&__t943)? }; rt::tl(&__t944)? }; rt::is_cons(&__t945) }; if !rt::is_truthy(interp, &__t951)? { Value::bool(false) } else { let __t952 = { let __t946 = Value::nil(); let __t950 = { let __t949 = { let __t948 = { let __t947 = v_V5743.clone(); rt::tl(&__t947)? }; rt::tl(&__t948)? }; rt::tl(&__t949)? }; rt::eq(&__t946, &__t950) }; Value::bool(rt::is_truthy(interp, &__t952)?) } }; Value::bool(rt::is_truthy(interp, &__t954)?) } }; Value::bool(rt::is_truthy(interp, &__t956)?) } }; Value::bool(rt::is_truthy(interp, &__t958)?) } }; if match rt::is_truthy(interp, &__t962) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t959 = Value::sym(interp.intern(">")); let __t961 = { let __t960 = v_V5743.clone(); rt::tl(&__t960)? }; rt::cons(&__t959, &__t961) }); } else { { let __t936 = { let __t931 = { let __t911 = v_V5743.clone(); rt::is_cons(&__t911) }; if !rt::is_truthy(interp, &__t931)? { Value::bool(false) } else { let __t932 = { let __t929 = { let __t912 = Value::sym(interp.intern("cl.greater-than-or-equal-to?")); let __t914 = { let __t913 = v_V5743.clone(); rt::hd(&__t913)? }; rt::eq(&__t912, &__t914) }; if !rt::is_truthy(interp, &__t929)? { Value::bool(false) } else { let __t930 = { let __t927 = { let __t916 = { let __t915 = v_V5743.clone(); rt::tl(&__t915)? }; rt::is_cons(&__t916) }; if !rt::is_truthy(interp, &__t927)? { Value::bool(false) } else { let __t928 = { let __t925 = { let __t919 = { let __t918 = { let __t917 = v_V5743.clone(); rt::tl(&__t917)? }; rt::tl(&__t918)? }; rt::is_cons(&__t919) }; if !rt::is_truthy(interp, &__t925)? { Value::bool(false) } else { let __t926 = { let __t920 = Value::nil(); let __t924 = { let __t923 = { let __t922 = { let __t921 = v_V5743.clone(); rt::tl(&__t921)? }; rt::tl(&__t922)? }; rt::tl(&__t923)? }; rt::eq(&__t920, &__t924) }; Value::bool(rt::is_truthy(interp, &__t926)?) } }; Value::bool(rt::is_truthy(interp, &__t928)?) } }; Value::bool(rt::is_truthy(interp, &__t930)?) } }; Value::bool(rt::is_truthy(interp, &__t932)?) } }; if match rt::is_truthy(interp, &__t936) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t933 = Value::sym(interp.intern(">=")); let __t935 = { let __t934 = v_V5743.clone(); rt::tl(&__t934)? }; rt::cons(&__t933, &__t935) }); } else { { let __t910 = { let __t905 = { let __t885 = v_V5743.clone(); rt::is_cons(&__t885) }; if !rt::is_truthy(interp, &__t905)? { Value::bool(false) } else { let __t906 = { let __t903 = { let __t886 = Value::sym(interp.intern("cl.less?")); let __t888 = { let __t887 = v_V5743.clone(); rt::hd(&__t887)? }; rt::eq(&__t886, &__t888) }; if !rt::is_truthy(interp, &__t903)? { Value::bool(false) } else { let __t904 = { let __t901 = { let __t890 = { let __t889 = v_V5743.clone(); rt::tl(&__t889)? }; rt::is_cons(&__t890) }; if !rt::is_truthy(interp, &__t901)? { Value::bool(false) } else { let __t902 = { let __t899 = { let __t893 = { let __t892 = { let __t891 = v_V5743.clone(); rt::tl(&__t891)? }; rt::tl(&__t892)? }; rt::is_cons(&__t893) }; if !rt::is_truthy(interp, &__t899)? { Value::bool(false) } else { let __t900 = { let __t894 = Value::nil(); let __t898 = { let __t897 = { let __t896 = { let __t895 = v_V5743.clone(); rt::tl(&__t895)? }; rt::tl(&__t896)? }; rt::tl(&__t897)? }; rt::eq(&__t894, &__t898) }; Value::bool(rt::is_truthy(interp, &__t900)?) } }; Value::bool(rt::is_truthy(interp, &__t902)?) } }; Value::bool(rt::is_truthy(interp, &__t904)?) } }; Value::bool(rt::is_truthy(interp, &__t906)?) } }; if match rt::is_truthy(interp, &__t910) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t907 = Value::sym(interp.intern("<")); let __t909 = { let __t908 = v_V5743.clone(); rt::tl(&__t908)? }; rt::cons(&__t907, &__t909) }); } else { { let __t884 = { let __t879 = { let __t859 = v_V5743.clone(); rt::is_cons(&__t859) }; if !rt::is_truthy(interp, &__t879)? { Value::bool(false) } else { let __t880 = { let __t877 = { let __t860 = Value::sym(interp.intern("cl.less-than-or-equal-to?")); let __t862 = { let __t861 = v_V5743.clone(); rt::hd(&__t861)? }; rt::eq(&__t860, &__t862) }; if !rt::is_truthy(interp, &__t877)? { Value::bool(false) } else { let __t878 = { let __t875 = { let __t864 = { let __t863 = v_V5743.clone(); rt::tl(&__t863)? }; rt::is_cons(&__t864) }; if !rt::is_truthy(interp, &__t875)? { Value::bool(false) } else { let __t876 = { let __t873 = { let __t867 = { let __t866 = { let __t865 = v_V5743.clone(); rt::tl(&__t865)? }; rt::tl(&__t866)? }; rt::is_cons(&__t867) }; if !rt::is_truthy(interp, &__t873)? { Value::bool(false) } else { let __t874 = { let __t868 = Value::nil(); let __t872 = { let __t871 = { let __t870 = { let __t869 = v_V5743.clone(); rt::tl(&__t869)? }; rt::tl(&__t870)? }; rt::tl(&__t871)? }; rt::eq(&__t868, &__t872) }; Value::bool(rt::is_truthy(interp, &__t874)?) } }; Value::bool(rt::is_truthy(interp, &__t876)?) } }; Value::bool(rt::is_truthy(interp, &__t878)?) } }; Value::bool(rt::is_truthy(interp, &__t880)?) } }; if match rt::is_truthy(interp, &__t884) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t881 = Value::sym(interp.intern("<=")); let __t883 = { let __t882 = v_V5743.clone(); rt::tl(&__t882)? }; rt::cons(&__t881, &__t883) }); } else { { let __t858 = Value::bool(true); if match rt::is_truthy(interp, &__t858) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t854 = Value::sym(interp.intern("cl.wrapper")); let __t857 = { let __t855 = v_V5743.clone(); let __t856 = Value::nil(); rt::cons(&__t855, &__t856) }; rt::cons(&__t854, &__t857) }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } + if match rt::is_truthy(interp, &__t1186) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1182 = Value::sym(interp.intern_static("NULL")); let __t1185 = { let __t1184 = { let __t1183 = v_V5743.clone(); rt::tl(&__t1183)? }; rt::tl(&__t1184)? }; rt::cons(&__t1182, &__t1185) }); } else { { let __t1159 = { let __t1154 = { let __t1104 = v_V5743.clone(); rt::is_cons(&__t1104) }; if !rt::is_truthy(interp, &__t1154)? { Value::bool(false) } else { let __t1155 = { let __t1152 = Value::bool(({ let __t1105 = v_V5743.clone(); rt::hd(&__t1105)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t1152)? { Value::bool(false) } else { let __t1153 = { let __t1150 = { let __t1107 = { let __t1106 = v_V5743.clone(); rt::tl(&__t1106)? }; rt::is_cons(&__t1107) }; if !rt::is_truthy(interp, &__t1150)? { Value::bool(false) } else { let __t1151 = { let __t1148 = { let __t1110 = { let __t1109 = { let __t1108 = v_V5743.clone(); rt::tl(&__t1108)? }; rt::tl(&__t1109)? }; rt::is_cons(&__t1110) }; if !rt::is_truthy(interp, &__t1148)? { Value::bool(false) } else { let __t1149 = { let __t1146 = { let __t1114 = { let __t1113 = { let __t1112 = { let __t1111 = v_V5743.clone(); rt::tl(&__t1111)? }; rt::tl(&__t1112)? }; rt::hd(&__t1113)? }; rt::is_cons(&__t1114) }; if !rt::is_truthy(interp, &__t1146)? { Value::bool(false) } else { let __t1147 = { let __t1144 = { let __t1119 = { let __t1118 = { let __t1117 = { let __t1116 = { let __t1115 = v_V5743.clone(); rt::tl(&__t1115)? }; rt::tl(&__t1116)? }; rt::hd(&__t1117)? }; rt::tl(&__t1118)? }; rt::is_cons(&__t1119) }; if !rt::is_truthy(interp, &__t1144)? { Value::bool(false) } else { let __t1145 = { let __t1142 = Value::bool(({ let __t1124 = { let __t1123 = { let __t1122 = { let __t1121 = { let __t1120 = v_V5743.clone(); rt::tl(&__t1120)? }; rt::tl(&__t1121)? }; rt::hd(&__t1122)? }; rt::tl(&__t1123)? }; rt::tl(&__t1124)? }).is_nil()); if !rt::is_truthy(interp, &__t1142)? { Value::bool(false) } else { let __t1143 = { let __t1140 = Value::bool(({ let __t1127 = { let __t1126 = { let __t1125 = v_V5743.clone(); rt::tl(&__t1125)? }; rt::tl(&__t1126)? }; rt::tl(&__t1127)? }).is_nil()); if !rt::is_truthy(interp, &__t1140)? { Value::bool(false) } else { let __t1141 = { let __t1138 = Value::bool(({ let __t1131 = { let __t1130 = { let __t1129 = { let __t1128 = v_V5743.clone(); rt::tl(&__t1128)? }; rt::tl(&__t1129)? }; rt::hd(&__t1130)? }; rt::hd(&__t1131)? }).as_sym() == Some(interp.intern_static("QUOTE"))); if !rt::is_truthy(interp, &__t1138)? { Value::bool(false) } else { let __t1139 = { let __t1137 = { let __t1136 = { let __t1135 = { let __t1134 = { let __t1133 = { let __t1132 = v_V5743.clone(); rt::tl(&__t1132)? }; rt::tl(&__t1133)? }; rt::hd(&__t1134)? }; rt::tl(&__t1135)? }; rt::hd(&__t1136)? }; aot_cl_x2e_fastsymbol_x3f_(interp, &[__t1137])? }; Value::bool(rt::is_truthy(interp, &__t1139)?) } }; Value::bool(rt::is_truthy(interp, &__t1141)?) } }; Value::bool(rt::is_truthy(interp, &__t1143)?) } }; Value::bool(rt::is_truthy(interp, &__t1145)?) } }; Value::bool(rt::is_truthy(interp, &__t1147)?) } }; Value::bool(rt::is_truthy(interp, &__t1149)?) } }; Value::bool(rt::is_truthy(interp, &__t1151)?) } }; Value::bool(rt::is_truthy(interp, &__t1153)?) } }; Value::bool(rt::is_truthy(interp, &__t1155)?) } }; if match rt::is_truthy(interp, &__t1159) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1156 = Value::sym(interp.intern_static("EQ")); let __t1158 = { let __t1157 = v_V5743.clone(); rt::tl(&__t1157)? }; rt::cons(&__t1156, &__t1158) }); } else { { let __t1103 = { let __t1098 = { let __t1053 = v_V5743.clone(); rt::is_cons(&__t1053) }; if !rt::is_truthy(interp, &__t1098)? { Value::bool(false) } else { let __t1099 = { let __t1096 = Value::bool(({ let __t1054 = v_V5743.clone(); rt::hd(&__t1054)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t1096)? { Value::bool(false) } else { let __t1097 = { let __t1094 = { let __t1056 = { let __t1055 = v_V5743.clone(); rt::tl(&__t1055)? }; rt::is_cons(&__t1056) }; if !rt::is_truthy(interp, &__t1094)? { Value::bool(false) } else { let __t1095 = { let __t1092 = { let __t1059 = { let __t1058 = { let __t1057 = v_V5743.clone(); rt::tl(&__t1057)? }; rt::hd(&__t1058)? }; rt::is_cons(&__t1059) }; if !rt::is_truthy(interp, &__t1092)? { Value::bool(false) } else { let __t1093 = { let __t1090 = { let __t1063 = { let __t1062 = { let __t1061 = { let __t1060 = v_V5743.clone(); rt::tl(&__t1060)? }; rt::hd(&__t1061)? }; rt::tl(&__t1062)? }; rt::is_cons(&__t1063) }; if !rt::is_truthy(interp, &__t1090)? { Value::bool(false) } else { let __t1091 = { let __t1088 = Value::bool(({ let __t1067 = { let __t1066 = { let __t1065 = { let __t1064 = v_V5743.clone(); rt::tl(&__t1064)? }; rt::hd(&__t1065)? }; rt::tl(&__t1066)? }; rt::tl(&__t1067)? }).is_nil()); if !rt::is_truthy(interp, &__t1088)? { Value::bool(false) } else { let __t1089 = { let __t1086 = { let __t1070 = { let __t1069 = { let __t1068 = v_V5743.clone(); rt::tl(&__t1068)? }; rt::tl(&__t1069)? }; rt::is_cons(&__t1070) }; if !rt::is_truthy(interp, &__t1086)? { Value::bool(false) } else { let __t1087 = { let __t1084 = Value::bool(({ let __t1073 = { let __t1072 = { let __t1071 = v_V5743.clone(); rt::tl(&__t1071)? }; rt::tl(&__t1072)? }; rt::tl(&__t1073)? }).is_nil()); if !rt::is_truthy(interp, &__t1084)? { Value::bool(false) } else { let __t1085 = { let __t1082 = Value::bool(({ let __t1076 = { let __t1075 = { let __t1074 = v_V5743.clone(); rt::tl(&__t1074)? }; rt::hd(&__t1075)? }; rt::hd(&__t1076)? }).as_sym() == Some(interp.intern_static("QUOTE"))); if !rt::is_truthy(interp, &__t1082)? { Value::bool(false) } else { let __t1083 = { let __t1081 = { let __t1080 = { let __t1079 = { let __t1078 = { let __t1077 = v_V5743.clone(); rt::tl(&__t1077)? }; rt::hd(&__t1078)? }; rt::tl(&__t1079)? }; rt::hd(&__t1080)? }; aot_cl_x2e_fastsymbol_x3f_(interp, &[__t1081])? }; Value::bool(rt::is_truthy(interp, &__t1083)?) } }; Value::bool(rt::is_truthy(interp, &__t1085)?) } }; Value::bool(rt::is_truthy(interp, &__t1087)?) } }; Value::bool(rt::is_truthy(interp, &__t1089)?) } }; Value::bool(rt::is_truthy(interp, &__t1091)?) } }; Value::bool(rt::is_truthy(interp, &__t1093)?) } }; Value::bool(rt::is_truthy(interp, &__t1095)?) } }; Value::bool(rt::is_truthy(interp, &__t1097)?) } }; Value::bool(rt::is_truthy(interp, &__t1099)?) } }; if match rt::is_truthy(interp, &__t1103) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1100 = Value::sym(interp.intern_static("EQ")); let __t1102 = { let __t1101 = v_V5743.clone(); rt::tl(&__t1101)? }; rt::cons(&__t1100, &__t1102) }); } else { { let __t1052 = { let __t1047 = { let __t1016 = v_V5743.clone(); rt::is_cons(&__t1016) }; if !rt::is_truthy(interp, &__t1047)? { Value::bool(false) } else { let __t1048 = { let __t1045 = Value::bool(({ let __t1017 = v_V5743.clone(); rt::hd(&__t1017)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t1045)? { Value::bool(false) } else { let __t1046 = { let __t1043 = { let __t1019 = { let __t1018 = v_V5743.clone(); rt::tl(&__t1018)? }; rt::is_cons(&__t1019) }; if !rt::is_truthy(interp, &__t1043)? { Value::bool(false) } else { let __t1044 = { let __t1041 = { let __t1022 = { let __t1021 = { let __t1020 = v_V5743.clone(); rt::tl(&__t1020)? }; rt::hd(&__t1021)? }; rt::is_cons(&__t1022) }; if !rt::is_truthy(interp, &__t1041)? { Value::bool(false) } else { let __t1042 = { let __t1039 = Value::bool(({ let __t1025 = { let __t1024 = { let __t1023 = v_V5743.clone(); rt::tl(&__t1023)? }; rt::hd(&__t1024)? }; rt::hd(&__t1025)? }).as_sym() == Some(interp.intern_static("fail"))); if !rt::is_truthy(interp, &__t1039)? { Value::bool(false) } else { let __t1040 = { let __t1037 = Value::bool(({ let __t1028 = { let __t1027 = { let __t1026 = v_V5743.clone(); rt::tl(&__t1026)? }; rt::hd(&__t1027)? }; rt::tl(&__t1028)? }).is_nil()); if !rt::is_truthy(interp, &__t1037)? { Value::bool(false) } else { let __t1038 = { let __t1035 = { let __t1031 = { let __t1030 = { let __t1029 = v_V5743.clone(); rt::tl(&__t1029)? }; rt::tl(&__t1030)? }; rt::is_cons(&__t1031) }; if !rt::is_truthy(interp, &__t1035)? { Value::bool(false) } else { let __t1036 = Value::bool(({ let __t1034 = { let __t1033 = { let __t1032 = v_V5743.clone(); rt::tl(&__t1032)? }; rt::tl(&__t1033)? }; rt::tl(&__t1034)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t1036)?) } }; Value::bool(rt::is_truthy(interp, &__t1038)?) } }; Value::bool(rt::is_truthy(interp, &__t1040)?) } }; Value::bool(rt::is_truthy(interp, &__t1042)?) } }; Value::bool(rt::is_truthy(interp, &__t1044)?) } }; Value::bool(rt::is_truthy(interp, &__t1046)?) } }; Value::bool(rt::is_truthy(interp, &__t1048)?) } }; if match rt::is_truthy(interp, &__t1052) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1049 = Value::sym(interp.intern_static("EQ")); let __t1051 = { let __t1050 = v_V5743.clone(); rt::tl(&__t1050)? }; rt::cons(&__t1049, &__t1051) }); } else { { let __t1015 = { let __t1010 = { let __t976 = v_V5743.clone(); rt::is_cons(&__t976) }; if !rt::is_truthy(interp, &__t1010)? { Value::bool(false) } else { let __t1011 = { let __t1008 = Value::bool(({ let __t977 = v_V5743.clone(); rt::hd(&__t977)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t1008)? { Value::bool(false) } else { let __t1009 = { let __t1006 = { let __t979 = { let __t978 = v_V5743.clone(); rt::tl(&__t978)? }; rt::is_cons(&__t979) }; if !rt::is_truthy(interp, &__t1006)? { Value::bool(false) } else { let __t1007 = { let __t1004 = { let __t982 = { let __t981 = { let __t980 = v_V5743.clone(); rt::tl(&__t980)? }; rt::tl(&__t981)? }; rt::is_cons(&__t982) }; if !rt::is_truthy(interp, &__t1004)? { Value::bool(false) } else { let __t1005 = { let __t1002 = { let __t986 = { let __t985 = { let __t984 = { let __t983 = v_V5743.clone(); rt::tl(&__t983)? }; rt::tl(&__t984)? }; rt::hd(&__t985)? }; rt::is_cons(&__t986) }; if !rt::is_truthy(interp, &__t1002)? { Value::bool(false) } else { let __t1003 = { let __t1000 = Value::bool(({ let __t990 = { let __t989 = { let __t988 = { let __t987 = v_V5743.clone(); rt::tl(&__t987)? }; rt::tl(&__t988)? }; rt::hd(&__t989)? }; rt::hd(&__t990)? }).as_sym() == Some(interp.intern_static("fail"))); if !rt::is_truthy(interp, &__t1000)? { Value::bool(false) } else { let __t1001 = { let __t998 = Value::bool(({ let __t994 = { let __t993 = { let __t992 = { let __t991 = v_V5743.clone(); rt::tl(&__t991)? }; rt::tl(&__t992)? }; rt::hd(&__t993)? }; rt::tl(&__t994)? }).is_nil()); if !rt::is_truthy(interp, &__t998)? { Value::bool(false) } else { let __t999 = Value::bool(({ let __t997 = { let __t996 = { let __t995 = v_V5743.clone(); rt::tl(&__t995)? }; rt::tl(&__t996)? }; rt::tl(&__t997)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t999)?) } }; Value::bool(rt::is_truthy(interp, &__t1001)?) } }; Value::bool(rt::is_truthy(interp, &__t1003)?) } }; Value::bool(rt::is_truthy(interp, &__t1005)?) } }; Value::bool(rt::is_truthy(interp, &__t1007)?) } }; Value::bool(rt::is_truthy(interp, &__t1009)?) } }; Value::bool(rt::is_truthy(interp, &__t1011)?) } }; if match rt::is_truthy(interp, &__t1015) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1012 = Value::sym(interp.intern_static("EQ")); let __t1014 = { let __t1013 = v_V5743.clone(); rt::tl(&__t1013)? }; rt::cons(&__t1012, &__t1014) }); } else { { let __t975 = { let __t970 = { let __t949 = v_V5743.clone(); rt::is_cons(&__t949) }; if !rt::is_truthy(interp, &__t970)? { Value::bool(false) } else { let __t971 = { let __t968 = Value::bool(({ let __t950 = v_V5743.clone(); rt::hd(&__t950)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t968)? { Value::bool(false) } else { let __t969 = { let __t966 = { let __t952 = { let __t951 = v_V5743.clone(); rt::tl(&__t951)? }; rt::is_cons(&__t952) }; if !rt::is_truthy(interp, &__t966)? { Value::bool(false) } else { let __t967 = { let __t964 = { let __t955 = { let __t954 = { let __t953 = v_V5743.clone(); rt::tl(&__t953)? }; rt::tl(&__t954)? }; rt::is_cons(&__t955) }; if !rt::is_truthy(interp, &__t964)? { Value::bool(false) } else { let __t965 = { let __t962 = Value::bool(({ let __t958 = { let __t957 = { let __t956 = v_V5743.clone(); rt::tl(&__t956)? }; rt::tl(&__t957)? }; rt::tl(&__t958)? }).is_nil()); if !rt::is_truthy(interp, &__t962)? { Value::bool(false) } else { let __t963 = { let __t961 = { let __t960 = { let __t959 = v_V5743.clone(); rt::tl(&__t959)? }; rt::hd(&__t960)? }; rt::is_string(&__t961) }; Value::bool(rt::is_truthy(interp, &__t963)?) } }; Value::bool(rt::is_truthy(interp, &__t965)?) } }; Value::bool(rt::is_truthy(interp, &__t967)?) } }; Value::bool(rt::is_truthy(interp, &__t969)?) } }; Value::bool(rt::is_truthy(interp, &__t971)?) } }; if match rt::is_truthy(interp, &__t975) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t972 = Value::sym(interp.intern_static("EQUAL")); let __t974 = { let __t973 = v_V5743.clone(); rt::tl(&__t973)? }; rt::cons(&__t972, &__t974) }); } else { { let __t948 = { let __t943 = { let __t921 = v_V5743.clone(); rt::is_cons(&__t921) }; if !rt::is_truthy(interp, &__t943)? { Value::bool(false) } else { let __t944 = { let __t941 = Value::bool(({ let __t922 = v_V5743.clone(); rt::hd(&__t922)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t941)? { Value::bool(false) } else { let __t942 = { let __t939 = { let __t924 = { let __t923 = v_V5743.clone(); rt::tl(&__t923)? }; rt::is_cons(&__t924) }; if !rt::is_truthy(interp, &__t939)? { Value::bool(false) } else { let __t940 = { let __t937 = { let __t927 = { let __t926 = { let __t925 = v_V5743.clone(); rt::tl(&__t925)? }; rt::tl(&__t926)? }; rt::is_cons(&__t927) }; if !rt::is_truthy(interp, &__t937)? { Value::bool(false) } else { let __t938 = { let __t935 = Value::bool(({ let __t930 = { let __t929 = { let __t928 = v_V5743.clone(); rt::tl(&__t928)? }; rt::tl(&__t929)? }; rt::tl(&__t930)? }).is_nil()); if !rt::is_truthy(interp, &__t935)? { Value::bool(false) } else { let __t936 = { let __t934 = { let __t933 = { let __t932 = { let __t931 = v_V5743.clone(); rt::tl(&__t931)? }; rt::tl(&__t932)? }; rt::hd(&__t933)? }; rt::is_string(&__t934) }; Value::bool(rt::is_truthy(interp, &__t936)?) } }; Value::bool(rt::is_truthy(interp, &__t938)?) } }; Value::bool(rt::is_truthy(interp, &__t940)?) } }; Value::bool(rt::is_truthy(interp, &__t942)?) } }; Value::bool(rt::is_truthy(interp, &__t944)?) } }; if match rt::is_truthy(interp, &__t948) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t945 = Value::sym(interp.intern_static("EQUAL")); let __t947 = { let __t946 = v_V5743.clone(); rt::tl(&__t946)? }; rt::cons(&__t945, &__t947) }); } else { { let __t920 = { let __t915 = { let __t894 = v_V5743.clone(); rt::is_cons(&__t894) }; if !rt::is_truthy(interp, &__t915)? { Value::bool(false) } else { let __t916 = { let __t913 = Value::bool(({ let __t895 = v_V5743.clone(); rt::hd(&__t895)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t913)? { Value::bool(false) } else { let __t914 = { let __t911 = { let __t897 = { let __t896 = v_V5743.clone(); rt::tl(&__t896)? }; rt::is_cons(&__t897) }; if !rt::is_truthy(interp, &__t911)? { Value::bool(false) } else { let __t912 = { let __t909 = { let __t900 = { let __t899 = { let __t898 = v_V5743.clone(); rt::tl(&__t898)? }; rt::tl(&__t899)? }; rt::is_cons(&__t900) }; if !rt::is_truthy(interp, &__t909)? { Value::bool(false) } else { let __t910 = { let __t907 = Value::bool(({ let __t903 = { let __t902 = { let __t901 = v_V5743.clone(); rt::tl(&__t901)? }; rt::tl(&__t902)? }; rt::tl(&__t903)? }).is_nil()); if !rt::is_truthy(interp, &__t907)? { Value::bool(false) } else { let __t908 = { let __t906 = { let __t905 = { let __t904 = v_V5743.clone(); rt::tl(&__t904)? }; rt::hd(&__t905)? }; rt::is_number(&__t906) }; Value::bool(rt::is_truthy(interp, &__t908)?) } }; Value::bool(rt::is_truthy(interp, &__t910)?) } }; Value::bool(rt::is_truthy(interp, &__t912)?) } }; Value::bool(rt::is_truthy(interp, &__t914)?) } }; Value::bool(rt::is_truthy(interp, &__t916)?) } }; if match rt::is_truthy(interp, &__t920) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t917 = Value::sym(interp.intern_static("EQUALP")); let __t919 = { let __t918 = v_V5743.clone(); rt::tl(&__t918)? }; rt::cons(&__t917, &__t919) }); } else { { let __t893 = { let __t888 = { let __t866 = v_V5743.clone(); rt::is_cons(&__t866) }; if !rt::is_truthy(interp, &__t888)? { Value::bool(false) } else { let __t889 = { let __t886 = Value::bool(({ let __t867 = v_V5743.clone(); rt::hd(&__t867)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t886)? { Value::bool(false) } else { let __t887 = { let __t884 = { let __t869 = { let __t868 = v_V5743.clone(); rt::tl(&__t868)? }; rt::is_cons(&__t869) }; if !rt::is_truthy(interp, &__t884)? { Value::bool(false) } else { let __t885 = { let __t882 = { let __t872 = { let __t871 = { let __t870 = v_V5743.clone(); rt::tl(&__t870)? }; rt::tl(&__t871)? }; rt::is_cons(&__t872) }; if !rt::is_truthy(interp, &__t882)? { Value::bool(false) } else { let __t883 = { let __t880 = Value::bool(({ let __t875 = { let __t874 = { let __t873 = v_V5743.clone(); rt::tl(&__t873)? }; rt::tl(&__t874)? }; rt::tl(&__t875)? }).is_nil()); if !rt::is_truthy(interp, &__t880)? { Value::bool(false) } else { let __t881 = { let __t879 = { let __t878 = { let __t877 = { let __t876 = v_V5743.clone(); rt::tl(&__t876)? }; rt::tl(&__t877)? }; rt::hd(&__t878)? }; rt::is_number(&__t879) }; Value::bool(rt::is_truthy(interp, &__t881)?) } }; Value::bool(rt::is_truthy(interp, &__t883)?) } }; Value::bool(rt::is_truthy(interp, &__t885)?) } }; Value::bool(rt::is_truthy(interp, &__t887)?) } }; Value::bool(rt::is_truthy(interp, &__t889)?) } }; if match rt::is_truthy(interp, &__t893) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t890 = Value::sym(interp.intern_static("EQUALP")); let __t892 = { let __t891 = v_V5743.clone(); rt::tl(&__t891)? }; rt::cons(&__t890, &__t892) }); } else { { let __t865 = { let __t860 = { let __t844 = v_V5743.clone(); rt::is_cons(&__t844) }; if !rt::is_truthy(interp, &__t860)? { Value::bool(false) } else { let __t861 = { let __t858 = Value::bool(({ let __t845 = v_V5743.clone(); rt::hd(&__t845)? }).as_sym() == Some(interp.intern_static("cl.equal?"))); if !rt::is_truthy(interp, &__t858)? { Value::bool(false) } else { let __t859 = { let __t856 = { let __t847 = { let __t846 = v_V5743.clone(); rt::tl(&__t846)? }; rt::is_cons(&__t847) }; if !rt::is_truthy(interp, &__t856)? { Value::bool(false) } else { let __t857 = { let __t854 = { let __t850 = { let __t849 = { let __t848 = v_V5743.clone(); rt::tl(&__t848)? }; rt::tl(&__t849)? }; rt::is_cons(&__t850) }; if !rt::is_truthy(interp, &__t854)? { Value::bool(false) } else { let __t855 = Value::bool(({ let __t853 = { let __t852 = { let __t851 = v_V5743.clone(); rt::tl(&__t851)? }; rt::tl(&__t852)? }; rt::tl(&__t853)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t855)?) } }; Value::bool(rt::is_truthy(interp, &__t857)?) } }; Value::bool(rt::is_truthy(interp, &__t859)?) } }; Value::bool(rt::is_truthy(interp, &__t861)?) } }; if match rt::is_truthy(interp, &__t865) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t862 = Value::sym(interp.intern_static("cl.ABSEQUAL")); let __t864 = { let __t863 = v_V5743.clone(); rt::tl(&__t863)? }; rt::cons(&__t862, &__t864) }); } else { { let __t843 = { let __t838 = { let __t822 = v_V5743.clone(); rt::is_cons(&__t822) }; if !rt::is_truthy(interp, &__t838)? { Value::bool(false) } else { let __t839 = { let __t836 = Value::bool(({ let __t823 = v_V5743.clone(); rt::hd(&__t823)? }).as_sym() == Some(interp.intern_static("cl.greater?"))); if !rt::is_truthy(interp, &__t836)? { Value::bool(false) } else { let __t837 = { let __t834 = { let __t825 = { let __t824 = v_V5743.clone(); rt::tl(&__t824)? }; rt::is_cons(&__t825) }; if !rt::is_truthy(interp, &__t834)? { Value::bool(false) } else { let __t835 = { let __t832 = { let __t828 = { let __t827 = { let __t826 = v_V5743.clone(); rt::tl(&__t826)? }; rt::tl(&__t827)? }; rt::is_cons(&__t828) }; if !rt::is_truthy(interp, &__t832)? { Value::bool(false) } else { let __t833 = Value::bool(({ let __t831 = { let __t830 = { let __t829 = v_V5743.clone(); rt::tl(&__t829)? }; rt::tl(&__t830)? }; rt::tl(&__t831)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t833)?) } }; Value::bool(rt::is_truthy(interp, &__t835)?) } }; Value::bool(rt::is_truthy(interp, &__t837)?) } }; Value::bool(rt::is_truthy(interp, &__t839)?) } }; if match rt::is_truthy(interp, &__t843) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t840 = Value::sym(interp.intern_static(">")); let __t842 = { let __t841 = v_V5743.clone(); rt::tl(&__t841)? }; rt::cons(&__t840, &__t842) }); } else { { let __t821 = { let __t816 = { let __t800 = v_V5743.clone(); rt::is_cons(&__t800) }; if !rt::is_truthy(interp, &__t816)? { Value::bool(false) } else { let __t817 = { let __t814 = Value::bool(({ let __t801 = v_V5743.clone(); rt::hd(&__t801)? }).as_sym() == Some(interp.intern_static("cl.greater-than-or-equal-to?"))); if !rt::is_truthy(interp, &__t814)? { Value::bool(false) } else { let __t815 = { let __t812 = { let __t803 = { let __t802 = v_V5743.clone(); rt::tl(&__t802)? }; rt::is_cons(&__t803) }; if !rt::is_truthy(interp, &__t812)? { Value::bool(false) } else { let __t813 = { let __t810 = { let __t806 = { let __t805 = { let __t804 = v_V5743.clone(); rt::tl(&__t804)? }; rt::tl(&__t805)? }; rt::is_cons(&__t806) }; if !rt::is_truthy(interp, &__t810)? { Value::bool(false) } else { let __t811 = Value::bool(({ let __t809 = { let __t808 = { let __t807 = v_V5743.clone(); rt::tl(&__t807)? }; rt::tl(&__t808)? }; rt::tl(&__t809)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t811)?) } }; Value::bool(rt::is_truthy(interp, &__t813)?) } }; Value::bool(rt::is_truthy(interp, &__t815)?) } }; Value::bool(rt::is_truthy(interp, &__t817)?) } }; if match rt::is_truthy(interp, &__t821) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t818 = Value::sym(interp.intern_static(">=")); let __t820 = { let __t819 = v_V5743.clone(); rt::tl(&__t819)? }; rt::cons(&__t818, &__t820) }); } else { { let __t799 = { let __t794 = { let __t778 = v_V5743.clone(); rt::is_cons(&__t778) }; if !rt::is_truthy(interp, &__t794)? { Value::bool(false) } else { let __t795 = { let __t792 = Value::bool(({ let __t779 = v_V5743.clone(); rt::hd(&__t779)? }).as_sym() == Some(interp.intern_static("cl.less?"))); if !rt::is_truthy(interp, &__t792)? { Value::bool(false) } else { let __t793 = { let __t790 = { let __t781 = { let __t780 = v_V5743.clone(); rt::tl(&__t780)? }; rt::is_cons(&__t781) }; if !rt::is_truthy(interp, &__t790)? { Value::bool(false) } else { let __t791 = { let __t788 = { let __t784 = { let __t783 = { let __t782 = v_V5743.clone(); rt::tl(&__t782)? }; rt::tl(&__t783)? }; rt::is_cons(&__t784) }; if !rt::is_truthy(interp, &__t788)? { Value::bool(false) } else { let __t789 = Value::bool(({ let __t787 = { let __t786 = { let __t785 = v_V5743.clone(); rt::tl(&__t785)? }; rt::tl(&__t786)? }; rt::tl(&__t787)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t789)?) } }; Value::bool(rt::is_truthy(interp, &__t791)?) } }; Value::bool(rt::is_truthy(interp, &__t793)?) } }; Value::bool(rt::is_truthy(interp, &__t795)?) } }; if match rt::is_truthy(interp, &__t799) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t796 = Value::sym(interp.intern_static("<")); let __t798 = { let __t797 = v_V5743.clone(); rt::tl(&__t797)? }; rt::cons(&__t796, &__t798) }); } else { { let __t777 = { let __t772 = { let __t756 = v_V5743.clone(); rt::is_cons(&__t756) }; if !rt::is_truthy(interp, &__t772)? { Value::bool(false) } else { let __t773 = { let __t770 = Value::bool(({ let __t757 = v_V5743.clone(); rt::hd(&__t757)? }).as_sym() == Some(interp.intern_static("cl.less-than-or-equal-to?"))); if !rt::is_truthy(interp, &__t770)? { Value::bool(false) } else { let __t771 = { let __t768 = { let __t759 = { let __t758 = v_V5743.clone(); rt::tl(&__t758)? }; rt::is_cons(&__t759) }; if !rt::is_truthy(interp, &__t768)? { Value::bool(false) } else { let __t769 = { let __t766 = { let __t762 = { let __t761 = { let __t760 = v_V5743.clone(); rt::tl(&__t760)? }; rt::tl(&__t761)? }; rt::is_cons(&__t762) }; if !rt::is_truthy(interp, &__t766)? { Value::bool(false) } else { let __t767 = Value::bool(({ let __t765 = { let __t764 = { let __t763 = v_V5743.clone(); rt::tl(&__t763)? }; rt::tl(&__t764)? }; rt::tl(&__t765)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t767)?) } }; Value::bool(rt::is_truthy(interp, &__t769)?) } }; Value::bool(rt::is_truthy(interp, &__t771)?) } }; Value::bool(rt::is_truthy(interp, &__t773)?) } }; if match rt::is_truthy(interp, &__t777) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t774 = Value::sym(interp.intern_static("<=")); let __t776 = { let __t775 = v_V5743.clone(); rt::tl(&__t775)? }; rt::cons(&__t774, &__t776) }); } else { { let __t755 = Value::bool(true); if match rt::is_truthy(interp, &__t755) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t751 = Value::sym(interp.intern_static("cl.wrapper")); let __t754 = { let __t752 = v_V5743.clone(); let __t753 = Value::nil(); rt::cons(&__t752, &__t753) }; rt::cons(&__t751, &__t754) }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } @@ -3148,53 +2921,49 @@ pub fn aot_cl_x2e_fastsymbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t1608 = { - let __t1607 = v_V5750.clone(); - rt::is_cons(&__t1607) + let __t1391 = { + let __t1390 = v_V5750.clone(); + rt::is_cons(&__t1390) }; - if match rt::is_truthy(interp, &__t1608) { + if match rt::is_truthy(interp, &__t1391) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1606 = { - let __t1604 = Value::nil(); - let __t1605 = v_V5750.clone(); - rt::eq(&__t1604, &__t1605) - }; - if match rt::is_truthy(interp, &__t1606) { + let __t1389 = Value::bool((v_V5750.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1389) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1603 = { - let __t1602 = v_V5750.clone(); - rt::is_string(&__t1602) + let __t1388 = { + let __t1387 = v_V5750.clone(); + rt::is_string(&__t1387) }; - if match rt::is_truthy(interp, &__t1603) { + if match rt::is_truthy(interp, &__t1388) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1601 = { - let __t1600 = v_V5750.clone(); - rt::is_number(&__t1600) + let __t1386 = { + let __t1385 = v_V5750.clone(); + rt::is_number(&__t1385) }; - if match rt::is_truthy(interp, &__t1601) { + if match rt::is_truthy(interp, &__t1386) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1599 = Value::bool(true); - if match rt::is_truthy(interp, &__t1599) { + let __t1384 = Value::bool(true); + if match rt::is_truthy(interp, &__t1384) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3234,38 +3003,38 @@ pub fn aot_cl_x2e_wrapper(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("T"))); + break Ok(Value::sym(interp.intern_static("T"))); } else { { - let __t1613 = { - let __t1611 = Value::bool(false); - let __t1612 = v_V5751.clone(); - rt::eq(&__t1611, &__t1612) + let __t1396 = { + let __t1394 = Value::bool(false); + let __t1395 = v_V5751.clone(); + rt::eq(&__t1394, &__t1395) }; - if match rt::is_truthy(interp, &__t1613) { + if match rt::is_truthy(interp, &__t1396) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t1610 = Value::bool(true); - if match rt::is_truthy(interp, &__t1610) { + let __t1393 = Value::bool(true); + if match rt::is_truthy(interp, &__t1393) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1609 = Value::str("boolean expected"); - rt::apply_direct(interp, "simple-error", &[__t1609])? + let __t1392 = Value::str("boolean expected"); + rt::apply_direct(interp, "simple-error", &[__t1392])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3296,153 +3065,131 @@ pub fn aot_cl_x2e_maplispsym(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let __t1644 = { - let __t1642 = Value::sym(interp.intern("=")); - let __t1643 = v_V5752.clone(); - rt::eq(&__t1642, &__t1643) - }; - if match rt::is_truthy(interp, &__t1644) { + let __t1409 = + Value::bool((v_V5752.clone()).as_sym() == Some(interp.intern_static("="))); + if match rt::is_truthy(interp, &__t1409) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("cl.equal?"))); + break Ok(Value::sym(interp.intern_static("cl.equal?"))); } else { { - let __t1641 = { - let __t1639 = Value::sym(interp.intern(">")); - let __t1640 = v_V5752.clone(); - rt::eq(&__t1639, &__t1640) - }; - if match rt::is_truthy(interp, &__t1641) { + let __t1408 = + Value::bool((v_V5752.clone()).as_sym() == Some(interp.intern_static(">"))); + if match rt::is_truthy(interp, &__t1408) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("cl.greater?"))); + break Ok(Value::sym(interp.intern_static("cl.greater?"))); } else { { - let __t1638 = { - let __t1636 = Value::sym(interp.intern("<")); - let __t1637 = v_V5752.clone(); - rt::eq(&__t1636, &__t1637) - }; - if match rt::is_truthy(interp, &__t1638) { + let __t1407 = Value::bool( + (v_V5752.clone()).as_sym() == Some(interp.intern_static("<")), + ); + if match rt::is_truthy(interp, &__t1407) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("cl.less?"))); + break Ok(Value::sym(interp.intern_static("cl.less?"))); } else { { - let __t1635 = { - let __t1633 = Value::sym(interp.intern(">=")); - let __t1634 = v_V5752.clone(); - rt::eq(&__t1633, &__t1634) - }; - if match rt::is_truthy(interp, &__t1635) { + let __t1406 = Value::bool( + (v_V5752.clone()).as_sym() + == Some(interp.intern_static(">=")), + ); + if match rt::is_truthy(interp, &__t1406) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::sym( - interp.intern("cl.greater-than-or-equal-to?"), + interp.intern_static("cl.greater-than-or-equal-to?"), )); } else { { - let __t1632 = { - let __t1630 = Value::sym(interp.intern("<=")); - let __t1631 = v_V5752.clone(); - rt::eq(&__t1630, &__t1631) - }; - if match rt::is_truthy(interp, &__t1632) { + let __t1405 = Value::bool( + (v_V5752.clone()).as_sym() + == Some(interp.intern_static("<=")), + ); + if match rt::is_truthy(interp, &__t1405) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::sym( - interp.intern("cl.less-than-or-equal-to?"), + interp + .intern_static("cl.less-than-or-equal-to?"), )); } else { { - let __t1629 = { - let __t1627 = - Value::sym(interp.intern("+")); - let __t1628 = v_V5752.clone(); - rt::eq(&__t1627, &__t1628) - }; - if match rt::is_truthy(interp, &__t1629) { + let __t1404 = Value::bool( + (v_V5752.clone()).as_sym() + == Some(interp.intern_static("+")), + ); + if match rt::is_truthy(interp, &__t1404) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::sym( - interp.intern("cl.add"), + interp.intern_static("cl.add"), )); } else { { - let __t1626 = { - let __t1624 = - Value::sym(interp.intern("-")); - let __t1625 = v_V5752.clone(); - rt::eq(&__t1624, &__t1625) - }; - if match rt::is_truthy(interp, &__t1626) + let __t1403 = Value::bool( + (v_V5752.clone()).as_sym() + == Some( + interp.intern_static("-"), + ), + ); + if match rt::is_truthy(interp, &__t1403) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::sym( - interp.intern("cl.subtract"), + interp.intern_static( + "cl.subtract", + ), )); } else { { - let __t1623 = { - let __t1621 = Value::sym( - interp.intern("/"), - ); - let __t1622 = - v_V5752.clone(); - rt::eq(&__t1621, &__t1622) - }; + let __t1402 = Value::bool( + (v_V5752.clone()).as_sym() + == Some( + interp + .intern_static( + "/", + ), + ), + ); if match rt::is_truthy( - interp, &__t1623, + interp, &__t1402, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::sym( - interp.intern( + interp.intern_static( "cl.divide", ), )); } else { { - let __t1620 = { - let __t1618 = - Value::sym( - interp - .intern( - "*", - ), - ); - let __t1619 = - v_V5752.clone(); - rt::eq( - &__t1618, - &__t1619, - ) - }; + let __t1401 = Value::bool((v_V5752.clone()).as_sym() == Some(interp.intern_static("*"))); if match rt::is_truthy( - interp, &__t1620, + interp, &__t1401, ) { Ok(b) => b, Err(e) => { break Err(e) } } { - break Ok(Value::sym(interp.intern("cl.multiply"))); + break Ok(Value::sym(interp.intern_static("cl.multiply"))); } else { { - let __t1617 = + let __t1400 = Value::bool( true, ); - if match rt::is_truthy(interp, &__t1617) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5752.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } + if match rt::is_truthy(interp, &__t1400) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5752.clone()); } else { break Err(ShenError::new("cond: no clause matched")); } } } } diff --git a/crates/shen-rust/src/aot/kernel/core.rs b/crates/shen-rust/src/aot/kernel/core.rs index 762d8db..b0b3c49 100644 --- a/crates/shen-rust/src/aot/kernel/core.rs +++ b/crates/shen-rust/src/aot/kernel/core.rs @@ -38,11 +38,11 @@ pub fn aot_shen_x2e_shen_x2d__x3e_kl(interp: &mut Interp, args: &[Value]) -> She { let v_W529 = { let __t0 = v_V528.clone(); - rt::apply_direct(interp, "shen.shen->kl-h", &[__t0])? + aot_shen_x2e_shen_x2d__x3e_kl_x2d_h(interp, &[__t0])? }; break Ok({ let __t1 = v_W529.clone(); - rt::apply_direct(interp, "shen.record-and-evaluate", &[__t1])? + aot_shen_x2e_record_x2d_and_x2d_evaluate(interp, &[__t1])? }); } } @@ -69,186 +69,185 @@ pub fn aot_shen_x2e_record_x2d_and_x2d_evaluate( #[allow(clippy::never_loop)] loop { { - let __t58 = { - let __t30 = { + let __t54 = { + let __t26 = { let __t3 = v_V530.clone(); rt::is_cons(&__t3) }; - if !rt::is_truthy(interp, &__t30)? { + if !rt::is_truthy(interp, &__t26)? { Value::bool(false) } else { - let __t31 = { - let __t28 = { - let __t4 = Value::sym(interp.intern("defun")); - let __t6 = { - let __t5 = v_V530.clone(); - rt::hd(&__t5)? - }; - rt::eq(&__t4, &__t6) - }; - if !rt::is_truthy(interp, &__t28)? { + let __t27 = { + let __t24 = Value::bool( + ({ + let __t4 = v_V530.clone(); + rt::hd(&__t4)? + }) + .as_sym() + == Some(interp.intern_static("defun")), + ); + if !rt::is_truthy(interp, &__t24)? { Value::bool(false) } else { - let __t29 = { - let __t26 = { - let __t8 = { - let __t7 = v_V530.clone(); - rt::tl(&__t7)? + let __t25 = { + let __t22 = { + let __t6 = { + let __t5 = v_V530.clone(); + rt::tl(&__t5)? }; - rt::is_cons(&__t8) + rt::is_cons(&__t6) }; - if !rt::is_truthy(interp, &__t26)? { + if !rt::is_truthy(interp, &__t22)? { Value::bool(false) } else { - let __t27 = { - let __t24 = { - let __t11 = { - let __t10 = { - let __t9 = v_V530.clone(); - rt::tl(&__t9)? + let __t23 = { + let __t20 = { + let __t9 = { + let __t8 = { + let __t7 = v_V530.clone(); + rt::tl(&__t7)? }; - rt::tl(&__t10)? + rt::tl(&__t8)? }; - rt::is_cons(&__t11) + rt::is_cons(&__t9) }; - if !rt::is_truthy(interp, &__t24)? { + if !rt::is_truthy(interp, &__t20)? { Value::bool(false) } else { - let __t25 = { - let __t22 = { - let __t15 = { - let __t14 = { - let __t13 = { - let __t12 = v_V530.clone(); - rt::tl(&__t12)? + let __t21 = { + let __t18 = { + let __t13 = { + let __t12 = { + let __t11 = { + let __t10 = v_V530.clone(); + rt::tl(&__t10)? }; - rt::tl(&__t13)? + rt::tl(&__t11)? }; - rt::tl(&__t14)? + rt::tl(&__t12)? }; - rt::is_cons(&__t15) + rt::is_cons(&__t13) }; - if !rt::is_truthy(interp, &__t22)? { + if !rt::is_truthy(interp, &__t18)? { Value::bool(false) } else { - let __t23 = { - let __t16 = Value::nil(); - let __t21 = { - let __t20 = { - let __t19 = { - let __t18 = { - let __t17 = v_V530.clone(); - rt::tl(&__t17)? + let __t19 = Value::bool( + ({ + let __t17 = { + let __t16 = { + let __t15 = { + let __t14 = v_V530.clone(); + rt::tl(&__t14)? }; - rt::tl(&__t18)? + rt::tl(&__t15)? }; - rt::tl(&__t19)? + rt::tl(&__t16)? }; - rt::tl(&__t20)? - }; - rt::eq(&__t16, &__t21) - }; - Value::bool(rt::is_truthy(interp, &__t23)?) + rt::tl(&__t17)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t19)?) } }; - Value::bool(rt::is_truthy(interp, &__t25)?) + Value::bool(rt::is_truthy(interp, &__t21)?) } }; - Value::bool(rt::is_truthy(interp, &__t27)?) + Value::bool(rt::is_truthy(interp, &__t23)?) } }; - Value::bool(rt::is_truthy(interp, &__t29)?) + Value::bool(rt::is_truthy(interp, &__t25)?) } }; - Value::bool(rt::is_truthy(interp, &__t31)?) + Value::bool(rt::is_truthy(interp, &__t27)?) } }; - if match rt::is_truthy(interp, &__t58) { + if match rt::is_truthy(interp, &__t54) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W531 = { - let __t41 = { - let __t34 = { - let __t33 = { - let __t32 = v_V530.clone(); - rt::tl(&__t32)? + let __t37 = { + let __t30 = { + let __t29 = { + let __t28 = v_V530.clone(); + rt::tl(&__t28)? }; - rt::hd(&__t33)? + rt::hd(&__t29)? }; - rt::apply_direct(interp, "shen.sysfunc?", &[__t34])? + rt::apply_direct(interp, "shen.sysfunc?", &[__t30])? }; - if rt::is_truthy(interp, &__t41)? { + if rt::is_truthy(interp, &__t37)? { { - let __t40 = { - let __t37 = { - let __t36 = { - let __t35 = v_V530.clone(); - rt::tl(&__t35)? + let __t36 = { + let __t33 = { + let __t32 = { + let __t31 = v_V530.clone(); + rt::tl(&__t31)? }; - rt::hd(&__t36)? + rt::hd(&__t32)? }; - let __t38 = Value::str(" is not a legitimate function name\n"); - let __t39 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t37, __t38, __t39])? + let __t34 = Value::str(" is not a legitimate function name\n"); + let __t35 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t33, __t34, __t35])? }; - rt::apply_direct(interp, "simple-error", &[__t40])? + rt::apply_direct(interp, "simple-error", &[__t36])? } } else { - Value::sym(interp.intern("shen.skip")) + Value::sym(interp.intern_static("shen.skip")) } }; { let v_W532 = { - let __t44 = { - let __t43 = { - let __t42 = v_V530.clone(); - rt::tl(&__t42)? + let __t40 = { + let __t39 = { + let __t38 = v_V530.clone(); + rt::tl(&__t38)? }; - rt::hd(&__t43)? - }; - let __t49 = { - let __t48 = { - let __t47 = { - let __t46 = { - let __t45 = v_V530.clone(); - rt::tl(&__t45)? + rt::hd(&__t39)? + }; + let __t45 = { + let __t44 = { + let __t43 = { + let __t42 = { + let __t41 = v_V530.clone(); + rt::tl(&__t41)? }; - rt::tl(&__t46)? + rt::tl(&__t42)? }; - rt::hd(&__t47)? + rt::hd(&__t43)? }; - rt::apply_direct(interp, "length", &[__t48])? + rt::apply_direct(interp, "length", &[__t44])? }; - rt::apply_direct(interp, "shen.store-arity", &[__t44, __t49])? + rt::apply_direct(interp, "shen.store-arity", &[__t40, __t45])? }; { let v_W533 = { - let __t52 = { - let __t51 = { - let __t50 = v_V530.clone(); - rt::tl(&__t50)? + let __t48 = { + let __t47 = { + let __t46 = v_V530.clone(); + rt::tl(&__t46)? }; - rt::hd(&__t51)? + rt::hd(&__t47)? }; - let __t53 = v_V530.clone(); - rt::apply_direct(interp, "shen.record-kl", &[__t52, __t53])? + let __t49 = v_V530.clone(); + aot_shen_x2e_record_x2d_kl(interp, &[__t48, __t49])? }; { let v_W534 = { - let __t54 = v_V530.clone(); - rt::apply_direct(interp, "eval-kl", &[__t54])? + let __t50 = v_V530.clone(); + rt::apply_direct(interp, "eval-kl", &[__t50])? }; break Ok({ - let __t57 = { - let __t56 = { - let __t55 = v_V530.clone(); - rt::tl(&__t55)? + let __t53 = { + let __t52 = { + let __t51 = v_V530.clone(); + rt::tl(&__t51)? }; - rt::hd(&__t56)? + rt::hd(&__t52)? }; - rt::apply_direct(interp, "shen.fn-print", &[__t57])? + aot_shen_x2e_fn_x2d_print(interp, &[__t53])? }); } } @@ -299,433 +298,426 @@ pub fn aot_shen_x2e_shen_x2d__x3e_kl_x2d_h( #[allow(clippy::never_loop)] loop { { - let __t178 = { - let __t170 = { - let __t162 = v_V535.clone(); - rt::is_cons(&__t162) + let __t160 = { + let __t152 = { + let __t146 = v_V535.clone(); + rt::is_cons(&__t146) }; - if !rt::is_truthy(interp, &__t170)? { + if !rt::is_truthy(interp, &__t152)? { Value::bool(false) } else { - let __t171 = { - let __t168 = { - let __t163 = Value::sym(interp.intern("define")); - let __t165 = { - let __t164 = v_V535.clone(); - rt::hd(&__t164)? - }; - rt::eq(&__t163, &__t165) - }; - if !rt::is_truthy(interp, &__t168)? { + let __t153 = { + let __t150 = Value::bool( + ({ + let __t147 = v_V535.clone(); + rt::hd(&__t147)? + }) + .as_sym() + == Some(interp.intern_static("define")), + ); + if !rt::is_truthy(interp, &__t150)? { Value::bool(false) } else { - let __t169 = { - let __t167 = { - let __t166 = v_V535.clone(); - rt::tl(&__t166)? + let __t151 = { + let __t149 = { + let __t148 = v_V535.clone(); + rt::tl(&__t148)? }; - rt::is_cons(&__t167) + rt::is_cons(&__t149) }; - Value::bool(rt::is_truthy(interp, &__t169)?) + Value::bool(rt::is_truthy(interp, &__t151)?) } }; - Value::bool(rt::is_truthy(interp, &__t171)?) + Value::bool(rt::is_truthy(interp, &__t153)?) } }; - if match rt::is_truthy(interp, &__t178) { + if match rt::is_truthy(interp, &__t160) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t174 = { - let __t173 = { - let __t172 = v_V535.clone(); - rt::tl(&__t172)? + let __t156 = { + let __t155 = { + let __t154 = v_V535.clone(); + rt::tl(&__t154)? }; - rt::hd(&__t173)? + rt::hd(&__t155)? }; - let __t177 = { - let __t176 = { - let __t175 = v_V535.clone(); - rt::tl(&__t175)? + let __t159 = { + let __t158 = { + let __t157 = v_V535.clone(); + rt::tl(&__t157)? }; - rt::tl(&__t176)? + rt::tl(&__t158)? }; - rt::apply_direct(interp, "shen.shendef->kldef", &[__t174, __t177])? + aot_shen_x2e_shendef_x2d__x3e_kldef(interp, &[__t156, __t159])? }); } else { { - let __t161 = { - let __t159 = { - let __t132 = v_V535.clone(); - rt::is_cons(&__t132) + let __t145 = { + let __t143 = { + let __t120 = v_V535.clone(); + rt::is_cons(&__t120) }; - if !rt::is_truthy(interp, &__t159)? { + if !rt::is_truthy(interp, &__t143)? { Value::bool(false) } else { - let __t160 = { - let __t157 = { - let __t133 = Value::sym(interp.intern("defun")); - let __t135 = { - let __t134 = v_V535.clone(); - rt::hd(&__t134)? - }; - rt::eq(&__t133, &__t135) - }; - if !rt::is_truthy(interp, &__t157)? { + let __t144 = { + let __t141 = Value::bool( + ({ + let __t121 = v_V535.clone(); + rt::hd(&__t121)? + }) + .as_sym() + == Some(interp.intern_static("defun")), + ); + if !rt::is_truthy(interp, &__t141)? { Value::bool(false) } else { - let __t158 = { - let __t155 = { - let __t137 = { - let __t136 = v_V535.clone(); - rt::tl(&__t136)? + let __t142 = { + let __t139 = { + let __t123 = { + let __t122 = v_V535.clone(); + rt::tl(&__t122)? }; - rt::is_cons(&__t137) + rt::is_cons(&__t123) }; - if !rt::is_truthy(interp, &__t155)? { + if !rt::is_truthy(interp, &__t139)? { Value::bool(false) } else { - let __t156 = { - let __t153 = { - let __t140 = { - let __t139 = { - let __t138 = v_V535.clone(); - rt::tl(&__t138)? + let __t140 = { + let __t137 = { + let __t126 = { + let __t125 = { + let __t124 = v_V535.clone(); + rt::tl(&__t124)? }; - rt::tl(&__t139)? + rt::tl(&__t125)? }; - rt::is_cons(&__t140) + rt::is_cons(&__t126) }; - if !rt::is_truthy(interp, &__t153)? { + if !rt::is_truthy(interp, &__t137)? { Value::bool(false) } else { - let __t154 = { - let __t151 = { - let __t144 = { - let __t143 = { - let __t142 = { - let __t141 = v_V535.clone(); - rt::tl(&__t141)? + let __t138 = { + let __t135 = { + let __t130 = { + let __t129 = { + let __t128 = { + let __t127 = v_V535.clone(); + rt::tl(&__t127)? }; - rt::tl(&__t142)? + rt::tl(&__t128)? }; - rt::tl(&__t143)? + rt::tl(&__t129)? }; - rt::is_cons(&__t144) + rt::is_cons(&__t130) }; - if !rt::is_truthy(interp, &__t151)? { + if !rt::is_truthy(interp, &__t135)? { Value::bool(false) } else { - let __t152 = { - let __t145 = Value::nil(); - let __t150 = { - let __t149 = { - let __t148 = { - let __t147 = { - let __t146 = + let __t136 = Value::bool( + ({ + let __t134 = { + let __t133 = { + let __t132 = { + let __t131 = v_V535.clone(); - rt::tl(&__t146)? + rt::tl(&__t131)? }; - rt::tl(&__t147)? + rt::tl(&__t132)? }; - rt::tl(&__t148)? + rt::tl(&__t133)? }; - rt::tl(&__t149)? - }; - rt::eq(&__t145, &__t150) - }; + rt::tl(&__t134)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t152, + interp, &__t136, )?) } }; - Value::bool(rt::is_truthy(interp, &__t154)?) + Value::bool(rt::is_truthy(interp, &__t138)?) } }; - Value::bool(rt::is_truthy(interp, &__t156)?) + Value::bool(rt::is_truthy(interp, &__t140)?) } }; - Value::bool(rt::is_truthy(interp, &__t158)?) + Value::bool(rt::is_truthy(interp, &__t142)?) } }; - Value::bool(rt::is_truthy(interp, &__t160)?) + Value::bool(rt::is_truthy(interp, &__t144)?) } }; - if match rt::is_truthy(interp, &__t161) { + if match rt::is_truthy(interp, &__t145) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V535.clone()); } else { { - let __t131 = { - let __t117 = { - let __t97 = v_V535.clone(); - rt::is_cons(&__t97) + let __t119 = { + let __t105 = { + let __t89 = v_V535.clone(); + rt::is_cons(&__t89) }; - if !rt::is_truthy(interp, &__t117)? { + if !rt::is_truthy(interp, &__t105)? { Value::bool(false) } else { - let __t118 = { - let __t115 = { - let __t98 = Value::sym(interp.intern("type")); - let __t100 = { - let __t99 = v_V535.clone(); - rt::hd(&__t99)? - }; - rt::eq(&__t98, &__t100) - }; - if !rt::is_truthy(interp, &__t115)? { + let __t106 = { + let __t103 = Value::bool( + ({ + let __t90 = v_V535.clone(); + rt::hd(&__t90)? + }) + .as_sym() + == Some(interp.intern_static("type")), + ); + if !rt::is_truthy(interp, &__t103)? { Value::bool(false) } else { - let __t116 = { - let __t113 = { - let __t102 = { - let __t101 = v_V535.clone(); - rt::tl(&__t101)? + let __t104 = { + let __t101 = { + let __t92 = { + let __t91 = v_V535.clone(); + rt::tl(&__t91)? }; - rt::is_cons(&__t102) + rt::is_cons(&__t92) }; - if !rt::is_truthy(interp, &__t113)? { + if !rt::is_truthy(interp, &__t101)? { Value::bool(false) } else { - let __t114 = { - let __t111 = { - let __t105 = { - let __t104 = { - let __t103 = v_V535.clone(); - rt::tl(&__t103)? + let __t102 = { + let __t99 = { + let __t95 = { + let __t94 = { + let __t93 = v_V535.clone(); + rt::tl(&__t93)? }; - rt::tl(&__t104)? + rt::tl(&__t94)? }; - rt::is_cons(&__t105) + rt::is_cons(&__t95) }; - if !rt::is_truthy(interp, &__t111)? { + if !rt::is_truthy(interp, &__t99)? { Value::bool(false) } else { - let __t112 = { - let __t106 = Value::nil(); - let __t110 = { - let __t109 = { - let __t108 = { - let __t107 = + let __t100 = Value::bool( + ({ + let __t98 = { + let __t97 = { + let __t96 = v_V535.clone(); - rt::tl(&__t107)? + rt::tl(&__t96)? }; - rt::tl(&__t108)? + rt::tl(&__t97)? }; - rt::tl(&__t109)? - }; - rt::eq(&__t106, &__t110) - }; + rt::tl(&__t98)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t112, + interp, &__t100, )?) } }; - Value::bool(rt::is_truthy(interp, &__t114)?) + Value::bool(rt::is_truthy(interp, &__t102)?) } }; - Value::bool(rt::is_truthy(interp, &__t116)?) + Value::bool(rt::is_truthy(interp, &__t104)?) } }; - Value::bool(rt::is_truthy(interp, &__t118)?) + Value::bool(rt::is_truthy(interp, &__t106)?) } }; - if match rt::is_truthy(interp, &__t131) { + if match rt::is_truthy(interp, &__t119) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t119 = Value::sym(interp.intern("type")); - let __t130 = { - let __t122 = { - let __t121 = { - let __t120 = v_V535.clone(); - rt::tl(&__t120)? + let __t107 = Value::sym(interp.intern_static("type")); + let __t118 = { + let __t110 = { + let __t109 = { + let __t108 = v_V535.clone(); + rt::tl(&__t108)? }; - rt::hd(&__t121)? + rt::hd(&__t109)? }; - let __t129 = { - let __t127 = { - let __t126 = { - let __t125 = { - let __t124 = { - let __t123 = v_V535.clone(); - rt::tl(&__t123)? + let __t117 = { + let __t115 = { + let __t114 = { + let __t113 = { + let __t112 = { + let __t111 = v_V535.clone(); + rt::tl(&__t111)? }; - rt::tl(&__t124)? + rt::tl(&__t112)? }; - rt::hd(&__t125)? + rt::hd(&__t113)? }; rt::apply_direct( interp, "shen.rcons_form", - &[__t126], + &[__t114], )? }; - let __t128 = Value::nil(); - rt::cons(&__t127, &__t128) + let __t116 = Value::nil(); + rt::cons(&__t115, &__t116) }; - rt::cons(&__t122, &__t129) + rt::cons(&__t110, &__t117) }; - rt::cons(&__t119, &__t130) + rt::cons(&__t107, &__t118) }); } else { { - let __t96 = { - let __t85 = { - let __t65 = v_V535.clone(); - rt::is_cons(&__t65) + let __t88 = { + let __t77 = { + let __t61 = v_V535.clone(); + rt::is_cons(&__t61) }; - if !rt::is_truthy(interp, &__t85)? { + if !rt::is_truthy(interp, &__t77)? { Value::bool(false) } else { - let __t86 = { - let __t83 = { - let __t66 = Value::sym(interp.intern("input+")); - let __t68 = { - let __t67 = v_V535.clone(); - rt::hd(&__t67)? - }; - rt::eq(&__t66, &__t68) - }; - if !rt::is_truthy(interp, &__t83)? { + let __t78 = { + let __t75 = Value::bool( + ({ + let __t62 = v_V535.clone(); + rt::hd(&__t62)? + }) + .as_sym() + == Some(interp.intern_static("input+")), + ); + if !rt::is_truthy(interp, &__t75)? { Value::bool(false) } else { - let __t84 = { - let __t81 = { - let __t70 = { - let __t69 = v_V535.clone(); - rt::tl(&__t69)? + let __t76 = { + let __t73 = { + let __t64 = { + let __t63 = v_V535.clone(); + rt::tl(&__t63)? }; - rt::is_cons(&__t70) + rt::is_cons(&__t64) }; - if !rt::is_truthy(interp, &__t81)? { + if !rt::is_truthy(interp, &__t73)? { Value::bool(false) } else { - let __t82 = { - let __t79 = { - let __t73 = { - let __t72 = { - let __t71 = + let __t74 = { + let __t71 = { + let __t67 = { + let __t66 = { + let __t65 = v_V535.clone(); - rt::tl(&__t71)? + rt::tl(&__t65)? }; - rt::tl(&__t72)? + rt::tl(&__t66)? }; - rt::is_cons(&__t73) + rt::is_cons(&__t67) }; - if !rt::is_truthy(interp, &__t79)? { + if !rt::is_truthy(interp, &__t71)? { Value::bool(false) } else { - let __t80 = { - let __t74 = Value::nil(); - let __t78 = { - let __t77 = { - let __t76 = { - let __t75 = + let __t72 = Value::bool( + ({ + let __t70 = { + let __t69 = { + let __t68 = v_V535 .clone( ); - rt::tl(&__t75)? + rt::tl(&__t68)? }; - rt::tl(&__t76)? + rt::tl(&__t69)? }; - rt::tl(&__t77)? - }; - rt::eq(&__t74, &__t78) - }; + rt::tl(&__t70)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t80, + interp, &__t72, )?) } }; Value::bool(rt::is_truthy( - interp, &__t82, + interp, &__t74, )?) } }; - Value::bool(rt::is_truthy(interp, &__t84)?) + Value::bool(rt::is_truthy(interp, &__t76)?) } }; - Value::bool(rt::is_truthy(interp, &__t86)?) + Value::bool(rt::is_truthy(interp, &__t78)?) } }; - if match rt::is_truthy(interp, &__t96) { + if match rt::is_truthy(interp, &__t88) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t87 = Value::sym(interp.intern("input+")); - let __t95 = { - let __t91 = { - let __t90 = { - let __t89 = { - let __t88 = v_V535.clone(); - rt::tl(&__t88)? + let __t79 = Value::sym(interp.intern_static("input+")); + let __t87 = { + let __t83 = { + let __t82 = { + let __t81 = { + let __t80 = v_V535.clone(); + rt::tl(&__t80)? }; - rt::hd(&__t89)? + rt::hd(&__t81)? }; rt::apply_direct( interp, "shen.rcons_form", - &[__t90], + &[__t82], )? }; - let __t94 = { - let __t93 = { - let __t92 = v_V535.clone(); - rt::tl(&__t92)? + let __t86 = { + let __t85 = { + let __t84 = v_V535.clone(); + rt::tl(&__t84)? }; - rt::tl(&__t93)? + rt::tl(&__t85)? }; - rt::cons(&__t91, &__t94) + rt::cons(&__t83, &__t86) }; - rt::cons(&__t87, &__t95) + rt::cons(&__t79, &__t87) }); } else { { - let __t64 = { - let __t60 = v_V535.clone(); - rt::is_cons(&__t60) + let __t60 = { + let __t56 = v_V535.clone(); + rt::is_cons(&__t56) }; - if match rt::is_truthy(interp, &__t64) { + if match rt::is_truthy(interp, &__t60) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t62 = { + let __t58 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z536 = args[0].clone(); Ok({ - let __t61 = v_Z536.clone(); - rt::apply_direct( - interp, - "shen.shen->kl-h", - &[__t61], - )? + let __t57 = v_Z536.clone(); + aot_shen_x2e_shen_x2d__x3e_kl_x2d_h(interp, &[__t57])? }) }, Vec::new(), interp, ) }; - let __t63 = v_V535.clone(); + let __t59 = v_V535.clone(); rt::apply_direct( interp, "map", - &[__t62, __t63], + &[__t58, __t59], )? }); } else { { - let __t59 = Value::bool(true); - if match rt::is_truthy(interp, &__t59) { + let __t55 = Value::bool(true); + if match rt::is_truthy(interp, &__t55) { Ok(b) => b, Err(e) => break Err(e), } { @@ -772,27 +764,27 @@ pub fn aot_shen_x2e_shendef_x2d__x3e_kldef( #[allow(clippy::never_loop)] loop { break Ok({ - let __t180 = { + let __t162 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z539 = args[0].clone(); Ok({ - let __t179 = v_Z539.clone(); - rt::apply_direct(interp, "shen.", &[__t179])? + let __t161 = v_Z539.clone(); + aot_shen_x2e__x3c_define_x3e_(interp, &[__t161])? }) }, Vec::new(), interp, ) }; - let __t183 = { - let __t181 = v_V537.clone(); - let __t182 = v_V538.clone(); - rt::cons(&__t181, &__t182) + let __t165 = { + let __t163 = v_V537.clone(); + let __t164 = v_V538.clone(); + rt::cons(&__t163, &__t164) }; - rt::apply_direct(interp, "compile", &[__t180, __t183])? + rt::apply_direct(interp, "compile", &[__t162, __t165])? }); } } @@ -821,60 +813,59 @@ pub fn aot_shen_x2e__x3c_define_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W541 = { let v_W542 = { - let __t184 = v_V540.clone(); - rt::apply_direct(interp, "shen.", &[__t184])? + let __t166 = v_V540.clone(); + aot_shen_x2e__x3c_name_x3e_(interp, &[__t166])? }; { - let __t209 = { - let __t185 = v_W542.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t185])? + let __t191 = { + let __t167 = v_W542.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t167])? }; - if rt::is_truthy(interp, &__t209)? { + if rt::is_truthy(interp, &__t191)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W543 = { - let __t186 = v_W542.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t186])? + let __t168 = v_W542.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t168])? }; { let v_W544 = { - let __t187 = v_W542.clone(); - rt::apply_direct(interp, "shen.in->", &[__t187])? + let __t169 = v_W542.clone(); + rt::apply_direct(interp, "shen.in->", &[__t169])? }; { - let __t208 = { - let __t188 = v_W544.clone(); - let __t189 = Value::sym(interp.intern("{")); - rt::apply_direct(interp, "shen.hds=?", &[__t188, __t189])? + let __t190 = { + let __t170 = v_W544.clone(); + let __t171 = Value::sym(interp.intern_static("{")); + rt::apply_direct(interp, "shen.hds=?", &[__t170, __t171])? }; - if rt::is_truthy(interp, &__t208)? { + if rt::is_truthy(interp, &__t190)? { { let v_W545 = { - let __t190 = v_W544.clone(); - rt::apply_direct(interp, "tail", &[__t190])? + let __t172 = v_W544.clone(); + rt::apply_direct(interp, "tail", &[__t172])? }; { let v_W546 = { - let __t191 = v_W545.clone(); - rt::apply_direct( + let __t173 = v_W545.clone(); + aot_shen_x2e__x3c_signature_x3e_( interp, - "shen.", - &[__t191], + &[__t173], )? }; { - let __t207 = { - let __t192 = v_W546.clone(); + let __t189 = { + let __t174 = v_W546.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t192], + &[__t174], )? }; - if rt::is_truthy(interp, &__t207)? { + if rt::is_truthy(interp, &__t189)? { { rt::apply_direct( interp, @@ -885,56 +876,52 @@ pub fn aot_shen_x2e__x3c_define_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W547 = { - let __t193 = v_W546.clone(); + let __t175 = v_W546.clone(); rt::apply_direct( interp, "shen.in->", - &[__t193], + &[__t175], )? }; { - let __t206 = { - let __t194 = v_W547.clone(); - let __t195 = Value::sym( - interp.intern("}"), + let __t188 = { + let __t176 = v_W547.clone(); + let __t177 = Value::sym( + interp.intern_static("}"), ); rt::apply_direct( interp, "shen.hds=?", - &[__t194, __t195], + &[__t176, __t177], )? }; - if rt::is_truthy(interp, &__t206)? { + if rt::is_truthy(interp, &__t188)? { { let v_W548 = { - let __t196 = + let __t178 = v_W547.clone(); rt::apply_direct( interp, "tail", - &[__t196], + &[__t178], )? }; { let v_W549 = { - let __t197 = + let __t179 = v_W548.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t197], - )? + aot_shen_x2e__x3c_rules_x3e_(interp, &[__t179])? }; { - let __t205 = { - let __t198 = + let __t187 = { + let __t180 = v_W549 .clone( ); - rt::apply_direct(interp, "shen.parse-failure?", &[__t198])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t180])? }; if rt::is_truthy( - interp, &__t205, + interp, &__t187, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -942,18 +929,18 @@ pub fn aot_shen_x2e__x3c_define_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W550 = { - let __t199 = v_W549.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t199])? + let __t181 = v_W549.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t181])? }; { let v_W551 = { - let __t200 = v_W549.clone(); - rt::apply_direct(interp, "shen.in->", &[__t200])? + let __t182 = v_W549.clone(); + rt::apply_direct(interp, "shen.in->", &[__t182])? }; { - let __t201 = v_W551.clone(); - let __t204 = { let __t202 = v_W543.clone(); let __t203 = v_W550.clone(); rt::apply_direct(interp, "shen.shendef->kldef-h", &[__t202, __t203])? }; - rt::apply_direct(interp, "shen.comb", &[__t201, __t204])? + let __t183 = v_W551.clone(); + let __t186 = { let __t184 = v_W543.clone(); let __t185 = v_W550.clone(); aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h(interp, &[__t184, __t185])? }; + rt::apply_direct(interp, "shen.comb", &[__t183, __t186])? } } } @@ -988,59 +975,55 @@ pub fn aot_shen_x2e__x3c_define_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t211 = { - let __t210 = v_W541.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t210])? + let __t193 = { + let __t192 = v_W541.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t192])? }; - if match rt::is_truthy(interp, &__t211) { + if match rt::is_truthy(interp, &__t193) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W552 = { let v_W553 = { - let __t212 = v_V540.clone(); - rt::apply_direct(interp, "shen.", &[__t212])? + let __t194 = v_V540.clone(); + aot_shen_x2e__x3c_name_x3e_(interp, &[__t194])? }; { - let __t225 = { - let __t213 = v_W553.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t213])? + let __t207 = { + let __t195 = v_W553.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t195])? }; - if rt::is_truthy(interp, &__t225)? { + if rt::is_truthy(interp, &__t207)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W554 = { - let __t214 = v_W553.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t214])? + let __t196 = v_W553.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t196])? }; { let v_W555 = { - let __t215 = v_W553.clone(); - rt::apply_direct(interp, "shen.in->", &[__t215])? + let __t197 = v_W553.clone(); + rt::apply_direct(interp, "shen.in->", &[__t197])? }; { let v_W556 = { - let __t216 = v_W555.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t216], - )? + let __t198 = v_W555.clone(); + aot_shen_x2e__x3c_rules_x3e_(interp, &[__t198])? }; { - let __t224 = { - let __t217 = v_W556.clone(); + let __t206 = { + let __t199 = v_W556.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t217], + &[__t199], )? }; - if rt::is_truthy(interp, &__t224)? { + if rt::is_truthy(interp, &__t206)? { { rt::apply_direct( interp, @@ -1051,37 +1034,33 @@ pub fn aot_shen_x2e__x3c_define_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W557 = { - let __t218 = v_W556.clone(); + let __t200 = v_W556.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t218], + &[__t200], )? }; { let v_W558 = { - let __t219 = v_W556.clone(); + let __t201 = v_W556.clone(); rt::apply_direct( interp, "shen.in->", - &[__t219], + &[__t201], )? }; { - let __t220 = v_W558.clone(); - let __t223 = { - let __t221 = v_W554.clone(); - let __t222 = v_W557.clone(); - rt::apply_direct( - interp, - "shen.shendef->kldef-h", - &[__t221, __t222], - )? + let __t202 = v_W558.clone(); + let __t205 = { + let __t203 = v_W554.clone(); + let __t204 = v_W557.clone(); + aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h(interp, &[__t203, __t204])? }; rt::apply_direct( interp, "shen.comb", - &[__t220, __t223], + &[__t202, __t205], )? } } @@ -1095,11 +1074,11 @@ pub fn aot_shen_x2e__x3c_define_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t227 = { - let __t226 = v_W552.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t226])? + let __t209 = { + let __t208 = v_W552.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t208])? }; - if match rt::is_truthy(interp, &__t227) { + if match rt::is_truthy(interp, &__t209) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1141,33 +1120,33 @@ pub fn aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h( loop { { let v_W561 = { - let __t229 = { + let __t211 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z562 = args[0].clone(); Ok({ - let __t228 = v_Z562.clone(); - rt::apply_direct(interp, "fst", &[__t228])? + let __t210 = v_Z562.clone(); + rt::apply_direct(interp, "fst", &[__t210])? }) }, Vec::new(), interp, ) }; - let __t230 = v_V560.clone(); - rt::apply_direct(interp, "map", &[__t229, __t230])? + let __t212 = v_V560.clone(); + rt::apply_direct(interp, "map", &[__t211, __t212])? }; { let v_W563 = { - let __t231 = v_V559.clone(); - let __t232 = v_W561.clone(); - rt::apply_direct(interp, "shen.arity-chk", &[__t231, __t232])? + let __t213 = v_V559.clone(); + let __t214 = v_W561.clone(); + aot_shen_x2e_arity_x2d_chk(interp, &[__t213, __t214])? }; { let v_W564 = { - let __t235 = { + let __t217 = { let v_V559 = v_V559.clone(); rt::make_aot_closure( "", @@ -1175,12 +1154,11 @@ pub fn aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h( move |interp, args| { let v_Z565 = args[0].clone(); Ok({ - let __t233 = v_V559.clone(); - let __t234 = v_Z565.clone(); - rt::apply_direct( + let __t215 = v_V559.clone(); + let __t216 = v_Z565.clone(); + aot_shen_x2e_free_x2d_var_x2d_chk( interp, - "shen.free-var-chk", - &[__t233, __t234], + &[__t215, __t216], )? }) }, @@ -1188,27 +1166,26 @@ pub fn aot_shen_x2e_shendef_x2d__x3e_kldef_x2d_h( interp, ) }; - let __t236 = v_V560.clone(); - rt::apply_direct(interp, "map", &[__t235, __t236])? + let __t218 = v_V560.clone(); + rt::apply_direct(interp, "map", &[__t217, __t218])? }; { let v_W566 = { - let __t237 = v_V560.clone(); - rt::apply_direct(interp, "shen.unprotect", &[__t237])? + let __t219 = v_V560.clone(); + aot_shen_x2e_unprotect(interp, &[__t219])? }; { let v_W567 = { - let __t241 = { - let __t238 = v_V559.clone(); - let __t239 = v_W566.clone(); - let __t240 = v_W563.clone(); - rt::apply_direct( + let __t223 = { + let __t220 = v_V559.clone(); + let __t221 = v_W566.clone(); + let __t222 = v_W563.clone(); + aot_shen_x2e_compile_x2d_to_x2d_kl( interp, - "shen.compile-to-kl", - &[__t238, __t239, __t240], + &[__t220, __t221, __t222], )? }; - rt::apply_direct(interp, "shen.factorise-code", &[__t241])? + aot_shen_x2e_factorise_x2d_code(interp, &[__t223])? }; break Ok(v_W567.clone()); } @@ -1244,136 +1221,131 @@ pub fn aot_shen_x2e_unprotect(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t275 = { - let __t268 = v_V568.clone(); - rt::apply_direct(interp, "tuple?", &[__t268])? + let __t253 = { + let __t246 = v_V568.clone(); + rt::apply_direct(interp, "tuple?", &[__t246])? }; - if match rt::is_truthy(interp, &__t275) { + if match rt::is_truthy(interp, &__t253) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t271 = { - let __t270 = { - let __t269 = v_V568.clone(); - rt::apply_direct(interp, "fst", &[__t269])? + let __t249 = { + let __t248 = { + let __t247 = v_V568.clone(); + rt::apply_direct(interp, "fst", &[__t247])? }; - rt::apply_direct(interp, "shen.unprotect", &[__t270])? + aot_shen_x2e_unprotect(interp, &[__t248])? }; - let __t274 = { - let __t273 = { - let __t272 = v_V568.clone(); - rt::apply_direct(interp, "snd", &[__t272])? + let __t252 = { + let __t251 = { + let __t250 = v_V568.clone(); + rt::apply_direct(interp, "snd", &[__t250])? }; - rt::apply_direct(interp, "shen.unprotect", &[__t273])? + aot_shen_x2e_unprotect(interp, &[__t251])? }; - rt::apply_direct(interp, "@p", &[__t271, __t274])? + rt::apply_direct(interp, "@p", &[__t249, __t252])? }); } else { { - let __t267 = { - let __t262 = { - let __t248 = v_V568.clone(); - rt::is_cons(&__t248) + let __t245 = { + let __t240 = { + let __t230 = v_V568.clone(); + rt::is_cons(&__t230) }; - if !rt::is_truthy(interp, &__t262)? { + if !rt::is_truthy(interp, &__t240)? { Value::bool(false) } else { - let __t263 = { - let __t260 = { - let __t249 = Value::sym(interp.intern("protect")); - let __t251 = { - let __t250 = v_V568.clone(); - rt::hd(&__t250)? - }; - rt::eq(&__t249, &__t251) - }; - if !rt::is_truthy(interp, &__t260)? { + let __t241 = { + let __t238 = Value::bool( + ({ + let __t231 = v_V568.clone(); + rt::hd(&__t231)? + }) + .as_sym() + == Some(interp.intern_static("protect")), + ); + if !rt::is_truthy(interp, &__t238)? { Value::bool(false) } else { - let __t261 = { - let __t258 = { - let __t253 = { - let __t252 = v_V568.clone(); - rt::tl(&__t252)? + let __t239 = { + let __t236 = { + let __t233 = { + let __t232 = v_V568.clone(); + rt::tl(&__t232)? }; - rt::is_cons(&__t253) + rt::is_cons(&__t233) }; - if !rt::is_truthy(interp, &__t258)? { + if !rt::is_truthy(interp, &__t236)? { Value::bool(false) } else { - let __t259 = { - let __t254 = Value::nil(); - let __t257 = { - let __t256 = { - let __t255 = v_V568.clone(); - rt::tl(&__t255)? + let __t237 = Value::bool( + ({ + let __t235 = { + let __t234 = v_V568.clone(); + rt::tl(&__t234)? }; - rt::tl(&__t256)? - }; - rt::eq(&__t254, &__t257) - }; - Value::bool(rt::is_truthy(interp, &__t259)?) + rt::tl(&__t235)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t237)?) } }; - Value::bool(rt::is_truthy(interp, &__t261)?) + Value::bool(rt::is_truthy(interp, &__t239)?) } }; - Value::bool(rt::is_truthy(interp, &__t263)?) + Value::bool(rt::is_truthy(interp, &__t241)?) } }; - if match rt::is_truthy(interp, &__t267) { + if match rt::is_truthy(interp, &__t245) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t266 = { - let __t265 = { - let __t264 = v_V568.clone(); - rt::tl(&__t264)? + let __t244 = { + let __t243 = { + let __t242 = v_V568.clone(); + rt::tl(&__t242)? }; - rt::hd(&__t265)? + rt::hd(&__t243)? }; - v_V568 = __t266; + v_V568 = __t244; continue; } } else { { - let __t247 = { - let __t243 = v_V568.clone(); - rt::is_cons(&__t243) + let __t229 = { + let __t225 = v_V568.clone(); + rt::is_cons(&__t225) }; - if match rt::is_truthy(interp, &__t247) { + if match rt::is_truthy(interp, &__t229) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t245 = { + let __t227 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z569 = args[0].clone(); Ok({ - let __t244 = v_Z569.clone(); - rt::apply_direct( - interp, - "shen.unprotect", - &[__t244], - )? + let __t226 = v_Z569.clone(); + aot_shen_x2e_unprotect(interp, &[__t226])? }) }, Vec::new(), interp, ) }; - let __t246 = v_V568.clone(); - rt::apply_direct(interp, "map", &[__t245, __t246])? + let __t228 = v_V568.clone(); + rt::apply_direct(interp, "map", &[__t227, __t228])? }); } else { { - let __t242 = Value::bool(true); - if match rt::is_truthy(interp, &__t242) { + let __t224 = Value::bool(true); + if match rt::is_truthy(interp, &__t224) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1410,67 +1382,68 @@ pub fn aot_shen_x2e__x3c_name_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W571 = { - let __t291 = { - let __t276 = v_V570.clone(); - rt::is_cons(&__t276) + let __t269 = { + let __t254 = v_V570.clone(); + rt::is_cons(&__t254) }; - if rt::is_truthy(interp, &__t291)? { + if rt::is_truthy(interp, &__t269)? { { let v_W572 = { - let __t277 = v_V570.clone(); - rt::apply_direct(interp, "head", &[__t277])? + let __t255 = v_V570.clone(); + rt::apply_direct(interp, "head", &[__t255])? }; { let v_W573 = { - let __t278 = v_V570.clone(); - rt::apply_direct(interp, "tail", &[__t278])? + let __t256 = v_V570.clone(); + rt::apply_direct(interp, "tail", &[__t256])? }; { - let __t279 = v_W573.clone(); - let __t290 = { - let __t289 = { - let __t283 = { - let __t280 = v_W572.clone(); - rt::is_symbol(&__t280) + let __t257 = v_W573.clone(); + let __t268 = { + let __t267 = { + let __t261 = { + let __t258 = v_W572.clone(); + rt::apply_direct(interp, "symbol?", &[__t258])? }; - if !rt::is_truthy(interp, &__t283)? { + if !rt::is_truthy(interp, &__t261)? { Value::bool(false) } else { - let __t284 = { - let __t282 = { - let __t281 = v_W572.clone(); + let __t262 = { + let __t260 = { + let __t259 = v_W572.clone(); rt::apply_direct( interp, "variable?", - &[__t281], + &[__t259], )? }; - rt::apply_direct(interp, "not", &[__t282])? + rt::not(interp, &__t260)? }; - Value::bool(rt::is_truthy(interp, &__t284)?) + Value::bool(rt::is_truthy(interp, &__t262)?) } }; - if rt::is_truthy(interp, &__t289)? { + if rt::is_truthy(interp, &__t267)? { v_W572.clone() } else { { - let __t288 = { - let __t285 = v_W572.clone(); - let __t286 = Value::str( + let __t266 = { + let __t263 = v_W572.clone(); + let __t264 = Value::str( " is not a legitimate function name.\n", ); - let __t287 = Value::sym(interp.intern("shen.a")); + let __t265 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t285, __t286, __t287], + &[__t263, __t264, __t265], )? }; - rt::apply_direct(interp, "simple-error", &[__t288])? + rt::apply_direct(interp, "simple-error", &[__t266])? } } }; - rt::apply_direct(interp, "shen.comb", &[__t279, __t290])? + rt::apply_direct(interp, "shen.comb", &[__t257, __t268])? } } } @@ -1481,11 +1454,11 @@ pub fn aot_shen_x2e__x3c_name_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t293 = { - let __t292 = v_W571.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t292])? + let __t271 = { + let __t270 = v_W571.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t270])? }; - if match rt::is_truthy(interp, &__t293) { + if match rt::is_truthy(interp, &__t271) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1517,86 +1490,87 @@ pub fn aot_shen_x2e__x3c_signature_x3e_(interp: &mut Interp, args: &[Value]) -> loop { { let v_W575 = { - let __t314 = { - let __t294 = v_V574.clone(); - rt::is_cons(&__t294) + let __t292 = { + let __t272 = v_V574.clone(); + rt::is_cons(&__t272) }; - if rt::is_truthy(interp, &__t314)? { + if rt::is_truthy(interp, &__t292)? { { let v_W576 = { - let __t295 = v_V574.clone(); - rt::apply_direct(interp, "head", &[__t295])? + let __t273 = v_V574.clone(); + rt::apply_direct(interp, "head", &[__t273])? }; { let v_W577 = { - let __t296 = v_V574.clone(); - rt::apply_direct(interp, "tail", &[__t296])? + let __t274 = v_V574.clone(); + rt::apply_direct(interp, "tail", &[__t274])? }; { let v_W578 = { - let __t297 = v_W577.clone(); - rt::apply_direct(interp, "shen.", &[__t297])? + let __t275 = v_W577.clone(); + aot_shen_x2e__x3c_signature_x3e_(interp, &[__t275])? }; { - let __t313 = { - let __t298 = v_W578.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t298])? + let __t291 = { + let __t276 = v_W578.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t276])? }; - if rt::is_truthy(interp, &__t313)? { + if rt::is_truthy(interp, &__t291)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W579 = { - let __t299 = v_W578.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t299])? + let __t277 = v_W578.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t277])? }; { let v_W580 = { - let __t300 = v_W578.clone(); + let __t278 = v_W578.clone(); rt::apply_direct( interp, "shen.in->", - &[__t300], + &[__t278], )? }; { - let __t312 = { - let __t307 = { - let __t301 = v_W576.clone(); - let __t306 = { - let __t302 = - Value::sym(interp.intern("{")); - let __t305 = { - let __t303 = Value::sym( - interp.intern("}"), + let __t290 = { + let __t285 = { + let __t279 = v_W576.clone(); + let __t284 = { + let __t280 = Value::sym( + interp.intern_static("{"), + ); + let __t283 = { + let __t281 = Value::sym( + interp.intern_static("}"), ); - let __t304 = Value::nil(); - rt::cons(&__t303, &__t304) + let __t282 = Value::nil(); + rt::cons(&__t281, &__t282) }; - rt::cons(&__t302, &__t305) + rt::cons(&__t280, &__t283) }; rt::apply_direct( interp, "element?", - &[__t301, __t306], + &[__t279, __t284], )? }; - rt::apply_direct(interp, "not", &[__t307])? + rt::not(interp, &__t285)? }; - if rt::is_truthy(interp, &__t312)? { + if rt::is_truthy(interp, &__t290)? { { - let __t308 = v_W580.clone(); - let __t311 = { - let __t309 = v_W576.clone(); - let __t310 = v_W579.clone(); - rt::cons(&__t309, &__t310) + let __t286 = v_W580.clone(); + let __t289 = { + let __t287 = v_W576.clone(); + let __t288 = v_W579.clone(); + rt::cons(&__t287, &__t288) }; rt::apply_direct( interp, "shen.comb", - &[__t308, __t311], + &[__t286, __t289], )? } } else { @@ -1623,42 +1597,42 @@ pub fn aot_shen_x2e__x3c_signature_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t316 = { - let __t315 = v_W575.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t315])? + let __t294 = { + let __t293 = v_W575.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t293])? }; - if match rt::is_truthy(interp, &__t316) { + if match rt::is_truthy(interp, &__t294) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W581 = { let v_W582 = { - let __t317 = v_V574.clone(); - rt::apply_direct(interp, "", &[__t317])? + let __t295 = v_V574.clone(); + rt::apply_direct(interp, "", &[__t295])? }; { - let __t322 = { - let __t318 = v_W582.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t318])? + let __t300 = { + let __t296 = v_W582.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t296])? }; - if rt::is_truthy(interp, &__t322)? { + if rt::is_truthy(interp, &__t300)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W583 = { - let __t319 = v_W582.clone(); - rt::apply_direct(interp, "shen.in->", &[__t319])? + let __t297 = v_W582.clone(); + rt::apply_direct(interp, "shen.in->", &[__t297])? }; { - let __t320 = v_W583.clone(); - let __t321 = Value::nil(); + let __t298 = v_W583.clone(); + let __t299 = Value::nil(); rt::apply_direct( interp, "shen.comb", - &[__t320, __t321], + &[__t298, __t299], )? } } @@ -1666,11 +1640,11 @@ pub fn aot_shen_x2e__x3c_signature_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t324 = { - let __t323 = v_W581.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t323])? + let __t302 = { + let __t301 = v_W581.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t301])? }; - if match rt::is_truthy(interp, &__t324) { + if match rt::is_truthy(interp, &__t302) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1708,84 +1682,83 @@ pub fn aot_shen_x2e__x3c_rules_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let v_W585 = { let v_W586 = { - let __t325 = v_V584.clone(); - rt::apply_direct(interp, "shen.", &[__t325])? + let __t303 = v_V584.clone(); + aot_shen_x2e__x3c_rule_x3e_(interp, &[__t303])? }; { - let __t339 = { - let __t326 = v_W586.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t326])? + let __t317 = { + let __t304 = v_W586.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t304])? }; - if rt::is_truthy(interp, &__t339)? { + if rt::is_truthy(interp, &__t317)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W587 = { - let __t327 = v_W586.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t327])? + let __t305 = v_W586.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t305])? }; { let v_W588 = { - let __t328 = v_W586.clone(); - rt::apply_direct(interp, "shen.in->", &[__t328])? + let __t306 = v_W586.clone(); + rt::apply_direct(interp, "shen.in->", &[__t306])? }; { let v_W589 = { - let __t329 = v_W588.clone(); - rt::apply_direct(interp, "shen.", &[__t329])? + let __t307 = v_W588.clone(); + aot_shen_x2e__x3c_rules_x3e_(interp, &[__t307])? }; { - let __t338 = { - let __t330 = v_W589.clone(); + let __t316 = { + let __t308 = v_W589.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t330], + &[__t308], )? }; - if rt::is_truthy(interp, &__t338)? { + if rt::is_truthy(interp, &__t316)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W590 = { - let __t331 = v_W589.clone(); + let __t309 = v_W589.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t331], + &[__t309], )? }; { let v_W591 = { - let __t332 = v_W589.clone(); + let __t310 = v_W589.clone(); rt::apply_direct( interp, "shen.in->", - &[__t332], + &[__t310], )? }; { - let __t333 = v_W591.clone(); - let __t337 = { - let __t335 = { - let __t334 = v_W587.clone(); - rt::apply_direct( + let __t311 = v_W591.clone(); + let __t315 = { + let __t313 = { + let __t312 = v_W587.clone(); + aot_shen_x2e_linearise( interp, - "shen.linearise", - &[__t334], + &[__t312], )? }; - let __t336 = v_W590.clone(); - rt::cons(&__t335, &__t336) + let __t314 = v_W590.clone(); + rt::cons(&__t313, &__t314) }; rt::apply_direct( interp, "shen.comb", - &[__t333, __t337], + &[__t311, __t315], )? } } @@ -1799,82 +1772,76 @@ pub fn aot_shen_x2e__x3c_rules_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t341 = { - let __t340 = v_W585.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t340])? + let __t319 = { + let __t318 = v_W585.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t318])? }; - if match rt::is_truthy(interp, &__t341) { + if match rt::is_truthy(interp, &__t319) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W592 = { let v_W593 = { - let __t342 = v_V584.clone(); - rt::apply_direct(interp, "", &[__t342])? + let __t320 = v_V584.clone(); + rt::apply_direct(interp, "", &[__t320])? }; { - let __t356 = { - let __t343 = v_W593.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t343])? + let __t334 = { + let __t321 = v_W593.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t321])? }; - if rt::is_truthy(interp, &__t356)? { + if rt::is_truthy(interp, &__t334)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W594 = { - let __t344 = v_W593.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t344])? + let __t322 = v_W593.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t322])? }; { let v_W595 = { - let __t345 = v_W593.clone(); - rt::apply_direct(interp, "shen.in->", &[__t345])? + let __t323 = v_W593.clone(); + rt::apply_direct(interp, "shen.in->", &[__t323])? }; { - let __t346 = v_W595.clone(); - let __t355 = { - let __t354 = { - let __t347 = v_W594.clone(); - rt::apply_direct( - interp, - "empty?", - &[__t347], - )? + let __t324 = v_W595.clone(); + let __t333 = { + let __t332 = { + let __t325 = v_W594.clone(); + rt::is_empty(&__t325) }; - if rt::is_truthy(interp, &__t354)? { + if rt::is_truthy(interp, &__t332)? { Value::nil() } else { { - let __t353 = { - let __t348 = Value::str( + let __t331 = { + let __t326 = Value::str( "Shen syntax error here:\n ", ); - let __t352 = { - let __t349 = v_W594.clone(); - let __t350 = + let __t330 = { + let __t327 = v_W594.clone(); + let __t328 = Value::str("\n ..."); - let __t351 = Value::sym( - interp.intern("shen.r"), + let __t329 = Value::sym( + interp.intern_static( + "shen.r", + ), ); rt::apply_direct( interp, "shen.app", - &[__t349, __t350, __t351], + &[__t327, __t328, __t329], )? }; - rt::apply_direct( - interp, - "cn", - &[__t348, __t352], - )? + rt::cn(&__t326, &__t330)? }; rt::apply_direct( interp, "simple-error", - &[__t353], + &[__t331], )? } } @@ -1882,7 +1849,7 @@ pub fn aot_shen_x2e__x3c_rules_x3e_(interp: &mut Interp, args: &[Value]) -> Shen rt::apply_direct( interp, "shen.comb", - &[__t346, __t355], + &[__t324, __t333], )? } } @@ -1891,11 +1858,11 @@ pub fn aot_shen_x2e__x3c_rules_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t358 = { - let __t357 = v_W592.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t357])? + let __t336 = { + let __t335 = v_W592.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t335])? }; - if match rt::is_truthy(interp, &__t358) { + if match rt::is_truthy(interp, &__t336) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1931,44 +1898,40 @@ pub fn aot_shen_x2e_linearise(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t369 = { - let __t361 = v_V598.clone(); - rt::apply_direct(interp, "tuple?", &[__t361])? + let __t347 = { + let __t339 = v_V598.clone(); + rt::apply_direct(interp, "tuple?", &[__t339])? }; - if match rt::is_truthy(interp, &__t369) { + if match rt::is_truthy(interp, &__t347) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t363 = { - let __t362 = v_V598.clone(); - rt::apply_direct(interp, "fst", &[__t362])? + let __t341 = { + let __t340 = v_V598.clone(); + rt::apply_direct(interp, "fst", &[__t340])? }; - let __t365 = { - let __t364 = v_V598.clone(); - rt::apply_direct(interp, "fst", &[__t364])? + let __t343 = { + let __t342 = v_V598.clone(); + rt::apply_direct(interp, "fst", &[__t342])? }; - let __t366 = Value::nil(); - let __t368 = { - let __t367 = v_V598.clone(); - rt::apply_direct(interp, "snd", &[__t367])? + let __t344 = Value::nil(); + let __t346 = { + let __t345 = v_V598.clone(); + rt::apply_direct(interp, "snd", &[__t345])? }; - rt::apply_direct( - interp, - "shen.linearise-h", - &[__t363, __t365, __t366, __t368], - )? + aot_shen_x2e_linearise_x2d_h(interp, &[__t341, __t343, __t344, __t346])? }); } else { { - let __t360 = Value::bool(true); - if match rt::is_truthy(interp, &__t360) { + let __t338 = Value::bool(true); + if match rt::is_truthy(interp, &__t338) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t359 = Value::str("implementation error in shen.linearise"); - rt::apply_direct(interp, "simple-error", &[__t359])? + let __t337 = Value::str("implementation error in shen.linearise"); + rt::apply_direct(interp, "simple-error", &[__t337])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2003,225 +1966,222 @@ pub fn aot_shen_x2e_linearise_x2d_h(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t438 = { - let __t434 = Value::nil(); - let __t435 = v_V611.clone(); - rt::eq(&__t434, &__t435) - }; - if match rt::is_truthy(interp, &__t438) { + let __t414 = Value::bool((v_V611.clone()).is_nil()); + if match rt::is_truthy(interp, &__t414) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t436 = v_V612.clone(); - let __t437 = v_V614.clone(); - rt::apply_direct(interp, "@p", &[__t436, __t437])? + let __t412 = v_V612.clone(); + let __t413 = v_V614.clone(); + rt::apply_direct(interp, "@p", &[__t412, __t413])? }); } else { { - let __t433 = { - let __t423 = { - let __t420 = v_V611.clone(); - rt::is_cons(&__t420) + let __t411 = { + let __t401 = { + let __t398 = v_V611.clone(); + rt::is_cons(&__t398) }; - if !rt::is_truthy(interp, &__t423)? { + if !rt::is_truthy(interp, &__t401)? { Value::bool(false) } else { - let __t424 = { - let __t422 = { - let __t421 = v_V611.clone(); - rt::hd(&__t421)? + let __t402 = { + let __t400 = { + let __t399 = v_V611.clone(); + rt::hd(&__t399)? }; - rt::is_cons(&__t422) + rt::is_cons(&__t400) }; - Value::bool(rt::is_truthy(interp, &__t424)?) + Value::bool(rt::is_truthy(interp, &__t402)?) } }; - if match rt::is_truthy(interp, &__t433) { + if match rt::is_truthy(interp, &__t411) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t429 = { - let __t426 = { - let __t425 = v_V611.clone(); - rt::hd(&__t425)? + let __t407 = { + let __t404 = { + let __t403 = v_V611.clone(); + rt::hd(&__t403)? }; - let __t428 = { - let __t427 = v_V611.clone(); - rt::tl(&__t427)? + let __t406 = { + let __t405 = v_V611.clone(); + rt::tl(&__t405)? }; - rt::apply_direct(interp, "append", &[__t426, __t428])? - }; - let __t430 = v_V612.clone(); - let __t431 = v_V613.clone(); - let __t432 = v_V614.clone(); - v_V611 = __t429; - v_V612 = __t430; - v_V613 = __t431; - v_V614 = __t432; + rt::apply_direct(interp, "append", &[__t404, __t406])? + }; + let __t408 = v_V612.clone(); + let __t409 = v_V613.clone(); + let __t410 = v_V614.clone(); + v_V611 = __t407; + v_V612 = __t408; + v_V613 = __t409; + v_V614 = __t410; continue; } } else { { - let __t419 = { - let __t382 = { - let __t379 = v_V611.clone(); - rt::is_cons(&__t379) + let __t397 = { + let __t360 = { + let __t357 = v_V611.clone(); + rt::is_cons(&__t357) }; - if !rt::is_truthy(interp, &__t382)? { + if !rt::is_truthy(interp, &__t360)? { Value::bool(false) } else { - let __t383 = { - let __t381 = { - let __t380 = v_V611.clone(); - rt::hd(&__t380)? + let __t361 = { + let __t359 = { + let __t358 = v_V611.clone(); + rt::hd(&__t358)? }; - rt::apply_direct(interp, "variable?", &[__t381])? + rt::apply_direct(interp, "variable?", &[__t359])? }; - Value::bool(rt::is_truthy(interp, &__t383)?) + Value::bool(rt::is_truthy(interp, &__t361)?) } }; - if match rt::is_truthy(interp, &__t419) { + if match rt::is_truthy(interp, &__t397) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t387 = { - let __t385 = { - let __t384 = v_V611.clone(); - rt::hd(&__t384)? + let __t365 = { + let __t363 = { + let __t362 = v_V611.clone(); + rt::hd(&__t362)? }; - let __t386 = v_V613.clone(); - rt::apply_direct(interp, "element?", &[__t385, __t386])? + let __t364 = v_V613.clone(); + rt::apply_direct(interp, "element?", &[__t363, __t364])? }; - if match rt::is_truthy(interp, &__t387) { + if match rt::is_truthy(interp, &__t365) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W615 = { - let __t388 = Value::sym(interp.intern("V")); - rt::apply_direct(interp, "gensym", &[__t388])? + let __t366 = Value::sym(interp.intern_static("V")); + rt::apply_direct(interp, "gensym", &[__t366])? }; { - let __t390 = { - let __t389 = v_V611.clone(); - rt::tl(&__t389)? + let __t368 = { + let __t367 = v_V611.clone(); + rt::tl(&__t367)? }; - let __t395 = { - let __t392 = { - let __t391 = v_V611.clone(); - rt::hd(&__t391)? + let __t373 = { + let __t370 = { + let __t369 = v_V611.clone(); + rt::hd(&__t369)? }; - let __t393 = v_W615.clone(); - let __t394 = v_V612.clone(); - rt::apply_direct( + let __t371 = v_W615.clone(); + let __t372 = v_V612.clone(); + aot_shen_x2e_rep_x2d_X( interp, - "shen.rep-X", - &[__t392, __t393, __t394], + &[__t370, __t371, __t372], )? }; - let __t396 = v_V613.clone(); - let __t410 = { - let __t397 = Value::sym(interp.intern("where")); - let __t409 = { - let __t405 = { - let __t398 = - Value::sym(interp.intern("=")); - let __t404 = { - let __t399 = v_W615.clone(); - let __t403 = { - let __t401 = { - let __t400 = v_V611.clone(); - rt::hd(&__t400)? + let __t374 = v_V613.clone(); + let __t388 = { + let __t375 = + Value::sym(interp.intern_static("where")); + let __t387 = { + let __t383 = { + let __t376 = Value::sym( + interp.intern_static("="), + ); + let __t382 = { + let __t377 = v_W615.clone(); + let __t381 = { + let __t379 = { + let __t378 = v_V611.clone(); + rt::hd(&__t378)? }; - let __t402 = Value::nil(); - rt::cons(&__t401, &__t402) + let __t380 = Value::nil(); + rt::cons(&__t379, &__t380) }; - rt::cons(&__t399, &__t403) + rt::cons(&__t377, &__t381) }; - rt::cons(&__t398, &__t404) + rt::cons(&__t376, &__t382) }; - let __t408 = { - let __t406 = v_V614.clone(); - let __t407 = Value::nil(); - rt::cons(&__t406, &__t407) + let __t386 = { + let __t384 = v_V614.clone(); + let __t385 = Value::nil(); + rt::cons(&__t384, &__t385) }; - rt::cons(&__t405, &__t408) + rt::cons(&__t383, &__t386) }; - rt::cons(&__t397, &__t409) + rt::cons(&__t375, &__t387) }; - v_V611 = __t390; - v_V612 = __t395; - v_V613 = __t396; - v_V614 = __t410; + v_V611 = __t368; + v_V612 = __t373; + v_V613 = __t374; + v_V614 = __t388; continue; } } } else { { - let __t412 = { - let __t411 = v_V611.clone(); - rt::tl(&__t411)? + let __t390 = { + let __t389 = v_V611.clone(); + rt::tl(&__t389)? }; - let __t413 = v_V612.clone(); - let __t417 = { - let __t415 = { - let __t414 = v_V611.clone(); - rt::hd(&__t414)? + let __t391 = v_V612.clone(); + let __t395 = { + let __t393 = { + let __t392 = v_V611.clone(); + rt::hd(&__t392)? }; - let __t416 = v_V613.clone(); - rt::cons(&__t415, &__t416) + let __t394 = v_V613.clone(); + rt::cons(&__t393, &__t394) }; - let __t418 = v_V614.clone(); - v_V611 = __t412; - v_V612 = __t413; - v_V613 = __t417; - v_V614 = __t418; + let __t396 = v_V614.clone(); + v_V611 = __t390; + v_V612 = __t391; + v_V613 = __t395; + v_V614 = __t396; continue; } } } } else { { - let __t378 = { - let __t372 = v_V611.clone(); - rt::is_cons(&__t372) + let __t356 = { + let __t350 = v_V611.clone(); + rt::is_cons(&__t350) }; - if match rt::is_truthy(interp, &__t378) { + if match rt::is_truthy(interp, &__t356) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t374 = { - let __t373 = v_V611.clone(); - rt::tl(&__t373)? + let __t352 = { + let __t351 = v_V611.clone(); + rt::tl(&__t351)? }; - let __t375 = v_V612.clone(); - let __t376 = v_V613.clone(); - let __t377 = v_V614.clone(); - v_V611 = __t374; - v_V612 = __t375; - v_V613 = __t376; - v_V614 = __t377; + let __t353 = v_V612.clone(); + let __t354 = v_V613.clone(); + let __t355 = v_V614.clone(); + v_V611 = __t352; + v_V612 = __t353; + v_V613 = __t354; + v_V614 = __t355; continue; } } else { { - let __t371 = Value::bool(true); - if match rt::is_truthy(interp, &__t371) { + let __t349 = Value::bool(true); + if match rt::is_truthy(interp, &__t349) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t370 = Value::str( + let __t348 = Value::str( "implementation error in shen.linearise-h", ); rt::apply_direct( interp, "simple-error", - &[__t370], + &[__t348], )? }); } else { @@ -2261,115 +2221,116 @@ pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let v_W617 = { let v_W618 = { - let __t439 = v_V616.clone(); - rt::apply_direct(interp, "shen.", &[__t439])? + let __t415 = v_V616.clone(); + aot_shen_x2e__x3c_patterns_x3e_(interp, &[__t415])? }; { - let __t469 = { - let __t440 = v_W618.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t440])? + let __t445 = { + let __t416 = v_W618.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t416])? }; - if rt::is_truthy(interp, &__t469)? { + if rt::is_truthy(interp, &__t445)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W619 = { - let __t441 = v_W618.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t441])? + let __t417 = v_W618.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t417])? }; { let v_W620 = { - let __t442 = v_W618.clone(); - rt::apply_direct(interp, "shen.in->", &[__t442])? + let __t418 = v_W618.clone(); + rt::apply_direct(interp, "shen.in->", &[__t418])? }; { - let __t468 = { - let __t443 = v_W620.clone(); - let __t444 = Value::sym(interp.intern("->")); - rt::apply_direct(interp, "shen.hds=?", &[__t443, __t444])? + let __t444 = { + let __t419 = v_W620.clone(); + let __t420 = Value::sym(interp.intern_static("->")); + rt::apply_direct(interp, "shen.hds=?", &[__t419, __t420])? }; - if rt::is_truthy(interp, &__t468)? { + if rt::is_truthy(interp, &__t444)? { { let v_W621 = { - let __t445 = v_W620.clone(); - rt::apply_direct(interp, "tail", &[__t445])? + let __t421 = v_W620.clone(); + rt::apply_direct(interp, "tail", &[__t421])? }; { - let __t467 = { - let __t446 = v_W621.clone(); - rt::is_cons(&__t446) + let __t443 = { + let __t422 = v_W621.clone(); + rt::is_cons(&__t422) }; - if rt::is_truthy(interp, &__t467)? { + if rt::is_truthy(interp, &__t443)? { { let v_W622 = { - let __t447 = v_W621.clone(); + let __t423 = v_W621.clone(); rt::apply_direct( interp, "head", - &[__t447], + &[__t423], )? }; { let v_W623 = { - let __t448 = v_W621.clone(); + let __t424 = v_W621.clone(); rt::apply_direct( interp, "tail", - &[__t448], + &[__t424], )? }; { - let __t466 = { - let __t449 = v_W623.clone(); - let __t450 = Value::sym( - interp.intern("where"), + let __t442 = { + let __t425 = v_W623.clone(); + let __t426 = Value::sym( + interp + .intern_static("where"), ); rt::apply_direct( interp, "shen.hds=?", - &[__t449, __t450], + &[__t425, __t426], )? }; - if rt::is_truthy(interp, &__t466)? { + if rt::is_truthy(interp, &__t442)? { { let v_W624 = { - let __t451 = + let __t427 = v_W623.clone(); rt::apply_direct( interp, "tail", - &[__t451], + &[__t427], )? }; { - let __t465 = { - let __t452 = + let __t441 = { + let __t428 = v_W624.clone(); - rt::is_cons(&__t452) + rt::is_cons(&__t428) }; if rt::is_truthy( - interp, &__t465, + interp, &__t441, )? { { let v_W625 = { - let __t453 = v_W624.clone(); - rt::apply_direct(interp, "head", &[__t453])? + let __t429 = v_W624.clone(); + rt::apply_direct(interp, "head", &[__t429])? }; { let v_W626 = { - let __t454 = v_W624.clone(); - rt::apply_direct(interp, "tail", &[__t454])? + let __t430 = v_W624.clone(); + rt::apply_direct(interp, "tail", &[__t430])? }; { - let __t455 = v_W626.clone(); - let __t464 = { - let __t456 = v_W619.clone(); - let __t463 = { let __t457 = Value::sym(interp.intern("where")); let __t462 = { let __t458 = v_W625.clone(); let __t461 = { let __t459 = v_W622.clone(); let __t460 = Value::nil(); rt::cons(&__t459, &__t460) }; rt::cons(&__t458, &__t461) }; rt::cons(&__t457, &__t462) }; - rt::apply_direct(interp, "@p", &[__t456, __t463])? + let __t431 = v_W626.clone(); + let __t440 = { + let __t432 = v_W619.clone(); + let __t439 = { let __t433 = Value::sym(interp.intern_static("where")); let __t438 = { let __t434 = v_W625.clone(); let __t437 = { let __t435 = v_W622.clone(); let __t436 = Value::nil(); rt::cons(&__t435, &__t436) }; rt::cons(&__t434, &__t437) }; rt::cons(&__t433, &__t438) }; + rt::apply_direct(interp, "@p", &[__t432, __t439])? }; - rt::apply_direct(interp, "shen.comb", &[__t455, __t464])? + rt::apply_direct(interp, "shen.comb", &[__t431, __t440])? } } } @@ -2415,106 +2376,107 @@ pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t471 = { - let __t470 = v_W617.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t470])? + let __t447 = { + let __t446 = v_W617.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t446])? }; - if match rt::is_truthy(interp, &__t471) { + if match rt::is_truthy(interp, &__t447) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W627 = { let v_W628 = { - let __t472 = v_V616.clone(); - rt::apply_direct(interp, "shen.", &[__t472])? + let __t448 = v_V616.clone(); + aot_shen_x2e__x3c_patterns_x3e_(interp, &[__t448])? }; { - let __t488 = { - let __t473 = v_W628.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t473])? + let __t464 = { + let __t449 = v_W628.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t449])? }; - if rt::is_truthy(interp, &__t488)? { + if rt::is_truthy(interp, &__t464)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W629 = { - let __t474 = v_W628.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t474])? + let __t450 = v_W628.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t450])? }; { let v_W630 = { - let __t475 = v_W628.clone(); - rt::apply_direct(interp, "shen.in->", &[__t475])? + let __t451 = v_W628.clone(); + rt::apply_direct(interp, "shen.in->", &[__t451])? }; { - let __t487 = { - let __t476 = v_W630.clone(); - let __t477 = Value::sym(interp.intern("->")); + let __t463 = { + let __t452 = v_W630.clone(); + let __t453 = + Value::sym(interp.intern_static("->")); rt::apply_direct( interp, "shen.hds=?", - &[__t476, __t477], + &[__t452, __t453], )? }; - if rt::is_truthy(interp, &__t487)? { + if rt::is_truthy(interp, &__t463)? { { let v_W631 = { - let __t478 = v_W630.clone(); + let __t454 = v_W630.clone(); rt::apply_direct( interp, "tail", - &[__t478], + &[__t454], )? }; { - let __t486 = { - let __t479 = v_W631.clone(); - rt::is_cons(&__t479) + let __t462 = { + let __t455 = v_W631.clone(); + rt::is_cons(&__t455) }; - if rt::is_truthy(interp, &__t486)? { + if rt::is_truthy(interp, &__t462)? { { let v_W632 = { - let __t480 = v_W631.clone(); + let __t456 = v_W631.clone(); rt::apply_direct( interp, "head", - &[__t480], + &[__t456], )? }; { let v_W633 = { - let __t481 = + let __t457 = v_W631.clone(); rt::apply_direct( interp, "tail", - &[__t481], + &[__t457], )? }; { - let __t482 = + let __t458 = v_W633.clone(); - let __t485 = { - let __t483 = + let __t461 = { + let __t459 = v_W629.clone(); - let __t484 = + let __t460 = v_W632.clone(); rt::apply_direct( interp, "@p", &[ - __t483, - __t484, + __t459, + __t460, ], )? }; rt::apply_direct( interp, "shen.comb", - &[__t482, __t485], + &[__t458, __t461], )? } } @@ -2546,30 +2508,30 @@ pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t490 = { - let __t489 = v_W627.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t489])? + let __t466 = { + let __t465 = v_W627.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t465])? }; - if match rt::is_truthy(interp, &__t490) { + if match rt::is_truthy(interp, &__t466) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W634 = { let v_W635 = { - let __t491 = v_V616.clone(); - rt::apply_direct(interp, "shen.", &[__t491])? + let __t467 = v_V616.clone(); + aot_shen_x2e__x3c_patterns_x3e_(interp, &[__t467])? }; { - let __t525 = { - let __t492 = v_W635.clone(); + let __t501 = { + let __t468 = v_W635.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t492], + &[__t468], )? }; - if rt::is_truthy(interp, &__t525)? { + if rt::is_truthy(interp, &__t501)? { { rt::apply_direct( interp, @@ -2580,72 +2542,73 @@ pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let v_W636 = { - let __t493 = v_W635.clone(); + let __t469 = v_W635.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t493], + &[__t469], )? }; { let v_W637 = { - let __t494 = v_W635.clone(); + let __t470 = v_W635.clone(); rt::apply_direct( interp, "shen.in->", - &[__t494], + &[__t470], )? }; { - let __t524 = { - let __t495 = v_W637.clone(); - let __t496 = - Value::sym(interp.intern("<-")); + let __t500 = { + let __t471 = v_W637.clone(); + let __t472 = Value::sym( + interp.intern_static("<-"), + ); rt::apply_direct( interp, "shen.hds=?", - &[__t495, __t496], + &[__t471, __t472], )? }; - if rt::is_truthy(interp, &__t524)? { + if rt::is_truthy(interp, &__t500)? { { let v_W638 = { - let __t497 = v_W637.clone(); + let __t473 = v_W637.clone(); rt::apply_direct( interp, "tail", - &[__t497], + &[__t473], )? }; { - let __t523 = { - let __t498 = + let __t499 = { + let __t474 = v_W638.clone(); - rt::is_cons(&__t498) + rt::is_cons(&__t474) }; if rt::is_truthy( - interp, &__t523, + interp, &__t499, )? { { let v_W639 = { - let __t499 = + let __t475 = v_W638 .clone( ); - rt::apply_direct(interp, "head", &[__t499])? + rt::apply_direct(interp, "head", &[__t475])? }; { let v_W640 = { - let __t500 = v_W638.clone(); - rt::apply_direct(interp, "tail", &[__t500])? + let __t476 = v_W638.clone(); + rt::apply_direct(interp, "tail", &[__t476])? }; { - let __t522 = { - let __t501 = v_W640.clone(); - let __t502 = Value::sym(interp.intern("where")); - rt::apply_direct(interp, "shen.hds=?", &[__t501, __t502])? + let __t498 = { + let __t477 = v_W640.clone(); + let __t478 = Value::sym(interp.intern_static("where")); + rt::apply_direct(interp, "shen.hds=?", &[__t477, __t478])? }; - if rt::is_truthy(interp, &__t522)? { { let v_W641 = { let __t503 = v_W640.clone(); rt::apply_direct(interp, "tail", &[__t503])? }; { let __t521 = { let __t504 = v_W641.clone(); rt::is_cons(&__t504) }; if rt::is_truthy(interp, &__t521)? { { let v_W642 = { let __t505 = v_W641.clone(); rt::apply_direct(interp, "head", &[__t505])? }; { let v_W643 = { let __t506 = v_W641.clone(); rt::apply_direct(interp, "tail", &[__t506])? }; { let __t507 = v_W643.clone(); let __t520 = { let __t508 = v_W636.clone(); let __t519 = { let __t509 = Value::sym(interp.intern("where")); let __t518 = { let __t510 = v_W642.clone(); let __t517 = { let __t515 = { let __t511 = Value::sym(interp.intern("shen.choicepoint!")); let __t514 = { let __t512 = v_W639.clone(); let __t513 = Value::nil(); rt::cons(&__t512, &__t513) }; rt::cons(&__t511, &__t514) }; let __t516 = Value::nil(); rt::cons(&__t515, &__t516) }; rt::cons(&__t510, &__t517) }; rt::cons(&__t509, &__t518) }; rt::apply_direct(interp, "@p", &[__t508, __t519])? }; rt::apply_direct(interp, "shen.comb", &[__t507, __t520])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t498)? { { let v_W641 = { let __t479 = v_W640.clone(); rt::apply_direct(interp, "tail", &[__t479])? }; { let __t497 = { let __t480 = v_W641.clone(); rt::is_cons(&__t480) }; if rt::is_truthy(interp, &__t497)? { { let v_W642 = { let __t481 = v_W641.clone(); rt::apply_direct(interp, "head", &[__t481])? }; { let v_W643 = { let __t482 = v_W641.clone(); rt::apply_direct(interp, "tail", &[__t482])? }; { let __t483 = v_W643.clone(); let __t496 = { let __t484 = v_W636.clone(); let __t495 = { let __t485 = Value::sym(interp.intern_static("where")); let __t494 = { let __t486 = v_W642.clone(); let __t493 = { let __t491 = { let __t487 = Value::sym(interp.intern_static("shen.choicepoint!")); let __t490 = { let __t488 = v_W639.clone(); let __t489 = Value::nil(); rt::cons(&__t488, &__t489) }; rt::cons(&__t487, &__t490) }; let __t492 = Value::nil(); rt::cons(&__t491, &__t492) }; rt::cons(&__t486, &__t493) }; rt::cons(&__t485, &__t494) }; rt::apply_direct(interp, "@p", &[__t484, __t495])? }; rt::apply_direct(interp, "shen.comb", &[__t483, __t496])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } @@ -2672,38 +2635,37 @@ pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t527 = { - let __t526 = v_W634.clone(); + let __t503 = { + let __t502 = v_W634.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t526], + &[__t502], )? }; - if match rt::is_truthy(interp, &__t527) { + if match rt::is_truthy(interp, &__t503) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W644 = { let v_W645 = { - let __t528 = v_V616.clone(); - rt::apply_direct( + let __t504 = v_V616.clone(); + aot_shen_x2e__x3c_patterns_x3e_( interp, - "shen.", - &[__t528], + &[__t504], )? }; { - let __t548 = { - let __t529 = v_W645.clone(); + let __t524 = { + let __t505 = v_W645.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t529], + &[__t505], )? }; - if rt::is_truthy(interp, &__t548)? { + if rt::is_truthy(interp, &__t524)? { { rt::apply_direct( interp, @@ -2714,54 +2676,57 @@ pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let v_W646 = { - let __t530 = v_W645.clone(); + let __t506 = v_W645.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t530], + &[__t506], )? }; { let v_W647 = { - let __t531 = v_W645.clone(); + let __t507 = v_W645.clone(); rt::apply_direct( interp, "shen.in->", - &[__t531], + &[__t507], )? }; { - let __t547 = { - let __t532 = + let __t523 = { + let __t508 = v_W647.clone(); - let __t533 = Value::sym( - interp.intern("<-"), + let __t509 = Value::sym( + interp + .intern_static( + "<-", + ), ); rt::apply_direct( interp, "shen.hds=?", - &[__t532, __t533], + &[__t508, __t509], )? }; if rt::is_truthy( - interp, &__t547, + interp, &__t523, )? { { let v_W648 = { - let __t534 = + let __t510 = v_W647 .clone( ); - rt::apply_direct(interp, "tail", &[__t534])? + rt::apply_direct(interp, "tail", &[__t510])? }; { - let __t546 = { - let __t535 = v_W648.clone(); + let __t522 = { + let __t511 = v_W648.clone(); rt::is_cons( - &__t535, + &__t511, ) }; - if rt::is_truthy(interp, &__t546)? { { let v_W649 = { let __t536 = v_W648.clone(); rt::apply_direct(interp, "head", &[__t536])? }; { let v_W650 = { let __t537 = v_W648.clone(); rt::apply_direct(interp, "tail", &[__t537])? }; { let __t538 = v_W650.clone(); let __t545 = { let __t539 = v_W646.clone(); let __t544 = { let __t540 = Value::sym(interp.intern("shen.choicepoint!")); let __t543 = { let __t541 = v_W649.clone(); let __t542 = Value::nil(); rt::cons(&__t541, &__t542) }; rt::cons(&__t540, &__t543) }; rt::apply_direct(interp, "@p", &[__t539, __t544])? }; rt::apply_direct(interp, "shen.comb", &[__t538, __t545])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t522)? { { let v_W649 = { let __t512 = v_W648.clone(); rt::apply_direct(interp, "head", &[__t512])? }; { let v_W650 = { let __t513 = v_W648.clone(); rt::apply_direct(interp, "tail", &[__t513])? }; { let __t514 = v_W650.clone(); let __t521 = { let __t515 = v_W646.clone(); let __t520 = { let __t516 = Value::sym(interp.intern_static("shen.choicepoint!")); let __t519 = { let __t517 = v_W649.clone(); let __t518 = Value::nil(); rt::cons(&__t517, &__t518) }; rt::cons(&__t516, &__t519) }; rt::apply_direct(interp, "@p", &[__t515, __t520])? }; rt::apply_direct(interp, "shen.comb", &[__t514, __t521])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { @@ -2776,15 +2741,15 @@ pub fn aot_shen_x2e__x3c_rule_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t550 = { - let __t549 = v_W644.clone(); + let __t526 = { + let __t525 = v_W644.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t549], + &[__t525], )? }; - if match rt::is_truthy(interp, &__t550) { + if match rt::is_truthy(interp, &__t526) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2838,77 +2803,77 @@ pub fn aot_shen_x2e__x3c_patterns_x3e_(interp: &mut Interp, args: &[Value]) -> S { let v_W652 = { let v_W653 = { - let __t551 = v_V651.clone(); - rt::apply_direct(interp, "shen.", &[__t551])? + let __t527 = v_V651.clone(); + aot_shen_x2e__x3c_pattern_x3e_(interp, &[__t527])? }; { - let __t564 = { - let __t552 = v_W653.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t552])? + let __t540 = { + let __t528 = v_W653.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t528])? }; - if rt::is_truthy(interp, &__t564)? { + if rt::is_truthy(interp, &__t540)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W654 = { - let __t553 = v_W653.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t553])? + let __t529 = v_W653.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t529])? }; { let v_W655 = { - let __t554 = v_W653.clone(); - rt::apply_direct(interp, "shen.in->", &[__t554])? + let __t530 = v_W653.clone(); + rt::apply_direct(interp, "shen.in->", &[__t530])? }; { let v_W656 = { - let __t555 = v_W655.clone(); - rt::apply_direct(interp, "shen.", &[__t555])? + let __t531 = v_W655.clone(); + aot_shen_x2e__x3c_patterns_x3e_(interp, &[__t531])? }; { - let __t563 = { - let __t556 = v_W656.clone(); + let __t539 = { + let __t532 = v_W656.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t556], + &[__t532], )? }; - if rt::is_truthy(interp, &__t563)? { + if rt::is_truthy(interp, &__t539)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W657 = { - let __t557 = v_W656.clone(); + let __t533 = v_W656.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t557], + &[__t533], )? }; { let v_W658 = { - let __t558 = v_W656.clone(); + let __t534 = v_W656.clone(); rt::apply_direct( interp, "shen.in->", - &[__t558], + &[__t534], )? }; { - let __t559 = v_W658.clone(); - let __t562 = { - let __t560 = v_W654.clone(); - let __t561 = v_W657.clone(); - rt::cons(&__t560, &__t561) + let __t535 = v_W658.clone(); + let __t538 = { + let __t536 = v_W654.clone(); + let __t537 = v_W657.clone(); + rt::cons(&__t536, &__t537) }; rt::apply_direct( interp, "shen.comb", - &[__t559, __t562], + &[__t535, __t538], )? } } @@ -2922,42 +2887,42 @@ pub fn aot_shen_x2e__x3c_patterns_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t566 = { - let __t565 = v_W652.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t565])? + let __t542 = { + let __t541 = v_W652.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t541])? }; - if match rt::is_truthy(interp, &__t566) { + if match rt::is_truthy(interp, &__t542) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W659 = { let v_W660 = { - let __t567 = v_V651.clone(); - rt::apply_direct(interp, "", &[__t567])? + let __t543 = v_V651.clone(); + rt::apply_direct(interp, "", &[__t543])? }; { - let __t572 = { - let __t568 = v_W660.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t568])? + let __t548 = { + let __t544 = v_W660.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t544])? }; - if rt::is_truthy(interp, &__t572)? { + if rt::is_truthy(interp, &__t548)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W661 = { - let __t569 = v_W660.clone(); - rt::apply_direct(interp, "shen.in->", &[__t569])? + let __t545 = v_W660.clone(); + rt::apply_direct(interp, "shen.in->", &[__t545])? }; { - let __t570 = v_W661.clone(); - let __t571 = Value::nil(); + let __t546 = v_W661.clone(); + let __t547 = Value::nil(); rt::apply_direct( interp, "shen.comb", - &[__t570, __t571], + &[__t546, __t547], )? } } @@ -2965,11 +2930,11 @@ pub fn aot_shen_x2e__x3c_patterns_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t574 = { - let __t573 = v_W659.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t573])? + let __t550 = { + let __t549 = v_W659.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t549])? }; - if match rt::is_truthy(interp, &__t574) { + if match rt::is_truthy(interp, &__t550) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3006,69 +2971,68 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W663 = { - let __t605 = { - let __t575 = v_V662.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t575])? + let __t581 = { + let __t551 = v_V662.clone(); + rt::apply_direct(interp, "shen.ccons?", &[__t551])? }; - if rt::is_truthy(interp, &__t605)? { + if rt::is_truthy(interp, &__t581)? { { let v_W664 = { - let __t576 = v_V662.clone(); - rt::apply_direct(interp, "head", &[__t576])? + let __t552 = v_V662.clone(); + rt::apply_direct(interp, "head", &[__t552])? }; { let v_W665 = { - let __t577 = v_V662.clone(); - rt::apply_direct(interp, "tail", &[__t577])? + let __t553 = v_V662.clone(); + rt::apply_direct(interp, "tail", &[__t553])? }; { let v_W666 = { - let __t578 = v_W664.clone(); - rt::apply_direct(interp, "shen.", &[__t578])? + let __t554 = v_W664.clone(); + aot_shen_x2e__x3c_constructor_x3e_(interp, &[__t554])? }; { - let __t604 = { - let __t579 = v_W666.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t579])? + let __t580 = { + let __t555 = v_W666.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t555])? }; - if rt::is_truthy(interp, &__t604)? { + if rt::is_truthy(interp, &__t580)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W667 = { - let __t580 = v_W666.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t580])? + let __t556 = v_W666.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t556])? }; { let v_W668 = { - let __t581 = v_W666.clone(); + let __t557 = v_W666.clone(); rt::apply_direct( interp, "shen.in->", - &[__t581], + &[__t557], )? }; { let v_W669 = { - let __t582 = v_W668.clone(); - rt::apply_direct( + let __t558 = v_W668.clone(); + aot_shen_x2e__x3c_pattern1_x3e_( interp, - "shen.", - &[__t582], + &[__t558], )? }; { - let __t603 = { - let __t583 = v_W669.clone(); + let __t579 = { + let __t559 = v_W669.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t583], + &[__t559], )? }; - if rt::is_truthy(interp, &__t603)? { + if rt::is_truthy(interp, &__t579)? { { rt::apply_direct( interp, @@ -3079,40 +3043,36 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W670 = { - let __t584 = v_W669.clone(); + let __t560 = v_W669.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t584], + &[__t560], )? }; { let v_W671 = { - let __t585 = v_W669.clone(); + let __t561 = v_W669.clone(); rt::apply_direct( interp, "shen.in->", - &[__t585], + &[__t561], )? }; { let v_W672 = { - let __t586 = + let __t562 = v_W671.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t586], - )? + aot_shen_x2e__x3c_pattern2_x3e_(interp, &[__t562])? }; { - let __t602 = { - let __t587 = + let __t578 = { + let __t563 = v_W672.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t587])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t563])? }; if rt::is_truthy( - interp, &__t602, + interp, &__t578, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -3120,22 +3080,22 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W673 = { - let __t588 = v_W672.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t588])? + let __t564 = v_W672.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t564])? }; { let v_W674 = { - let __t589 = v_W672.clone(); - rt::apply_direct(interp, "shen.in->", &[__t589])? + let __t565 = v_W672.clone(); + rt::apply_direct(interp, "shen.in->", &[__t565])? }; { let v_W675 = { - let __t590 = v_W674.clone(); - rt::apply_direct(interp, "", &[__t590])? + let __t566 = v_W674.clone(); + rt::apply_direct(interp, "", &[__t566])? }; { - let __t601 = { let __t591 = v_W675.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t591])? }; - if rt::is_truthy(interp, &__t601)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W676 = { let __t592 = v_W675.clone(); rt::apply_direct(interp, "shen.in->", &[__t592])? }; { let __t593 = v_W665.clone(); let __t600 = { let __t594 = v_W667.clone(); let __t599 = { let __t595 = v_W670.clone(); let __t598 = { let __t596 = v_W673.clone(); let __t597 = Value::nil(); rt::cons(&__t596, &__t597) }; rt::cons(&__t595, &__t598) }; rt::cons(&__t594, &__t599) }; rt::apply_direct(interp, "shen.comb", &[__t593, __t600])? } } } + let __t577 = { let __t567 = v_W675.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t567])? }; + if rt::is_truthy(interp, &__t577)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W676 = { let __t568 = v_W675.clone(); rt::apply_direct(interp, "shen.in->", &[__t568])? }; { let __t569 = v_W665.clone(); let __t576 = { let __t570 = v_W667.clone(); let __t575 = { let __t571 = v_W670.clone(); let __t574 = { let __t572 = v_W673.clone(); let __t573 = Value::nil(); rt::cons(&__t572, &__t573) }; rt::cons(&__t571, &__t574) }; rt::cons(&__t570, &__t575) }; rt::apply_direct(interp, "shen.comb", &[__t569, __t576])? } } } } } } @@ -3162,84 +3122,85 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t607 = { - let __t606 = v_W663.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t606])? + let __t583 = { + let __t582 = v_W663.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t582])? }; - if match rt::is_truthy(interp, &__t607) { + if match rt::is_truthy(interp, &__t583) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W677 = { - let __t629 = { - let __t608 = v_V662.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t608])? + let __t605 = { + let __t584 = v_V662.clone(); + rt::apply_direct(interp, "shen.ccons?", &[__t584])? }; - if rt::is_truthy(interp, &__t629)? { + if rt::is_truthy(interp, &__t605)? { { let v_W678 = { - let __t609 = v_V662.clone(); - rt::apply_direct(interp, "head", &[__t609])? + let __t585 = v_V662.clone(); + rt::apply_direct(interp, "head", &[__t585])? }; { let v_W679 = { - let __t610 = v_V662.clone(); - rt::apply_direct(interp, "tail", &[__t610])? + let __t586 = v_V662.clone(); + rt::apply_direct(interp, "tail", &[__t586])? }; { - let __t628 = { - let __t611 = v_W678.clone(); - let __t612 = Value::sym(interp.intern("vector")); + let __t604 = { + let __t587 = v_W678.clone(); + let __t588 = + Value::sym(interp.intern_static("vector")); rt::apply_direct( interp, "shen.hds=?", - &[__t611, __t612], + &[__t587, __t588], )? }; - if rt::is_truthy(interp, &__t628)? { + if rt::is_truthy(interp, &__t604)? { { let v_W680 = { - let __t613 = v_W678.clone(); - rt::apply_direct(interp, "tail", &[__t613])? + let __t589 = v_W678.clone(); + rt::apply_direct(interp, "tail", &[__t589])? }; { - let __t627 = { - let __t614 = v_W680.clone(); - let __t615 = Value::int(0i64); + let __t603 = { + let __t590 = v_W680.clone(); + let __t591 = Value::int(0i64); rt::apply_direct( interp, "shen.hds=?", - &[__t614, __t615], + &[__t590, __t591], )? }; - if rt::is_truthy(interp, &__t627)? { + if rt::is_truthy(interp, &__t603)? { { let v_W681 = { - let __t616 = v_W680.clone(); + let __t592 = v_W680.clone(); rt::apply_direct( interp, "tail", - &[__t616], + &[__t592], )? }; { let v_W682 = { - let __t617 = v_W681.clone(); + let __t593 = v_W681.clone(); rt::apply_direct( interp, "", - &[__t617], + &[__t593], )? }; { - let __t626 = { - let __t618 = + let __t602 = { + let __t594 = v_W682.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t618])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t594])? }; if rt::is_truthy( - interp, &__t626, + interp, &__t602, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -3247,30 +3208,30 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W683 = { - let __t619 = + let __t595 = v_W682 .clone( ); - rt::apply_direct(interp, "shen.in->", &[__t619])? + rt::apply_direct(interp, "shen.in->", &[__t595])? }; { - let __t620 = + let __t596 = v_W679 .clone( ); - let __t625 = { - let __t621 = Value::sym(interp.intern("vector")); - let __t624 = { - let __t622 = Value::int(0i64); - let __t623 = Value::nil(); - rt::cons(&__t622, &__t623) + let __t601 = { + let __t597 = Value::sym(interp.intern_static("vector")); + let __t600 = { + let __t598 = Value::int(0i64); + let __t599 = Value::nil(); + rt::cons(&__t598, &__t599) }; rt::cons( - &__t621, - &__t624, + &__t597, + &__t600, ) }; - rt::apply_direct(interp, "shen.comb", &[__t620, __t625])? + rt::apply_direct(interp, "shen.comb", &[__t596, __t601])? } } } @@ -3307,51 +3268,47 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t631 = { - let __t630 = v_W677.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t630])? + let __t607 = { + let __t606 = v_W677.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t606])? }; - if match rt::is_truthy(interp, &__t631) { + if match rt::is_truthy(interp, &__t607) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W684 = { - let __t640 = { - let __t632 = v_V662.clone(); - rt::is_cons(&__t632) + let __t616 = { + let __t608 = v_V662.clone(); + rt::is_cons(&__t608) }; - if rt::is_truthy(interp, &__t640)? { + if rt::is_truthy(interp, &__t616)? { { let v_W685 = { - let __t633 = v_V662.clone(); - rt::apply_direct(interp, "head", &[__t633])? + let __t609 = v_V662.clone(); + rt::apply_direct(interp, "head", &[__t609])? }; { let v_W686 = { - let __t634 = v_V662.clone(); - rt::apply_direct(interp, "tail", &[__t634])? + let __t610 = v_V662.clone(); + rt::apply_direct(interp, "tail", &[__t610])? }; { - let __t639 = { - let __t635 = v_W685.clone(); - rt::is_cons(&__t635) + let __t615 = { + let __t611 = v_W685.clone(); + rt::is_cons(&__t611) }; - if rt::is_truthy(interp, &__t639)? { + if rt::is_truthy(interp, &__t615)? { { - let __t636 = v_W686.clone(); - let __t638 = { - let __t637 = v_W685.clone(); - rt::apply_direct( - interp, - "shen.constructor-error", - &[__t637], - )? + let __t612 = v_W686.clone(); + let __t614 = { + let __t613 = v_W685.clone(); + aot_shen_x2e_constructor_x2d_error(interp, &[__t613])? }; rt::apply_direct( interp, "shen.comb", - &[__t636, __t638], + &[__t612, __t614], )? } } else { @@ -3373,38 +3330,37 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t642 = { - let __t641 = v_W684.clone(); + let __t618 = { + let __t617 = v_W684.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t641], + &[__t617], )? }; - if match rt::is_truthy(interp, &__t642) { + if match rt::is_truthy(interp, &__t618) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W687 = { let v_W688 = { - let __t643 = v_V662.clone(); - rt::apply_direct( + let __t619 = v_V662.clone(); + aot_shen_x2e__x3c_simple_x2d_pattern_x3e_( interp, - "shen.", - &[__t643], + &[__t619], )? }; { - let __t649 = { - let __t644 = v_W688.clone(); + let __t625 = { + let __t620 = v_W688.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t644], + &[__t620], )? }; - if rt::is_truthy(interp, &__t649)? { + if rt::is_truthy(interp, &__t625)? { { rt::apply_direct( interp, @@ -3415,29 +3371,29 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W689 = { - let __t645 = v_W688.clone(); + let __t621 = v_W688.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t645], + &[__t621], )? }; { let v_W690 = { - let __t646 = v_W688.clone(); + let __t622 = v_W688.clone(); rt::apply_direct( interp, "shen.in->", - &[__t646], + &[__t622], )? }; { - let __t647 = v_W690.clone(); - let __t648 = v_W689.clone(); + let __t623 = v_W690.clone(); + let __t624 = v_W689.clone(); rt::apply_direct( interp, "shen.comb", - &[__t647, __t648], + &[__t623, __t624], )? } } @@ -3446,15 +3402,15 @@ pub fn aot_shen_x2e__x3c_pattern_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t651 = { - let __t650 = v_W687.clone(); + let __t627 = { + let __t626 = v_W687.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t650], + &[__t626], )? }; - if match rt::is_truthy(interp, &__t651) { + if match rt::is_truthy(interp, &__t627) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3510,31 +3466,31 @@ pub fn aot_shen_x2e__x3c_constructor_x3e_( loop { { let v_W692 = { - let __t659 = { - let __t652 = v_V691.clone(); - rt::is_cons(&__t652) + let __t635 = { + let __t628 = v_V691.clone(); + rt::is_cons(&__t628) }; - if rt::is_truthy(interp, &__t659)? { + if rt::is_truthy(interp, &__t635)? { { let v_W693 = { - let __t653 = v_V691.clone(); - rt::apply_direct(interp, "head", &[__t653])? + let __t629 = v_V691.clone(); + rt::apply_direct(interp, "head", &[__t629])? }; { let v_W694 = { - let __t654 = v_V691.clone(); - rt::apply_direct(interp, "tail", &[__t654])? + let __t630 = v_V691.clone(); + rt::apply_direct(interp, "tail", &[__t630])? }; { - let __t658 = { - let __t655 = v_W693.clone(); - rt::apply_direct(interp, "shen.constructor?", &[__t655])? + let __t634 = { + let __t631 = v_W693.clone(); + aot_shen_x2e_constructor_x3f_(interp, &[__t631])? }; - if rt::is_truthy(interp, &__t658)? { + if rt::is_truthy(interp, &__t634)? { { - let __t656 = v_W694.clone(); - let __t657 = v_W693.clone(); - rt::apply_direct(interp, "shen.comb", &[__t656, __t657])? + let __t632 = v_W694.clone(); + let __t633 = v_W693.clone(); + rt::apply_direct(interp, "shen.comb", &[__t632, __t633])? } } else { { @@ -3551,11 +3507,11 @@ pub fn aot_shen_x2e__x3c_constructor_x3e_( } }; { - let __t661 = { - let __t660 = v_W692.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t660])? + let __t637 = { + let __t636 = v_W692.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t636])? }; - if match rt::is_truthy(interp, &__t661) { + if match rt::is_truthy(interp, &__t637) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3586,25 +3542,25 @@ pub fn aot_shen_x2e_constructor_x3f_(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { break Ok({ - let __t662 = v_V695.clone(); - let __t671 = { - let __t663 = Value::sym(interp.intern("cons")); - let __t670 = { - let __t664 = Value::sym(interp.intern("@p")); - let __t669 = { - let __t665 = Value::sym(interp.intern("@s")); - let __t668 = { - let __t666 = Value::sym(interp.intern("@v")); - let __t667 = Value::nil(); - rt::cons(&__t666, &__t667) + let __t638 = v_V695.clone(); + let __t647 = { + let __t639 = Value::sym(interp.intern_static("cons")); + let __t646 = { + let __t640 = Value::sym(interp.intern_static("@p")); + let __t645 = { + let __t641 = Value::sym(interp.intern_static("@s")); + let __t644 = { + let __t642 = Value::sym(interp.intern_static("@v")); + let __t643 = Value::nil(); + rt::cons(&__t642, &__t643) }; - rt::cons(&__t665, &__t668) + rt::cons(&__t641, &__t644) }; - rt::cons(&__t664, &__t669) + rt::cons(&__t640, &__t645) }; - rt::cons(&__t663, &__t670) + rt::cons(&__t639, &__t646) }; - rt::apply_direct(interp, "element?", &[__t662, __t671])? + rt::apply_direct(interp, "element?", &[__t638, __t647])? }); } } @@ -3630,13 +3586,13 @@ pub fn aot_shen_x2e_constructor_x2d_error( #[allow(clippy::never_loop)] loop { break Ok({ - let __t675 = { - let __t672 = v_V696.clone(); - let __t673 = Value::str(" is not a legitimate constructor\n"); - let __t674 = Value::sym(interp.intern("shen.r")); - rt::apply_direct(interp, "shen.app", &[__t672, __t673, __t674])? + let __t651 = { + let __t648 = v_V696.clone(); + let __t649 = Value::str(" is not a legitimate constructor\n"); + let __t650 = Value::sym(interp.intern_static("shen.r")); + rt::apply_direct(interp, "shen.app", &[__t648, __t649, __t650])? }; - rt::apply_direct(interp, "simple-error", &[__t675])? + rt::apply_direct(interp, "simple-error", &[__t651])? }); } } @@ -3667,35 +3623,33 @@ pub fn aot_shen_x2e__x3c_simple_x2d_pattern_x3e_( loop { { let v_W698 = { - let __t685 = { - let __t676 = v_V697.clone(); - rt::is_cons(&__t676) + let __t659 = { + let __t652 = v_V697.clone(); + rt::is_cons(&__t652) }; - if rt::is_truthy(interp, &__t685)? { + if rt::is_truthy(interp, &__t659)? { { let v_W699 = { - let __t677 = v_V697.clone(); - rt::apply_direct(interp, "head", &[__t677])? + let __t653 = v_V697.clone(); + rt::apply_direct(interp, "head", &[__t653])? }; { let v_W700 = { - let __t678 = v_V697.clone(); - rt::apply_direct(interp, "tail", &[__t678])? + let __t654 = v_V697.clone(); + rt::apply_direct(interp, "tail", &[__t654])? }; { - let __t684 = { - let __t679 = v_W699.clone(); - let __t680 = Value::sym(interp.intern("_")); - rt::eq(&__t679, &__t680) - }; - if rt::is_truthy(interp, &__t684)? { + let __t658 = Value::bool( + (v_W699.clone()).as_sym() == Some(interp.intern_static("_")), + ); + if rt::is_truthy(interp, &__t658)? { { - let __t681 = v_W700.clone(); - let __t683 = { - let __t682 = Value::sym(interp.intern("Y")); - rt::apply_direct(interp, "gensym", &[__t682])? + let __t655 = v_W700.clone(); + let __t657 = { + let __t656 = Value::sym(interp.intern_static("Y")); + rt::apply_direct(interp, "gensym", &[__t656])? }; - rt::apply_direct(interp, "shen.comb", &[__t681, __t683])? + rt::apply_direct(interp, "shen.comb", &[__t655, __t657])? } } else { { @@ -3712,62 +3666,63 @@ pub fn aot_shen_x2e__x3c_simple_x2d_pattern_x3e_( } }; { - let __t687 = { - let __t686 = v_W698.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t686])? + let __t661 = { + let __t660 = v_W698.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t660])? }; - if match rt::is_truthy(interp, &__t687) { + if match rt::is_truthy(interp, &__t661) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W701 = { - let __t701 = { - let __t688 = v_V697.clone(); - rt::is_cons(&__t688) + let __t675 = { + let __t662 = v_V697.clone(); + rt::is_cons(&__t662) }; - if rt::is_truthy(interp, &__t701)? { + if rt::is_truthy(interp, &__t675)? { { let v_W702 = { - let __t689 = v_V697.clone(); - rt::apply_direct(interp, "head", &[__t689])? + let __t663 = v_V697.clone(); + rt::apply_direct(interp, "head", &[__t663])? }; { let v_W703 = { - let __t690 = v_V697.clone(); - rt::apply_direct(interp, "tail", &[__t690])? + let __t664 = v_V697.clone(); + rt::apply_direct(interp, "tail", &[__t664])? }; { - let __t700 = { - let __t697 = { - let __t691 = v_W702.clone(); - let __t696 = { - let __t692 = - Value::sym(interp.intern("->")); - let __t695 = { - let __t693 = - Value::sym(interp.intern("<-")); - let __t694 = Value::nil(); - rt::cons(&__t693, &__t694) + let __t674 = { + let __t671 = { + let __t665 = v_W702.clone(); + let __t670 = { + let __t666 = + Value::sym(interp.intern_static("->")); + let __t669 = { + let __t667 = Value::sym( + interp.intern_static("<-"), + ); + let __t668 = Value::nil(); + rt::cons(&__t667, &__t668) }; - rt::cons(&__t692, &__t695) + rt::cons(&__t666, &__t669) }; rt::apply_direct( interp, "element?", - &[__t691, __t696], + &[__t665, __t670], )? }; - rt::apply_direct(interp, "not", &[__t697])? + rt::not(interp, &__t671)? }; - if rt::is_truthy(interp, &__t700)? { + if rt::is_truthy(interp, &__t674)? { { - let __t698 = v_W703.clone(); - let __t699 = v_W702.clone(); + let __t672 = v_W703.clone(); + let __t673 = v_W702.clone(); rt::apply_direct( interp, "shen.comb", - &[__t698, __t699], + &[__t672, __t673], )? } } else { @@ -3789,11 +3744,11 @@ pub fn aot_shen_x2e__x3c_simple_x2d_pattern_x3e_( } }; { - let __t703 = { - let __t702 = v_W701.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t702])? + let __t677 = { + let __t676 = v_W701.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t676])? }; - if match rt::is_truthy(interp, &__t703) { + if match rt::is_truthy(interp, &__t677) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3838,33 +3793,33 @@ pub fn aot_shen_x2e__x3c_pattern1_x3e_(interp: &mut Interp, args: &[Value]) -> S { let v_W705 = { let v_W706 = { - let __t704 = v_V704.clone(); - rt::apply_direct(interp, "shen.", &[__t704])? + let __t678 = v_V704.clone(); + aot_shen_x2e__x3c_pattern_x3e_(interp, &[__t678])? }; { - let __t710 = { - let __t705 = v_W706.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t705])? + let __t684 = { + let __t679 = v_W706.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t679])? }; - if rt::is_truthy(interp, &__t710)? { + if rt::is_truthy(interp, &__t684)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W707 = { - let __t706 = v_W706.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t706])? + let __t680 = v_W706.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t680])? }; { let v_W708 = { - let __t707 = v_W706.clone(); - rt::apply_direct(interp, "shen.in->", &[__t707])? + let __t681 = v_W706.clone(); + rt::apply_direct(interp, "shen.in->", &[__t681])? }; { - let __t708 = v_W708.clone(); - let __t709 = v_W707.clone(); - rt::apply_direct(interp, "shen.comb", &[__t708, __t709])? + let __t682 = v_W708.clone(); + let __t683 = v_W707.clone(); + rt::apply_direct(interp, "shen.comb", &[__t682, __t683])? } } } @@ -3872,11 +3827,11 @@ pub fn aot_shen_x2e__x3c_pattern1_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t712 = { - let __t711 = v_W705.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t711])? + let __t686 = { + let __t685 = v_W705.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t685])? }; - if match rt::is_truthy(interp, &__t712) { + if match rt::is_truthy(interp, &__t686) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3909,33 +3864,33 @@ pub fn aot_shen_x2e__x3c_pattern2_x3e_(interp: &mut Interp, args: &[Value]) -> S { let v_W710 = { let v_W711 = { - let __t713 = v_V709.clone(); - rt::apply_direct(interp, "shen.", &[__t713])? + let __t687 = v_V709.clone(); + aot_shen_x2e__x3c_pattern_x3e_(interp, &[__t687])? }; { - let __t719 = { - let __t714 = v_W711.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t714])? + let __t693 = { + let __t688 = v_W711.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t688])? }; - if rt::is_truthy(interp, &__t719)? { + if rt::is_truthy(interp, &__t693)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W712 = { - let __t715 = v_W711.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t715])? + let __t689 = v_W711.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t689])? }; { let v_W713 = { - let __t716 = v_W711.clone(); - rt::apply_direct(interp, "shen.in->", &[__t716])? + let __t690 = v_W711.clone(); + rt::apply_direct(interp, "shen.in->", &[__t690])? }; { - let __t717 = v_W713.clone(); - let __t718 = v_W712.clone(); - rt::apply_direct(interp, "shen.comb", &[__t717, __t718])? + let __t691 = v_W713.clone(); + let __t692 = v_W712.clone(); + rt::apply_direct(interp, "shen.comb", &[__t691, __t692])? } } } @@ -3943,11 +3898,11 @@ pub fn aot_shen_x2e__x3c_pattern2_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t721 = { - let __t720 = v_W710.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t720])? + let __t695 = { + let __t694 = v_W710.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t694])? }; - if match rt::is_truthy(interp, &__t721) { + if match rt::is_truthy(interp, &__t695) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3979,45 +3934,45 @@ pub fn aot_shen_x2e_fn_x2d_print(interp: &mut Interp, args: &[Value]) -> ShenRes loop { { let v_W715 = { - let __t722 = Value::int(2i64); - rt::apply_direct(interp, "absvector", &[__t722])? + let __t696 = Value::int(2i64); + rt::apply_direct(interp, "absvector", &[__t696])? }; { let v_W716 = { - let __t723 = v_W715.clone(); - let __t724 = Value::int(0i64); - let __t725 = Value::sym(interp.intern("shen.printF")); - rt::apply_direct(interp, "address->", &[__t723, __t724, __t725])? + let __t697 = v_W715.clone(); + let __t698 = Value::int(0i64); + let __t699 = Value::sym(interp.intern_static("shen.printF")); + rt::address_set(&__t697, &__t698, &__t699)? }; { let v_W717 = { - let __t726 = v_W716.clone(); - let __t727 = Value::int(1i64); - let __t739 = { - let __t728 = Value::str("("); - let __t738 = { - let __t729 = Value::str("f"); - let __t737 = { - let __t730 = Value::str("n"); - let __t736 = { - let __t731 = Value::str(" "); - let __t735 = { - let __t733 = { - let __t732 = v_V714.clone(); - rt::apply_direct(interp, "str", &[__t732])? + let __t700 = v_W716.clone(); + let __t701 = Value::int(1i64); + let __t713 = { + let __t702 = Value::str("("); + let __t712 = { + let __t703 = Value::str("f"); + let __t711 = { + let __t704 = Value::str("n"); + let __t710 = { + let __t705 = Value::str(" "); + let __t709 = { + let __t707 = { + let __t706 = v_V714.clone(); + rt::apply_direct(interp, "str", &[__t706])? }; - let __t734 = Value::str(")"); - rt::apply_direct(interp, "@s", &[__t733, __t734])? + let __t708 = Value::str(")"); + rt::apply_direct(interp, "@s", &[__t707, __t708])? }; - rt::apply_direct(interp, "@s", &[__t731, __t735])? + rt::apply_direct(interp, "@s", &[__t705, __t709])? }; - rt::apply_direct(interp, "@s", &[__t730, __t736])? + rt::apply_direct(interp, "@s", &[__t704, __t710])? }; - rt::apply_direct(interp, "@s", &[__t729, __t737])? + rt::apply_direct(interp, "@s", &[__t703, __t711])? }; - rt::apply_direct(interp, "@s", &[__t728, __t738])? + rt::apply_direct(interp, "@s", &[__t702, __t712])? }; - rt::apply_direct(interp, "address->", &[__t726, __t727, __t739])? + rt::address_set(&__t700, &__t701, &__t713)? }; break Ok(v_W717.clone()); } @@ -4044,9 +3999,9 @@ pub fn aot_shen_x2e_printF(interp: &mut Interp, args: &[Value]) -> ShenResult ShenRe #[allow(clippy::never_loop)] loop { { - let __t775 = { - let __t771 = { - let __t767 = v_V724.clone(); - rt::is_cons(&__t767) + let __t747 = { + let __t743 = { + let __t741 = v_V724.clone(); + rt::is_cons(&__t741) }; - if !rt::is_truthy(interp, &__t771)? { + if !rt::is_truthy(interp, &__t743)? { Value::bool(false) } else { - let __t772 = { - let __t768 = Value::nil(); - let __t770 = { - let __t769 = v_V724.clone(); - rt::tl(&__t769)? - }; - rt::eq(&__t768, &__t770) - }; - Value::bool(rt::is_truthy(interp, &__t772)?) + let __t744 = Value::bool( + ({ + let __t742 = v_V724.clone(); + rt::tl(&__t742)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t744)?) } }; - if match rt::is_truthy(interp, &__t775) { + if match rt::is_truthy(interp, &__t747) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t774 = { - let __t773 = v_V724.clone(); - rt::hd(&__t773)? + let __t746 = { + let __t745 = v_V724.clone(); + rt::hd(&__t745)? }; - rt::apply_direct(interp, "length", &[__t774])? + rt::apply_direct(interp, "length", &[__t746])? }); } else { { - let __t766 = { - let __t761 = { - let __t749 = v_V724.clone(); - rt::is_cons(&__t749) + let __t740 = { + let __t735 = { + let __t723 = v_V724.clone(); + rt::is_cons(&__t723) }; - if !rt::is_truthy(interp, &__t761)? { + if !rt::is_truthy(interp, &__t735)? { Value::bool(false) } else { - let __t762 = { - let __t759 = { - let __t751 = { - let __t750 = v_V724.clone(); - rt::tl(&__t750)? + let __t736 = { + let __t733 = { + let __t725 = { + let __t724 = v_V724.clone(); + rt::tl(&__t724)? }; - rt::is_cons(&__t751) + rt::is_cons(&__t725) }; - if !rt::is_truthy(interp, &__t759)? { + if !rt::is_truthy(interp, &__t733)? { Value::bool(false) } else { - let __t760 = { - let __t754 = { - let __t753 = { - let __t752 = v_V724.clone(); - rt::hd(&__t752)? + let __t734 = { + let __t728 = { + let __t727 = { + let __t726 = v_V724.clone(); + rt::hd(&__t726)? }; - rt::apply_direct(interp, "length", &[__t753])? + rt::apply_direct(interp, "length", &[__t727])? }; - let __t758 = { - let __t757 = { - let __t756 = { - let __t755 = v_V724.clone(); - rt::tl(&__t755)? + let __t732 = { + let __t731 = { + let __t730 = { + let __t729 = v_V724.clone(); + rt::tl(&__t729)? }; - rt::hd(&__t756)? + rt::hd(&__t730)? }; - rt::apply_direct(interp, "length", &[__t757])? + rt::apply_direct(interp, "length", &[__t731])? }; - rt::eq(&__t754, &__t758) + rt::eq(&__t728, &__t732) }; - Value::bool(rt::is_truthy(interp, &__t760)?) + Value::bool(rt::is_truthy(interp, &__t734)?) } }; - Value::bool(rt::is_truthy(interp, &__t762)?) + Value::bool(rt::is_truthy(interp, &__t736)?) } }; - if match rt::is_truthy(interp, &__t766) { + if match rt::is_truthy(interp, &__t740) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t763 = v_V723.clone(); - let __t765 = { - let __t764 = v_V724.clone(); - rt::tl(&__t764)? + let __t737 = v_V723.clone(); + let __t739 = { + let __t738 = v_V724.clone(); + rt::tl(&__t738)? }; - v_V723 = __t763; - v_V724 = __t765; + v_V723 = __t737; + v_V724 = __t739; continue; } } else { { - let __t748 = Value::bool(true); - if match rt::is_truthy(interp, &__t748) { + let __t722 = Value::bool(true); + if match rt::is_truthy(interp, &__t722) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t747 = { - let __t742 = Value::str("arity error in "); - let __t746 = { - let __t743 = v_V723.clone(); - let __t744 = Value::str("\n"); - let __t745 = Value::sym(interp.intern("shen.a")); + let __t721 = { + let __t716 = Value::str("arity error in "); + let __t720 = { + let __t717 = v_V723.clone(); + let __t718 = Value::str("\n"); + let __t719 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t743, __t744, __t745], + &[__t717, __t718, __t719], )? }; - rt::apply_direct(interp, "cn", &[__t742, __t746])? + rt::cn(&__t716, &__t720)? }; - rt::apply_direct(interp, "simple-error", &[__t747])? + rt::apply_direct(interp, "simple-error", &[__t721])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4217,46 +4171,42 @@ pub fn aot_shen_x2e_free_x2d_var_x2d_chk(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t786 = { - let __t778 = v_V726.clone(); - rt::apply_direct(interp, "tuple?", &[__t778])? + let __t758 = { + let __t750 = v_V726.clone(); + rt::apply_direct(interp, "tuple?", &[__t750])? }; - if match rt::is_truthy(interp, &__t786) { + if match rt::is_truthy(interp, &__t758) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t779 = v_V725.clone(); - let __t785 = { - let __t782 = { - let __t781 = { - let __t780 = v_V726.clone(); - rt::apply_direct(interp, "fst", &[__t780])? - }; - rt::apply_direct(interp, "shen.extract-vars", &[__t781])? + let __t751 = v_V725.clone(); + let __t757 = { + let __t754 = { + let __t753 = { + let __t752 = v_V726.clone(); + rt::apply_direct(interp, "fst", &[__t752])? + }; + aot_shen_x2e_extract_x2d_vars(interp, &[__t753])? }; - let __t784 = { - let __t783 = v_V726.clone(); - rt::apply_direct(interp, "snd", &[__t783])? + let __t756 = { + let __t755 = v_V726.clone(); + rt::apply_direct(interp, "snd", &[__t755])? }; - rt::apply_direct(interp, "shen.find-free-vars", &[__t782, __t784])? + aot_shen_x2e_find_x2d_free_x2d_vars(interp, &[__t754, __t756])? }; - rt::apply_direct( - interp, - "shen.free-variable-error-message", - &[__t779, __t785], - )? + aot_shen_x2e_free_x2d_variable_x2d_error_x2d_message(interp, &[__t751, __t757])? }); } else { { - let __t777 = Value::bool(true); - if match rt::is_truthy(interp, &__t777) { + let __t749 = Value::bool(true); + if match rt::is_truthy(interp, &__t749) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t776 = Value::str("partial function shen.free-var-chk"); - rt::apply_direct(interp, "simple-error", &[__t776])? + let __t748 = Value::str("partial function shen.free-var-chk"); + rt::apply_direct(interp, "simple-error", &[__t748])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4290,71 +4240,71 @@ pub fn aot_shen_x2e_free_x2d_variable_x2d_error_x2d_message( #[allow(clippy::never_loop)] loop { { - let __t788 = { - let __t787 = v_V728.clone(); - rt::apply_direct(interp, "empty?", &[__t787])? + let __t760 = { + let __t759 = v_V728.clone(); + rt::is_empty(&__t759) }; - if match rt::is_truthy(interp, &__t788) { + if match rt::is_truthy(interp, &__t760) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.skip"))); + break Ok(Value::sym(interp.intern_static("shen.skip"))); } else { { let _ = { - let __t794 = { - let __t789 = Value::str("free variables in "); - let __t793 = { - let __t790 = v_V727.clone(); - let __t791 = Value::str(":"); - let __t792 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t790, __t791, __t792])? + let __t766 = { + let __t761 = Value::str("free variables in "); + let __t765 = { + let __t762 = v_V727.clone(); + let __t763 = Value::str(":"); + let __t764 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t762, __t763, __t764])? }; - rt::apply_direct(interp, "cn", &[__t789, __t793])? + rt::cn(&__t761, &__t765)? }; - let __t795 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t794, __t795])? + let __t767 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t766, __t767])? }; { let _ = { - let __t803 = { + let __t775 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z729 = args[0].clone(); Ok({ - let __t801 = { - let __t796 = Value::str(" "); - let __t800 = { - let __t797 = v_Z729.clone(); - let __t798 = Value::str(""); - let __t799 = - Value::sym(interp.intern("shen.a")); + let __t773 = { + let __t768 = Value::str(" "); + let __t772 = { + let __t769 = v_Z729.clone(); + let __t770 = Value::str(""); + let __t771 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t797, __t798, __t799], + &[__t769, __t770, __t771], )? }; - rt::apply_direct(interp, "cn", &[__t796, __t800])? + rt::cn(&__t768, &__t772)? }; - let __t802 = + let __t774 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t801, __t802])? + rt::apply_direct(interp, "pr", &[__t773, __t774])? }) }, Vec::new(), interp, ) }; - let __t804 = v_V728.clone(); - rt::apply_direct(interp, "map", &[__t803, __t804])? + let __t776 = v_V728.clone(); + rt::apply_direct(interp, "map", &[__t775, __t776])? }; { let _ = { - let __t805 = Value::int(1i64); - rt::apply_direct(interp, "nl", &[__t805])? + let __t777 = Value::int(1i64); + rt::apply_direct(interp, "nl", &[__t777])? }; break Ok({ rt::apply_direct(interp, "abort", &[])? }); } @@ -4390,50 +4340,50 @@ pub fn aot_shen_x2e_extract_x2d_vars(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t818 = { - let __t815 = v_V732.clone(); - rt::apply_direct(interp, "variable?", &[__t815])? + let __t790 = { + let __t787 = v_V732.clone(); + rt::apply_direct(interp, "variable?", &[__t787])? }; - if match rt::is_truthy(interp, &__t818) { + if match rt::is_truthy(interp, &__t790) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t816 = v_V732.clone(); - let __t817 = Value::nil(); - rt::cons(&__t816, &__t817) + let __t788 = v_V732.clone(); + let __t789 = Value::nil(); + rt::cons(&__t788, &__t789) }); } else { { - let __t814 = { - let __t807 = v_V732.clone(); - rt::is_cons(&__t807) + let __t786 = { + let __t779 = v_V732.clone(); + rt::is_cons(&__t779) }; - if match rt::is_truthy(interp, &__t814) { + if match rt::is_truthy(interp, &__t786) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t810 = { - let __t809 = { - let __t808 = v_V732.clone(); - rt::hd(&__t808)? + let __t782 = { + let __t781 = { + let __t780 = v_V732.clone(); + rt::hd(&__t780)? }; - rt::apply_direct(interp, "shen.extract-vars", &[__t809])? + aot_shen_x2e_extract_x2d_vars(interp, &[__t781])? }; - let __t813 = { - let __t812 = { - let __t811 = v_V732.clone(); - rt::tl(&__t811)? + let __t785 = { + let __t784 = { + let __t783 = v_V732.clone(); + rt::tl(&__t783)? }; - rt::apply_direct(interp, "shen.extract-vars", &[__t812])? + aot_shen_x2e_extract_x2d_vars(interp, &[__t784])? }; - rt::apply_direct(interp, "union", &[__t810, __t813])? + rt::apply_direct(interp, "union", &[__t782, __t785])? }); } else { { - let __t806 = Value::bool(true); - if match rt::is_truthy(interp, &__t806) { + let __t778 = Value::bool(true); + if match rt::is_truthy(interp, &__t778) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4472,376 +4422,370 @@ pub fn aot_shen_x2e_find_x2d_free_x2d_vars( #[allow(clippy::never_loop)] loop { { - let __t930 = { - let __t928 = { - let __t914 = v_V738.clone(); - rt::is_cons(&__t914) + let __t890 = { + let __t888 = { + let __t878 = v_V738.clone(); + rt::is_cons(&__t878) }; - if !rt::is_truthy(interp, &__t928)? { + if !rt::is_truthy(interp, &__t888)? { Value::bool(false) } else { - let __t929 = { - let __t926 = { - let __t915 = Value::sym(interp.intern("protect")); - let __t917 = { - let __t916 = v_V738.clone(); - rt::hd(&__t916)? - }; - rt::eq(&__t915, &__t917) - }; - if !rt::is_truthy(interp, &__t926)? { + let __t889 = { + let __t886 = Value::bool( + ({ + let __t879 = v_V738.clone(); + rt::hd(&__t879)? + }) + .as_sym() + == Some(interp.intern_static("protect")), + ); + if !rt::is_truthy(interp, &__t886)? { Value::bool(false) } else { - let __t927 = { - let __t924 = { - let __t919 = { - let __t918 = v_V738.clone(); - rt::tl(&__t918)? + let __t887 = { + let __t884 = { + let __t881 = { + let __t880 = v_V738.clone(); + rt::tl(&__t880)? }; - rt::is_cons(&__t919) + rt::is_cons(&__t881) }; - if !rt::is_truthy(interp, &__t924)? { + if !rt::is_truthy(interp, &__t884)? { Value::bool(false) } else { - let __t925 = { - let __t920 = Value::nil(); - let __t923 = { - let __t922 = { - let __t921 = v_V738.clone(); - rt::tl(&__t921)? + let __t885 = Value::bool( + ({ + let __t883 = { + let __t882 = v_V738.clone(); + rt::tl(&__t882)? }; - rt::tl(&__t922)? - }; - rt::eq(&__t920, &__t923) - }; - Value::bool(rt::is_truthy(interp, &__t925)?) + rt::tl(&__t883)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t885)?) } }; - Value::bool(rt::is_truthy(interp, &__t927)?) + Value::bool(rt::is_truthy(interp, &__t887)?) } }; - Value::bool(rt::is_truthy(interp, &__t929)?) + Value::bool(rt::is_truthy(interp, &__t889)?) } }; - if match rt::is_truthy(interp, &__t930) { + if match rt::is_truthy(interp, &__t890) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t913 = { - let __t894 = { - let __t867 = v_V738.clone(); - rt::is_cons(&__t867) + let __t877 = { + let __t858 = { + let __t835 = v_V738.clone(); + rt::is_cons(&__t835) }; - if !rt::is_truthy(interp, &__t894)? { + if !rt::is_truthy(interp, &__t858)? { Value::bool(false) } else { - let __t895 = { - let __t892 = { - let __t868 = Value::sym(interp.intern("let")); - let __t870 = { - let __t869 = v_V738.clone(); - rt::hd(&__t869)? - }; - rt::eq(&__t868, &__t870) - }; - if !rt::is_truthy(interp, &__t892)? { + let __t859 = { + let __t856 = Value::bool( + ({ + let __t836 = v_V738.clone(); + rt::hd(&__t836)? + }) + .as_sym() + == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t856)? { Value::bool(false) } else { - let __t893 = { - let __t890 = { - let __t872 = { - let __t871 = v_V738.clone(); - rt::tl(&__t871)? + let __t857 = { + let __t854 = { + let __t838 = { + let __t837 = v_V738.clone(); + rt::tl(&__t837)? }; - rt::is_cons(&__t872) + rt::is_cons(&__t838) }; - if !rt::is_truthy(interp, &__t890)? { + if !rt::is_truthy(interp, &__t854)? { Value::bool(false) } else { - let __t891 = { - let __t888 = { - let __t875 = { - let __t874 = { - let __t873 = v_V738.clone(); - rt::tl(&__t873)? + let __t855 = { + let __t852 = { + let __t841 = { + let __t840 = { + let __t839 = v_V738.clone(); + rt::tl(&__t839)? }; - rt::tl(&__t874)? + rt::tl(&__t840)? }; - rt::is_cons(&__t875) + rt::is_cons(&__t841) }; - if !rt::is_truthy(interp, &__t888)? { + if !rt::is_truthy(interp, &__t852)? { Value::bool(false) } else { - let __t889 = { - let __t886 = { - let __t879 = { - let __t878 = { - let __t877 = { - let __t876 = v_V738.clone(); - rt::tl(&__t876)? + let __t853 = { + let __t850 = { + let __t845 = { + let __t844 = { + let __t843 = { + let __t842 = v_V738.clone(); + rt::tl(&__t842)? }; - rt::tl(&__t877)? + rt::tl(&__t843)? }; - rt::tl(&__t878)? + rt::tl(&__t844)? }; - rt::is_cons(&__t879) + rt::is_cons(&__t845) }; - if !rt::is_truthy(interp, &__t886)? { + if !rt::is_truthy(interp, &__t850)? { Value::bool(false) } else { - let __t887 = { - let __t880 = Value::nil(); - let __t885 = { - let __t884 = { - let __t883 = { - let __t882 = { - let __t881 = + let __t851 = Value::bool( + ({ + let __t849 = { + let __t848 = { + let __t847 = { + let __t846 = v_V738.clone(); - rt::tl(&__t881)? + rt::tl(&__t846)? }; - rt::tl(&__t882)? + rt::tl(&__t847)? }; - rt::tl(&__t883)? + rt::tl(&__t848)? }; - rt::tl(&__t884)? - }; - rt::eq(&__t880, &__t885) - }; + rt::tl(&__t849)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t887, + interp, &__t851, )?) } }; - Value::bool(rt::is_truthy(interp, &__t889)?) + Value::bool(rt::is_truthy(interp, &__t853)?) } }; - Value::bool(rt::is_truthy(interp, &__t891)?) + Value::bool(rt::is_truthy(interp, &__t855)?) } }; - Value::bool(rt::is_truthy(interp, &__t893)?) + Value::bool(rt::is_truthy(interp, &__t857)?) } }; - Value::bool(rt::is_truthy(interp, &__t895)?) + Value::bool(rt::is_truthy(interp, &__t859)?) } }; - if match rt::is_truthy(interp, &__t913) { + if match rt::is_truthy(interp, &__t877) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t901 = { - let __t896 = v_V737.clone(); - let __t900 = { - let __t899 = { - let __t898 = { - let __t897 = v_V738.clone(); - rt::tl(&__t897)? + let __t865 = { + let __t860 = v_V737.clone(); + let __t864 = { + let __t863 = { + let __t862 = { + let __t861 = v_V738.clone(); + rt::tl(&__t861)? }; - rt::tl(&__t898)? + rt::tl(&__t862)? }; - rt::hd(&__t899)? + rt::hd(&__t863)? }; - rt::apply_direct(interp, "shen.find-free-vars", &[__t896, __t900])? - }; - let __t912 = { - let __t906 = { - let __t904 = { - let __t903 = { - let __t902 = v_V738.clone(); - rt::tl(&__t902)? + aot_shen_x2e_find_x2d_free_x2d_vars(interp, &[__t860, __t864])? + }; + let __t876 = { + let __t870 = { + let __t868 = { + let __t867 = { + let __t866 = v_V738.clone(); + rt::tl(&__t866)? }; - rt::hd(&__t903)? + rt::hd(&__t867)? }; - let __t905 = v_V737.clone(); - rt::cons(&__t904, &__t905) + let __t869 = v_V737.clone(); + rt::cons(&__t868, &__t869) }; - let __t911 = { - let __t910 = { - let __t909 = { - let __t908 = { - let __t907 = v_V738.clone(); - rt::tl(&__t907)? + let __t875 = { + let __t874 = { + let __t873 = { + let __t872 = { + let __t871 = v_V738.clone(); + rt::tl(&__t871)? }; - rt::tl(&__t908)? + rt::tl(&__t872)? }; - rt::tl(&__t909)? + rt::tl(&__t873)? }; - rt::hd(&__t910)? + rt::hd(&__t874)? }; - rt::apply_direct(interp, "shen.find-free-vars", &[__t906, __t911])? + aot_shen_x2e_find_x2d_free_x2d_vars(interp, &[__t870, __t875])? }; - rt::apply_direct(interp, "union", &[__t901, __t912])? + rt::apply_direct(interp, "union", &[__t865, __t876])? }); } else { { - let __t866 = { - let __t855 = { - let __t835 = v_V738.clone(); - rt::is_cons(&__t835) + let __t834 = { + let __t823 = { + let __t807 = v_V738.clone(); + rt::is_cons(&__t807) }; - if !rt::is_truthy(interp, &__t855)? { + if !rt::is_truthy(interp, &__t823)? { Value::bool(false) } else { - let __t856 = { - let __t853 = { - let __t836 = Value::sym(interp.intern("lambda")); - let __t838 = { - let __t837 = v_V738.clone(); - rt::hd(&__t837)? - }; - rt::eq(&__t836, &__t838) - }; - if !rt::is_truthy(interp, &__t853)? { + let __t824 = { + let __t821 = Value::bool( + ({ + let __t808 = v_V738.clone(); + rt::hd(&__t808)? + }) + .as_sym() + == Some(interp.intern_static("lambda")), + ); + if !rt::is_truthy(interp, &__t821)? { Value::bool(false) } else { - let __t854 = { - let __t851 = { - let __t840 = { - let __t839 = v_V738.clone(); - rt::tl(&__t839)? + let __t822 = { + let __t819 = { + let __t810 = { + let __t809 = v_V738.clone(); + rt::tl(&__t809)? }; - rt::is_cons(&__t840) + rt::is_cons(&__t810) }; - if !rt::is_truthy(interp, &__t851)? { + if !rt::is_truthy(interp, &__t819)? { Value::bool(false) } else { - let __t852 = { - let __t849 = { - let __t843 = { - let __t842 = { - let __t841 = v_V738.clone(); - rt::tl(&__t841)? + let __t820 = { + let __t817 = { + let __t813 = { + let __t812 = { + let __t811 = v_V738.clone(); + rt::tl(&__t811)? }; - rt::tl(&__t842)? + rt::tl(&__t812)? }; - rt::is_cons(&__t843) + rt::is_cons(&__t813) }; - if !rt::is_truthy(interp, &__t849)? { + if !rt::is_truthy(interp, &__t817)? { Value::bool(false) } else { - let __t850 = { - let __t844 = Value::nil(); - let __t848 = { - let __t847 = { - let __t846 = { - let __t845 = + let __t818 = Value::bool( + ({ + let __t816 = { + let __t815 = { + let __t814 = v_V738.clone(); - rt::tl(&__t845)? + rt::tl(&__t814)? }; - rt::tl(&__t846)? + rt::tl(&__t815)? }; - rt::tl(&__t847)? - }; - rt::eq(&__t844, &__t848) - }; + rt::tl(&__t816)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t850, + interp, &__t818, )?) } }; - Value::bool(rt::is_truthy(interp, &__t852)?) + Value::bool(rt::is_truthy(interp, &__t820)?) } }; - Value::bool(rt::is_truthy(interp, &__t854)?) + Value::bool(rt::is_truthy(interp, &__t822)?) } }; - Value::bool(rt::is_truthy(interp, &__t856)?) + Value::bool(rt::is_truthy(interp, &__t824)?) } }; - if match rt::is_truthy(interp, &__t866) { + if match rt::is_truthy(interp, &__t834) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t861 = { - let __t859 = { - let __t858 = { - let __t857 = v_V738.clone(); - rt::tl(&__t857)? + let __t829 = { + let __t827 = { + let __t826 = { + let __t825 = v_V738.clone(); + rt::tl(&__t825)? }; - rt::hd(&__t858)? + rt::hd(&__t826)? }; - let __t860 = v_V737.clone(); - rt::cons(&__t859, &__t860) + let __t828 = v_V737.clone(); + rt::cons(&__t827, &__t828) }; - let __t865 = { - let __t864 = { - let __t863 = { - let __t862 = v_V738.clone(); - rt::tl(&__t862)? + let __t833 = { + let __t832 = { + let __t831 = { + let __t830 = v_V738.clone(); + rt::tl(&__t830)? }; - rt::tl(&__t863)? + rt::tl(&__t831)? }; - rt::hd(&__t864)? + rt::hd(&__t832)? }; - v_V737 = __t861; - v_V738 = __t865; + v_V737 = __t829; + v_V738 = __t833; continue; } } else { { - let __t834 = { - let __t825 = v_V738.clone(); - rt::is_cons(&__t825) + let __t806 = { + let __t797 = v_V738.clone(); + rt::is_cons(&__t797) }; - if match rt::is_truthy(interp, &__t834) { + if match rt::is_truthy(interp, &__t806) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t829 = { - let __t826 = v_V737.clone(); - let __t828 = { - let __t827 = v_V738.clone(); - rt::hd(&__t827)? + let __t801 = { + let __t798 = v_V737.clone(); + let __t800 = { + let __t799 = v_V738.clone(); + rt::hd(&__t799)? }; - rt::apply_direct( + aot_shen_x2e_find_x2d_free_x2d_vars( interp, - "shen.find-free-vars", - &[__t826, __t828], + &[__t798, __t800], )? }; - let __t833 = { - let __t830 = v_V737.clone(); - let __t832 = { - let __t831 = v_V738.clone(); - rt::tl(&__t831)? + let __t805 = { + let __t802 = v_V737.clone(); + let __t804 = { + let __t803 = v_V738.clone(); + rt::tl(&__t803)? }; - rt::apply_direct( + aot_shen_x2e_find_x2d_free_x2d_vars( interp, - "shen.find-free-vars", - &[__t830, __t832], + &[__t802, __t804], )? }; - rt::apply_direct(interp, "union", &[__t829, __t833])? + rt::apply_direct(interp, "union", &[__t801, __t805])? }); } else { { - let __t824 = { - let __t820 = v_V738.clone(); - let __t821 = v_V737.clone(); - rt::apply_direct( + let __t796 = { + let __t792 = v_V738.clone(); + let __t793 = v_V737.clone(); + aot_shen_x2e_free_x2d_variable_x3f_( interp, - "shen.free-variable?", - &[__t820, __t821], + &[__t792, __t793], )? }; - if match rt::is_truthy(interp, &__t824) { + if match rt::is_truthy(interp, &__t796) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t822 = v_V738.clone(); - let __t823 = Value::nil(); - rt::cons(&__t822, &__t823) + let __t794 = v_V738.clone(); + let __t795 = Value::nil(); + rt::cons(&__t794, &__t795) }); } else { { - let __t819 = Value::bool(true); - if match rt::is_truthy(interp, &__t819) { + let __t791 = Value::bool(true); + if match rt::is_truthy(interp, &__t791) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4892,23 +4836,23 @@ pub fn aot_shen_x2e_free_x2d_variable_x3f_( #[allow(clippy::never_loop)] loop { { - let __t932 = { - let __t931 = v_V739.clone(); - rt::apply_direct(interp, "variable?", &[__t931])? + let __t892 = { + let __t891 = v_V739.clone(); + rt::apply_direct(interp, "variable?", &[__t891])? }; - if !match rt::is_truthy(interp, &__t932) { + if !match rt::is_truthy(interp, &__t892) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t935 = { - let __t933 = v_V739.clone(); - let __t934 = v_V740.clone(); - rt::apply_direct(interp, "element?", &[__t933, __t934])? + let __t895 = { + let __t893 = v_V739.clone(); + let __t894 = v_V740.clone(); + rt::apply_direct(interp, "element?", &[__t893, __t894])? }; - rt::apply_direct(interp, "not", &[__t935])? + rt::not(interp, &__t895)? }); } } @@ -4940,26 +4884,19 @@ pub fn aot_shen_x2e_record_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let _ = { - let __t936 = Value::sym(interp.intern("shen.*userdefs*")); - let __t940 = { - let __t937 = v_V741.clone(); - let __t939 = { - let __t938 = Value::sym(interp.intern("shen.*userdefs*")); - rt::apply_direct(interp, "value", &[__t938])? - }; - rt::apply_direct(interp, "adjoin", &[__t937, __t939])? + let __v = { + let __t896 = v_V741.clone(); + let __t897 = rt::global_value(interp, "shen.*userdefs*")?; + rt::apply_direct(interp, "adjoin", &[__t896, __t897])? }; - rt::apply_direct(interp, "set", &[__t936, __t940])? + rt::set_global(interp, "shen.*userdefs*", __v) }; break Ok({ - let __t941 = v_V741.clone(); - let __t942 = Value::sym(interp.intern("shen.source")); - let __t943 = v_V742.clone(); - let __t945 = { - let __t944 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t944])? - }; - rt::apply_direct(interp, "put", &[__t941, __t942, __t943, __t945])? + let __t898 = v_V741.clone(); + let __t899 = Value::sym(interp.intern_static("shen.source")); + let __t900 = v_V742.clone(); + let __t901 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t898, __t899, __t900, __t901])? }); } } @@ -4991,39 +4928,39 @@ pub fn aot_shen_x2e_compile_x2d_to_x2d_kl( loop { { let v_W746 = { - let __t946 = v_V745.clone(); - rt::apply_direct(interp, "shen.parameters", &[__t946])? + let __t902 = v_V745.clone(); + aot_shen_x2e_parameters(interp, &[__t902])? }; { let v_W747 = { - let __t947 = v_V743.clone(); - let __t950 = { - let __t948 = v_V744.clone(); - let __t949 = v_W746.clone(); - rt::apply_direct(interp, "shen.kl-body", &[__t948, __t949])? + let __t903 = v_V743.clone(); + let __t906 = { + let __t904 = v_V744.clone(); + let __t905 = v_W746.clone(); + aot_shen_x2e_kl_x2d_body(interp, &[__t904, __t905])? }; - rt::apply_direct(interp, "shen.scan-body", &[__t947, __t950])? + aot_shen_x2e_scan_x2d_body(interp, &[__t903, __t906])? }; { let v_W748 = { - let __t951 = Value::sym(interp.intern("defun")); - let __t959 = { - let __t952 = v_V743.clone(); - let __t958 = { - let __t953 = v_W746.clone(); - let __t957 = { - let __t955 = { - let __t954 = v_W747.clone(); - rt::apply_direct(interp, "shen.cond-form", &[__t954])? + let __t907 = Value::sym(interp.intern_static("defun")); + let __t915 = { + let __t908 = v_V743.clone(); + let __t914 = { + let __t909 = v_W746.clone(); + let __t913 = { + let __t911 = { + let __t910 = v_W747.clone(); + aot_shen_x2e_cond_x2d_form(interp, &[__t910])? }; - let __t956 = Value::nil(); - rt::cons(&__t955, &__t956) + let __t912 = Value::nil(); + rt::cons(&__t911, &__t912) }; - rt::cons(&__t953, &__t957) + rt::cons(&__t909, &__t913) }; - rt::cons(&__t952, &__t958) + rt::cons(&__t908, &__t914) }; - rt::cons(&__t951, &__t959) + rt::cons(&__t907, &__t915) }; break Ok(v_W748.clone()); } @@ -5050,37 +4987,37 @@ pub fn aot_shen_x2e_parameters(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t969 = { - let __t967 = Value::int(0i64); - let __t968 = v_V749.clone(); - rt::eq(&__t967, &__t968) + let __t925 = { + let __t923 = Value::int(0i64); + let __t924 = v_V749.clone(); + rt::eq(&__t923, &__t924) }; - if match rt::is_truthy(interp, &__t969) { + if match rt::is_truthy(interp, &__t925) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t966 = Value::bool(true); - if match rt::is_truthy(interp, &__t966) { + let __t922 = Value::bool(true); + if match rt::is_truthy(interp, &__t922) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t961 = { - let __t960 = Value::sym(interp.intern("V")); - rt::apply_direct(interp, "gensym", &[__t960])? - }; - let __t965 = { - let __t964 = { - let __t962 = v_V749.clone(); - let __t963 = Value::int(1i64); - rt::sub(&__t962, &__t963)? + let __t917 = { + let __t916 = Value::sym(interp.intern_static("V")); + rt::apply_direct(interp, "gensym", &[__t916])? + }; + let __t921 = { + let __t920 = { + let __t918 = v_V749.clone(); + let __t919 = Value::int(1i64); + rt::sub(&__t918, &__t919)? }; - rt::apply_direct(interp, "shen.parameters", &[__t964])? + aot_shen_x2e_parameters(interp, &[__t920])? }; - rt::cons(&__t961, &__t965) + rt::cons(&__t917, &__t921) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5109,105 +5046,104 @@ pub fn aot_shen_x2e_cond_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t999 = { - let __t994 = { - let __t973 = v_V752.clone(); - rt::is_cons(&__t973) + let __t953 = { + let __t948 = { + let __t929 = v_V752.clone(); + rt::is_cons(&__t929) }; - if !rt::is_truthy(interp, &__t994)? { + if !rt::is_truthy(interp, &__t948)? { Value::bool(false) } else { - let __t995 = { - let __t992 = { - let __t975 = { - let __t974 = v_V752.clone(); - rt::hd(&__t974)? + let __t949 = { + let __t946 = { + let __t931 = { + let __t930 = v_V752.clone(); + rt::hd(&__t930)? }; - rt::is_cons(&__t975) + rt::is_cons(&__t931) }; - if !rt::is_truthy(interp, &__t992)? { + if !rt::is_truthy(interp, &__t946)? { Value::bool(false) } else { - let __t993 = { - let __t990 = { - let __t976 = Value::bool(true); - let __t979 = { - let __t978 = { - let __t977 = v_V752.clone(); - rt::hd(&__t977)? + let __t947 = { + let __t944 = { + let __t932 = Value::bool(true); + let __t935 = { + let __t934 = { + let __t933 = v_V752.clone(); + rt::hd(&__t933)? }; - rt::hd(&__t978)? + rt::hd(&__t934)? }; - rt::eq(&__t976, &__t979) + rt::eq(&__t932, &__t935) }; - if !rt::is_truthy(interp, &__t990)? { + if !rt::is_truthy(interp, &__t944)? { Value::bool(false) } else { - let __t991 = { - let __t988 = { - let __t982 = { - let __t981 = { - let __t980 = v_V752.clone(); - rt::hd(&__t980)? + let __t945 = { + let __t942 = { + let __t938 = { + let __t937 = { + let __t936 = v_V752.clone(); + rt::hd(&__t936)? }; - rt::tl(&__t981)? + rt::tl(&__t937)? }; - rt::is_cons(&__t982) + rt::is_cons(&__t938) }; - if !rt::is_truthy(interp, &__t988)? { + if !rt::is_truthy(interp, &__t942)? { Value::bool(false) } else { - let __t989 = { - let __t983 = Value::nil(); - let __t987 = { - let __t986 = { - let __t985 = { - let __t984 = v_V752.clone(); - rt::hd(&__t984)? + let __t943 = Value::bool( + ({ + let __t941 = { + let __t940 = { + let __t939 = v_V752.clone(); + rt::hd(&__t939)? }; - rt::tl(&__t985)? + rt::tl(&__t940)? }; - rt::tl(&__t986)? - }; - rt::eq(&__t983, &__t987) - }; - Value::bool(rt::is_truthy(interp, &__t989)?) + rt::tl(&__t941)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t943)?) } }; - Value::bool(rt::is_truthy(interp, &__t991)?) + Value::bool(rt::is_truthy(interp, &__t945)?) } }; - Value::bool(rt::is_truthy(interp, &__t993)?) + Value::bool(rt::is_truthy(interp, &__t947)?) } }; - Value::bool(rt::is_truthy(interp, &__t995)?) + Value::bool(rt::is_truthy(interp, &__t949)?) } }; - if match rt::is_truthy(interp, &__t999) { + if match rt::is_truthy(interp, &__t953) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t998 = { - let __t997 = { - let __t996 = v_V752.clone(); - rt::hd(&__t996)? + let __t952 = { + let __t951 = { + let __t950 = v_V752.clone(); + rt::hd(&__t950)? }; - rt::tl(&__t997)? + rt::tl(&__t951)? }; - rt::hd(&__t998)? + rt::hd(&__t952)? }); } else { { - let __t972 = Value::bool(true); - if match rt::is_truthy(interp, &__t972) { + let __t928 = Value::bool(true); + if match rt::is_truthy(interp, &__t928) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t970 = Value::sym(interp.intern("cond")); - let __t971 = v_V752.clone(); - rt::cons(&__t970, &__t971) + let __t926 = Value::sym(interp.intern_static("cond")); + let __t927 = v_V752.clone(); + rt::cons(&__t926, &__t927) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5238,219 +5174,212 @@ pub fn aot_shen_x2e_scan_x2d_body(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t1064 = { - let __t1052 = Value::nil(); - let __t1053 = v_V762.clone(); - rt::eq(&__t1052, &__t1053) - }; - if match rt::is_truthy(interp, &__t1064) { + let __t1014 = Value::bool((v_V762.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1014) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1062 = { - let __t1054 = Value::bool(true); - let __t1061 = { - let __t1059 = { - let __t1055 = Value::sym(interp.intern("shen.f-error")); - let __t1058 = { - let __t1056 = v_V761.clone(); - let __t1057 = Value::nil(); - rt::cons(&__t1056, &__t1057) + let __t1012 = { + let __t1004 = Value::bool(true); + let __t1011 = { + let __t1009 = { + let __t1005 = Value::sym(interp.intern_static("shen.f-error")); + let __t1008 = { + let __t1006 = v_V761.clone(); + let __t1007 = Value::nil(); + rt::cons(&__t1006, &__t1007) }; - rt::cons(&__t1055, &__t1058) + rt::cons(&__t1005, &__t1008) }; - let __t1060 = Value::nil(); - rt::cons(&__t1059, &__t1060) + let __t1010 = Value::nil(); + rt::cons(&__t1009, &__t1010) }; - rt::cons(&__t1054, &__t1061) + rt::cons(&__t1004, &__t1011) }; - let __t1063 = Value::nil(); - rt::cons(&__t1062, &__t1063) + let __t1013 = Value::nil(); + rt::cons(&__t1012, &__t1013) }); } else { { - let __t1051 = { - let __t1040 = { - let __t1037 = v_V762.clone(); - rt::is_cons(&__t1037) + let __t1003 = { + let __t992 = { + let __t989 = v_V762.clone(); + rt::is_cons(&__t989) }; - if !rt::is_truthy(interp, &__t1040)? { + if !rt::is_truthy(interp, &__t992)? { Value::bool(false) } else { - let __t1041 = { - let __t1039 = { - let __t1038 = v_V762.clone(); - rt::hd(&__t1038)? + let __t993 = { + let __t991 = { + let __t990 = v_V762.clone(); + rt::hd(&__t990)? }; - rt::apply_direct(interp, "shen.choicepoint?", &[__t1039])? + aot_shen_x2e_choicepoint_x3f_(interp, &[__t991])? }; - Value::bool(rt::is_truthy(interp, &__t1041)?) + Value::bool(rt::is_truthy(interp, &__t993)?) } }; - if match rt::is_truthy(interp, &__t1051) { + if match rt::is_truthy(interp, &__t1003) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1042 = v_V761.clone(); - let __t1044 = { - let __t1043 = Value::sym(interp.intern("Freeze")); - rt::apply_direct(interp, "gensym", &[__t1043])? + let __t994 = v_V761.clone(); + let __t996 = { + let __t995 = Value::sym(interp.intern_static("Freeze")); + rt::apply_direct(interp, "gensym", &[__t995])? }; - let __t1046 = { - let __t1045 = Value::sym(interp.intern("Result")); - rt::apply_direct(interp, "gensym", &[__t1045])? + let __t998 = { + let __t997 = Value::sym(interp.intern_static("Result")); + rt::apply_direct(interp, "gensym", &[__t997])? }; - let __t1048 = { - let __t1047 = v_V762.clone(); - rt::hd(&__t1047)? + let __t1000 = { + let __t999 = v_V762.clone(); + rt::hd(&__t999)? }; - let __t1050 = { - let __t1049 = v_V762.clone(); - rt::tl(&__t1049)? + let __t1002 = { + let __t1001 = v_V762.clone(); + rt::tl(&__t1001)? }; - rt::apply_direct( + aot_shen_x2e_choicepoint( interp, - "shen.choicepoint", - &[__t1042, __t1044, __t1046, __t1048, __t1050], + &[__t994, __t996, __t998, __t1000, __t1002], )? }); } else { { - let __t1036 = { - let __t1031 = { - let __t1010 = v_V762.clone(); - rt::is_cons(&__t1010) + let __t988 = { + let __t983 = { + let __t964 = v_V762.clone(); + rt::is_cons(&__t964) }; - if !rt::is_truthy(interp, &__t1031)? { + if !rt::is_truthy(interp, &__t983)? { Value::bool(false) } else { - let __t1032 = { - let __t1029 = { - let __t1012 = { - let __t1011 = v_V762.clone(); - rt::hd(&__t1011)? + let __t984 = { + let __t981 = { + let __t966 = { + let __t965 = v_V762.clone(); + rt::hd(&__t965)? }; - rt::is_cons(&__t1012) + rt::is_cons(&__t966) }; - if !rt::is_truthy(interp, &__t1029)? { + if !rt::is_truthy(interp, &__t981)? { Value::bool(false) } else { - let __t1030 = { - let __t1027 = { - let __t1013 = Value::bool(true); - let __t1016 = { - let __t1015 = { - let __t1014 = v_V762.clone(); - rt::hd(&__t1014)? + let __t982 = { + let __t979 = { + let __t967 = Value::bool(true); + let __t970 = { + let __t969 = { + let __t968 = v_V762.clone(); + rt::hd(&__t968)? }; - rt::hd(&__t1015)? + rt::hd(&__t969)? }; - rt::eq(&__t1013, &__t1016) + rt::eq(&__t967, &__t970) }; - if !rt::is_truthy(interp, &__t1027)? { + if !rt::is_truthy(interp, &__t979)? { Value::bool(false) } else { - let __t1028 = { - let __t1025 = { - let __t1019 = { - let __t1018 = { - let __t1017 = v_V762.clone(); - rt::hd(&__t1017)? + let __t980 = { + let __t977 = { + let __t973 = { + let __t972 = { + let __t971 = v_V762.clone(); + rt::hd(&__t971)? }; - rt::tl(&__t1018)? + rt::tl(&__t972)? }; - rt::is_cons(&__t1019) + rt::is_cons(&__t973) }; - if !rt::is_truthy(interp, &__t1025)? { + if !rt::is_truthy(interp, &__t977)? { Value::bool(false) } else { - let __t1026 = { - let __t1020 = Value::nil(); - let __t1024 = { - let __t1023 = { - let __t1022 = { - let __t1021 = + let __t978 = Value::bool( + ({ + let __t976 = { + let __t975 = { + let __t974 = v_V762.clone(); - rt::hd(&__t1021)? + rt::hd(&__t974)? }; - rt::tl(&__t1022)? + rt::tl(&__t975)? }; - rt::tl(&__t1023)? - }; - rt::eq(&__t1020, &__t1024) - }; + rt::tl(&__t976)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1026, + interp, &__t978, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1028)?) + Value::bool(rt::is_truthy(interp, &__t980)?) } }; - Value::bool(rt::is_truthy(interp, &__t1030)?) + Value::bool(rt::is_truthy(interp, &__t982)?) } }; - Value::bool(rt::is_truthy(interp, &__t1032)?) + Value::bool(rt::is_truthy(interp, &__t984)?) } }; - if match rt::is_truthy(interp, &__t1036) { + if match rt::is_truthy(interp, &__t988) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1034 = { - let __t1033 = v_V762.clone(); - rt::hd(&__t1033)? + let __t986 = { + let __t985 = v_V762.clone(); + rt::hd(&__t985)? }; - let __t1035 = Value::nil(); - rt::cons(&__t1034, &__t1035) + let __t987 = Value::nil(); + rt::cons(&__t986, &__t987) }); } else { { - let __t1009 = { - let __t1002 = v_V762.clone(); - rt::is_cons(&__t1002) + let __t963 = { + let __t956 = v_V762.clone(); + rt::is_cons(&__t956) }; - if match rt::is_truthy(interp, &__t1009) { + if match rt::is_truthy(interp, &__t963) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1004 = { - let __t1003 = v_V762.clone(); - rt::hd(&__t1003)? + let __t958 = { + let __t957 = v_V762.clone(); + rt::hd(&__t957)? }; - let __t1008 = { - let __t1005 = v_V761.clone(); - let __t1007 = { - let __t1006 = v_V762.clone(); - rt::tl(&__t1006)? + let __t962 = { + let __t959 = v_V761.clone(); + let __t961 = { + let __t960 = v_V762.clone(); + rt::tl(&__t960)? }; - rt::apply_direct( + aot_shen_x2e_scan_x2d_body( interp, - "shen.scan-body", - &[__t1005, __t1007], + &[__t959, __t961], )? }; - rt::cons(&__t1004, &__t1008) + rt::cons(&__t958, &__t962) }); } else { { - let __t1001 = Value::bool(true); - if match rt::is_truthy(interp, &__t1001) { + let __t955 = Value::bool(true); + if match rt::is_truthy(interp, &__t955) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1000 = Value::str( + let __t954 = Value::str( "implementation error in shen.scan-body", ); rt::apply_direct( interp, "simple-error", - &[__t1000], + &[__t954], )? }); } else { @@ -5488,138 +5417,135 @@ pub fn aot_shen_x2e_choicepoint_x3f_(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1103 = { - let __t1101 = { - let __t1066 = v_V769.clone(); - rt::is_cons(&__t1066) + let __t1047 = { + let __t1045 = { + let __t1016 = v_V769.clone(); + rt::is_cons(&__t1016) }; - if !rt::is_truthy(interp, &__t1101)? { + if !rt::is_truthy(interp, &__t1045)? { Value::bool(false) } else { - let __t1102 = { - let __t1099 = { - let __t1068 = { - let __t1067 = v_V769.clone(); - rt::tl(&__t1067)? + let __t1046 = { + let __t1043 = { + let __t1018 = { + let __t1017 = v_V769.clone(); + rt::tl(&__t1017)? }; - rt::is_cons(&__t1068) + rt::is_cons(&__t1018) }; - if !rt::is_truthy(interp, &__t1099)? { + if !rt::is_truthy(interp, &__t1043)? { Value::bool(false) } else { - let __t1100 = { - let __t1097 = { - let __t1071 = { - let __t1070 = { - let __t1069 = v_V769.clone(); - rt::tl(&__t1069)? + let __t1044 = { + let __t1041 = { + let __t1021 = { + let __t1020 = { + let __t1019 = v_V769.clone(); + rt::tl(&__t1019)? }; - rt::hd(&__t1070)? + rt::hd(&__t1020)? }; - rt::is_cons(&__t1071) + rt::is_cons(&__t1021) }; - if !rt::is_truthy(interp, &__t1097)? { + if !rt::is_truthy(interp, &__t1041)? { Value::bool(false) } else { - let __t1098 = { - let __t1095 = { - let __t1072 = - Value::sym(interp.intern("shen.choicepoint!")); - let __t1076 = { - let __t1075 = { - let __t1074 = { - let __t1073 = v_V769.clone(); - rt::tl(&__t1073)? + let __t1042 = { + let __t1039 = Value::bool( + ({ + let __t1024 = { + let __t1023 = { + let __t1022 = v_V769.clone(); + rt::tl(&__t1022)? }; - rt::hd(&__t1074)? + rt::hd(&__t1023)? }; - rt::hd(&__t1075)? - }; - rt::eq(&__t1072, &__t1076) - }; - if !rt::is_truthy(interp, &__t1095)? { + rt::hd(&__t1024)? + }) + .as_sym() + == Some(interp.intern_static("shen.choicepoint!")), + ); + if !rt::is_truthy(interp, &__t1039)? { Value::bool(false) } else { - let __t1096 = { - let __t1093 = { - let __t1080 = { - let __t1079 = { - let __t1078 = { - let __t1077 = v_V769.clone(); - rt::tl(&__t1077)? + let __t1040 = { + let __t1037 = { + let __t1028 = { + let __t1027 = { + let __t1026 = { + let __t1025 = v_V769.clone(); + rt::tl(&__t1025)? }; - rt::hd(&__t1078)? + rt::hd(&__t1026)? }; - rt::tl(&__t1079)? + rt::tl(&__t1027)? }; - rt::is_cons(&__t1080) + rt::is_cons(&__t1028) }; - if !rt::is_truthy(interp, &__t1093)? { + if !rt::is_truthy(interp, &__t1037)? { Value::bool(false) } else { - let __t1094 = { - let __t1091 = { - let __t1081 = Value::nil(); - let __t1086 = { - let __t1085 = { - let __t1084 = { - let __t1083 = { - let __t1082 = + let __t1038 = { + let __t1035 = Value::bool( + ({ + let __t1032 = { + let __t1031 = { + let __t1030 = { + let __t1029 = v_V769.clone(); - rt::tl(&__t1082)? + rt::tl(&__t1029)? }; - rt::hd(&__t1083)? + rt::hd(&__t1030)? }; - rt::tl(&__t1084)? + rt::tl(&__t1031)? }; - rt::tl(&__t1085)? - }; - rt::eq(&__t1081, &__t1086) - }; - if !rt::is_truthy(interp, &__t1091)? { + rt::tl(&__t1032)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1035)? { Value::bool(false) } else { - let __t1092 = { - let __t1087 = Value::nil(); - let __t1090 = { - let __t1089 = { - let __t1088 = + let __t1036 = Value::bool( + ({ + let __t1034 = { + let __t1033 = v_V769.clone(); - rt::tl(&__t1088)? + rt::tl(&__t1033)? }; - rt::tl(&__t1089)? - }; - rt::eq(&__t1087, &__t1090) - }; + rt::tl(&__t1034)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1092, + interp, &__t1036, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1094)?) + Value::bool(rt::is_truthy(interp, &__t1038)?) } }; - Value::bool(rt::is_truthy(interp, &__t1096)?) + Value::bool(rt::is_truthy(interp, &__t1040)?) } }; - Value::bool(rt::is_truthy(interp, &__t1098)?) + Value::bool(rt::is_truthy(interp, &__t1042)?) } }; - Value::bool(rt::is_truthy(interp, &__t1100)?) + Value::bool(rt::is_truthy(interp, &__t1044)?) } }; - Value::bool(rt::is_truthy(interp, &__t1102)?) + Value::bool(rt::is_truthy(interp, &__t1046)?) } }; - if match rt::is_truthy(interp, &__t1103) { + if match rt::is_truthy(interp, &__t1047) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1065 = Value::bool(true); - if match rt::is_truthy(interp, &__t1065) { + let __t1015 = Value::bool(true); + if match rt::is_truthy(interp, &__t1015) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5659,702 +5585,675 @@ pub fn aot_shen_x2e_choicepoint(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t1366 = { - let __t1286 = { - let __t1204 = v_V788.clone(); - rt::is_cons(&__t1204) + let __t1298 = { + let __t1218 = { + let __t1144 = v_V788.clone(); + rt::is_cons(&__t1144) }; - if !rt::is_truthy(interp, &__t1286)? { + if !rt::is_truthy(interp, &__t1218)? { Value::bool(false) } else { - let __t1287 = { - let __t1284 = { - let __t1206 = { - let __t1205 = v_V788.clone(); - rt::tl(&__t1205)? + let __t1219 = { + let __t1216 = { + let __t1146 = { + let __t1145 = v_V788.clone(); + rt::tl(&__t1145)? }; - rt::is_cons(&__t1206) + rt::is_cons(&__t1146) }; - if !rt::is_truthy(interp, &__t1284)? { + if !rt::is_truthy(interp, &__t1216)? { Value::bool(false) } else { - let __t1285 = { - let __t1282 = { - let __t1209 = { - let __t1208 = { - let __t1207 = v_V788.clone(); - rt::tl(&__t1207)? + let __t1217 = { + let __t1214 = { + let __t1149 = { + let __t1148 = { + let __t1147 = v_V788.clone(); + rt::tl(&__t1147)? }; - rt::hd(&__t1208)? + rt::hd(&__t1148)? }; - rt::is_cons(&__t1209) + rt::is_cons(&__t1149) }; - if !rt::is_truthy(interp, &__t1282)? { + if !rt::is_truthy(interp, &__t1214)? { Value::bool(false) } else { - let __t1283 = { - let __t1280 = { - let __t1213 = { - let __t1212 = { - let __t1211 = { - let __t1210 = v_V788.clone(); - rt::tl(&__t1210)? + let __t1215 = { + let __t1212 = { + let __t1153 = { + let __t1152 = { + let __t1151 = { + let __t1150 = v_V788.clone(); + rt::tl(&__t1150)? }; - rt::hd(&__t1211)? + rt::hd(&__t1151)? }; - rt::tl(&__t1212)? + rt::tl(&__t1152)? }; - rt::is_cons(&__t1213) + rt::is_cons(&__t1153) }; - if !rt::is_truthy(interp, &__t1280)? { + if !rt::is_truthy(interp, &__t1212)? { Value::bool(false) } else { - let __t1281 = { - let __t1278 = { - let __t1218 = { - let __t1217 = { - let __t1216 = { - let __t1215 = { - let __t1214 = v_V788.clone(); - rt::tl(&__t1214)? + let __t1213 = { + let __t1210 = { + let __t1158 = { + let __t1157 = { + let __t1156 = { + let __t1155 = { + let __t1154 = v_V788.clone(); + rt::tl(&__t1154)? }; - rt::hd(&__t1215)? + rt::hd(&__t1155)? }; - rt::tl(&__t1216)? + rt::tl(&__t1156)? }; - rt::hd(&__t1217)? + rt::hd(&__t1157)? }; - rt::is_cons(&__t1218) + rt::is_cons(&__t1158) }; - if !rt::is_truthy(interp, &__t1278)? { + if !rt::is_truthy(interp, &__t1210)? { Value::bool(false) } else { - let __t1279 = { - let __t1276 = { - let __t1219 = Value::sym( - interp.intern("fail-if"), - ); - let __t1225 = { - let __t1224 = { - let __t1223 = { - let __t1222 = { - let __t1221 = { - let __t1220 = + let __t1211 = { + let __t1208 = Value::bool( + ({ + let __t1163 = { + let __t1162 = { + let __t1161 = { + let __t1160 = { + let __t1159 = v_V788.clone(); - rt::tl(&__t1220)? + rt::tl(&__t1159)? }; - rt::hd(&__t1221)? + rt::hd(&__t1160)? }; - rt::tl(&__t1222)? + rt::tl(&__t1161)? }; - rt::hd(&__t1223)? + rt::hd(&__t1162)? }; - rt::hd(&__t1224)? - }; - rt::eq(&__t1219, &__t1225) - }; - if !rt::is_truthy(interp, &__t1276)? { + rt::hd(&__t1163)? + }) + .as_sym() + == Some( + interp.intern_static("fail-if"), + ), + ); + if !rt::is_truthy(interp, &__t1208)? { Value::bool(false) } else { - let __t1277 = { - let __t1274 = { - let __t1231 = { - let __t1230 = { - let __t1229 = { - let __t1228 = { - let __t1227 = { - let __t1226 = v_V788.clone(); - rt::tl(&__t1226)? + let __t1209 = { + let __t1206 = { + let __t1169 = { + let __t1168 = { + let __t1167 = { + let __t1166 = { + let __t1165 = { + let __t1164 = v_V788.clone(); + rt::tl(&__t1164)? }; rt::hd( - &__t1227, + &__t1165, )? }; - rt::tl(&__t1228)? + rt::tl(&__t1166)? }; - rt::hd(&__t1229)? + rt::hd(&__t1167)? }; - rt::tl(&__t1230)? + rt::tl(&__t1168)? }; - rt::is_cons(&__t1231) + rt::is_cons(&__t1169) }; - if !rt::is_truthy(interp, &__t1274)? + if !rt::is_truthy(interp, &__t1206)? { Value::bool(false) } else { - let __t1275 = { - let __t1272 = { - let __t1238 = { - let __t1237 = { - let __t1236 = { - let __t1235 = { - let __t1234 = { - let __t1233 = { let __t1232 = v_V788.clone(); rt::tl(&__t1232)? }; - rt::hd(&__t1233)? + let __t1207 = { + let __t1204 = { + let __t1176 = { + let __t1175 = { + let __t1174 = { + let __t1173 = { + let __t1172 = { + let __t1171 = { let __t1170 = v_V788.clone(); rt::tl(&__t1170)? }; + rt::hd(&__t1171)? }; - rt::tl(&__t1234)? + rt::tl(&__t1172)? }; - rt::hd(&__t1235)? + rt::hd(&__t1173)? }; rt::tl( - &__t1236, + &__t1174, )? }; - rt::tl(&__t1237)? + rt::tl(&__t1175)? }; - rt::is_cons(&__t1238) + rt::is_cons(&__t1176) }; if !rt::is_truthy( - interp, &__t1272, + interp, &__t1204, )? { Value::bool(false) } else { - let __t1273 = { - let __t1270 = { - let __t1239 = - Value::nil( - ); - let __t1247 = { - let __t1246 = { - let __t1245 = { - let __t1244 = { let __t1243 = { let __t1242 = { let __t1241 = { let __t1240 = v_V788.clone(); rt::tl(&__t1240)? }; rt::hd(&__t1241)? }; rt::tl(&__t1242)? }; rt::hd(&__t1243)? }; - rt::tl(&__t1244)? - }; - rt::tl(&__t1245)? - }; - rt::tl(&__t1246)? - }; - rt::eq( - &__t1239, - &__t1247, - ) - }; + let __t1205 = { + let __t1202 = Value::bool(({ let __t1183 = { let __t1182 = { let __t1181 = { let __t1180 = { let __t1179 = { let __t1178 = { let __t1177 = v_V788.clone(); rt::tl(&__t1177)? }; rt::hd(&__t1178)? }; rt::tl(&__t1179)? }; rt::hd(&__t1180)? }; rt::tl(&__t1181)? }; rt::tl(&__t1182)? }; rt::tl(&__t1183)? }).is_nil()); if !rt::is_truthy( interp, - &__t1270, + &__t1202, )? { Value::bool( false, ) } else { - let __t1271 = { - let __t1268 = { - let __t1248 = Value::nil(); - let __t1253 = { - let __t1252 = { let __t1251 = { let __t1250 = { let __t1249 = v_V788.clone(); rt::tl(&__t1249)? }; rt::hd(&__t1250)? }; rt::tl(&__t1251)? }; - rt::tl(&__t1252)? - }; - rt::eq(&__t1248, &__t1253) - }; - if !rt::is_truthy(interp, &__t1268)? { Value::bool(false) } else { let __t1269 = { let __t1266 = { let __t1254 = Value::nil(); let __t1257 = { let __t1256 = { let __t1255 = v_V788.clone(); rt::tl(&__t1255)? }; rt::tl(&__t1256)? }; rt::eq(&__t1254, &__t1257) }; if !rt::is_truthy(interp, &__t1266)? { Value::bool(false) } else { let __t1267 = { let __t1258 = v_V785.clone(); let __t1265 = { let __t1264 = { let __t1263 = { let __t1262 = { let __t1261 = { let __t1260 = { let __t1259 = v_V788.clone(); rt::tl(&__t1259)? }; rt::hd(&__t1260)? }; rt::tl(&__t1261)? }; rt::hd(&__t1262)? }; rt::tl(&__t1263)? }; rt::hd(&__t1264)? }; rt::eq(&__t1258, &__t1265) }; Value::bool(rt::is_truthy(interp, &__t1267)?) } }; Value::bool(rt::is_truthy(interp, &__t1269)?) } + let __t1203 = { + let __t1200 = Value::bool(({ let __t1187 = { let __t1186 = { let __t1185 = { let __t1184 = v_V788.clone(); rt::tl(&__t1184)? }; rt::hd(&__t1185)? }; rt::tl(&__t1186)? }; rt::tl(&__t1187)? }).is_nil()); + if !rt::is_truthy(interp, &__t1200)? { Value::bool(false) } else { let __t1201 = { let __t1198 = Value::bool(({ let __t1189 = { let __t1188 = v_V788.clone(); rt::tl(&__t1188)? }; rt::tl(&__t1189)? }).is_nil()); if !rt::is_truthy(interp, &__t1198)? { Value::bool(false) } else { let __t1199 = { let __t1190 = v_V785.clone(); let __t1197 = { let __t1196 = { let __t1195 = { let __t1194 = { let __t1193 = { let __t1192 = { let __t1191 = v_V788.clone(); rt::tl(&__t1191)? }; rt::hd(&__t1192)? }; rt::tl(&__t1193)? }; rt::hd(&__t1194)? }; rt::tl(&__t1195)? }; rt::hd(&__t1196)? }; rt::eq(&__t1190, &__t1197) }; Value::bool(rt::is_truthy(interp, &__t1199)?) } }; Value::bool(rt::is_truthy(interp, &__t1201)?) } }; - Value::bool(rt::is_truthy(interp, &__t1271)?) + Value::bool(rt::is_truthy(interp, &__t1203)?) } }; Value::bool( rt::is_truthy( interp, - &__t1273, + &__t1205, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t1275, + interp, &__t1207, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1277, + interp, &__t1209, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1279)?) + Value::bool(rt::is_truthy(interp, &__t1211)?) } }; - Value::bool(rt::is_truthy(interp, &__t1281)?) + Value::bool(rt::is_truthy(interp, &__t1213)?) } }; - Value::bool(rt::is_truthy(interp, &__t1283)?) + Value::bool(rt::is_truthy(interp, &__t1215)?) } }; - Value::bool(rt::is_truthy(interp, &__t1285)?) + Value::bool(rt::is_truthy(interp, &__t1217)?) } }; - Value::bool(rt::is_truthy(interp, &__t1287)?) + Value::bool(rt::is_truthy(interp, &__t1219)?) } }; - if match rt::is_truthy(interp, &__t1366) { + if match rt::is_truthy(interp, &__t1298) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1364 = { - let __t1288 = Value::bool(true); - let __t1363 = { - let __t1361 = { - let __t1289 = Value::sym(interp.intern("let")); - let __t1360 = { - let __t1290 = v_V786.clone(); - let __t1359 = { - let __t1305 = { - let __t1291 = Value::sym(interp.intern("freeze")); - let __t1304 = { - let __t1302 = { - let __t1292 = Value::sym(interp.intern("cond")); - let __t1301 = { - let __t1299 = { - let __t1298 = { - let __t1297 = { - let __t1296 = { - let __t1295 = { - let __t1294 = { - let __t1293 = + let __t1296 = { + let __t1220 = Value::bool(true); + let __t1295 = { + let __t1293 = { + let __t1221 = Value::sym(interp.intern_static("let")); + let __t1292 = { + let __t1222 = v_V786.clone(); + let __t1291 = { + let __t1237 = { + let __t1223 = + Value::sym(interp.intern_static("freeze")); + let __t1236 = { + let __t1234 = { + let __t1224 = + Value::sym(interp.intern_static("cond")); + let __t1233 = { + let __t1231 = { + let __t1230 = { + let __t1229 = { + let __t1228 = { + let __t1227 = { + let __t1226 = { + let __t1225 = v_V788.clone(); - rt::tl(&__t1293)? + rt::tl(&__t1225)? }; - rt::hd(&__t1294)? + rt::hd(&__t1226)? }; - rt::tl(&__t1295)? + rt::tl(&__t1227)? }; - rt::hd(&__t1296)? + rt::hd(&__t1228)? }; - rt::tl(&__t1297)? + rt::tl(&__t1229)? }; - rt::hd(&__t1298)? + rt::hd(&__t1230)? }; - let __t1300 = v_V789.clone(); - rt::apply_direct( + let __t1232 = v_V789.clone(); + aot_shen_x2e_scan_x2d_body( interp, - "shen.scan-body", - &[__t1299, __t1300], + &[__t1231, __t1232], )? }; - rt::cons(&__t1292, &__t1301) + rt::cons(&__t1224, &__t1233) }; - let __t1303 = Value::nil(); - rt::cons(&__t1302, &__t1303) + let __t1235 = Value::nil(); + rt::cons(&__t1234, &__t1235) }; - rt::cons(&__t1291, &__t1304) + rt::cons(&__t1223, &__t1236) }; - let __t1358 = { - let __t1356 = { - let __t1306 = Value::sym(interp.intern("if")); - let __t1355 = { - let __t1308 = { - let __t1307 = v_V788.clone(); - rt::hd(&__t1307)? + let __t1290 = { + let __t1288 = { + let __t1238 = + Value::sym(interp.intern_static("if")); + let __t1287 = { + let __t1240 = { + let __t1239 = v_V788.clone(); + rt::hd(&__t1239)? }; - let __t1354 = { - let __t1346 = { - let __t1309 = - Value::sym(interp.intern("let")); - let __t1345 = { - let __t1310 = v_V787.clone(); - let __t1344 = { - let __t1318 = { - let __t1317 = { - let __t1316 = { - let __t1315 = { - let __t1314 = { - let __t1313 = { - let __t1312 = { - let __t1311 = v_V788.clone(); - rt::tl(&__t1311)? + let __t1286 = { + let __t1278 = { + let __t1241 = Value::sym( + interp.intern_static("let"), + ); + let __t1277 = { + let __t1242 = v_V787.clone(); + let __t1276 = { + let __t1250 = { + let __t1249 = { + let __t1248 = { + let __t1247 = { + let __t1246 = { + let __t1245 = { + let __t1244 = { + let __t1243 = v_V788.clone(); + rt::tl(&__t1243)? }; - rt::hd(&__t1312)? + rt::hd(&__t1244)? }; - rt::tl(&__t1313)? + rt::tl(&__t1245)? }; rt::hd( - &__t1314, + &__t1246, )? }; - rt::tl(&__t1315)? + rt::tl(&__t1247)? }; - rt::tl(&__t1316)? + rt::tl(&__t1248)? }; - rt::hd(&__t1317)? + rt::hd(&__t1249)? }; - let __t1343 = { - let __t1341 = { - let __t1319 = - Value::sym( - interp.intern( - "if", - ), - ); - let __t1340 = { - let __t1330 = { - let __t1326 = { - let __t1325 = { - let __t1324 = { - let __t1323 = { let __t1322 = { let __t1321 = { let __t1320 = v_V788.clone(); rt::tl(&__t1320)? }; rt::hd(&__t1321)? }; rt::tl(&__t1322)? }; - rt::hd(&__t1323)? + let __t1275 = { + let __t1273 = { + let __t1251 = Value::sym(interp.intern_static("if")); + let __t1272 = { + let __t1262 = { + let __t1258 = { + let __t1257 = { + let __t1256 = { + let __t1255 = { let __t1254 = { let __t1253 = { let __t1252 = v_V788.clone(); rt::tl(&__t1252)? }; rt::hd(&__t1253)? }; rt::tl(&__t1254)? }; + rt::hd(&__t1255)? }; - rt::tl(&__t1324)? + rt::tl(&__t1256)? }; - rt::hd(&__t1325)? + rt::hd(&__t1257)? }; - let __t1329 = { - let __t1327 = v_V787.clone(); - let __t1328 = Value::nil(); - rt::cons(&__t1327, &__t1328) + let __t1261 = { + let __t1259 = v_V787.clone(); + let __t1260 = Value::nil(); + rt::cons(&__t1259, &__t1260) }; rt::cons( - &__t1326, - &__t1329, + &__t1258, + &__t1261, ) }; - let __t1339 = { - let __t1335 = { - let __t1331 = Value::sym(interp.intern("thaw")); - let __t1334 = { - let __t1332 = v_V786.clone(); - let __t1333 = Value::nil(); - rt::cons(&__t1332, &__t1333) + let __t1271 = { + let __t1267 = { + let __t1263 = Value::sym(interp.intern_static("thaw")); + let __t1266 = { + let __t1264 = v_V786.clone(); + let __t1265 = Value::nil(); + rt::cons(&__t1264, &__t1265) }; - rt::cons(&__t1331, &__t1334) + rt::cons(&__t1263, &__t1266) }; - let __t1338 = { - let __t1336 = v_V787.clone(); - let __t1337 = Value::nil(); - rt::cons(&__t1336, &__t1337) + let __t1270 = { + let __t1268 = v_V787.clone(); + let __t1269 = Value::nil(); + rt::cons(&__t1268, &__t1269) }; rt::cons( - &__t1335, - &__t1338, + &__t1267, + &__t1270, ) }; rt::cons( - &__t1330, - &__t1339, + &__t1262, + &__t1271, ) }; rt::cons( - &__t1319, &__t1340, + &__t1251, &__t1272, ) }; - let __t1342 = Value::nil(); - rt::cons(&__t1341, &__t1342) + let __t1274 = Value::nil(); + rt::cons(&__t1273, &__t1274) }; - rt::cons(&__t1318, &__t1343) + rt::cons(&__t1250, &__t1275) }; - rt::cons(&__t1310, &__t1344) + rt::cons(&__t1242, &__t1276) }; - rt::cons(&__t1309, &__t1345) + rt::cons(&__t1241, &__t1277) }; - let __t1353 = { - let __t1351 = { - let __t1347 = Value::sym( - interp.intern("thaw"), + let __t1285 = { + let __t1283 = { + let __t1279 = Value::sym( + interp.intern_static("thaw"), ); - let __t1350 = { - let __t1348 = v_V786.clone(); - let __t1349 = Value::nil(); - rt::cons(&__t1348, &__t1349) + let __t1282 = { + let __t1280 = v_V786.clone(); + let __t1281 = Value::nil(); + rt::cons(&__t1280, &__t1281) }; - rt::cons(&__t1347, &__t1350) + rt::cons(&__t1279, &__t1282) }; - let __t1352 = Value::nil(); - rt::cons(&__t1351, &__t1352) + let __t1284 = Value::nil(); + rt::cons(&__t1283, &__t1284) }; - rt::cons(&__t1346, &__t1353) + rt::cons(&__t1278, &__t1285) }; - rt::cons(&__t1308, &__t1354) + rt::cons(&__t1240, &__t1286) }; - rt::cons(&__t1306, &__t1355) + rt::cons(&__t1238, &__t1287) }; - let __t1357 = Value::nil(); - rt::cons(&__t1356, &__t1357) + let __t1289 = Value::nil(); + rt::cons(&__t1288, &__t1289) }; - rt::cons(&__t1305, &__t1358) + rt::cons(&__t1237, &__t1290) }; - rt::cons(&__t1290, &__t1359) + rt::cons(&__t1222, &__t1291) }; - rt::cons(&__t1289, &__t1360) + rt::cons(&__t1221, &__t1292) }; - let __t1362 = Value::nil(); - rt::cons(&__t1361, &__t1362) + let __t1294 = Value::nil(); + rt::cons(&__t1293, &__t1294) }; - rt::cons(&__t1288, &__t1363) + rt::cons(&__t1220, &__t1295) }; - let __t1365 = Value::nil(); - rt::cons(&__t1364, &__t1365) + let __t1297 = Value::nil(); + rt::cons(&__t1296, &__t1297) }); } else { { - let __t1203 = { - let __t1134 = { - let __t1106 = v_V788.clone(); - rt::is_cons(&__t1106) + let __t1143 = { + let __t1074 = { + let __t1050 = v_V788.clone(); + rt::is_cons(&__t1050) }; - if !rt::is_truthy(interp, &__t1134)? { + if !rt::is_truthy(interp, &__t1074)? { Value::bool(false) } else { - let __t1135 = { - let __t1132 = { - let __t1108 = { - let __t1107 = v_V788.clone(); - rt::tl(&__t1107)? + let __t1075 = { + let __t1072 = { + let __t1052 = { + let __t1051 = v_V788.clone(); + rt::tl(&__t1051)? }; - rt::is_cons(&__t1108) + rt::is_cons(&__t1052) }; - if !rt::is_truthy(interp, &__t1132)? { + if !rt::is_truthy(interp, &__t1072)? { Value::bool(false) } else { - let __t1133 = { - let __t1130 = { - let __t1111 = { - let __t1110 = { - let __t1109 = v_V788.clone(); - rt::tl(&__t1109)? + let __t1073 = { + let __t1070 = { + let __t1055 = { + let __t1054 = { + let __t1053 = v_V788.clone(); + rt::tl(&__t1053)? }; - rt::hd(&__t1110)? + rt::hd(&__t1054)? }; - rt::is_cons(&__t1111) + rt::is_cons(&__t1055) }; - if !rt::is_truthy(interp, &__t1130)? { + if !rt::is_truthy(interp, &__t1070)? { Value::bool(false) } else { - let __t1131 = { - let __t1128 = { - let __t1115 = { - let __t1114 = { - let __t1113 = { - let __t1112 = v_V788.clone(); - rt::tl(&__t1112)? + let __t1071 = { + let __t1068 = { + let __t1059 = { + let __t1058 = { + let __t1057 = { + let __t1056 = v_V788.clone(); + rt::tl(&__t1056)? }; - rt::hd(&__t1113)? + rt::hd(&__t1057)? }; - rt::tl(&__t1114)? + rt::tl(&__t1058)? }; - rt::is_cons(&__t1115) + rt::is_cons(&__t1059) }; - if !rt::is_truthy(interp, &__t1128)? { + if !rt::is_truthy(interp, &__t1068)? { Value::bool(false) } else { - let __t1129 = { - let __t1126 = { - let __t1116 = Value::nil(); - let __t1121 = { - let __t1120 = { - let __t1119 = { - let __t1118 = { - let __t1117 = + let __t1069 = { + let __t1066 = Value::bool( + ({ + let __t1063 = { + let __t1062 = { + let __t1061 = { + let __t1060 = v_V788.clone(); - rt::tl(&__t1117)? + rt::tl(&__t1060)? }; - rt::hd(&__t1118)? + rt::hd(&__t1061)? }; - rt::tl(&__t1119)? + rt::tl(&__t1062)? }; - rt::tl(&__t1120)? - }; - rt::eq(&__t1116, &__t1121) - }; - if !rt::is_truthy(interp, &__t1126)? { + rt::tl(&__t1063)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1066)? { Value::bool(false) } else { - let __t1127 = { - let __t1122 = Value::nil(); - let __t1125 = { - let __t1124 = { - let __t1123 = + let __t1067 = Value::bool( + ({ + let __t1065 = { + let __t1064 = v_V788.clone(); - rt::tl(&__t1123)? + rt::tl(&__t1064)? }; - rt::tl(&__t1124)? - }; - rt::eq(&__t1122, &__t1125) - }; + rt::tl(&__t1065)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1127, + interp, &__t1067, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1129)?) + Value::bool(rt::is_truthy(interp, &__t1069)?) } }; - Value::bool(rt::is_truthy(interp, &__t1131)?) + Value::bool(rt::is_truthy(interp, &__t1071)?) } }; - Value::bool(rt::is_truthy(interp, &__t1133)?) + Value::bool(rt::is_truthy(interp, &__t1073)?) } }; - Value::bool(rt::is_truthy(interp, &__t1135)?) + Value::bool(rt::is_truthy(interp, &__t1075)?) } }; - if match rt::is_truthy(interp, &__t1203) { + if match rt::is_truthy(interp, &__t1143) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1201 = { - let __t1136 = Value::bool(true); - let __t1200 = { - let __t1198 = { - let __t1137 = Value::sym(interp.intern("let")); - let __t1197 = { - let __t1138 = v_V786.clone(); - let __t1196 = { - let __t1147 = { - let __t1139 = - Value::sym(interp.intern("freeze")); - let __t1146 = { - let __t1144 = { - let __t1140 = - Value::sym(interp.intern("cond")); - let __t1143 = { - let __t1141 = v_V785.clone(); - let __t1142 = v_V789.clone(); - rt::apply_direct( + let __t1141 = { + let __t1076 = Value::bool(true); + let __t1140 = { + let __t1138 = { + let __t1077 = Value::sym(interp.intern_static("let")); + let __t1137 = { + let __t1078 = v_V786.clone(); + let __t1136 = { + let __t1087 = { + let __t1079 = + Value::sym(interp.intern_static("freeze")); + let __t1086 = { + let __t1084 = { + let __t1080 = Value::sym( + interp.intern_static("cond"), + ); + let __t1083 = { + let __t1081 = v_V785.clone(); + let __t1082 = v_V789.clone(); + aot_shen_x2e_scan_x2d_body( interp, - "shen.scan-body", - &[__t1141, __t1142], + &[__t1081, __t1082], )? }; - rt::cons(&__t1140, &__t1143) + rt::cons(&__t1080, &__t1083) }; - let __t1145 = Value::nil(); - rt::cons(&__t1144, &__t1145) + let __t1085 = Value::nil(); + rt::cons(&__t1084, &__t1085) }; - rt::cons(&__t1139, &__t1146) + rt::cons(&__t1079, &__t1086) }; - let __t1195 = { - let __t1193 = { - let __t1148 = - Value::sym(interp.intern("if")); - let __t1192 = { - let __t1150 = { - let __t1149 = v_V788.clone(); - rt::hd(&__t1149)? + let __t1135 = { + let __t1133 = { + let __t1088 = + Value::sym(interp.intern_static("if")); + let __t1132 = { + let __t1090 = { + let __t1089 = v_V788.clone(); + rt::hd(&__t1089)? }; - let __t1191 = { - let __t1183 = { - let __t1151 = Value::sym( - interp.intern("let"), + let __t1131 = { + let __t1123 = { + let __t1091 = Value::sym( + interp.intern_static("let"), ); - let __t1182 = { - let __t1152 = + let __t1122 = { + let __t1092 = v_V787.clone(); - let __t1181 = { - let __t1157 = { - let __t1156 = { - let __t1155 = { - let __t1154 = { - let __t1153 = v_V788.clone(); - rt::tl(&__t1153)? + let __t1121 = { + let __t1097 = { + let __t1096 = { + let __t1095 = { + let __t1094 = { + let __t1093 = v_V788.clone(); + rt::tl(&__t1093)? }; - rt::hd(&__t1154)? + rt::hd(&__t1094)? }; rt::tl( - &__t1155, + &__t1095, )? }; - rt::hd(&__t1156)? + rt::hd(&__t1096)? }; - let __t1180 = { - let __t1178 = { - let __t1158 = Value::sym(interp.intern("if")); - let __t1177 = { - let __t1167 = { - let __t1159 = Value::sym(interp.intern("=")); - let __t1166 = { - let __t1160 = v_V787.clone(); - let __t1165 = { let __t1163 = { let __t1161 = Value::sym(interp.intern("fail")); let __t1162 = Value::nil(); rt::cons(&__t1161, &__t1162) }; let __t1164 = Value::nil(); rt::cons(&__t1163, &__t1164) }; - rt::cons(&__t1160, &__t1165) + let __t1120 = { + let __t1118 = { + let __t1098 = Value::sym(interp.intern_static("if")); + let __t1117 = { + let __t1107 = { + let __t1099 = Value::sym(interp.intern_static("=")); + let __t1106 = { + let __t1100 = v_V787.clone(); + let __t1105 = { let __t1103 = { let __t1101 = Value::sym(interp.intern_static("fail")); let __t1102 = Value::nil(); rt::cons(&__t1101, &__t1102) }; let __t1104 = Value::nil(); rt::cons(&__t1103, &__t1104) }; + rt::cons(&__t1100, &__t1105) }; - rt::cons(&__t1159, &__t1166) + rt::cons(&__t1099, &__t1106) }; - let __t1176 = { - let __t1172 = { - let __t1168 = Value::sym(interp.intern("thaw")); - let __t1171 = { let __t1169 = v_V786.clone(); let __t1170 = Value::nil(); rt::cons(&__t1169, &__t1170) }; - rt::cons(&__t1168, &__t1171) + let __t1116 = { + let __t1112 = { + let __t1108 = Value::sym(interp.intern_static("thaw")); + let __t1111 = { let __t1109 = v_V786.clone(); let __t1110 = Value::nil(); rt::cons(&__t1109, &__t1110) }; + rt::cons(&__t1108, &__t1111) }; - let __t1175 = { - let __t1173 = v_V787.clone(); - let __t1174 = Value::nil(); - rt::cons(&__t1173, &__t1174) + let __t1115 = { + let __t1113 = v_V787.clone(); + let __t1114 = Value::nil(); + rt::cons(&__t1113, &__t1114) }; - rt::cons(&__t1172, &__t1175) + rt::cons(&__t1112, &__t1115) }; - rt::cons(&__t1167, &__t1176) + rt::cons(&__t1107, &__t1116) }; rt::cons( - &__t1158, - &__t1177, + &__t1098, + &__t1117, ) }; - let __t1179 = + let __t1119 = Value::nil(); rt::cons( - &__t1178, - &__t1179, + &__t1118, + &__t1119, ) }; rt::cons( - &__t1157, &__t1180, + &__t1097, &__t1120, ) }; - rt::cons(&__t1152, &__t1181) + rt::cons(&__t1092, &__t1121) }; - rt::cons(&__t1151, &__t1182) + rt::cons(&__t1091, &__t1122) }; - let __t1190 = { - let __t1188 = { - let __t1184 = Value::sym( - interp.intern("thaw"), + let __t1130 = { + let __t1128 = { + let __t1124 = Value::sym( + interp.intern_static( + "thaw", + ), ); - let __t1187 = { - let __t1185 = + let __t1127 = { + let __t1125 = v_V786.clone(); - let __t1186 = + let __t1126 = Value::nil(); rt::cons( - &__t1185, &__t1186, + &__t1125, &__t1126, ) }; - rt::cons(&__t1184, &__t1187) + rt::cons(&__t1124, &__t1127) }; - let __t1189 = Value::nil(); - rt::cons(&__t1188, &__t1189) + let __t1129 = Value::nil(); + rt::cons(&__t1128, &__t1129) }; - rt::cons(&__t1183, &__t1190) + rt::cons(&__t1123, &__t1130) }; - rt::cons(&__t1150, &__t1191) + rt::cons(&__t1090, &__t1131) }; - rt::cons(&__t1148, &__t1192) + rt::cons(&__t1088, &__t1132) }; - let __t1194 = Value::nil(); - rt::cons(&__t1193, &__t1194) + let __t1134 = Value::nil(); + rt::cons(&__t1133, &__t1134) }; - rt::cons(&__t1147, &__t1195) + rt::cons(&__t1087, &__t1135) }; - rt::cons(&__t1138, &__t1196) + rt::cons(&__t1078, &__t1136) }; - rt::cons(&__t1137, &__t1197) + rt::cons(&__t1077, &__t1137) }; - let __t1199 = Value::nil(); - rt::cons(&__t1198, &__t1199) + let __t1139 = Value::nil(); + rt::cons(&__t1138, &__t1139) }; - rt::cons(&__t1136, &__t1200) + rt::cons(&__t1076, &__t1140) }; - let __t1202 = Value::nil(); - rt::cons(&__t1201, &__t1202) + let __t1142 = Value::nil(); + rt::cons(&__t1141, &__t1142) }); } else { { - let __t1105 = Value::bool(true); - if match rt::is_truthy(interp, &__t1105) { + let __t1049 = Value::bool(true); + if match rt::is_truthy(interp, &__t1049) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1104 = + let __t1048 = Value::str("implementation error in shen.choicepoint"); - rt::apply_direct(interp, "simple-error", &[__t1104])? + rt::apply_direct(interp, "simple-error", &[__t1048])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6389,89 +6288,84 @@ pub fn aot_shen_x2e_rep_x2d_X(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t1390 = { - let __t1388 = v_V791.clone(); - let __t1389 = v_V793.clone(); - rt::eq(&__t1388, &__t1389) + let __t1322 = { + let __t1320 = v_V791.clone(); + let __t1321 = v_V793.clone(); + rt::eq(&__t1320, &__t1321) }; - if match rt::is_truthy(interp, &__t1390) { + if match rt::is_truthy(interp, &__t1322) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V792.clone()); } else { { - let __t1387 = { - let __t1368 = v_V793.clone(); - rt::is_cons(&__t1368) + let __t1319 = { + let __t1300 = v_V793.clone(); + rt::is_cons(&__t1300) }; - if match rt::is_truthy(interp, &__t1387) { + if match rt::is_truthy(interp, &__t1319) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W794 = { - let __t1369 = v_V791.clone(); - let __t1370 = v_V792.clone(); - let __t1372 = { - let __t1371 = v_V793.clone(); - rt::hd(&__t1371)? + let __t1301 = v_V791.clone(); + let __t1302 = v_V792.clone(); + let __t1304 = { + let __t1303 = v_V793.clone(); + rt::hd(&__t1303)? }; - rt::apply_direct( - interp, - "shen.rep-X", - &[__t1369, __t1370, __t1372], - )? + aot_shen_x2e_rep_x2d_X(interp, &[__t1301, __t1302, __t1304])? }; { - let __t1376 = { - let __t1373 = v_W794.clone(); - let __t1375 = { - let __t1374 = v_V793.clone(); - rt::hd(&__t1374)? + let __t1308 = { + let __t1305 = v_W794.clone(); + let __t1307 = { + let __t1306 = v_V793.clone(); + rt::hd(&__t1306)? }; - rt::eq(&__t1373, &__t1375) + rt::eq(&__t1305, &__t1307) }; - if match rt::is_truthy(interp, &__t1376) { + if match rt::is_truthy(interp, &__t1308) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1378 = { - let __t1377 = v_V793.clone(); - rt::hd(&__t1377)? + let __t1310 = { + let __t1309 = v_V793.clone(); + rt::hd(&__t1309)? }; - let __t1383 = { - let __t1379 = v_V791.clone(); - let __t1380 = v_V792.clone(); - let __t1382 = { - let __t1381 = v_V793.clone(); - rt::tl(&__t1381)? + let __t1315 = { + let __t1311 = v_V791.clone(); + let __t1312 = v_V792.clone(); + let __t1314 = { + let __t1313 = v_V793.clone(); + rt::tl(&__t1313)? }; - rt::apply_direct( + aot_shen_x2e_rep_x2d_X( interp, - "shen.rep-X", - &[__t1379, __t1380, __t1382], + &[__t1311, __t1312, __t1314], )? }; - rt::cons(&__t1378, &__t1383) + rt::cons(&__t1310, &__t1315) }); } else { break Ok({ - let __t1384 = v_W794.clone(); - let __t1386 = { - let __t1385 = v_V793.clone(); - rt::tl(&__t1385)? + let __t1316 = v_W794.clone(); + let __t1318 = { + let __t1317 = v_V793.clone(); + rt::tl(&__t1317)? }; - rt::cons(&__t1384, &__t1386) + rt::cons(&__t1316, &__t1318) }); } } } } else { { - let __t1367 = Value::bool(true); - if match rt::is_truthy(interp, &__t1367) { + let __t1299 = Value::bool(true); + if match rt::is_truthy(interp, &__t1299) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6507,7 +6401,7 @@ pub fn aot_shen_x2e_kl_x2d_body(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { break Ok({ - let __t1398 = { + let __t1330 = { let v_V796 = v_V796.clone(); rt::make_aot_closure( "", @@ -6515,23 +6409,22 @@ pub fn aot_shen_x2e_kl_x2d_body(interp: &mut Interp, args: &[Value]) -> ShenResu move |interp, args| { let v_Z797 = args[0].clone(); Ok({ - let __t1391 = Value::nil(); - let __t1393 = { - let __t1392 = v_Z797.clone(); - rt::apply_direct(interp, "fst", &[__t1392])? - }; - let __t1394 = v_V796.clone(); - let __t1397 = { - let __t1396 = { - let __t1395 = v_Z797.clone(); - rt::apply_direct(interp, "snd", &[__t1395])? + let __t1323 = Value::nil(); + let __t1325 = { + let __t1324 = v_Z797.clone(); + rt::apply_direct(interp, "fst", &[__t1324])? + }; + let __t1326 = v_V796.clone(); + let __t1329 = { + let __t1328 = { + let __t1327 = v_Z797.clone(); + rt::apply_direct(interp, "snd", &[__t1327])? }; - rt::apply_direct(interp, "shen.alpha-convert", &[__t1396])? + aot_shen_x2e_alpha_x2d_convert(interp, &[__t1328])? }; - rt::apply_direct( + aot_shen_x2e_triple_x2d_stack( interp, - "shen.triple-stack", - &[__t1391, __t1393, __t1394, __t1397], + &[__t1323, __t1325, __t1326, __t1329], )? }) }, @@ -6539,8 +6432,8 @@ pub fn aot_shen_x2e_kl_x2d_body(interp: &mut Interp, args: &[Value]) -> ShenResu interp, ) }; - let __t1399 = v_V795.clone(); - rt::apply_direct(interp, "map", &[__t1398, __t1399])? + let __t1331 = v_V795.clone(); + rt::apply_direct(interp, "map", &[__t1330, __t1331])? }); } } @@ -6563,325 +6456,313 @@ pub fn aot_shen_x2e_alpha_x2d_convert(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let __t1500 = { - let __t1480 = { - let __t1460 = v_V798.clone(); - rt::is_cons(&__t1460) + let __t1424 = { + let __t1404 = { + let __t1388 = v_V798.clone(); + rt::is_cons(&__t1388) }; - if !rt::is_truthy(interp, &__t1480)? { + if !rt::is_truthy(interp, &__t1404)? { Value::bool(false) } else { - let __t1481 = { - let __t1478 = { - let __t1461 = Value::sym(interp.intern("lambda")); - let __t1463 = { - let __t1462 = v_V798.clone(); - rt::hd(&__t1462)? - }; - rt::eq(&__t1461, &__t1463) - }; - if !rt::is_truthy(interp, &__t1478)? { + let __t1405 = { + let __t1402 = Value::bool( + ({ + let __t1389 = v_V798.clone(); + rt::hd(&__t1389)? + }) + .as_sym() + == Some(interp.intern_static("lambda")), + ); + if !rt::is_truthy(interp, &__t1402)? { Value::bool(false) } else { - let __t1479 = { - let __t1476 = { - let __t1465 = { - let __t1464 = v_V798.clone(); - rt::tl(&__t1464)? + let __t1403 = { + let __t1400 = { + let __t1391 = { + let __t1390 = v_V798.clone(); + rt::tl(&__t1390)? }; - rt::is_cons(&__t1465) + rt::is_cons(&__t1391) }; - if !rt::is_truthy(interp, &__t1476)? { + if !rt::is_truthy(interp, &__t1400)? { Value::bool(false) } else { - let __t1477 = { - let __t1474 = { - let __t1468 = { - let __t1467 = { - let __t1466 = v_V798.clone(); - rt::tl(&__t1466)? + let __t1401 = { + let __t1398 = { + let __t1394 = { + let __t1393 = { + let __t1392 = v_V798.clone(); + rt::tl(&__t1392)? }; - rt::tl(&__t1467)? + rt::tl(&__t1393)? }; - rt::is_cons(&__t1468) + rt::is_cons(&__t1394) }; - if !rt::is_truthy(interp, &__t1474)? { + if !rt::is_truthy(interp, &__t1398)? { Value::bool(false) } else { - let __t1475 = { - let __t1469 = Value::nil(); - let __t1473 = { - let __t1472 = { - let __t1471 = { - let __t1470 = v_V798.clone(); - rt::tl(&__t1470)? + let __t1399 = Value::bool( + ({ + let __t1397 = { + let __t1396 = { + let __t1395 = v_V798.clone(); + rt::tl(&__t1395)? }; - rt::tl(&__t1471)? + rt::tl(&__t1396)? }; - rt::tl(&__t1472)? - }; - rt::eq(&__t1469, &__t1473) - }; - Value::bool(rt::is_truthy(interp, &__t1475)?) + rt::tl(&__t1397)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1399)?) } }; - Value::bool(rt::is_truthy(interp, &__t1477)?) + Value::bool(rt::is_truthy(interp, &__t1401)?) } }; - Value::bool(rt::is_truthy(interp, &__t1479)?) + Value::bool(rt::is_truthy(interp, &__t1403)?) } }; - Value::bool(rt::is_truthy(interp, &__t1481)?) + Value::bool(rt::is_truthy(interp, &__t1405)?) } }; - if match rt::is_truthy(interp, &__t1500) { + if match rt::is_truthy(interp, &__t1424) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W799 = { - let __t1482 = Value::sym(interp.intern("Z")); - rt::apply_direct(interp, "gensym", &[__t1482])? + let __t1406 = Value::sym(interp.intern_static("Z")); + rt::apply_direct(interp, "gensym", &[__t1406])? }; { let v_W800 = { - let __t1483 = Value::sym(interp.intern("lambda")); - let __t1496 = { - let __t1484 = v_W799.clone(); - let __t1495 = { - let __t1493 = { - let __t1487 = { - let __t1486 = { - let __t1485 = v_V798.clone(); - rt::tl(&__t1485)? + let __t1407 = Value::sym(interp.intern_static("lambda")); + let __t1420 = { + let __t1408 = v_W799.clone(); + let __t1419 = { + let __t1417 = { + let __t1411 = { + let __t1410 = { + let __t1409 = v_V798.clone(); + rt::tl(&__t1409)? }; - rt::hd(&__t1486)? + rt::hd(&__t1410)? }; - let __t1488 = v_W799.clone(); - let __t1492 = { - let __t1491 = { - let __t1490 = { - let __t1489 = v_V798.clone(); - rt::tl(&__t1489)? + let __t1412 = v_W799.clone(); + let __t1416 = { + let __t1415 = { + let __t1414 = { + let __t1413 = v_V798.clone(); + rt::tl(&__t1413)? }; - rt::tl(&__t1490)? + rt::tl(&__t1414)? }; - rt::hd(&__t1491)? + rt::hd(&__t1415)? }; - rt::apply_direct( - interp, - "shen.beta", - &[__t1487, __t1488, __t1492], - )? + aot_shen_x2e_beta(interp, &[__t1411, __t1412, __t1416])? }; - let __t1494 = Value::nil(); - rt::cons(&__t1493, &__t1494) + let __t1418 = Value::nil(); + rt::cons(&__t1417, &__t1418) }; - rt::cons(&__t1484, &__t1495) + rt::cons(&__t1408, &__t1419) }; - rt::cons(&__t1483, &__t1496) + rt::cons(&__t1407, &__t1420) }; break Ok({ - let __t1498 = { + let __t1422 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z801 = args[0].clone(); Ok({ - let __t1497 = v_Z801.clone(); - rt::apply_direct( - interp, - "shen.alpha-convert", - &[__t1497], - )? + let __t1421 = v_Z801.clone(); + aot_shen_x2e_alpha_x2d_convert(interp, &[__t1421])? }) }, Vec::new(), interp, ) }; - let __t1499 = v_W800.clone(); - rt::apply_direct(interp, "map", &[__t1498, __t1499])? + let __t1423 = v_W800.clone(); + rt::apply_direct(interp, "map", &[__t1422, __t1423])? }); } } } else { { - let __t1459 = { - let __t1433 = { - let __t1406 = v_V798.clone(); - rt::is_cons(&__t1406) + let __t1387 = { + let __t1361 = { + let __t1338 = v_V798.clone(); + rt::is_cons(&__t1338) }; - if !rt::is_truthy(interp, &__t1433)? { + if !rt::is_truthy(interp, &__t1361)? { Value::bool(false) } else { - let __t1434 = { - let __t1431 = { - let __t1407 = Value::sym(interp.intern("let")); - let __t1409 = { - let __t1408 = v_V798.clone(); - rt::hd(&__t1408)? - }; - rt::eq(&__t1407, &__t1409) - }; - if !rt::is_truthy(interp, &__t1431)? { + let __t1362 = { + let __t1359 = Value::bool( + ({ + let __t1339 = v_V798.clone(); + rt::hd(&__t1339)? + }) + .as_sym() + == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t1359)? { Value::bool(false) } else { - let __t1432 = { - let __t1429 = { - let __t1411 = { - let __t1410 = v_V798.clone(); - rt::tl(&__t1410)? + let __t1360 = { + let __t1357 = { + let __t1341 = { + let __t1340 = v_V798.clone(); + rt::tl(&__t1340)? }; - rt::is_cons(&__t1411) + rt::is_cons(&__t1341) }; - if !rt::is_truthy(interp, &__t1429)? { + if !rt::is_truthy(interp, &__t1357)? { Value::bool(false) } else { - let __t1430 = { - let __t1427 = { - let __t1414 = { - let __t1413 = { - let __t1412 = v_V798.clone(); - rt::tl(&__t1412)? + let __t1358 = { + let __t1355 = { + let __t1344 = { + let __t1343 = { + let __t1342 = v_V798.clone(); + rt::tl(&__t1342)? }; - rt::tl(&__t1413)? + rt::tl(&__t1343)? }; - rt::is_cons(&__t1414) + rt::is_cons(&__t1344) }; - if !rt::is_truthy(interp, &__t1427)? { + if !rt::is_truthy(interp, &__t1355)? { Value::bool(false) } else { - let __t1428 = { - let __t1425 = { - let __t1418 = { - let __t1417 = { - let __t1416 = { - let __t1415 = + let __t1356 = { + let __t1353 = { + let __t1348 = { + let __t1347 = { + let __t1346 = { + let __t1345 = v_V798.clone(); - rt::tl(&__t1415)? + rt::tl(&__t1345)? }; - rt::tl(&__t1416)? + rt::tl(&__t1346)? }; - rt::tl(&__t1417)? + rt::tl(&__t1347)? }; - rt::is_cons(&__t1418) + rt::is_cons(&__t1348) }; - if !rt::is_truthy(interp, &__t1425)? { + if !rt::is_truthy(interp, &__t1353)? { Value::bool(false) } else { - let __t1426 = { - let __t1419 = Value::nil(); - let __t1424 = { - let __t1423 = { - let __t1422 = { - let __t1421 = { - let __t1420 = + let __t1354 = Value::bool( + ({ + let __t1352 = { + let __t1351 = { + let __t1350 = { + let __t1349 = v_V798.clone(); - rt::tl(&__t1420)? + rt::tl(&__t1349)? }; - rt::tl(&__t1421)? + rt::tl(&__t1350)? }; - rt::tl(&__t1422)? + rt::tl(&__t1351)? }; - rt::tl(&__t1423)? - }; - rt::eq(&__t1419, &__t1424) - }; + rt::tl(&__t1352)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1426, + interp, &__t1354, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1428)?) + Value::bool(rt::is_truthy(interp, &__t1356)?) } }; - Value::bool(rt::is_truthy(interp, &__t1430)?) + Value::bool(rt::is_truthy(interp, &__t1358)?) } }; - Value::bool(rt::is_truthy(interp, &__t1432)?) + Value::bool(rt::is_truthy(interp, &__t1360)?) } }; - Value::bool(rt::is_truthy(interp, &__t1434)?) + Value::bool(rt::is_truthy(interp, &__t1362)?) } }; - if match rt::is_truthy(interp, &__t1459) { + if match rt::is_truthy(interp, &__t1387) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W802 = { - let __t1435 = Value::sym(interp.intern("W")); - rt::apply_direct(interp, "gensym", &[__t1435])? + let __t1363 = Value::sym(interp.intern_static("W")); + rt::apply_direct(interp, "gensym", &[__t1363])? }; { let v_W803 = { - let __t1436 = Value::sym(interp.intern("let")); - let __t1455 = { - let __t1437 = v_W802.clone(); - let __t1454 = { - let __t1441 = { - let __t1440 = { - let __t1439 = { - let __t1438 = v_V798.clone(); - rt::tl(&__t1438)? + let __t1364 = Value::sym(interp.intern_static("let")); + let __t1383 = { + let __t1365 = v_W802.clone(); + let __t1382 = { + let __t1369 = { + let __t1368 = { + let __t1367 = { + let __t1366 = v_V798.clone(); + rt::tl(&__t1366)? }; - rt::tl(&__t1439)? + rt::tl(&__t1367)? }; - rt::hd(&__t1440)? + rt::hd(&__t1368)? }; - let __t1453 = { - let __t1451 = { - let __t1444 = { - let __t1443 = { - let __t1442 = v_V798.clone(); - rt::tl(&__t1442)? + let __t1381 = { + let __t1379 = { + let __t1372 = { + let __t1371 = { + let __t1370 = v_V798.clone(); + rt::tl(&__t1370)? }; - rt::hd(&__t1443)? + rt::hd(&__t1371)? }; - let __t1445 = v_W802.clone(); - let __t1450 = { - let __t1449 = { - let __t1448 = { - let __t1447 = { - let __t1446 = v_V798.clone(); - rt::tl(&__t1446)? + let __t1373 = v_W802.clone(); + let __t1378 = { + let __t1377 = { + let __t1376 = { + let __t1375 = { + let __t1374 = v_V798.clone(); + rt::tl(&__t1374)? }; - rt::tl(&__t1447)? + rt::tl(&__t1375)? }; - rt::tl(&__t1448)? + rt::tl(&__t1376)? }; - rt::hd(&__t1449)? + rt::hd(&__t1377)? }; - rt::apply_direct( + aot_shen_x2e_beta( interp, - "shen.beta", - &[__t1444, __t1445, __t1450], + &[__t1372, __t1373, __t1378], )? }; - let __t1452 = Value::nil(); - rt::cons(&__t1451, &__t1452) + let __t1380 = Value::nil(); + rt::cons(&__t1379, &__t1380) }; - rt::cons(&__t1441, &__t1453) + rt::cons(&__t1369, &__t1381) }; - rt::cons(&__t1437, &__t1454) + rt::cons(&__t1365, &__t1382) }; - rt::cons(&__t1436, &__t1455) + rt::cons(&__t1364, &__t1383) }; break Ok({ - let __t1457 = { + let __t1385 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z804 = args[0].clone(); Ok({ - let __t1456 = v_Z804.clone(); - rt::apply_direct( + let __t1384 = v_Z804.clone(); + aot_shen_x2e_alpha_x2d_convert( interp, - "shen.alpha-convert", - &[__t1456], + &[__t1384], )? }) }, @@ -6889,34 +6770,33 @@ pub fn aot_shen_x2e_alpha_x2d_convert(interp: &mut Interp, args: &[Value]) -> Sh interp, ) }; - let __t1458 = v_W803.clone(); - rt::apply_direct(interp, "map", &[__t1457, __t1458])? + let __t1386 = v_W803.clone(); + rt::apply_direct(interp, "map", &[__t1385, __t1386])? }); } } } else { { - let __t1405 = { - let __t1401 = v_V798.clone(); - rt::is_cons(&__t1401) + let __t1337 = { + let __t1333 = v_V798.clone(); + rt::is_cons(&__t1333) }; - if match rt::is_truthy(interp, &__t1405) { + if match rt::is_truthy(interp, &__t1337) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1403 = { + let __t1335 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z805 = args[0].clone(); Ok({ - let __t1402 = v_Z805.clone(); - rt::apply_direct( + let __t1334 = v_Z805.clone(); + aot_shen_x2e_alpha_x2d_convert( interp, - "shen.alpha-convert", - &[__t1402], + &[__t1334], )? }) }, @@ -6924,13 +6804,13 @@ pub fn aot_shen_x2e_alpha_x2d_convert(interp: &mut Interp, args: &[Value]) -> Sh interp, ) }; - let __t1404 = v_V798.clone(); - rt::apply_direct(interp, "map", &[__t1403, __t1404])? + let __t1336 = v_V798.clone(); + rt::apply_direct(interp, "map", &[__t1335, __t1336])? }); } else { { - let __t1400 = Value::bool(true); - if match rt::is_truthy(interp, &__t1400) { + let __t1332 = Value::bool(true); + if match rt::is_truthy(interp, &__t1332) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6972,580 +6852,529 @@ pub fn aot_shen_x2e_triple_x2d_stack(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1678 = { - let __t1665 = { - let __t1637 = Value::nil(); - let __t1638 = v_V815.clone(); - rt::eq(&__t1637, &__t1638) - }; - if !rt::is_truthy(interp, &__t1665)? { + let __t1588 = { + let __t1575 = Value::bool((v_V815.clone()).is_nil()); + if !rt::is_truthy(interp, &__t1575)? { Value::bool(false) } else { - let __t1666 = { - let __t1663 = { - let __t1639 = Value::nil(); - let __t1640 = v_V816.clone(); - rt::eq(&__t1639, &__t1640) - }; - if !rt::is_truthy(interp, &__t1663)? { + let __t1576 = { + let __t1573 = Value::bool((v_V816.clone()).is_nil()); + if !rt::is_truthy(interp, &__t1573)? { Value::bool(false) } else { - let __t1664 = { - let __t1661 = { - let __t1641 = v_V817.clone(); - rt::is_cons(&__t1641) + let __t1574 = { + let __t1571 = { + let __t1555 = v_V817.clone(); + rt::is_cons(&__t1555) }; - if !rt::is_truthy(interp, &__t1661)? { + if !rt::is_truthy(interp, &__t1571)? { Value::bool(false) } else { - let __t1662 = { - let __t1659 = { - let __t1642 = Value::sym(interp.intern("where")); - let __t1644 = { - let __t1643 = v_V817.clone(); - rt::hd(&__t1643)? - }; - rt::eq(&__t1642, &__t1644) - }; - if !rt::is_truthy(interp, &__t1659)? { + let __t1572 = { + let __t1569 = Value::bool( + ({ + let __t1556 = v_V817.clone(); + rt::hd(&__t1556)? + }) + .as_sym() + == Some(interp.intern_static("where")), + ); + if !rt::is_truthy(interp, &__t1569)? { Value::bool(false) } else { - let __t1660 = { - let __t1657 = { - let __t1646 = { - let __t1645 = v_V817.clone(); - rt::tl(&__t1645)? + let __t1570 = { + let __t1567 = { + let __t1558 = { + let __t1557 = v_V817.clone(); + rt::tl(&__t1557)? }; - rt::is_cons(&__t1646) + rt::is_cons(&__t1558) }; - if !rt::is_truthy(interp, &__t1657)? { + if !rt::is_truthy(interp, &__t1567)? { Value::bool(false) } else { - let __t1658 = { - let __t1655 = { - let __t1649 = { - let __t1648 = { - let __t1647 = v_V817.clone(); - rt::tl(&__t1647)? + let __t1568 = { + let __t1565 = { + let __t1561 = { + let __t1560 = { + let __t1559 = v_V817.clone(); + rt::tl(&__t1559)? }; - rt::tl(&__t1648)? + rt::tl(&__t1560)? }; - rt::is_cons(&__t1649) + rt::is_cons(&__t1561) }; - if !rt::is_truthy(interp, &__t1655)? { + if !rt::is_truthy(interp, &__t1565)? { Value::bool(false) } else { - let __t1656 = { - let __t1650 = Value::nil(); - let __t1654 = { - let __t1653 = { - let __t1652 = { - let __t1651 = + let __t1566 = Value::bool( + ({ + let __t1564 = { + let __t1563 = { + let __t1562 = v_V817.clone(); - rt::tl(&__t1651)? + rt::tl(&__t1562)? }; - rt::tl(&__t1652)? + rt::tl(&__t1563)? }; - rt::tl(&__t1653)? - }; - rt::eq(&__t1650, &__t1654) - }; + rt::tl(&__t1564)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1656, + interp, &__t1566, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1658)?) + Value::bool(rt::is_truthy(interp, &__t1568)?) } }; - Value::bool(rt::is_truthy(interp, &__t1660)?) + Value::bool(rt::is_truthy(interp, &__t1570)?) } }; - Value::bool(rt::is_truthy(interp, &__t1662)?) + Value::bool(rt::is_truthy(interp, &__t1572)?) } }; - Value::bool(rt::is_truthy(interp, &__t1664)?) + Value::bool(rt::is_truthy(interp, &__t1574)?) } }; - Value::bool(rt::is_truthy(interp, &__t1666)?) + Value::bool(rt::is_truthy(interp, &__t1576)?) } }; - if match rt::is_truthy(interp, &__t1678) { + if match rt::is_truthy(interp, &__t1588) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1671 = { - let __t1669 = { - let __t1668 = { - let __t1667 = v_V817.clone(); - rt::tl(&__t1667)? + let __t1581 = { + let __t1579 = { + let __t1578 = { + let __t1577 = v_V817.clone(); + rt::tl(&__t1577)? }; - rt::hd(&__t1668)? + rt::hd(&__t1578)? }; - let __t1670 = v_V814.clone(); - rt::cons(&__t1669, &__t1670) + let __t1580 = v_V814.clone(); + rt::cons(&__t1579, &__t1580) }; - let __t1672 = Value::nil(); - let __t1673 = Value::nil(); - let __t1677 = { - let __t1676 = { - let __t1675 = { - let __t1674 = v_V817.clone(); - rt::tl(&__t1674)? - }; - rt::tl(&__t1675)? + let __t1582 = Value::nil(); + let __t1583 = Value::nil(); + let __t1587 = { + let __t1586 = { + let __t1585 = { + let __t1584 = v_V817.clone(); + rt::tl(&__t1584)? + }; + rt::tl(&__t1585)? }; - rt::hd(&__t1676)? + rt::hd(&__t1586)? }; - v_V814 = __t1671; - v_V815 = __t1672; - v_V816 = __t1673; - v_V817 = __t1677; + v_V814 = __t1581; + v_V815 = __t1582; + v_V816 = __t1583; + v_V817 = __t1587; continue; } } else { { - let __t1636 = { - let __t1628 = { - let __t1624 = Value::nil(); - let __t1625 = v_V815.clone(); - rt::eq(&__t1624, &__t1625) - }; - if !rt::is_truthy(interp, &__t1628)? { + let __t1554 = { + let __t1546 = Value::bool((v_V815.clone()).is_nil()); + if !rt::is_truthy(interp, &__t1546)? { Value::bool(false) } else { - let __t1629 = { - let __t1626 = Value::nil(); - let __t1627 = v_V816.clone(); - rt::eq(&__t1626, &__t1627) - }; - Value::bool(rt::is_truthy(interp, &__t1629)?) + let __t1547 = Value::bool((v_V816.clone()).is_nil()); + Value::bool(rt::is_truthy(interp, &__t1547)?) } }; - if match rt::is_truthy(interp, &__t1636) { + if match rt::is_truthy(interp, &__t1554) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1632 = { - let __t1631 = { - let __t1630 = v_V814.clone(); - rt::apply_direct(interp, "reverse", &[__t1630])? + let __t1550 = { + let __t1549 = { + let __t1548 = v_V814.clone(); + rt::apply_direct(interp, "reverse", &[__t1548])? }; - rt::apply_direct(interp, "shen.rectify-test", &[__t1631])? + aot_shen_x2e_rectify_x2d_test(interp, &[__t1549])? }; - let __t1635 = { - let __t1633 = v_V817.clone(); - let __t1634 = Value::nil(); - rt::cons(&__t1633, &__t1634) + let __t1553 = { + let __t1551 = v_V817.clone(); + let __t1552 = Value::nil(); + rt::cons(&__t1551, &__t1552) }; - rt::cons(&__t1632, &__t1635) + rt::cons(&__t1550, &__t1553) }); } else { { - let __t1623 = { - let __t1610 = { - let __t1604 = v_V815.clone(); - rt::is_cons(&__t1604) + let __t1545 = { + let __t1532 = { + let __t1526 = v_V815.clone(); + rt::is_cons(&__t1526) }; - if !rt::is_truthy(interp, &__t1610)? { + if !rt::is_truthy(interp, &__t1532)? { Value::bool(false) } else { - let __t1611 = { - let __t1608 = { - let __t1605 = v_V816.clone(); - rt::is_cons(&__t1605) + let __t1533 = { + let __t1530 = { + let __t1527 = v_V816.clone(); + rt::is_cons(&__t1527) }; - if !rt::is_truthy(interp, &__t1608)? { + if !rt::is_truthy(interp, &__t1530)? { Value::bool(false) } else { - let __t1609 = { - let __t1607 = { - let __t1606 = v_V815.clone(); - rt::hd(&__t1606)? + let __t1531 = { + let __t1529 = { + let __t1528 = v_V815.clone(); + rt::hd(&__t1528)? }; - rt::apply_direct(interp, "variable?", &[__t1607])? + rt::apply_direct(interp, "variable?", &[__t1529])? }; - Value::bool(rt::is_truthy(interp, &__t1609)?) + Value::bool(rt::is_truthy(interp, &__t1531)?) } }; - Value::bool(rt::is_truthy(interp, &__t1611)?) + Value::bool(rt::is_truthy(interp, &__t1533)?) } }; - if match rt::is_truthy(interp, &__t1623) { + if match rt::is_truthy(interp, &__t1545) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1612 = v_V814.clone(); - let __t1614 = { - let __t1613 = v_V815.clone(); - rt::tl(&__t1613)? + let __t1534 = v_V814.clone(); + let __t1536 = { + let __t1535 = v_V815.clone(); + rt::tl(&__t1535)? }; - let __t1616 = { - let __t1615 = v_V816.clone(); - rt::tl(&__t1615)? + let __t1538 = { + let __t1537 = v_V816.clone(); + rt::tl(&__t1537)? }; - let __t1622 = { - let __t1618 = { - let __t1617 = v_V815.clone(); - rt::hd(&__t1617)? + let __t1544 = { + let __t1540 = { + let __t1539 = v_V815.clone(); + rt::hd(&__t1539)? }; - let __t1620 = { - let __t1619 = v_V816.clone(); - rt::hd(&__t1619)? + let __t1542 = { + let __t1541 = v_V816.clone(); + rt::hd(&__t1541)? }; - let __t1621 = v_V817.clone(); - rt::apply_direct( - interp, - "shen.beta", - &[__t1618, __t1620, __t1621], - )? + let __t1543 = v_V817.clone(); + aot_shen_x2e_beta(interp, &[__t1540, __t1542, __t1543])? }; - v_V814 = __t1612; - v_V815 = __t1614; - v_V816 = __t1616; - v_V817 = __t1622; + v_V814 = __t1534; + v_V815 = __t1536; + v_V816 = __t1538; + v_V817 = __t1544; continue; } } else { { - let __t1603 = { - let __t1549 = { - let __t1524 = v_V815.clone(); - rt::is_cons(&__t1524) + let __t1525 = { + let __t1471 = { + let __t1448 = v_V815.clone(); + rt::is_cons(&__t1448) }; - if !rt::is_truthy(interp, &__t1549)? { + if !rt::is_truthy(interp, &__t1471)? { Value::bool(false) } else { - let __t1550 = { - let __t1547 = { - let __t1526 = { - let __t1525 = v_V815.clone(); - rt::hd(&__t1525)? + let __t1472 = { + let __t1469 = { + let __t1450 = { + let __t1449 = v_V815.clone(); + rt::hd(&__t1449)? }; - rt::is_cons(&__t1526) + rt::is_cons(&__t1450) }; - if !rt::is_truthy(interp, &__t1547)? { + if !rt::is_truthy(interp, &__t1469)? { Value::bool(false) } else { - let __t1548 = { - let __t1545 = { - let __t1529 = { - let __t1528 = { - let __t1527 = v_V815.clone(); - rt::hd(&__t1527)? + let __t1470 = { + let __t1467 = { + let __t1453 = { + let __t1452 = { + let __t1451 = v_V815.clone(); + rt::hd(&__t1451)? }; - rt::tl(&__t1528)? + rt::tl(&__t1452)? }; - rt::is_cons(&__t1529) + rt::is_cons(&__t1453) }; - if !rt::is_truthy(interp, &__t1545)? { + if !rt::is_truthy(interp, &__t1467)? { Value::bool(false) } else { - let __t1546 = { - let __t1543 = { - let __t1533 = { - let __t1532 = { - let __t1531 = { - let __t1530 = + let __t1468 = { + let __t1465 = { + let __t1457 = { + let __t1456 = { + let __t1455 = { + let __t1454 = v_V815.clone(); - rt::hd(&__t1530)? + rt::hd(&__t1454)? }; - rt::tl(&__t1531)? + rt::tl(&__t1455)? }; - rt::tl(&__t1532)? + rt::tl(&__t1456)? }; - rt::is_cons(&__t1533) + rt::is_cons(&__t1457) }; - if !rt::is_truthy(interp, &__t1543)? + if !rt::is_truthy(interp, &__t1465)? { Value::bool(false) } else { - let __t1544 = { - let __t1541 = { - let __t1534 = - Value::nil(); - let __t1539 = { - let __t1538 = { - let __t1537 = { - let __t1536 = { - let __t1535 = v_V815.clone(); - rt::hd(&__t1535)? - }; - rt::tl(&__t1536)? - }; - rt::tl( - &__t1537, - )? - }; - rt::tl(&__t1538)? - }; - rt::eq( - &__t1534, &__t1539, - ) - }; + let __t1466 = { + let __t1463 = Value::bool(({ let __t1461 = { let __t1460 = { let __t1459 = { let __t1458 = v_V815.clone(); rt::hd(&__t1458)? }; rt::tl(&__t1459)? }; rt::tl(&__t1460)? }; rt::tl(&__t1461)? }).is_nil()); if !rt::is_truthy( - interp, &__t1541, + interp, &__t1463, )? { Value::bool(false) } else { - let __t1542 = { - let __t1540 = + let __t1464 = { + let __t1462 = v_V816.clone(); rt::is_cons( - &__t1540, + &__t1462, ) }; Value::bool( rt::is_truthy( interp, - &__t1542, + &__t1464, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t1544, + interp, &__t1466, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1546, + interp, &__t1468, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1548)?) + Value::bool(rt::is_truthy(interp, &__t1470)?) } }; - Value::bool(rt::is_truthy(interp, &__t1550)?) + Value::bool(rt::is_truthy(interp, &__t1472)?) } }; - if match rt::is_truthy(interp, &__t1603) { + if match rt::is_truthy(interp, &__t1525) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1561 = { - let __t1559 = { - let __t1554 = { - let __t1553 = { - let __t1552 = { - let __t1551 = v_V815.clone(); - rt::hd(&__t1551)? + let __t1483 = { + let __t1481 = { + let __t1476 = { + let __t1475 = { + let __t1474 = { + let __t1473 = v_V815.clone(); + rt::hd(&__t1473)? }; - rt::hd(&__t1552)? + rt::hd(&__t1474)? }; - rt::apply_direct( + aot_shen_x2e_op_x2d_test( interp, - "shen.op-test", - &[__t1553], + &[__t1475], )? }; - let __t1558 = { - let __t1556 = { - let __t1555 = v_V816.clone(); - rt::hd(&__t1555)? + let __t1480 = { + let __t1478 = { + let __t1477 = v_V816.clone(); + rt::hd(&__t1477)? }; - let __t1557 = Value::nil(); - rt::cons(&__t1556, &__t1557) + let __t1479 = Value::nil(); + rt::cons(&__t1478, &__t1479) }; - rt::cons(&__t1554, &__t1558) + rt::cons(&__t1476, &__t1480) }; - let __t1560 = v_V814.clone(); - rt::cons(&__t1559, &__t1560) + let __t1482 = v_V814.clone(); + rt::cons(&__t1481, &__t1482) }; - let __t1574 = { - let __t1565 = { - let __t1564 = { - let __t1563 = { - let __t1562 = v_V815.clone(); - rt::hd(&__t1562)? + let __t1496 = { + let __t1487 = { + let __t1486 = { + let __t1485 = { + let __t1484 = v_V815.clone(); + rt::hd(&__t1484)? }; - rt::tl(&__t1563)? + rt::tl(&__t1485)? }; - rt::hd(&__t1564)? + rt::hd(&__t1486)? }; - let __t1573 = { - let __t1570 = { - let __t1569 = { - let __t1568 = { - let __t1567 = { - let __t1566 = v_V815.clone(); - rt::hd(&__t1566)? + let __t1495 = { + let __t1492 = { + let __t1491 = { + let __t1490 = { + let __t1489 = { + let __t1488 = v_V815.clone(); + rt::hd(&__t1488)? }; - rt::tl(&__t1567)? + rt::tl(&__t1489)? }; - rt::tl(&__t1568)? + rt::tl(&__t1490)? }; - rt::hd(&__t1569)? + rt::hd(&__t1491)? }; - let __t1572 = { - let __t1571 = v_V815.clone(); - rt::tl(&__t1571)? + let __t1494 = { + let __t1493 = v_V815.clone(); + rt::tl(&__t1493)? }; - rt::cons(&__t1570, &__t1572) + rt::cons(&__t1492, &__t1494) }; - rt::cons(&__t1565, &__t1573) + rt::cons(&__t1487, &__t1495) }; - let __t1596 = { - let __t1583 = { - let __t1578 = { - let __t1577 = { - let __t1576 = { - let __t1575 = v_V815.clone(); - rt::hd(&__t1575)? + let __t1518 = { + let __t1505 = { + let __t1500 = { + let __t1499 = { + let __t1498 = { + let __t1497 = v_V815.clone(); + rt::hd(&__t1497)? }; - rt::hd(&__t1576)? + rt::hd(&__t1498)? }; - rt::apply_direct( - interp, - "shen.op1", - &[__t1577], - )? + aot_shen_x2e_op1(interp, &[__t1499])? }; - let __t1582 = { - let __t1580 = { - let __t1579 = v_V816.clone(); - rt::hd(&__t1579)? + let __t1504 = { + let __t1502 = { + let __t1501 = v_V816.clone(); + rt::hd(&__t1501)? }; - let __t1581 = Value::nil(); - rt::cons(&__t1580, &__t1581) + let __t1503 = Value::nil(); + rt::cons(&__t1502, &__t1503) }; - rt::cons(&__t1578, &__t1582) + rt::cons(&__t1500, &__t1504) }; - let __t1595 = { - let __t1592 = { - let __t1587 = { - let __t1586 = { - let __t1585 = { - let __t1584 = v_V815.clone(); - rt::hd(&__t1584)? + let __t1517 = { + let __t1514 = { + let __t1509 = { + let __t1508 = { + let __t1507 = { + let __t1506 = v_V815.clone(); + rt::hd(&__t1506)? }; - rt::hd(&__t1585)? + rt::hd(&__t1507)? }; - rt::apply_direct( - interp, - "shen.op2", - &[__t1586], - )? + aot_shen_x2e_op2(interp, &[__t1508])? }; - let __t1591 = { - let __t1589 = { - let __t1588 = v_V816.clone(); - rt::hd(&__t1588)? + let __t1513 = { + let __t1511 = { + let __t1510 = v_V816.clone(); + rt::hd(&__t1510)? }; - let __t1590 = Value::nil(); - rt::cons(&__t1589, &__t1590) + let __t1512 = Value::nil(); + rt::cons(&__t1511, &__t1512) }; - rt::cons(&__t1587, &__t1591) + rt::cons(&__t1509, &__t1513) }; - let __t1594 = { - let __t1593 = v_V816.clone(); - rt::tl(&__t1593)? + let __t1516 = { + let __t1515 = v_V816.clone(); + rt::tl(&__t1515)? }; - rt::cons(&__t1592, &__t1594) + rt::cons(&__t1514, &__t1516) }; - rt::cons(&__t1583, &__t1595) + rt::cons(&__t1505, &__t1517) }; - let __t1602 = { - let __t1598 = { - let __t1597 = v_V815.clone(); - rt::hd(&__t1597)? + let __t1524 = { + let __t1520 = { + let __t1519 = v_V815.clone(); + rt::hd(&__t1519)? }; - let __t1600 = { - let __t1599 = v_V816.clone(); - rt::hd(&__t1599)? + let __t1522 = { + let __t1521 = v_V816.clone(); + rt::hd(&__t1521)? }; - let __t1601 = v_V817.clone(); - rt::apply_direct( + let __t1523 = v_V817.clone(); + aot_shen_x2e_beta( interp, - "shen.beta", - &[__t1598, __t1600, __t1601], + &[__t1520, __t1522, __t1523], )? }; - v_V814 = __t1561; - v_V815 = __t1574; - v_V816 = __t1596; - v_V817 = __t1602; + v_V814 = __t1483; + v_V815 = __t1496; + v_V816 = __t1518; + v_V817 = __t1524; continue; } } else { { - let __t1523 = { - let __t1505 = { - let __t1503 = v_V815.clone(); - rt::is_cons(&__t1503) + let __t1447 = { + let __t1429 = { + let __t1427 = v_V815.clone(); + rt::is_cons(&__t1427) }; - if !rt::is_truthy(interp, &__t1505)? { + if !rt::is_truthy(interp, &__t1429)? { Value::bool(false) } else { - let __t1506 = { - let __t1504 = v_V816.clone(); - rt::is_cons(&__t1504) + let __t1430 = { + let __t1428 = v_V816.clone(); + rt::is_cons(&__t1428) }; - Value::bool(rt::is_truthy(interp, &__t1506)?) + Value::bool(rt::is_truthy(interp, &__t1430)?) } }; - if match rt::is_truthy(interp, &__t1523) { + if match rt::is_truthy(interp, &__t1447) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1517 = { - let __t1515 = { - let __t1507 = - Value::sym(interp.intern("=")); - let __t1514 = { - let __t1509 = { - let __t1508 = v_V815.clone(); - rt::hd(&__t1508)? + let __t1441 = { + let __t1439 = { + let __t1431 = Value::sym( + interp.intern_static("="), + ); + let __t1438 = { + let __t1433 = { + let __t1432 = v_V815.clone(); + rt::hd(&__t1432)? }; - let __t1513 = { - let __t1511 = { - let __t1510 = + let __t1437 = { + let __t1435 = { + let __t1434 = v_V816.clone(); - rt::hd(&__t1510)? + rt::hd(&__t1434)? }; - let __t1512 = Value::nil(); - rt::cons(&__t1511, &__t1512) + let __t1436 = Value::nil(); + rt::cons(&__t1435, &__t1436) }; - rt::cons(&__t1509, &__t1513) + rt::cons(&__t1433, &__t1437) }; - rt::cons(&__t1507, &__t1514) + rt::cons(&__t1431, &__t1438) }; - let __t1516 = v_V814.clone(); - rt::cons(&__t1515, &__t1516) + let __t1440 = v_V814.clone(); + rt::cons(&__t1439, &__t1440) }; - let __t1519 = { - let __t1518 = v_V815.clone(); - rt::tl(&__t1518)? + let __t1443 = { + let __t1442 = v_V815.clone(); + rt::tl(&__t1442)? }; - let __t1521 = { - let __t1520 = v_V816.clone(); - rt::tl(&__t1520)? + let __t1445 = { + let __t1444 = v_V816.clone(); + rt::tl(&__t1444)? }; - let __t1522 = v_V817.clone(); - v_V814 = __t1517; - v_V815 = __t1519; - v_V816 = __t1521; - v_V817 = __t1522; + let __t1446 = v_V817.clone(); + v_V814 = __t1441; + v_V815 = __t1443; + v_V816 = __t1445; + v_V817 = __t1446; continue; } } else { { - let __t1502 = Value::bool(true); - if match rt::is_truthy(interp, &__t1502) { + let __t1426 = Value::bool(true); + if match rt::is_truthy(interp, &__t1426) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1501 = Value::str("implementation error in shen.triple-stack"); + let __t1425 = Value::str("implementation error in shen.triple-stack"); rt::apply_direct( interp, "simple-error", - &[__t1501], + &[__t1425], )? }); } else { @@ -7585,107 +7414,98 @@ pub fn aot_shen_x2e_rectify_x2d_test(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1706 = { - let __t1704 = Value::nil(); - let __t1705 = v_V820.clone(); - rt::eq(&__t1704, &__t1705) - }; - if match rt::is_truthy(interp, &__t1706) { + let __t1612 = Value::bool((v_V820.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1612) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1703 = { - let __t1700 = { - let __t1696 = v_V820.clone(); - rt::is_cons(&__t1696) + let __t1611 = { + let __t1608 = { + let __t1606 = v_V820.clone(); + rt::is_cons(&__t1606) }; - if !rt::is_truthy(interp, &__t1700)? { + if !rt::is_truthy(interp, &__t1608)? { Value::bool(false) } else { - let __t1701 = { - let __t1697 = Value::nil(); - let __t1699 = { - let __t1698 = v_V820.clone(); - rt::tl(&__t1698)? - }; - rt::eq(&__t1697, &__t1699) - }; - Value::bool(rt::is_truthy(interp, &__t1701)?) + let __t1609 = Value::bool( + ({ + let __t1607 = v_V820.clone(); + rt::tl(&__t1607)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1609)?) } }; - if match rt::is_truthy(interp, &__t1703) { + if match rt::is_truthy(interp, &__t1611) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1702 = v_V820.clone(); - rt::hd(&__t1702)? + let __t1610 = v_V820.clone(); + rt::hd(&__t1610)? }); } else { { - let __t1695 = { - let __t1684 = { - let __t1681 = v_V820.clone(); - rt::is_cons(&__t1681) + let __t1605 = { + let __t1594 = { + let __t1591 = v_V820.clone(); + rt::is_cons(&__t1591) }; - if !rt::is_truthy(interp, &__t1684)? { + if !rt::is_truthy(interp, &__t1594)? { Value::bool(false) } else { - let __t1685 = { - let __t1683 = { - let __t1682 = v_V820.clone(); - rt::tl(&__t1682)? + let __t1595 = { + let __t1593 = { + let __t1592 = v_V820.clone(); + rt::tl(&__t1592)? }; - rt::is_cons(&__t1683) + rt::is_cons(&__t1593) }; - Value::bool(rt::is_truthy(interp, &__t1685)?) + Value::bool(rt::is_truthy(interp, &__t1595)?) } }; - if match rt::is_truthy(interp, &__t1695) { + if match rt::is_truthy(interp, &__t1605) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1686 = Value::sym(interp.intern("and")); - let __t1694 = { - let __t1688 = { - let __t1687 = v_V820.clone(); - rt::hd(&__t1687)? + let __t1596 = Value::sym(interp.intern_static("and")); + let __t1604 = { + let __t1598 = { + let __t1597 = v_V820.clone(); + rt::hd(&__t1597)? }; - let __t1693 = { - let __t1691 = { - let __t1690 = { - let __t1689 = v_V820.clone(); - rt::tl(&__t1689)? + let __t1603 = { + let __t1601 = { + let __t1600 = { + let __t1599 = v_V820.clone(); + rt::tl(&__t1599)? }; - rt::apply_direct( - interp, - "shen.rectify-test", - &[__t1690], - )? + aot_shen_x2e_rectify_x2d_test(interp, &[__t1600])? }; - let __t1692 = Value::nil(); - rt::cons(&__t1691, &__t1692) + let __t1602 = Value::nil(); + rt::cons(&__t1601, &__t1602) }; - rt::cons(&__t1688, &__t1693) + rt::cons(&__t1598, &__t1603) }; - rt::cons(&__t1686, &__t1694) + rt::cons(&__t1596, &__t1604) }); } else { { - let __t1680 = Value::bool(true); - if match rt::is_truthy(interp, &__t1680) { + let __t1590 = Value::bool(true); + if match rt::is_truthy(interp, &__t1590) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1679 = Value::str( + let __t1589 = Value::str( "implementation error in shen.rectify-test", ); - rt::apply_direct(interp, "simple-error", &[__t1679])? + rt::apply_direct(interp, "simple-error", &[__t1589])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -7722,322 +7542,299 @@ pub fn aot_shen_x2e_beta(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(v_V831.clone()); } else { { - let __t1798 = { - let __t1796 = { - let __t1770 = v_V832.clone(); - rt::is_cons(&__t1770) + let __t1696 = { + let __t1694 = { + let __t1672 = v_V832.clone(); + rt::is_cons(&__t1672) }; - if !rt::is_truthy(interp, &__t1796)? { + if !rt::is_truthy(interp, &__t1694)? { Value::bool(false) } else { - let __t1797 = { - let __t1794 = { - let __t1771 = Value::sym(interp.intern("lambda")); - let __t1773 = { - let __t1772 = v_V832.clone(); - rt::hd(&__t1772)? - }; - rt::eq(&__t1771, &__t1773) - }; - if !rt::is_truthy(interp, &__t1794)? { + let __t1695 = { + let __t1692 = Value::bool( + ({ + let __t1673 = v_V832.clone(); + rt::hd(&__t1673)? + }) + .as_sym() + == Some(interp.intern_static("lambda")), + ); + if !rt::is_truthy(interp, &__t1692)? { Value::bool(false) } else { - let __t1795 = { - let __t1792 = { - let __t1775 = { - let __t1774 = v_V832.clone(); - rt::tl(&__t1774)? + let __t1693 = { + let __t1690 = { + let __t1675 = { + let __t1674 = v_V832.clone(); + rt::tl(&__t1674)? }; - rt::is_cons(&__t1775) + rt::is_cons(&__t1675) }; - if !rt::is_truthy(interp, &__t1792)? { + if !rt::is_truthy(interp, &__t1690)? { Value::bool(false) } else { - let __t1793 = { - let __t1790 = { - let __t1778 = { - let __t1777 = { - let __t1776 = v_V832.clone(); - rt::tl(&__t1776)? + let __t1691 = { + let __t1688 = { + let __t1678 = { + let __t1677 = { + let __t1676 = v_V832.clone(); + rt::tl(&__t1676)? }; - rt::tl(&__t1777)? + rt::tl(&__t1677)? }; - rt::is_cons(&__t1778) + rt::is_cons(&__t1678) }; - if !rt::is_truthy(interp, &__t1790)? { + if !rt::is_truthy(interp, &__t1688)? { Value::bool(false) } else { - let __t1791 = { - let __t1788 = { - let __t1779 = Value::nil(); - let __t1783 = { - let __t1782 = { - let __t1781 = { - let __t1780 = + let __t1689 = { + let __t1686 = Value::bool( + ({ + let __t1681 = { + let __t1680 = { + let __t1679 = v_V832.clone(); - rt::tl(&__t1780)? + rt::tl(&__t1679)? }; - rt::tl(&__t1781)? + rt::tl(&__t1680)? }; - rt::tl(&__t1782)? - }; - rt::eq(&__t1779, &__t1783) - }; - if !rt::is_truthy(interp, &__t1788)? { + rt::tl(&__t1681)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1686)? { Value::bool(false) } else { - let __t1789 = { - let __t1784 = v_V830.clone(); - let __t1787 = { - let __t1786 = { - let __t1785 = + let __t1687 = { + let __t1682 = v_V830.clone(); + let __t1685 = { + let __t1684 = { + let __t1683 = v_V832.clone(); - rt::tl(&__t1785)? + rt::tl(&__t1683)? }; - rt::hd(&__t1786)? + rt::hd(&__t1684)? }; - rt::eq(&__t1784, &__t1787) + rt::eq(&__t1682, &__t1685) }; Value::bool(rt::is_truthy( - interp, &__t1789, + interp, &__t1687, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1791)?) + Value::bool(rt::is_truthy(interp, &__t1689)?) } }; - Value::bool(rt::is_truthy(interp, &__t1793)?) + Value::bool(rt::is_truthy(interp, &__t1691)?) } }; - Value::bool(rt::is_truthy(interp, &__t1795)?) + Value::bool(rt::is_truthy(interp, &__t1693)?) } }; - Value::bool(rt::is_truthy(interp, &__t1797)?) + Value::bool(rt::is_truthy(interp, &__t1695)?) } }; - if match rt::is_truthy(interp, &__t1798) { + if match rt::is_truthy(interp, &__t1696) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V832.clone()); } else { { - let __t1769 = { - let __t1748 = { - let __t1715 = v_V832.clone(); - rt::is_cons(&__t1715) + let __t1671 = { + let __t1650 = { + let __t1621 = v_V832.clone(); + rt::is_cons(&__t1621) }; - if !rt::is_truthy(interp, &__t1748)? { + if !rt::is_truthy(interp, &__t1650)? { Value::bool(false) } else { - let __t1749 = { - let __t1746 = { - let __t1716 = Value::sym(interp.intern("let")); - let __t1718 = { - let __t1717 = v_V832.clone(); - rt::hd(&__t1717)? - }; - rt::eq(&__t1716, &__t1718) - }; - if !rt::is_truthy(interp, &__t1746)? { + let __t1651 = { + let __t1648 = Value::bool( + ({ + let __t1622 = v_V832.clone(); + rt::hd(&__t1622)? + }) + .as_sym() + == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t1648)? { Value::bool(false) } else { - let __t1747 = { - let __t1744 = { - let __t1720 = { - let __t1719 = v_V832.clone(); - rt::tl(&__t1719)? + let __t1649 = { + let __t1646 = { + let __t1624 = { + let __t1623 = v_V832.clone(); + rt::tl(&__t1623)? }; - rt::is_cons(&__t1720) + rt::is_cons(&__t1624) }; - if !rt::is_truthy(interp, &__t1744)? { + if !rt::is_truthy(interp, &__t1646)? { Value::bool(false) } else { - let __t1745 = { - let __t1742 = { - let __t1723 = { - let __t1722 = { - let __t1721 = v_V832.clone(); - rt::tl(&__t1721)? + let __t1647 = { + let __t1644 = { + let __t1627 = { + let __t1626 = { + let __t1625 = v_V832.clone(); + rt::tl(&__t1625)? }; - rt::tl(&__t1722)? + rt::tl(&__t1626)? }; - rt::is_cons(&__t1723) + rt::is_cons(&__t1627) }; - if !rt::is_truthy(interp, &__t1742)? { + if !rt::is_truthy(interp, &__t1644)? { Value::bool(false) } else { - let __t1743 = { - let __t1740 = { - let __t1727 = { - let __t1726 = { - let __t1725 = { - let __t1724 = + let __t1645 = { + let __t1642 = { + let __t1631 = { + let __t1630 = { + let __t1629 = { + let __t1628 = v_V832.clone(); - rt::tl(&__t1724)? + rt::tl(&__t1628)? }; - rt::tl(&__t1725)? + rt::tl(&__t1629)? }; - rt::tl(&__t1726)? + rt::tl(&__t1630)? }; - rt::is_cons(&__t1727) + rt::is_cons(&__t1631) }; - if !rt::is_truthy(interp, &__t1740)? + if !rt::is_truthy(interp, &__t1642)? { Value::bool(false) } else { - let __t1741 = { - let __t1738 = { - let __t1728 = - Value::nil(); - let __t1733 = { - let __t1732 = { - let __t1731 = { - let __t1730 = { - let __t1729 = v_V832.clone(); - rt::tl(&__t1729)? - }; - rt::tl(&__t1730)? - }; - rt::tl( - &__t1731, - )? - }; - rt::tl(&__t1732)? - }; - rt::eq( - &__t1728, &__t1733, - ) - }; + let __t1643 = { + let __t1640 = Value::bool(({ let __t1635 = { let __t1634 = { let __t1633 = { let __t1632 = v_V832.clone(); rt::tl(&__t1632)? }; rt::tl(&__t1633)? }; rt::tl(&__t1634)? }; rt::tl(&__t1635)? }).is_nil()); if !rt::is_truthy( - interp, &__t1738, + interp, &__t1640, )? { Value::bool(false) } else { - let __t1739 = { - let __t1734 = + let __t1641 = { + let __t1636 = v_V830.clone(); - let __t1737 = { - let __t1736 = { - let __t1735 = v_V832.clone(); - rt::tl(&__t1735)? + let __t1639 = { + let __t1638 = { + let __t1637 = v_V832.clone(); + rt::tl(&__t1637)? }; rt::hd( - &__t1736, + &__t1638, )? }; rt::eq( - &__t1734, - &__t1737, + &__t1636, + &__t1639, ) }; Value::bool( rt::is_truthy( interp, - &__t1739, + &__t1641, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t1741, + interp, &__t1643, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1743, + interp, &__t1645, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1745)?) + Value::bool(rt::is_truthy(interp, &__t1647)?) } }; - Value::bool(rt::is_truthy(interp, &__t1747)?) + Value::bool(rt::is_truthy(interp, &__t1649)?) } }; - Value::bool(rt::is_truthy(interp, &__t1749)?) + Value::bool(rt::is_truthy(interp, &__t1651)?) } }; - if match rt::is_truthy(interp, &__t1769) { + if match rt::is_truthy(interp, &__t1671) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1750 = Value::sym(interp.intern("let")); - let __t1768 = { - let __t1753 = { - let __t1752 = { - let __t1751 = v_V832.clone(); - rt::tl(&__t1751)? + let __t1652 = Value::sym(interp.intern_static("let")); + let __t1670 = { + let __t1655 = { + let __t1654 = { + let __t1653 = v_V832.clone(); + rt::tl(&__t1653)? }; - rt::hd(&__t1752)? + rt::hd(&__t1654)? }; - let __t1767 = { - let __t1762 = { - let __t1756 = { - let __t1755 = { - let __t1754 = v_V832.clone(); - rt::tl(&__t1754)? + let __t1669 = { + let __t1664 = { + let __t1658 = { + let __t1657 = { + let __t1656 = v_V832.clone(); + rt::tl(&__t1656)? }; - rt::hd(&__t1755)? + rt::hd(&__t1657)? }; - let __t1757 = v_V831.clone(); - let __t1761 = { - let __t1760 = { - let __t1759 = { - let __t1758 = v_V832.clone(); - rt::tl(&__t1758)? + let __t1659 = v_V831.clone(); + let __t1663 = { + let __t1662 = { + let __t1661 = { + let __t1660 = v_V832.clone(); + rt::tl(&__t1660)? }; - rt::tl(&__t1759)? + rt::tl(&__t1661)? }; - rt::hd(&__t1760)? + rt::hd(&__t1662)? }; - rt::apply_direct( + aot_shen_x2e_beta( interp, - "shen.beta", - &[__t1756, __t1757, __t1761], + &[__t1658, __t1659, __t1663], )? }; - let __t1766 = { - let __t1765 = { - let __t1764 = { - let __t1763 = v_V832.clone(); - rt::tl(&__t1763)? + let __t1668 = { + let __t1667 = { + let __t1666 = { + let __t1665 = v_V832.clone(); + rt::tl(&__t1665)? }; - rt::tl(&__t1764)? + rt::tl(&__t1666)? }; - rt::tl(&__t1765)? + rt::tl(&__t1667)? }; - rt::cons(&__t1762, &__t1766) + rt::cons(&__t1664, &__t1668) }; - rt::cons(&__t1753, &__t1767) + rt::cons(&__t1655, &__t1669) }; - rt::cons(&__t1750, &__t1768) + rt::cons(&__t1652, &__t1670) }); } else { { - let __t1714 = { - let __t1708 = v_V832.clone(); - rt::is_cons(&__t1708) + let __t1620 = { + let __t1614 = v_V832.clone(); + rt::is_cons(&__t1614) }; - if match rt::is_truthy(interp, &__t1714) { + if match rt::is_truthy(interp, &__t1620) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1712 = { + let __t1618 = { let v_V830 = v_V830.clone(); let v_V831 = v_V831.clone(); rt::make_aot_closure( @@ -8046,13 +7843,12 @@ pub fn aot_shen_x2e_beta(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { @@ -8106,67 +7902,58 @@ pub fn aot_shen_x2e_op1(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("hd"))); + break Ok(Value::sym(interp.intern_static("hd"))); } else { { - let __t1812 = { - let __t1810 = Value::sym(interp.intern("@s")); - let __t1811 = v_V836.clone(); - rt::eq(&__t1810, &__t1811) - }; - if match rt::is_truthy(interp, &__t1812) { + let __t1704 = + Value::bool((v_V836.clone()).as_sym() == Some(interp.intern_static("@s"))); + if match rt::is_truthy(interp, &__t1704) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("hdstr"))); + break Ok(Value::sym(interp.intern_static("hdstr"))); } else { { - let __t1809 = { - let __t1807 = Value::sym(interp.intern("@p")); - let __t1808 = v_V836.clone(); - rt::eq(&__t1807, &__t1808) - }; - if match rt::is_truthy(interp, &__t1809) { + let __t1703 = Value::bool( + (v_V836.clone()).as_sym() == Some(interp.intern_static("@p")), + ); + if match rt::is_truthy(interp, &__t1703) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("fst"))); + break Ok(Value::sym(interp.intern_static("fst"))); } else { { - let __t1806 = { - let __t1804 = Value::sym(interp.intern("@v")); - let __t1805 = v_V836.clone(); - rt::eq(&__t1804, &__t1805) - }; - if match rt::is_truthy(interp, &__t1806) { + let __t1702 = Value::bool( + (v_V836.clone()).as_sym() + == Some(interp.intern_static("@v")), + ); + if match rt::is_truthy(interp, &__t1702) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("hdv"))); + break Ok(Value::sym(interp.intern_static("hdv"))); } else { { - let __t1803 = Value::bool(true); - if match rt::is_truthy(interp, &__t1803) { + let __t1701 = Value::bool(true); + if match rt::is_truthy(interp, &__t1701) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1802 = Value::str( + let __t1700 = Value::str( "implementation error in shen.op1", ); rt::apply_direct( interp, "simple-error", - &[__t1802], + &[__t1700], )? }); } else { @@ -8204,67 +7991,58 @@ pub fn aot_shen_x2e_op2(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("tl"))); + break Ok(Value::sym(interp.intern_static("tl"))); } else { { - let __t1826 = { - let __t1824 = Value::sym(interp.intern("@s")); - let __t1825 = v_V839.clone(); - rt::eq(&__t1824, &__t1825) - }; - if match rt::is_truthy(interp, &__t1826) { + let __t1710 = + Value::bool((v_V839.clone()).as_sym() == Some(interp.intern_static("@s"))); + if match rt::is_truthy(interp, &__t1710) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("tlstr"))); + break Ok(Value::sym(interp.intern_static("tlstr"))); } else { { - let __t1823 = { - let __t1821 = Value::sym(interp.intern("@p")); - let __t1822 = v_V839.clone(); - rt::eq(&__t1821, &__t1822) - }; - if match rt::is_truthy(interp, &__t1823) { + let __t1709 = Value::bool( + (v_V839.clone()).as_sym() == Some(interp.intern_static("@p")), + ); + if match rt::is_truthy(interp, &__t1709) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("snd"))); + break Ok(Value::sym(interp.intern_static("snd"))); } else { { - let __t1820 = { - let __t1818 = Value::sym(interp.intern("@v")); - let __t1819 = v_V839.clone(); - rt::eq(&__t1818, &__t1819) - }; - if match rt::is_truthy(interp, &__t1820) { + let __t1708 = Value::bool( + (v_V839.clone()).as_sym() + == Some(interp.intern_static("@v")), + ); + if match rt::is_truthy(interp, &__t1708) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("tlv"))); + break Ok(Value::sym(interp.intern_static("tlv"))); } else { { - let __t1817 = Value::bool(true); - if match rt::is_truthy(interp, &__t1817) { + let __t1707 = Value::bool(true); + if match rt::is_truthy(interp, &__t1707) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1816 = Value::str( + let __t1706 = Value::str( "implementation error in shen.op2", ); rt::apply_direct( interp, "simple-error", - &[__t1816], + &[__t1706], )? }); } else { @@ -8302,67 +8080,60 @@ pub fn aot_shen_x2e_op_x2d_test(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t1843 = { - let __t1841 = Value::sym(interp.intern("cons")); - let __t1842 = v_V842.clone(); - rt::eq(&__t1841, &__t1842) - }; - if match rt::is_truthy(interp, &__t1843) { + let __t1717 = + Value::bool((v_V842.clone()).as_sym() == Some(interp.intern_static("cons"))); + if match rt::is_truthy(interp, &__t1717) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("cons?"))); + break Ok(Value::sym(interp.intern_static("cons?"))); } else { { - let __t1840 = { - let __t1838 = Value::sym(interp.intern("@s")); - let __t1839 = v_V842.clone(); - rt::eq(&__t1838, &__t1839) - }; - if match rt::is_truthy(interp, &__t1840) { + let __t1716 = + Value::bool((v_V842.clone()).as_sym() == Some(interp.intern_static("@s"))); + if match rt::is_truthy(interp, &__t1716) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.+string?"))); + break Ok(Value::sym(interp.intern_static("shen.+string?"))); } else { { - let __t1837 = { - let __t1835 = Value::sym(interp.intern("@p")); - let __t1836 = v_V842.clone(); - rt::eq(&__t1835, &__t1836) - }; - if match rt::is_truthy(interp, &__t1837) { + let __t1715 = Value::bool( + (v_V842.clone()).as_sym() == Some(interp.intern_static("@p")), + ); + if match rt::is_truthy(interp, &__t1715) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("tuple?"))); + break Ok(Value::sym(interp.intern_static("tuple?"))); } else { { - let __t1834 = { - let __t1832 = Value::sym(interp.intern("@v")); - let __t1833 = v_V842.clone(); - rt::eq(&__t1832, &__t1833) - }; - if match rt::is_truthy(interp, &__t1834) { + let __t1714 = Value::bool( + (v_V842.clone()).as_sym() + == Some(interp.intern_static("@v")), + ); + if match rt::is_truthy(interp, &__t1714) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.+vector?"))); + break Ok(Value::sym( + interp.intern_static("shen.+vector?"), + )); } else { { - let __t1831 = Value::bool(true); - if match rt::is_truthy(interp, &__t1831) { + let __t1713 = Value::bool(true); + if match rt::is_truthy(interp, &__t1713) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1830 = Value::str( + let __t1712 = Value::str( "implementation error in shen.op-test", ); rt::apply_direct( interp, "simple-error", - &[__t1830], + &[__t1712], )? }); } else { @@ -8400,26 +8171,22 @@ pub fn aot_shen_x2e__x2b_string_x3f_(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1848 = { - let __t1846 = Value::str(""); - let __t1847 = v_V843.clone(); - rt::eq(&__t1846, &__t1847) - }; - if match rt::is_truthy(interp, &__t1848) { + let __t1720 = Value::bool((v_V843.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t1720) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1845 = Value::bool(true); - if match rt::is_truthy(interp, &__t1845) { + let __t1719 = Value::bool(true); + if match rt::is_truthy(interp, &__t1719) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1844 = v_V843.clone(); - rt::is_string(&__t1844) + let __t1718 = v_V843.clone(); + rt::is_string(&__t1718) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8448,29 +8215,29 @@ pub fn aot_shen_x2e__x2b_vector_x3f_(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1854 = { - let __t1851 = v_V844.clone(); - let __t1853 = { - let __t1852 = Value::int(0i64); - rt::apply_direct(interp, "vector", &[__t1852])? + let __t1726 = { + let __t1723 = v_V844.clone(); + let __t1725 = { + let __t1724 = Value::int(0i64); + rt::apply_direct(interp, "vector", &[__t1724])? }; - rt::eq(&__t1851, &__t1853) + rt::eq(&__t1723, &__t1725) }; - if match rt::is_truthy(interp, &__t1854) { + if match rt::is_truthy(interp, &__t1726) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1850 = Value::bool(true); - if match rt::is_truthy(interp, &__t1850) { + let __t1722 = Value::bool(true); + if match rt::is_truthy(interp, &__t1722) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1849 = v_V844.clone(); - rt::is_absvector(&__t1849) + let __t1721 = v_V844.clone(); + rt::apply_direct(interp, "vector?", &[__t1721])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8499,46 +8266,37 @@ pub fn aot_factorise(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t1866 = { - let __t1862 = Value::sym(interp.intern("+")); - let __t1863 = v_V847.clone(); - rt::eq(&__t1862, &__t1863) - }; - if match rt::is_truthy(interp, &__t1866) { + let __t1730 = Value::bool((v_V847.clone()).as_sym() == Some(interp.intern_static("+"))); + if match rt::is_truthy(interp, &__t1730) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1864 = Value::sym(interp.intern("shen.*factorise?*")); - let __t1865 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t1864, __t1865])? + let __v = Value::bool(true); + rt::set_global(interp, "shen.*factorise?*", __v) }); } else { { - let __t1861 = { - let __t1857 = Value::sym(interp.intern("-")); - let __t1858 = v_V847.clone(); - rt::eq(&__t1857, &__t1858) - }; - if match rt::is_truthy(interp, &__t1861) { + let __t1729 = + Value::bool((v_V847.clone()).as_sym() == Some(interp.intern_static("-"))); + if match rt::is_truthy(interp, &__t1729) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1859 = Value::sym(interp.intern("shen.*factorise?*")); - let __t1860 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t1859, __t1860])? + let __v = Value::bool(false); + rt::set_global(interp, "shen.*factorise?*", __v) }); } else { { - let __t1856 = Value::bool(true); - if match rt::is_truthy(interp, &__t1856) { + let __t1728 = Value::bool(true); + if match rt::is_truthy(interp, &__t1728) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1855 = Value::str("factorise expects a + or a -\n"); - rt::apply_direct(interp, "simple-error", &[__t1855])? + let __t1727 = Value::str("factorise expects a + or a -\n"); + rt::apply_direct(interp, "simple-error", &[__t1727])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8569,22 +8327,19 @@ pub fn aot_shen_x2e_factorise_x2d_code(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t1870 = { - let __t1868 = Value::sym(interp.intern("shen.*factorise?*")); - rt::apply_direct(interp, "value", &[__t1868])? - }; - if match rt::is_truthy(interp, &__t1870) { + let __t1733 = rt::global_value(interp, "shen.*factorise?*")?; + if match rt::is_truthy(interp, &__t1733) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1869 = v_V848.clone(); - rt::apply_direct(interp, "shen.factor", &[__t1869])? + let __t1732 = v_V848.clone(); + aot_shen_x2e_factor(interp, &[__t1732])? }); } else { { - let __t1867 = Value::bool(true); - if match rt::is_truthy(interp, &__t1867) { + let __t1731 = Value::bool(true); + if match rt::is_truthy(interp, &__t1731) { Ok(b) => b, Err(e) => break Err(e), } { @@ -8616,220 +8371,179 @@ pub fn aot_shen_x2e_factor(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t1917 = Value::sym(interp.intern("defun")); - let __t1935 = { - let __t1920 = { - let __t1919 = { - let __t1918 = v_V849.clone(); - rt::tl(&__t1918)? - }; - rt::hd(&__t1919)? + let __t1774 = Value::sym(interp.intern_static("defun")); + let __t1792 = { + let __t1777 = { + let __t1776 = { + let __t1775 = v_V849.clone(); + rt::tl(&__t1775)? + }; + rt::hd(&__t1776)? }; - let __t1934 = { - let __t1924 = { - let __t1923 = { - let __t1922 = { - let __t1921 = v_V849.clone(); - rt::tl(&__t1921)? + let __t1791 = { + let __t1781 = { + let __t1780 = { + let __t1779 = { + let __t1778 = v_V849.clone(); + rt::tl(&__t1778)? }; - rt::tl(&__t1922)? + rt::tl(&__t1779)? }; - rt::hd(&__t1923)? - }; - let __t1933 = { - let __t1931 = { - let __t1930 = { - let __t1929 = { - let __t1928 = { - let __t1927 = { - let __t1926 = { - let __t1925 = v_V849.clone(); - rt::tl(&__t1925)? + rt::hd(&__t1780)? + }; + let __t1790 = { + let __t1788 = { + let __t1787 = { + let __t1786 = { + let __t1785 = { + let __t1784 = { + let __t1783 = { + let __t1782 = v_V849.clone(); + rt::tl(&__t1782)? }; - rt::tl(&__t1926)? + rt::tl(&__t1783)? }; - rt::tl(&__t1927)? + rt::tl(&__t1784)? }; - rt::hd(&__t1928)? + rt::hd(&__t1785)? }; - rt::tl(&__t1929)? + rt::tl(&__t1786)? }; - rt::apply_direct(interp, "shen.factor-recognisors", &[__t1930])? + aot_shen_x2e_factor_x2d_recognisors(interp, &[__t1787])? }; - let __t1932 = Value::nil(); - rt::cons(&__t1931, &__t1932) + let __t1789 = Value::nil(); + rt::cons(&__t1788, &__t1789) }; - rt::cons(&__t1924, &__t1933) + rt::cons(&__t1781, &__t1790) }; - rt::cons(&__t1920, &__t1934) + rt::cons(&__t1777, &__t1791) }; - rt::cons(&__t1917, &__t1935) + rt::cons(&__t1774, &__t1792) }); } else { { - let __t1871 = Value::bool(true); - if match rt::is_truthy(interp, &__t1871) { + let __t1734 = Value::bool(true); + if match rt::is_truthy(interp, &__t1734) { Ok(b) => b, Err(e) => break Err(e), } { @@ -8864,548 +8578,488 @@ pub fn aot_shen_x2e_factor_x2d_recognisors( #[allow(clippy::never_loop)] loop { { - let __t2127 = { - let __t2122 = { - let __t2101 = v_V852.clone(); - rt::is_cons(&__t2101) + let __t1974 = { + let __t1969 = { + let __t1950 = v_V852.clone(); + rt::is_cons(&__t1950) }; - if !rt::is_truthy(interp, &__t2122)? { + if !rt::is_truthy(interp, &__t1969)? { Value::bool(false) } else { - let __t2123 = { - let __t2120 = { - let __t2103 = { - let __t2102 = v_V852.clone(); - rt::hd(&__t2102)? + let __t1970 = { + let __t1967 = { + let __t1952 = { + let __t1951 = v_V852.clone(); + rt::hd(&__t1951)? }; - rt::is_cons(&__t2103) + rt::is_cons(&__t1952) }; - if !rt::is_truthy(interp, &__t2120)? { + if !rt::is_truthy(interp, &__t1967)? { Value::bool(false) } else { - let __t2121 = { - let __t2118 = { - let __t2104 = Value::bool(true); - let __t2107 = { - let __t2106 = { - let __t2105 = v_V852.clone(); - rt::hd(&__t2105)? + let __t1968 = { + let __t1965 = { + let __t1953 = Value::bool(true); + let __t1956 = { + let __t1955 = { + let __t1954 = v_V852.clone(); + rt::hd(&__t1954)? }; - rt::hd(&__t2106)? + rt::hd(&__t1955)? }; - rt::eq(&__t2104, &__t2107) + rt::eq(&__t1953, &__t1956) }; - if !rt::is_truthy(interp, &__t2118)? { + if !rt::is_truthy(interp, &__t1965)? { Value::bool(false) } else { - let __t2119 = { - let __t2116 = { - let __t2110 = { - let __t2109 = { - let __t2108 = v_V852.clone(); - rt::hd(&__t2108)? + let __t1966 = { + let __t1963 = { + let __t1959 = { + let __t1958 = { + let __t1957 = v_V852.clone(); + rt::hd(&__t1957)? }; - rt::tl(&__t2109)? + rt::tl(&__t1958)? }; - rt::is_cons(&__t2110) + rt::is_cons(&__t1959) }; - if !rt::is_truthy(interp, &__t2116)? { + if !rt::is_truthy(interp, &__t1963)? { Value::bool(false) } else { - let __t2117 = { - let __t2111 = Value::nil(); - let __t2115 = { - let __t2114 = { - let __t2113 = { - let __t2112 = v_V852.clone(); - rt::hd(&__t2112)? + let __t1964 = Value::bool( + ({ + let __t1962 = { + let __t1961 = { + let __t1960 = v_V852.clone(); + rt::hd(&__t1960)? }; - rt::tl(&__t2113)? + rt::tl(&__t1961)? }; - rt::tl(&__t2114)? - }; - rt::eq(&__t2111, &__t2115) - }; - Value::bool(rt::is_truthy(interp, &__t2117)?) + rt::tl(&__t1962)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1964)?) } }; - Value::bool(rt::is_truthy(interp, &__t2119)?) + Value::bool(rt::is_truthy(interp, &__t1966)?) } }; - Value::bool(rt::is_truthy(interp, &__t2121)?) + Value::bool(rt::is_truthy(interp, &__t1968)?) } }; - Value::bool(rt::is_truthy(interp, &__t2123)?) + Value::bool(rt::is_truthy(interp, &__t1970)?) } }; - if match rt::is_truthy(interp, &__t2127) { + if match rt::is_truthy(interp, &__t1974) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2126 = { - let __t2125 = { - let __t2124 = v_V852.clone(); - rt::hd(&__t2124)? + let __t1973 = { + let __t1972 = { + let __t1971 = v_V852.clone(); + rt::hd(&__t1971)? }; - rt::tl(&__t2125)? + rt::tl(&__t1972)? }; - rt::hd(&__t2126)? + rt::hd(&__t1973)? }); } else { { - let __t2100 = { - let __t2021 = { - let __t1972 = v_V852.clone(); - rt::is_cons(&__t1972) + let __t1949 = { + let __t1870 = { + let __t1827 = v_V852.clone(); + rt::is_cons(&__t1827) }; - if !rt::is_truthy(interp, &__t2021)? { + if !rt::is_truthy(interp, &__t1870)? { Value::bool(false) } else { - let __t2022 = { - let __t2019 = { - let __t1974 = { - let __t1973 = v_V852.clone(); - rt::hd(&__t1973)? + let __t1871 = { + let __t1868 = { + let __t1829 = { + let __t1828 = v_V852.clone(); + rt::hd(&__t1828)? }; - rt::is_cons(&__t1974) + rt::is_cons(&__t1829) }; - if !rt::is_truthy(interp, &__t2019)? { + if !rt::is_truthy(interp, &__t1868)? { Value::bool(false) } else { - let __t2020 = { - let __t2017 = { - let __t1977 = { - let __t1976 = { - let __t1975 = v_V852.clone(); - rt::hd(&__t1975)? + let __t1869 = { + let __t1866 = { + let __t1832 = { + let __t1831 = { + let __t1830 = v_V852.clone(); + rt::hd(&__t1830)? }; - rt::hd(&__t1976)? + rt::hd(&__t1831)? }; - rt::is_cons(&__t1977) + rt::is_cons(&__t1832) }; - if !rt::is_truthy(interp, &__t2017)? { + if !rt::is_truthy(interp, &__t1866)? { Value::bool(false) } else { - let __t2018 = { - let __t2015 = { - let __t1978 = Value::sym(interp.intern("and")); - let __t1982 = { - let __t1981 = { - let __t1980 = { - let __t1979 = v_V852.clone(); - rt::hd(&__t1979)? + let __t1867 = { + let __t1864 = Value::bool( + ({ + let __t1835 = { + let __t1834 = { + let __t1833 = v_V852.clone(); + rt::hd(&__t1833)? }; - rt::hd(&__t1980)? + rt::hd(&__t1834)? }; - rt::hd(&__t1981)? - }; - rt::eq(&__t1978, &__t1982) - }; - if !rt::is_truthy(interp, &__t2015)? { + rt::hd(&__t1835)? + }) + .as_sym() + == Some(interp.intern_static("and")), + ); + if !rt::is_truthy(interp, &__t1864)? { Value::bool(false) } else { - let __t2016 = { - let __t2013 = { - let __t1986 = { - let __t1985 = { - let __t1984 = { - let __t1983 = + let __t1865 = { + let __t1862 = { + let __t1839 = { + let __t1838 = { + let __t1837 = { + let __t1836 = v_V852.clone(); - rt::hd(&__t1983)? + rt::hd(&__t1836)? }; - rt::hd(&__t1984)? + rt::hd(&__t1837)? }; - rt::tl(&__t1985)? + rt::tl(&__t1838)? }; - rt::is_cons(&__t1986) + rt::is_cons(&__t1839) }; - if !rt::is_truthy(interp, &__t2013)? { + if !rt::is_truthy(interp, &__t1862)? { Value::bool(false) } else { - let __t2014 = { - let __t2011 = { - let __t1991 = { - let __t1990 = { - let __t1989 = { - let __t1988 = { - let __t1987 = + let __t1863 = { + let __t1860 = { + let __t1844 = { + let __t1843 = { + let __t1842 = { + let __t1841 = { + let __t1840 = v_V852 .clone( ); rt::hd( - &__t1987, + &__t1840, )? }; - rt::hd(&__t1988)? + rt::hd(&__t1841)? }; - rt::tl(&__t1989)? + rt::tl(&__t1842)? }; - rt::tl(&__t1990)? + rt::tl(&__t1843)? }; - rt::is_cons(&__t1991) + rt::is_cons(&__t1844) }; - if !rt::is_truthy(interp, &__t2011)? + if !rt::is_truthy(interp, &__t1860)? { Value::bool(false) } else { - let __t2012 = { - let __t2009 = { - let __t1992 = - Value::nil(); - let __t1998 = { - let __t1997 = { - let __t1996 = { - let __t1995 = { - let __t1994 = { - let __t1993 = v_V852.clone(); - rt::hd(&__t1993)? - }; - rt::hd(&__t1994)? - }; - rt::tl(&__t1995)? - }; - rt::tl( - &__t1996, - )? - }; - rt::tl(&__t1997)? - }; - rt::eq( - &__t1992, &__t1998, - ) - }; + let __t1861 = { + let __t1858 = Value::bool(({ let __t1849 = { let __t1848 = { let __t1847 = { let __t1846 = { let __t1845 = v_V852.clone(); rt::hd(&__t1845)? }; rt::hd(&__t1846)? }; rt::tl(&__t1847)? }; rt::tl(&__t1848)? }; rt::tl(&__t1849)? }).is_nil()); if !rt::is_truthy( - interp, &__t2009, + interp, &__t1858, )? { Value::bool(false) } else { - let __t2010 = { - let __t2007 = { - let __t2001 = { - let __t2000 = { - let __t1999 = v_V852.clone(); - rt::hd(&__t1999)? + let __t1859 = { + let __t1856 = { + let __t1852 = { + let __t1851 = { + let __t1850 = v_V852.clone(); + rt::hd(&__t1850)? }; - rt::tl(&__t2000)? + rt::tl(&__t1851)? }; rt::is_cons( - &__t2001, + &__t1852, ) }; if !rt::is_truthy( interp, - &__t2007, + &__t1856, )? { Value::bool( false, ) } else { - let __t2008 = { - let __t2002 = Value::nil(); - let __t2006 = { - let __t2005 = { - let __t2004 = { let __t2003 = v_V852.clone(); rt::hd(&__t2003)? }; - rt::tl(&__t2004)? - }; - rt::tl(&__t2005)? - }; - rt::eq(&__t2002, &__t2006) - }; - Value::bool(rt::is_truthy(interp, &__t2008)?) + let __t1857 = Value::bool(({ let __t1855 = { let __t1854 = { let __t1853 = v_V852.clone(); rt::hd(&__t1853)? }; rt::tl(&__t1854)? }; rt::tl(&__t1855)? }).is_nil()); + Value::bool(rt::is_truthy(interp, &__t1857)?) } }; Value::bool( rt::is_truthy( interp, - &__t2010, + &__t1859, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t2012, + interp, &__t1861, )?) } }; Value::bool(rt::is_truthy( - interp, &__t2014, + interp, &__t1863, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2016)?) + Value::bool(rt::is_truthy(interp, &__t1865)?) } }; - Value::bool(rt::is_truthy(interp, &__t2018)?) + Value::bool(rt::is_truthy(interp, &__t1867)?) } }; - Value::bool(rt::is_truthy(interp, &__t2020)?) + Value::bool(rt::is_truthy(interp, &__t1869)?) } }; - Value::bool(rt::is_truthy(interp, &__t2022)?) + Value::bool(rt::is_truthy(interp, &__t1871)?) } }; - if match rt::is_truthy(interp, &__t2100) { + if match rt::is_truthy(interp, &__t1949) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W853 = { - let __t2027 = { - let __t2026 = { - let __t2025 = { - let __t2024 = { - let __t2023 = v_V852.clone(); - rt::hd(&__t2023)? + let __t1876 = { + let __t1875 = { + let __t1874 = { + let __t1873 = { + let __t1872 = v_V852.clone(); + rt::hd(&__t1872)? }; - rt::hd(&__t2024)? + rt::hd(&__t1873)? }; - rt::tl(&__t2025)? + rt::tl(&__t1874)? }; - rt::hd(&__t2026)? + rt::hd(&__t1875)? }; - let __t2028 = v_V852.clone(); - let __t2029 = Value::nil(); - rt::apply_direct( - interp, - "shen.pivot-on", - &[__t2027, __t2028, __t2029], - )? + let __t1877 = v_V852.clone(); + let __t1878 = Value::nil(); + aot_shen_x2e_pivot_x2d_on(interp, &[__t1876, __t1877, __t1878])? }; { let v_W854 = { - let __t2030 = v_W853.clone(); - rt::apply_direct(interp, "fst", &[__t2030])? + let __t1879 = v_W853.clone(); + rt::apply_direct(interp, "fst", &[__t1879])? }; { - let __t2032 = { - let __t2031 = v_W854.clone(); - rt::apply_direct(interp, "shen.bad-pivot?", &[__t2031])? + let __t1881 = { + let __t1880 = v_W854.clone(); + aot_shen_x2e_bad_x2d_pivot_x3f_(interp, &[__t1880])? }; - if match rt::is_truthy(interp, &__t2032) { + if match rt::is_truthy(interp, &__t1881) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2035 = { - let __t2033 = Value::sym(interp.intern("if")); - let __t2034 = Value::nil(); - rt::cons(&__t2033, &__t2034) + let __t1884 = { + let __t1882 = + Value::sym(interp.intern_static("if")); + let __t1883 = Value::nil(); + rt::cons(&__t1882, &__t1883) }; - let __t2049 = { - let __t2043 = { - let __t2038 = { - let __t2037 = { - let __t2036 = v_V852.clone(); - rt::hd(&__t2036)? + let __t1898 = { + let __t1892 = { + let __t1887 = { + let __t1886 = { + let __t1885 = v_V852.clone(); + rt::hd(&__t1885)? }; - rt::hd(&__t2037)? + rt::hd(&__t1886)? }; - let __t2042 = { - let __t2041 = { - let __t2040 = { - let __t2039 = v_V852.clone(); - rt::hd(&__t2039)? + let __t1891 = { + let __t1890 = { + let __t1889 = { + let __t1888 = v_V852.clone(); + rt::hd(&__t1888)? }; - rt::tl(&__t2040)? + rt::tl(&__t1889)? }; - rt::hd(&__t2041)? + rt::hd(&__t1890)? }; - rt::apply_direct( - interp, - "shen.recursively-factor-selectors", - &[__t2038, __t2042], - )? + aot_shen_x2e_recursively_x2d_factor_x2d_selectors(interp, &[__t1887, __t1891])? }; - let __t2048 = { - let __t2046 = { - let __t2045 = { - let __t2044 = v_V852.clone(); - rt::tl(&__t2044)? + let __t1897 = { + let __t1895 = { + let __t1894 = { + let __t1893 = v_V852.clone(); + rt::tl(&__t1893)? }; - rt::apply_direct( + aot_shen_x2e_factor_x2d_recognisors( interp, - "shen.factor-recognisors", - &[__t2045], + &[__t1894], )? }; - let __t2047 = Value::nil(); - rt::cons(&__t2046, &__t2047) + let __t1896 = Value::nil(); + rt::cons(&__t1895, &__t1896) }; rt::apply_direct( interp, "append", - &[__t2043, __t2048], + &[__t1892, __t1897], )? }; - rt::apply_direct(interp, "append", &[__t2035, __t2049])? + rt::apply_direct(interp, "append", &[__t1884, __t1898])? }); } else { { let v_W855 = { - let __t2050 = v_W853.clone(); - rt::apply_direct(interp, "snd", &[__t2050])? + let __t1899 = v_W853.clone(); + rt::apply_direct(interp, "snd", &[__t1899])? }; { let v_W856 = { - let __t2051 = v_W855.clone(); - rt::apply_direct( + let __t1900 = v_W855.clone(); + aot_shen_x2e_factor_x2d_recognisors( interp, - "shen.factor-recognisors", - &[__t2051], + &[__t1900], )? }; { let v_W857 = { - let __t2052 = - Value::sym(interp.intern("GoTo")); + let __t1901 = Value::sym( + interp.intern_static("GoTo"), + ); rt::apply_direct( interp, "gensym", - &[__t2052], + &[__t1901], )? }; { let v_W858 = { - let __t2063 = { - let __t2061 = { - let __t2053 = Value::bool(true); - let __t2060 = { - let __t2058 = { - let __t2054 = - Value::sym( - interp.intern( - "thaw", - ), - ); - let __t2057 = { - let __t2055 = + let __t1912 = { + let __t1910 = { + let __t1902 = Value::bool(true); + let __t1909 = { + let __t1907 = { + let __t1903 = Value::sym(interp.intern_static("thaw")); + let __t1906 = { + let __t1904 = v_W857.clone(); - let __t2056 = + let __t1905 = Value::nil(); rt::cons( - &__t2055, - &__t2056, + &__t1904, + &__t1905, ) }; rt::cons( - &__t2054, &__t2057, + &__t1903, &__t1906, ) }; - let __t2059 = Value::nil(); - rt::cons(&__t2058, &__t2059) + let __t1908 = Value::nil(); + rt::cons(&__t1907, &__t1908) }; - rt::cons(&__t2053, &__t2060) + rt::cons(&__t1902, &__t1909) }; - let __t2062 = v_W854.clone(); - rt::cons(&__t2061, &__t2062) + let __t1911 = v_W854.clone(); + rt::cons(&__t1910, &__t1911) }; rt::apply_direct( interp, "reverse", - &[__t2063], + &[__t1912], )? }; { let v_W859 = { - let __t2064 = Value::sym( - interp.intern("let"), + let __t1913 = Value::sym( + interp.intern_static("let"), ); - let __t2098 = { - let __t2065 = v_W857.clone(); - let __t2097 = { - let __t2070 = { - let __t2066 = - Value::sym( - interp.intern( - "freeze", - ), - ); - let __t2069 = { - let __t2067 = + let __t1947 = { + let __t1914 = v_W857.clone(); + let __t1946 = { + let __t1919 = { + let __t1915 = Value::sym(interp.intern_static("freeze")); + let __t1918 = { + let __t1916 = v_W856.clone(); - let __t2068 = + let __t1917 = Value::nil(); rt::cons( - &__t2067, - &__t2068, + &__t1916, + &__t1917, ) }; rt::cons( - &__t2066, &__t2069, + &__t1915, &__t1918, ) }; - let __t2096 = { - let __t2094 = { - let __t2071 = - Value::sym( - interp - .intern( - "if", - ), - ); - let __t2093 = { - let __t2076 = { - let __t2075 = { - let __t2074 = { - let __t2073 = { let __t2072 = v_V852.clone(); rt::hd(&__t2072)? }; - rt::hd(&__t2073)? + let __t1945 = { + let __t1943 = { + let __t1920 = Value::sym(interp.intern_static("if")); + let __t1942 = { + let __t1925 = { + let __t1924 = { + let __t1923 = { + let __t1922 = { let __t1921 = v_V852.clone(); rt::hd(&__t1921)? }; + rt::hd(&__t1922)? }; - rt::tl(&__t2074)? + rt::tl(&__t1923)? }; - rt::hd(&__t2075)? + rt::hd(&__t1924)? }; - let __t2092 = { - let __t2084 = { - let __t2081 = { - let __t2080 = { let __t2079 = { let __t2078 = { let __t2077 = v_V852.clone(); rt::hd(&__t2077)? }; rt::hd(&__t2078)? }; rt::tl(&__t2079)? }; - rt::hd(&__t2080)? + let __t1941 = { + let __t1933 = { + let __t1930 = { + let __t1929 = { let __t1928 = { let __t1927 = { let __t1926 = v_V852.clone(); rt::hd(&__t1926)? }; rt::hd(&__t1927)? }; rt::tl(&__t1928)? }; + rt::hd(&__t1929)? }; - let __t2083 = { - let __t2082 = v_W858.clone(); - rt::apply_direct(interp, "shen.factor-recognisors", &[__t2082])? + let __t1932 = { + let __t1931 = v_W858.clone(); + aot_shen_x2e_factor_x2d_recognisors(interp, &[__t1931])? }; - rt::apply_direct(interp, "shen.factor-selectors", &[__t2081, __t2083])? + aot_shen_x2e_factor_x2d_selectors(interp, &[__t1930, __t1932])? }; - let __t2091 = { - let __t2089 = { - let __t2085 = Value::sym(interp.intern("thaw")); - let __t2088 = { let __t2086 = v_W857.clone(); let __t2087 = Value::nil(); rt::cons(&__t2086, &__t2087) }; - rt::cons(&__t2085, &__t2088) + let __t1940 = { + let __t1938 = { + let __t1934 = Value::sym(interp.intern_static("thaw")); + let __t1937 = { let __t1935 = v_W857.clone(); let __t1936 = Value::nil(); rt::cons(&__t1935, &__t1936) }; + rt::cons(&__t1934, &__t1937) }; - let __t2090 = Value::nil(); - rt::cons(&__t2089, &__t2090) + let __t1939 = Value::nil(); + rt::cons(&__t1938, &__t1939) }; - rt::cons(&__t2084, &__t2091) + rt::cons(&__t1933, &__t1940) }; rt::cons( - &__t2076, - &__t2092, + &__t1925, + &__t1941, ) }; rt::cons( - &__t2071, - &__t2093, + &__t1920, + &__t1942, ) }; - let __t2095 = + let __t1944 = Value::nil(); rt::cons( - &__t2094, &__t2095, + &__t1943, &__t1944, ) }; - rt::cons(&__t2070, &__t2096) + rt::cons(&__t1919, &__t1945) }; - rt::cons(&__t2065, &__t2097) + rt::cons(&__t1914, &__t1946) }; - rt::cons(&__t2064, &__t2098) + rt::cons(&__t1913, &__t1947) }; break Ok({ - let __t2099 = v_W859.clone(); - rt::apply_direct( + let __t1948 = v_W859.clone(); + aot_shen_x2e_remove_x2d_indirection( interp, - "shen.remove-indirection", - &[__t2099], + &[__t1948], )? }); } @@ -9419,120 +9073,118 @@ pub fn aot_shen_x2e_factor_x2d_recognisors( } } else { { - let __t1971 = { - let __t1954 = { - let __t1939 = v_V852.clone(); - rt::is_cons(&__t1939) + let __t1826 = { + let __t1809 = { + let __t1796 = v_V852.clone(); + rt::is_cons(&__t1796) }; - if !rt::is_truthy(interp, &__t1954)? { + if !rt::is_truthy(interp, &__t1809)? { Value::bool(false) } else { - let __t1955 = { - let __t1952 = { - let __t1941 = { - let __t1940 = v_V852.clone(); - rt::hd(&__t1940)? + let __t1810 = { + let __t1807 = { + let __t1798 = { + let __t1797 = v_V852.clone(); + rt::hd(&__t1797)? }; - rt::is_cons(&__t1941) + rt::is_cons(&__t1798) }; - if !rt::is_truthy(interp, &__t1952)? { + if !rt::is_truthy(interp, &__t1807)? { Value::bool(false) } else { - let __t1953 = { - let __t1950 = { - let __t1944 = { - let __t1943 = { - let __t1942 = v_V852.clone(); - rt::hd(&__t1942)? + let __t1808 = { + let __t1805 = { + let __t1801 = { + let __t1800 = { + let __t1799 = v_V852.clone(); + rt::hd(&__t1799)? }; - rt::tl(&__t1943)? + rt::tl(&__t1800)? }; - rt::is_cons(&__t1944) + rt::is_cons(&__t1801) }; - if !rt::is_truthy(interp, &__t1950)? { + if !rt::is_truthy(interp, &__t1805)? { Value::bool(false) } else { - let __t1951 = { - let __t1945 = Value::nil(); - let __t1949 = { - let __t1948 = { - let __t1947 = { - let __t1946 = v_V852.clone(); - rt::hd(&__t1946)? + let __t1806 = Value::bool( + ({ + let __t1804 = { + let __t1803 = { + let __t1802 = v_V852.clone(); + rt::hd(&__t1802)? }; - rt::tl(&__t1947)? + rt::tl(&__t1803)? }; - rt::tl(&__t1948)? - }; - rt::eq(&__t1945, &__t1949) - }; - Value::bool(rt::is_truthy(interp, &__t1951)?) + rt::tl(&__t1804)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1806)?) } }; - Value::bool(rt::is_truthy(interp, &__t1953)?) + Value::bool(rt::is_truthy(interp, &__t1808)?) } }; - Value::bool(rt::is_truthy(interp, &__t1955)?) + Value::bool(rt::is_truthy(interp, &__t1810)?) } }; - if match rt::is_truthy(interp, &__t1971) { + if match rt::is_truthy(interp, &__t1826) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1956 = Value::sym(interp.intern("if")); - let __t1970 = { - let __t1959 = { - let __t1958 = { - let __t1957 = v_V852.clone(); - rt::hd(&__t1957)? + let __t1811 = Value::sym(interp.intern_static("if")); + let __t1825 = { + let __t1814 = { + let __t1813 = { + let __t1812 = v_V852.clone(); + rt::hd(&__t1812)? }; - rt::hd(&__t1958)? + rt::hd(&__t1813)? }; - let __t1969 = { - let __t1963 = { - let __t1962 = { - let __t1961 = { - let __t1960 = v_V852.clone(); - rt::hd(&__t1960)? + let __t1824 = { + let __t1818 = { + let __t1817 = { + let __t1816 = { + let __t1815 = v_V852.clone(); + rt::hd(&__t1815)? }; - rt::tl(&__t1961)? + rt::tl(&__t1816)? }; - rt::hd(&__t1962)? + rt::hd(&__t1817)? }; - let __t1968 = { - let __t1966 = { - let __t1965 = { - let __t1964 = v_V852.clone(); - rt::tl(&__t1964)? + let __t1823 = { + let __t1821 = { + let __t1820 = { + let __t1819 = v_V852.clone(); + rt::tl(&__t1819)? }; - rt::apply_direct( + aot_shen_x2e_factor_x2d_recognisors( interp, - "shen.factor-recognisors", - &[__t1965], + &[__t1820], )? }; - let __t1967 = Value::nil(); - rt::cons(&__t1966, &__t1967) + let __t1822 = Value::nil(); + rt::cons(&__t1821, &__t1822) }; - rt::cons(&__t1963, &__t1968) + rt::cons(&__t1818, &__t1823) }; - rt::cons(&__t1959, &__t1969) + rt::cons(&__t1814, &__t1824) }; - rt::cons(&__t1956, &__t1970) + rt::cons(&__t1811, &__t1825) }); } else { { - let __t1938 = Value::bool(true); - if match rt::is_truthy(interp, &__t1938) { + let __t1795 = Value::bool(true); + if match rt::is_truthy(interp, &__t1795) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1937 = Value::str( + let __t1794 = Value::str( "partial function shen.factor-recognisors", ); - rt::apply_direct(interp, "simple-error", &[__t1937])? + rt::apply_direct(interp, "simple-error", &[__t1794])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9577,294 +9229,282 @@ pub fn aot_shen_x2e_recursively_x2d_factor_x2d_selectors( #[allow(clippy::never_loop)] loop { { - let __t2216 = { - let __t2200 = { - let __t2173 = v_V860.clone(); - rt::is_cons(&__t2173) + let __t2055 = { + let __t2039 = { + let __t2016 = v_V860.clone(); + rt::is_cons(&__t2016) }; - if !rt::is_truthy(interp, &__t2200)? { + if !rt::is_truthy(interp, &__t2039)? { Value::bool(false) } else { - let __t2201 = { - let __t2198 = { - let __t2174 = Value::sym(interp.intern("let")); - let __t2176 = { - let __t2175 = v_V860.clone(); - rt::hd(&__t2175)? - }; - rt::eq(&__t2174, &__t2176) - }; - if !rt::is_truthy(interp, &__t2198)? { + let __t2040 = { + let __t2037 = Value::bool( + ({ + let __t2017 = v_V860.clone(); + rt::hd(&__t2017)? + }) + .as_sym() + == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t2037)? { Value::bool(false) } else { - let __t2199 = { - let __t2196 = { - let __t2178 = { - let __t2177 = v_V860.clone(); - rt::tl(&__t2177)? + let __t2038 = { + let __t2035 = { + let __t2019 = { + let __t2018 = v_V860.clone(); + rt::tl(&__t2018)? }; - rt::is_cons(&__t2178) + rt::is_cons(&__t2019) }; - if !rt::is_truthy(interp, &__t2196)? { + if !rt::is_truthy(interp, &__t2035)? { Value::bool(false) } else { - let __t2197 = { - let __t2194 = { - let __t2181 = { - let __t2180 = { - let __t2179 = v_V860.clone(); - rt::tl(&__t2179)? + let __t2036 = { + let __t2033 = { + let __t2022 = { + let __t2021 = { + let __t2020 = v_V860.clone(); + rt::tl(&__t2020)? }; - rt::tl(&__t2180)? + rt::tl(&__t2021)? }; - rt::is_cons(&__t2181) + rt::is_cons(&__t2022) }; - if !rt::is_truthy(interp, &__t2194)? { + if !rt::is_truthy(interp, &__t2033)? { Value::bool(false) } else { - let __t2195 = { - let __t2192 = { - let __t2185 = { - let __t2184 = { - let __t2183 = { - let __t2182 = v_V860.clone(); - rt::tl(&__t2182)? + let __t2034 = { + let __t2031 = { + let __t2026 = { + let __t2025 = { + let __t2024 = { + let __t2023 = v_V860.clone(); + rt::tl(&__t2023)? }; - rt::tl(&__t2183)? + rt::tl(&__t2024)? }; - rt::tl(&__t2184)? + rt::tl(&__t2025)? }; - rt::is_cons(&__t2185) + rt::is_cons(&__t2026) }; - if !rt::is_truthy(interp, &__t2192)? { + if !rt::is_truthy(interp, &__t2031)? { Value::bool(false) } else { - let __t2193 = { - let __t2186 = Value::nil(); - let __t2191 = { - let __t2190 = { - let __t2189 = { - let __t2188 = { - let __t2187 = + let __t2032 = Value::bool( + ({ + let __t2030 = { + let __t2029 = { + let __t2028 = { + let __t2027 = v_V860.clone(); - rt::tl(&__t2187)? + rt::tl(&__t2027)? }; - rt::tl(&__t2188)? + rt::tl(&__t2028)? }; - rt::tl(&__t2189)? + rt::tl(&__t2029)? }; - rt::tl(&__t2190)? - }; - rt::eq(&__t2186, &__t2191) - }; - Value::bool(rt::is_truthy(interp, &__t2193)?) + rt::tl(&__t2030)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2032)?) } }; - Value::bool(rt::is_truthy(interp, &__t2195)?) + Value::bool(rt::is_truthy(interp, &__t2034)?) } }; - Value::bool(rt::is_truthy(interp, &__t2197)?) + Value::bool(rt::is_truthy(interp, &__t2036)?) } }; - Value::bool(rt::is_truthy(interp, &__t2199)?) + Value::bool(rt::is_truthy(interp, &__t2038)?) } }; - Value::bool(rt::is_truthy(interp, &__t2201)?) + Value::bool(rt::is_truthy(interp, &__t2040)?) } }; - if match rt::is_truthy(interp, &__t2216) { + if match rt::is_truthy(interp, &__t2055) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2204 = { - let __t2203 = { - let __t2202 = v_V860.clone(); - rt::tl(&__t2202)? + let __t2043 = { + let __t2042 = { + let __t2041 = v_V860.clone(); + rt::tl(&__t2041)? }; - rt::hd(&__t2203)? + rt::hd(&__t2042)? }; - let __t2208 = { - let __t2207 = { - let __t2206 = { - let __t2205 = v_V860.clone(); - rt::tl(&__t2205)? + let __t2047 = { + let __t2046 = { + let __t2045 = { + let __t2044 = v_V860.clone(); + rt::tl(&__t2044)? }; - rt::tl(&__t2206)? + rt::tl(&__t2045)? }; - rt::hd(&__t2207)? + rt::hd(&__t2046)? }; - let __t2215 = { - let __t2213 = { - let __t2212 = { - let __t2211 = { - let __t2210 = { - let __t2209 = v_V860.clone(); - rt::tl(&__t2209)? + let __t2054 = { + let __t2052 = { + let __t2051 = { + let __t2050 = { + let __t2049 = { + let __t2048 = v_V860.clone(); + rt::tl(&__t2048)? }; - rt::tl(&__t2210)? + rt::tl(&__t2049)? }; - rt::tl(&__t2211)? + rt::tl(&__t2050)? }; - rt::hd(&__t2212)? + rt::hd(&__t2051)? }; - let __t2214 = v_V861.clone(); - rt::apply_direct( + let __t2053 = v_V861.clone(); + aot_shen_x2e_recursively_x2d_factor_x2d_selectors( interp, - "shen.recursively-factor-selectors", - &[__t2213, __t2214], + &[__t2052, __t2053], )? }; - rt::apply_direct(interp, "shen.restore-local", &[__t2204, __t2208, __t2215])? + aot_shen_x2e_restore_x2d_local(interp, &[__t2043, __t2047, __t2054])? }); } else { { - let __t2172 = { - let __t2153 = { - let __t2133 = v_V860.clone(); - rt::is_cons(&__t2133) + let __t2015 = { + let __t1996 = { + let __t1980 = v_V860.clone(); + rt::is_cons(&__t1980) }; - if !rt::is_truthy(interp, &__t2153)? { + if !rt::is_truthy(interp, &__t1996)? { Value::bool(false) } else { - let __t2154 = { - let __t2151 = { - let __t2134 = Value::sym(interp.intern("and")); - let __t2136 = { - let __t2135 = v_V860.clone(); - rt::hd(&__t2135)? - }; - rt::eq(&__t2134, &__t2136) - }; - if !rt::is_truthy(interp, &__t2151)? { + let __t1997 = { + let __t1994 = Value::bool( + ({ + let __t1981 = v_V860.clone(); + rt::hd(&__t1981)? + }) + .as_sym() + == Some(interp.intern_static("and")), + ); + if !rt::is_truthy(interp, &__t1994)? { Value::bool(false) } else { - let __t2152 = { - let __t2149 = { - let __t2138 = { - let __t2137 = v_V860.clone(); - rt::tl(&__t2137)? + let __t1995 = { + let __t1992 = { + let __t1983 = { + let __t1982 = v_V860.clone(); + rt::tl(&__t1982)? }; - rt::is_cons(&__t2138) + rt::is_cons(&__t1983) }; - if !rt::is_truthy(interp, &__t2149)? { + if !rt::is_truthy(interp, &__t1992)? { Value::bool(false) } else { - let __t2150 = { - let __t2147 = { - let __t2141 = { - let __t2140 = { - let __t2139 = v_V860.clone(); - rt::tl(&__t2139)? + let __t1993 = { + let __t1990 = { + let __t1986 = { + let __t1985 = { + let __t1984 = v_V860.clone(); + rt::tl(&__t1984)? }; - rt::tl(&__t2140)? + rt::tl(&__t1985)? }; - rt::is_cons(&__t2141) + rt::is_cons(&__t1986) }; - if !rt::is_truthy(interp, &__t2147)? { + if !rt::is_truthy(interp, &__t1990)? { Value::bool(false) } else { - let __t2148 = { - let __t2142 = Value::nil(); - let __t2146 = { - let __t2145 = { - let __t2144 = { - let __t2143 = v_V860.clone(); - rt::tl(&__t2143)? + let __t1991 = Value::bool( + ({ + let __t1989 = { + let __t1988 = { + let __t1987 = v_V860.clone(); + rt::tl(&__t1987)? }; - rt::tl(&__t2144)? + rt::tl(&__t1988)? }; - rt::tl(&__t2145)? - }; - rt::eq(&__t2142, &__t2146) - }; - Value::bool(rt::is_truthy(interp, &__t2148)?) + rt::tl(&__t1989)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1991)?) } }; - Value::bool(rt::is_truthy(interp, &__t2150)?) + Value::bool(rt::is_truthy(interp, &__t1993)?) } }; - Value::bool(rt::is_truthy(interp, &__t2152)?) + Value::bool(rt::is_truthy(interp, &__t1995)?) } }; - Value::bool(rt::is_truthy(interp, &__t2154)?) + Value::bool(rt::is_truthy(interp, &__t1997)?) } }; - if match rt::is_truthy(interp, &__t2172) { + if match rt::is_truthy(interp, &__t2015) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2157 = { - let __t2156 = { - let __t2155 = v_V860.clone(); - rt::tl(&__t2155)? + let __t2000 = { + let __t1999 = { + let __t1998 = v_V860.clone(); + rt::tl(&__t1998)? }; - rt::hd(&__t2156)? - }; - let __t2171 = { - let __t2165 = { - let __t2160 = { - let __t2159 = { - let __t2158 = v_V860.clone(); - rt::tl(&__t2158)? + rt::hd(&__t1999)? + }; + let __t2014 = { + let __t2008 = { + let __t2003 = { + let __t2002 = { + let __t2001 = v_V860.clone(); + rt::tl(&__t2001)? }; - rt::hd(&__t2159)? + rt::hd(&__t2002)? }; - let __t2164 = { - let __t2163 = { - let __t2162 = { - let __t2161 = v_V860.clone(); - rt::tl(&__t2161)? + let __t2007 = { + let __t2006 = { + let __t2005 = { + let __t2004 = v_V860.clone(); + rt::tl(&__t2004)? }; - rt::tl(&__t2162)? + rt::tl(&__t2005)? }; - rt::hd(&__t2163)? + rt::hd(&__t2006)? }; - rt::apply_direct( - interp, - "shen.factor-selectors", - &[__t2160, __t2164], - )? + aot_shen_x2e_factor_x2d_selectors(interp, &[__t2003, __t2007])? }; - let __t2170 = { - let __t2168 = { - let __t2167 = { - let __t2166 = v_V860.clone(); - rt::tl(&__t2166)? + let __t2013 = { + let __t2011 = { + let __t2010 = { + let __t2009 = v_V860.clone(); + rt::tl(&__t2009)? }; - rt::hd(&__t2167)? + rt::hd(&__t2010)? }; - let __t2169 = v_V861.clone(); - rt::apply_direct( - interp, - "shen.factor-selectors", - &[__t2168, __t2169], - )? + let __t2012 = v_V861.clone(); + aot_shen_x2e_factor_x2d_selectors(interp, &[__t2011, __t2012])? }; - rt::apply_direct( + aot_shen_x2e_recursively_x2d_factor_x2d_selectors( interp, - "shen.recursively-factor-selectors", - &[__t2165, __t2170], + &[__t2008, __t2013], )? }; - rt::apply_direct(interp, "shen.restore-P", &[__t2157, __t2171])? + aot_shen_x2e_restore_x2d_P(interp, &[__t2000, __t2014])? }); } else { { - let __t2132 = Value::bool(true); - if match rt::is_truthy(interp, &__t2132) { + let __t1979 = Value::bool(true); + if match rt::is_truthy(interp, &__t1979) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2128 = v_V860.clone(); - let __t2131 = { - let __t2129 = v_V861.clone(); - let __t2130 = Value::nil(); - rt::cons(&__t2129, &__t2130) + let __t1975 = v_V860.clone(); + let __t1978 = { + let __t1976 = v_V861.clone(); + let __t1977 = Value::nil(); + rt::cons(&__t1976, &__t1977) }; - rt::cons(&__t2128, &__t2131) + rt::cons(&__t1975, &__t1978) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9904,79 +9544,78 @@ pub fn aot_shen_x2e_restore_x2d_P(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t2240 = { - let __t2228 = { - let __t2219 = v_V863.clone(); - rt::is_cons(&__t2219) + let __t2077 = { + let __t2065 = { + let __t2058 = v_V863.clone(); + rt::is_cons(&__t2058) }; - if !rt::is_truthy(interp, &__t2228)? { + if !rt::is_truthy(interp, &__t2065)? { Value::bool(false) } else { - let __t2229 = { - let __t2226 = { - let __t2221 = { - let __t2220 = v_V863.clone(); - rt::tl(&__t2220)? + let __t2066 = { + let __t2063 = { + let __t2060 = { + let __t2059 = v_V863.clone(); + rt::tl(&__t2059)? }; - rt::is_cons(&__t2221) + rt::is_cons(&__t2060) }; - if !rt::is_truthy(interp, &__t2226)? { + if !rt::is_truthy(interp, &__t2063)? { Value::bool(false) } else { - let __t2227 = { - let __t2222 = Value::nil(); - let __t2225 = { - let __t2224 = { - let __t2223 = v_V863.clone(); - rt::tl(&__t2223)? + let __t2064 = Value::bool( + ({ + let __t2062 = { + let __t2061 = v_V863.clone(); + rt::tl(&__t2061)? }; - rt::tl(&__t2224)? - }; - rt::eq(&__t2222, &__t2225) - }; - Value::bool(rt::is_truthy(interp, &__t2227)?) + rt::tl(&__t2062)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2064)?) } }; - Value::bool(rt::is_truthy(interp, &__t2229)?) + Value::bool(rt::is_truthy(interp, &__t2066)?) } }; - if match rt::is_truthy(interp, &__t2240) { + if match rt::is_truthy(interp, &__t2077) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2237 = { - let __t2230 = Value::sym(interp.intern("and")); - let __t2236 = { - let __t2231 = v_V862.clone(); - let __t2235 = { - let __t2233 = { - let __t2232 = v_V863.clone(); - rt::hd(&__t2232)? + let __t2074 = { + let __t2067 = Value::sym(interp.intern_static("and")); + let __t2073 = { + let __t2068 = v_V862.clone(); + let __t2072 = { + let __t2070 = { + let __t2069 = v_V863.clone(); + rt::hd(&__t2069)? }; - let __t2234 = Value::nil(); - rt::cons(&__t2233, &__t2234) + let __t2071 = Value::nil(); + rt::cons(&__t2070, &__t2071) }; - rt::cons(&__t2231, &__t2235) + rt::cons(&__t2068, &__t2072) }; - rt::cons(&__t2230, &__t2236) + rt::cons(&__t2067, &__t2073) }; - let __t2239 = { - let __t2238 = v_V863.clone(); - rt::tl(&__t2238)? + let __t2076 = { + let __t2075 = v_V863.clone(); + rt::tl(&__t2075)? }; - rt::cons(&__t2237, &__t2239) + rt::cons(&__t2074, &__t2076) }); } else { { - let __t2218 = Value::bool(true); - if match rt::is_truthy(interp, &__t2218) { + let __t2057 = Value::bool(true); + if match rt::is_truthy(interp, &__t2057) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2217 = Value::str("partial function shen.restore-P"); - rt::apply_direct(interp, "simple-error", &[__t2217])? + let __t2056 = Value::str("partial function shen.restore-P"); + rt::apply_direct(interp, "simple-error", &[__t2056])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -10009,83 +9648,82 @@ pub fn aot_shen_x2e_restore_x2d_local(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let __t2266 = { - let __t2252 = { - let __t2243 = v_V866.clone(); - rt::is_cons(&__t2243) + let __t2101 = { + let __t2087 = { + let __t2080 = v_V866.clone(); + rt::is_cons(&__t2080) }; - if !rt::is_truthy(interp, &__t2252)? { + if !rt::is_truthy(interp, &__t2087)? { Value::bool(false) } else { - let __t2253 = { - let __t2250 = { - let __t2245 = { - let __t2244 = v_V866.clone(); - rt::tl(&__t2244)? + let __t2088 = { + let __t2085 = { + let __t2082 = { + let __t2081 = v_V866.clone(); + rt::tl(&__t2081)? }; - rt::is_cons(&__t2245) + rt::is_cons(&__t2082) }; - if !rt::is_truthy(interp, &__t2250)? { + if !rt::is_truthy(interp, &__t2085)? { Value::bool(false) } else { - let __t2251 = { - let __t2246 = Value::nil(); - let __t2249 = { - let __t2248 = { - let __t2247 = v_V866.clone(); - rt::tl(&__t2247)? + let __t2086 = Value::bool( + ({ + let __t2084 = { + let __t2083 = v_V866.clone(); + rt::tl(&__t2083)? }; - rt::tl(&__t2248)? - }; - rt::eq(&__t2246, &__t2249) - }; - Value::bool(rt::is_truthy(interp, &__t2251)?) + rt::tl(&__t2084)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2086)?) } }; - Value::bool(rt::is_truthy(interp, &__t2253)?) + Value::bool(rt::is_truthy(interp, &__t2088)?) } }; - if match rt::is_truthy(interp, &__t2266) { + if match rt::is_truthy(interp, &__t2101) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2263 = { - let __t2254 = Value::sym(interp.intern("let")); - let __t2262 = { - let __t2255 = v_V864.clone(); - let __t2261 = { - let __t2256 = v_V865.clone(); - let __t2260 = { - let __t2258 = { - let __t2257 = v_V866.clone(); - rt::hd(&__t2257)? + let __t2098 = { + let __t2089 = Value::sym(interp.intern_static("let")); + let __t2097 = { + let __t2090 = v_V864.clone(); + let __t2096 = { + let __t2091 = v_V865.clone(); + let __t2095 = { + let __t2093 = { + let __t2092 = v_V866.clone(); + rt::hd(&__t2092)? }; - let __t2259 = Value::nil(); - rt::cons(&__t2258, &__t2259) + let __t2094 = Value::nil(); + rt::cons(&__t2093, &__t2094) }; - rt::cons(&__t2256, &__t2260) + rt::cons(&__t2091, &__t2095) }; - rt::cons(&__t2255, &__t2261) + rt::cons(&__t2090, &__t2096) }; - rt::cons(&__t2254, &__t2262) + rt::cons(&__t2089, &__t2097) }; - let __t2265 = { - let __t2264 = v_V866.clone(); - rt::tl(&__t2264)? + let __t2100 = { + let __t2099 = v_V866.clone(); + rt::tl(&__t2099)? }; - rt::cons(&__t2263, &__t2265) + rt::cons(&__t2098, &__t2100) }); } else { { - let __t2242 = Value::bool(true); - if match rt::is_truthy(interp, &__t2242) { + let __t2079 = Value::bool(true); + if match rt::is_truthy(interp, &__t2079) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2241 = Value::str("partial function shen.restore-local"); - rt::apply_direct(interp, "simple-error", &[__t2241])? + let __t2078 = Value::str("partial function shen.restore-local"); + rt::apply_direct(interp, "simple-error", &[__t2078])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -10114,34 +9752,33 @@ pub fn aot_shen_x2e_bad_x2d_pivot_x3f_(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t2274 = { - let __t2272 = { - let __t2268 = v_V871.clone(); - rt::is_cons(&__t2268) + let __t2107 = { + let __t2105 = { + let __t2103 = v_V871.clone(); + rt::is_cons(&__t2103) }; - if !rt::is_truthy(interp, &__t2272)? { + if !rt::is_truthy(interp, &__t2105)? { Value::bool(false) } else { - let __t2273 = { - let __t2269 = Value::nil(); - let __t2271 = { - let __t2270 = v_V871.clone(); - rt::tl(&__t2270)? - }; - rt::eq(&__t2269, &__t2271) - }; - Value::bool(rt::is_truthy(interp, &__t2273)?) + let __t2106 = Value::bool( + ({ + let __t2104 = v_V871.clone(); + rt::tl(&__t2104)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2106)?) } }; - if match rt::is_truthy(interp, &__t2274) { + if match rt::is_truthy(interp, &__t2107) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2267 = Value::bool(true); - if match rt::is_truthy(interp, &__t2267) { + let __t2102 = Value::bool(true); + if match rt::is_truthy(interp, &__t2102) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10176,269 +9813,254 @@ pub fn aot_shen_x2e_remove_x2d_indirection( #[allow(clippy::never_loop)] loop { { - let __t2399 = { - let __t2381 = { - let __t2276 = v_V872.clone(); - rt::is_cons(&__t2276) + let __t2220 = { + let __t2202 = { + let __t2109 = v_V872.clone(); + rt::is_cons(&__t2109) }; - if !rt::is_truthy(interp, &__t2381)? { + if !rt::is_truthy(interp, &__t2202)? { Value::bool(false) } else { - let __t2382 = { - let __t2379 = { - let __t2277 = Value::sym(interp.intern("let")); - let __t2279 = { - let __t2278 = v_V872.clone(); - rt::hd(&__t2278)? - }; - rt::eq(&__t2277, &__t2279) - }; - if !rt::is_truthy(interp, &__t2379)? { + let __t2203 = { + let __t2200 = Value::bool( + ({ + let __t2110 = v_V872.clone(); + rt::hd(&__t2110)? + }) + .as_sym() + == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t2200)? { Value::bool(false) } else { - let __t2380 = { - let __t2377 = { - let __t2281 = { - let __t2280 = v_V872.clone(); - rt::tl(&__t2280)? + let __t2201 = { + let __t2198 = { + let __t2112 = { + let __t2111 = v_V872.clone(); + rt::tl(&__t2111)? }; - rt::is_cons(&__t2281) + rt::is_cons(&__t2112) }; - if !rt::is_truthy(interp, &__t2377)? { + if !rt::is_truthy(interp, &__t2198)? { Value::bool(false) } else { - let __t2378 = { - let __t2375 = { - let __t2284 = { - let __t2283 = { - let __t2282 = v_V872.clone(); - rt::tl(&__t2282)? + let __t2199 = { + let __t2196 = { + let __t2115 = { + let __t2114 = { + let __t2113 = v_V872.clone(); + rt::tl(&__t2113)? }; - rt::tl(&__t2283)? + rt::tl(&__t2114)? }; - rt::is_cons(&__t2284) + rt::is_cons(&__t2115) }; - if !rt::is_truthy(interp, &__t2375)? { + if !rt::is_truthy(interp, &__t2196)? { Value::bool(false) } else { - let __t2376 = { - let __t2373 = { - let __t2288 = { - let __t2287 = { - let __t2286 = { - let __t2285 = v_V872.clone(); - rt::tl(&__t2285)? + let __t2197 = { + let __t2194 = { + let __t2119 = { + let __t2118 = { + let __t2117 = { + let __t2116 = v_V872.clone(); + rt::tl(&__t2116)? }; - rt::tl(&__t2286)? + rt::tl(&__t2117)? }; - rt::hd(&__t2287)? + rt::hd(&__t2118)? }; - rt::is_cons(&__t2288) + rt::is_cons(&__t2119) }; - if !rt::is_truthy(interp, &__t2373)? { + if !rt::is_truthy(interp, &__t2194)? { Value::bool(false) } else { - let __t2374 = { - let __t2371 = { - let __t2289 = - Value::sym(interp.intern("freeze")); - let __t2294 = { - let __t2293 = { - let __t2292 = { - let __t2291 = { - let __t2290 = + let __t2195 = { + let __t2192 = Value::bool( + ({ + let __t2123 = { + let __t2122 = { + let __t2121 = { + let __t2120 = v_V872.clone(); - rt::tl(&__t2290)? + rt::tl(&__t2120)? }; - rt::tl(&__t2291)? + rt::tl(&__t2121)? }; - rt::hd(&__t2292)? + rt::hd(&__t2122)? }; - rt::hd(&__t2293)? - }; - rt::eq(&__t2289, &__t2294) - }; - if !rt::is_truthy(interp, &__t2371)? { + rt::hd(&__t2123)? + }) + .as_sym() + == Some( + interp.intern_static("freeze"), + ), + ); + if !rt::is_truthy(interp, &__t2192)? { Value::bool(false) } else { - let __t2372 = { - let __t2369 = { - let __t2299 = { - let __t2298 = { - let __t2297 = { - let __t2296 = { - let __t2295 = + let __t2193 = { + let __t2190 = { + let __t2128 = { + let __t2127 = { + let __t2126 = { + let __t2125 = { + let __t2124 = v_V872 .clone( ); rt::tl( - &__t2295, + &__t2124, )? }; - rt::tl(&__t2296)? + rt::tl(&__t2125)? }; - rt::hd(&__t2297)? + rt::hd(&__t2126)? }; - rt::tl(&__t2298)? + rt::tl(&__t2127)? }; - rt::is_cons(&__t2299) + rt::is_cons(&__t2128) }; - if !rt::is_truthy(interp, &__t2369)? + if !rt::is_truthy(interp, &__t2190)? { Value::bool(false) } else { - let __t2370 = { - let __t2367 = { - let __t2305 = { - let __t2304 = { - let __t2303 = { - let __t2302 = { - let __t2301 = { - let __t2300 = v_V872.clone(); - rt::tl(&__t2300)? + let __t2191 = { + let __t2188 = { + let __t2134 = { + let __t2133 = { + let __t2132 = { + let __t2131 = { + let __t2130 = { + let __t2129 = v_V872.clone(); + rt::tl(&__t2129)? }; - rt::tl(&__t2301)? + rt::tl(&__t2130)? }; - rt::hd(&__t2302)? + rt::hd(&__t2131)? }; rt::tl( - &__t2303, + &__t2132, )? }; - rt::hd(&__t2304)? + rt::hd(&__t2133)? }; - rt::is_cons(&__t2305) + rt::is_cons(&__t2134) }; if !rt::is_truthy( - interp, &__t2367, + interp, &__t2188, )? { Value::bool(false) } else { - let __t2368 = { - let __t2365 = { - let __t2306 = Value::sym(interp.intern("thaw")); - let __t2313 = { - let __t2312 = { - let __t2311 = { - let __t2310 = { let __t2309 = { let __t2308 = { let __t2307 = v_V872.clone(); rt::tl(&__t2307)? }; rt::tl(&__t2308)? }; rt::hd(&__t2309)? }; - rt::tl(&__t2310)? - }; - rt::hd(&__t2311)? - }; - rt::hd(&__t2312)? - }; - rt::eq( - &__t2306, - &__t2313, - ) - }; + let __t2189 = { + let __t2186 = Value::bool(({ let __t2140 = { let __t2139 = { let __t2138 = { let __t2137 = { let __t2136 = { let __t2135 = v_V872.clone(); rt::tl(&__t2135)? }; rt::tl(&__t2136)? }; rt::hd(&__t2137)? }; rt::tl(&__t2138)? }; rt::hd(&__t2139)? }; rt::hd(&__t2140)? }).as_sym() == Some(interp.intern_static("thaw"))); if !rt::is_truthy( interp, - &__t2365, + &__t2186, )? { Value::bool( false, ) } else { - let __t2366 = { - let __t2363 = { - let __t2320 = { - let __t2319 = { let __t2318 = { let __t2317 = { let __t2316 = { let __t2315 = { let __t2314 = v_V872.clone(); rt::tl(&__t2314)? }; rt::tl(&__t2315)? }; rt::hd(&__t2316)? }; rt::tl(&__t2317)? }; rt::hd(&__t2318)? }; - rt::tl(&__t2319)? + let __t2187 = { + let __t2184 = { + let __t2147 = { + let __t2146 = { let __t2145 = { let __t2144 = { let __t2143 = { let __t2142 = { let __t2141 = v_V872.clone(); rt::tl(&__t2141)? }; rt::tl(&__t2142)? }; rt::hd(&__t2143)? }; rt::tl(&__t2144)? }; rt::hd(&__t2145)? }; + rt::tl(&__t2146)? }; - rt::is_cons(&__t2320) + rt::is_cons(&__t2147) }; - if !rt::is_truthy(interp, &__t2363)? { Value::bool(false) } else { let __t2364 = { let __t2361 = { let __t2321 = Value::nil(); let __t2329 = { let __t2328 = { let __t2327 = { let __t2326 = { let __t2325 = { let __t2324 = { let __t2323 = { let __t2322 = v_V872.clone(); rt::tl(&__t2322)? }; rt::tl(&__t2323)? }; rt::hd(&__t2324)? }; rt::tl(&__t2325)? }; rt::hd(&__t2326)? }; rt::tl(&__t2327)? }; rt::tl(&__t2328)? }; rt::eq(&__t2321, &__t2329) }; if !rt::is_truthy(interp, &__t2361)? { Value::bool(false) } else { let __t2362 = { let __t2359 = { let __t2330 = Value::nil(); let __t2336 = { let __t2335 = { let __t2334 = { let __t2333 = { let __t2332 = { let __t2331 = v_V872.clone(); rt::tl(&__t2331)? }; rt::tl(&__t2332)? }; rt::hd(&__t2333)? }; rt::tl(&__t2334)? }; rt::tl(&__t2335)? }; rt::eq(&__t2330, &__t2336) }; if !rt::is_truthy(interp, &__t2359)? { Value::bool(false) } else { let __t2360 = { let __t2357 = { let __t2340 = { let __t2339 = { let __t2338 = { let __t2337 = v_V872.clone(); rt::tl(&__t2337)? }; rt::tl(&__t2338)? }; rt::tl(&__t2339)? }; rt::is_cons(&__t2340) }; if !rt::is_truthy(interp, &__t2357)? { Value::bool(false) } else { let __t2358 = { let __t2355 = { let __t2341 = Value::nil(); let __t2346 = { let __t2345 = { let __t2344 = { let __t2343 = { let __t2342 = v_V872.clone(); rt::tl(&__t2342)? }; rt::tl(&__t2343)? }; rt::tl(&__t2344)? }; rt::tl(&__t2345)? }; rt::eq(&__t2341, &__t2346) }; if !rt::is_truthy(interp, &__t2355)? { Value::bool(false) } else { let __t2356 = { let __t2354 = { let __t2353 = { let __t2352 = { let __t2351 = { let __t2350 = { let __t2349 = { let __t2348 = { let __t2347 = v_V872.clone(); rt::tl(&__t2347)? }; rt::tl(&__t2348)? }; rt::hd(&__t2349)? }; rt::tl(&__t2350)? }; rt::hd(&__t2351)? }; rt::tl(&__t2352)? }; rt::hd(&__t2353)? }; rt::is_symbol(&__t2354) }; Value::bool(rt::is_truthy(interp, &__t2356)?) } }; Value::bool(rt::is_truthy(interp, &__t2358)?) } }; Value::bool(rt::is_truthy(interp, &__t2360)?) } }; Value::bool(rt::is_truthy(interp, &__t2362)?) } }; Value::bool(rt::is_truthy(interp, &__t2364)?) } + if !rt::is_truthy(interp, &__t2184)? { Value::bool(false) } else { let __t2185 = { let __t2182 = Value::bool(({ let __t2154 = { let __t2153 = { let __t2152 = { let __t2151 = { let __t2150 = { let __t2149 = { let __t2148 = v_V872.clone(); rt::tl(&__t2148)? }; rt::tl(&__t2149)? }; rt::hd(&__t2150)? }; rt::tl(&__t2151)? }; rt::hd(&__t2152)? }; rt::tl(&__t2153)? }; rt::tl(&__t2154)? }).is_nil()); if !rt::is_truthy(interp, &__t2182)? { Value::bool(false) } else { let __t2183 = { let __t2180 = Value::bool(({ let __t2159 = { let __t2158 = { let __t2157 = { let __t2156 = { let __t2155 = v_V872.clone(); rt::tl(&__t2155)? }; rt::tl(&__t2156)? }; rt::hd(&__t2157)? }; rt::tl(&__t2158)? }; rt::tl(&__t2159)? }).is_nil()); if !rt::is_truthy(interp, &__t2180)? { Value::bool(false) } else { let __t2181 = { let __t2178 = { let __t2163 = { let __t2162 = { let __t2161 = { let __t2160 = v_V872.clone(); rt::tl(&__t2160)? }; rt::tl(&__t2161)? }; rt::tl(&__t2162)? }; rt::is_cons(&__t2163) }; if !rt::is_truthy(interp, &__t2178)? { Value::bool(false) } else { let __t2179 = { let __t2176 = Value::bool(({ let __t2167 = { let __t2166 = { let __t2165 = { let __t2164 = v_V872.clone(); rt::tl(&__t2164)? }; rt::tl(&__t2165)? }; rt::tl(&__t2166)? }; rt::tl(&__t2167)? }).is_nil()); if !rt::is_truthy(interp, &__t2176)? { Value::bool(false) } else { let __t2177 = { let __t2175 = { let __t2174 = { let __t2173 = { let __t2172 = { let __t2171 = { let __t2170 = { let __t2169 = { let __t2168 = v_V872.clone(); rt::tl(&__t2168)? }; rt::tl(&__t2169)? }; rt::hd(&__t2170)? }; rt::tl(&__t2171)? }; rt::hd(&__t2172)? }; rt::tl(&__t2173)? }; rt::hd(&__t2174)? }; rt::apply_direct(interp, "symbol?", &[__t2175])? }; Value::bool(rt::is_truthy(interp, &__t2177)?) } }; Value::bool(rt::is_truthy(interp, &__t2179)?) } }; Value::bool(rt::is_truthy(interp, &__t2181)?) } }; Value::bool(rt::is_truthy(interp, &__t2183)?) } }; Value::bool(rt::is_truthy(interp, &__t2185)?) } }; - Value::bool(rt::is_truthy(interp, &__t2366)?) + Value::bool(rt::is_truthy(interp, &__t2187)?) } }; Value::bool( rt::is_truthy( interp, - &__t2368, + &__t2189, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t2370, + interp, &__t2191, )?) } }; Value::bool(rt::is_truthy( - interp, &__t2372, + interp, &__t2193, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2374)?) + Value::bool(rt::is_truthy(interp, &__t2195)?) } }; - Value::bool(rt::is_truthy(interp, &__t2376)?) + Value::bool(rt::is_truthy(interp, &__t2197)?) } }; - Value::bool(rt::is_truthy(interp, &__t2378)?) + Value::bool(rt::is_truthy(interp, &__t2199)?) } }; - Value::bool(rt::is_truthy(interp, &__t2380)?) + Value::bool(rt::is_truthy(interp, &__t2201)?) } }; - Value::bool(rt::is_truthy(interp, &__t2382)?) + Value::bool(rt::is_truthy(interp, &__t2203)?) } }; - if match rt::is_truthy(interp, &__t2399) { + if match rt::is_truthy(interp, &__t2220) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2390 = { - let __t2389 = { - let __t2388 = { - let __t2387 = { - let __t2386 = { - let __t2385 = { - let __t2384 = { - let __t2383 = v_V872.clone(); - rt::tl(&__t2383)? + let __t2211 = { + let __t2210 = { + let __t2209 = { + let __t2208 = { + let __t2207 = { + let __t2206 = { + let __t2205 = { + let __t2204 = v_V872.clone(); + rt::tl(&__t2204)? }; - rt::tl(&__t2384)? + rt::tl(&__t2205)? }; - rt::hd(&__t2385)? + rt::hd(&__t2206)? }; - rt::tl(&__t2386)? + rt::tl(&__t2207)? }; - rt::hd(&__t2387)? + rt::hd(&__t2208)? }; - rt::tl(&__t2388)? + rt::tl(&__t2209)? }; - rt::hd(&__t2389)? + rt::hd(&__t2210)? }; - let __t2393 = { - let __t2392 = { - let __t2391 = v_V872.clone(); - rt::tl(&__t2391)? + let __t2214 = { + let __t2213 = { + let __t2212 = v_V872.clone(); + rt::tl(&__t2212)? }; - rt::hd(&__t2392)? + rt::hd(&__t2213)? }; - let __t2398 = { - let __t2397 = { - let __t2396 = { - let __t2395 = { - let __t2394 = v_V872.clone(); - rt::tl(&__t2394)? + let __t2219 = { + let __t2218 = { + let __t2217 = { + let __t2216 = { + let __t2215 = v_V872.clone(); + rt::tl(&__t2215)? }; - rt::tl(&__t2395)? + rt::tl(&__t2216)? }; - rt::tl(&__t2396)? + rt::tl(&__t2217)? }; - rt::hd(&__t2397)? + rt::hd(&__t2218)? }; - rt::apply_direct(interp, "subst", &[__t2390, __t2393, __t2398])? + rt::apply_direct(interp, "subst", &[__t2211, __t2214, __t2219])? }); } else { { - let __t2275 = Value::bool(true); - if match rt::is_truthy(interp, &__t2275) { + let __t2108 = Value::bool(true); + if match rt::is_truthy(interp, &__t2108) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10481,398 +10103,358 @@ pub fn aot_shen_x2e_pivot_x2d_on(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t2517 = { - let __t2496 = { - let __t2439 = v_V876.clone(); - rt::is_cons(&__t2439) + let __t2330 = { + let __t2309 = { + let __t2258 = v_V876.clone(); + rt::is_cons(&__t2258) }; - if !rt::is_truthy(interp, &__t2496)? { + if !rt::is_truthy(interp, &__t2309)? { Value::bool(false) } else { - let __t2497 = { - let __t2494 = { - let __t2441 = { - let __t2440 = v_V876.clone(); - rt::hd(&__t2440)? + let __t2310 = { + let __t2307 = { + let __t2260 = { + let __t2259 = v_V876.clone(); + rt::hd(&__t2259)? }; - rt::is_cons(&__t2441) + rt::is_cons(&__t2260) }; - if !rt::is_truthy(interp, &__t2494)? { + if !rt::is_truthy(interp, &__t2307)? { Value::bool(false) } else { - let __t2495 = { - let __t2492 = { - let __t2444 = { - let __t2443 = { - let __t2442 = v_V876.clone(); - rt::hd(&__t2442)? + let __t2308 = { + let __t2305 = { + let __t2263 = { + let __t2262 = { + let __t2261 = v_V876.clone(); + rt::hd(&__t2261)? }; - rt::hd(&__t2443)? + rt::hd(&__t2262)? }; - rt::is_cons(&__t2444) + rt::is_cons(&__t2263) }; - if !rt::is_truthy(interp, &__t2492)? { + if !rt::is_truthy(interp, &__t2305)? { Value::bool(false) } else { - let __t2493 = { - let __t2490 = { - let __t2445 = Value::sym(interp.intern("and")); - let __t2449 = { - let __t2448 = { - let __t2447 = { - let __t2446 = v_V876.clone(); - rt::hd(&__t2446)? + let __t2306 = { + let __t2303 = Value::bool( + ({ + let __t2266 = { + let __t2265 = { + let __t2264 = v_V876.clone(); + rt::hd(&__t2264)? }; - rt::hd(&__t2447)? + rt::hd(&__t2265)? }; - rt::hd(&__t2448)? - }; - rt::eq(&__t2445, &__t2449) - }; - if !rt::is_truthy(interp, &__t2490)? { + rt::hd(&__t2266)? + }) + .as_sym() + == Some(interp.intern_static("and")), + ); + if !rt::is_truthy(interp, &__t2303)? { Value::bool(false) } else { - let __t2491 = { - let __t2488 = { - let __t2453 = { - let __t2452 = { - let __t2451 = { - let __t2450 = v_V876.clone(); - rt::hd(&__t2450)? + let __t2304 = { + let __t2301 = { + let __t2270 = { + let __t2269 = { + let __t2268 = { + let __t2267 = v_V876.clone(); + rt::hd(&__t2267)? }; - rt::hd(&__t2451)? + rt::hd(&__t2268)? }; - rt::tl(&__t2452)? + rt::tl(&__t2269)? }; - rt::is_cons(&__t2453) + rt::is_cons(&__t2270) }; - if !rt::is_truthy(interp, &__t2488)? { + if !rt::is_truthy(interp, &__t2301)? { Value::bool(false) } else { - let __t2489 = { - let __t2486 = { - let __t2458 = { - let __t2457 = { - let __t2456 = { - let __t2455 = { - let __t2454 = + let __t2302 = { + let __t2299 = { + let __t2275 = { + let __t2274 = { + let __t2273 = { + let __t2272 = { + let __t2271 = v_V876.clone(); - rt::hd(&__t2454)? + rt::hd(&__t2271)? }; - rt::hd(&__t2455)? + rt::hd(&__t2272)? }; - rt::tl(&__t2456)? + rt::tl(&__t2273)? }; - rt::tl(&__t2457)? + rt::tl(&__t2274)? }; - rt::is_cons(&__t2458) + rt::is_cons(&__t2275) }; - if !rt::is_truthy(interp, &__t2486)? { + if !rt::is_truthy(interp, &__t2299)? { Value::bool(false) } else { - let __t2487 = { - let __t2484 = { - let __t2459 = Value::nil(); - let __t2465 = { - let __t2464 = { - let __t2463 = { - let __t2462 = { - let __t2461 = { - let __t2460 = v_V876.clone(); - rt::hd(&__t2460)? - }; - rt::hd( - &__t2461, - )? - }; - rt::tl(&__t2462)? - }; - rt::tl(&__t2463)? - }; - rt::tl(&__t2464)? - }; - rt::eq(&__t2459, &__t2465) - }; - if !rt::is_truthy(interp, &__t2484)? + let __t2300 = { + let __t2297 = Value::bool(({ let __t2280 = { let __t2279 = { let __t2278 = { let __t2277 = { let __t2276 = v_V876.clone(); rt::hd(&__t2276)? }; rt::hd(&__t2277)? }; rt::tl(&__t2278)? }; rt::tl(&__t2279)? }; rt::tl(&__t2280)? }).is_nil()); + if !rt::is_truthy(interp, &__t2297)? { Value::bool(false) } else { - let __t2485 = { - let __t2482 = { - let __t2468 = { - let __t2467 = { - let __t2466 = + let __t2298 = { + let __t2295 = { + let __t2283 = { + let __t2282 = { + let __t2281 = v_V876 .clone( ); rt::hd( - &__t2466, + &__t2281, )? }; - rt::tl(&__t2467)? + rt::tl(&__t2282)? }; - rt::is_cons(&__t2468) + rt::is_cons(&__t2283) }; if !rt::is_truthy( - interp, &__t2482, + interp, &__t2295, )? { Value::bool(false) } else { - let __t2483 = { - let __t2480 = { - let __t2469 = - Value::nil( - ); - let __t2473 = { - let __t2472 = { - let __t2471 = { - let __t2470 = v_V876.clone(); - rt::hd(&__t2470)? - }; - rt::tl(&__t2471)? - }; - rt::tl(&__t2472)? - }; - rt::eq( - &__t2469, - &__t2473, - ) - }; + let __t2296 = { + let __t2293 = Value::bool(({ let __t2286 = { let __t2285 = { let __t2284 = v_V876.clone(); rt::hd(&__t2284)? }; rt::tl(&__t2285)? }; rt::tl(&__t2286)? }).is_nil()); if !rt::is_truthy( interp, - &__t2480, + &__t2293, )? { Value::bool( false, ) } else { - let __t2481 = { - let __t2474 = v_V875.clone(); - let __t2479 = { - let __t2478 = { - let __t2477 = { let __t2476 = { let __t2475 = v_V876.clone(); rt::hd(&__t2475)? }; rt::hd(&__t2476)? }; - rt::tl(&__t2477)? + let __t2294 = { + let __t2287 = v_V875.clone(); + let __t2292 = { + let __t2291 = { + let __t2290 = { let __t2289 = { let __t2288 = v_V876.clone(); rt::hd(&__t2288)? }; rt::hd(&__t2289)? }; + rt::tl(&__t2290)? }; - rt::hd(&__t2478)? + rt::hd(&__t2291)? }; - rt::eq(&__t2474, &__t2479) + rt::eq(&__t2287, &__t2292) }; - Value::bool(rt::is_truthy(interp, &__t2481)?) + Value::bool(rt::is_truthy(interp, &__t2294)?) } }; Value::bool( rt::is_truthy( interp, - &__t2483, + &__t2296, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t2485, + interp, &__t2298, )?) } }; Value::bool(rt::is_truthy( - interp, &__t2487, + interp, &__t2300, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2489)?) + Value::bool(rt::is_truthy(interp, &__t2302)?) } }; - Value::bool(rt::is_truthy(interp, &__t2491)?) + Value::bool(rt::is_truthy(interp, &__t2304)?) } }; - Value::bool(rt::is_truthy(interp, &__t2493)?) + Value::bool(rt::is_truthy(interp, &__t2306)?) } }; - Value::bool(rt::is_truthy(interp, &__t2495)?) + Value::bool(rt::is_truthy(interp, &__t2308)?) } }; - Value::bool(rt::is_truthy(interp, &__t2497)?) + Value::bool(rt::is_truthy(interp, &__t2310)?) } }; - if match rt::is_truthy(interp, &__t2517) { + if match rt::is_truthy(interp, &__t2330) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2502 = { - let __t2501 = { - let __t2500 = { - let __t2499 = { - let __t2498 = v_V876.clone(); - rt::hd(&__t2498)? + let __t2315 = { + let __t2314 = { + let __t2313 = { + let __t2312 = { + let __t2311 = v_V876.clone(); + rt::hd(&__t2311)? }; - rt::hd(&__t2499)? + rt::hd(&__t2312)? }; - rt::tl(&__t2500)? + rt::tl(&__t2313)? }; - rt::hd(&__t2501)? + rt::hd(&__t2314)? }; - let __t2504 = { - let __t2503 = v_V876.clone(); - rt::tl(&__t2503)? + let __t2317 = { + let __t2316 = v_V876.clone(); + rt::tl(&__t2316)? }; - let __t2516 = { - let __t2514 = { - let __t2510 = { - let __t2509 = { - let __t2508 = { - let __t2507 = { - let __t2506 = { - let __t2505 = v_V876.clone(); - rt::hd(&__t2505)? + let __t2329 = { + let __t2327 = { + let __t2323 = { + let __t2322 = { + let __t2321 = { + let __t2320 = { + let __t2319 = { + let __t2318 = v_V876.clone(); + rt::hd(&__t2318)? }; - rt::hd(&__t2506)? + rt::hd(&__t2319)? }; - rt::tl(&__t2507)? + rt::tl(&__t2320)? }; - rt::tl(&__t2508)? + rt::tl(&__t2321)? }; - rt::hd(&__t2509)? + rt::hd(&__t2322)? }; - let __t2513 = { - let __t2512 = { - let __t2511 = v_V876.clone(); - rt::hd(&__t2511)? + let __t2326 = { + let __t2325 = { + let __t2324 = v_V876.clone(); + rt::hd(&__t2324)? }; - rt::tl(&__t2512)? + rt::tl(&__t2325)? }; - rt::cons(&__t2510, &__t2513) + rt::cons(&__t2323, &__t2326) }; - let __t2515 = v_V877.clone(); - rt::cons(&__t2514, &__t2515) + let __t2328 = v_V877.clone(); + rt::cons(&__t2327, &__t2328) }; - v_V875 = __t2502; - v_V876 = __t2504; - v_V877 = __t2516; + v_V875 = __t2315; + v_V876 = __t2317; + v_V877 = __t2329; continue; } } else { { - let __t2438 = { - let __t2424 = { - let __t2403 = v_V876.clone(); - rt::is_cons(&__t2403) + let __t2257 = { + let __t2243 = { + let __t2224 = v_V876.clone(); + rt::is_cons(&__t2224) }; - if !rt::is_truthy(interp, &__t2424)? { + if !rt::is_truthy(interp, &__t2243)? { Value::bool(false) } else { - let __t2425 = { - let __t2422 = { - let __t2405 = { - let __t2404 = v_V876.clone(); - rt::hd(&__t2404)? + let __t2244 = { + let __t2241 = { + let __t2226 = { + let __t2225 = v_V876.clone(); + rt::hd(&__t2225)? }; - rt::is_cons(&__t2405) + rt::is_cons(&__t2226) }; - if !rt::is_truthy(interp, &__t2422)? { + if !rt::is_truthy(interp, &__t2241)? { Value::bool(false) } else { - let __t2423 = { - let __t2420 = { - let __t2408 = { - let __t2407 = { - let __t2406 = v_V876.clone(); - rt::hd(&__t2406)? + let __t2242 = { + let __t2239 = { + let __t2229 = { + let __t2228 = { + let __t2227 = v_V876.clone(); + rt::hd(&__t2227)? }; - rt::tl(&__t2407)? + rt::tl(&__t2228)? }; - rt::is_cons(&__t2408) + rt::is_cons(&__t2229) }; - if !rt::is_truthy(interp, &__t2420)? { + if !rt::is_truthy(interp, &__t2239)? { Value::bool(false) } else { - let __t2421 = { - let __t2418 = { - let __t2409 = Value::nil(); - let __t2413 = { - let __t2412 = { - let __t2411 = { - let __t2410 = v_V876.clone(); - rt::hd(&__t2410)? + let __t2240 = { + let __t2237 = Value::bool( + ({ + let __t2232 = { + let __t2231 = { + let __t2230 = v_V876.clone(); + rt::hd(&__t2230)? }; - rt::tl(&__t2411)? + rt::tl(&__t2231)? }; - rt::tl(&__t2412)? - }; - rt::eq(&__t2409, &__t2413) - }; - if !rt::is_truthy(interp, &__t2418)? { + rt::tl(&__t2232)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t2237)? { Value::bool(false) } else { - let __t2419 = { - let __t2414 = v_V875.clone(); - let __t2417 = { - let __t2416 = { - let __t2415 = v_V876.clone(); - rt::hd(&__t2415)? + let __t2238 = { + let __t2233 = v_V875.clone(); + let __t2236 = { + let __t2235 = { + let __t2234 = v_V876.clone(); + rt::hd(&__t2234)? }; - rt::hd(&__t2416)? + rt::hd(&__t2235)? }; - rt::eq(&__t2414, &__t2417) + rt::eq(&__t2233, &__t2236) }; - Value::bool(rt::is_truthy(interp, &__t2419)?) + Value::bool(rt::is_truthy(interp, &__t2238)?) } }; - Value::bool(rt::is_truthy(interp, &__t2421)?) + Value::bool(rt::is_truthy(interp, &__t2240)?) } }; - Value::bool(rt::is_truthy(interp, &__t2423)?) + Value::bool(rt::is_truthy(interp, &__t2242)?) } }; - Value::bool(rt::is_truthy(interp, &__t2425)?) + Value::bool(rt::is_truthy(interp, &__t2244)?) } }; - if match rt::is_truthy(interp, &__t2438) { + if match rt::is_truthy(interp, &__t2257) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2428 = { - let __t2427 = { - let __t2426 = v_V876.clone(); - rt::hd(&__t2426)? + let __t2247 = { + let __t2246 = { + let __t2245 = v_V876.clone(); + rt::hd(&__t2245)? }; - rt::hd(&__t2427)? - }; - let __t2430 = { - let __t2429 = v_V876.clone(); - rt::tl(&__t2429)? - }; - let __t2437 = { - let __t2435 = { - let __t2431 = Value::bool(true); - let __t2434 = { - let __t2433 = { - let __t2432 = v_V876.clone(); - rt::hd(&__t2432)? + rt::hd(&__t2246)? + }; + let __t2249 = { + let __t2248 = v_V876.clone(); + rt::tl(&__t2248)? + }; + let __t2256 = { + let __t2254 = { + let __t2250 = Value::bool(true); + let __t2253 = { + let __t2252 = { + let __t2251 = v_V876.clone(); + rt::hd(&__t2251)? }; - rt::tl(&__t2433)? + rt::tl(&__t2252)? }; - rt::cons(&__t2431, &__t2434) + rt::cons(&__t2250, &__t2253) }; - let __t2436 = v_V877.clone(); - rt::cons(&__t2435, &__t2436) + let __t2255 = v_V877.clone(); + rt::cons(&__t2254, &__t2255) }; - v_V875 = __t2428; - v_V876 = __t2430; - v_V877 = __t2437; + v_V875 = __t2247; + v_V876 = __t2249; + v_V877 = __t2256; continue; } } else { { - let __t2402 = Value::bool(true); - if match rt::is_truthy(interp, &__t2402) { + let __t2223 = Value::bool(true); + if match rt::is_truthy(interp, &__t2223) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2400 = v_V877.clone(); - let __t2401 = v_V876.clone(); - rt::apply_direct(interp, "@p", &[__t2400, __t2401])? + let __t2221 = v_V877.clone(); + let __t2222 = v_V876.clone(); + rt::apply_direct(interp, "@p", &[__t2221, __t2222])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -10905,101 +10487,97 @@ pub fn aot_shen_x2e_factor_x2d_selectors(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t2549 = { - let __t2528 = { - let __t2519 = v_V880.clone(); - rt::is_cons(&__t2519) + let __t2358 = { + let __t2339 = { + let __t2332 = v_V880.clone(); + rt::is_cons(&__t2332) }; - if !rt::is_truthy(interp, &__t2528)? { + if !rt::is_truthy(interp, &__t2339)? { Value::bool(false) } else { - let __t2529 = { - let __t2526 = { - let __t2521 = { - let __t2520 = v_V880.clone(); - rt::tl(&__t2520)? + let __t2340 = { + let __t2337 = { + let __t2334 = { + let __t2333 = v_V880.clone(); + rt::tl(&__t2333)? }; - rt::is_cons(&__t2521) + rt::is_cons(&__t2334) }; - if !rt::is_truthy(interp, &__t2526)? { + if !rt::is_truthy(interp, &__t2337)? { Value::bool(false) } else { - let __t2527 = { - let __t2522 = Value::nil(); - let __t2525 = { - let __t2524 = { - let __t2523 = v_V880.clone(); - rt::tl(&__t2523)? + let __t2338 = Value::bool( + ({ + let __t2336 = { + let __t2335 = v_V880.clone(); + rt::tl(&__t2335)? }; - rt::tl(&__t2524)? - }; - rt::eq(&__t2522, &__t2525) - }; - Value::bool(rt::is_truthy(interp, &__t2527)?) + rt::tl(&__t2336)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2338)?) } }; - Value::bool(rt::is_truthy(interp, &__t2529)?) + Value::bool(rt::is_truthy(interp, &__t2340)?) } }; - if match rt::is_truthy(interp, &__t2549) { + if match rt::is_truthy(interp, &__t2358) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W882 = { - let __t2531 = { - let __t2530 = v_V880.clone(); - rt::hd(&__t2530)? + let __t2342 = { + let __t2341 = v_V880.clone(); + rt::hd(&__t2341)? }; - rt::apply_direct(interp, "shen.op", &[__t2531])? + aot_shen_x2e_op(interp, &[__t2342])? }; { - let __t2534 = { - let __t2532 = Value::sym(interp.intern("shen.skip")); - let __t2533 = v_W882.clone(); - rt::eq(&__t2532, &__t2533) - }; - if match rt::is_truthy(interp, &__t2534) { + let __t2343 = Value::bool( + (v_W882.clone()).as_sym() == Some(interp.intern_static("shen.skip")), + ); + if match rt::is_truthy(interp, &__t2343) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V881.clone()); } else { break Ok({ - let __t2547 = { - let __t2539 = { - let __t2536 = { - let __t2535 = v_W882.clone(); - rt::apply_direct(interp, "shen.op1", &[__t2535])? + let __t2356 = { + let __t2348 = { + let __t2345 = { + let __t2344 = v_W882.clone(); + aot_shen_x2e_op1(interp, &[__t2344])? }; - let __t2538 = { - let __t2537 = v_V880.clone(); - rt::tl(&__t2537)? + let __t2347 = { + let __t2346 = v_V880.clone(); + rt::tl(&__t2346)? }; - rt::cons(&__t2536, &__t2538) + rt::cons(&__t2345, &__t2347) }; - let __t2546 = { - let __t2544 = { - let __t2541 = { - let __t2540 = v_W882.clone(); - rt::apply_direct(interp, "shen.op2", &[__t2540])? + let __t2355 = { + let __t2353 = { + let __t2350 = { + let __t2349 = v_W882.clone(); + aot_shen_x2e_op2(interp, &[__t2349])? }; - let __t2543 = { - let __t2542 = v_V880.clone(); - rt::tl(&__t2542)? + let __t2352 = { + let __t2351 = v_V880.clone(); + rt::tl(&__t2351)? }; - rt::cons(&__t2541, &__t2543) + rt::cons(&__t2350, &__t2352) }; - let __t2545 = Value::nil(); - rt::cons(&__t2544, &__t2545) + let __t2354 = Value::nil(); + rt::cons(&__t2353, &__t2354) }; - rt::cons(&__t2539, &__t2546) + rt::cons(&__t2348, &__t2355) }; - let __t2548 = v_V881.clone(); - rt::apply_direct( + let __t2357 = v_V881.clone(); + aot_shen_x2e_factor_x2d_selectors_x2d_h( interp, - "shen.factor-selectors-h", - &[__t2547, __t2548], + &[__t2356, __t2357], )? }); } @@ -11007,8 +10585,8 @@ pub fn aot_shen_x2e_factor_x2d_selectors(interp: &mut Interp, args: &[Value]) -> } } else { { - let __t2518 = Value::bool(true); - if match rt::is_truthy(interp, &__t2518) { + let __t2331 = Value::bool(true); + if match rt::is_truthy(interp, &__t2331) { Ok(b) => b, Err(e) => break Err(e), } { @@ -11044,60 +10622,55 @@ pub fn aot_shen_x2e_op(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t2562 = { - let __t2560 = Value::sym(interp.intern("cons?")); - let __t2561 = v_V885.clone(); - rt::eq(&__t2560, &__t2561) - }; - if match rt::is_truthy(interp, &__t2562) { + let __t2363 = + Value::bool((v_V885.clone()).as_sym() == Some(interp.intern_static("cons?"))); + if match rt::is_truthy(interp, &__t2363) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("cons"))); + break Ok(Value::sym(interp.intern_static("cons"))); } else { { - let __t2559 = { - let __t2557 = Value::sym(interp.intern("shen.+string?")); - let __t2558 = v_V885.clone(); - rt::eq(&__t2557, &__t2558) - }; - if match rt::is_truthy(interp, &__t2559) { + let __t2362 = Value::bool( + (v_V885.clone()).as_sym() == Some(interp.intern_static("shen.+string?")), + ); + if match rt::is_truthy(interp, &__t2362) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("@s"))); + break Ok(Value::sym(interp.intern_static("@s"))); } else { { - let __t2556 = { - let __t2554 = Value::sym(interp.intern("shen.+vector?")); - let __t2555 = v_V885.clone(); - rt::eq(&__t2554, &__t2555) - }; - if match rt::is_truthy(interp, &__t2556) { + let __t2361 = Value::bool( + (v_V885.clone()).as_sym() + == Some(interp.intern_static("shen.+vector?")), + ); + if match rt::is_truthy(interp, &__t2361) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("@v"))); + break Ok(Value::sym(interp.intern_static("@v"))); } else { { - let __t2553 = { - let __t2551 = Value::sym(interp.intern("tuple?")); - let __t2552 = v_V885.clone(); - rt::eq(&__t2551, &__t2552) - }; - if match rt::is_truthy(interp, &__t2553) { + let __t2360 = Value::bool( + (v_V885.clone()).as_sym() + == Some(interp.intern_static("tuple?")), + ); + if match rt::is_truthy(interp, &__t2360) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("@p"))); + break Ok(Value::sym(interp.intern_static("@p"))); } else { { - let __t2550 = Value::bool(true); - if match rt::is_truthy(interp, &__t2550) { + let __t2359 = Value::bool(true); + if match rt::is_truthy(interp, &__t2359) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.skip"))); + break Ok(Value::sym( + interp.intern_static("shen.skip"), + )); } else { break Err(ShenError::new( "cond: no clause matched", @@ -11138,116 +10711,111 @@ pub fn aot_shen_x2e_factor_x2d_selectors_x2d_h( #[allow(clippy::never_loop)] loop { { - let __t2595 = { - let __t2593 = Value::nil(); - let __t2594 = v_V886.clone(); - rt::eq(&__t2593, &__t2594) - }; - if match rt::is_truthy(interp, &__t2595) { + let __t2394 = Value::bool((v_V886.clone()).is_nil()); + if match rt::is_truthy(interp, &__t2394) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V887.clone()); } else { { - let __t2592 = { - let __t2565 = v_V886.clone(); - rt::is_cons(&__t2565) + let __t2393 = { + let __t2366 = v_V886.clone(); + rt::is_cons(&__t2366) }; - if match rt::is_truthy(interp, &__t2592) { + if match rt::is_truthy(interp, &__t2393) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2571 = { - let __t2569 = { - let __t2567 = { - let __t2566 = v_V886.clone(); - rt::hd(&__t2566)? + let __t2372 = { + let __t2370 = { + let __t2368 = { + let __t2367 = v_V886.clone(); + rt::hd(&__t2367)? }; - let __t2568 = v_V887.clone(); - rt::apply_direct(interp, "occurrences", &[__t2567, __t2568])? + let __t2369 = v_V887.clone(); + rt::apply_direct(interp, "occurrences", &[__t2368, __t2369])? }; - let __t2570 = Value::int(1i64); - rt::gt(&__t2569, &__t2570)? + let __t2371 = Value::int(1i64); + rt::gt(&__t2370, &__t2371)? }; - if match rt::is_truthy(interp, &__t2571) { + if match rt::is_truthy(interp, &__t2372) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W888 = { - let __t2572 = Value::sym(interp.intern("Select")); - rt::apply_direct(interp, "gensym", &[__t2572])? + let __t2373 = Value::sym(interp.intern_static("Select")); + rt::apply_direct(interp, "gensym", &[__t2373])? }; break Ok({ - let __t2573 = Value::sym(interp.intern("let")); - let __t2588 = { - let __t2574 = v_W888.clone(); - let __t2587 = { - let __t2576 = { - let __t2575 = v_V886.clone(); - rt::hd(&__t2575)? + let __t2374 = Value::sym(interp.intern_static("let")); + let __t2389 = { + let __t2375 = v_W888.clone(); + let __t2388 = { + let __t2377 = { + let __t2376 = v_V886.clone(); + rt::hd(&__t2376)? }; - let __t2586 = { - let __t2584 = { - let __t2578 = { - let __t2577 = v_V886.clone(); - rt::tl(&__t2577)? + let __t2387 = { + let __t2385 = { + let __t2379 = { + let __t2378 = v_V886.clone(); + rt::tl(&__t2378)? }; - let __t2583 = { - let __t2579 = v_W888.clone(); - let __t2581 = { - let __t2580 = v_V886.clone(); - rt::hd(&__t2580)? + let __t2384 = { + let __t2380 = v_W888.clone(); + let __t2382 = { + let __t2381 = v_V886.clone(); + rt::hd(&__t2381)? }; - let __t2582 = v_V887.clone(); + let __t2383 = v_V887.clone(); rt::apply_direct( interp, "subst", - &[__t2579, __t2581, __t2582], + &[__t2380, __t2382, __t2383], )? }; - rt::apply_direct( + aot_shen_x2e_factor_x2d_selectors_x2d_h( interp, - "shen.factor-selectors-h", - &[__t2578, __t2583], + &[__t2379, __t2384], )? }; - let __t2585 = Value::nil(); - rt::cons(&__t2584, &__t2585) + let __t2386 = Value::nil(); + rt::cons(&__t2385, &__t2386) }; - rt::cons(&__t2576, &__t2586) + rt::cons(&__t2377, &__t2387) }; - rt::cons(&__t2574, &__t2587) + rt::cons(&__t2375, &__t2388) }; - rt::cons(&__t2573, &__t2588) + rt::cons(&__t2374, &__t2389) }); } } else { { - let __t2590 = { - let __t2589 = v_V886.clone(); - rt::tl(&__t2589)? + let __t2391 = { + let __t2390 = v_V886.clone(); + rt::tl(&__t2390)? }; - let __t2591 = v_V887.clone(); - v_V886 = __t2590; - v_V887 = __t2591; + let __t2392 = v_V887.clone(); + v_V886 = __t2391; + v_V887 = __t2392; continue; } } } } else { { - let __t2564 = Value::bool(true); - if match rt::is_truthy(interp, &__t2564) { + let __t2365 = Value::bool(true); + if match rt::is_truthy(interp, &__t2365) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2563 = + let __t2364 = Value::str("partial function shen.factor-selectors-h"); - rt::apply_direct(interp, "simple-error", &[__t2563])? + rt::apply_direct(interp, "simple-error", &[__t2364])? }); } else { break Err(ShenError::new("cond: no clause matched")); diff --git a/crates/shen-rust/src/aot/kernel/declarations.rs b/crates/shen-rust/src/aot/kernel/declarations.rs index 7caddf1..73aee84 100644 --- a/crates/shen-rust/src/aot/kernel/declarations.rs +++ b/crates/shen-rust/src/aot/kernel/declarations.rs @@ -42,18 +42,15 @@ pub fn aot_datatypes(interp: &mut Interp, args: &[Value]) -> ShenResult { let v_Z5759 = args[0].clone(); Ok({ let __t0 = v_Z5759.clone(); - rt::apply_direct(interp, "shen.typename", &[__t0])? + aot_shen_x2e_typename(interp, &[__t0])? }) }, Vec::new(), interp, ) }; - let __t3 = { - let __t2 = Value::sym(interp.intern("shen.*alldatatypes*")); - rt::apply_direct(interp, "value", &[__t2])? - }; - rt::apply_direct(interp, "map", &[__t1, __t3])? + let __t2 = rt::global_value(interp, "shen.*alldatatypes*")?; + rt::apply_direct(interp, "map", &[__t1, __t2])? }); } } @@ -74,26 +71,23 @@ pub fn aot_included(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t5 = { + let __t4 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5760 = args[0].clone(); Ok({ - let __t4 = v_Z5760.clone(); - rt::apply_direct(interp, "shen.typename", &[__t4])? + let __t3 = v_Z5760.clone(); + aot_shen_x2e_typename(interp, &[__t3])? }) }, Vec::new(), interp, ) }; - let __t7 = { - let __t6 = Value::sym(interp.intern("shen.*datatypes*")); - rt::apply_direct(interp, "value", &[__t6])? - }; - rt::apply_direct(interp, "map", &[__t5, __t7])? + let __t5 = rt::global_value(interp, "shen.*datatypes*")?; + rt::apply_direct(interp, "map", &[__t4, __t5])? }); } } @@ -116,37 +110,37 @@ pub fn aot_shen_x2e_typename(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let __t15 = { - let __t10 = v_V5763.clone(); - rt::is_cons(&__t10) + let __t13 = { + let __t8 = v_V5763.clone(); + rt::is_cons(&__t8) }; - if match rt::is_truthy(interp, &__t15) { + if match rt::is_truthy(interp, &__t13) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t14 = { - let __t13 = { - let __t12 = { - let __t11 = v_V5763.clone(); - rt::hd(&__t11)? + let __t12 = { + let __t11 = { + let __t10 = { + let __t9 = v_V5763.clone(); + rt::hd(&__t9)? }; - rt::apply_direct(interp, "str", &[__t12])? + rt::apply_direct(interp, "str", &[__t10])? }; - rt::apply_direct(interp, "shen.typename-h", &[__t13])? + aot_shen_x2e_typename_x2d_h(interp, &[__t11])? }; - rt::apply_direct(interp, "intern", &[__t14])? + rt::intern(interp, &__t12)? }); } else { { - let __t9 = Value::bool(true); - if match rt::is_truthy(interp, &__t9) { + let __t7 = Value::bool(true); + if match rt::is_truthy(interp, &__t7) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t8 = Value::str("partial function shen.typename"); - rt::apply_direct(interp, "simple-error", &[__t8])? + let __t6 = Value::str("partial function shen.typename"); + rt::apply_direct(interp, "simple-error", &[__t6])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -175,50 +169,46 @@ pub fn aot_shen_x2e_typename_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t27 = { - let __t25 = Value::str("#type"); - let __t26 = v_V5764.clone(); - rt::eq(&__t25, &__t26) - }; - if match rt::is_truthy(interp, &__t27) { + let __t23 = Value::bool((v_V5764.clone()).as_str() == Some("#type")); + if match rt::is_truthy(interp, &__t23) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t24 = { - let __t18 = v_V5764.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t18])? + let __t22 = { + let __t16 = v_V5764.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t16])? }; - if match rt::is_truthy(interp, &__t24) { + if match rt::is_truthy(interp, &__t22) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t20 = { - let __t19 = v_V5764.clone(); - rt::apply_direct(interp, "hdstr", &[__t19])? + let __t18 = { + let __t17 = v_V5764.clone(); + rt::hdstr(&__t17)? }; - let __t23 = { - let __t22 = { - let __t21 = v_V5764.clone(); - rt::apply_direct(interp, "tlstr", &[__t21])? + let __t21 = { + let __t20 = { + let __t19 = v_V5764.clone(); + rt::tlstr(&__t19)? }; - rt::apply_direct(interp, "shen.typename-h", &[__t22])? + aot_shen_x2e_typename_x2d_h(interp, &[__t20])? }; - rt::apply_direct(interp, "cn", &[__t20, __t23])? + rt::cn(&__t18, &__t21)? }); } else { { - let __t17 = Value::bool(true); - if match rt::is_truthy(interp, &__t17) { + let __t15 = Value::bool(true); + if match rt::is_truthy(interp, &__t15) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t16 = Value::str("partial function shen.typename-h"); - rt::apply_direct(interp, "simple-error", &[__t16])? + let __t14 = Value::str("partial function shen.typename-h"); + rt::apply_direct(interp, "simple-error", &[__t14])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -249,38 +239,34 @@ pub fn aot_prolog_x2d_memory(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let __t30 = { - let __t28 = v_V5765.clone(); - let __t29 = Value::int(0i64); - rt::lt(&__t28, &__t29)? + let __t26 = { + let __t24 = v_V5765.clone(); + let __t25 = Value::int(0i64); + rt::lt(&__t24, &__t25)? }; - if match rt::is_truthy(interp, &__t30) { + if match rt::is_truthy(interp, &__t26) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ - let __t31 = Value::sym(interp.intern("shen.*prolog-memory*")); - rt::apply_direct(interp, "value", &[__t31])? - }); + break Ok(rt::global_value(interp, "shen.*prolog-memory*")?); } else { { - let __t33 = { - let __t32 = v_V5765.clone(); - rt::apply_direct(interp, "integer?", &[__t32])? + let __t28 = { + let __t27 = v_V5765.clone(); + rt::apply_direct(interp, "integer?", &[__t27])? }; - if match rt::is_truthy(interp, &__t33) { + if match rt::is_truthy(interp, &__t28) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t34 = Value::sym(interp.intern("shen.*prolog-memory*")); - let __t35 = v_V5765.clone(); - rt::apply_direct(interp, "set", &[__t34, __t35])? + let __v = v_V5765.clone(); + rt::set_global(interp, "shen.*prolog-memory*", __v) }); } else { break Ok({ - let __t36 = Value::str("prolog memory expects an integer value\n"); - rt::apply_direct(interp, "simple-error", &[__t36])? + let __t29 = Value::str("prolog memory expects an integer value\n"); + rt::apply_direct(interp, "simple-error", &[__t29])? }); } } @@ -310,83 +296,76 @@ pub fn aot_shen_x2e_initialise_x2d_lambda_x2d_tables( #[allow(clippy::never_loop)] loop { { - let __t58 = { - let __t56 = Value::nil(); - let __t57 = v_V5768.clone(); - rt::eq(&__t56, &__t57) - }; - if match rt::is_truthy(interp, &__t58) { + let __t48 = Value::bool((v_V5768.clone()).is_nil()); + if match rt::is_truthy(interp, &__t48) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t55 = { - let __t42 = { - let __t39 = v_V5768.clone(); - rt::is_cons(&__t39) + let __t47 = { + let __t35 = { + let __t32 = v_V5768.clone(); + rt::is_cons(&__t32) }; - if !rt::is_truthy(interp, &__t42)? { + if !rt::is_truthy(interp, &__t35)? { Value::bool(false) } else { - let __t43 = { - let __t41 = { - let __t40 = v_V5768.clone(); - rt::tl(&__t40)? + let __t36 = { + let __t34 = { + let __t33 = v_V5768.clone(); + rt::tl(&__t33)? }; - rt::is_cons(&__t41) + rt::is_cons(&__t34) }; - Value::bool(rt::is_truthy(interp, &__t43)?) + Value::bool(rt::is_truthy(interp, &__t36)?) } }; - if match rt::is_truthy(interp, &__t55) { + if match rt::is_truthy(interp, &__t47) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5769 = { - let __t45 = { - let __t44 = v_V5768.clone(); - rt::hd(&__t44)? + let __t38 = { + let __t37 = v_V5768.clone(); + rt::hd(&__t37)? }; - let __t46 = Value::sym(interp.intern("arity")); - let __t49 = { - let __t48 = { - let __t47 = v_V5768.clone(); - rt::tl(&__t47)? + let __t39 = Value::sym(interp.intern_static("arity")); + let __t42 = { + let __t41 = { + let __t40 = v_V5768.clone(); + rt::tl(&__t40)? }; - rt::hd(&__t48)? + rt::hd(&__t41)? }; - let __t51 = { - let __t50 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t50])? - }; - rt::apply_direct(interp, "put", &[__t45, __t46, __t49, __t51])? + let __t43 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t38, __t39, __t42, __t43])? }; break Ok({ - let __t54 = { - let __t53 = { - let __t52 = v_V5768.clone(); - rt::tl(&__t52)? + let __t46 = { + let __t45 = { + let __t44 = v_V5768.clone(); + rt::tl(&__t44)? }; - rt::tl(&__t53)? + rt::tl(&__t45)? }; - rt::apply_direct(interp, "shen.initialise-arity-table", &[__t54])? + aot_shen_x2e_initialise_x2d_arity_x2d_table(interp, &[__t46])? }); } } else { { - let __t38 = Value::bool(true); - if match rt::is_truthy(interp, &__t38) { + let __t31 = Value::bool(true); + if match rt::is_truthy(interp, &__t31) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t37 = Value::str( + let __t30 = Value::str( "implementation error in shen.initialise-arity-table", ); - rt::apply_direct(interp, "simple-error", &[__t37])? + rt::apply_direct(interp, "simple-error", &[__t30])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -426,13 +405,10 @@ pub fn aot_arity(interp: &mut Interp, args: &[Value]) -> ShenResult { break Ok( match (|| -> ShenResult { Ok({ - let __t59 = v_V5770.clone(); - let __t60 = Value::sym(interp.intern("arity")); - let __t62 = { - let __t61 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t61])? - }; - rt::apply_direct(interp, "get", &[__t59, __t60, __t62])? + let __t49 = v_V5770.clone(); + let __t50 = Value::sym(interp.intern_static("arity")); + let __t51 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t49, __t50, __t51])? }) })() { Ok(v) => v, @@ -478,84 +454,77 @@ pub fn aot_shen_x2e_initialise_x2d_arity_x2d_table( #[allow(clippy::never_loop)] loop { { - let __t84 = { - let __t82 = Value::nil(); - let __t83 = v_V5774.clone(); - rt::eq(&__t82, &__t83) - }; - if match rt::is_truthy(interp, &__t84) { + let __t70 = Value::bool((v_V5774.clone()).is_nil()); + if match rt::is_truthy(interp, &__t70) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t81 = { - let __t68 = { - let __t65 = v_V5774.clone(); - rt::is_cons(&__t65) + let __t69 = { + let __t57 = { + let __t54 = v_V5774.clone(); + rt::is_cons(&__t54) }; - if !rt::is_truthy(interp, &__t68)? { + if !rt::is_truthy(interp, &__t57)? { Value::bool(false) } else { - let __t69 = { - let __t67 = { - let __t66 = v_V5774.clone(); - rt::tl(&__t66)? + let __t58 = { + let __t56 = { + let __t55 = v_V5774.clone(); + rt::tl(&__t55)? }; - rt::is_cons(&__t67) + rt::is_cons(&__t56) }; - Value::bool(rt::is_truthy(interp, &__t69)?) + Value::bool(rt::is_truthy(interp, &__t58)?) } }; - if match rt::is_truthy(interp, &__t81) { + if match rt::is_truthy(interp, &__t69) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5775 = { - let __t71 = { - let __t70 = v_V5774.clone(); - rt::hd(&__t70)? + let __t60 = { + let __t59 = v_V5774.clone(); + rt::hd(&__t59)? }; - let __t72 = Value::sym(interp.intern("arity")); - let __t75 = { - let __t74 = { - let __t73 = v_V5774.clone(); - rt::tl(&__t73)? + let __t61 = Value::sym(interp.intern_static("arity")); + let __t64 = { + let __t63 = { + let __t62 = v_V5774.clone(); + rt::tl(&__t62)? }; - rt::hd(&__t74)? - }; - let __t77 = { - let __t76 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t76])? + rt::hd(&__t63)? }; - rt::apply_direct(interp, "put", &[__t71, __t72, __t75, __t77])? + let __t65 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t60, __t61, __t64, __t65])? }; { - let __t80 = { - let __t79 = { - let __t78 = v_V5774.clone(); - rt::tl(&__t78)? + let __t68 = { + let __t67 = { + let __t66 = v_V5774.clone(); + rt::tl(&__t66)? }; - rt::tl(&__t79)? + rt::tl(&__t67)? }; - v_V5774 = __t80; + v_V5774 = __t68; continue; } } } else { { - let __t64 = Value::bool(true); - if match rt::is_truthy(interp, &__t64) { + let __t53 = Value::bool(true); + if match rt::is_truthy(interp, &__t53) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t63 = Value::str( + let __t52 = Value::str( "implementation error in shen.initialise-arity-table", ); - rt::apply_direct(interp, "simple-error", &[__t63])? + rt::apply_direct(interp, "simple-error", &[__t52])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -594,28 +563,22 @@ pub fn aot_systemf(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W5777 = { - let __t85 = Value::sym(interp.intern("shen")); - let __t86 = Value::sym(interp.intern("shen.external-symbols")); - let __t88 = { - let __t87 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t87])? - }; - rt::apply_direct(interp, "get", &[__t85, __t86, __t88])? + let __t71 = Value::sym(interp.intern_static("shen")); + let __t72 = Value::sym(interp.intern_static("shen.external-symbols")); + let __t73 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t71, __t72, __t73])? }; { let v_W5778 = { - let __t89 = Value::sym(interp.intern("shen")); - let __t90 = Value::sym(interp.intern("shen.external-symbols")); - let __t93 = { - let __t91 = v_V5776.clone(); - let __t92 = v_W5777.clone(); - rt::apply_direct(interp, "adjoin", &[__t91, __t92])? - }; - let __t95 = { - let __t94 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t94])? + let __t74 = Value::sym(interp.intern_static("shen")); + let __t75 = Value::sym(interp.intern_static("shen.external-symbols")); + let __t78 = { + let __t76 = v_V5776.clone(); + let __t77 = v_W5777.clone(); + aot_adjoin(interp, &[__t76, __t77])? }; - rt::apply_direct(interp, "put", &[__t89, __t90, __t93, __t95])? + let __t79 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t74, __t75, __t78, __t79])? }; break Ok(v_V5776.clone()); } @@ -643,21 +606,21 @@ pub fn aot_adjoin(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t98 = { - let __t96 = v_V5779.clone(); - let __t97 = v_V5780.clone(); - rt::apply_direct(interp, "element?", &[__t96, __t97])? + let __t82 = { + let __t80 = v_V5779.clone(); + let __t81 = v_V5780.clone(); + rt::apply_direct(interp, "element?", &[__t80, __t81])? }; - if match rt::is_truthy(interp, &__t98) { + if match rt::is_truthy(interp, &__t82) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5780.clone()); } else { break Ok({ - let __t99 = v_V5779.clone(); - let __t100 = v_V5780.clone(); - rt::cons(&__t99, &__t100) + let __t83 = v_V5779.clone(); + let __t84 = v_V5780.clone(); + rt::cons(&__t83, &__t84) }); } } @@ -683,48 +646,48 @@ pub fn aot_shen_x2e_lambda_x2d_entry(interp: &mut Interp, args: &[Value]) -> She loop { { let v_W5782 = { - let __t101 = v_V5781.clone(); - rt::apply_direct(interp, "arity", &[__t101])? + let __t85 = v_V5781.clone(); + aot_arity(interp, &[__t85])? }; { - let __t108 = { - let __t106 = { - let __t102 = v_W5782.clone(); - let __t103 = Value::int(-1i64); - rt::eq(&__t102, &__t103) + let __t92 = { + let __t90 = { + let __t86 = v_W5782.clone(); + let __t87 = Value::int(-1i64); + rt::eq(&__t86, &__t87) }; - if rt::is_truthy(interp, &__t106)? { + if rt::is_truthy(interp, &__t90)? { Value::bool(true) } else { - let __t107 = { - let __t104 = v_W5782.clone(); - let __t105 = Value::int(0i64); - rt::eq(&__t104, &__t105) + let __t91 = { + let __t88 = v_W5782.clone(); + let __t89 = Value::int(0i64); + rt::eq(&__t88, &__t89) }; - Value::bool(rt::is_truthy(interp, &__t107)?) + Value::bool(rt::is_truthy(interp, &__t91)?) } }; - if match rt::is_truthy(interp, &__t108) { + if match rt::is_truthy(interp, &__t92) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { break Ok({ - let __t109 = v_V5781.clone(); - let __t115 = { - let __t114 = { - let __t112 = { - let __t110 = v_V5781.clone(); - let __t111 = Value::nil(); - rt::cons(&__t110, &__t111) + let __t93 = v_V5781.clone(); + let __t99 = { + let __t98 = { + let __t96 = { + let __t94 = v_V5781.clone(); + let __t95 = Value::nil(); + rt::cons(&__t94, &__t95) }; - let __t113 = v_W5782.clone(); - rt::apply_direct(interp, "shen.lambda-function", &[__t112, __t113])? + let __t97 = v_W5782.clone(); + rt::apply_direct(interp, "shen.lambda-function", &[__t96, __t97])? }; - rt::apply_direct(interp, "eval-kl", &[__t114])? + rt::apply_direct(interp, "eval-kl", &[__t98])? }; - rt::cons(&__t109, &__t115) + rt::cons(&__t93, &__t99) }); } } @@ -754,81 +717,81 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( loop { { let v_W5784 = { - let __t117 = { + let __t101 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5785 = args[0].clone(); Ok({ - let __t116 = v_Z5785.clone(); - rt::apply_direct(interp, "shen.lambda-entry", &[__t116])? + let __t100 = v_Z5785.clone(); + aot_shen_x2e_lambda_x2d_entry(interp, &[__t100])? }) }, Vec::new(), interp, ) }; - let __t118 = v_V5783.clone(); - rt::apply_direct(interp, "map", &[__t117, __t118])? + let __t102 = v_V5783.clone(); + rt::apply_direct(interp, "map", &[__t101, __t102])? }; break Ok({ - let __t119 = Value::sym(interp.intern("shen.*lambdatable*")); - let __t145 = { - let __t123 = { - let __t120 = Value::sym(interp.intern("shen.tuple")); - let __t122 = { + let __v = { + let __t106 = { + let __t103 = Value::sym(interp.intern_static("shen.tuple")); + let __t105 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5786 = args[0].clone(); Ok({ - let __t121 = v_Z5786.clone(); - rt::apply_direct(interp, "shen.tuple", &[__t121])? + let __t104 = v_Z5786.clone(); + rt::apply_direct(interp, "shen.tuple", &[__t104])? }) }, Vec::new(), interp, ) }; - rt::cons(&__t120, &__t122) + rt::cons(&__t103, &__t105) }; - let __t144 = { - let __t127 = { - let __t124 = Value::sym(interp.intern("shen.pvar")); - let __t126 = { + let __t127 = { + let __t110 = { + let __t107 = Value::sym(interp.intern_static("shen.pvar")); + let __t109 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5787 = args[0].clone(); Ok({ - let __t125 = v_Z5787.clone(); - rt::apply_direct(interp, "shen.pvar", &[__t125])? + let __t108 = v_Z5787.clone(); + rt::apply_direct(interp, "shen.pvar", &[__t108])? }) }, Vec::new(), interp, ) }; - rt::cons(&__t124, &__t126) + rt::cons(&__t107, &__t109) }; - let __t143 = { - let __t131 = { - let __t128 = Value::sym(interp.intern("shen.print-prolog-vector")); - let __t130 = { + let __t126 = { + let __t114 = { + let __t111 = + Value::sym(interp.intern_static("shen.print-prolog-vector")); + let __t113 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5788 = args[0].clone(); Ok({ - let __t129 = v_Z5788.clone(); + let __t112 = v_Z5788.clone(); rt::apply_direct( interp, "shen.print-prolog-vector", - &[__t129], + &[__t112], )? }) }, @@ -836,23 +799,24 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( interp, ) }; - rt::cons(&__t128, &__t130) + rt::cons(&__t111, &__t113) }; - let __t142 = { - let __t135 = { - let __t132 = Value::sym(interp.intern("shen.print-freshterm")); - let __t134 = { + let __t125 = { + let __t118 = { + let __t115 = + Value::sym(interp.intern_static("shen.print-freshterm")); + let __t117 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5789 = args[0].clone(); Ok({ - let __t133 = v_Z5789.clone(); + let __t116 = v_Z5789.clone(); rt::apply_direct( interp, "shen.print-freshterm", - &[__t133], + &[__t116], )? }) }, @@ -860,23 +824,24 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( interp, ) }; - rt::cons(&__t132, &__t134) + rt::cons(&__t115, &__t117) }; - let __t141 = { - let __t139 = { - let __t136 = Value::sym(interp.intern("shen.printF")); - let __t138 = { + let __t124 = { + let __t122 = { + let __t119 = + Value::sym(interp.intern_static("shen.printF")); + let __t121 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5790 = args[0].clone(); Ok({ - let __t137 = v_Z5790.clone(); + let __t120 = v_Z5790.clone(); rt::apply_direct( interp, "shen.printF", - &[__t137], + &[__t120], )? }) }, @@ -884,20 +849,20 @@ pub fn aot_shen_x2e_build_x2d_lambda_x2d_table( interp, ) }; - rt::cons(&__t136, &__t138) + rt::cons(&__t119, &__t121) }; - let __t140 = v_W5784.clone(); - rt::cons(&__t139, &__t140) + let __t123 = v_W5784.clone(); + rt::cons(&__t122, &__t123) }; - rt::cons(&__t135, &__t141) + rt::cons(&__t118, &__t124) }; - rt::cons(&__t131, &__t142) + rt::cons(&__t114, &__t125) }; - rt::cons(&__t127, &__t143) + rt::cons(&__t110, &__t126) }; - rt::cons(&__t123, &__t144) + rt::cons(&__t106, &__t127) }; - rt::apply_direct(interp, "set", &[__t119, __t145])? + rt::set_global(interp, "shen.*lambdatable*", __v) }); } } diff --git a/crates/shen-rust/src/aot/kernel/extension_expand_dynamic.rs b/crates/shen-rust/src/aot/kernel/extension_expand_dynamic.rs index 0d17c27..3efb560 100644 --- a/crates/shen-rust/src/aot/kernel/extension_expand_dynamic.rs +++ b/crates/shen-rust/src/aot/kernel/extension_expand_dynamic.rs @@ -37,9 +37,8 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_initialise( #[allow(clippy::never_loop)] loop { break Ok({ - let __t0 = Value::sym(interp.intern("shen.x.expand-dynamic.*arities*")); - let __t1 = Value::nil(); - rt::apply_direct(interp, "set", &[__t0, __t1])? + let __v = Value::nil(); + rt::set_global(interp, "shen.x.expand-dynamic.*arities*", __v) }); } } @@ -72,544 +71,503 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_dynamic( #[allow(clippy::never_loop)] loop { { - let __t178 = { - let __t176 = Value::nil(); - let __t177 = v_V7236.clone(); - rt::eq(&__t176, &__t177) - }; - if match rt::is_truthy(interp, &__t178) { + let __t153 = Value::bool((v_V7236.clone()).is_nil()); + if match rt::is_truthy(interp, &__t153) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t175 = { - let __t167 = { - let __t139 = v_V7236.clone(); - rt::is_cons(&__t139) + let __t152 = { + let __t144 = { + let __t120 = v_V7236.clone(); + rt::is_cons(&__t120) }; - if !rt::is_truthy(interp, &__t167)? { + if !rt::is_truthy(interp, &__t144)? { Value::bool(false) } else { - let __t168 = { - let __t165 = { - let __t141 = { - let __t140 = v_V7236.clone(); - rt::hd(&__t140)? + let __t145 = { + let __t142 = { + let __t122 = { + let __t121 = v_V7236.clone(); + rt::hd(&__t121)? }; - rt::is_cons(&__t141) + rt::is_cons(&__t122) }; - if !rt::is_truthy(interp, &__t165)? { + if !rt::is_truthy(interp, &__t142)? { Value::bool(false) } else { - let __t166 = { - let __t163 = { - let __t142 = Value::sym(interp.intern("declare")); - let __t145 = { - let __t144 = { - let __t143 = v_V7236.clone(); - rt::hd(&__t143)? + let __t143 = { + let __t140 = Value::bool( + ({ + let __t124 = { + let __t123 = v_V7236.clone(); + rt::hd(&__t123)? }; - rt::hd(&__t144)? - }; - rt::eq(&__t142, &__t145) - }; - if !rt::is_truthy(interp, &__t163)? { + rt::hd(&__t124)? + }) + .as_sym() + == Some(interp.intern_static("declare")), + ); + if !rt::is_truthy(interp, &__t140)? { Value::bool(false) } else { - let __t164 = { - let __t161 = { - let __t148 = { - let __t147 = { - let __t146 = v_V7236.clone(); - rt::hd(&__t146)? + let __t141 = { + let __t138 = { + let __t127 = { + let __t126 = { + let __t125 = v_V7236.clone(); + rt::hd(&__t125)? }; - rt::tl(&__t147)? + rt::tl(&__t126)? }; - rt::is_cons(&__t148) + rt::is_cons(&__t127) }; - if !rt::is_truthy(interp, &__t161)? { + if !rt::is_truthy(interp, &__t138)? { Value::bool(false) } else { - let __t162 = { - let __t159 = { - let __t152 = { - let __t151 = { - let __t150 = { - let __t149 = + let __t139 = { + let __t136 = { + let __t131 = { + let __t130 = { + let __t129 = { + let __t128 = v_V7236.clone(); - rt::hd(&__t149)? + rt::hd(&__t128)? }; - rt::tl(&__t150)? + rt::tl(&__t129)? }; - rt::tl(&__t151)? + rt::tl(&__t130)? }; - rt::is_cons(&__t152) + rt::is_cons(&__t131) }; - if !rt::is_truthy(interp, &__t159)? { + if !rt::is_truthy(interp, &__t136)? { Value::bool(false) } else { - let __t160 = { - let __t153 = Value::nil(); - let __t158 = { - let __t157 = { - let __t156 = { - let __t155 = { - let __t154 = + let __t137 = Value::bool( + ({ + let __t135 = { + let __t134 = { + let __t133 = { + let __t132 = v_V7236.clone(); - rt::hd(&__t154)? + rt::hd(&__t132)? }; - rt::tl(&__t155)? + rt::tl(&__t133)? }; - rt::tl(&__t156)? + rt::tl(&__t134)? }; - rt::tl(&__t157)? - }; - rt::eq(&__t153, &__t158) - }; + rt::tl(&__t135)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t160, + interp, &__t137, )?) } }; - Value::bool(rt::is_truthy(interp, &__t162)?) + Value::bool(rt::is_truthy(interp, &__t139)?) } }; - Value::bool(rt::is_truthy(interp, &__t164)?) + Value::bool(rt::is_truthy(interp, &__t141)?) } }; - Value::bool(rt::is_truthy(interp, &__t166)?) + Value::bool(rt::is_truthy(interp, &__t143)?) } }; - Value::bool(rt::is_truthy(interp, &__t168)?) + Value::bool(rt::is_truthy(interp, &__t145)?) } }; - if match rt::is_truthy(interp, &__t175) { + if match rt::is_truthy(interp, &__t152) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t171 = { - let __t170 = { - let __t169 = v_V7236.clone(); - rt::hd(&__t169)? + let __t148 = { + let __t147 = { + let __t146 = v_V7236.clone(); + rt::hd(&__t146)? }; - rt::apply_direct( + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_declare( interp, - "shen.x.expand-dynamic.expand-declare", - &[__t170], + &[__t147], )? }; - let __t174 = { - let __t173 = { - let __t172 = v_V7236.clone(); - rt::tl(&__t172)? + let __t151 = { + let __t150 = { + let __t149 = v_V7236.clone(); + rt::tl(&__t149)? }; - rt::apply_direct( + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_dynamic( interp, - "shen.x.expand-dynamic.expand-dynamic", - &[__t173], + &[__t150], )? }; - rt::cons(&__t171, &__t174) + rt::cons(&__t148, &__t151) }); } else { { - let __t138 = { - let __t125 = { - let __t104 = v_V7236.clone(); - rt::is_cons(&__t104) + let __t119 = { + let __t108 = { + let __t91 = v_V7236.clone(); + rt::is_cons(&__t91) }; - if !rt::is_truthy(interp, &__t125)? { + if !rt::is_truthy(interp, &__t108)? { Value::bool(false) } else { - let __t126 = { - let __t123 = { - let __t106 = { - let __t105 = v_V7236.clone(); - rt::hd(&__t105)? + let __t109 = { + let __t106 = { + let __t93 = { + let __t92 = v_V7236.clone(); + rt::hd(&__t92)? }; - rt::is_cons(&__t106) + rt::is_cons(&__t93) }; - if !rt::is_truthy(interp, &__t123)? { + if !rt::is_truthy(interp, &__t106)? { Value::bool(false) } else { - let __t124 = { - let __t121 = { - let __t107 = Value::sym( - interp - .intern("shen.initialise-arity-table"), - ); - let __t110 = { - let __t109 = { - let __t108 = v_V7236.clone(); - rt::hd(&__t108)? + let __t107 = { + let __t104 = Value::bool( + ({ + let __t95 = { + let __t94 = v_V7236.clone(); + rt::hd(&__t94)? }; - rt::hd(&__t109)? - }; - rt::eq(&__t107, &__t110) - }; - if !rt::is_truthy(interp, &__t121)? { + rt::hd(&__t95)? + }) + .as_sym() + == Some(interp.intern_static( + "shen.initialise-arity-table", + )), + ); + if !rt::is_truthy(interp, &__t104)? { Value::bool(false) } else { - let __t122 = { - let __t119 = { - let __t113 = { - let __t112 = { - let __t111 = v_V7236.clone(); - rt::hd(&__t111)? + let __t105 = { + let __t102 = { + let __t98 = { + let __t97 = { + let __t96 = v_V7236.clone(); + rt::hd(&__t96)? }; - rt::tl(&__t112)? + rt::tl(&__t97)? }; - rt::is_cons(&__t113) + rt::is_cons(&__t98) }; - if !rt::is_truthy(interp, &__t119)? { + if !rt::is_truthy(interp, &__t102)? { Value::bool(false) } else { - let __t120 = { - let __t114 = Value::nil(); - let __t118 = { - let __t117 = { - let __t116 = { - let __t115 = + let __t103 = Value::bool( + ({ + let __t101 = { + let __t100 = { + let __t99 = v_V7236.clone(); - rt::hd(&__t115)? + rt::hd(&__t99)? }; - rt::tl(&__t116)? + rt::tl(&__t100)? }; - rt::tl(&__t117)? - }; - rt::eq(&__t114, &__t118) - }; + rt::tl(&__t101)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t120, + interp, &__t103, )?) } }; - Value::bool(rt::is_truthy(interp, &__t122)?) + Value::bool(rt::is_truthy(interp, &__t105)?) } }; - Value::bool(rt::is_truthy(interp, &__t124)?) + Value::bool(rt::is_truthy(interp, &__t107)?) } }; - Value::bool(rt::is_truthy(interp, &__t126)?) + Value::bool(rt::is_truthy(interp, &__t109)?) } }; - if match rt::is_truthy(interp, &__t138) { + if match rt::is_truthy(interp, &__t119) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t127 = Value::sym( - interp.intern("shen.x.expand-dynamic.*arities*"), - ); - let __t132 = { - let __t131 = { - let __t130 = { - let __t129 = { - let __t128 = v_V7236.clone(); - rt::hd(&__t128)? + let __v = { + let __t113 = { + let __t112 = { + let __t111 = { + let __t110 = v_V7236.clone(); + rt::hd(&__t110)? }; - rt::tl(&__t129)? + rt::tl(&__t111)? }; - rt::hd(&__t130)? + rt::hd(&__t112)? }; - rt::apply_direct(interp, "eval-kl", &[__t131])? + rt::apply_direct(interp, "eval-kl", &[__t113])? }; - rt::apply_direct(interp, "set", &[__t127, __t132])? + rt::set_global( + interp, + "shen.x.expand-dynamic.*arities*", + __v, + ) }; break Ok({ - let __t134 = { - let __t133 = v_V7236.clone(); - rt::hd(&__t133)? + let __t115 = { + let __t114 = v_V7236.clone(); + rt::hd(&__t114)? }; - let __t137 = { - let __t136 = { - let __t135 = v_V7236.clone(); - rt::tl(&__t135)? + let __t118 = { + let __t117 = { + let __t116 = v_V7236.clone(); + rt::tl(&__t116)? }; - rt::apply_direct( - interp, - "shen.x.expand-dynamic.expand-dynamic", - &[__t136], - )? + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_dynamic(interp, &[__t117])? }; - rt::cons(&__t134, &__t137) + rt::cons(&__t115, &__t118) }); } } else { { - let __t103 = { - let __t71 = { - let __t11 = v_V7236.clone(); - rt::is_cons(&__t11) + let __t90 = { + let __t59 = { + let __t9 = v_V7236.clone(); + rt::is_cons(&__t9) }; - if !rt::is_truthy(interp, &__t71)? { + if !rt::is_truthy(interp, &__t59)? { Value::bool(false) } else { - let __t72 = { - let __t69 = { - let __t13 = { - let __t12 = v_V7236.clone(); - rt::hd(&__t12)? + let __t60 = { + let __t57 = { + let __t11 = { + let __t10 = v_V7236.clone(); + rt::hd(&__t10)? }; - rt::is_cons(&__t13) + rt::is_cons(&__t11) }; - if !rt::is_truthy(interp, &__t69)? { + if !rt::is_truthy(interp, &__t57)? { Value::bool(false) } else { - let __t70 = { - let __t67 = { - let __t14 = - Value::sym(interp.intern( - "shen.build-lambda-table", - )); - let __t17 = { - let __t16 = { - let __t15 = v_V7236.clone(); - rt::hd(&__t15)? + let __t58 = { + let __t55 = Value::bool( + ({ + let __t13 = { + let __t12 = v_V7236.clone(); + rt::hd(&__t12)? }; - rt::hd(&__t16)? - }; - rt::eq(&__t14, &__t17) - }; - if !rt::is_truthy(interp, &__t67)? { + rt::hd(&__t13)? + }) + .as_sym() + == Some(interp.intern_static( + "shen.build-lambda-table", + )), + ); + if !rt::is_truthy(interp, &__t55)? { Value::bool(false) } else { - let __t68 = { - let __t65 = { - let __t20 = { - let __t19 = { - let __t18 = + let __t56 = { + let __t53 = { + let __t16 = { + let __t15 = { + let __t14 = v_V7236.clone(); - rt::hd(&__t18)? + rt::hd(&__t14)? }; - rt::tl(&__t19)? + rt::tl(&__t15)? }; - rt::is_cons(&__t20) + rt::is_cons(&__t16) }; - if !rt::is_truthy(interp, &__t65)? { + if !rt::is_truthy(interp, &__t53)? { Value::bool(false) } else { - let __t66 = { - let __t63 = { - let __t24 = { - let __t23 = { - let __t22 = { - let __t21 = v_V7236.clone(); + let __t54 = { + let __t51 = { + let __t20 = { + let __t19 = { + let __t18 = { + let __t17 = v_V7236.clone(); rt::hd( - &__t21, + &__t17, )? }; - rt::tl(&__t22)? + rt::tl(&__t18)? }; - rt::hd(&__t23)? + rt::hd(&__t19)? }; - rt::is_cons(&__t24) + rt::is_cons(&__t20) }; if !rt::is_truthy( - interp, &__t63, + interp, &__t51, )? { Value::bool(false) } else { - let __t64 = { - let __t61 = { - let __t25 = Value::sym(interp.intern("external")); - let __t30 = { - let __t29 = { - let __t28 = { - let __t27 = { let __t26 = v_V7236.clone(); rt::hd(&__t26)? }; - rt::tl(&__t27)? - }; - rt::hd(&__t28)? - }; - rt::hd( - &__t29, - )? - }; - rt::eq( - &__t25, - &__t30, - ) - }; + let __t52 = { + let __t49 = Value::bool(({ let __t24 = { let __t23 = { let __t22 = { let __t21 = v_V7236.clone(); rt::hd(&__t21)? }; rt::tl(&__t22)? }; rt::hd(&__t23)? }; rt::hd(&__t24)? }).as_sym() == Some(interp.intern_static("external"))); if !rt::is_truthy( - interp, &__t61, + interp, &__t49, )? { Value::bool( false, ) } else { - let __t62 = { - let __t59 = { - let __t35 = { - let __t34 = { let __t33 = { let __t32 = { let __t31 = v_V7236.clone(); rt::hd(&__t31)? }; rt::tl(&__t32)? }; rt::hd(&__t33)? }; - rt::tl(&__t34)? + let __t50 = { + let __t47 = { + let __t29 = { + let __t28 = { let __t27 = { let __t26 = { let __t25 = v_V7236.clone(); rt::hd(&__t25)? }; rt::tl(&__t26)? }; rt::hd(&__t27)? }; + rt::tl(&__t28)? }; - rt::is_cons(&__t35) + rt::is_cons(&__t29) }; - if !rt::is_truthy(interp, &__t59)? { Value::bool(false) } else { let __t60 = { let __t57 = { let __t36 = Value::sym(interp.intern("shen")); let __t42 = { let __t41 = { let __t40 = { let __t39 = { let __t38 = { let __t37 = v_V7236.clone(); rt::hd(&__t37)? }; rt::tl(&__t38)? }; rt::hd(&__t39)? }; rt::tl(&__t40)? }; rt::hd(&__t41)? }; rt::eq(&__t36, &__t42) }; if !rt::is_truthy(interp, &__t57)? { Value::bool(false) } else { let __t58 = { let __t55 = { let __t43 = Value::nil(); let __t49 = { let __t48 = { let __t47 = { let __t46 = { let __t45 = { let __t44 = v_V7236.clone(); rt::hd(&__t44)? }; rt::tl(&__t45)? }; rt::hd(&__t46)? }; rt::tl(&__t47)? }; rt::tl(&__t48)? }; rt::eq(&__t43, &__t49) }; if !rt::is_truthy(interp, &__t55)? { Value::bool(false) } else { let __t56 = { let __t50 = Value::nil(); let __t54 = { let __t53 = { let __t52 = { let __t51 = v_V7236.clone(); rt::hd(&__t51)? }; rt::tl(&__t52)? }; rt::tl(&__t53)? }; rt::eq(&__t50, &__t54) }; Value::bool(rt::is_truthy(interp, &__t56)?) } }; Value::bool(rt::is_truthy(interp, &__t58)?) } }; Value::bool(rt::is_truthy(interp, &__t60)?) } + if !rt::is_truthy(interp, &__t47)? { Value::bool(false) } else { let __t48 = { let __t45 = Value::bool(({ let __t34 = { let __t33 = { let __t32 = { let __t31 = { let __t30 = v_V7236.clone(); rt::hd(&__t30)? }; rt::tl(&__t31)? }; rt::hd(&__t32)? }; rt::tl(&__t33)? }; rt::hd(&__t34)? }).as_sym() == Some(interp.intern_static("shen"))); if !rt::is_truthy(interp, &__t45)? { Value::bool(false) } else { let __t46 = { let __t43 = Value::bool(({ let __t39 = { let __t38 = { let __t37 = { let __t36 = { let __t35 = v_V7236.clone(); rt::hd(&__t35)? }; rt::tl(&__t36)? }; rt::hd(&__t37)? }; rt::tl(&__t38)? }; rt::tl(&__t39)? }).is_nil()); if !rt::is_truthy(interp, &__t43)? { Value::bool(false) } else { let __t44 = Value::bool(({ let __t42 = { let __t41 = { let __t40 = v_V7236.clone(); rt::hd(&__t40)? }; rt::tl(&__t41)? }; rt::tl(&__t42)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t44)?) } }; Value::bool(rt::is_truthy(interp, &__t46)?) } }; Value::bool(rt::is_truthy(interp, &__t48)?) } }; - Value::bool(rt::is_truthy(interp, &__t62)?) + Value::bool(rt::is_truthy(interp, &__t50)?) } }; Value::bool( rt::is_truthy( - interp, &__t64, + interp, &__t52, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t66, + interp, &__t54, )?) } }; Value::bool(rt::is_truthy( - interp, &__t68, + interp, &__t56, )?) } }; - Value::bool(rt::is_truthy(interp, &__t70)?) + Value::bool(rt::is_truthy(interp, &__t58)?) } }; - Value::bool(rt::is_truthy(interp, &__t72)?) + Value::bool(rt::is_truthy(interp, &__t60)?) } }; - if match rt::is_truthy(interp, &__t103) { + if match rt::is_truthy(interp, &__t90) { Ok(b) => b, Err(e) => break Err(e), } { { - let v_W7237 = Value::sym(interp.intern("X")); + let v_W7237 = Value::sym(interp.intern_static("X")); break Ok({ - let __t99 = { - let __t98 = { - let __t73 = - Value::sym(interp.intern("shen.tuple")); - let __t97 = { - let __t74 = Value::int(1i64); - let __t96 = { - let __t75 = Value::sym( - interp.intern("shen.pvar"), + let __t86 = { + let __t85 = { + let __t61 = Value::sym( + interp.intern_static("shen.tuple"), + ); + let __t84 = { + let __t62 = Value::int(1i64); + let __t83 = { + let __t63 = Value::sym( + interp + .intern_static("shen.pvar"), ); - let __t95 = { - let __t76 = Value::int(1i64); - let __t94 = { - let __t77 = Value::sym( - interp.intern( + let __t82 = { + let __t64 = Value::int(1i64); + let __t81 = { + let __t65 = Value::sym( + interp.intern_static( "shen.dictionary", ), ); - let __t93 = { - let __t78 = + let __t80 = { + let __t66 = Value::int(1i64); - let __t92 = { - let __t79 = Value::sym(interp.intern("shen.print-prolog-vector")); - let __t91 = { - let __t80 = + let __t79 = { + let __t67 = Value::sym(interp.intern_static("shen.print-prolog-vector")); + let __t78 = { + let __t68 = Value::int( 1i64, ); - let __t90 = { - let __t81 = Value::sym(interp.intern("shen.print-freshterm")); - let __t89 = { - let __t82 = Value::int(1i64); - let __t88 = { - let __t83 = Value::sym(interp.intern("shen.printF")); - let __t87 = { let __t84 = Value::int(1i64); let __t86 = { let __t85 = Value::sym(interp.intern("shen.x.expand-dynamic.*arities*")); rt::apply_direct(interp, "value", &[__t85])? }; rt::cons(&__t84, &__t86) }; - rt::cons(&__t83, &__t87) + let __t77 = { + let __t69 = Value::sym(interp.intern_static("shen.print-freshterm")); + let __t76 = { + let __t70 = Value::int(1i64); + let __t75 = { + let __t71 = Value::sym(interp.intern_static("shen.printF")); + let __t74 = { let __t72 = Value::int(1i64); let __t73 = rt::global_value(interp, "shen.x.expand-dynamic.*arities*")?; rt::cons(&__t72, &__t73) }; + rt::cons(&__t71, &__t74) }; - rt::cons(&__t82, &__t88) + rt::cons(&__t70, &__t75) }; rt::cons( - &__t81, - &__t89, + &__t69, + &__t76, ) }; rt::cons( - &__t80, - &__t90, + &__t68, + &__t77, ) }; rt::cons( - &__t79, &__t91, + &__t67, &__t78, ) }; - rt::cons(&__t78, &__t92) + rt::cons(&__t66, &__t79) }; - rt::cons(&__t77, &__t93) + rt::cons(&__t65, &__t80) }; - rt::cons(&__t76, &__t94) + rt::cons(&__t64, &__t81) }; - rt::cons(&__t75, &__t95) + rt::cons(&__t63, &__t82) }; - rt::cons(&__t74, &__t96) + rt::cons(&__t62, &__t83) }; - rt::cons(&__t73, &__t97) + rt::cons(&__t61, &__t84) }; - rt::apply_direct(interp, "shen.x.expand-dynamic.expand-lambda-entries", &[__t98])? + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_lambda_x2d_entries(interp, &[__t85])? }; - let __t102 = { - let __t101 = { - let __t100 = v_V7236.clone(); - rt::tl(&__t100)? + let __t89 = { + let __t88 = { + let __t87 = v_V7236.clone(); + rt::tl(&__t87)? }; - rt::apply_direct( - interp, - "shen.x.expand-dynamic.expand-dynamic", - &[__t101], - )? + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_dynamic(interp, &[__t88])? }; - rt::apply_direct( - interp, - "append", - &[__t99, __t102], - )? + rt::apply_direct(interp, "append", &[__t86, __t89])? }); } } else { { - let __t10 = { - let __t4 = v_V7236.clone(); - rt::is_cons(&__t4) + let __t8 = { + let __t2 = v_V7236.clone(); + rt::is_cons(&__t2) }; - if match rt::is_truthy(interp, &__t10) { + if match rt::is_truthy(interp, &__t8) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t6 = { - let __t5 = v_V7236.clone(); - rt::hd(&__t5)? + let __t4 = { + let __t3 = v_V7236.clone(); + rt::hd(&__t3)? }; - let __t9 = { - let __t8 = { - let __t7 = v_V7236.clone(); - rt::tl(&__t7)? + let __t7 = { + let __t6 = { + let __t5 = v_V7236.clone(); + rt::tl(&__t5)? }; - rt::apply_direct( - interp, - "shen.x.expand-dynamic.expand-dynamic", - &[__t8], - )? + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_dynamic(interp, &[__t6])? }; - rt::cons(&__t6, &__t9) + rt::cons(&__t4, &__t7) }); } else { { - let __t3 = Value::bool(true); - if match rt::is_truthy(interp, &__t3) { + let __t1 = Value::bool(true); + if match rt::is_truthy(interp, &__t1) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2 = Value::sym(interp.intern("shen.x.expand-dynamic.expand-dynamic")); + let __t0 = Value::sym(interp.intern_static("shen.x.expand-dynamic.expand-dynamic")); rt::apply_direct( interp, "shen.f-error", - &[__t2], + &[__t0], )? }); } else { @@ -659,74 +617,65 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_functions_x2d_with_x2d_lambdas( #[allow(clippy::never_loop)] loop { { - let __t195 = { - let __t193 = Value::nil(); - let __t194 = v_V7238.clone(); - rt::eq(&__t193, &__t194) - }; - if match rt::is_truthy(interp, &__t195) { + let __t168 = Value::bool((v_V7238.clone()).is_nil()); + if match rt::is_truthy(interp, &__t168) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t192 = { - let __t184 = { - let __t181 = v_V7238.clone(); - rt::is_cons(&__t181) + let __t167 = { + let __t159 = { + let __t156 = v_V7238.clone(); + rt::is_cons(&__t156) }; - if !rt::is_truthy(interp, &__t184)? { + if !rt::is_truthy(interp, &__t159)? { Value::bool(false) } else { - let __t185 = { - let __t183 = { - let __t182 = v_V7238.clone(); - rt::tl(&__t182)? + let __t160 = { + let __t158 = { + let __t157 = v_V7238.clone(); + rt::tl(&__t157)? }; - rt::is_cons(&__t183) + rt::is_cons(&__t158) }; - Value::bool(rt::is_truthy(interp, &__t185)?) + Value::bool(rt::is_truthy(interp, &__t160)?) } }; - if match rt::is_truthy(interp, &__t192) { + if match rt::is_truthy(interp, &__t167) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t187 = { - let __t186 = v_V7238.clone(); - rt::hd(&__t186)? + let __t162 = { + let __t161 = v_V7238.clone(); + rt::hd(&__t161)? }; - let __t191 = { - let __t190 = { - let __t189 = { - let __t188 = v_V7238.clone(); - rt::tl(&__t188)? + let __t166 = { + let __t165 = { + let __t164 = { + let __t163 = v_V7238.clone(); + rt::tl(&__t163)? }; - rt::tl(&__t189)? + rt::tl(&__t164)? }; - rt::apply_direct( - interp, - "shen.x.expand-dynamic.functions-with-lambdas", - &[__t190], - )? + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_functions_x2d_with_x2d_lambdas(interp, &[__t165])? }; - rt::cons(&__t187, &__t191) + rt::cons(&__t162, &__t166) }); } else { { - let __t180 = Value::bool(true); - if match rt::is_truthy(interp, &__t180) { + let __t155 = Value::bool(true); + if match rt::is_truthy(interp, &__t155) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t179 = Value::sym( - interp - .intern("shen.x.expand-dynamic.functions-with-lambdas"), - ); - rt::apply_direct(interp, "shen.f-error", &[__t179])? + let __t154 = Value::sym(interp.intern_static( + "shen.x.expand-dynamic.functions-with-lambdas", + )); + rt::apply_direct(interp, "shen.f-error", &[__t154])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -769,146 +718,149 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_declare( #[allow(clippy::never_loop)] loop { { - let __t245 = { - let __t218 = { - let __t198 = v_V7239.clone(); - rt::is_cons(&__t198) + let __t214 = { + let __t187 = { + let __t171 = v_V7239.clone(); + rt::is_cons(&__t171) }; - if !rt::is_truthy(interp, &__t218)? { + if !rt::is_truthy(interp, &__t187)? { Value::bool(false) } else { - let __t219 = { - let __t216 = { - let __t199 = Value::sym(interp.intern("declare")); - let __t201 = { - let __t200 = v_V7239.clone(); - rt::hd(&__t200)? - }; - rt::eq(&__t199, &__t201) - }; - if !rt::is_truthy(interp, &__t216)? { + let __t188 = { + let __t185 = Value::bool( + ({ + let __t172 = v_V7239.clone(); + rt::hd(&__t172)? + }) + .as_sym() + == Some(interp.intern_static("declare")), + ); + if !rt::is_truthy(interp, &__t185)? { Value::bool(false) } else { - let __t217 = { - let __t214 = { - let __t203 = { - let __t202 = v_V7239.clone(); - rt::tl(&__t202)? + let __t186 = { + let __t183 = { + let __t174 = { + let __t173 = v_V7239.clone(); + rt::tl(&__t173)? }; - rt::is_cons(&__t203) + rt::is_cons(&__t174) }; - if !rt::is_truthy(interp, &__t214)? { + if !rt::is_truthy(interp, &__t183)? { Value::bool(false) } else { - let __t215 = { - let __t212 = { - let __t206 = { - let __t205 = { - let __t204 = v_V7239.clone(); - rt::tl(&__t204)? + let __t184 = { + let __t181 = { + let __t177 = { + let __t176 = { + let __t175 = v_V7239.clone(); + rt::tl(&__t175)? }; - rt::tl(&__t205)? + rt::tl(&__t176)? }; - rt::is_cons(&__t206) + rt::is_cons(&__t177) }; - if !rt::is_truthy(interp, &__t212)? { + if !rt::is_truthy(interp, &__t181)? { Value::bool(false) } else { - let __t213 = { - let __t207 = Value::nil(); - let __t211 = { - let __t210 = { - let __t209 = { - let __t208 = v_V7239.clone(); - rt::tl(&__t208)? + let __t182 = Value::bool( + ({ + let __t180 = { + let __t179 = { + let __t178 = v_V7239.clone(); + rt::tl(&__t178)? }; - rt::tl(&__t209)? + rt::tl(&__t179)? }; - rt::tl(&__t210)? - }; - rt::eq(&__t207, &__t211) - }; - Value::bool(rt::is_truthy(interp, &__t213)?) + rt::tl(&__t180)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t182)?) } }; - Value::bool(rt::is_truthy(interp, &__t215)?) + Value::bool(rt::is_truthy(interp, &__t184)?) } }; - Value::bool(rt::is_truthy(interp, &__t217)?) + Value::bool(rt::is_truthy(interp, &__t186)?) } }; - Value::bool(rt::is_truthy(interp, &__t219)?) + Value::bool(rt::is_truthy(interp, &__t188)?) } }; - if match rt::is_truthy(interp, &__t245) { + if match rt::is_truthy(interp, &__t214) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W7240 = { - let __t223 = { - let __t222 = { - let __t221 = { - let __t220 = v_V7239.clone(); - rt::tl(&__t220)? + let __t192 = { + let __t191 = { + let __t190 = { + let __t189 = v_V7239.clone(); + rt::tl(&__t189)? }; - rt::tl(&__t221)? + rt::tl(&__t190)? }; - rt::hd(&__t222)? + rt::hd(&__t191)? }; - rt::apply_direct(interp, "eval-kl", &[__t223])? + rt::apply_direct(interp, "eval-kl", &[__t192])? }; { let v_W7241 = { - let __t224 = v_W7240.clone(); - rt::apply_direct(interp, "shen.prolog-abstraction", &[__t224])? + let __t193 = v_W7240.clone(); + rt::apply_direct(interp, "shen.prolog-abstraction", &[__t193])? }; { let v_W7242 = { - let __t225 = Value::sym(interp.intern("set")); - let __t244 = { - let __t226 = Value::sym(interp.intern("shen.*sigf*")); - let __t243 = { - let __t241 = { - let __t227 = Value::sym(interp.intern("shen.assoc->")); - let __t240 = { - let __t230 = { - let __t229 = { - let __t228 = v_V7239.clone(); - rt::tl(&__t228)? + let __t194 = Value::sym(interp.intern_static("set")); + let __t213 = { + let __t195 = Value::sym(interp.intern_static("shen.*sigf*")); + let __t212 = { + let __t210 = { + let __t196 = + Value::sym(interp.intern_static("shen.assoc->")); + let __t209 = { + let __t199 = { + let __t198 = { + let __t197 = v_V7239.clone(); + rt::tl(&__t197)? }; - rt::hd(&__t229)? + rt::hd(&__t198)? }; - let __t239 = { - let __t231 = v_W7241.clone(); - let __t238 = { - let __t236 = { - let __t232 = - Value::sym(interp.intern("value")); - let __t235 = { - let __t233 = Value::sym( - interp.intern("shen.*sigf*"), + let __t208 = { + let __t200 = v_W7241.clone(); + let __t207 = { + let __t205 = { + let __t201 = Value::sym( + interp.intern_static("value"), + ); + let __t204 = { + let __t202 = Value::sym( + interp.intern_static( + "shen.*sigf*", + ), ); - let __t234 = Value::nil(); - rt::cons(&__t233, &__t234) + let __t203 = Value::nil(); + rt::cons(&__t202, &__t203) }; - rt::cons(&__t232, &__t235) + rt::cons(&__t201, &__t204) }; - let __t237 = Value::nil(); - rt::cons(&__t236, &__t237) + let __t206 = Value::nil(); + rt::cons(&__t205, &__t206) }; - rt::cons(&__t231, &__t238) + rt::cons(&__t200, &__t207) }; - rt::cons(&__t230, &__t239) + rt::cons(&__t199, &__t208) }; - rt::cons(&__t227, &__t240) + rt::cons(&__t196, &__t209) }; - let __t242 = Value::nil(); - rt::cons(&__t241, &__t242) + let __t211 = Value::nil(); + rt::cons(&__t210, &__t211) }; - rt::cons(&__t226, &__t243) + rt::cons(&__t195, &__t212) }; - rt::cons(&__t225, &__t244) + rt::cons(&__t194, &__t213) }; break Ok(v_W7242.clone()); } @@ -916,15 +868,16 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_declare( } } else { { - let __t197 = Value::bool(true); - if match rt::is_truthy(interp, &__t197) { + let __t170 = Value::bool(true); + if match rt::is_truthy(interp, &__t170) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t196 = - Value::sym(interp.intern("shen.x.expand-dynamic.expand-declare")); - rt::apply_direct(interp, "shen.f-error", &[__t196])? + let __t169 = Value::sym( + interp.intern_static("shen.x.expand-dynamic.expand-declare"), + ); + rt::apply_direct(interp, "shen.f-error", &[__t169])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -963,99 +916,87 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_lambda_x2d_entries( #[allow(clippy::never_loop)] loop { { - let __t271 = { - let __t269 = Value::nil(); - let __t270 = v_V7243.clone(); - rt::eq(&__t269, &__t270) - }; - if match rt::is_truthy(interp, &__t271) { + let __t238 = Value::bool((v_V7243.clone()).is_nil()); + if match rt::is_truthy(interp, &__t238) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t268 = { - let __t256 = { - let __t253 = v_V7243.clone(); - rt::is_cons(&__t253) + let __t237 = { + let __t225 = { + let __t222 = v_V7243.clone(); + rt::is_cons(&__t222) }; - if !rt::is_truthy(interp, &__t256)? { + if !rt::is_truthy(interp, &__t225)? { Value::bool(false) } else { - let __t257 = { - let __t255 = { - let __t254 = v_V7243.clone(); - rt::tl(&__t254)? + let __t226 = { + let __t224 = { + let __t223 = v_V7243.clone(); + rt::tl(&__t223)? }; - rt::is_cons(&__t255) + rt::is_cons(&__t224) }; - Value::bool(rt::is_truthy(interp, &__t257)?) + Value::bool(rt::is_truthy(interp, &__t226)?) } }; - if match rt::is_truthy(interp, &__t268) { + if match rt::is_truthy(interp, &__t237) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t263 = { - let __t259 = { - let __t258 = v_V7243.clone(); - rt::hd(&__t258)? + let __t232 = { + let __t228 = { + let __t227 = v_V7243.clone(); + rt::hd(&__t227)? }; - let __t262 = { - let __t261 = { - let __t260 = v_V7243.clone(); - rt::tl(&__t260)? + let __t231 = { + let __t230 = { + let __t229 = v_V7243.clone(); + rt::tl(&__t229)? }; - rt::hd(&__t261)? + rt::hd(&__t230)? }; - rt::apply_direct( - interp, - "shen.x.expand-dynamic.expand-lambda-form-entry", - &[__t259, __t262], - )? + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_lambda_x2d_form_x2d_entry(interp, &[__t228, __t231])? }; - let __t267 = { - let __t266 = { - let __t265 = { - let __t264 = v_V7243.clone(); - rt::tl(&__t264)? + let __t236 = { + let __t235 = { + let __t234 = { + let __t233 = v_V7243.clone(); + rt::tl(&__t233)? }; - rt::tl(&__t265)? + rt::tl(&__t234)? }; - rt::apply_direct( - interp, - "shen.x.expand-dynamic.expand-lambda-entries", - &[__t266], - )? + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_lambda_x2d_entries(interp, &[__t235])? }; - rt::apply_direct(interp, "append", &[__t263, __t267])? + rt::apply_direct(interp, "append", &[__t232, __t236])? }); } else { { - let __t252 = Value::bool(true); - if match rt::is_truthy(interp, &__t252) { + let __t221 = Value::bool(true); + if match rt::is_truthy(interp, &__t221) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t251 = { - let __t246 = + let __t220 = { + let __t215 = Value::str("expand-lambda-entries: got unexpected "); - let __t250 = { - let __t247 = v_V7243.clone(); - let __t248 = Value::str(""); - let __t249 = Value::sym(interp.intern("shen.a")); + let __t219 = { + let __t216 = v_V7243.clone(); + let __t217 = Value::str(""); + let __t218 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t247, __t248, __t249], + &[__t216, __t217, __t218], )? }; - rt::apply_direct(interp, "cn", &[__t246, __t250])? + rt::cn(&__t215, &__t219)? }; - rt::apply_direct(interp, "simple-error", &[__t251])? + rt::apply_direct(interp, "simple-error", &[__t220])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1100,78 +1041,70 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_lambda_x2d_form_x2d_ #[allow(clippy::never_loop)] loop { { - let __t306 = { - let __t304 = Value::sym(interp.intern("package")); - let __t305 = v_V7252.clone(); - rt::eq(&__t304, &__t305) - }; - if match rt::is_truthy(interp, &__t306) { + let __t265 = + Value::bool((v_V7252.clone()).as_sym() == Some(interp.intern_static("package"))); + if match rt::is_truthy(interp, &__t265) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t303 = { - let __t301 = Value::sym(interp.intern("receive")); - let __t302 = v_V7252.clone(); - rt::eq(&__t301, &__t302) - }; - if match rt::is_truthy(interp, &__t303) { + let __t264 = Value::bool( + (v_V7252.clone()).as_sym() == Some(interp.intern_static("receive")), + ); + if match rt::is_truthy(interp, &__t264) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t300 = { - let __t298 = Value::sym(interp.intern("list")); - let __t299 = v_V7252.clone(); - rt::eq(&__t298, &__t299) - }; - if match rt::is_truthy(interp, &__t300) { + let __t263 = Value::bool( + (v_V7252.clone()).as_sym() == Some(interp.intern_static("list")), + ); + if match rt::is_truthy(interp, &__t263) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t297 = { - let __t295 = Value::sym(interp.intern("foreign")); - let __t296 = v_V7252.clone(); - rt::eq(&__t295, &__t296) - }; - if match rt::is_truthy(interp, &__t297) { + let __t262 = Value::bool( + (v_V7252.clone()).as_sym() + == Some(interp.intern_static("foreign")), + ); + if match rt::is_truthy(interp, &__t262) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t294 = Value::bool(true); - if match rt::is_truthy(interp, &__t294) { + let __t261 = Value::bool(true); + if match rt::is_truthy(interp, &__t261) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t274 = { - let __t272 = v_V7253.clone(); - let __t273 = Value::int(-1i64); - rt::eq(&__t272, &__t273) + let __t241 = { + let __t239 = v_V7253.clone(); + let __t240 = Value::int(-1i64); + rt::eq(&__t239, &__t240) }; - if match rt::is_truthy(interp, &__t274) { + if match rt::is_truthy(interp, &__t241) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t277 = { - let __t275 = v_V7253.clone(); - let __t276 = Value::int(0i64); - rt::eq(&__t275, &__t276) + let __t244 = { + let __t242 = v_V7253.clone(); + let __t243 = Value::int(0i64); + rt::eq(&__t242, &__t243) }; - if match rt::is_truthy(interp, &__t277) + if match rt::is_truthy(interp, &__t244) { Ok(b) => b, Err(e) => break Err(e), @@ -1179,58 +1112,52 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_expand_x2d_lambda_x2d_form_x2d_ break Ok(Value::nil()); } else { break Ok({ - let __t292 = { - let __t278 = Value::sym(interp.intern("shen.set-lambda-form-entry")); - let __t291 = { - let __t289 = { - let __t279 = - Value::sym( - interp - .intern( - "cons", - ), - ); - let __t288 = { - let __t280 = + let __t259 = { + let __t245 = Value::sym(interp.intern_static("shen.set-lambda-form-entry")); + let __t258 = { + let __t256 = { + let __t246 = Value::sym(interp.intern_static("cons")); + let __t255 = { + let __t247 = v_V7252 .clone( ); - let __t287 = { - let __t285 = { - let __t283 = { - let __t281 = v_V7252.clone(); - let __t282 = Value::nil(); - rt::cons(&__t281, &__t282) + let __t254 = { + let __t252 = { + let __t250 = { + let __t248 = v_V7252.clone(); + let __t249 = Value::nil(); + rt::cons(&__t248, &__t249) }; - let __t284 = v_V7253.clone(); - rt::apply_direct(interp, "shen.lambda-function", &[__t283, __t284])? + let __t251 = v_V7253.clone(); + rt::apply_direct(interp, "shen.lambda-function", &[__t250, __t251])? }; - let __t286 = Value::nil(); + let __t253 = Value::nil(); rt::cons( - &__t285, - &__t286, + &__t252, + &__t253, ) }; rt::cons( - &__t280, - &__t287, + &__t247, + &__t254, ) }; rt::cons( - &__t279, - &__t288, + &__t246, + &__t255, ) }; - let __t290 = + let __t257 = Value::nil(); rt::cons( - &__t289, &__t290, + &__t256, &__t257, ) }; - rt::cons(&__t278, &__t291) + rt::cons(&__t245, &__t258) }; - let __t293 = Value::nil(); - rt::cons(&__t292, &__t293) + let __t260 = Value::nil(); + rt::cons(&__t259, &__t260) }); } } @@ -1285,184 +1212,179 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_split_x2d_defuns_x2d_h( #[allow(clippy::never_loop)] loop { { - let __t360 = { - let __t348 = { - let __t336 = v_V7254.clone(); - rt::is_cons(&__t336) + let __t315 = { + let __t303 = { + let __t293 = v_V7254.clone(); + rt::is_cons(&__t293) }; - if !rt::is_truthy(interp, &__t348)? { + if !rt::is_truthy(interp, &__t303)? { Value::bool(false) } else { - let __t349 = { - let __t346 = { - let __t338 = { - let __t337 = v_V7254.clone(); - rt::hd(&__t337)? + let __t304 = { + let __t301 = { + let __t295 = { + let __t294 = v_V7254.clone(); + rt::hd(&__t294)? }; - rt::is_cons(&__t338) + rt::is_cons(&__t295) }; - if !rt::is_truthy(interp, &__t346)? { + if !rt::is_truthy(interp, &__t301)? { Value::bool(false) } else { - let __t347 = { - let __t344 = { - let __t339 = Value::sym(interp.intern("defun")); - let __t342 = { - let __t341 = { - let __t340 = v_V7254.clone(); - rt::hd(&__t340)? + let __t302 = { + let __t299 = Value::bool( + ({ + let __t297 = { + let __t296 = v_V7254.clone(); + rt::hd(&__t296)? }; - rt::hd(&__t341)? - }; - rt::eq(&__t339, &__t342) - }; - if !rt::is_truthy(interp, &__t344)? { + rt::hd(&__t297)? + }) + .as_sym() + == Some(interp.intern_static("defun")), + ); + if !rt::is_truthy(interp, &__t299)? { Value::bool(false) } else { - let __t345 = { - let __t343 = v_V7255.clone(); - rt::apply_direct(interp, "tuple?", &[__t343])? + let __t300 = { + let __t298 = v_V7255.clone(); + rt::apply_direct(interp, "tuple?", &[__t298])? }; - Value::bool(rt::is_truthy(interp, &__t345)?) + Value::bool(rt::is_truthy(interp, &__t300)?) } }; - Value::bool(rt::is_truthy(interp, &__t347)?) + Value::bool(rt::is_truthy(interp, &__t302)?) } }; - Value::bool(rt::is_truthy(interp, &__t349)?) + Value::bool(rt::is_truthy(interp, &__t304)?) } }; - if match rt::is_truthy(interp, &__t360) { + if match rt::is_truthy(interp, &__t315) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t351 = { - let __t350 = v_V7254.clone(); - rt::tl(&__t350)? + let __t306 = { + let __t305 = v_V7254.clone(); + rt::tl(&__t305)? }; - let __t359 = { - let __t356 = { - let __t353 = { - let __t352 = v_V7254.clone(); - rt::hd(&__t352)? + let __t314 = { + let __t311 = { + let __t308 = { + let __t307 = v_V7254.clone(); + rt::hd(&__t307)? }; - let __t355 = { - let __t354 = v_V7255.clone(); - rt::apply_direct(interp, "fst", &[__t354])? + let __t310 = { + let __t309 = v_V7255.clone(); + rt::apply_direct(interp, "fst", &[__t309])? }; - rt::cons(&__t353, &__t355) + rt::cons(&__t308, &__t310) }; - let __t358 = { - let __t357 = v_V7255.clone(); - rt::apply_direct(interp, "snd", &[__t357])? + let __t313 = { + let __t312 = v_V7255.clone(); + rt::apply_direct(interp, "snd", &[__t312])? }; - rt::apply_direct(interp, "@p", &[__t356, __t358])? + rt::apply_direct(interp, "@p", &[__t311, __t313])? }; - v_V7254 = __t351; - v_V7255 = __t359; + v_V7254 = __t306; + v_V7255 = __t314; continue; } } else { { - let __t335 = { - let __t323 = { - let __t321 = v_V7254.clone(); - rt::is_cons(&__t321) + let __t292 = { + let __t280 = { + let __t278 = v_V7254.clone(); + rt::is_cons(&__t278) }; - if !rt::is_truthy(interp, &__t323)? { + if !rt::is_truthy(interp, &__t280)? { Value::bool(false) } else { - let __t324 = { - let __t322 = v_V7255.clone(); - rt::apply_direct(interp, "tuple?", &[__t322])? + let __t281 = { + let __t279 = v_V7255.clone(); + rt::apply_direct(interp, "tuple?", &[__t279])? }; - Value::bool(rt::is_truthy(interp, &__t324)?) + Value::bool(rt::is_truthy(interp, &__t281)?) } }; - if match rt::is_truthy(interp, &__t335) { + if match rt::is_truthy(interp, &__t292) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t326 = { - let __t325 = v_V7254.clone(); - rt::tl(&__t325)? + let __t283 = { + let __t282 = v_V7254.clone(); + rt::tl(&__t282)? }; - let __t334 = { - let __t328 = { - let __t327 = v_V7255.clone(); - rt::apply_direct(interp, "fst", &[__t327])? + let __t291 = { + let __t285 = { + let __t284 = v_V7255.clone(); + rt::apply_direct(interp, "fst", &[__t284])? }; - let __t333 = { - let __t330 = { - let __t329 = v_V7254.clone(); - rt::hd(&__t329)? + let __t290 = { + let __t287 = { + let __t286 = v_V7254.clone(); + rt::hd(&__t286)? }; - let __t332 = { - let __t331 = v_V7255.clone(); - rt::apply_direct(interp, "snd", &[__t331])? + let __t289 = { + let __t288 = v_V7255.clone(); + rt::apply_direct(interp, "snd", &[__t288])? }; - rt::cons(&__t330, &__t332) + rt::cons(&__t287, &__t289) }; - rt::apply_direct(interp, "@p", &[__t328, __t333])? + rt::apply_direct(interp, "@p", &[__t285, __t290])? }; - v_V7254 = __t326; - v_V7255 = __t334; + v_V7254 = __t283; + v_V7255 = __t291; continue; } } else { { - let __t320 = { - let __t312 = { - let __t309 = Value::nil(); - let __t310 = v_V7254.clone(); - rt::eq(&__t309, &__t310) - }; - if !rt::is_truthy(interp, &__t312)? { + let __t277 = { + let __t269 = Value::bool((v_V7254.clone()).is_nil()); + if !rt::is_truthy(interp, &__t269)? { Value::bool(false) } else { - let __t313 = { - let __t311 = v_V7255.clone(); - rt::apply_direct(interp, "tuple?", &[__t311])? + let __t270 = { + let __t268 = v_V7255.clone(); + rt::apply_direct(interp, "tuple?", &[__t268])? }; - Value::bool(rt::is_truthy(interp, &__t313)?) + Value::bool(rt::is_truthy(interp, &__t270)?) } }; - if match rt::is_truthy(interp, &__t320) { + if match rt::is_truthy(interp, &__t277) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t316 = { - let __t315 = { - let __t314 = v_V7255.clone(); - rt::apply_direct(interp, "fst", &[__t314])? + let __t273 = { + let __t272 = { + let __t271 = v_V7255.clone(); + rt::apply_direct(interp, "fst", &[__t271])? }; - rt::apply_direct(interp, "reverse", &[__t315])? + rt::apply_direct(interp, "reverse", &[__t272])? }; - let __t319 = { - let __t318 = { - let __t317 = v_V7255.clone(); - rt::apply_direct(interp, "snd", &[__t317])? + let __t276 = { + let __t275 = { + let __t274 = v_V7255.clone(); + rt::apply_direct(interp, "snd", &[__t274])? }; - rt::apply_direct(interp, "reverse", &[__t318])? + rt::apply_direct(interp, "reverse", &[__t275])? }; - rt::apply_direct(interp, "@p", &[__t316, __t319])? + rt::apply_direct(interp, "@p", &[__t273, __t276])? }); } else { { - let __t308 = Value::bool(true); - if match rt::is_truthy(interp, &__t308) { + let __t267 = Value::bool(true); + if match rt::is_truthy(interp, &__t267) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t307 = Value::sym( - interp - .intern("shen.x.expand-dynamic.split-defuns-h"), - ); - rt::apply_direct(interp, "shen.f-error", &[__t307])? + let __t266 = Value::sym(interp.intern_static( + "shen.x.expand-dynamic.split-defuns-h", + )); + rt::apply_direct(interp, "shen.f-error", &[__t266])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1505,16 +1427,15 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_split_x2d_defuns( #[allow(clippy::never_loop)] loop { break Ok({ - let __t361 = v_V7256.clone(); - let __t364 = { - let __t362 = Value::nil(); - let __t363 = Value::nil(); - rt::apply_direct(interp, "@p", &[__t362, __t363])? + let __t316 = v_V7256.clone(); + let __t319 = { + let __t317 = Value::nil(); + let __t318 = Value::nil(); + rt::apply_direct(interp, "@p", &[__t317, __t318])? }; - rt::apply_direct( + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_split_x2d_defuns_x2d_h( interp, - "shen.x.expand-dynamic.split-defuns-h", - &[__t361, __t364], + &[__t316, __t319], )? }); } @@ -1552,29 +1473,28 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_wrap_x2d_in_x2d_defun( #[allow(clippy::never_loop)] loop { break Ok({ - let __t365 = Value::sym(interp.intern("defun")); - let __t374 = { - let __t366 = v_V7257.clone(); - let __t373 = { - let __t367 = v_V7258.clone(); - let __t372 = { - let __t370 = { - let __t368 = v_V7257.clone(); - let __t369 = v_V7259.clone(); - rt::apply_direct( + let __t320 = Value::sym(interp.intern_static("defun")); + let __t329 = { + let __t321 = v_V7257.clone(); + let __t328 = { + let __t322 = v_V7258.clone(); + let __t327 = { + let __t325 = { + let __t323 = v_V7257.clone(); + let __t324 = v_V7259.clone(); + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_to_x2d_single_x2d_expression( interp, - "shen.x.expand-dynamic.to-single-expression", - &[__t368, __t369], + &[__t323, __t324], )? }; - let __t371 = Value::nil(); - rt::cons(&__t370, &__t371) + let __t326 = Value::nil(); + rt::cons(&__t325, &__t326) }; - rt::cons(&__t367, &__t372) + rt::cons(&__t322, &__t327) }; - rt::cons(&__t366, &__t373) + rt::cons(&__t321, &__t328) }; - rt::cons(&__t365, &__t374) + rt::cons(&__t320, &__t329) }); } } @@ -1609,95 +1529,90 @@ pub fn aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_to_x2d_single_x2d_expression( #[allow(clippy::never_loop)] loop { { - let __t401 = { - let __t398 = { - let __t394 = v_V7265.clone(); - rt::is_cons(&__t394) + let __t354 = { + let __t351 = { + let __t349 = v_V7265.clone(); + rt::is_cons(&__t349) }; - if !rt::is_truthy(interp, &__t398)? { + if !rt::is_truthy(interp, &__t351)? { Value::bool(false) } else { - let __t399 = { - let __t395 = Value::nil(); - let __t397 = { - let __t396 = v_V7265.clone(); - rt::tl(&__t396)? - }; - rt::eq(&__t395, &__t397) - }; - Value::bool(rt::is_truthy(interp, &__t399)?) + let __t352 = Value::bool( + ({ + let __t350 = v_V7265.clone(); + rt::tl(&__t350)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t352)?) } }; - if match rt::is_truthy(interp, &__t401) { + if match rt::is_truthy(interp, &__t354) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t400 = v_V7265.clone(); - rt::hd(&__t400)? + let __t353 = v_V7265.clone(); + rt::hd(&__t353)? }); } else { { - let __t393 = { - let __t382 = v_V7265.clone(); - rt::is_cons(&__t382) + let __t348 = { + let __t337 = v_V7265.clone(); + rt::is_cons(&__t337) }; - if match rt::is_truthy(interp, &__t393) { + if match rt::is_truthy(interp, &__t348) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t383 = Value::sym(interp.intern("do")); - let __t392 = { - let __t385 = { - let __t384 = v_V7265.clone(); - rt::hd(&__t384)? + let __t338 = Value::sym(interp.intern_static("do")); + let __t347 = { + let __t340 = { + let __t339 = v_V7265.clone(); + rt::hd(&__t339)? }; - let __t391 = { - let __t389 = { - let __t386 = v_V7264.clone(); - let __t388 = { - let __t387 = v_V7265.clone(); - rt::tl(&__t387)? + let __t346 = { + let __t344 = { + let __t341 = v_V7264.clone(); + let __t343 = { + let __t342 = v_V7265.clone(); + rt::tl(&__t342)? }; - rt::apply_direct( - interp, - "shen.x.expand-dynamic.to-single-expression", - &[__t386, __t388], - )? + aot_shen_x2e_x_x2e_expand_x2d_dynamic_x2e_to_x2d_single_x2d_expression(interp, &[__t341, __t343])? }; - let __t390 = Value::nil(); - rt::cons(&__t389, &__t390) + let __t345 = Value::nil(); + rt::cons(&__t344, &__t345) }; - rt::cons(&__t385, &__t391) + rt::cons(&__t340, &__t346) }; - rt::cons(&__t383, &__t392) + rt::cons(&__t338, &__t347) }); } else { { - let __t381 = Value::bool(true); - if match rt::is_truthy(interp, &__t381) { + let __t336 = Value::bool(true); + if match rt::is_truthy(interp, &__t336) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t380 = { - let __t375 = Value::str( + let __t335 = { + let __t330 = Value::str( "to-single-expression: got empty list of expressions: ", ); - let __t379 = { - let __t376 = v_V7264.clone(); - let __t377 = Value::str(""); - let __t378 = Value::sym(interp.intern("shen.a")); + let __t334 = { + let __t331 = v_V7264.clone(); + let __t332 = Value::str(""); + let __t333 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t376, __t377, __t378], + &[__t331, __t332, __t333], )? }; - rt::apply_direct(interp, "cn", &[__t375, __t379])? + rt::cn(&__t330, &__t334)? }; - rt::apply_direct(interp, "simple-error", &[__t380])? + rt::apply_direct(interp, "simple-error", &[__t335])? }); } else { break Err(ShenError::new("cond: no clause matched")); diff --git a/crates/shen-rust/src/aot/kernel/extension_features.rs b/crates/shen-rust/src/aot/kernel/extension_features.rs index 3cebf9f..23b89d5 100644 --- a/crates/shen-rust/src/aot/kernel/extension_features.rs +++ b/crates/shen-rust/src/aot/kernel/extension_features.rs @@ -39,1064 +39,968 @@ pub fn aot_shen_x2e_x_x2e_features_x2e_cond_x2d_expand_x2d_macro( #[allow(clippy::never_loop)] loop { { - let __t356 = { - let __t353 = { - let __t344 = v_V7078.clone(); - rt::is_cons(&__t344) + let __t317 = { + let __t314 = { + let __t309 = v_V7078.clone(); + rt::is_cons(&__t309) }; - if !rt::is_truthy(interp, &__t353)? { + if !rt::is_truthy(interp, &__t314)? { Value::bool(false) } else { - let __t354 = { - let __t351 = { - let __t345 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t347 = { - let __t346 = v_V7078.clone(); - rt::hd(&__t346)? - }; - rt::eq(&__t345, &__t347) - }; - if !rt::is_truthy(interp, &__t351)? { + let __t315 = { + let __t312 = Value::bool( + ({ + let __t310 = v_V7078.clone(); + rt::hd(&__t310)? + }) + .as_sym() + == Some(interp.intern_static("shen.x.features.cond-expand")), + ); + if !rt::is_truthy(interp, &__t312)? { Value::bool(false) } else { - let __t352 = { - let __t348 = Value::nil(); - let __t350 = { - let __t349 = v_V7078.clone(); - rt::tl(&__t349)? - }; - rt::eq(&__t348, &__t350) - }; - Value::bool(rt::is_truthy(interp, &__t352)?) + let __t313 = Value::bool( + ({ + let __t311 = v_V7078.clone(); + rt::tl(&__t311)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t313)?) } }; - Value::bool(rt::is_truthy(interp, &__t354)?) + Value::bool(rt::is_truthy(interp, &__t315)?) } }; - if match rt::is_truthy(interp, &__t356) { + if match rt::is_truthy(interp, &__t317) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t355 = Value::str("Unfulfilled shen.x.features.cond-expand clause."); - rt::apply_direct(interp, "simple-error", &[__t355])? + let __t316 = Value::str("Unfulfilled shen.x.features.cond-expand clause."); + rt::apply_direct(interp, "simple-error", &[__t316])? }); } else { { - let __t343 = { - let __t338 = { - let __t312 = v_V7078.clone(); - rt::is_cons(&__t312) + let __t308 = { + let __t303 = { + let __t281 = v_V7078.clone(); + rt::is_cons(&__t281) }; - if !rt::is_truthy(interp, &__t338)? { + if !rt::is_truthy(interp, &__t303)? { Value::bool(false) } else { - let __t339 = { - let __t336 = { - let __t313 = - Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t315 = { - let __t314 = v_V7078.clone(); - rt::hd(&__t314)? - }; - rt::eq(&__t313, &__t315) - }; - if !rt::is_truthy(interp, &__t336)? { + let __t304 = { + let __t301 = Value::bool( + ({ + let __t282 = v_V7078.clone(); + rt::hd(&__t282)? + }) + .as_sym() + == Some( + interp.intern_static("shen.x.features.cond-expand"), + ), + ); + if !rt::is_truthy(interp, &__t301)? { Value::bool(false) } else { - let __t337 = { - let __t334 = { - let __t317 = { - let __t316 = v_V7078.clone(); - rt::tl(&__t316)? + let __t302 = { + let __t299 = { + let __t284 = { + let __t283 = v_V7078.clone(); + rt::tl(&__t283)? }; - rt::is_cons(&__t317) + rt::is_cons(&__t284) }; - if !rt::is_truthy(interp, &__t334)? { + if !rt::is_truthy(interp, &__t299)? { Value::bool(false) } else { - let __t335 = { - let __t332 = { - let __t318 = Value::bool(true); - let __t321 = { - let __t320 = { - let __t319 = v_V7078.clone(); - rt::tl(&__t319)? + let __t300 = { + let __t297 = { + let __t285 = Value::bool(true); + let __t288 = { + let __t287 = { + let __t286 = v_V7078.clone(); + rt::tl(&__t286)? }; - rt::hd(&__t320)? + rt::hd(&__t287)? }; - rt::eq(&__t318, &__t321) + rt::eq(&__t285, &__t288) }; - if !rt::is_truthy(interp, &__t332)? { + if !rt::is_truthy(interp, &__t297)? { Value::bool(false) } else { - let __t333 = { - let __t330 = { - let __t324 = { - let __t323 = { - let __t322 = v_V7078.clone(); - rt::tl(&__t322)? + let __t298 = { + let __t295 = { + let __t291 = { + let __t290 = { + let __t289 = v_V7078.clone(); + rt::tl(&__t289)? }; - rt::tl(&__t323)? + rt::tl(&__t290)? }; - rt::is_cons(&__t324) + rt::is_cons(&__t291) }; - if !rt::is_truthy(interp, &__t330)? { + if !rt::is_truthy(interp, &__t295)? { Value::bool(false) } else { - let __t331 = { - let __t325 = Value::nil(); - let __t329 = { - let __t328 = { - let __t327 = { - let __t326 = + let __t296 = Value::bool( + ({ + let __t294 = { + let __t293 = { + let __t292 = v_V7078.clone(); - rt::tl(&__t326)? + rt::tl(&__t292)? }; - rt::tl(&__t327)? + rt::tl(&__t293)? }; - rt::tl(&__t328)? - }; - rt::eq(&__t325, &__t329) - }; + rt::tl(&__t294)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t331, + interp, &__t296, )?) } }; - Value::bool(rt::is_truthy(interp, &__t333)?) + Value::bool(rt::is_truthy(interp, &__t298)?) } }; - Value::bool(rt::is_truthy(interp, &__t335)?) + Value::bool(rt::is_truthy(interp, &__t300)?) } }; - Value::bool(rt::is_truthy(interp, &__t337)?) + Value::bool(rt::is_truthy(interp, &__t302)?) } }; - Value::bool(rt::is_truthy(interp, &__t339)?) + Value::bool(rt::is_truthy(interp, &__t304)?) } }; - if match rt::is_truthy(interp, &__t343) { + if match rt::is_truthy(interp, &__t308) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t342 = { - let __t341 = { - let __t340 = v_V7078.clone(); - rt::tl(&__t340)? + let __t307 = { + let __t306 = { + let __t305 = v_V7078.clone(); + rt::tl(&__t305)? }; - rt::tl(&__t341)? + rt::tl(&__t306)? }; - rt::hd(&__t342)? + rt::hd(&__t307)? }); } else { { - let __t311 = { - let __t306 = { - let __t274 = v_V7078.clone(); - rt::is_cons(&__t274) + let __t280 = { + let __t275 = { + let __t249 = v_V7078.clone(); + rt::is_cons(&__t249) }; - if !rt::is_truthy(interp, &__t306)? { + if !rt::is_truthy(interp, &__t275)? { Value::bool(false) } else { - let __t307 = { - let __t304 = { - let __t275 = Value::sym( - interp.intern("shen.x.features.cond-expand"), + let __t276 = { + let __t273 = + Value::bool( + ({ + let __t250 = v_V7078.clone(); + rt::hd(&__t250)? + }) + .as_sym() + == Some(interp.intern_static( + "shen.x.features.cond-expand", + )), ); - let __t277 = { - let __t276 = v_V7078.clone(); - rt::hd(&__t276)? - }; - rt::eq(&__t275, &__t277) - }; - if !rt::is_truthy(interp, &__t304)? { + if !rt::is_truthy(interp, &__t273)? { Value::bool(false) } else { - let __t305 = { - let __t302 = { - let __t279 = { - let __t278 = v_V7078.clone(); - rt::tl(&__t278)? + let __t274 = { + let __t271 = { + let __t252 = { + let __t251 = v_V7078.clone(); + rt::tl(&__t251)? }; - rt::is_cons(&__t279) + rt::is_cons(&__t252) }; - if !rt::is_truthy(interp, &__t302)? { + if !rt::is_truthy(interp, &__t271)? { Value::bool(false) } else { - let __t303 = { - let __t300 = { - let __t282 = { - let __t281 = { - let __t280 = v_V7078.clone(); - rt::tl(&__t280)? + let __t272 = { + let __t269 = { + let __t255 = { + let __t254 = { + let __t253 = v_V7078.clone(); + rt::tl(&__t253)? }; - rt::hd(&__t281)? + rt::hd(&__t254)? }; - rt::is_cons(&__t282) + rt::is_cons(&__t255) }; - if !rt::is_truthy(interp, &__t300)? { + if !rt::is_truthy(interp, &__t269)? { Value::bool(false) } else { - let __t301 = { - let __t298 = { - let __t283 = Value::sym( - interp.intern("and"), - ); - let __t287 = { - let __t286 = { - let __t285 = { - let __t284 = + let __t270 = { + let __t267 = Value::bool( + ({ + let __t258 = { + let __t257 = { + let __t256 = v_V7078.clone(); - rt::tl(&__t284)? + rt::tl(&__t256)? }; - rt::hd(&__t285)? + rt::hd(&__t257)? }; - rt::hd(&__t286)? - }; - rt::eq(&__t283, &__t287) - }; - if !rt::is_truthy(interp, &__t298)? + rt::hd(&__t258)? + }) + .as_sym() + == Some( + interp.intern_static( + "and", + ), + ), + ); + if !rt::is_truthy(interp, &__t267)? { Value::bool(false) } else { - let __t299 = { - let __t296 = { - let __t288 = - Value::nil(); - let __t292 = { - let __t291 = { - let __t290 = { - let __t289 = v_V7078.clone(); - rt::tl( - &__t289, - )? - }; - rt::hd(&__t290)? - }; - rt::tl(&__t291)? - }; - rt::eq(&__t288, &__t292) - }; + let __t268 = { + let __t265 = Value::bool(({ let __t261 = { let __t260 = { let __t259 = v_V7078.clone(); rt::tl(&__t259)? }; rt::hd(&__t260)? }; rt::tl(&__t261)? }).is_nil()); if !rt::is_truthy( - interp, &__t296, + interp, &__t265, )? { Value::bool(false) } else { - let __t297 = { - let __t295 = { - let __t294 = { - let __t293 = v_V7078.clone(); + let __t266 = { + let __t264 = { + let __t263 = { + let __t262 = v_V7078.clone(); rt::tl( - &__t293, + &__t262, )? }; - rt::tl(&__t294)? + rt::tl(&__t263)? }; - rt::is_cons(&__t295) + rt::is_cons(&__t264) }; Value::bool( rt::is_truthy( - interp, &__t297, + interp, &__t266, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t299, + interp, &__t268, )?) } }; Value::bool(rt::is_truthy( - interp, &__t301, + interp, &__t270, )?) } }; - Value::bool(rt::is_truthy(interp, &__t303)?) + Value::bool(rt::is_truthy(interp, &__t272)?) } }; - Value::bool(rt::is_truthy(interp, &__t305)?) + Value::bool(rt::is_truthy(interp, &__t274)?) } }; - Value::bool(rt::is_truthy(interp, &__t307)?) + Value::bool(rt::is_truthy(interp, &__t276)?) } }; - if match rt::is_truthy(interp, &__t311) { + if match rt::is_truthy(interp, &__t280) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t310 = { - let __t309 = { - let __t308 = v_V7078.clone(); - rt::tl(&__t308)? + let __t279 = { + let __t278 = { + let __t277 = v_V7078.clone(); + rt::tl(&__t277)? }; - rt::tl(&__t309)? + rt::tl(&__t278)? }; - rt::hd(&__t310)? + rt::hd(&__t279)? }); } else { { - let __t273 = { - let __t246 = { - let __t215 = v_V7078.clone(); - rt::is_cons(&__t215) + let __t248 = { + let __t221 = { + let __t194 = v_V7078.clone(); + rt::is_cons(&__t194) }; - if !rt::is_truthy(interp, &__t246)? { + if !rt::is_truthy(interp, &__t221)? { Value::bool(false) } else { - let __t247 = { - let __t244 = { - let __t216 = Value::sym( - interp - .intern("shen.x.features.cond-expand"), - ); - let __t218 = { - let __t217 = v_V7078.clone(); - rt::hd(&__t217)? - }; - rt::eq(&__t216, &__t218) - }; - if !rt::is_truthy(interp, &__t244)? { + let __t222 = { + let __t219 = Value::bool( + ({ + let __t195 = v_V7078.clone(); + rt::hd(&__t195)? + }) + .as_sym() + == Some(interp.intern_static( + "shen.x.features.cond-expand", + )), + ); + if !rt::is_truthy(interp, &__t219)? { Value::bool(false) } else { - let __t245 = { - let __t242 = { - let __t220 = { - let __t219 = v_V7078.clone(); - rt::tl(&__t219)? + let __t220 = { + let __t217 = { + let __t197 = { + let __t196 = v_V7078.clone(); + rt::tl(&__t196)? }; - rt::is_cons(&__t220) + rt::is_cons(&__t197) }; - if !rt::is_truthy(interp, &__t242)? { + if !rt::is_truthy(interp, &__t217)? { Value::bool(false) } else { - let __t243 = { - let __t240 = { - let __t223 = { - let __t222 = { - let __t221 = + let __t218 = { + let __t215 = { + let __t200 = { + let __t199 = { + let __t198 = v_V7078.clone(); - rt::tl(&__t221)? + rt::tl(&__t198)? }; - rt::hd(&__t222)? + rt::hd(&__t199)? }; - rt::is_cons(&__t223) + rt::is_cons(&__t200) }; - if !rt::is_truthy(interp, &__t240)? + if !rt::is_truthy(interp, &__t215)? { Value::bool(false) } else { - let __t241 = { - let __t238 = { - let __t224 = Value::sym( - interp - .intern("and"), - ); - let __t228 = { - let __t227 = { - let __t226 = { - let __t225 = v_V7078.clone(); - rt::tl( - &__t225, - )? - }; - rt::hd(&__t226)? - }; - rt::hd(&__t227)? - }; - rt::eq(&__t224, &__t228) - }; + let __t216 = { + let __t213 = Value::bool(({ let __t203 = { let __t202 = { let __t201 = v_V7078.clone(); rt::tl(&__t201)? }; rt::hd(&__t202)? }; rt::hd(&__t203)? }).as_sym() == Some(interp.intern_static("and"))); if !rt::is_truthy( - interp, &__t238, + interp, &__t213, )? { Value::bool(false) } else { - let __t239 = { - let __t236 = { - let __t232 = { - let __t231 = { - let __t230 = { - let __t229 = v_V7078.clone(); - rt::tl(&__t229)? + let __t214 = { + let __t211 = { + let __t207 = { + let __t206 = { + let __t205 = { + let __t204 = v_V7078.clone(); + rt::tl(&__t204)? }; - rt::hd(&__t230)? + rt::hd(&__t205)? }; rt::tl( - &__t231, + &__t206, )? }; rt::is_cons( - &__t232, + &__t207, ) }; if !rt::is_truthy( - interp, &__t236, + interp, &__t211, )? { Value::bool( false, ) } else { - let __t237 = { - let __t235 = { - let __t234 = { - let __t233 = v_V7078.clone(); - rt::tl(&__t233)? + let __t212 = { + let __t210 = { + let __t209 = { + let __t208 = v_V7078.clone(); + rt::tl(&__t208)? }; - rt::tl(&__t234)? + rt::tl(&__t209)? }; rt::is_cons( - &__t235, + &__t210, ) }; - Value::bool(rt::is_truthy(interp, &__t237)?) + Value::bool(rt::is_truthy(interp, &__t212)?) } }; Value::bool( rt::is_truthy( - interp, &__t239, + interp, &__t214, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t241, + interp, &__t216, )?) } }; Value::bool(rt::is_truthy( - interp, &__t243, + interp, &__t218, )?) } }; - Value::bool(rt::is_truthy(interp, &__t245)?) + Value::bool(rt::is_truthy(interp, &__t220)?) } }; - Value::bool(rt::is_truthy(interp, &__t247)?) + Value::bool(rt::is_truthy(interp, &__t222)?) } }; - if match rt::is_truthy(interp, &__t273) { + if match rt::is_truthy(interp, &__t248) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t248 = Value::sym( - interp.intern("shen.x.features.cond-expand"), + let __t223 = Value::sym( + interp.intern_static("shen.x.features.cond-expand"), ); - let __t272 = { - let __t253 = { - let __t252 = { - let __t251 = { - let __t250 = { - let __t249 = v_V7078.clone(); - rt::tl(&__t249)? + let __t247 = { + let __t228 = { + let __t227 = { + let __t226 = { + let __t225 = { + let __t224 = v_V7078.clone(); + rt::tl(&__t224)? }; - rt::hd(&__t250)? + rt::hd(&__t225)? }; - rt::tl(&__t251)? + rt::tl(&__t226)? }; - rt::hd(&__t252)? + rt::hd(&__t227)? }; - let __t271 = { - let __t266 = { - let __t254 = - Value::sym(interp.intern( + let __t246 = { + let __t241 = { + let __t229 = + Value::sym(interp.intern_static( "shen.x.features.cond-expand", )); - let __t265 = { - let __t261 = { - let __t255 = Value::sym( - interp.intern("and"), + let __t240 = { + let __t236 = { + let __t230 = Value::sym( + interp.intern_static("and"), ); - let __t260 = { - let __t259 = { - let __t258 = { - let __t257 = { - let __t256 = + let __t235 = { + let __t234 = { + let __t233 = { + let __t232 = { + let __t231 = v_V7078.clone(); - rt::tl(&__t256)? + rt::tl(&__t231)? }; - rt::hd(&__t257)? + rt::hd(&__t232)? }; - rt::tl(&__t258)? + rt::tl(&__t233)? }; - rt::tl(&__t259)? + rt::tl(&__t234)? }; - rt::cons(&__t255, &__t260) + rt::cons(&__t230, &__t235) }; - let __t264 = { - let __t263 = { - let __t262 = v_V7078.clone(); - rt::tl(&__t262)? + let __t239 = { + let __t238 = { + let __t237 = v_V7078.clone(); + rt::tl(&__t237)? }; - rt::tl(&__t263)? + rt::tl(&__t238)? }; - rt::cons(&__t261, &__t264) + rt::cons(&__t236, &__t239) }; - rt::cons(&__t254, &__t265) + rt::cons(&__t229, &__t240) }; - let __t270 = { - let __t269 = { - let __t268 = { - let __t267 = v_V7078.clone(); - rt::tl(&__t267)? + let __t245 = { + let __t244 = { + let __t243 = { + let __t242 = v_V7078.clone(); + rt::tl(&__t242)? }; - rt::tl(&__t268)? + rt::tl(&__t243)? }; - rt::tl(&__t269)? + rt::tl(&__t244)? }; - rt::cons(&__t266, &__t270) + rt::cons(&__t241, &__t245) }; - rt::cons(&__t253, &__t271) + rt::cons(&__t228, &__t246) }; - rt::cons(&__t248, &__t272) + rt::cons(&__t223, &__t247) }); } else { { - let __t214 = { - let __t207 = { - let __t175 = v_V7078.clone(); - rt::is_cons(&__t175) + let __t193 = { + let __t186 = { + let __t160 = v_V7078.clone(); + rt::is_cons(&__t160) }; - if !rt::is_truthy(interp, &__t207)? { + if !rt::is_truthy(interp, &__t186)? { Value::bool(false) } else { - let __t208 = { - let __t205 = { - let __t176 = Value::sym(interp.intern( - "shen.x.features.cond-expand", - )); - let __t178 = { - let __t177 = v_V7078.clone(); - rt::hd(&__t177)? - }; - rt::eq(&__t176, &__t178) - }; - if !rt::is_truthy(interp, &__t205)? { + let __t187 = { + let __t184 = Value::bool( + ({ + let __t161 = v_V7078.clone(); + rt::hd(&__t161)? + }) + .as_sym() + == Some(interp.intern_static( + "shen.x.features.cond-expand", + )), + ); + if !rt::is_truthy(interp, &__t184)? { Value::bool(false) } else { - let __t206 = { - let __t203 = { - let __t180 = { - let __t179 = + let __t185 = { + let __t182 = { + let __t163 = { + let __t162 = v_V7078.clone(); - rt::tl(&__t179)? + rt::tl(&__t162)? }; - rt::is_cons(&__t180) + rt::is_cons(&__t163) }; - if !rt::is_truthy(interp, &__t203)? + if !rt::is_truthy(interp, &__t182)? { Value::bool(false) } else { - let __t204 = { - let __t201 = { - let __t183 = { - let __t182 = { - let __t181 = + let __t183 = { + let __t180 = { + let __t166 = { + let __t165 = { + let __t164 = v_V7078 .clone( ); - rt::tl(&__t181)? + rt::tl(&__t164)? }; - rt::hd(&__t182)? + rt::hd(&__t165)? }; - rt::is_cons(&__t183) + rt::is_cons(&__t166) }; if !rt::is_truthy( - interp, &__t201, + interp, &__t180, )? { Value::bool(false) } else { - let __t202 = { - let __t199 = { - let __t184 = Value::sym(interp.intern("or")); - let __t188 = { - let __t187 = { - let __t186 = { - let __t185 = v_V7078.clone(); - rt::tl(&__t185)? - }; - rt::hd(&__t186)? - }; - rt::hd( - &__t187, - )? - }; - rt::eq( - &__t184, - &__t188, - ) - }; + let __t181 = { + let __t178 = Value::bool(({ let __t169 = { let __t168 = { let __t167 = v_V7078.clone(); rt::tl(&__t167)? }; rt::hd(&__t168)? }; rt::hd(&__t169)? }).as_sym() == Some(interp.intern_static("or"))); if !rt::is_truthy( - interp, &__t199, + interp, &__t178, )? { Value::bool( false, ) } else { - let __t200 = { - let __t197 = { - let __t189 = Value::nil(); - let __t193 = { - let __t192 = { let __t191 = { let __t190 = v_V7078.clone(); rt::tl(&__t190)? }; rt::hd(&__t191)? }; - rt::tl(&__t192)? - }; - rt::eq(&__t189, &__t193) - }; - if !rt::is_truthy(interp, &__t197)? { Value::bool(false) } else { let __t198 = { let __t196 = { let __t195 = { let __t194 = v_V7078.clone(); rt::tl(&__t194)? }; rt::tl(&__t195)? }; rt::is_cons(&__t196) }; Value::bool(rt::is_truthy(interp, &__t198)?) } + let __t179 = { + let __t176 = Value::bool(({ let __t172 = { let __t171 = { let __t170 = v_V7078.clone(); rt::tl(&__t170)? }; rt::hd(&__t171)? }; rt::tl(&__t172)? }).is_nil()); + if !rt::is_truthy(interp, &__t176)? { Value::bool(false) } else { let __t177 = { let __t175 = { let __t174 = { let __t173 = v_V7078.clone(); rt::tl(&__t173)? }; rt::tl(&__t174)? }; rt::is_cons(&__t175) }; Value::bool(rt::is_truthy(interp, &__t177)?) } }; - Value::bool(rt::is_truthy(interp, &__t200)?) + Value::bool(rt::is_truthy(interp, &__t179)?) } }; Value::bool( rt::is_truthy( - interp, &__t202, + interp, &__t181, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t204, + interp, &__t183, )?) } }; Value::bool(rt::is_truthy( - interp, &__t206, + interp, &__t185, )?) } }; - Value::bool(rt::is_truthy(interp, &__t208)?) + Value::bool(rt::is_truthy(interp, &__t187)?) } }; - if match rt::is_truthy(interp, &__t214) { + if match rt::is_truthy(interp, &__t193) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t209 = Value::sym( - interp - .intern("shen.x.features.cond-expand"), - ); - let __t213 = { - let __t212 = { - let __t211 = { - let __t210 = v_V7078.clone(); - rt::tl(&__t210)? + let __t188 = Value::sym(interp.intern_static( + "shen.x.features.cond-expand", + )); + let __t192 = { + let __t191 = { + let __t190 = { + let __t189 = v_V7078.clone(); + rt::tl(&__t189)? }; - rt::tl(&__t211)? + rt::tl(&__t190)? }; - rt::tl(&__t212)? + rt::tl(&__t191)? }; - rt::cons(&__t209, &__t213) + rt::cons(&__t188, &__t192) }); } else { { - let __t174 = { - let __t143 = { - let __t112 = v_V7078.clone(); - rt::is_cons(&__t112) + let __t159 = { + let __t128 = { + let __t101 = v_V7078.clone(); + rt::is_cons(&__t101) }; - if !rt::is_truthy(interp, &__t143)? { + if !rt::is_truthy(interp, &__t128)? { Value::bool(false) } else { - let __t144 = { - let __t141 = { - let __t113 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t115 = { - let __t114 = - v_V7078.clone(); - rt::hd(&__t114)? - }; - rt::eq(&__t113, &__t115) - }; - if !rt::is_truthy(interp, &__t141)? + let __t129 = { + let __t126 = Value::bool(({ let __t102 = v_V7078.clone(); rt::hd(&__t102)? }).as_sym() == Some(interp.intern_static("shen.x.features.cond-expand"))); + if !rt::is_truthy(interp, &__t126)? { Value::bool(false) } else { - let __t142 = { - let __t139 = { - let __t117 = { - let __t116 = + let __t127 = { + let __t124 = { + let __t104 = { + let __t103 = v_V7078.clone(); - rt::tl(&__t116)? + rt::tl(&__t103)? }; - rt::is_cons(&__t117) + rt::is_cons(&__t104) }; if !rt::is_truthy( - interp, &__t139, + interp, &__t124, )? { Value::bool(false) } else { - let __t140 = { - let __t137 = { - let __t120 = { - let __t119 = { - let __t118 = v_V7078.clone(); - rt::tl(&__t118)? + let __t125 = { + let __t122 = { + let __t107 = { + let __t106 = { + let __t105 = v_V7078.clone(); + rt::tl(&__t105)? }; rt::hd( - &__t119, + &__t106, )? }; rt::is_cons( - &__t120, + &__t107, ) }; if !rt::is_truthy( - interp, &__t137, + interp, &__t122, )? { Value::bool( false, ) } else { - let __t138 = { - let __t135 = { - let __t121 = Value::sym(interp.intern("or")); - let __t125 = { - let __t124 = { let __t123 = { let __t122 = v_V7078.clone(); rt::tl(&__t122)? }; rt::hd(&__t123)? }; - rt::hd(&__t124)? - }; - rt::eq(&__t121, &__t125) - }; - if !rt::is_truthy(interp, &__t135)? { Value::bool(false) } else { let __t136 = { let __t133 = { let __t129 = { let __t128 = { let __t127 = { let __t126 = v_V7078.clone(); rt::tl(&__t126)? }; rt::hd(&__t127)? }; rt::tl(&__t128)? }; rt::is_cons(&__t129) }; if !rt::is_truthy(interp, &__t133)? { Value::bool(false) } else { let __t134 = { let __t132 = { let __t131 = { let __t130 = v_V7078.clone(); rt::tl(&__t130)? }; rt::tl(&__t131)? }; rt::is_cons(&__t132) }; Value::bool(rt::is_truthy(interp, &__t134)?) } }; Value::bool(rt::is_truthy(interp, &__t136)?) } + let __t123 = { + let __t120 = Value::bool(({ let __t110 = { let __t109 = { let __t108 = v_V7078.clone(); rt::tl(&__t108)? }; rt::hd(&__t109)? }; rt::hd(&__t110)? }).as_sym() == Some(interp.intern_static("or"))); + if !rt::is_truthy(interp, &__t120)? { Value::bool(false) } else { let __t121 = { let __t118 = { let __t114 = { let __t113 = { let __t112 = { let __t111 = v_V7078.clone(); rt::tl(&__t111)? }; rt::hd(&__t112)? }; rt::tl(&__t113)? }; rt::is_cons(&__t114) }; if !rt::is_truthy(interp, &__t118)? { Value::bool(false) } else { let __t119 = { let __t117 = { let __t116 = { let __t115 = v_V7078.clone(); rt::tl(&__t115)? }; rt::tl(&__t116)? }; rt::is_cons(&__t117) }; Value::bool(rt::is_truthy(interp, &__t119)?) } }; Value::bool(rt::is_truthy(interp, &__t121)?) } }; - Value::bool(rt::is_truthy(interp, &__t138)?) + Value::bool(rt::is_truthy(interp, &__t123)?) } }; Value::bool( rt::is_truthy( - interp, &__t140, + interp, &__t125, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t142, + interp, &__t127, )?) } }; Value::bool(rt::is_truthy( - interp, &__t144, + interp, &__t129, )?) } }; - if match rt::is_truthy(interp, &__t174) { + if match rt::is_truthy(interp, &__t159) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t145 = Value::sym(interp.intern( - "shen.x.features.cond-expand", - )); - let __t173 = { - let __t150 = { - let __t149 = { - let __t148 = { - let __t147 = { - let __t146 = + let __t130 = + Value::sym(interp.intern_static( + "shen.x.features.cond-expand", + )); + let __t158 = { + let __t135 = { + let __t134 = { + let __t133 = { + let __t132 = { + let __t131 = v_V7078.clone(); - rt::tl(&__t146)? + rt::tl(&__t131)? }; - rt::hd(&__t147)? + rt::hd(&__t132)? }; - rt::tl(&__t148)? + rt::tl(&__t133)? }; - rt::hd(&__t149)? + rt::hd(&__t134)? }; - let __t172 = { - let __t154 = { - let __t153 = { - let __t152 = { - let __t151 = + let __t157 = { + let __t139 = { + let __t138 = { + let __t137 = { + let __t136 = v_V7078.clone(); - rt::tl(&__t151)? + rt::tl(&__t136)? }; - rt::tl(&__t152)? + rt::tl(&__t137)? }; - rt::hd(&__t153)? + rt::hd(&__t138)? }; - let __t171 = { - let __t155 = + let __t156 = { + let __t140 = Value::bool(true); - let __t170 = { - let __t168 = { - let __t156 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t167 = { - let __t163 = { - let __t157 = Value::sym(interp.intern("or")); - let __t162 = { - let __t161 = { - let __t160 = { let __t159 = { let __t158 = v_V7078.clone(); rt::tl(&__t158)? }; rt::hd(&__t159)? }; - rt::tl(&__t160)? + let __t155 = { + let __t153 = { + let __t141 = Value::sym(interp.intern_static("shen.x.features.cond-expand")); + let __t152 = { + let __t148 = { + let __t142 = Value::sym(interp.intern_static("or")); + let __t147 = { + let __t146 = { + let __t145 = { let __t144 = { let __t143 = v_V7078.clone(); rt::tl(&__t143)? }; rt::hd(&__t144)? }; + rt::tl(&__t145)? }; - rt::tl(&__t161)? + rt::tl(&__t146)? }; rt::cons( - &__t157, - &__t162, + &__t142, + &__t147, ) }; - let __t166 = { - let __t165 = { - let __t164 = v_V7078.clone(); - rt::tl(&__t164)? + let __t151 = { + let __t150 = { + let __t149 = v_V7078.clone(); + rt::tl(&__t149)? }; rt::tl( - &__t165, + &__t150, )? }; rt::cons( - &__t163, - &__t166, + &__t148, + &__t151, ) }; rt::cons( - &__t156, - &__t167, + &__t141, + &__t152, ) }; - let __t169 = + let __t154 = Value::nil(); rt::cons( - &__t168, &__t169, + &__t153, &__t154, ) }; - rt::cons(&__t155, &__t170) + rt::cons(&__t140, &__t155) }; - rt::cons(&__t154, &__t171) + rt::cons(&__t139, &__t156) }; - rt::cons(&__t150, &__t172) + rt::cons(&__t135, &__t157) }; - rt::cons(&__t145, &__t173) + rt::cons(&__t130, &__t158) }); } else { { - let __t111 = { - let __t87 = { - let __t48 = v_V7078.clone(); - rt::is_cons(&__t48) + let __t100 = { + let __t76 = { + let __t43 = v_V7078.clone(); + rt::is_cons(&__t43) }; - if !rt::is_truthy(interp, &__t87)? { + if !rt::is_truthy(interp, &__t76)? { Value::bool(false) } else { - let __t88 = { - let __t85 = { - let __t49 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t51 = { - let __t50 = - v_V7078.clone(); - rt::hd(&__t50)? - }; - rt::eq(&__t49, &__t51) - }; + let __t77 = { + let __t74 = Value::bool(({ let __t44 = v_V7078.clone(); rt::hd(&__t44)? }).as_sym() == Some(interp.intern_static("shen.x.features.cond-expand"))); if !rt::is_truthy( - interp, &__t85, + interp, &__t74, )? { Value::bool(false) } else { - let __t86 = { - let __t83 = { - let __t53 = { - let __t52 = v_V7078.clone(); + let __t75 = { + let __t72 = { + let __t46 = { + let __t45 = v_V7078.clone(); rt::tl( - &__t52, + &__t45, )? }; rt::is_cons( - &__t53, + &__t46, ) }; if !rt::is_truthy( - interp, &__t83, + interp, &__t72, )? { Value::bool( false, ) } else { - let __t84 = { - let __t81 = { - let __t56 = { - let __t55 = { let __t54 = v_V7078.clone(); rt::tl(&__t54)? }; - rt::hd(&__t55)? + let __t73 = { + let __t70 = { + let __t49 = { + let __t48 = { let __t47 = v_V7078.clone(); rt::tl(&__t47)? }; + rt::hd(&__t48)? }; - rt::is_cons(&__t56) + rt::is_cons(&__t49) }; - if !rt::is_truthy(interp, &__t81)? { Value::bool(false) } else { let __t82 = { let __t79 = { let __t57 = Value::sym(interp.intern("not")); let __t61 = { let __t60 = { let __t59 = { let __t58 = v_V7078.clone(); rt::tl(&__t58)? }; rt::hd(&__t59)? }; rt::hd(&__t60)? }; rt::eq(&__t57, &__t61) }; if !rt::is_truthy(interp, &__t79)? { Value::bool(false) } else { let __t80 = { let __t77 = { let __t65 = { let __t64 = { let __t63 = { let __t62 = v_V7078.clone(); rt::tl(&__t62)? }; rt::hd(&__t63)? }; rt::tl(&__t64)? }; rt::is_cons(&__t65) }; if !rt::is_truthy(interp, &__t77)? { Value::bool(false) } else { let __t78 = { let __t75 = { let __t66 = Value::nil(); let __t71 = { let __t70 = { let __t69 = { let __t68 = { let __t67 = v_V7078.clone(); rt::tl(&__t67)? }; rt::hd(&__t68)? }; rt::tl(&__t69)? }; rt::tl(&__t70)? }; rt::eq(&__t66, &__t71) }; if !rt::is_truthy(interp, &__t75)? { Value::bool(false) } else { let __t76 = { let __t74 = { let __t73 = { let __t72 = v_V7078.clone(); rt::tl(&__t72)? }; rt::tl(&__t73)? }; rt::is_cons(&__t74) }; Value::bool(rt::is_truthy(interp, &__t76)?) } }; Value::bool(rt::is_truthy(interp, &__t78)?) } }; Value::bool(rt::is_truthy(interp, &__t80)?) } }; Value::bool(rt::is_truthy(interp, &__t82)?) } + if !rt::is_truthy(interp, &__t70)? { Value::bool(false) } else { let __t71 = { let __t68 = Value::bool(({ let __t52 = { let __t51 = { let __t50 = v_V7078.clone(); rt::tl(&__t50)? }; rt::hd(&__t51)? }; rt::hd(&__t52)? }).as_sym() == Some(interp.intern_static("not"))); if !rt::is_truthy(interp, &__t68)? { Value::bool(false) } else { let __t69 = { let __t66 = { let __t56 = { let __t55 = { let __t54 = { let __t53 = v_V7078.clone(); rt::tl(&__t53)? }; rt::hd(&__t54)? }; rt::tl(&__t55)? }; rt::is_cons(&__t56) }; if !rt::is_truthy(interp, &__t66)? { Value::bool(false) } else { let __t67 = { let __t64 = Value::bool(({ let __t60 = { let __t59 = { let __t58 = { let __t57 = v_V7078.clone(); rt::tl(&__t57)? }; rt::hd(&__t58)? }; rt::tl(&__t59)? }; rt::tl(&__t60)? }).is_nil()); if !rt::is_truthy(interp, &__t64)? { Value::bool(false) } else { let __t65 = { let __t63 = { let __t62 = { let __t61 = v_V7078.clone(); rt::tl(&__t61)? }; rt::tl(&__t62)? }; rt::is_cons(&__t63) }; Value::bool(rt::is_truthy(interp, &__t65)?) } }; Value::bool(rt::is_truthy(interp, &__t67)?) } }; Value::bool(rt::is_truthy(interp, &__t69)?) } }; Value::bool(rt::is_truthy(interp, &__t71)?) } }; - Value::bool(rt::is_truthy(interp, &__t84)?) + Value::bool(rt::is_truthy(interp, &__t73)?) } }; Value::bool( rt::is_truthy( - interp, &__t86, + interp, &__t75, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t88, + interp, &__t77, )?) } }; - if match rt::is_truthy(interp, &__t111) + if match rt::is_truthy(interp, &__t100) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t89 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t110 = { - let __t94 = { - let __t93 = { - let __t92 = { - let __t91 = { - let __t90 = v_V7078.clone(); + let __t78 = Value::sym(interp.intern_static("shen.x.features.cond-expand")); + let __t99 = { + let __t83 = { + let __t82 = { + let __t81 = { + let __t80 = { + let __t79 = v_V7078.clone(); rt::tl( - &__t90, + &__t79, )? }; - rt::hd(&__t91)? + rt::hd(&__t80)? }; - rt::tl(&__t92)? + rt::tl(&__t81)? }; - rt::hd(&__t93)? + rt::hd(&__t82)? }; - let __t109 = { - let __t100 = { - let __t95 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t99 = { - let __t98 = { - let __t97 = { - let __t96 = v_V7078.clone(); - rt::tl(&__t96)? + let __t98 = { + let __t89 = { + let __t84 = Value::sym(interp.intern_static("shen.x.features.cond-expand")); + let __t88 = { + let __t87 = { + let __t86 = { + let __t85 = v_V7078.clone(); + rt::tl(&__t85)? }; rt::tl( - &__t97, + &__t86, )? }; - rt::tl(&__t98)? + rt::tl(&__t87)? }; rt::cons( - &__t95, &__t99, + &__t84, &__t88, ) }; - let __t108 = { - let __t101 = + let __t97 = { + let __t90 = Value::bool( true, ); - let __t107 = { - let __t105 = { - let __t104 = { - let __t103 = { - let __t102 = v_V7078.clone(); - rt::tl(&__t102)? + let __t96 = { + let __t94 = { + let __t93 = { + let __t92 = { + let __t91 = v_V7078.clone(); + rt::tl(&__t91)? }; - rt::tl(&__t103)? + rt::tl(&__t92)? }; rt::hd( - &__t104, + &__t93, )? }; - let __t106 = + let __t95 = Value::nil( ); rt::cons( - &__t105, - &__t106, + &__t94, + &__t95, ) }; rt::cons( - &__t101, - &__t107, + &__t90, &__t96, ) }; - rt::cons( - &__t100, &__t108, - ) + rt::cons(&__t89, &__t97) }; - rt::cons(&__t94, &__t109) + rt::cons(&__t83, &__t98) }; - rt::cons(&__t89, &__t110) + rt::cons(&__t78, &__t99) }); } else { { - let __t47 = { - let __t42 = { - let __t22 = + let __t42 = { + let __t37 = { + let __t20 = v_V7078.clone(); - rt::is_cons(&__t22) + rt::is_cons(&__t20) }; if !rt::is_truthy( - interp, &__t42, + interp, &__t37, )? { Value::bool(false) } else { - let __t43 = { - let __t40 = { - let __t23 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t25 = { - let __t24 = v_V7078.clone(); - rt::hd( - &__t24, - )? - }; - rt::eq( - &__t23, - &__t25, - ) - }; + let __t38 = { + let __t35 = Value::bool(({ let __t21 = v_V7078.clone(); rt::hd(&__t21)? }).as_sym() == Some(interp.intern_static("shen.x.features.cond-expand"))); if !rt::is_truthy( - interp, &__t40, + interp, &__t35, )? { Value::bool( false, ) } else { - let __t41 = { - let __t38 = { - let __t27 = { - let __t26 = v_V7078.clone(); - rt::tl(&__t26)? + let __t36 = { + let __t33 = { + let __t23 = { + let __t22 = v_V7078.clone(); + rt::tl(&__t22)? }; - rt::is_cons(&__t27) + rt::is_cons(&__t23) }; - if !rt::is_truthy(interp, &__t38)? { Value::bool(false) } else { let __t39 = { let __t36 = { let __t30 = { let __t29 = { let __t28 = v_V7078.clone(); rt::tl(&__t28)? }; rt::tl(&__t29)? }; rt::is_cons(&__t30) }; if !rt::is_truthy(interp, &__t36)? { Value::bool(false) } else { let __t37 = { let __t33 = { let __t32 = { let __t31 = v_V7078.clone(); rt::tl(&__t31)? }; rt::hd(&__t32)? }; let __t35 = { let __t34 = Value::sym(interp.intern("shen.x.features.*features*")); rt::apply_direct(interp, "value", &[__t34])? }; rt::apply_direct(interp, "element?", &[__t33, __t35])? }; Value::bool(rt::is_truthy(interp, &__t37)?) } }; Value::bool(rt::is_truthy(interp, &__t39)?) } + if !rt::is_truthy(interp, &__t33)? { Value::bool(false) } else { let __t34 = { let __t31 = { let __t26 = { let __t25 = { let __t24 = v_V7078.clone(); rt::tl(&__t24)? }; rt::tl(&__t25)? }; rt::is_cons(&__t26) }; if !rt::is_truthy(interp, &__t31)? { Value::bool(false) } else { let __t32 = { let __t29 = { let __t28 = { let __t27 = v_V7078.clone(); rt::tl(&__t27)? }; rt::hd(&__t28)? }; let __t30 = rt::global_value(interp, "shen.x.features.*features*")?; rt::apply_direct(interp, "element?", &[__t29, __t30])? }; Value::bool(rt::is_truthy(interp, &__t32)?) } }; Value::bool(rt::is_truthy(interp, &__t34)?) } }; - Value::bool(rt::is_truthy(interp, &__t41)?) + Value::bool(rt::is_truthy(interp, &__t36)?) } }; Value::bool( rt::is_truthy( - interp, &__t43, + interp, &__t38, )?, ) } }; if match rt::is_truthy( - interp, &__t47, + interp, &__t42, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t46 = { - let __t45 = { - let __t44 = + let __t41 = { + let __t40 = { + let __t39 = v_V7078 .clone( ); - rt::tl(&__t44)? + rt::tl(&__t39)? }; - rt::tl(&__t45)? + rt::tl(&__t40)? }; - rt::hd(&__t46)? + rt::hd(&__t41)? }); } else { { - let __t21 = { - let __t14 = { + let __t19 = { + let __t12 = { let __t1 = v_V7078 .clone( @@ -1106,28 +1010,21 @@ pub fn aot_shen_x2e_x_x2e_features_x2e_cond_x2d_expand_x2d_macro( ) }; if !rt::is_truthy( - interp, &__t14, + interp, &__t12, )? { Value::bool( false, ) } else { - let __t15 = { - let __t12 = { - let __t2 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t4 = { - let __t3 = v_V7078.clone(); - rt::hd(&__t3)? - }; - rt::eq(&__t2, &__t4) - }; - if !rt::is_truthy(interp, &__t12)? { Value::bool(false) } else { let __t13 = { let __t10 = { let __t6 = { let __t5 = v_V7078.clone(); rt::tl(&__t5)? }; rt::is_cons(&__t6) }; if !rt::is_truthy(interp, &__t10)? { Value::bool(false) } else { let __t11 = { let __t9 = { let __t8 = { let __t7 = v_V7078.clone(); rt::tl(&__t7)? }; rt::tl(&__t8)? }; rt::is_cons(&__t9) }; Value::bool(rt::is_truthy(interp, &__t11)?) } }; Value::bool(rt::is_truthy(interp, &__t13)?) } + let __t13 = { + let __t10 = Value::bool(({ let __t2 = v_V7078.clone(); rt::hd(&__t2)? }).as_sym() == Some(interp.intern_static("shen.x.features.cond-expand"))); + if !rt::is_truthy(interp, &__t10)? { Value::bool(false) } else { let __t11 = { let __t8 = { let __t4 = { let __t3 = v_V7078.clone(); rt::tl(&__t3)? }; rt::is_cons(&__t4) }; if !rt::is_truthy(interp, &__t8)? { Value::bool(false) } else { let __t9 = { let __t7 = { let __t6 = { let __t5 = v_V7078.clone(); rt::tl(&__t5)? }; rt::tl(&__t6)? }; rt::is_cons(&__t7) }; Value::bool(rt::is_truthy(interp, &__t9)?) } }; Value::bool(rt::is_truthy(interp, &__t11)?) } }; - Value::bool(rt::is_truthy(interp, &__t15)?) + Value::bool(rt::is_truthy(interp, &__t13)?) } }; if match rt::is_truthy( - interp, &__t21, + interp, &__t19, ) { Ok(b) => b, Err(e) => { @@ -1135,22 +1032,22 @@ pub fn aot_shen_x2e_x_x2e_features_x2e_cond_x2d_expand_x2d_macro( } } { break Ok({ - let __t16 = Value::sym(interp.intern("shen.x.features.cond-expand")); - let __t20 = { - let __t19 = { - let __t18 = { - let __t17 = v_V7078.clone(); - rt::tl(&__t17)? + let __t14 = Value::sym(interp.intern_static("shen.x.features.cond-expand")); + let __t18 = { + let __t17 = { + let __t16 = { + let __t15 = v_V7078.clone(); + rt::tl(&__t15)? }; - rt::tl(&__t18)? + rt::tl(&__t16)? }; rt::tl( - &__t19, + &__t17, )? }; rt::cons( - &__t16, - &__t20, + &__t14, + &__t18, ) }); } else { @@ -1207,10 +1104,7 @@ pub fn aot_shen_x2e_x_x2e_features_x2e_current( } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t357 = Value::sym(interp.intern("shen.x.features.*features*")); - rt::apply_direct(interp, "value", &[__t357])? - }); + break Ok(rt::global_value(interp, "shen.x.features.*features*")?); } } @@ -1242,104 +1136,88 @@ pub fn aot_shen_x2e_x_x2e_features_x2e_initialise( #[allow(clippy::never_loop)] loop { { - let v_W7080 = match (|| -> ShenResult { - Ok({ - let __t358 = Value::sym(interp.intern("shen.x.features.*features*")); - rt::apply_direct(interp, "value", &[__t358])? - }) - })() { - Ok(v) => v, - Err(e) => { - let __h = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z7081 = args[0].clone(); - Ok({ + let v_W7080 = { + let __x = Value::sym(interp.intern_static("shen.x.features.*features*")); + let __h = { + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok({ + let _ = { + let __v = Value::nil(); + rt::set_global(interp, "shen.x.features.*features*", __v) + }; + { let _ = { - let __t359 = - Value::sym(interp.intern("shen.x.features.*features*")); - let __t360 = Value::nil(); - rt::apply_direct(interp, "set", &[__t359, __t360])? - }; - { - let _ = { - let __t364 = { - let __t361 = - Value::sym(interp.intern( - "shen.x.features.cond-expand-macro", - )); - let __t363 = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z7082 = args[0].clone(); - Ok({ - let __t362 = v_Z7082.clone(); - rt::apply_direct(interp, "shen.x.features.cond-expand-macro", &[__t362])? - }) - }, - Vec::new(), - interp, - ) - }; - rt::cons(&__t361, &__t363) - }; - rt::apply_direct( - interp, - "shen.set-lambda-form-entry", - &[__t364], - )? - }; - { - let __t365 = Value::sym( - interp.intern("shen.x.features.cond-expand-macro"), - ); - let __t367 = { + let __t321 = { + let __t318 = Value::sym(interp.intern_static( + "shen.x.features.cond-expand-macro", + )); + let __t320 = { rt::make_aot_closure( "", 1, move |interp, args| { - let v_Z7083 = args[0].clone(); + let v_Z7082 = args[0].clone(); Ok({ - let __t366 = v_Z7083.clone(); - rt::apply_direct( - interp, - "shen.x.features.cond-expand-macro", - &[__t366], - )? + let __t319 = v_Z7082.clone(); + aot_shen_x2e_x_x2e_features_x2e_cond_x2d_expand_x2d_macro(interp, &[__t319])? }) }, Vec::new(), interp, ) }; - rt::apply_direct( + rt::cons(&__t318, &__t320) + }; + rt::apply_direct( + interp, + "shen.set-lambda-form-entry", + &[__t321], + )? + }; + { + let __t322 = Value::sym( + interp + .intern_static("shen.x.features.cond-expand-macro"), + ); + let __t324 = { + rt::make_aot_closure( + "", + 1, + move |interp, args| { + let v_Z7083 = args[0].clone(); + Ok({ + let __t323 = v_Z7083.clone(); + aot_shen_x2e_x_x2e_features_x2e_cond_x2d_expand_x2d_macro(interp, &[__t323])? + }) + }, + Vec::new(), interp, - "shen.record-macro", - &[__t365, __t367], - )? - } + ) + }; + rt::apply_direct( + interp, + "shen.record-macro", + &[__t322, __t324], + )? } - }) - }, - Vec::new(), - interp, - ) - }; - let __err = Value::err(e.message.clone()); - rt::apply_value(interp, __h, &[__err])? - } + } + }) + }, + Vec::new(), + interp, + ) + }; + rt::apply_direct(interp, "value/or", &[__x, __h])? }; { - let v_W7084 = { rt::apply_direct(interp, "shen.x.features.current", &[])? }; + let v_W7084 = { aot_shen_x2e_x_x2e_features_x2e_current(interp, &[])? }; { let v_W7085 = { - let __t368 = Value::sym(interp.intern("shen.x.features.*features*")); - let __t369 = v_V7079.clone(); - rt::apply_direct(interp, "set", &[__t368, __t369])? + let __v = v_V7079.clone(); + rt::set_global(interp, "shen.x.features.*features*", __v) }; break Ok(v_W7084.clone()); } @@ -1376,16 +1254,15 @@ pub fn aot_shen_x2e_x_x2e_features_x2e_add( #[allow(clippy::never_loop)] loop { { - let v_W7087 = { rt::apply_direct(interp, "shen.x.features.current", &[])? }; + let v_W7087 = { aot_shen_x2e_x_x2e_features_x2e_current(interp, &[])? }; { let v_W7088 = { - let __t370 = Value::sym(interp.intern("shen.x.features.*features*")); - let __t373 = { - let __t371 = v_V7086.clone(); - let __t372 = v_W7087.clone(); - rt::apply_direct(interp, "adjoin", &[__t371, __t372])? + let __v = { + let __t325 = v_V7086.clone(); + let __t326 = v_W7087.clone(); + rt::apply_direct(interp, "adjoin", &[__t325, __t326])? }; - rt::apply_direct(interp, "set", &[__t370, __t373])? + rt::set_global(interp, "shen.x.features.*features*", __v) }; break Ok(v_W7087.clone()); } diff --git a/crates/shen-rust/src/aot/kernel/extension_launcher.rs b/crates/shen-rust/src/aot/kernel/extension_launcher.rs index d94eafa..37c7b68 100644 --- a/crates/shen-rust/src/aot/kernel/extension_launcher.rs +++ b/crates/shen-rust/src/aot/kernel/extension_launcher.rs @@ -97,7 +97,7 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_version_x2d_string( let __t5 = Value::str(" "); let __t25 = { let __t22 = { - let __t6 = Value::sym(interp.intern("port")); + let __t6 = Value::sym(interp.intern_static("port")); let __t21 = { let __t11 = { let __t7 = { rt::apply_direct(interp, "language", &[])? }; @@ -109,7 +109,7 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_version_x2d_string( rt::cons(&__t7, &__t10) }; let __t20 = { - let __t12 = Value::sym(interp.intern("implementation")); + let __t12 = Value::sym(interp.intern_static("implementation")); let __t19 = { let __t17 = { let __t13 = @@ -132,12 +132,12 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_version_x2d_string( rt::cons(&__t6, &__t21) }; let __t23 = Value::str("\n"); - let __t24 = Value::sym(interp.intern("shen.r")); + let __t24 = Value::sym(interp.intern_static("shen.r")); rt::apply_direct(interp, "shen.app", &[__t22, __t23, __t24])? }; - rt::apply_direct(interp, "cn", &[__t5, __t25])? + rt::cn(&__t5, &__t25)? }; - let __t27 = Value::sym(interp.intern("shen.a")); + let __t27 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct(interp, "shen.app", &[__t4, __t26, __t27])? }); } @@ -175,10 +175,10 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_help_x2d_text( let __t32 = { let __t29 = v_V7105.clone(); let __t30 = Value::str(" [--version] [--help] []\n\ncommands:\n repl\n Launches the interactive REPL.\n Default action if no command is supplied.\n\n script []\n Runs the script in FILE. *argv* is set to [FILE | ARGS].\n\n eval \n Evaluates expressions and files. ARGS are evaluated from\n left to right and can be a combination of:\n -e, --eval \n Evaluates EXPR and prints result.\n -l, --load \n Reads and evaluates FILE.\n -q, --quiet\n Silences interactive output.\n -s, --set \n Evaluates KEY, VALUE and sets as global.\n -r, --repl\n Launches the interactive REPL after evaluating\n all the previous expresions."); - let __t31 = Value::sym(interp.intern("shen.a")); + let __t31 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct(interp, "shen.app", &[__t29, __t30, __t31])? }; - rt::apply_direct(interp, "cn", &[__t28, __t32])? + rt::cn(&__t28, &__t32)? }); } } @@ -211,19 +211,15 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_execute_x2d_all( #[allow(clippy::never_loop)] loop { { - let __t44 = { - let __t40 = Value::nil(); - let __t41 = v_V7106.clone(); - rt::eq(&__t40, &__t41) - }; - if match rt::is_truthy(interp, &__t44) { + let __t42 = Value::bool((v_V7106.clone()).is_nil()); + if match rt::is_truthy(interp, &__t42) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t42 = Value::sym(interp.intern("success")); - let __t43 = Value::nil(); - rt::cons(&__t42, &__t43) + let __t40 = Value::sym(interp.intern_static("success")); + let __t41 = Value::nil(); + rt::cons(&__t40, &__t41) }); } else { { @@ -261,8 +257,9 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_execute_x2d_all( Err(e) => break Err(e), } { break Ok({ - let __t33 = - Value::sym(interp.intern("shen.x.launcher.execute-all")); + let __t33 = Value::sym( + interp.intern_static("shen.x.launcher.execute-all"), + ); rt::apply_direct(interp, "shen.f-error", &[__t33])? }); } else { @@ -304,14 +301,14 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_string( #[allow(clippy::never_loop)] loop { break Ok({ - let __t47 = { - let __t46 = { - let __t45 = v_V7107.clone(); - rt::apply_direct(interp, "read-from-string", &[__t45])? + let __t45 = { + let __t44 = { + let __t43 = v_V7107.clone(); + rt::apply_direct(interp, "read-from-string", &[__t43])? }; - rt::apply_direct(interp, "head", &[__t46])? + rt::apply_direct(interp, "head", &[__t44])? }; - rt::apply_direct(interp, "eval", &[__t47])? + rt::apply_direct(interp, "eval", &[__t45])? }); } } @@ -344,68 +341,51 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_flag_x2d_map( #[allow(clippy::never_loop)] loop { { - let __t63 = { - let __t61 = Value::str("-e"); - let __t62 = v_V7110.clone(); - rt::eq(&__t61, &__t62) - }; - if match rt::is_truthy(interp, &__t63) { + let __t51 = Value::bool((v_V7110.clone()).as_str() == Some("-e")); + if match rt::is_truthy(interp, &__t51) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("--eval")); } else { { - let __t60 = { - let __t58 = Value::str("-l"); - let __t59 = v_V7110.clone(); - rt::eq(&__t58, &__t59) - }; - if match rt::is_truthy(interp, &__t60) { + let __t50 = Value::bool((v_V7110.clone()).as_str() == Some("-l")); + if match rt::is_truthy(interp, &__t50) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("--load")); } else { { - let __t57 = { - let __t55 = Value::str("-q"); - let __t56 = v_V7110.clone(); - rt::eq(&__t55, &__t56) - }; - if match rt::is_truthy(interp, &__t57) { + let __t49 = Value::bool((v_V7110.clone()).as_str() == Some("-q")); + if match rt::is_truthy(interp, &__t49) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("--quiet")); } else { { - let __t54 = { - let __t52 = Value::str("-s"); - let __t53 = v_V7110.clone(); - rt::eq(&__t52, &__t53) - }; - if match rt::is_truthy(interp, &__t54) { + let __t48 = + Value::bool((v_V7110.clone()).as_str() == Some("-s")); + if match rt::is_truthy(interp, &__t48) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("--set")); } else { { - let __t51 = { - let __t49 = Value::str("-r"); - let __t50 = v_V7110.clone(); - rt::eq(&__t49, &__t50) - }; - if match rt::is_truthy(interp, &__t51) { + let __t47 = Value::bool( + (v_V7110.clone()).as_str() == Some("-r"), + ); + if match rt::is_truthy(interp, &__t47) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("--repl")); } else { { - let __t48 = Value::bool(true); - if match rt::is_truthy(interp, &__t48) { + let __t46 = Value::bool(true); + if match rt::is_truthy(interp, &__t46) { Ok(b) => b, Err(e) => break Err(e), } { @@ -459,366 +439,351 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_command_x2d_h( #[allow(clippy::never_loop)] loop { { - let __t201 = { - let __t197 = Value::nil(); - let __t198 = v_V7115.clone(); - rt::eq(&__t197, &__t198) - }; - if match rt::is_truthy(interp, &__t201) { + let __t174 = Value::bool((v_V7115.clone()).is_nil()); + if match rt::is_truthy(interp, &__t174) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t200 = { - let __t199 = v_V7116.clone(); - rt::apply_direct(interp, "reverse", &[__t199])? + let __t173 = { + let __t172 = v_V7116.clone(); + rt::apply_direct(interp, "reverse", &[__t172])? }; - rt::apply_direct(interp, "shen.x.launcher.execute-all", &[__t200])? + aot_shen_x2e_x_x2e_launcher_x2e_execute_x2d_all(interp, &[__t173])? }); } else { { - let __t196 = { - let __t180 = { - let __t172 = v_V7115.clone(); - rt::is_cons(&__t172) + let __t171 = { + let __t155 = { + let __t149 = v_V7115.clone(); + rt::is_cons(&__t149) }; - if !rt::is_truthy(interp, &__t180)? { + if !rt::is_truthy(interp, &__t155)? { Value::bool(false) } else { - let __t181 = { - let __t178 = { - let __t173 = Value::str("--eval"); - let __t175 = { - let __t174 = v_V7115.clone(); - rt::hd(&__t174)? - }; - rt::eq(&__t173, &__t175) - }; - if !rt::is_truthy(interp, &__t178)? { + let __t156 = { + let __t153 = Value::bool( + ({ + let __t150 = v_V7115.clone(); + rt::hd(&__t150)? + }) + .as_str() + == Some("--eval"), + ); + if !rt::is_truthy(interp, &__t153)? { Value::bool(false) } else { - let __t179 = { - let __t177 = { - let __t176 = v_V7115.clone(); - rt::tl(&__t176)? + let __t154 = { + let __t152 = { + let __t151 = v_V7115.clone(); + rt::tl(&__t151)? }; - rt::is_cons(&__t177) + rt::is_cons(&__t152) }; - Value::bool(rt::is_truthy(interp, &__t179)?) + Value::bool(rt::is_truthy(interp, &__t154)?) } }; - Value::bool(rt::is_truthy(interp, &__t181)?) + Value::bool(rt::is_truthy(interp, &__t156)?) } }; - if match rt::is_truthy(interp, &__t196) { + if match rt::is_truthy(interp, &__t171) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t184 = { - let __t183 = { - let __t182 = v_V7115.clone(); - rt::tl(&__t182)? + let __t159 = { + let __t158 = { + let __t157 = v_V7115.clone(); + rt::tl(&__t157)? }; - rt::tl(&__t183)? + rt::tl(&__t158)? }; - let __t195 = { - let __t193 = { + let __t170 = { + let __t168 = { let v_V7115 = v_V7115.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ - let __t191 = { - let __t188 = { - let __t187 = { - let __t186 = { - let __t185 = v_V7115.clone(); - rt::tl(&__t185)? + let __t166 = { + let __t163 = { + let __t162 = { + let __t161 = { + let __t160 = v_V7115.clone(); + rt::tl(&__t160)? }; - rt::hd(&__t186)? + rt::hd(&__t161)? }; - rt::apply_direct( - interp, - "shen.x.launcher.eval-string", - &[__t187], - )? + aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_string(interp, &[__t162])? }; - let __t189 = Value::str("\n"); - let __t190 = - Value::sym(interp.intern("shen.a")); + let __t164 = Value::str("\n"); + let __t165 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t188, __t189, __t190], + &[__t163, __t164, __t165], )? }; - let __t192 = + let __t167 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t191, __t192])? + rt::apply_direct(interp, "pr", &[__t166, __t167])? }) }, vec![v_V7115], interp, ) }; - let __t194 = v_V7116.clone(); - rt::cons(&__t193, &__t194) + let __t169 = v_V7116.clone(); + rt::cons(&__t168, &__t169) }; - v_V7115 = __t184; - v_V7116 = __t195; + v_V7115 = __t159; + v_V7116 = __t170; continue; } } else { { - let __t171 = { - let __t160 = { - let __t152 = v_V7115.clone(); - rt::is_cons(&__t152) + let __t148 = { + let __t137 = { + let __t131 = v_V7115.clone(); + rt::is_cons(&__t131) }; - if !rt::is_truthy(interp, &__t160)? { + if !rt::is_truthy(interp, &__t137)? { Value::bool(false) } else { - let __t161 = { - let __t158 = { - let __t153 = Value::str("--load"); - let __t155 = { - let __t154 = v_V7115.clone(); - rt::hd(&__t154)? - }; - rt::eq(&__t153, &__t155) - }; - if !rt::is_truthy(interp, &__t158)? { + let __t138 = { + let __t135 = Value::bool( + ({ + let __t132 = v_V7115.clone(); + rt::hd(&__t132)? + }) + .as_str() + == Some("--load"), + ); + if !rt::is_truthy(interp, &__t135)? { Value::bool(false) } else { - let __t159 = { - let __t157 = { - let __t156 = v_V7115.clone(); - rt::tl(&__t156)? + let __t136 = { + let __t134 = { + let __t133 = v_V7115.clone(); + rt::tl(&__t133)? }; - rt::is_cons(&__t157) + rt::is_cons(&__t134) }; - Value::bool(rt::is_truthy(interp, &__t159)?) + Value::bool(rt::is_truthy(interp, &__t136)?) } }; - Value::bool(rt::is_truthy(interp, &__t161)?) + Value::bool(rt::is_truthy(interp, &__t138)?) } }; - if match rt::is_truthy(interp, &__t171) { + if match rt::is_truthy(interp, &__t148) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t164 = { - let __t163 = { - let __t162 = v_V7115.clone(); - rt::tl(&__t162)? + let __t141 = { + let __t140 = { + let __t139 = v_V7115.clone(); + rt::tl(&__t139)? }; - rt::tl(&__t163)? + rt::tl(&__t140)? }; - let __t170 = { - let __t168 = { + let __t147 = { + let __t145 = { let v_V7115 = v_V7115.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ - let __t167 = { - let __t166 = { - let __t165 = v_V7115.clone(); - rt::tl(&__t165)? + let __t144 = { + let __t143 = { + let __t142 = v_V7115.clone(); + rt::tl(&__t142)? }; - rt::hd(&__t166)? + rt::hd(&__t143)? }; - rt::apply_direct(interp, "load", &[__t167])? + rt::apply_direct(interp, "load", &[__t144])? }) }, vec![v_V7115], interp, ) }; - let __t169 = v_V7116.clone(); - rt::cons(&__t168, &__t169) + let __t146 = v_V7116.clone(); + rt::cons(&__t145, &__t146) }; - v_V7115 = __t164; - v_V7116 = __t170; + v_V7115 = __t141; + v_V7116 = __t147; continue; } } else { { - let __t151 = { - let __t142 = { - let __t138 = v_V7115.clone(); - rt::is_cons(&__t138) + let __t130 = { + let __t123 = { + let __t121 = v_V7115.clone(); + rt::is_cons(&__t121) }; - if !rt::is_truthy(interp, &__t142)? { + if !rt::is_truthy(interp, &__t123)? { Value::bool(false) } else { - let __t143 = { - let __t139 = Value::str("--quiet"); - let __t141 = { - let __t140 = v_V7115.clone(); - rt::hd(&__t140)? - }; - rt::eq(&__t139, &__t141) - }; - Value::bool(rt::is_truthy(interp, &__t143)?) + let __t124 = Value::bool( + ({ + let __t122 = v_V7115.clone(); + rt::hd(&__t122)? + }) + .as_str() + == Some("--quiet"), + ); + Value::bool(rt::is_truthy(interp, &__t124)?) } }; - if match rt::is_truthy(interp, &__t151) { + if match rt::is_truthy(interp, &__t130) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t145 = { - let __t144 = v_V7115.clone(); - rt::tl(&__t144)? + let __t126 = { + let __t125 = v_V7115.clone(); + rt::tl(&__t125)? }; - let __t150 = { - let __t148 = { + let __t129 = { + let __t127 = { rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ - let __t146 = Value::sym( - interp.intern("*hush*"), - ); - let __t147 = Value::bool(true); - rt::apply_direct( - interp, - "set", - &[__t146, __t147], - )? + let __v = Value::bool(true); + rt::set_global( + interp, "*hush*", __v, + ) }) }, Vec::new(), interp, ) }; - let __t149 = v_V7116.clone(); - rt::cons(&__t148, &__t149) + let __t128 = v_V7116.clone(); + rt::cons(&__t127, &__t128) }; - v_V7115 = __t145; - v_V7116 = __t150; + v_V7115 = __t126; + v_V7116 = __t129; continue; } } else { { - let __t137 = { - let __t119 = { - let __t106 = v_V7115.clone(); - rt::is_cons(&__t106) + let __t120 = { + let __t102 = { + let __t91 = v_V7115.clone(); + rt::is_cons(&__t91) }; - if !rt::is_truthy(interp, &__t119)? { + if !rt::is_truthy(interp, &__t102)? { Value::bool(false) } else { - let __t120 = { - let __t117 = { - let __t107 = Value::str("--set"); - let __t109 = { - let __t108 = v_V7115.clone(); - rt::hd(&__t108)? - }; - rt::eq(&__t107, &__t109) - }; - if !rt::is_truthy(interp, &__t117)? { + let __t103 = { + let __t100 = Value::bool( + ({ + let __t92 = v_V7115.clone(); + rt::hd(&__t92)? + }) + .as_str() + == Some("--set"), + ); + if !rt::is_truthy(interp, &__t100)? { Value::bool(false) } else { - let __t118 = { - let __t115 = { - let __t111 = { - let __t110 = - v_V7115.clone(); - rt::tl(&__t110)? + let __t101 = { + let __t98 = { + let __t94 = { + let __t93 = v_V7115.clone(); + rt::tl(&__t93)? }; - rt::is_cons(&__t111) + rt::is_cons(&__t94) }; - if !rt::is_truthy(interp, &__t115)? - { + if !rt::is_truthy(interp, &__t98)? { Value::bool(false) } else { - let __t116 = { - let __t114 = { - let __t113 = { - let __t112 = + let __t99 = { + let __t97 = { + let __t96 = { + let __t95 = v_V7115.clone(); - rt::tl(&__t112)? + rt::tl(&__t95)? }; - rt::tl(&__t113)? + rt::tl(&__t96)? }; - rt::is_cons(&__t114) + rt::is_cons(&__t97) }; Value::bool(rt::is_truthy( - interp, &__t116, + interp, &__t99, )?) } }; Value::bool(rt::is_truthy( - interp, &__t118, + interp, &__t101, )?) } }; - Value::bool(rt::is_truthy(interp, &__t120)?) + Value::bool(rt::is_truthy(interp, &__t103)?) } }; - if match rt::is_truthy(interp, &__t137) { + if match rt::is_truthy(interp, &__t120) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t124 = { - let __t123 = { - let __t122 = { - let __t121 = v_V7115.clone(); - rt::tl(&__t121)? + let __t107 = { + let __t106 = { + let __t105 = { + let __t104 = v_V7115.clone(); + rt::tl(&__t104)? }; - rt::tl(&__t122)? + rt::tl(&__t105)? }; - rt::tl(&__t123)? + rt::tl(&__t106)? }; - let __t136 = { - let __t134 = { + let __t119 = { + let __t117 = { let v_V7115 = v_V7115.clone(); rt::make_aot_closure( "", 0, move |interp, _args| { Ok({ - let __t128 = { - let __t127 = { - let __t126 = { - let __t125 = + let __t111 = { + let __t110 = { + let __t109 = { + let __t108 = v_V7115 .clone( ); - rt::tl(&__t125)? + rt::tl(&__t108)? }; - rt::hd(&__t126)? + rt::hd(&__t109)? }; - rt::apply_direct(interp, "shen.x.launcher.eval-string", &[__t127])? + aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_string(interp, &[__t110])? }; - let __t133 = { - let __t132 = { - let __t131 = { - let __t130 = { - let __t129 = v_V7115.clone(); + let __t116 = { + let __t115 = { + let __t114 = { + let __t113 = { + let __t112 = v_V7115.clone(); rt::tl( - &__t129, + &__t112, )? }; - rt::tl(&__t130)? + rt::tl(&__t113)? }; - rt::hd(&__t131)? + rt::hd(&__t114)? }; - rt::apply_direct(interp, "shen.x.launcher.eval-string", &[__t132])? + aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_string(interp, &[__t115])? }; rt::apply_direct( interp, "set", - &[__t128, __t133], + &[__t111, __t116], )? }) }, @@ -826,94 +791,76 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_command_x2d_h( interp, ) }; - let __t135 = v_V7116.clone(); - rt::cons(&__t134, &__t135) + let __t118 = v_V7116.clone(); + rt::cons(&__t117, &__t118) }; - v_V7115 = __t124; - v_V7116 = __t136; + v_V7115 = __t107; + v_V7116 = __t119; continue; } } else { { - let __t105 = { - let __t98 = { - let __t94 = v_V7115.clone(); - rt::is_cons(&__t94) + let __t90 = { + let __t83 = { + let __t81 = v_V7115.clone(); + rt::is_cons(&__t81) }; - if !rt::is_truthy(interp, &__t98)? { + if !rt::is_truthy(interp, &__t83)? { Value::bool(false) } else { - let __t99 = { - let __t95 = Value::str("--repl"); - let __t97 = { - let __t96 = v_V7115.clone(); - rt::hd(&__t96)? - }; - rt::eq(&__t95, &__t97) - }; + let __t84 = Value::bool( + ({ + let __t82 = v_V7115.clone(); + rt::hd(&__t82)? + }) + .as_str() + == Some("--repl"), + ); Value::bool(rt::is_truthy( - interp, &__t99, + interp, &__t84, )?) } }; - if match rt::is_truthy(interp, &__t105) { + if match rt::is_truthy(interp, &__t90) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t100 = Value::nil(); - let __t101 = v_V7116.clone(); - rt::apply_direct(interp, "shen.x.launcher.eval-command-h", &[__t100, __t101])? + let __t85 = Value::nil(); + let __t86 = v_V7116.clone(); + aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_command_x2d_h(interp, &[__t85, __t86])? }; break Ok({ - let __t102 = Value::sym( - interp.intern("launch-repl"), + let __t87 = Value::sym( + interp.intern_static( + "launch-repl", + ), ); - let __t104 = { - let __t103 = v_V7115.clone(); - rt::tl(&__t103)? + let __t89 = { + let __t88 = v_V7115.clone(); + rt::tl(&__t88)? }; - rt::cons(&__t102, &__t104) + rt::cons(&__t87, &__t89) }); } } else { { - let __t93 = Value::bool(true); - if match rt::is_truthy(interp, &__t93) { + let __t80 = Value::bool(true); + if match rt::is_truthy(interp, &__t80) { Ok(b) => b, Err(e) => break Err(e), } { { - let v_Freeze7119 = { - let v_V7115 = - v_V7115.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t77 = { - let __t66 = v_V7115.clone(); - rt::is_cons( - &__t66, - ) - }; - if rt::is_truthy(interp, &__t77)? { { let __t67 = Value::sym(interp.intern("error")); let __t76 = { let __t74 = { let __t68 = Value::str("Invalid eval argument: "); let __t73 = { let __t70 = { let __t69 = v_V7115.clone(); rt::hd(&__t69)? }; let __t71 = Value::str(""); let __t72 = Value::sym(interp.intern("shen.a")); rt::apply_direct(interp, "shen.app", &[__t70, __t71, __t72])? }; rt::apply_direct(interp, "cn", &[__t68, __t73])? }; let __t75 = Value::nil(); rt::cons(&__t74, &__t75) }; rt::cons(&__t67, &__t76) } } else { { let __t65 = Value::bool(true); if rt::is_truthy(interp, &__t65)? { { let __t64 = Value::sym(interp.intern("shen.x.launcher.eval-command-h")); rt::apply_direct(interp, "shen.f-error", &[__t64])? } } else { return Err(ShenError::new("cond: no clause matched")) } } } - }) - }, - vec![v_V7115], - interp, - ) - }; + let __t66 = |interp: &mut Interp| -> ShenResult { Ok({ let __t65 = { let __t54 = v_V7115.clone(); rt::is_cons(&__t54) }; if rt::is_truthy(interp, &__t65)? { { let __t55 = Value::sym(interp.intern_static("error")); let __t64 = { let __t62 = { let __t56 = Value::str("Invalid eval argument: "); let __t61 = { let __t58 = { let __t57 = v_V7115.clone(); rt::hd(&__t57)? }; let __t59 = Value::str(""); let __t60 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct(interp, "shen.app", &[__t58, __t59, __t60])? }; rt::cn(&__t56, &__t61)? }; let __t63 = Value::nil(); rt::cons(&__t62, &__t63) }; rt::cons(&__t55, &__t64) } } else { { let __t53 = Value::bool(true); if rt::is_truthy(interp, &__t53)? { { let __t52 = Value::sym(interp.intern_static("shen.x.launcher.eval-command-h")); rt::apply_direct(interp, "shen.f-error", &[__t52])? } } else { return Err(ShenError::new("cond: no clause matched")) } } } }) }; { - let __t79 = { - let __t78 = + let __t68 = { + let __t67 = v_V7115.clone(); - rt::is_cons(&__t78) + rt::is_cons(&__t67) }; if match rt::is_truthy( - interp, &__t79, + interp, &__t68, ) { Ok(b) => b, Err(e) => break Err(e), @@ -921,44 +868,30 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_command_x2d_h( { let v_Result7118 = { let v_W7117 = { - let __t81 = { - let __t80 = v_V7115.clone(); - rt::hd(&__t80)? + let __t70 = { + let __t69 = v_V7115.clone(); + rt::hd(&__t69)? }; - rt::apply_direct(interp, "shen.x.launcher.eval-flag-map", &[__t81])? + aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_flag_x2d_map(interp, &[__t70])? }; { - let __t89 = { - let __t82 = Value::bool(false); - let __t83 = v_W7117.clone(); - rt::eq(&__t82, &__t83) + let __t78 = { + let __t71 = Value::bool(false); + let __t72 = v_W7117.clone(); + rt::eq(&__t71, &__t72) }; - if rt::is_truthy(interp, &__t89)? { { rt::apply_direct(interp, "fail", &[])? } } else { { let __t87 = { let __t84 = v_W7117.clone(); let __t86 = { let __t85 = v_V7115.clone(); rt::tl(&__t85)? }; rt::cons(&__t84, &__t86) }; let __t88 = v_V7116.clone(); rt::apply_direct(interp, "shen.x.launcher.eval-command-h", &[__t87, __t88])? } } + if rt::is_truthy(interp, &__t78)? { { rt::fail(interp) } } else { { let __t76 = { let __t73 = v_W7117.clone(); let __t75 = { let __t74 = v_V7115.clone(); rt::tl(&__t74)? }; rt::cons(&__t73, &__t75) }; let __t77 = v_V7116.clone(); aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_command_x2d_h(interp, &[__t76, __t77])? } } } }; { - let __t92 = { - let __t90 = v_Result7118.clone(); - let __t91 = { - rt::apply_direct(interp, "fail", &[])? - }; - rt::eq( - &__t90, - &__t91, - ) - }; - if match rt::is_truthy(interp, &__t92) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_Freeze7119.clone(), &[])?); } else { break Ok(v_Result7118.clone()); } + let __t79 = Value::bool((v_Result7118.clone()).as_sym() == Some(interp.well_known.k_shen_fail)); + if match rt::is_truthy(interp, &__t79) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(__t66(interp)?); } else { break Ok(v_Result7118.clone()); } } } } else { - break Ok( - rt::apply_value( - interp, - v_Freeze7119 - .clone(), - &[], - )?, - ); + break Ok(__t66( + interp, + )?); } } } @@ -1011,9 +944,9 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_command( #[allow(clippy::never_loop)] loop { break Ok({ - let __t202 = v_V7120.clone(); - let __t203 = Value::nil(); - rt::apply_direct(interp, "shen.x.launcher.eval-command-h", &[__t202, __t203])? + let __t175 = v_V7120.clone(); + let __t176 = Value::nil(); + aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_command_x2d_h(interp, &[__t175, __t176])? }); } } @@ -1049,23 +982,22 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_script_x2d_command( loop { { let _ = { - let __t204 = Value::sym(interp.intern("*argv*")); - let __t207 = { - let __t205 = v_V7121.clone(); - let __t206 = v_V7122.clone(); - rt::cons(&__t205, &__t206) + let __v = { + let __t177 = v_V7121.clone(); + let __t178 = v_V7122.clone(); + rt::cons(&__t177, &__t178) }; - rt::apply_direct(interp, "set", &[__t204, __t207])? + rt::set_global(interp, "*argv*", __v) }; { let _ = { - let __t208 = v_V7121.clone(); - rt::apply_direct(interp, "shen.x.launcher.quiet-load", &[__t208])? + let __t179 = v_V7121.clone(); + aot_shen_x2e_x_x2e_launcher_x2e_quiet_x2d_load(interp, &[__t179])? }; break Ok({ - let __t209 = Value::sym(interp.intern("success")); - let __t210 = Value::nil(); - rt::cons(&__t209, &__t210) + let __t180 = Value::sym(interp.intern_static("success")); + let __t181 = Value::nil(); + rt::cons(&__t180, &__t181) }); } } @@ -1100,415 +1032,404 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_launch_x2d_shen( #[allow(clippy::never_loop)] loop { { - let __t319 = { - let __t315 = { - let __t311 = v_V7123.clone(); - rt::is_cons(&__t311) + let __t278 = { + let __t274 = { + let __t272 = v_V7123.clone(); + rt::is_cons(&__t272) }; - if !rt::is_truthy(interp, &__t315)? { + if !rt::is_truthy(interp, &__t274)? { Value::bool(false) } else { - let __t316 = { - let __t312 = Value::nil(); - let __t314 = { - let __t313 = v_V7123.clone(); - rt::tl(&__t313)? - }; - rt::eq(&__t312, &__t314) - }; - Value::bool(rt::is_truthy(interp, &__t316)?) + let __t275 = Value::bool( + ({ + let __t273 = v_V7123.clone(); + rt::tl(&__t273)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t275)?) } }; - if match rt::is_truthy(interp, &__t319) { + if match rt::is_truthy(interp, &__t278) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t317 = Value::sym(interp.intern("launch-repl")); - let __t318 = Value::nil(); - rt::cons(&__t317, &__t318) + let __t276 = Value::sym(interp.intern_static("launch-repl")); + let __t277 = Value::nil(); + rt::cons(&__t276, &__t277) }); } else { { - let __t310 = { - let __t302 = { - let __t293 = v_V7123.clone(); - rt::is_cons(&__t293) + let __t271 = { + let __t263 = { + let __t256 = v_V7123.clone(); + rt::is_cons(&__t256) }; - if !rt::is_truthy(interp, &__t302)? { + if !rt::is_truthy(interp, &__t263)? { Value::bool(false) } else { - let __t303 = { - let __t300 = { - let __t295 = { - let __t294 = v_V7123.clone(); - rt::tl(&__t294)? + let __t264 = { + let __t261 = { + let __t258 = { + let __t257 = v_V7123.clone(); + rt::tl(&__t257)? }; - rt::is_cons(&__t295) + rt::is_cons(&__t258) }; - if !rt::is_truthy(interp, &__t300)? { + if !rt::is_truthy(interp, &__t261)? { Value::bool(false) } else { - let __t301 = { - let __t296 = Value::str("--help"); - let __t299 = { - let __t298 = { - let __t297 = v_V7123.clone(); - rt::tl(&__t297)? + let __t262 = Value::bool( + ({ + let __t260 = { + let __t259 = v_V7123.clone(); + rt::tl(&__t259)? }; - rt::hd(&__t298)? - }; - rt::eq(&__t296, &__t299) - }; - Value::bool(rt::is_truthy(interp, &__t301)?) + rt::hd(&__t260)? + }) + .as_str() + == Some("--help"), + ); + Value::bool(rt::is_truthy(interp, &__t262)?) } }; - Value::bool(rt::is_truthy(interp, &__t303)?) + Value::bool(rt::is_truthy(interp, &__t264)?) } }; - if match rt::is_truthy(interp, &__t310) { + if match rt::is_truthy(interp, &__t271) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t304 = Value::sym(interp.intern("show-help")); - let __t309 = { - let __t307 = { - let __t306 = { - let __t305 = v_V7123.clone(); - rt::hd(&__t305)? + let __t265 = Value::sym(interp.intern_static("show-help")); + let __t270 = { + let __t268 = { + let __t267 = { + let __t266 = v_V7123.clone(); + rt::hd(&__t266)? }; - rt::apply_direct( + aot_shen_x2e_x_x2e_launcher_x2e_help_x2d_text( interp, - "shen.x.launcher.help-text", - &[__t306], + &[__t267], )? }; - let __t308 = Value::nil(); - rt::cons(&__t307, &__t308) + let __t269 = Value::nil(); + rt::cons(&__t268, &__t269) }; - rt::cons(&__t304, &__t309) + rt::cons(&__t265, &__t270) }); } else { { - let __t292 = { - let __t286 = { - let __t277 = v_V7123.clone(); - rt::is_cons(&__t277) + let __t255 = { + let __t249 = { + let __t242 = v_V7123.clone(); + rt::is_cons(&__t242) }; - if !rt::is_truthy(interp, &__t286)? { + if !rt::is_truthy(interp, &__t249)? { Value::bool(false) } else { - let __t287 = { - let __t284 = { - let __t279 = { - let __t278 = v_V7123.clone(); - rt::tl(&__t278)? + let __t250 = { + let __t247 = { + let __t244 = { + let __t243 = v_V7123.clone(); + rt::tl(&__t243)? }; - rt::is_cons(&__t279) + rt::is_cons(&__t244) }; - if !rt::is_truthy(interp, &__t284)? { + if !rt::is_truthy(interp, &__t247)? { Value::bool(false) } else { - let __t285 = { - let __t280 = Value::str("--version"); - let __t283 = { - let __t282 = { - let __t281 = v_V7123.clone(); - rt::tl(&__t281)? + let __t248 = Value::bool( + ({ + let __t246 = { + let __t245 = v_V7123.clone(); + rt::tl(&__t245)? }; - rt::hd(&__t282)? - }; - rt::eq(&__t280, &__t283) - }; - Value::bool(rt::is_truthy(interp, &__t285)?) + rt::hd(&__t246)? + }) + .as_str() + == Some("--version"), + ); + Value::bool(rt::is_truthy(interp, &__t248)?) } }; - Value::bool(rt::is_truthy(interp, &__t287)?) + Value::bool(rt::is_truthy(interp, &__t250)?) } }; - if match rt::is_truthy(interp, &__t292) { + if match rt::is_truthy(interp, &__t255) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t288 = Value::sym(interp.intern("success")); - let __t291 = { - let __t289 = { - rt::apply_direct( + let __t251 = Value::sym(interp.intern_static("success")); + let __t254 = { + let __t252 = { + aot_shen_x2e_x_x2e_launcher_x2e_version_x2d_string( interp, - "shen.x.launcher.version-string", &[], )? }; - let __t290 = Value::nil(); - rt::cons(&__t289, &__t290) + let __t253 = Value::nil(); + rt::cons(&__t252, &__t253) }; - rt::cons(&__t288, &__t291) + rt::cons(&__t251, &__t254) }); } else { { - let __t276 = { - let __t270 = { - let __t261 = v_V7123.clone(); - rt::is_cons(&__t261) + let __t241 = { + let __t235 = { + let __t228 = v_V7123.clone(); + rt::is_cons(&__t228) }; - if !rt::is_truthy(interp, &__t270)? { + if !rt::is_truthy(interp, &__t235)? { Value::bool(false) } else { - let __t271 = { - let __t268 = { - let __t263 = { - let __t262 = v_V7123.clone(); - rt::tl(&__t262)? + let __t236 = { + let __t233 = { + let __t230 = { + let __t229 = v_V7123.clone(); + rt::tl(&__t229)? }; - rt::is_cons(&__t263) + rt::is_cons(&__t230) }; - if !rt::is_truthy(interp, &__t268)? { + if !rt::is_truthy(interp, &__t233)? { Value::bool(false) } else { - let __t269 = { - let __t264 = Value::str("repl"); - let __t267 = { - let __t266 = { - let __t265 = v_V7123.clone(); - rt::tl(&__t265)? + let __t234 = Value::bool( + ({ + let __t232 = { + let __t231 = v_V7123.clone(); + rt::tl(&__t231)? }; - rt::hd(&__t266)? - }; - rt::eq(&__t264, &__t267) - }; - Value::bool(rt::is_truthy(interp, &__t269)?) + rt::hd(&__t232)? + }) + .as_str() + == Some("repl"), + ); + Value::bool(rt::is_truthy(interp, &__t234)?) } }; - Value::bool(rt::is_truthy(interp, &__t271)?) + Value::bool(rt::is_truthy(interp, &__t236)?) } }; - if match rt::is_truthy(interp, &__t276) { + if match rt::is_truthy(interp, &__t241) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t272 = Value::sym(interp.intern("launch-repl")); - let __t275 = { - let __t274 = { - let __t273 = v_V7123.clone(); - rt::tl(&__t273)? + let __t237 = + Value::sym(interp.intern_static("launch-repl")); + let __t240 = { + let __t239 = { + let __t238 = v_V7123.clone(); + rt::tl(&__t238)? }; - rt::tl(&__t274)? + rt::tl(&__t239)? }; - rt::cons(&__t272, &__t275) + rt::cons(&__t237, &__t240) }); } else { { - let __t260 = { - let __t250 = { - let __t236 = v_V7123.clone(); - rt::is_cons(&__t236) + let __t227 = { + let __t217 = { + let __t205 = v_V7123.clone(); + rt::is_cons(&__t205) }; - if !rt::is_truthy(interp, &__t250)? { + if !rt::is_truthy(interp, &__t217)? { Value::bool(false) } else { - let __t251 = { - let __t248 = { - let __t238 = { - let __t237 = v_V7123.clone(); - rt::tl(&__t237)? + let __t218 = { + let __t215 = { + let __t207 = { + let __t206 = v_V7123.clone(); + rt::tl(&__t206)? }; - rt::is_cons(&__t238) + rt::is_cons(&__t207) }; - if !rt::is_truthy(interp, &__t248)? { + if !rt::is_truthy(interp, &__t215)? { Value::bool(false) } else { - let __t249 = { - let __t246 = { - let __t239 = - Value::str("script"); - let __t242 = { - let __t241 = { - let __t240 = + let __t216 = { + let __t213 = Value::bool( + ({ + let __t209 = { + let __t208 = v_V7123.clone(); - rt::tl(&__t240)? + rt::tl(&__t208)? }; - rt::hd(&__t241)? - }; - rt::eq(&__t239, &__t242) - }; - if !rt::is_truthy(interp, &__t246)? + rt::hd(&__t209)? + }) + .as_str() + == Some("script"), + ); + if !rt::is_truthy(interp, &__t213)? { Value::bool(false) } else { - let __t247 = { - let __t245 = { - let __t244 = { - let __t243 = + let __t214 = { + let __t212 = { + let __t211 = { + let __t210 = v_V7123.clone(); - rt::tl(&__t243)? + rt::tl(&__t210)? }; - rt::tl(&__t244)? + rt::tl(&__t211)? }; - rt::is_cons(&__t245) + rt::is_cons(&__t212) }; Value::bool(rt::is_truthy( - interp, &__t247, + interp, &__t214, )?) } }; Value::bool(rt::is_truthy( - interp, &__t249, + interp, &__t216, )?) } }; - Value::bool(rt::is_truthy(interp, &__t251)?) + Value::bool(rt::is_truthy(interp, &__t218)?) } }; - if match rt::is_truthy(interp, &__t260) { + if match rt::is_truthy(interp, &__t227) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t255 = { - let __t254 = { - let __t253 = { - let __t252 = v_V7123.clone(); - rt::tl(&__t252)? + let __t222 = { + let __t221 = { + let __t220 = { + let __t219 = v_V7123.clone(); + rt::tl(&__t219)? }; - rt::tl(&__t253)? + rt::tl(&__t220)? }; - rt::hd(&__t254)? + rt::hd(&__t221)? }; - let __t259 = { - let __t258 = { - let __t257 = { - let __t256 = v_V7123.clone(); - rt::tl(&__t256)? + let __t226 = { + let __t225 = { + let __t224 = { + let __t223 = v_V7123.clone(); + rt::tl(&__t223)? }; - rt::tl(&__t257)? + rt::tl(&__t224)? }; - rt::tl(&__t258)? + rt::tl(&__t225)? }; - rt::apply_direct( - interp, - "shen.x.launcher.script-command", - &[__t255, __t259], - )? + aot_shen_x2e_x_x2e_launcher_x2e_script_x2d_command(interp, &[__t222, __t226])? }); } else { { - let __t235 = { - let __t230 = { - let __t221 = v_V7123.clone(); - rt::is_cons(&__t221) + let __t204 = { + let __t199 = { + let __t192 = v_V7123.clone(); + rt::is_cons(&__t192) }; - if !rt::is_truthy(interp, &__t230)? { + if !rt::is_truthy(interp, &__t199)? { Value::bool(false) } else { - let __t231 = { - let __t228 = { - let __t223 = { - let __t222 = + let __t200 = { + let __t197 = { + let __t194 = { + let __t193 = v_V7123.clone(); - rt::tl(&__t222)? + rt::tl(&__t193)? }; - rt::is_cons(&__t223) + rt::is_cons(&__t194) }; - if !rt::is_truthy(interp, &__t228)? + if !rt::is_truthy(interp, &__t197)? { Value::bool(false) } else { - let __t229 = { - let __t224 = - Value::str("eval"); - let __t227 = { - let __t226 = { - let __t225 = + let __t198 = Value::bool( + ({ + let __t196 = { + let __t195 = v_V7123.clone(); - rt::tl(&__t225)? + rt::tl(&__t195)? }; - rt::hd(&__t226)? - }; - rt::eq(&__t224, &__t227) - }; + rt::hd(&__t196)? + }) + .as_str() + == Some("eval"), + ); Value::bool(rt::is_truthy( - interp, &__t229, + interp, &__t198, )?) } }; Value::bool(rt::is_truthy( - interp, &__t231, + interp, &__t200, )?) } }; - if match rt::is_truthy(interp, &__t235) { + if match rt::is_truthy(interp, &__t204) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t234 = { - let __t233 = { - let __t232 = v_V7123.clone(); - rt::tl(&__t232)? + let __t203 = { + let __t202 = { + let __t201 = v_V7123.clone(); + rt::tl(&__t201)? }; - rt::tl(&__t233)? + rt::tl(&__t202)? }; - rt::apply_direct( - interp, - "shen.x.launcher.eval-command", - &[__t234], - )? + aot_shen_x2e_x_x2e_launcher_x2e_eval_x2d_command(interp, &[__t203])? }); } else { { - let __t220 = { - let __t216 = { - let __t213 = v_V7123.clone(); - rt::is_cons(&__t213) + let __t191 = { + let __t187 = { + let __t184 = v_V7123.clone(); + rt::is_cons(&__t184) }; - if !rt::is_truthy(interp, &__t216)? + if !rt::is_truthy(interp, &__t187)? { Value::bool(false) } else { - let __t217 = { - let __t215 = { - let __t214 = + let __t188 = { + let __t186 = { + let __t185 = v_V7123.clone(); - rt::tl(&__t214)? + rt::tl(&__t185)? }; - rt::is_cons(&__t215) + rt::is_cons(&__t186) }; Value::bool(rt::is_truthy( - interp, &__t217, + interp, &__t188, )?) } }; - if match rt::is_truthy(interp, &__t220) + if match rt::is_truthy(interp, &__t191) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t218 = - Value::sym(interp.intern( + let __t189 = Value::sym( + interp.intern_static( "unknown-arguments", - )); - let __t219 = v_V7123.clone(); - rt::cons(&__t218, &__t219) + ), + ); + let __t190 = v_V7123.clone(); + rt::cons(&__t189, &__t190) }); } else { { - let __t212 = Value::bool(true); + let __t183 = Value::bool(true); if match rt::is_truthy( - interp, &__t212, + interp, &__t183, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t211 = Value::sym(interp.intern("shen.x.launcher.launch-shen")); + let __t182 = Value::sym(interp.intern_static("shen.x.launcher.launch-shen")); rt::apply_direct( interp, "shen.f-error", - &[__t211], + &[__t182], )? }); } else { @@ -1560,461 +1481,454 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_default_x2d_handle_x2d_result( #[allow(clippy::never_loop)] loop { { - let __t447 = { - let __t445 = { - let __t436 = v_V7126.clone(); - rt::is_cons(&__t436) + let __t386 = { + let __t384 = { + let __t379 = v_V7126.clone(); + rt::is_cons(&__t379) }; - if !rt::is_truthy(interp, &__t445)? { + if !rt::is_truthy(interp, &__t384)? { Value::bool(false) } else { - let __t446 = { - let __t443 = { - let __t437 = Value::sym(interp.intern("success")); - let __t439 = { - let __t438 = v_V7126.clone(); - rt::hd(&__t438)? - }; - rt::eq(&__t437, &__t439) - }; - if !rt::is_truthy(interp, &__t443)? { + let __t385 = { + let __t382 = Value::bool( + ({ + let __t380 = v_V7126.clone(); + rt::hd(&__t380)? + }) + .as_sym() + == Some(interp.intern_static("success")), + ); + if !rt::is_truthy(interp, &__t382)? { Value::bool(false) } else { - let __t444 = { - let __t440 = Value::nil(); - let __t442 = { - let __t441 = v_V7126.clone(); - rt::tl(&__t441)? - }; - rt::eq(&__t440, &__t442) - }; - Value::bool(rt::is_truthy(interp, &__t444)?) + let __t383 = Value::bool( + ({ + let __t381 = v_V7126.clone(); + rt::tl(&__t381)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t383)?) } }; - Value::bool(rt::is_truthy(interp, &__t446)?) + Value::bool(rt::is_truthy(interp, &__t385)?) } }; - if match rt::is_truthy(interp, &__t447) { + if match rt::is_truthy(interp, &__t386) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.x.launcher.done"))); + break Ok(Value::sym(interp.intern_static("shen.x.launcher.done"))); } else { { - let __t435 = { - let __t426 = { - let __t412 = v_V7126.clone(); - rt::is_cons(&__t412) + let __t378 = { + let __t369 = { + let __t359 = v_V7126.clone(); + rt::is_cons(&__t359) }; - if !rt::is_truthy(interp, &__t426)? { + if !rt::is_truthy(interp, &__t369)? { Value::bool(false) } else { - let __t427 = { - let __t424 = { - let __t413 = Value::sym(interp.intern("success")); - let __t415 = { - let __t414 = v_V7126.clone(); - rt::hd(&__t414)? - }; - rt::eq(&__t413, &__t415) - }; - if !rt::is_truthy(interp, &__t424)? { + let __t370 = { + let __t367 = Value::bool( + ({ + let __t360 = v_V7126.clone(); + rt::hd(&__t360)? + }) + .as_sym() + == Some(interp.intern_static("success")), + ); + if !rt::is_truthy(interp, &__t367)? { Value::bool(false) } else { - let __t425 = { - let __t422 = { - let __t417 = { - let __t416 = v_V7126.clone(); - rt::tl(&__t416)? + let __t368 = { + let __t365 = { + let __t362 = { + let __t361 = v_V7126.clone(); + rt::tl(&__t361)? }; - rt::is_cons(&__t417) + rt::is_cons(&__t362) }; - if !rt::is_truthy(interp, &__t422)? { + if !rt::is_truthy(interp, &__t365)? { Value::bool(false) } else { - let __t423 = { - let __t418 = Value::nil(); - let __t421 = { - let __t420 = { - let __t419 = v_V7126.clone(); - rt::tl(&__t419)? + let __t366 = Value::bool( + ({ + let __t364 = { + let __t363 = v_V7126.clone(); + rt::tl(&__t363)? }; - rt::tl(&__t420)? - }; - rt::eq(&__t418, &__t421) - }; - Value::bool(rt::is_truthy(interp, &__t423)?) + rt::tl(&__t364)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t366)?) } }; - Value::bool(rt::is_truthy(interp, &__t425)?) + Value::bool(rt::is_truthy(interp, &__t368)?) } }; - Value::bool(rt::is_truthy(interp, &__t427)?) + Value::bool(rt::is_truthy(interp, &__t370)?) } }; - if match rt::is_truthy(interp, &__t435) { + if match rt::is_truthy(interp, &__t378) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t433 = { - let __t430 = { - let __t429 = { - let __t428 = v_V7126.clone(); - rt::tl(&__t428)? + let __t376 = { + let __t373 = { + let __t372 = { + let __t371 = v_V7126.clone(); + rt::tl(&__t371)? }; - rt::hd(&__t429)? + rt::hd(&__t372)? }; - let __t431 = Value::str("\n"); - let __t432 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t430, __t431, __t432])? + let __t374 = Value::str("\n"); + let __t375 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t373, __t374, __t375])? }; - let __t434 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t433, __t434])? + let __t377 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t376, __t377])? }); } else { { - let __t411 = { - let __t400 = { - let __t386 = v_V7126.clone(); - rt::is_cons(&__t386) + let __t358 = { + let __t347 = { + let __t337 = v_V7126.clone(); + rt::is_cons(&__t337) }; - if !rt::is_truthy(interp, &__t400)? { + if !rt::is_truthy(interp, &__t347)? { Value::bool(false) } else { - let __t401 = { - let __t398 = { - let __t387 = Value::sym(interp.intern("error")); - let __t389 = { - let __t388 = v_V7126.clone(); - rt::hd(&__t388)? - }; - rt::eq(&__t387, &__t389) - }; - if !rt::is_truthy(interp, &__t398)? { + let __t348 = { + let __t345 = Value::bool( + ({ + let __t338 = v_V7126.clone(); + rt::hd(&__t338)? + }) + .as_sym() + == Some(interp.intern_static("error")), + ); + if !rt::is_truthy(interp, &__t345)? { Value::bool(false) } else { - let __t399 = { - let __t396 = { - let __t391 = { - let __t390 = v_V7126.clone(); - rt::tl(&__t390)? + let __t346 = { + let __t343 = { + let __t340 = { + let __t339 = v_V7126.clone(); + rt::tl(&__t339)? }; - rt::is_cons(&__t391) + rt::is_cons(&__t340) }; - if !rt::is_truthy(interp, &__t396)? { + if !rt::is_truthy(interp, &__t343)? { Value::bool(false) } else { - let __t397 = { - let __t392 = Value::nil(); - let __t395 = { - let __t394 = { - let __t393 = v_V7126.clone(); - rt::tl(&__t393)? + let __t344 = Value::bool( + ({ + let __t342 = { + let __t341 = v_V7126.clone(); + rt::tl(&__t341)? }; - rt::tl(&__t394)? - }; - rt::eq(&__t392, &__t395) - }; - Value::bool(rt::is_truthy(interp, &__t397)?) + rt::tl(&__t342)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t344)?) } }; - Value::bool(rt::is_truthy(interp, &__t399)?) + Value::bool(rt::is_truthy(interp, &__t346)?) } }; - Value::bool(rt::is_truthy(interp, &__t401)?) + Value::bool(rt::is_truthy(interp, &__t348)?) } }; - if match rt::is_truthy(interp, &__t411) { + if match rt::is_truthy(interp, &__t358) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t409 = { - let __t402 = Value::str("ERROR: "); - let __t408 = { - let __t405 = { - let __t404 = { - let __t403 = v_V7126.clone(); - rt::tl(&__t403)? + let __t356 = { + let __t349 = Value::str("ERROR: "); + let __t355 = { + let __t352 = { + let __t351 = { + let __t350 = v_V7126.clone(); + rt::tl(&__t350)? }; - rt::hd(&__t404)? + rt::hd(&__t351)? }; - let __t406 = Value::str("\n"); - let __t407 = Value::sym(interp.intern("shen.a")); + let __t353 = Value::str("\n"); + let __t354 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t405, __t406, __t407], + &[__t352, __t353, __t354], )? }; - rt::apply_direct(interp, "cn", &[__t402, __t408])? + rt::cn(&__t349, &__t355)? }; - let __t410 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t409, __t410])? + let __t357 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t356, __t357])? }); } else { { - let __t385 = { - let __t383 = { - let __t379 = v_V7126.clone(); - rt::is_cons(&__t379) + let __t336 = { + let __t334 = { + let __t332 = v_V7126.clone(); + rt::is_cons(&__t332) }; - if !rt::is_truthy(interp, &__t383)? { + if !rt::is_truthy(interp, &__t334)? { Value::bool(false) } else { - let __t384 = { - let __t380 = - Value::sym(interp.intern("launch-repl")); - let __t382 = { - let __t381 = v_V7126.clone(); - rt::hd(&__t381)? - }; - rt::eq(&__t380, &__t382) - }; - Value::bool(rt::is_truthy(interp, &__t384)?) + let __t335 = Value::bool( + ({ + let __t333 = v_V7126.clone(); + rt::hd(&__t333)? + }) + .as_sym() + == Some(interp.intern_static("launch-repl")), + ); + Value::bool(rt::is_truthy(interp, &__t335)?) } }; - if match rt::is_truthy(interp, &__t385) { + if match rt::is_truthy(interp, &__t336) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.repl", &[])? }); } else { { - let __t378 = { - let __t369 = { - let __t355 = v_V7126.clone(); - rt::is_cons(&__t355) + let __t331 = { + let __t322 = { + let __t312 = v_V7126.clone(); + rt::is_cons(&__t312) }; - if !rt::is_truthy(interp, &__t369)? { + if !rt::is_truthy(interp, &__t322)? { Value::bool(false) } else { - let __t370 = { - let __t367 = { - let __t356 = Value::sym( - interp.intern("show-help"), - ); - let __t358 = { - let __t357 = v_V7126.clone(); - rt::hd(&__t357)? - }; - rt::eq(&__t356, &__t358) - }; - if !rt::is_truthy(interp, &__t367)? { + let __t323 = { + let __t320 = Value::bool( + ({ + let __t313 = v_V7126.clone(); + rt::hd(&__t313)? + }) + .as_sym() + == Some( + interp + .intern_static("show-help"), + ), + ); + if !rt::is_truthy(interp, &__t320)? { Value::bool(false) } else { - let __t368 = { - let __t365 = { - let __t360 = { - let __t359 = + let __t321 = { + let __t318 = { + let __t315 = { + let __t314 = v_V7126.clone(); - rt::tl(&__t359)? + rt::tl(&__t314)? }; - rt::is_cons(&__t360) + rt::is_cons(&__t315) }; - if !rt::is_truthy(interp, &__t365)? + if !rt::is_truthy(interp, &__t318)? { Value::bool(false) } else { - let __t366 = { - let __t361 = Value::nil(); - let __t364 = { - let __t363 = { - let __t362 = + let __t319 = Value::bool( + ({ + let __t317 = { + let __t316 = v_V7126.clone(); - rt::tl(&__t362)? + rt::tl(&__t316)? }; - rt::tl(&__t363)? - }; - rt::eq(&__t361, &__t364) - }; + rt::tl(&__t317)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t366, + interp, &__t319, )?) } }; Value::bool(rt::is_truthy( - interp, &__t368, + interp, &__t321, )?) } }; - Value::bool(rt::is_truthy(interp, &__t370)?) + Value::bool(rt::is_truthy(interp, &__t323)?) } }; - if match rt::is_truthy(interp, &__t378) { + if match rt::is_truthy(interp, &__t331) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t376 = { - let __t373 = { - let __t372 = { - let __t371 = v_V7126.clone(); - rt::tl(&__t371)? + let __t329 = { + let __t326 = { + let __t325 = { + let __t324 = v_V7126.clone(); + rt::tl(&__t324)? }; - rt::hd(&__t372)? + rt::hd(&__t325)? }; - let __t374 = Value::str("\n"); - let __t375 = - Value::sym(interp.intern("shen.a")); + let __t327 = Value::str("\n"); + let __t328 = Value::sym( + interp.intern_static("shen.a"), + ); rt::apply_direct( interp, "shen.app", - &[__t373, __t374, __t375], + &[__t326, __t327, __t328], )? }; - let __t377 = { + let __t330 = { rt::apply_direct(interp, "stoutput", &[])? }; rt::apply_direct( interp, "pr", - &[__t376, __t377], + &[__t329, __t330], )? }); } else { { - let __t354 = { - let __t335 = { - let __t322 = v_V7126.clone(); - rt::is_cons(&__t322) + let __t311 = { + let __t292 = { + let __t281 = v_V7126.clone(); + rt::is_cons(&__t281) }; - if !rt::is_truthy(interp, &__t335)? { + if !rt::is_truthy(interp, &__t292)? { Value::bool(false) } else { - let __t336 = { - let __t333 = { - let __t323 = - Value::sym(interp.intern( - "unknown-arguments", - )); - let __t325 = { - let __t324 = + let __t293 = { + let __t290 = Value::bool( + ({ + let __t282 = v_V7126.clone(); - rt::hd(&__t324)? - }; - rt::eq(&__t323, &__t325) - }; - if !rt::is_truthy(interp, &__t333)? + rt::hd(&__t282)? + }) + .as_sym() + == Some( + interp.intern_static( + "unknown-arguments", + ), + ), + ); + if !rt::is_truthy(interp, &__t290)? { Value::bool(false) } else { - let __t334 = { - let __t331 = { - let __t327 = { - let __t326 = + let __t291 = { + let __t288 = { + let __t284 = { + let __t283 = v_V7126.clone(); - rt::tl(&__t326)? + rt::tl(&__t283)? }; - rt::is_cons(&__t327) + rt::is_cons(&__t284) }; if !rt::is_truthy( - interp, &__t331, + interp, &__t288, )? { Value::bool(false) } else { - let __t332 = { - let __t330 = { - let __t329 = { - let __t328 = v_V7126.clone(); + let __t289 = { + let __t287 = { + let __t286 = { + let __t285 = v_V7126.clone(); rt::tl( - &__t328, + &__t285, )? }; - rt::tl(&__t329)? + rt::tl(&__t286)? }; - rt::is_cons(&__t330) + rt::is_cons(&__t287) }; Value::bool( rt::is_truthy( - interp, &__t332, + interp, &__t289, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t334, + interp, &__t291, )?) } }; Value::bool(rt::is_truthy( - interp, &__t336, + interp, &__t293, )?) } }; - if match rt::is_truthy(interp, &__t354) { + if match rt::is_truthy(interp, &__t311) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t352 = { - let __t337 = Value::str( + let __t309 = { + let __t294 = Value::str( "ERROR: Invalid argument: ", ); - let __t351 = { - let __t341 = { - let __t340 = { - let __t339 = { - let __t338 = + let __t308 = { + let __t298 = { + let __t297 = { + let __t296 = { + let __t295 = v_V7126.clone(); - rt::tl(&__t338)? + rt::tl(&__t295)? }; - rt::tl(&__t339)? + rt::tl(&__t296)? }; - rt::hd(&__t340)? + rt::hd(&__t297)? }; - let __t349 = { - let __t342 = + let __t306 = { + let __t299 = Value::str("\nTry `"); - let __t348 = { - let __t345 = { - let __t344 = { - let __t343 = + let __t305 = { + let __t302 = { + let __t301 = { + let __t300 = v_V7126 .clone( ); - rt::tl(&__t343)? + rt::tl(&__t300)? }; - rt::hd(&__t344)? + rt::hd(&__t301)? }; - let __t346 = Value::str(" --help' for more information.\n"); - let __t347 = Value::sym( - interp.intern( - "shen.a", - ), + let __t303 = Value::str(" --help' for more information.\n"); + let __t304 = Value::sym( + interp + .intern_static( + "shen.a", + ), ); rt::apply_direct( interp, "shen.app", &[ - __t345, __t346, - __t347, + __t302, __t303, + __t304, ], )? }; - rt::apply_direct( - interp, - "cn", - &[__t342, __t348], - )? + rt::cn(&__t299, &__t305)? }; - let __t350 = Value::sym( - interp.intern("shen.a"), + let __t307 = Value::sym( + interp.intern_static( + "shen.a", + ), ); rt::apply_direct( interp, "shen.app", - &[__t341, __t349, __t350], + &[__t298, __t306, __t307], )? }; - rt::apply_direct( - interp, - "cn", - &[__t337, __t351], - )? + rt::cn(&__t294, &__t308)? }; - let __t353 = { + let __t310 = { rt::apply_direct( interp, "stoutput", @@ -2024,23 +1938,23 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_default_x2d_handle_x2d_result( rt::apply_direct( interp, "pr", - &[__t352, __t353], + &[__t309, __t310], )? }); } else { { - let __t321 = Value::bool(true); - if match rt::is_truthy(interp, &__t321) + let __t280 = Value::bool(true); + if match rt::is_truthy(interp, &__t280) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t320 = Value::sym(interp.intern("shen.x.launcher.default-handle-result")); + let __t279 = Value::sym(interp.intern_static("shen.x.launcher.default-handle-result")); rt::apply_direct( interp, "shen.f-error", - &[__t320], + &[__t279], )? }); } else { @@ -2092,11 +2006,11 @@ pub fn aot_shen_x2e_x_x2e_launcher_x2e_main( #[allow(clippy::never_loop)] loop { break Ok({ - let __t449 = { - let __t448 = v_V7127.clone(); - rt::apply_direct(interp, "shen.x.launcher.launch-shen", &[__t448])? + let __t388 = { + let __t387 = v_V7127.clone(); + aot_shen_x2e_x_x2e_launcher_x2e_launch_x2d_shen(interp, &[__t387])? }; - rt::apply_direct(interp, "shen.x.launcher.default-handle-result", &[__t449])? + aot_shen_x2e_x_x2e_launcher_x2e_default_x2d_handle_x2d_result(interp, &[__t388])? }); } } diff --git a/crates/shen-rust/src/aot/kernel/extension_programmable_pattern_matching.rs b/crates/shen-rust/src/aot/kernel/extension_programmable_pattern_matching.rs index 5175f17..4b62ade 100644 --- a/crates/shen-rust/src/aot/kernel/extension_programmable_pattern_matching.rs +++ b/crates/shen-rust/src/aot/kernel/extension_programmable_pattern_matching.rs @@ -47,129 +47,106 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_apply_x2d_pa #[allow(clippy::never_loop)] loop { { - let __t27 = { - let __t25 = Value::nil(); - let __t26 = v_V7168.clone(); - rt::eq(&__t25, &__t26) - }; - if match rt::is_truthy(interp, &__t27) { + let __t24 = Value::bool((v_V7168.clone()).is_nil()); + if match rt::is_truthy(interp, &__t24) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "fail", &[])? }); + break Ok({ rt::fail(interp) }); } else { { - let __t24 = Value::bool(true); - if match rt::is_truthy(interp, &__t24) { + let __t23 = Value::bool(true); + if match rt::is_truthy(interp, &__t23) { Ok(b) => b, Err(e) => break Err(e), } { { - let v_Freeze7174 = { - let v_V7168 = v_V7168.clone(); - let v_V7169 = v_V7169.clone(); - let v_V7170 = v_V7170.clone(); - let v_V7171 = v_V7171.clone(); - let v_V7172 = v_V7172.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t9 = { - let __t2 = v_V7168.clone(); - rt::is_cons(&__t2) + let __t10 = |interp: &mut Interp| -> ShenResult { + Ok({ + let __t9 = { + let __t2 = v_V7168.clone(); + rt::is_cons(&__t2) + }; + if rt::is_truthy(interp, &__t9)? { + { + let __t4 = { + let __t3 = v_V7168.clone(); + rt::tl(&__t3)? }; - if rt::is_truthy(interp, &__t9)? { + let __t5 = v_V7169.clone(); + let __t6 = v_V7170.clone(); + let __t7 = v_V7171.clone(); + let __t8 = v_V7172.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_apply_x2d_pattern_x2d_handlers(interp, &[__t4, __t5, __t6, __t7, __t8])? + } + } else { + { + let __t1 = Value::bool(true); + if rt::is_truthy(interp, &__t1)? { { - let __t4 = { - let __t3 = v_V7168.clone(); - rt::tl(&__t3)? - }; - let __t5 = v_V7169.clone(); - let __t6 = v_V7170.clone(); - let __t7 = v_V7171.clone(); - let __t8 = v_V7172.clone(); - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.apply-pattern-handlers", &[__t4, __t5, __t6, __t7, __t8])? + let __t0 = Value::sym(interp.intern_static("shen.x.programmable-pattern-matching.apply-pattern-handlers")); + rt::apply_direct( + interp, + "shen.f-error", + &[__t0], + )? } } else { - { - let __t1 = Value::bool(true); - if rt::is_truthy(interp, &__t1)? { - { - let __t0 = Value::sym(interp.intern("shen.x.programmable-pattern-matching.apply-pattern-handlers")); - rt::apply_direct( - interp, - "shen.f-error", - &[__t0], - )? - } - } else { - return Err(ShenError::new( - "cond: no clause matched", - )); - } - } + return Err(ShenError::new( + "cond: no clause matched", + )); } - }) - }, - vec![v_V7168, v_V7169, v_V7170, v_V7171, v_V7172], - interp, - ) + } + } + }) }; { - let __t11 = { - let __t10 = v_V7168.clone(); - rt::is_cons(&__t10) + let __t12 = { + let __t11 = v_V7168.clone(); + rt::is_cons(&__t11) }; - if match rt::is_truthy(interp, &__t11) { + if match rt::is_truthy(interp, &__t12) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Result7173 = { - let __t19 = { - let __t17 = { - let __t15 = { - let __t13 = { - let __t12 = v_V7168.clone(); - rt::hd(&__t12)? + let __t20 = { + let __t18 = { + let __t16 = { + let __t14 = { + let __t13 = v_V7168.clone(); + rt::hd(&__t13)? }; - let __t14 = v_V7169.clone(); - rt::apply_value(interp, __t13, &[__t14])? + let __t15 = v_V7169.clone(); + rt::apply_value(interp, __t14, &[__t15])? }; - let __t16 = v_V7170.clone(); - rt::apply_value(interp, __t15, &[__t16])? + let __t17 = v_V7170.clone(); + rt::apply_value(interp, __t16, &[__t17])? }; - let __t18 = v_V7171.clone(); - rt::apply_value(interp, __t17, &[__t18])? + let __t19 = v_V7171.clone(); + rt::apply_value(interp, __t18, &[__t19])? }; - let __t20 = v_V7172.clone(); - rt::apply_value(interp, __t19, &[__t20])? + let __t21 = v_V7172.clone(); + rt::apply_value(interp, __t20, &[__t21])? }; { - let __t23 = { - let __t21 = v_Result7173.clone(); - let __t22 = - { rt::apply_direct(interp, "fail", &[])? }; - rt::eq(&__t21, &__t22) - }; - if match rt::is_truthy(interp, &__t23) { + let __t22 = Value::bool( + (v_Result7173.clone()).as_sym() + == Some(interp.well_known.k_shen_fail), + ); + if match rt::is_truthy(interp, &__t22) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(rt::apply_value( - interp, - v_Freeze7174.clone(), - &[], - )?); + break Ok(__t10(interp)?); } else { break Ok(v_Result7173.clone()); } } } } else { - break Ok(rt::apply_value(interp, v_Freeze7174.clone(), &[])?); + break Ok(__t10(interp)?); } } } @@ -210,13 +187,13 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_make_x2d_sta #[allow(clippy::never_loop)] loop { break Ok({ - let __t29 = { - let __t28 = Value::int(1i64); - rt::apply_direct(interp, "absvector", &[__t28])? + let __t26 = { + let __t25 = Value::int(1i64); + rt::apply_direct(interp, "absvector", &[__t25])? }; - let __t30 = Value::int(0i64); - let __t31 = Value::nil(); - rt::apply_direct(interp, "address->", &[__t29, __t30, __t31])? + let __t27 = Value::int(0i64); + let __t28 = Value::nil(); + rt::address_set(&__t26, &__t27, &__t28)? }); } } @@ -253,18 +230,18 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_push( #[allow(clippy::never_loop)] loop { break Ok({ - let __t32 = v_V7175.clone(); - let __t33 = Value::int(0i64); - let __t38 = { - let __t34 = v_V7176.clone(); - let __t37 = { - let __t35 = v_V7175.clone(); - let __t36 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t35, __t36])? + let __t29 = v_V7175.clone(); + let __t30 = Value::int(0i64); + let __t35 = { + let __t31 = v_V7176.clone(); + let __t34 = { + let __t32 = v_V7175.clone(); + let __t33 = Value::int(0i64); + rt::address_ref(&__t32, &__t33)? }; - rt::cons(&__t34, &__t37) + rt::cons(&__t31, &__t34) }; - rt::apply_direct(interp, "address->", &[__t32, __t33, __t38])? + rt::address_set(&__t29, &__t30, &__t35)? }); } } @@ -298,16 +275,16 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_pop_x2d_all( loop { { let v_W7178 = { - let __t39 = v_V7177.clone(); - let __t40 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t39, __t40])? + let __t36 = v_V7177.clone(); + let __t37 = Value::int(0i64); + rt::address_ref(&__t36, &__t37)? }; { let v_W7179 = { - let __t41 = v_V7177.clone(); - let __t42 = Value::int(0i64); - let __t43 = Value::nil(); - rt::apply_direct(interp, "address->", &[__t41, __t42, __t43])? + let __t38 = v_V7177.clone(); + let __t39 = Value::int(0i64); + let __t40 = Value::nil(); + rt::address_set(&__t38, &__t39, &__t40)? }; break Ok(v_W7178.clone()); } @@ -345,119 +322,110 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_surface_x2d_ #[allow(clippy::never_loop)] loop { { - let __t76 = { - let __t65 = { - let __t45 = v_V7180.clone(); - rt::is_cons(&__t45) + let __t69 = { + let __t58 = { + let __t42 = v_V7180.clone(); + rt::is_cons(&__t42) }; - if !rt::is_truthy(interp, &__t65)? { + if !rt::is_truthy(interp, &__t58)? { Value::bool(false) } else { - let __t66 = { - let __t63 = { - let __t46 = Value::sym(interp.intern("cons")); - let __t48 = { - let __t47 = v_V7180.clone(); - rt::hd(&__t47)? - }; - rt::eq(&__t46, &__t48) - }; - if !rt::is_truthy(interp, &__t63)? { + let __t59 = { + let __t56 = Value::bool( + ({ + let __t43 = v_V7180.clone(); + rt::hd(&__t43)? + }) + .as_sym() + == Some(interp.intern_static("cons")), + ); + if !rt::is_truthy(interp, &__t56)? { Value::bool(false) } else { - let __t64 = { - let __t61 = { - let __t50 = { - let __t49 = v_V7180.clone(); - rt::tl(&__t49)? + let __t57 = { + let __t54 = { + let __t45 = { + let __t44 = v_V7180.clone(); + rt::tl(&__t44)? }; - rt::is_cons(&__t50) + rt::is_cons(&__t45) }; - if !rt::is_truthy(interp, &__t61)? { + if !rt::is_truthy(interp, &__t54)? { Value::bool(false) } else { - let __t62 = { - let __t59 = { - let __t53 = { - let __t52 = { - let __t51 = v_V7180.clone(); - rt::tl(&__t51)? + let __t55 = { + let __t52 = { + let __t48 = { + let __t47 = { + let __t46 = v_V7180.clone(); + rt::tl(&__t46)? }; - rt::tl(&__t52)? + rt::tl(&__t47)? }; - rt::is_cons(&__t53) + rt::is_cons(&__t48) }; - if !rt::is_truthy(interp, &__t59)? { + if !rt::is_truthy(interp, &__t52)? { Value::bool(false) } else { - let __t60 = { - let __t54 = Value::nil(); - let __t58 = { - let __t57 = { - let __t56 = { - let __t55 = v_V7180.clone(); - rt::tl(&__t55)? + let __t53 = Value::bool( + ({ + let __t51 = { + let __t50 = { + let __t49 = v_V7180.clone(); + rt::tl(&__t49)? }; - rt::tl(&__t56)? + rt::tl(&__t50)? }; - rt::tl(&__t57)? - }; - rt::eq(&__t54, &__t58) - }; - Value::bool(rt::is_truthy(interp, &__t60)?) + rt::tl(&__t51)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t53)?) } }; - Value::bool(rt::is_truthy(interp, &__t62)?) + Value::bool(rt::is_truthy(interp, &__t55)?) } }; - Value::bool(rt::is_truthy(interp, &__t64)?) + Value::bool(rt::is_truthy(interp, &__t57)?) } }; - Value::bool(rt::is_truthy(interp, &__t66)?) + Value::bool(rt::is_truthy(interp, &__t59)?) } }; - if match rt::is_truthy(interp, &__t76) { + if match rt::is_truthy(interp, &__t69) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t70 = { - let __t69 = { - let __t68 = { - let __t67 = v_V7180.clone(); - rt::tl(&__t67)? + let __t63 = { + let __t62 = { + let __t61 = { + let __t60 = v_V7180.clone(); + rt::tl(&__t60)? }; - rt::hd(&__t68)? + rt::hd(&__t61)? }; - rt::apply_direct( - interp, - "shen.x.programmable-pattern-matching.surface-pattern", - &[__t69], - )? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_surface_x2d_pattern(interp, &[__t62])? }; - let __t75 = { - let __t74 = { - let __t73 = { - let __t72 = { - let __t71 = v_V7180.clone(); - rt::tl(&__t71)? + let __t68 = { + let __t67 = { + let __t66 = { + let __t65 = { + let __t64 = v_V7180.clone(); + rt::tl(&__t64)? }; - rt::tl(&__t72)? + rt::tl(&__t65)? }; - rt::hd(&__t73)? + rt::hd(&__t66)? }; - rt::apply_direct( - interp, - "shen.x.programmable-pattern-matching.surface-pattern-tail", - &[__t74], - )? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_surface_x2d_pattern_x2d_tail(interp, &[__t67])? }; - rt::cons(&__t70, &__t75) + rt::cons(&__t63, &__t68) }); } else { { - let __t44 = Value::bool(true); - if match rt::is_truthy(interp, &__t44) { + let __t41 = Value::bool(true); + if match rt::is_truthy(interp, &__t41) { Ok(b) => b, Err(e) => break Err(e), } { @@ -501,131 +469,118 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_surface_x2d_ #[allow(clippy::never_loop)] loop { { - let __t112 = { - let __t110 = Value::nil(); - let __t111 = v_V7181.clone(); - rt::eq(&__t110, &__t111) - }; - if match rt::is_truthy(interp, &__t112) { + let __t99 = Value::bool((v_V7181.clone()).is_nil()); + if match rt::is_truthy(interp, &__t99) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t109 = { - let __t98 = { - let __t78 = v_V7181.clone(); - rt::is_cons(&__t78) + let __t98 = { + let __t87 = { + let __t71 = v_V7181.clone(); + rt::is_cons(&__t71) }; - if !rt::is_truthy(interp, &__t98)? { + if !rt::is_truthy(interp, &__t87)? { Value::bool(false) } else { - let __t99 = { - let __t96 = { - let __t79 = Value::sym(interp.intern("cons")); - let __t81 = { - let __t80 = v_V7181.clone(); - rt::hd(&__t80)? - }; - rt::eq(&__t79, &__t81) - }; - if !rt::is_truthy(interp, &__t96)? { + let __t88 = { + let __t85 = Value::bool( + ({ + let __t72 = v_V7181.clone(); + rt::hd(&__t72)? + }) + .as_sym() + == Some(interp.intern_static("cons")), + ); + if !rt::is_truthy(interp, &__t85)? { Value::bool(false) } else { - let __t97 = { - let __t94 = { - let __t83 = { - let __t82 = v_V7181.clone(); - rt::tl(&__t82)? + let __t86 = { + let __t83 = { + let __t74 = { + let __t73 = v_V7181.clone(); + rt::tl(&__t73)? }; - rt::is_cons(&__t83) + rt::is_cons(&__t74) }; - if !rt::is_truthy(interp, &__t94)? { + if !rt::is_truthy(interp, &__t83)? { Value::bool(false) } else { - let __t95 = { - let __t92 = { - let __t86 = { - let __t85 = { - let __t84 = v_V7181.clone(); - rt::tl(&__t84)? + let __t84 = { + let __t81 = { + let __t77 = { + let __t76 = { + let __t75 = v_V7181.clone(); + rt::tl(&__t75)? }; - rt::tl(&__t85)? + rt::tl(&__t76)? }; - rt::is_cons(&__t86) + rt::is_cons(&__t77) }; - if !rt::is_truthy(interp, &__t92)? { + if !rt::is_truthy(interp, &__t81)? { Value::bool(false) } else { - let __t93 = { - let __t87 = Value::nil(); - let __t91 = { - let __t90 = { - let __t89 = { - let __t88 = v_V7181.clone(); - rt::tl(&__t88)? + let __t82 = Value::bool( + ({ + let __t80 = { + let __t79 = { + let __t78 = v_V7181.clone(); + rt::tl(&__t78)? }; - rt::tl(&__t89)? + rt::tl(&__t79)? }; - rt::tl(&__t90)? - }; - rt::eq(&__t87, &__t91) - }; - Value::bool(rt::is_truthy(interp, &__t93)?) + rt::tl(&__t80)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t82)?) } }; - Value::bool(rt::is_truthy(interp, &__t95)?) + Value::bool(rt::is_truthy(interp, &__t84)?) } }; - Value::bool(rt::is_truthy(interp, &__t97)?) + Value::bool(rt::is_truthy(interp, &__t86)?) } }; - Value::bool(rt::is_truthy(interp, &__t99)?) + Value::bool(rt::is_truthy(interp, &__t88)?) } }; - if match rt::is_truthy(interp, &__t109) { + if match rt::is_truthy(interp, &__t98) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t103 = { - let __t102 = { - let __t101 = { - let __t100 = v_V7181.clone(); - rt::tl(&__t100)? + let __t92 = { + let __t91 = { + let __t90 = { + let __t89 = v_V7181.clone(); + rt::tl(&__t89)? }; - rt::hd(&__t101)? + rt::hd(&__t90)? }; - rt::apply_direct( - interp, - "shen.x.programmable-pattern-matching.surface-pattern", - &[__t102], - )? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_surface_x2d_pattern(interp, &[__t91])? }; - let __t108 = { - let __t107 = { - let __t106 = { - let __t105 = { - let __t104 = v_V7181.clone(); - rt::tl(&__t104)? + let __t97 = { + let __t96 = { + let __t95 = { + let __t94 = { + let __t93 = v_V7181.clone(); + rt::tl(&__t93)? }; - rt::tl(&__t105)? + rt::tl(&__t94)? }; - rt::hd(&__t106)? + rt::hd(&__t95)? }; - rt::apply_direct( - interp, - "shen.x.programmable-pattern-matching.surface-pattern-tail", - &[__t107], - )? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_surface_x2d_pattern_x2d_tail(interp, &[__t96])? }; - rt::cons(&__t103, &__t108) + rt::cons(&__t92, &__t97) }); } else { { - let __t77 = Value::bool(true); - if match rt::is_truthy(interp, &__t77) { + let __t70 = Value::bool(true); + if match rt::is_truthy(interp, &__t70) { Ok(b) => b, Err(e) => break Err(e), } { @@ -676,23 +631,21 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_ loop { { let v_W7185 = { - let __t113 = v_V7182.clone(); - rt::apply_direct( + let __t100 = v_V7182.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_surface_x2d_pattern( interp, - "shen.x.programmable-pattern-matching.surface-pattern", - &[__t113], + &[__t100], )? }; { let v_W7186 = { - rt::apply_direct( + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_make_x2d_stack( interp, - "shen.x.programmable-pattern-matching.make-stack", &[], )? }; { - let v_W7187 = Value::sym(interp.intern("Self$$7907$$")); + let v_W7187 = Value::sym(interp.intern_static("Self$$7907$$")); { let v_W7188 = { rt::make_aot_closure( @@ -700,10 +653,9 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_ 1, move |interp, args| { let v_Z7189 = args[0].clone(); - Ok(Value::sym( - interp - .intern("shen.x.programmable-pattern-matching.ignored"), - )) + Ok(Value::sym(interp.intern_static( + "shen.x.programmable-pattern-matching.ignored", + ))) }, Vec::new(), interp, @@ -726,9 +678,9 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_ move |interp, args| { let v_Z7192 = args[0].clone(); Ok({ - let __t114 = v_W7186.clone(); - let __t115 = v_Z7191.clone(); - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.push", &[__t114, __t115])? + let __t101 = v_W7186.clone(); + let __t102 = v_Z7191.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_push(interp, &[__t101, __t102])? }) }, vec![v_W7186, v_Z7191], @@ -742,53 +694,52 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_ }; { let v_W7193 = { - let __t116 = v_V7183.clone(); - let __t117 = v_W7187.clone(); - let __t118 = v_W7188.clone(); - let __t119 = v_W7190.clone(); - let __t120 = v_W7185.clone(); - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.apply-pattern-handlers", &[__t116, __t117, __t118, __t119, __t120])? + let __t103 = v_V7183.clone(); + let __t104 = v_W7187.clone(); + let __t105 = v_W7188.clone(); + let __t106 = v_W7190.clone(); + let __t107 = v_W7185.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_apply_x2d_pattern_x2d_handlers(interp, &[__t103, __t104, __t105, __t106, __t107])? }; { - let __t123 = { - let __t121 = v_W7193.clone(); - let __t122 = { rt::apply_direct(interp, "fail", &[])? }; - rt::eq(&__t121, &__t122) - }; - if match rt::is_truthy(interp, &__t123) { + let __t108 = Value::bool( + (v_W7193.clone()).as_sym() + == Some(interp.well_known.k_shen_fail), + ); + if match rt::is_truthy(interp, &__t108) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_V7184.clone(), &[])?); } else { break Ok({ - let __t124 = Value::sym(interp.intern("@p")); - let __t133 = { - let __t125 = Value::sym( - interp.intern("shen.custom-pattern"), + let __t109 = Value::sym(interp.intern_static("@p")); + let __t118 = { + let __t110 = Value::sym( + interp.intern_static("shen.custom-pattern"), ); - let __t132 = { - let __t130 = { - let __t126 = v_W7185.clone(); - let __t129 = { - let __t128 = { - let __t127 = v_W7186.clone(); - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.pop-all", &[__t127])? + let __t117 = { + let __t115 = { + let __t111 = v_W7185.clone(); + let __t114 = { + let __t113 = { + let __t112 = v_W7186.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_pop_x2d_all(interp, &[__t112])? }; rt::apply_direct( interp, "reverse", - &[__t128], + &[__t113], )? }; - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.compile-pattern-h", &[__t126, __t129])? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_pattern_x2d_h(interp, &[__t111, __t114])? }; - let __t131 = Value::nil(); - rt::cons(&__t130, &__t131) + let __t116 = Value::nil(); + rt::cons(&__t115, &__t116) }; - rt::cons(&__t125, &__t132) + rt::cons(&__t110, &__t117) }; - rt::cons(&__t124, &__t133) + rt::cons(&__t109, &__t118) }); } } @@ -833,17 +784,17 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_ #[allow(clippy::never_loop)] loop { { - let __t147 = { - let __t136 = v_V7194.clone(); - rt::is_cons(&__t136) + let __t132 = { + let __t121 = v_V7194.clone(); + rt::is_cons(&__t121) }; - if match rt::is_truthy(interp, &__t147) { + if match rt::is_truthy(interp, &__t132) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W7196 = { - let __t141 = { + let __t126 = { let v_V7195 = v_V7195.clone(); rt::make_aot_closure( "", @@ -851,18 +802,18 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_ move |interp, args| { let v_Z7197 = args[0].clone(); Ok({ - let __t140 = { - let __t137 = v_Z7197.clone(); - let __t138 = v_V7195.clone(); - rt::apply_direct(interp, "element?", &[__t137, __t138])? + let __t125 = { + let __t122 = v_Z7197.clone(); + let __t123 = v_V7195.clone(); + rt::apply_direct(interp, "element?", &[__t122, __t123])? }; - if rt::is_truthy(interp, &__t140)? { + if rt::is_truthy(interp, &__t125)? { { - let __t139 = v_Z7197.clone(); + let __t124 = v_Z7197.clone(); rt::apply_direct( interp, "shen.compile-pattern-fragment", - &[__t139], + &[__t124], )? } } else { @@ -874,34 +825,33 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_ interp, ) }; - let __t143 = { - let __t142 = v_V7194.clone(); - rt::tl(&__t142)? + let __t128 = { + let __t127 = v_V7194.clone(); + rt::tl(&__t127)? }; - rt::apply_direct(interp, "map", &[__t141, __t143])? + rt::apply_direct(interp, "map", &[__t126, __t128])? }; break Ok({ - let __t145 = { - let __t144 = v_V7194.clone(); - rt::hd(&__t144)? + let __t130 = { + let __t129 = v_V7194.clone(); + rt::hd(&__t129)? }; - let __t146 = v_W7196.clone(); - rt::cons(&__t145, &__t146) + let __t131 = v_W7196.clone(); + rt::cons(&__t130, &__t131) }); } } else { { - let __t135 = Value::bool(true); - if match rt::is_truthy(interp, &__t135) { + let __t120 = Value::bool(true); + if match rt::is_truthy(interp, &__t120) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t134 = - Value::sym(interp.intern( - "shen.x.programmable-pattern-matching.compile-pattern-h", - )); - rt::apply_direct(interp, "shen.f-error", &[__t134])? + let __t119 = Value::sym(interp.intern_static( + "shen.x.programmable-pattern-matching.compile-pattern-h", + )); + rt::apply_direct(interp, "shen.f-error", &[__t119])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -944,41 +894,29 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_reduce( #[allow(clippy::never_loop)] loop { { - let __t174 = { - let __t150 = v_V7198.clone(); - rt::apply_direct(interp, "tuple?", &[__t150])? + let __t157 = { + let __t135 = v_V7198.clone(); + rt::apply_direct(interp, "tuple?", &[__t135])? }; - if match rt::is_truthy(interp, &__t174) { + if match rt::is_truthy(interp, &__t157) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W7200 = { - let __t152 = { - let __t151 = v_V7198.clone(); - rt::apply_direct(interp, "fst", &[__t151])? + let __t137 = { + let __t136 = v_V7198.clone(); + rt::apply_direct(interp, "fst", &[__t136])? }; - rt::apply_direct( - interp, - "shen.x.programmable-pattern-matching.surface-pattern", - &[__t152], - )? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_surface_x2d_pattern(interp, &[__t137])? }; { let v_W7201 = { - rt::apply_direct( - interp, - "shen.x.programmable-pattern-matching.make-stack", - &[], - )? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_make_x2d_stack(interp, &[])? }; { let v_W7202 = { - rt::apply_direct( - interp, - "shen.x.programmable-pattern-matching.make-stack", - &[], - )? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_make_x2d_stack(interp, &[])? }; { let v_W7203 = { @@ -989,13 +927,9 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_reduce( move |interp, args| { let v_Z7204 = args[0].clone(); Ok({ - let __t153 = v_W7201.clone(); - let __t154 = v_Z7204.clone(); - rt::apply_direct( - interp, - "shen.x.programmable-pattern-matching.push", - &[__t153, __t154], - )? + let __t138 = v_W7201.clone(); + let __t139 = v_Z7204.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_push(interp, &[__t138, __t139])? }) }, vec![v_W7201], @@ -1019,17 +953,17 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_reduce( move |interp, args| { let v_Z7207 = args[0].clone(); Ok({ - let __t155 = v_W7202.clone(); - let __t158 = { - let __t156 = v_Z7206.clone(); - let __t157 = v_Z7207.clone(); + let __t140 = v_W7202.clone(); + let __t143 = { + let __t141 = v_Z7206.clone(); + let __t142 = v_Z7207.clone(); rt::apply_direct( interp, "@p", - &[__t156, __t157], + &[__t141, __t142], )? }; - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.push", &[__t155, __t158])? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_push(interp, &[__t140, __t143])? }) }, vec![v_W7202, v_Z7206], @@ -1043,58 +977,54 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_reduce( }; { let v_W7208 = { - let __t159 = v_V7199.clone(); - let __t161 = { - let __t160 = v_V7198.clone(); - rt::apply_direct(interp, "snd", &[__t160])? + let __t144 = v_V7199.clone(); + let __t146 = { + let __t145 = v_V7198.clone(); + rt::apply_direct(interp, "snd", &[__t145])? }; - let __t162 = v_W7203.clone(); - let __t163 = v_W7205.clone(); - let __t164 = v_W7200.clone(); - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.apply-pattern-handlers", &[__t159, __t161, __t162, __t163, __t164])? + let __t147 = v_W7203.clone(); + let __t148 = v_W7205.clone(); + let __t149 = v_W7200.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_apply_x2d_pattern_x2d_handlers(interp, &[__t144, __t146, __t147, __t148, __t149])? }; { - let __t167 = { - let __t165 = v_W7208.clone(); - let __t166 = - { rt::apply_direct(interp, "fail", &[])? }; - rt::eq(&__t165, &__t166) - }; - if match rt::is_truthy(interp, &__t167) { + let __t150 = Value::bool( + (v_W7208.clone()).as_sym() + == Some(interp.well_known.k_shen_fail), + ); + if match rt::is_truthy(interp, &__t150) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ - rt::apply_direct(interp, "fail", &[])? - }); + break Ok({ rt::fail(interp) }); } else { break Ok({ - let __t170 = { - let __t169 = { - let __t168 = v_W7201.clone(); - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.pop-all", &[__t168])? + let __t153 = { + let __t152 = { + let __t151 = v_W7201.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_pop_x2d_all(interp, &[__t151])? }; rt::apply_direct( interp, "reverse", - &[__t169], + &[__t152], )? }; - let __t173 = { - let __t172 = { - let __t171 = v_W7202.clone(); - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.pop-all", &[__t171])? + let __t156 = { + let __t155 = { + let __t154 = v_W7202.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_pop_x2d_all(interp, &[__t154])? }; rt::apply_direct( interp, "reverse", - &[__t172], + &[__t155], )? }; rt::apply_direct( interp, "@p", - &[__t170, __t173], + &[__t153, __t156], )? }); } @@ -1107,16 +1037,16 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_reduce( } } else { { - let __t149 = Value::bool(true); - if match rt::is_truthy(interp, &__t149) { + let __t134 = Value::bool(true); + if match rt::is_truthy(interp, &__t134) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t148 = Value::sym( - interp.intern("shen.x.programmable-pattern-matching.reduce"), + let __t133 = Value::sym( + interp.intern_static("shen.x.programmable-pattern-matching.reduce"), ); - rt::apply_direct(interp, "shen.f-error", &[__t148])? + rt::apply_direct(interp, "shen.f-error", &[__t133])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1154,8 +1084,7 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_initialise( loop { { let _ = { - let __t175 = Value::sym(interp.intern("shen.*custom-pattern-compiler*")); - let __t180 = { + let __v = { rt::make_aot_closure( "", 1, @@ -1169,13 +1098,10 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_initialise( move |interp, args| { let v_Z7210 = args[0].clone(); Ok({ - let __t176 = v_Z7209.clone(); - let __t178 = { - let __t177 = Value::sym(interp.intern("shen.x.programmable-pattern-matching.*pattern-handlers*")); - rt::apply_direct(interp, "value", &[__t177])? - }; - let __t179 = v_Z7210.clone(); - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.compile-pattern", &[__t176, __t178, __t179])? + let __t158 = v_Z7209.clone(); + let __t159 = rt::global_value(interp, "shen.x.programmable-pattern-matching.*pattern-handlers*")?; + let __t160 = v_Z7210.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_compile_x2d_pattern(interp, &[__t158, __t159, __t160])? }) }, vec![v_Z7209], @@ -1187,55 +1113,51 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_initialise( interp, ) }; - rt::apply_direct(interp, "set", &[__t175, __t180])? + rt::set_global(interp, "shen.*custom-pattern-compiler*", __v) }; { let _ = { - let __t181 = Value::sym(interp.intern("shen.*custom-pattern-reducer*")); - let __t185 = { + let __v = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z7211 = args[0].clone(); Ok({ - let __t182 = v_Z7211.clone(); - let __t184 = { - let __t183 = Value::sym(interp.intern("shen.x.programmable-pattern-matching.*pattern-handlers*")); - rt::apply_direct(interp, "value", &[__t183])? - }; - rt::apply_direct( + let __t161 = v_Z7211.clone(); + let __t162 = rt::global_value( interp, - "shen.x.programmable-pattern-matching.reduce", - &[__t182, __t184], - )? + "shen.x.programmable-pattern-matching.*pattern-handlers*", + )?; + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_reduce(interp, &[__t161, __t162])? }) }, Vec::new(), interp, ) }; - rt::apply_direct(interp, "set", &[__t181, __t185])? + rt::set_global(interp, "shen.*custom-pattern-reducer*", __v) }; { let _ = { - let __t186 = Value::sym( - interp - .intern("shen.x.programmable-pattern-matching.*pattern-handlers*"), - ); - let __t187 = Value::nil(); - rt::apply_direct(interp, "set", &[__t186, __t187])? + let __v = Value::nil(); + rt::set_global( + interp, + "shen.x.programmable-pattern-matching.*pattern-handlers*", + __v, + ) }; { let _ = { - let __t188 = Value::sym(interp.intern( + let __v = Value::nil(); + rt::set_global( + interp, "shen.x.programmable-pattern-matching.*pattern-handlers-reg*", - )); - let __t189 = Value::nil(); - rt::apply_direct(interp, "set", &[__t188, __t189])? + __v, + ) }; break Ok(Value::sym( - interp.intern("shen.x.programmable-pattern-matching.done"), + interp.intern_static("shen.x.programmable-pattern-matching.done"), )); } } @@ -1274,61 +1196,54 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_register_x2d #[allow(clippy::never_loop)] loop { { - let __t205 = { - let __t202 = v_V7212.clone(); - let __t204 = { - let __t203 = Value::sym( - interp - .intern("shen.x.programmable-pattern-matching.*pattern-handlers-reg*"), - ); - rt::apply_direct(interp, "value", &[__t203])? - }; - rt::apply_direct(interp, "element?", &[__t202, __t204])? + let __t171 = { + let __t169 = v_V7212.clone(); + let __t170 = rt::global_value( + interp, + "shen.x.programmable-pattern-matching.*pattern-handlers-reg*", + )?; + rt::apply_direct(interp, "element?", &[__t169, __t170])? }; - if match rt::is_truthy(interp, &__t205) { + if match rt::is_truthy(interp, &__t171) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V7212.clone()); } else { { - let __t201 = Value::bool(true); - if match rt::is_truthy(interp, &__t201) { + let __t168 = Value::bool(true); + if match rt::is_truthy(interp, &__t168) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t190 = Value::sym(interp.intern( - "shen.x.programmable-pattern-matching.*pattern-handlers-reg*", - )); - let __t194 = { - let __t191 = v_V7212.clone(); - let __t193 = { - let __t192 = Value::sym(interp.intern("shen.x.programmable-pattern-matching.*pattern-handlers-reg*")); - rt::apply_direct(interp, "value", &[__t192])? - }; - rt::cons(&__t191, &__t193) + let __v = { + let __t163 = v_V7212.clone(); + let __t164 = rt::global_value(interp, "shen.x.programmable-pattern-matching.*pattern-handlers-reg*")?; + rt::cons(&__t163, &__t164) }; - rt::apply_direct(interp, "set", &[__t190, __t194])? + rt::set_global( + interp, + "shen.x.programmable-pattern-matching.*pattern-handlers-reg*", + __v, + ) }; { let _ = { - let __t195 = Value::sym(interp.intern( - "shen.x.programmable-pattern-matching.*pattern-handlers*", - )); - let __t200 = { - let __t197 = { - let __t196 = v_V7212.clone(); - rt::apply_direct(interp, "fn", &[__t196])? + let __v = { + let __t166 = { + let __t165 = v_V7212.clone(); + rt::apply_direct(interp, "fn", &[__t165])? }; - let __t199 = { - let __t198 = Value::sym(interp.intern("shen.x.programmable-pattern-matching.*pattern-handlers*")); - rt::apply_direct(interp, "value", &[__t198])? - }; - rt::cons(&__t197, &__t199) + let __t167 = rt::global_value(interp, "shen.x.programmable-pattern-matching.*pattern-handlers*")?; + rt::cons(&__t166, &__t167) }; - rt::apply_direct(interp, "set", &[__t195, __t200])? + rt::set_global( + interp, + "shen.x.programmable-pattern-matching.*pattern-handlers*", + __v, + ) }; break Ok(v_V7212.clone()); } @@ -1374,13 +1289,12 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_findpos( #[allow(clippy::never_loop)] loop { break Ok({ - let __t206 = v_V7213.clone(); - let __t207 = v_V7214.clone(); - let __t208 = Value::int(1i64); - rt::apply_direct( + let __t172 = v_V7213.clone(); + let __t173 = v_V7214.clone(); + let __t174 = Value::int(1i64); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_findpos_x2d_h( interp, - "shen.x.programmable-pattern-matching.findpos-h", - &[__t206, __t207, __t208], + &[__t172, __t173, __t174], )? }); } @@ -1418,88 +1332,84 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_findpos_x2d_ #[allow(clippy::never_loop)] loop { { - let __t232 = { - let __t226 = Value::nil(); - let __t227 = v_V7223.clone(); - rt::eq(&__t226, &__t227) - }; - if match rt::is_truthy(interp, &__t232) { + let __t196 = Value::bool((v_V7223.clone()).is_nil()); + if match rt::is_truthy(interp, &__t196) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t231 = { - let __t228 = v_V7222.clone(); - let __t229 = Value::str(" is not a pattern handler\n"); - let __t230 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t228, __t229, __t230])? + let __t195 = { + let __t192 = v_V7222.clone(); + let __t193 = Value::str(" is not a pattern handler\n"); + let __t194 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t192, __t193, __t194])? }; - rt::apply_direct(interp, "simple-error", &[__t231])? + rt::apply_direct(interp, "simple-error", &[__t195])? }); } else { { - let __t225 = { - let __t223 = { - let __t219 = v_V7223.clone(); - rt::is_cons(&__t219) + let __t191 = { + let __t189 = { + let __t185 = v_V7223.clone(); + rt::is_cons(&__t185) }; - if !rt::is_truthy(interp, &__t223)? { + if !rt::is_truthy(interp, &__t189)? { Value::bool(false) } else { - let __t224 = { - let __t220 = v_V7222.clone(); - let __t222 = { - let __t221 = v_V7223.clone(); - rt::hd(&__t221)? + let __t190 = { + let __t186 = v_V7222.clone(); + let __t188 = { + let __t187 = v_V7223.clone(); + rt::hd(&__t187)? }; - rt::eq(&__t220, &__t222) + rt::eq(&__t186, &__t188) }; - Value::bool(rt::is_truthy(interp, &__t224)?) + Value::bool(rt::is_truthy(interp, &__t190)?) } }; - if match rt::is_truthy(interp, &__t225) { + if match rt::is_truthy(interp, &__t191) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V7224.clone()); } else { { - let __t218 = { - let __t211 = v_V7223.clone(); - rt::is_cons(&__t211) + let __t184 = { + let __t177 = v_V7223.clone(); + rt::is_cons(&__t177) }; - if match rt::is_truthy(interp, &__t218) { + if match rt::is_truthy(interp, &__t184) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t212 = v_V7222.clone(); - let __t214 = { - let __t213 = v_V7223.clone(); - rt::tl(&__t213)? + let __t178 = v_V7222.clone(); + let __t180 = { + let __t179 = v_V7223.clone(); + rt::tl(&__t179)? }; - let __t217 = { - let __t215 = v_V7224.clone(); - let __t216 = Value::int(1i64); - rt::add(&__t215, &__t216)? + let __t183 = { + let __t181 = v_V7224.clone(); + let __t182 = Value::int(1i64); + rt::add(&__t181, &__t182)? }; - v_V7222 = __t212; - v_V7223 = __t214; - v_V7224 = __t217; + v_V7222 = __t178; + v_V7223 = __t180; + v_V7224 = __t183; continue; } } else { { - let __t210 = Value::bool(true); - if match rt::is_truthy(interp, &__t210) { + let __t176 = Value::bool(true); + if match rt::is_truthy(interp, &__t176) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t209 = Value::sym(interp.intern( + let __t175 = Value::sym(interp.intern_static( "shen.x.programmable-pattern-matching.findpos-h", )); - rt::apply_direct(interp, "shen.f-error", &[__t209])? + rt::apply_direct(interp, "shen.f-error", &[__t175])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1546,110 +1456,106 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_remove_x2d_n #[allow(clippy::never_loop)] loop { { - let __t261 = { - let __t260 = { - let __t258 = { - let __t255 = v_V7229.clone(); - rt::apply_direct(interp, "integer?", &[__t255])? + let __t223 = { + let __t222 = { + let __t220 = { + let __t217 = v_V7229.clone(); + rt::apply_direct(interp, "integer?", &[__t217])? }; - if !rt::is_truthy(interp, &__t258)? { + if !rt::is_truthy(interp, &__t220)? { Value::bool(false) } else { - let __t259 = { - let __t256 = v_V7229.clone(); - let __t257 = Value::int(0i64); - rt::gt(&__t256, &__t257)? + let __t221 = { + let __t218 = v_V7229.clone(); + let __t219 = Value::int(0i64); + rt::gt(&__t218, &__t219)? }; - Value::bool(rt::is_truthy(interp, &__t259)?) + Value::bool(rt::is_truthy(interp, &__t221)?) } }; - rt::apply_direct(interp, "not", &[__t260])? + rt::not(interp, &__t222)? }; - if match rt::is_truthy(interp, &__t261) { + if match rt::is_truthy(interp, &__t223) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V7230.clone()); } else { { - let __t254 = { - let __t252 = Value::nil(); - let __t253 = v_V7230.clone(); - rt::eq(&__t252, &__t253) - }; - if match rt::is_truthy(interp, &__t254) { + let __t216 = Value::bool((v_V7230.clone()).is_nil()); + if match rt::is_truthy(interp, &__t216) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t251 = { - let __t248 = { - let __t245 = Value::int(1i64); - let __t246 = v_V7229.clone(); - rt::eq(&__t245, &__t246) + let __t215 = { + let __t212 = { + let __t209 = Value::int(1i64); + let __t210 = v_V7229.clone(); + rt::eq(&__t209, &__t210) }; - if !rt::is_truthy(interp, &__t248)? { + if !rt::is_truthy(interp, &__t212)? { Value::bool(false) } else { - let __t249 = { - let __t247 = v_V7230.clone(); - rt::is_cons(&__t247) + let __t213 = { + let __t211 = v_V7230.clone(); + rt::is_cons(&__t211) }; - Value::bool(rt::is_truthy(interp, &__t249)?) + Value::bool(rt::is_truthy(interp, &__t213)?) } }; - if match rt::is_truthy(interp, &__t251) { + if match rt::is_truthy(interp, &__t215) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t250 = v_V7230.clone(); - rt::tl(&__t250)? + let __t214 = v_V7230.clone(); + rt::tl(&__t214)? }); } else { { - let __t244 = { - let __t235 = v_V7230.clone(); - rt::is_cons(&__t235) + let __t208 = { + let __t199 = v_V7230.clone(); + rt::is_cons(&__t199) }; - if match rt::is_truthy(interp, &__t244) { + if match rt::is_truthy(interp, &__t208) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t237 = { - let __t236 = v_V7230.clone(); - rt::hd(&__t236)? + let __t201 = { + let __t200 = v_V7230.clone(); + rt::hd(&__t200)? }; - let __t243 = { - let __t240 = { - let __t238 = v_V7229.clone(); - let __t239 = Value::int(1i64); - rt::sub(&__t238, &__t239)? + let __t207 = { + let __t204 = { + let __t202 = v_V7229.clone(); + let __t203 = Value::int(1i64); + rt::sub(&__t202, &__t203)? }; - let __t242 = { - let __t241 = v_V7230.clone(); - rt::tl(&__t241)? + let __t206 = { + let __t205 = v_V7230.clone(); + rt::tl(&__t205)? }; - rt::apply_direct(interp, "shen.x.programmable-pattern-matching.remove-nth", &[__t240, __t242])? + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_remove_x2d_nth(interp, &[__t204, __t206])? }; - rt::cons(&__t237, &__t243) + rt::cons(&__t201, &__t207) }); } else { { - let __t234 = Value::bool(true); - if match rt::is_truthy(interp, &__t234) { + let __t198 = Value::bool(true); + if match rt::is_truthy(interp, &__t198) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t233 = Value::sym(interp.intern("shen.x.programmable-pattern-matching.remove-nth")); + let __t197 = Value::sym(interp.intern_static("shen.x.programmable-pattern-matching.remove-nth")); rt::apply_direct( interp, "shen.f-error", - &[__t233], + &[__t197], )? }); } else { @@ -1699,56 +1605,47 @@ pub fn aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_unregister_x #[allow(clippy::never_loop)] loop { { - let v_W7232 = { - let __t262 = Value::sym( - interp.intern("shen.x.programmable-pattern-matching.*pattern-handlers-reg*"), - ); - rt::apply_direct(interp, "value", &[__t262])? - }; + let v_W7232 = rt::global_value( + interp, + "shen.x.programmable-pattern-matching.*pattern-handlers-reg*", + )?; { let v_W7233 = { - let __t263 = v_V7231.clone(); - let __t264 = v_W7232.clone(); - rt::apply_direct( + let __t224 = v_V7231.clone(); + let __t225 = v_W7232.clone(); + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_findpos( interp, - "shen.x.programmable-pattern-matching.findpos", - &[__t263, __t264], + &[__t224, __t225], )? }; { let v_W7234 = { - let __t265 = - Value::sym(interp.intern( - "shen.x.programmable-pattern-matching.*pattern-handlers-reg*", - )); - let __t268 = { - let __t266 = v_V7231.clone(); - let __t267 = v_W7232.clone(); - rt::apply_direct(interp, "remove", &[__t266, __t267])? + let __v = { + let __t226 = v_V7231.clone(); + let __t227 = v_W7232.clone(); + rt::apply_direct(interp, "remove", &[__t226, __t227])? }; - rt::apply_direct(interp, "set", &[__t265, __t268])? + rt::set_global( + interp, + "shen.x.programmable-pattern-matching.*pattern-handlers-reg*", + __v, + ) }; { let v_W7235 = { - let __t269 = - Value::sym(interp.intern( - "shen.x.programmable-pattern-matching.*pattern-handlers*", - )); - let __t273 = { - let __t270 = v_W7233.clone(); - let __t272 = { - let __t271 = Value::sym(interp.intern( - "shen.x.programmable-pattern-matching.*pattern-handlers*", - )); - rt::apply_direct(interp, "value", &[__t271])? - }; - rt::apply_direct( + let __v = { + let __t228 = v_W7233.clone(); + let __t229 = rt::global_value( interp, - "shen.x.programmable-pattern-matching.remove-nth", - &[__t270, __t272], - )? + "shen.x.programmable-pattern-matching.*pattern-handlers*", + )?; + aot_shen_x2e_x_x2e_programmable_x2d_pattern_x2d_matching_x2e_remove_x2d_nth(interp, &[__t228, __t229])? }; - rt::apply_direct(interp, "set", &[__t269, __t273])? + rt::set_global( + interp, + "shen.x.programmable-pattern-matching.*pattern-handlers*", + __v, + ) }; break Ok(v_V7231.clone()); } diff --git a/crates/shen-rust/src/aot/kernel/load.rs b/crates/shen-rust/src/aot/kernel/load.rs index becfe49..62109e7 100644 --- a/crates/shen-rust/src/aot/kernel/load.rs +++ b/crates/shen-rust/src/aot/kernel/load.rs @@ -36,52 +36,49 @@ pub fn aot_load(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let v_W908 = { - let __t0 = Value::sym(interp.intern("shen.*tc*")); - rt::apply_direct(interp, "value", &[__t0])? - }; + let v_W908 = rt::global_value(interp, "shen.*tc*")?; { let v_W909 = { let v_W910 = { - let __t1 = Value::sym(interp.intern("run")); - rt::apply_direct(interp, "get-time", &[__t1])? + let __t0 = Value::sym(interp.intern_static("run")); + rt::apply_direct(interp, "get-time", &[__t0])? }; { let v_W911 = { - let __t2 = v_W908.clone(); - let __t4 = { - let __t3 = v_V907.clone(); - rt::apply_direct(interp, "read-file", &[__t3])? + let __t1 = v_W908.clone(); + let __t3 = { + let __t2 = v_V907.clone(); + rt::apply_direct(interp, "read-file", &[__t2])? }; - rt::apply_direct(interp, "shen.load-help", &[__t2, __t4])? + aot_shen_x2e_load_x2d_help(interp, &[__t1, __t3])? }; { let v_W912 = { - let __t5 = Value::sym(interp.intern("run")); - rt::apply_direct(interp, "get-time", &[__t5])? + let __t4 = Value::sym(interp.intern_static("run")); + rt::apply_direct(interp, "get-time", &[__t4])? }; { let v_W913 = { - let __t6 = v_W912.clone(); - let __t7 = v_W910.clone(); - rt::sub(&__t6, &__t7)? + let __t5 = v_W912.clone(); + let __t6 = v_W910.clone(); + rt::sub(&__t5, &__t6)? }; { let v_W914 = { - let __t13 = { - let __t8 = Value::str("\nrun time: "); - let __t12 = { - let __t10 = { - let __t9 = v_W913.clone(); - rt::apply_direct(interp, "str", &[__t9])? + let __t12 = { + let __t7 = Value::str("\nrun time: "); + let __t11 = { + let __t9 = { + let __t8 = v_W913.clone(); + rt::apply_direct(interp, "str", &[__t8])? }; - let __t11 = Value::str(" secs\n"); - rt::apply_direct(interp, "cn", &[__t10, __t11])? + let __t10 = Value::str(" secs\n"); + rt::cn(&__t9, &__t10)? }; - rt::apply_direct(interp, "cn", &[__t8, __t12])? + rt::cn(&__t7, &__t11)? }; - let __t14 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t13, __t14])? + let __t13 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t12, __t13])? }; v_W911.clone() } @@ -91,32 +88,32 @@ pub fn aot_load(interp: &mut Interp, args: &[Value]) -> ShenResult { }; { let v_W915 = { - let __t22 = v_W908.clone(); - if rt::is_truthy(interp, &__t22)? { + let __t21 = v_W908.clone(); + if rt::is_truthy(interp, &__t21)? { { - let __t20 = { - let __t15 = Value::str("\ntypechecked in "); - let __t19 = { - let __t16 = + let __t19 = { + let __t14 = Value::str("\ntypechecked in "); + let __t18 = { + let __t15 = { rt::apply_direct(interp, "inferences", &[])? }; - let __t17 = Value::str(" inferences\n"); - let __t18 = Value::sym(interp.intern("shen.a")); + let __t16 = Value::str(" inferences\n"); + let __t17 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t16, __t17, __t18], + &[__t15, __t16, __t17], )? }; - rt::apply_direct(interp, "cn", &[__t15, __t19])? + rt::cn(&__t14, &__t18)? }; - let __t21 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t20, __t21])? + let __t20 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t19, __t20])? } } else { - Value::sym(interp.intern("shen.skip")) + Value::sym(interp.intern_static("shen.skip")) } }; - break Ok(Value::sym(interp.intern("loaded"))); + break Ok(Value::sym(interp.intern_static("loaded"))); } } } @@ -143,29 +140,29 @@ pub fn aot_shen_x2e_load_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t28 = { - let __t25 = Value::bool(false); - let __t26 = v_V918.clone(); - rt::eq(&__t25, &__t26) + let __t27 = { + let __t24 = Value::bool(false); + let __t25 = v_V918.clone(); + rt::eq(&__t24, &__t25) }; - if match rt::is_truthy(interp, &__t28) { + if match rt::is_truthy(interp, &__t27) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t27 = v_V919.clone(); - rt::apply_direct(interp, "shen.eval-and-print", &[__t27])? + let __t26 = v_V919.clone(); + aot_shen_x2e_eval_x2d_and_x2d_print(interp, &[__t26])? }); } else { { - let __t24 = Value::bool(true); - if match rt::is_truthy(interp, &__t24) { + let __t23 = Value::bool(true); + if match rt::is_truthy(interp, &__t23) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t23 = v_V919.clone(); - rt::apply_direct(interp, "shen.check-eval-and-print", &[__t23])? + let __t22 = v_V919.clone(); + aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print(interp, &[__t22])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -197,35 +194,35 @@ pub fn aot_shen_x2e_eval_x2d_and_x2d_print( #[allow(clippy::never_loop)] loop { break Ok({ - let __t36 = { + let __t35 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z921 = args[0].clone(); Ok({ - let __t34 = { - let __t31 = { - let __t30 = { - let __t29 = v_Z921.clone(); - rt::apply_direct(interp, "shen.shen->kl", &[__t29])? + let __t33 = { + let __t30 = { + let __t29 = { + let __t28 = v_Z921.clone(); + rt::apply_direct(interp, "shen.shen->kl", &[__t28])? }; - rt::apply_direct(interp, "eval-kl", &[__t30])? + rt::apply_direct(interp, "eval-kl", &[__t29])? }; - let __t32 = Value::str("\n"); - let __t33 = Value::sym(interp.intern("shen.s")); - rt::apply_direct(interp, "shen.app", &[__t31, __t32, __t33])? + let __t31 = Value::str("\n"); + let __t32 = Value::sym(interp.intern_static("shen.s")); + rt::apply_direct(interp, "shen.app", &[__t30, __t31, __t32])? }; - let __t35 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t34, __t35])? + let __t34 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t33, __t34])? }) }, Vec::new(), interp, ) }; - let __t37 = v_V920.clone(); - rt::apply_direct(interp, "map", &[__t36, __t37])? + let __t36 = v_V920.clone(); + rt::apply_direct(interp, "map", &[__t35, __t36])? }); } } @@ -256,29 +253,29 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( loop { { let v_W923 = { - let __t39 = { + let __t38 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z924 = args[0].clone(); Ok({ - let __t38 = v_Z924.clone(); - rt::apply_direct(interp, "shen.typetable", &[__t38])? + let __t37 = v_Z924.clone(); + aot_shen_x2e_typetable(interp, &[__t37])? }) }, Vec::new(), interp, ) }; - let __t40 = v_V922.clone(); - rt::apply_direct(interp, "mapcan", &[__t39, __t40])? + let __t39 = v_V922.clone(); + rt::apply_direct(interp, "mapcan", &[__t38, __t39])? }; { let v_W925 = match (|| -> ShenResult { Ok({ - let __t41 = v_W923.clone(); - rt::apply_direct(interp, "shen.assumetypes", &[__t41])? + let __t40 = v_W923.clone(); + aot_shen_x2e_assumetypes(interp, &[__t40])? }) })() { Ok(v) => v, @@ -291,13 +288,9 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( move |interp, args| { let v_Z926 = args[0].clone(); Ok({ - let __t42 = v_Z926.clone(); - let __t43 = v_W923.clone(); - rt::apply_direct( - interp, - "shen.unwind-types", - &[__t42, __t43], - )? + let __t41 = v_Z926.clone(); + let __t42 = v_W923.clone(); + aot_shen_x2e_unwind_x2d_types(interp, &[__t41, __t42])? }) }, vec![v_W923], @@ -311,8 +304,8 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( break Ok( match (|| -> ShenResult { Ok({ - let __t44 = v_V922.clone(); - rt::apply_direct(interp, "shen.work-through", &[__t44])? + let __t43 = v_V922.clone(); + aot_shen_x2e_work_x2d_through(interp, &[__t43])? }) })() { Ok(v) => v, @@ -325,13 +318,9 @@ pub fn aot_shen_x2e_check_x2d_eval_x2d_and_x2d_print( move |interp, args| { let v_Z927 = args[0].clone(); Ok({ - let __t45 = v_Z927.clone(); - let __t46 = v_W923.clone(); - rt::apply_direct( - interp, - "shen.unwind-types", - &[__t45, __t46], - )? + let __t44 = v_Z927.clone(); + let __t45 = v_W923.clone(); + aot_shen_x2e_unwind_x2d_types(interp, &[__t44, __t45])? }) }, vec![v_W923], @@ -373,180 +362,180 @@ pub fn aot_shen_x2e_typetable(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t103 = { - let __t87 = { - let __t67 = v_V932.clone(); - rt::is_cons(&__t67) + let __t96 = { + let __t80 = { + let __t64 = v_V932.clone(); + rt::is_cons(&__t64) }; - if !rt::is_truthy(interp, &__t87)? { + if !rt::is_truthy(interp, &__t80)? { Value::bool(false) } else { - let __t88 = { - let __t85 = { - let __t68 = Value::sym(interp.intern("define")); - let __t70 = { - let __t69 = v_V932.clone(); - rt::hd(&__t69)? - }; - rt::eq(&__t68, &__t70) - }; - if !rt::is_truthy(interp, &__t85)? { + let __t81 = { + let __t78 = Value::bool( + ({ + let __t65 = v_V932.clone(); + rt::hd(&__t65)? + }) + .as_sym() + == Some(interp.intern_static("define")), + ); + if !rt::is_truthy(interp, &__t78)? { Value::bool(false) } else { - let __t86 = { - let __t83 = { - let __t72 = { - let __t71 = v_V932.clone(); - rt::tl(&__t71)? + let __t79 = { + let __t76 = { + let __t67 = { + let __t66 = v_V932.clone(); + rt::tl(&__t66)? }; - rt::is_cons(&__t72) + rt::is_cons(&__t67) }; - if !rt::is_truthy(interp, &__t83)? { + if !rt::is_truthy(interp, &__t76)? { Value::bool(false) } else { - let __t84 = { - let __t81 = { - let __t75 = { - let __t74 = { - let __t73 = v_V932.clone(); - rt::tl(&__t73)? + let __t77 = { + let __t74 = { + let __t70 = { + let __t69 = { + let __t68 = v_V932.clone(); + rt::tl(&__t68)? }; - rt::tl(&__t74)? + rt::tl(&__t69)? }; - rt::is_cons(&__t75) + rt::is_cons(&__t70) }; - if !rt::is_truthy(interp, &__t81)? { + if !rt::is_truthy(interp, &__t74)? { Value::bool(false) } else { - let __t82 = { - let __t76 = Value::sym(interp.intern("{")); - let __t80 = { - let __t79 = { - let __t78 = { - let __t77 = v_V932.clone(); - rt::tl(&__t77)? + let __t75 = Value::bool( + ({ + let __t73 = { + let __t72 = { + let __t71 = v_V932.clone(); + rt::tl(&__t71)? }; - rt::tl(&__t78)? + rt::tl(&__t72)? }; - rt::hd(&__t79)? - }; - rt::eq(&__t76, &__t80) - }; - Value::bool(rt::is_truthy(interp, &__t82)?) + rt::hd(&__t73)? + }) + .as_sym() + == Some(interp.intern_static("{")), + ); + Value::bool(rt::is_truthy(interp, &__t75)?) } }; - Value::bool(rt::is_truthy(interp, &__t84)?) + Value::bool(rt::is_truthy(interp, &__t77)?) } }; - Value::bool(rt::is_truthy(interp, &__t86)?) + Value::bool(rt::is_truthy(interp, &__t79)?) } }; - Value::bool(rt::is_truthy(interp, &__t88)?) + Value::bool(rt::is_truthy(interp, &__t81)?) } }; - if match rt::is_truthy(interp, &__t103) { + if match rt::is_truthy(interp, &__t96) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t91 = { - let __t90 = { - let __t89 = v_V932.clone(); - rt::tl(&__t89)? + let __t84 = { + let __t83 = { + let __t82 = v_V932.clone(); + rt::tl(&__t82)? }; - rt::hd(&__t90)? + rt::hd(&__t83)? }; - let __t102 = { - let __t100 = { - let __t99 = { - let __t94 = { - let __t93 = { - let __t92 = v_V932.clone(); - rt::tl(&__t92)? + let __t95 = { + let __t93 = { + let __t92 = { + let __t87 = { + let __t86 = { + let __t85 = v_V932.clone(); + rt::tl(&__t85)? }; - rt::hd(&__t93)? + rt::hd(&__t86)? }; - let __t98 = { - let __t97 = { - let __t96 = { - let __t95 = v_V932.clone(); - rt::tl(&__t95)? + let __t91 = { + let __t90 = { + let __t89 = { + let __t88 = v_V932.clone(); + rt::tl(&__t88)? }; - rt::tl(&__t96)? + rt::tl(&__t89)? }; - rt::tl(&__t97)? + rt::tl(&__t90)? }; - rt::apply_direct(interp, "shen.type-F", &[__t94, __t98])? + aot_shen_x2e_type_x2d_F(interp, &[__t87, __t91])? }; - rt::apply_direct(interp, "shen.rectify-type", &[__t99])? + rt::apply_direct(interp, "shen.rectify-type", &[__t92])? }; - let __t101 = Value::nil(); - rt::cons(&__t100, &__t101) + let __t94 = Value::nil(); + rt::cons(&__t93, &__t94) }; - rt::cons(&__t91, &__t102) + rt::cons(&__t84, &__t95) }); } else { { - let __t66 = { - let __t56 = { - let __t48 = v_V932.clone(); - rt::is_cons(&__t48) + let __t63 = { + let __t53 = { + let __t47 = v_V932.clone(); + rt::is_cons(&__t47) }; - if !rt::is_truthy(interp, &__t56)? { + if !rt::is_truthy(interp, &__t53)? { Value::bool(false) } else { - let __t57 = { - let __t54 = { - let __t49 = Value::sym(interp.intern("define")); - let __t51 = { - let __t50 = v_V932.clone(); - rt::hd(&__t50)? - }; - rt::eq(&__t49, &__t51) - }; - if !rt::is_truthy(interp, &__t54)? { + let __t54 = { + let __t51 = Value::bool( + ({ + let __t48 = v_V932.clone(); + rt::hd(&__t48)? + }) + .as_sym() + == Some(interp.intern_static("define")), + ); + if !rt::is_truthy(interp, &__t51)? { Value::bool(false) } else { - let __t55 = { - let __t53 = { - let __t52 = v_V932.clone(); - rt::tl(&__t52)? + let __t52 = { + let __t50 = { + let __t49 = v_V932.clone(); + rt::tl(&__t49)? }; - rt::is_cons(&__t53) + rt::is_cons(&__t50) }; - Value::bool(rt::is_truthy(interp, &__t55)?) + Value::bool(rt::is_truthy(interp, &__t52)?) } }; - Value::bool(rt::is_truthy(interp, &__t57)?) + Value::bool(rt::is_truthy(interp, &__t54)?) } }; - if match rt::is_truthy(interp, &__t66) { + if match rt::is_truthy(interp, &__t63) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t65 = { - let __t58 = Value::str("missing { in "); - let __t64 = { - let __t61 = { - let __t60 = { - let __t59 = v_V932.clone(); - rt::tl(&__t59)? + let __t62 = { + let __t55 = Value::str("missing { in "); + let __t61 = { + let __t58 = { + let __t57 = { + let __t56 = v_V932.clone(); + rt::tl(&__t56)? }; - rt::hd(&__t60)? + rt::hd(&__t57)? }; - let __t62 = Value::str("\n"); - let __t63 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t61, __t62, __t63])? + let __t59 = Value::str("\n"); + let __t60 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t58, __t59, __t60])? }; - rt::apply_direct(interp, "cn", &[__t58, __t64])? + rt::cn(&__t55, &__t61)? }; - rt::apply_direct(interp, "simple-error", &[__t65])? + rt::apply_direct(interp, "simple-error", &[__t62])? }); } else { { - let __t47 = Value::bool(true); - if match rt::is_truthy(interp, &__t47) { + let __t46 = Value::bool(true); + if match rt::is_truthy(interp, &__t46) { Ok(b) => b, Err(e) => break Err(e), } { @@ -582,78 +571,78 @@ pub fn aot_shen_x2e_type_x2d_F(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t125 = { - let __t123 = { - let __t119 = v_V940.clone(); - rt::is_cons(&__t119) + let __t116 = { + let __t114 = { + let __t112 = v_V940.clone(); + rt::is_cons(&__t112) }; - if !rt::is_truthy(interp, &__t123)? { + if !rt::is_truthy(interp, &__t114)? { Value::bool(false) } else { - let __t124 = { - let __t120 = Value::sym(interp.intern("}")); - let __t122 = { - let __t121 = v_V940.clone(); - rt::hd(&__t121)? - }; - rt::eq(&__t120, &__t122) - }; - Value::bool(rt::is_truthy(interp, &__t124)?) + let __t115 = Value::bool( + ({ + let __t113 = v_V940.clone(); + rt::hd(&__t113)? + }) + .as_sym() + == Some(interp.intern_static("}")), + ); + Value::bool(rt::is_truthy(interp, &__t115)?) } }; - if match rt::is_truthy(interp, &__t125) { + if match rt::is_truthy(interp, &__t116) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t118 = { - let __t111 = v_V940.clone(); - rt::is_cons(&__t111) + let __t111 = { + let __t104 = v_V940.clone(); + rt::is_cons(&__t104) }; - if match rt::is_truthy(interp, &__t118) { + if match rt::is_truthy(interp, &__t111) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t113 = { - let __t112 = v_V940.clone(); - rt::hd(&__t112)? + let __t106 = { + let __t105 = v_V940.clone(); + rt::hd(&__t105)? }; - let __t117 = { - let __t114 = v_V939.clone(); - let __t116 = { - let __t115 = v_V940.clone(); - rt::tl(&__t115)? + let __t110 = { + let __t107 = v_V939.clone(); + let __t109 = { + let __t108 = v_V940.clone(); + rt::tl(&__t108)? }; - rt::apply_direct(interp, "shen.type-F", &[__t114, __t116])? + aot_shen_x2e_type_x2d_F(interp, &[__t107, __t109])? }; - rt::cons(&__t113, &__t117) + rt::cons(&__t106, &__t110) }); } else { { - let __t110 = Value::bool(true); - if match rt::is_truthy(interp, &__t110) { + let __t103 = Value::bool(true); + if match rt::is_truthy(interp, &__t103) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t109 = { - let __t104 = Value::str("missing } in "); - let __t108 = { - let __t105 = v_V939.clone(); - let __t106 = Value::str("\n"); - let __t107 = Value::sym(interp.intern("shen.a")); + let __t102 = { + let __t97 = Value::str("missing } in "); + let __t101 = { + let __t98 = v_V939.clone(); + let __t99 = Value::str("\n"); + let __t100 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t105, __t106, __t107], + &[__t98, __t99, __t100], )? }; - rt::apply_direct(interp, "cn", &[__t104, __t108])? + rt::cn(&__t97, &__t101)? }; - rt::apply_direct(interp, "simple-error", &[__t109])? + rt::apply_direct(interp, "simple-error", &[__t102])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -684,78 +673,74 @@ pub fn aot_shen_x2e_assumetypes(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t144 = { - let __t142 = Value::nil(); - let __t143 = v_V943.clone(); - rt::eq(&__t142, &__t143) - }; - if match rt::is_truthy(interp, &__t144) { + let __t133 = Value::bool((v_V943.clone()).is_nil()); + if match rt::is_truthy(interp, &__t133) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t141 = { - let __t131 = { - let __t128 = v_V943.clone(); - rt::is_cons(&__t128) + let __t132 = { + let __t122 = { + let __t119 = v_V943.clone(); + rt::is_cons(&__t119) }; - if !rt::is_truthy(interp, &__t131)? { + if !rt::is_truthy(interp, &__t122)? { Value::bool(false) } else { - let __t132 = { - let __t130 = { - let __t129 = v_V943.clone(); - rt::tl(&__t129)? + let __t123 = { + let __t121 = { + let __t120 = v_V943.clone(); + rt::tl(&__t120)? }; - rt::is_cons(&__t130) + rt::is_cons(&__t121) }; - Value::bool(rt::is_truthy(interp, &__t132)?) + Value::bool(rt::is_truthy(interp, &__t123)?) } }; - if match rt::is_truthy(interp, &__t141) { + if match rt::is_truthy(interp, &__t132) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t134 = { - let __t133 = v_V943.clone(); - rt::hd(&__t133)? + let __t125 = { + let __t124 = v_V943.clone(); + rt::hd(&__t124)? }; - let __t137 = { - let __t136 = { - let __t135 = v_V943.clone(); - rt::tl(&__t135)? + let __t128 = { + let __t127 = { + let __t126 = v_V943.clone(); + rt::tl(&__t126)? }; - rt::hd(&__t136)? + rt::hd(&__t127)? }; - rt::apply_direct(interp, "declare", &[__t134, __t137])? + rt::apply_direct(interp, "declare", &[__t125, __t128])? }; { - let __t140 = { - let __t139 = { - let __t138 = v_V943.clone(); - rt::tl(&__t138)? + let __t131 = { + let __t130 = { + let __t129 = v_V943.clone(); + rt::tl(&__t129)? }; - rt::tl(&__t139)? + rt::tl(&__t130)? }; - v_V943 = __t140; + v_V943 = __t131; continue; } } } else { { - let __t127 = Value::bool(true); - if match rt::is_truthy(interp, &__t127) { + let __t118 = Value::bool(true); + if match rt::is_truthy(interp, &__t118) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t126 = + let __t117 = Value::str("implementation error in shen.assumetype"); - rt::apply_direct(interp, "simple-error", &[__t126])? + rt::apply_direct(interp, "simple-error", &[__t117])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -788,63 +773,63 @@ pub fn aot_shen_x2e_unwind_x2d_types(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t159 = { - let __t151 = { - let __t148 = v_V949.clone(); - rt::is_cons(&__t148) + let __t148 = { + let __t140 = { + let __t137 = v_V949.clone(); + rt::is_cons(&__t137) }; - if !rt::is_truthy(interp, &__t151)? { + if !rt::is_truthy(interp, &__t140)? { Value::bool(false) } else { - let __t152 = { - let __t150 = { - let __t149 = v_V949.clone(); - rt::tl(&__t149)? + let __t141 = { + let __t139 = { + let __t138 = v_V949.clone(); + rt::tl(&__t138)? }; - rt::is_cons(&__t150) + rt::is_cons(&__t139) }; - Value::bool(rt::is_truthy(interp, &__t152)?) + Value::bool(rt::is_truthy(interp, &__t141)?) } }; - if match rt::is_truthy(interp, &__t159) { + if match rt::is_truthy(interp, &__t148) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t154 = { - let __t153 = v_V949.clone(); - rt::hd(&__t153)? + let __t143 = { + let __t142 = v_V949.clone(); + rt::hd(&__t142)? }; - rt::apply_direct(interp, "destroy", &[__t154])? + rt::apply_direct(interp, "destroy", &[__t143])? }; { - let __t155 = v_V948.clone(); - let __t158 = { - let __t157 = { - let __t156 = v_V949.clone(); - rt::tl(&__t156)? + let __t144 = v_V948.clone(); + let __t147 = { + let __t146 = { + let __t145 = v_V949.clone(); + rt::tl(&__t145)? }; - rt::tl(&__t157)? + rt::tl(&__t146)? }; - v_V948 = __t155; - v_V949 = __t158; + v_V948 = __t144; + v_V949 = __t147; continue; } } } else { { - let __t147 = Value::bool(true); - if match rt::is_truthy(interp, &__t147) { + let __t136 = Value::bool(true); + if match rt::is_truthy(interp, &__t136) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t146 = { - let __t145 = v_V948.clone(); - rt::apply_direct(interp, "error-to-string", &[__t145])? + let __t135 = { + let __t134 = v_V948.clone(); + rt::apply_direct(interp, "error-to-string", &[__t134])? }; - rt::apply_direct(interp, "simple-error", &[__t146])? + rt::apply_direct(interp, "simple-error", &[__t135])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -873,179 +858,166 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t221 = { - let __t219 = Value::nil(); - let __t220 = v_V952.clone(); - rt::eq(&__t219, &__t220) - }; - if match rt::is_truthy(interp, &__t221) { + let __t206 = Value::bool((v_V952.clone()).is_nil()); + if match rt::is_truthy(interp, &__t206) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t218 = { - let __t189 = { - let __t174 = v_V952.clone(); - rt::is_cons(&__t174) + let __t205 = { + let __t176 = { + let __t162 = v_V952.clone(); + rt::is_cons(&__t162) }; - if !rt::is_truthy(interp, &__t189)? { + if !rt::is_truthy(interp, &__t176)? { Value::bool(false) } else { - let __t190 = { - let __t187 = { - let __t176 = { - let __t175 = v_V952.clone(); - rt::tl(&__t175)? + let __t177 = { + let __t174 = { + let __t164 = { + let __t163 = v_V952.clone(); + rt::tl(&__t163)? }; - rt::is_cons(&__t176) + rt::is_cons(&__t164) }; - if !rt::is_truthy(interp, &__t187)? { + if !rt::is_truthy(interp, &__t174)? { Value::bool(false) } else { - let __t188 = { - let __t185 = { - let __t179 = { - let __t178 = { - let __t177 = v_V952.clone(); - rt::tl(&__t177)? + let __t175 = { + let __t172 = { + let __t167 = { + let __t166 = { + let __t165 = v_V952.clone(); + rt::tl(&__t165)? }; - rt::tl(&__t178)? + rt::tl(&__t166)? }; - rt::is_cons(&__t179) + rt::is_cons(&__t167) }; - if !rt::is_truthy(interp, &__t185)? { + if !rt::is_truthy(interp, &__t172)? { Value::bool(false) } else { - let __t186 = { - let __t182 = { - let __t181 = { - let __t180 = v_V952.clone(); - rt::tl(&__t180)? + let __t173 = { + let __t170 = { + let __t169 = { + let __t168 = v_V952.clone(); + rt::tl(&__t168)? }; - rt::hd(&__t181)? - }; - let __t184 = { - let __t183 = Value::str(":"); - rt::apply_direct(interp, "intern", &[__t183])? + rt::hd(&__t169)? }; - rt::eq(&__t182, &__t184) + let __t171 = Value::sym(interp.intern_static(":")); + rt::eq(&__t170, &__t171) }; - Value::bool(rt::is_truthy(interp, &__t186)?) + Value::bool(rt::is_truthy(interp, &__t173)?) } }; - Value::bool(rt::is_truthy(interp, &__t188)?) + Value::bool(rt::is_truthy(interp, &__t175)?) } }; - Value::bool(rt::is_truthy(interp, &__t190)?) + Value::bool(rt::is_truthy(interp, &__t177)?) } }; - if match rt::is_truthy(interp, &__t218) { + if match rt::is_truthy(interp, &__t205) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W953 = { - let __t192 = { - let __t191 = v_V952.clone(); - rt::hd(&__t191)? + let __t179 = { + let __t178 = v_V952.clone(); + rt::hd(&__t178)? }; - let __t196 = { - let __t195 = { - let __t194 = { - let __t193 = v_V952.clone(); - rt::tl(&__t193)? + let __t183 = { + let __t182 = { + let __t181 = { + let __t180 = v_V952.clone(); + rt::tl(&__t180)? }; - rt::tl(&__t194)? + rt::tl(&__t181)? }; - rt::hd(&__t195)? + rt::hd(&__t182)? }; - rt::apply_direct(interp, "shen.typecheck", &[__t192, __t196])? + rt::apply_direct(interp, "shen.typecheck", &[__t179, __t183])? }; { - let __t199 = { - let __t197 = v_W953.clone(); - let __t198 = Value::bool(false); - rt::eq(&__t197, &__t198) + let __t186 = { + let __t184 = v_W953.clone(); + let __t185 = Value::bool(false); + rt::eq(&__t184, &__t185) }; - if match rt::is_truthy(interp, &__t199) { + if match rt::is_truthy(interp, &__t186) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ - rt::apply_direct(interp, "shen.type-error", &[])? - }); + break Ok({ aot_shen_x2e_type_x2d_error(interp, &[])? }); } else { { let v_W954 = { - let __t202 = { - let __t201 = { - let __t200 = v_V952.clone(); - rt::hd(&__t200)? + let __t189 = { + let __t188 = { + let __t187 = v_V952.clone(); + rt::hd(&__t187)? }; rt::apply_direct( interp, "shen.shen->kl", - &[__t201], + &[__t188], )? }; - rt::apply_direct(interp, "eval-kl", &[__t202])? + rt::apply_direct(interp, "eval-kl", &[__t189])? }; { let v_W955 = { - let __t212 = { - let __t203 = v_W954.clone(); - let __t210 = { - let __t204 = Value::str(" : "); - let __t209 = { - let __t206 = { - let __t205 = v_W953.clone(); - rt::apply_direct( + let __t199 = { + let __t190 = v_W954.clone(); + let __t197 = { + let __t191 = Value::str(" : "); + let __t196 = { + let __t193 = { + let __t192 = v_W953.clone(); + aot_shen_x2e_pretty_x2d_type( interp, - "shen.pretty-type", - &[__t205], + &[__t192], )? }; - let __t207 = Value::str("\n"); - let __t208 = - Value::sym(interp.intern("shen.r")); + let __t194 = Value::str("\n"); + let __t195 = Value::sym( + interp.intern_static("shen.r"), + ); rt::apply_direct( interp, "shen.app", - &[__t206, __t207, __t208], + &[__t193, __t194, __t195], )? }; - rt::apply_direct( - interp, - "cn", - &[__t204, __t209], - )? + rt::cn(&__t191, &__t196)? }; - let __t211 = - Value::sym(interp.intern("shen.s")); + let __t198 = + Value::sym(interp.intern_static("shen.s")); rt::apply_direct( interp, "shen.app", - &[__t203, __t210, __t211], + &[__t190, __t197, __t198], )? }; - let __t213 = + let __t200 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t212, __t213])? + rt::apply_direct(interp, "pr", &[__t199, __t200])? }; { - let __t217 = { - let __t216 = { - let __t215 = { - let __t214 = v_V952.clone(); - rt::tl(&__t214)? + let __t204 = { + let __t203 = { + let __t202 = { + let __t201 = v_V952.clone(); + rt::tl(&__t201)? }; - rt::tl(&__t215)? + rt::tl(&__t202)? }; - rt::tl(&__t216)? + rt::tl(&__t203)? }; - v_V952 = __t217; + v_V952 = __t204; continue; } } @@ -1055,52 +1027,49 @@ pub fn aot_shen_x2e_work_x2d_through(interp: &mut Interp, args: &[Value]) -> She } } else { { - let __t173 = { - let __t162 = v_V952.clone(); - rt::is_cons(&__t162) + let __t161 = { + let __t151 = v_V952.clone(); + rt::is_cons(&__t151) }; - if match rt::is_truthy(interp, &__t173) { + if match rt::is_truthy(interp, &__t161) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t172 = { - let __t164 = { - let __t163 = v_V952.clone(); - rt::hd(&__t163)? + let __t160 = { + let __t153 = { + let __t152 = v_V952.clone(); + rt::hd(&__t152)? }; - let __t171 = { - let __t166 = { - let __t165 = Value::str(":"); - rt::apply_direct(interp, "intern", &[__t165])? - }; - let __t170 = { - let __t167 = Value::sym(interp.intern("A")); - let __t169 = { - let __t168 = v_V952.clone(); - rt::tl(&__t168)? + let __t159 = { + let __t154 = Value::sym(interp.intern_static(":")); + let __t158 = { + let __t155 = Value::sym(interp.intern_static("A")); + let __t157 = { + let __t156 = v_V952.clone(); + rt::tl(&__t156)? }; - rt::cons(&__t167, &__t169) + rt::cons(&__t155, &__t157) }; - rt::cons(&__t166, &__t170) + rt::cons(&__t154, &__t158) }; - rt::cons(&__t164, &__t171) + rt::cons(&__t153, &__t159) }; - v_V952 = __t172; + v_V952 = __t160; continue; } } else { { - let __t161 = Value::bool(true); - if match rt::is_truthy(interp, &__t161) { + let __t150 = Value::bool(true); + if match rt::is_truthy(interp, &__t150) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t160 = Value::str( + let __t149 = Value::str( "implementation error in shen.work-through", ); - rt::apply_direct(interp, "simple-error", &[__t160])? + rt::apply_direct(interp, "simple-error", &[__t149])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1133,268 +1102,262 @@ pub fn aot_shen_x2e_pretty_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t378 = { - let __t362 = { - let __t228 = v_V957.clone(); - rt::is_cons(&__t228) + let __t347 = { + let __t331 = { + let __t213 = v_V957.clone(); + rt::is_cons(&__t213) }; - if !rt::is_truthy(interp, &__t362)? { + if !rt::is_truthy(interp, &__t331)? { Value::bool(false) } else { - let __t363 = { - let __t360 = { - let __t230 = { - let __t229 = v_V957.clone(); - rt::hd(&__t229)? + let __t332 = { + let __t329 = { + let __t215 = { + let __t214 = v_V957.clone(); + rt::hd(&__t214)? }; - rt::is_cons(&__t230) + rt::is_cons(&__t215) }; - if !rt::is_truthy(interp, &__t360)? { + if !rt::is_truthy(interp, &__t329)? { Value::bool(false) } else { - let __t361 = { - let __t358 = { - let __t231 = Value::sym(interp.intern("list")); - let __t234 = { - let __t233 = { - let __t232 = v_V957.clone(); - rt::hd(&__t232)? + let __t330 = { + let __t327 = Value::bool( + ({ + let __t217 = { + let __t216 = v_V957.clone(); + rt::hd(&__t216)? }; - rt::hd(&__t233)? - }; - rt::eq(&__t231, &__t234) - }; - if !rt::is_truthy(interp, &__t358)? { + rt::hd(&__t217)? + }) + .as_sym() + == Some(interp.intern_static("list")), + ); + if !rt::is_truthy(interp, &__t327)? { Value::bool(false) } else { - let __t359 = { - let __t356 = { - let __t237 = { - let __t236 = { - let __t235 = v_V957.clone(); - rt::hd(&__t235)? + let __t328 = { + let __t325 = { + let __t220 = { + let __t219 = { + let __t218 = v_V957.clone(); + rt::hd(&__t218)? }; - rt::tl(&__t236)? + rt::tl(&__t219)? }; - rt::is_cons(&__t237) + rt::is_cons(&__t220) }; - if !rt::is_truthy(interp, &__t356)? { + if !rt::is_truthy(interp, &__t325)? { Value::bool(false) } else { - let __t357 = { - let __t354 = { - let __t238 = Value::nil(); - let __t242 = { - let __t241 = { - let __t240 = { - let __t239 = v_V957.clone(); - rt::hd(&__t239)? + let __t326 = { + let __t323 = Value::bool( + ({ + let __t223 = { + let __t222 = { + let __t221 = v_V957.clone(); + rt::hd(&__t221)? }; - rt::tl(&__t240)? + rt::tl(&__t222)? }; - rt::tl(&__t241)? - }; - rt::eq(&__t238, &__t242) - }; - if !rt::is_truthy(interp, &__t354)? { + rt::tl(&__t223)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t323)? { Value::bool(false) } else { - let __t355 = { - let __t352 = { - let __t244 = { - let __t243 = v_V957.clone(); - rt::tl(&__t243)? + let __t324 = { + let __t321 = { + let __t225 = { + let __t224 = v_V957.clone(); + rt::tl(&__t224)? }; - rt::is_cons(&__t244) + rt::is_cons(&__t225) }; - if !rt::is_truthy(interp, &__t352)? { + if !rt::is_truthy(interp, &__t321)? { Value::bool(false) } else { - let __t353 = { - let __t350 = { - let __t245 = Value::sym( - interp.intern("-->"), - ); - let __t248 = { - let __t247 = { - let __t246 = + let __t322 = { + let __t319 = Value::bool( + ({ + let __t227 = { + let __t226 = v_V957.clone(); - rt::tl(&__t246)? + rt::tl(&__t226)? }; - rt::hd(&__t247)? - }; - rt::eq(&__t245, &__t248) - }; - if !rt::is_truthy(interp, &__t350)? + rt::hd(&__t227)? + }) + .as_sym() + == Some( + interp.intern_static( + "-->", + ), + ), + ); + if !rt::is_truthy(interp, &__t319)? { Value::bool(false) } else { - let __t351 = { - let __t348 = { - let __t251 = { - let __t250 = { - let __t249 = + let __t320 = { + let __t317 = { + let __t230 = { + let __t229 = { + let __t228 = v_V957 .clone( ); - rt::tl(&__t249)? + rt::tl(&__t228)? }; - rt::tl(&__t250)? + rt::tl(&__t229)? }; - rt::is_cons(&__t251) + rt::is_cons(&__t230) }; if !rt::is_truthy( - interp, &__t348, + interp, &__t317, )? { Value::bool(false) } else { - let __t349 = { - let __t346 = { - let __t255 = { - let __t254 = { - let __t253 = { - let __t252 = v_V957.clone(); - rt::tl(&__t252)? + let __t318 = { + let __t315 = { + let __t234 = { + let __t233 = { + let __t232 = { + let __t231 = v_V957.clone(); + rt::tl(&__t231)? }; - rt::tl(&__t253)? + rt::tl(&__t232)? }; rt::hd( - &__t254, + &__t233, )? }; rt::is_cons( - &__t255, + &__t234, ) }; if !rt::is_truthy( - interp, &__t346, + interp, &__t315, )? { Value::bool( false, ) } else { - let __t347 = { - let __t344 = { - let __t256 = Value::sym(interp.intern("str")); - let __t261 = { - let __t260 = { let __t259 = { let __t258 = { let __t257 = v_V957.clone(); rt::tl(&__t257)? }; rt::tl(&__t258)? }; rt::hd(&__t259)? }; - rt::hd(&__t260)? - }; - rt::eq(&__t256, &__t261) - }; - if !rt::is_truthy(interp, &__t344)? { Value::bool(false) } else { let __t345 = { let __t342 = { let __t266 = { let __t265 = { let __t264 = { let __t263 = { let __t262 = v_V957.clone(); rt::tl(&__t262)? }; rt::tl(&__t263)? }; rt::hd(&__t264)? }; rt::tl(&__t265)? }; rt::is_cons(&__t266) }; if !rt::is_truthy(interp, &__t342)? { Value::bool(false) } else { let __t343 = { let __t340 = { let __t272 = { let __t271 = { let __t270 = { let __t269 = { let __t268 = { let __t267 = v_V957.clone(); rt::tl(&__t267)? }; rt::tl(&__t268)? }; rt::hd(&__t269)? }; rt::tl(&__t270)? }; rt::hd(&__t271)? }; rt::is_cons(&__t272) }; if !rt::is_truthy(interp, &__t340)? { Value::bool(false) } else { let __t341 = { let __t338 = { let __t273 = Value::sym(interp.intern("list")); let __t280 = { let __t279 = { let __t278 = { let __t277 = { let __t276 = { let __t275 = { let __t274 = v_V957.clone(); rt::tl(&__t274)? }; rt::tl(&__t275)? }; rt::hd(&__t276)? }; rt::tl(&__t277)? }; rt::hd(&__t278)? }; rt::hd(&__t279)? }; rt::eq(&__t273, &__t280) }; if !rt::is_truthy(interp, &__t338)? { Value::bool(false) } else { let __t339 = { let __t336 = { let __t287 = { let __t286 = { let __t285 = { let __t284 = { let __t283 = { let __t282 = { let __t281 = v_V957.clone(); rt::tl(&__t281)? }; rt::tl(&__t282)? }; rt::hd(&__t283)? }; rt::tl(&__t284)? }; rt::hd(&__t285)? }; rt::tl(&__t286)? }; rt::is_cons(&__t287) }; if !rt::is_truthy(interp, &__t336)? { Value::bool(false) } else { let __t337 = { let __t334 = { let __t288 = Value::nil(); let __t296 = { let __t295 = { let __t294 = { let __t293 = { let __t292 = { let __t291 = { let __t290 = { let __t289 = v_V957.clone(); rt::tl(&__t289)? }; rt::tl(&__t290)? }; rt::hd(&__t291)? }; rt::tl(&__t292)? }; rt::hd(&__t293)? }; rt::tl(&__t294)? }; rt::tl(&__t295)? }; rt::eq(&__t288, &__t296) }; if !rt::is_truthy(interp, &__t334)? { Value::bool(false) } else { let __t335 = { let __t332 = { let __t302 = { let __t301 = { let __t300 = { let __t299 = { let __t298 = { let __t297 = v_V957.clone(); rt::tl(&__t297)? }; rt::tl(&__t298)? }; rt::hd(&__t299)? }; rt::tl(&__t300)? }; rt::tl(&__t301)? }; rt::is_cons(&__t302) }; if !rt::is_truthy(interp, &__t332)? { Value::bool(false) } else { let __t333 = { let __t330 = { let __t303 = Value::nil(); let __t310 = { let __t309 = { let __t308 = { let __t307 = { let __t306 = { let __t305 = { let __t304 = v_V957.clone(); rt::tl(&__t304)? }; rt::tl(&__t305)? }; rt::hd(&__t306)? }; rt::tl(&__t307)? }; rt::tl(&__t308)? }; rt::tl(&__t309)? }; rt::eq(&__t303, &__t310) }; if !rt::is_truthy(interp, &__t330)? { Value::bool(false) } else { let __t331 = { let __t328 = { let __t311 = Value::nil(); let __t315 = { let __t314 = { let __t313 = { let __t312 = v_V957.clone(); rt::tl(&__t312)? }; rt::tl(&__t313)? }; rt::tl(&__t314)? }; rt::eq(&__t311, &__t315) }; if !rt::is_truthy(interp, &__t328)? { Value::bool(false) } else { let __t329 = { let __t319 = { let __t318 = { let __t317 = { let __t316 = v_V957.clone(); rt::hd(&__t316)? }; rt::tl(&__t317)? }; rt::hd(&__t318)? }; let __t327 = { let __t326 = { let __t325 = { let __t324 = { let __t323 = { let __t322 = { let __t321 = { let __t320 = v_V957.clone(); rt::tl(&__t320)? }; rt::tl(&__t321)? }; rt::hd(&__t322)? }; rt::tl(&__t323)? }; rt::hd(&__t324)? }; rt::tl(&__t325)? }; rt::hd(&__t326)? }; rt::eq(&__t319, &__t327) }; Value::bool(rt::is_truthy(interp, &__t329)?) } }; Value::bool(rt::is_truthy(interp, &__t331)?) } }; Value::bool(rt::is_truthy(interp, &__t333)?) } }; Value::bool(rt::is_truthy(interp, &__t335)?) } }; Value::bool(rt::is_truthy(interp, &__t337)?) } }; Value::bool(rt::is_truthy(interp, &__t339)?) } }; Value::bool(rt::is_truthy(interp, &__t341)?) } }; Value::bool(rt::is_truthy(interp, &__t343)?) } }; Value::bool(rt::is_truthy(interp, &__t345)?) } + let __t316 = { + let __t313 = Value::bool(({ let __t238 = { let __t237 = { let __t236 = { let __t235 = v_V957.clone(); rt::tl(&__t235)? }; rt::tl(&__t236)? }; rt::hd(&__t237)? }; rt::hd(&__t238)? }).as_sym() == Some(interp.intern_static("str"))); + if !rt::is_truthy(interp, &__t313)? { Value::bool(false) } else { let __t314 = { let __t311 = { let __t243 = { let __t242 = { let __t241 = { let __t240 = { let __t239 = v_V957.clone(); rt::tl(&__t239)? }; rt::tl(&__t240)? }; rt::hd(&__t241)? }; rt::tl(&__t242)? }; rt::is_cons(&__t243) }; if !rt::is_truthy(interp, &__t311)? { Value::bool(false) } else { let __t312 = { let __t309 = { let __t249 = { let __t248 = { let __t247 = { let __t246 = { let __t245 = { let __t244 = v_V957.clone(); rt::tl(&__t244)? }; rt::tl(&__t245)? }; rt::hd(&__t246)? }; rt::tl(&__t247)? }; rt::hd(&__t248)? }; rt::is_cons(&__t249) }; if !rt::is_truthy(interp, &__t309)? { Value::bool(false) } else { let __t310 = { let __t307 = Value::bool(({ let __t255 = { let __t254 = { let __t253 = { let __t252 = { let __t251 = { let __t250 = v_V957.clone(); rt::tl(&__t250)? }; rt::tl(&__t251)? }; rt::hd(&__t252)? }; rt::tl(&__t253)? }; rt::hd(&__t254)? }; rt::hd(&__t255)? }).as_sym() == Some(interp.intern_static("list"))); if !rt::is_truthy(interp, &__t307)? { Value::bool(false) } else { let __t308 = { let __t305 = { let __t262 = { let __t261 = { let __t260 = { let __t259 = { let __t258 = { let __t257 = { let __t256 = v_V957.clone(); rt::tl(&__t256)? }; rt::tl(&__t257)? }; rt::hd(&__t258)? }; rt::tl(&__t259)? }; rt::hd(&__t260)? }; rt::tl(&__t261)? }; rt::is_cons(&__t262) }; if !rt::is_truthy(interp, &__t305)? { Value::bool(false) } else { let __t306 = { let __t303 = Value::bool(({ let __t269 = { let __t268 = { let __t267 = { let __t266 = { let __t265 = { let __t264 = { let __t263 = v_V957.clone(); rt::tl(&__t263)? }; rt::tl(&__t264)? }; rt::hd(&__t265)? }; rt::tl(&__t266)? }; rt::hd(&__t267)? }; rt::tl(&__t268)? }; rt::tl(&__t269)? }).is_nil()); if !rt::is_truthy(interp, &__t303)? { Value::bool(false) } else { let __t304 = { let __t301 = { let __t275 = { let __t274 = { let __t273 = { let __t272 = { let __t271 = { let __t270 = v_V957.clone(); rt::tl(&__t270)? }; rt::tl(&__t271)? }; rt::hd(&__t272)? }; rt::tl(&__t273)? }; rt::tl(&__t274)? }; rt::is_cons(&__t275) }; if !rt::is_truthy(interp, &__t301)? { Value::bool(false) } else { let __t302 = { let __t299 = Value::bool(({ let __t281 = { let __t280 = { let __t279 = { let __t278 = { let __t277 = { let __t276 = v_V957.clone(); rt::tl(&__t276)? }; rt::tl(&__t277)? }; rt::hd(&__t278)? }; rt::tl(&__t279)? }; rt::tl(&__t280)? }; rt::tl(&__t281)? }).is_nil()); if !rt::is_truthy(interp, &__t299)? { Value::bool(false) } else { let __t300 = { let __t297 = Value::bool(({ let __t284 = { let __t283 = { let __t282 = v_V957.clone(); rt::tl(&__t282)? }; rt::tl(&__t283)? }; rt::tl(&__t284)? }).is_nil()); if !rt::is_truthy(interp, &__t297)? { Value::bool(false) } else { let __t298 = { let __t288 = { let __t287 = { let __t286 = { let __t285 = v_V957.clone(); rt::hd(&__t285)? }; rt::tl(&__t286)? }; rt::hd(&__t287)? }; let __t296 = { let __t295 = { let __t294 = { let __t293 = { let __t292 = { let __t291 = { let __t290 = { let __t289 = v_V957.clone(); rt::tl(&__t289)? }; rt::tl(&__t290)? }; rt::hd(&__t291)? }; rt::tl(&__t292)? }; rt::hd(&__t293)? }; rt::tl(&__t294)? }; rt::hd(&__t295)? }; rt::eq(&__t288, &__t296) }; Value::bool(rt::is_truthy(interp, &__t298)?) } }; Value::bool(rt::is_truthy(interp, &__t300)?) } }; Value::bool(rt::is_truthy(interp, &__t302)?) } }; Value::bool(rt::is_truthy(interp, &__t304)?) } }; Value::bool(rt::is_truthy(interp, &__t306)?) } }; Value::bool(rt::is_truthy(interp, &__t308)?) } }; Value::bool(rt::is_truthy(interp, &__t310)?) } }; Value::bool(rt::is_truthy(interp, &__t312)?) } }; Value::bool(rt::is_truthy(interp, &__t314)?) } }; - Value::bool(rt::is_truthy(interp, &__t347)?) + Value::bool(rt::is_truthy(interp, &__t316)?) } }; Value::bool( rt::is_truthy( - interp, &__t349, + interp, &__t318, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t351, + interp, &__t320, )?) } }; Value::bool(rt::is_truthy( - interp, &__t353, + interp, &__t322, )?) } }; - Value::bool(rt::is_truthy(interp, &__t355)?) + Value::bool(rt::is_truthy(interp, &__t324)?) } }; - Value::bool(rt::is_truthy(interp, &__t357)?) + Value::bool(rt::is_truthy(interp, &__t326)?) } }; - Value::bool(rt::is_truthy(interp, &__t359)?) + Value::bool(rt::is_truthy(interp, &__t328)?) } }; - Value::bool(rt::is_truthy(interp, &__t361)?) + Value::bool(rt::is_truthy(interp, &__t330)?) } }; - Value::bool(rt::is_truthy(interp, &__t363)?) + Value::bool(rt::is_truthy(interp, &__t332)?) } }; - if match rt::is_truthy(interp, &__t378) { + if match rt::is_truthy(interp, &__t347) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t369 = { - let __t368 = { - let __t367 = { - let __t366 = { - let __t365 = { - let __t364 = v_V957.clone(); - rt::tl(&__t364)? + let __t338 = { + let __t337 = { + let __t336 = { + let __t335 = { + let __t334 = { + let __t333 = v_V957.clone(); + rt::tl(&__t333)? }; - rt::tl(&__t365)? + rt::tl(&__t334)? }; - rt::hd(&__t366)? + rt::hd(&__t335)? }; - rt::tl(&__t367)? + rt::tl(&__t336)? }; - rt::hd(&__t368)? + rt::hd(&__t337)? }; - let __t377 = { - let __t370 = Value::sym(interp.intern("==>")); - let __t376 = { - let __t375 = { - let __t374 = { - let __t373 = { - let __t372 = { - let __t371 = v_V957.clone(); - rt::tl(&__t371)? + let __t346 = { + let __t339 = Value::sym(interp.intern_static("==>")); + let __t345 = { + let __t344 = { + let __t343 = { + let __t342 = { + let __t341 = { + let __t340 = v_V957.clone(); + rt::tl(&__t340)? }; - rt::tl(&__t372)? + rt::tl(&__t341)? }; - rt::hd(&__t373)? + rt::hd(&__t342)? }; - rt::tl(&__t374)? + rt::tl(&__t343)? }; - rt::tl(&__t375)? + rt::tl(&__t344)? }; - rt::cons(&__t370, &__t376) + rt::cons(&__t339, &__t345) }; - rt::cons(&__t369, &__t377) + rt::cons(&__t338, &__t346) }); } else { { - let __t227 = { - let __t223 = v_V957.clone(); - rt::is_cons(&__t223) + let __t212 = { + let __t208 = v_V957.clone(); + rt::is_cons(&__t208) }; - if match rt::is_truthy(interp, &__t227) { + if match rt::is_truthy(interp, &__t212) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t225 = { + let __t210 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z958 = args[0].clone(); Ok({ - let __t224 = v_Z958.clone(); - rt::apply_direct(interp, "shen.pretty-type", &[__t224])? + let __t209 = v_Z958.clone(); + aot_shen_x2e_pretty_x2d_type(interp, &[__t209])? }) }, Vec::new(), interp, ) }; - let __t226 = v_V957.clone(); - rt::apply_direct(interp, "map", &[__t225, __t226])? + let __t211 = v_V957.clone(); + rt::apply_direct(interp, "map", &[__t210, __t211])? }); } else { { - let __t222 = Value::bool(true); - if match rt::is_truthy(interp, &__t222) { + let __t207 = Value::bool(true); + if match rt::is_truthy(interp, &__t207) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1426,8 +1389,8 @@ pub fn aot_shen_x2e_type_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { break Ok({ - let __t379 = Value::str("type error\n"); - rt::apply_direct(interp, "simple-error", &[__t379])? + let __t348 = Value::str("type error\n"); + rt::apply_direct(interp, "simple-error", &[__t348])? }); } } @@ -1451,52 +1414,52 @@ pub fn aot_bootstrap(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W960 = { - let __t380 = v_V959.clone(); - rt::apply_direct(interp, "shen.klfile", &[__t380])? + let __t349 = v_V959.clone(); + aot_shen_x2e_klfile(interp, &[__t349])? }; { let v_W961 = { - let __t381 = v_V959.clone(); - rt::apply_direct(interp, "read-file", &[__t381])? + let __t350 = v_V959.clone(); + rt::apply_direct(interp, "read-file", &[__t350])? }; { let v_W962 = { - let __t382 = v_W960.clone(); - let __t383 = Value::sym(interp.intern("out")); - rt::apply_direct(interp, "open", &[__t382, __t383])? + let __t351 = v_W960.clone(); + let __t352 = Value::sym(interp.intern_static("out")); + rt::apply_direct(interp, "open", &[__t351, __t352])? }; { let v_W963 = { - let __t386 = { + let __t355 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z964 = args[0].clone(); Ok({ - let __t385 = { - let __t384 = v_Z964.clone(); + let __t354 = { + let __t353 = v_Z964.clone(); rt::apply_direct( interp, "shen.shen->kl-h", - &[__t384], + &[__t353], )? }; - rt::apply_direct(interp, "shen.partial", &[__t385])? + aot_shen_x2e_partial(interp, &[__t354])? }) }, Vec::new(), interp, ) }; - let __t387 = v_W961.clone(); - rt::apply_direct(interp, "map", &[__t386, __t387])? + let __t356 = v_W961.clone(); + rt::apply_direct(interp, "map", &[__t355, __t356])? }; { let v_W965 = { - let __t388 = v_W963.clone(); - let __t389 = v_W962.clone(); - rt::apply_direct(interp, "shen.write-kl", &[__t388, __t389])? + let __t357 = v_W963.clone(); + let __t358 = v_W962.clone(); + aot_shen_x2e_write_x2d_kl(interp, &[__t357, __t358])? }; break Ok(v_W960.clone()); } @@ -1525,116 +1488,115 @@ pub fn aot_shen_x2e_partial(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t412 = Value::sym(interp.intern("simple-error")); - let __t420 = { - let __t418 = { - let __t413 = Value::str("partial function "); - let __t417 = { - let __t416 = { - let __t415 = { - let __t414 = v_V966.clone(); - rt::tl(&__t414)? + let __t377 = Value::sym(interp.intern_static("simple-error")); + let __t385 = { + let __t383 = { + let __t378 = Value::str("partial function "); + let __t382 = { + let __t381 = { + let __t380 = { + let __t379 = v_V966.clone(); + rt::tl(&__t379)? }; - rt::hd(&__t415)? + rt::hd(&__t380)? }; - rt::apply_direct(interp, "str", &[__t416])? + rt::apply_direct(interp, "str", &[__t381])? }; - rt::apply_direct(interp, "cn", &[__t413, __t417])? + rt::cn(&__t378, &__t382)? }; - let __t419 = Value::nil(); - rt::cons(&__t418, &__t419) + let __t384 = Value::nil(); + rt::cons(&__t383, &__t384) }; - rt::cons(&__t412, &__t420) + rt::cons(&__t377, &__t385) }); } else { { - let __t395 = { - let __t391 = v_V966.clone(); - rt::is_cons(&__t391) + let __t364 = { + let __t360 = v_V966.clone(); + rt::is_cons(&__t360) }; - if match rt::is_truthy(interp, &__t395) { + if match rt::is_truthy(interp, &__t364) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t393 = { + let __t362 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z967 = args[0].clone(); Ok({ - let __t392 = v_Z967.clone(); - rt::apply_direct(interp, "shen.partial", &[__t392])? + let __t361 = v_Z967.clone(); + aot_shen_x2e_partial(interp, &[__t361])? }) }, Vec::new(), interp, ) }; - let __t394 = v_V966.clone(); - rt::apply_direct(interp, "map", &[__t393, __t394])? + let __t363 = v_V966.clone(); + rt::apply_direct(interp, "map", &[__t362, __t363])? }); } else { { - let __t390 = Value::bool(true); - if match rt::is_truthy(interp, &__t390) { + let __t359 = Value::bool(true); + if match rt::is_truthy(interp, &__t359) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1670,94 +1632,90 @@ pub fn aot_shen_x2e_write_x2d_kl(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t444 = { - let __t441 = Value::nil(); - let __t442 = v_V970.clone(); - rt::eq(&__t441, &__t442) - }; - if match rt::is_truthy(interp, &__t444) { + let __t407 = Value::bool((v_V970.clone()).is_nil()); + if match rt::is_truthy(interp, &__t407) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t443 = v_V971.clone(); - rt::apply_direct(interp, "close", &[__t443])? + let __t406 = v_V971.clone(); + rt::apply_direct(interp, "close", &[__t406])? }); } else { { - let __t440 = { - let __t432 = { - let __t429 = v_V970.clone(); - rt::is_cons(&__t429) + let __t405 = { + let __t397 = { + let __t394 = v_V970.clone(); + rt::is_cons(&__t394) }; - if !rt::is_truthy(interp, &__t432)? { + if !rt::is_truthy(interp, &__t397)? { Value::bool(false) } else { - let __t433 = { - let __t431 = { - let __t430 = v_V970.clone(); - rt::hd(&__t430)? + let __t398 = { + let __t396 = { + let __t395 = v_V970.clone(); + rt::hd(&__t395)? }; - rt::is_cons(&__t431) + rt::is_cons(&__t396) }; - Value::bool(rt::is_truthy(interp, &__t433)?) + Value::bool(rt::is_truthy(interp, &__t398)?) } }; - if match rt::is_truthy(interp, &__t440) { + if match rt::is_truthy(interp, &__t405) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t435 = { - let __t434 = v_V970.clone(); - rt::tl(&__t434)? + let __t400 = { + let __t399 = v_V970.clone(); + rt::tl(&__t399)? }; - let __t439 = { + let __t404 = { let _ = { - let __t437 = { - let __t436 = v_V970.clone(); - rt::hd(&__t436)? + let __t402 = { + let __t401 = v_V970.clone(); + rt::hd(&__t401)? }; - let __t438 = v_V971.clone(); - rt::apply_direct(interp, "shen.write-kl-h", &[__t437, __t438])? + let __t403 = v_V971.clone(); + aot_shen_x2e_write_x2d_kl_x2d_h(interp, &[__t402, __t403])? }; v_V971.clone() }; - v_V970 = __t435; - v_V971 = __t439; + v_V970 = __t400; + v_V971 = __t404; continue; } } else { { - let __t428 = { - let __t424 = v_V970.clone(); - rt::is_cons(&__t424) + let __t393 = { + let __t389 = v_V970.clone(); + rt::is_cons(&__t389) }; - if match rt::is_truthy(interp, &__t428) { + if match rt::is_truthy(interp, &__t393) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t426 = { - let __t425 = v_V970.clone(); - rt::tl(&__t425)? + let __t391 = { + let __t390 = v_V970.clone(); + rt::tl(&__t390)? }; - let __t427 = v_V971.clone(); - v_V970 = __t426; - v_V971 = __t427; + let __t392 = v_V971.clone(); + v_V970 = __t391; + v_V971 = __t392; continue; } } else { { - let __t423 = Value::bool(true); - if match rt::is_truthy(interp, &__t423) { + let __t388 = Value::bool(true); + if match rt::is_truthy(interp, &__t388) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t422 = + let __t387 = Value::str("partial function shen.write-kl"); - rt::apply_direct(interp, "simple-error", &[__t422])? + rt::apply_direct(interp, "simple-error", &[__t387])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1792,172 +1750,153 @@ pub fn aot_shen_x2e_write_x2d_kl_x2d_h(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t495 = { - let __t491 = { - let __t451 = v_V974.clone(); - rt::is_cons(&__t451) + let __t450 = { + let __t446 = { + let __t414 = v_V974.clone(); + rt::is_cons(&__t414) }; - if !rt::is_truthy(interp, &__t491)? { + if !rt::is_truthy(interp, &__t446)? { Value::bool(false) } else { - let __t492 = { - let __t489 = { - let __t452 = Value::sym(interp.intern("defun")); - let __t454 = { - let __t453 = v_V974.clone(); - rt::hd(&__t453)? - }; - rt::eq(&__t452, &__t454) - }; - if !rt::is_truthy(interp, &__t489)? { + let __t447 = { + let __t444 = Value::bool( + ({ + let __t415 = v_V974.clone(); + rt::hd(&__t415)? + }) + .as_sym() + == Some(interp.intern_static("defun")), + ); + if !rt::is_truthy(interp, &__t444)? { Value::bool(false) } else { - let __t490 = { - let __t487 = { - let __t456 = { - let __t455 = v_V974.clone(); - rt::tl(&__t455)? + let __t445 = { + let __t442 = { + let __t417 = { + let __t416 = v_V974.clone(); + rt::tl(&__t416)? }; - rt::is_cons(&__t456) + rt::is_cons(&__t417) }; - if !rt::is_truthy(interp, &__t487)? { + if !rt::is_truthy(interp, &__t442)? { Value::bool(false) } else { - let __t488 = { - let __t485 = { - let __t457 = Value::sym(interp.intern("fail")); - let __t460 = { - let __t459 = { - let __t458 = v_V974.clone(); - rt::tl(&__t458)? + let __t443 = { + let __t440 = Value::bool( + ({ + let __t419 = { + let __t418 = v_V974.clone(); + rt::tl(&__t418)? }; - rt::hd(&__t459)? - }; - rt::eq(&__t457, &__t460) - }; - if !rt::is_truthy(interp, &__t485)? { + rt::hd(&__t419)? + }) + .as_sym() + == Some(interp.intern_static("fail")), + ); + if !rt::is_truthy(interp, &__t440)? { Value::bool(false) } else { - let __t486 = { - let __t483 = { - let __t463 = { - let __t462 = { - let __t461 = v_V974.clone(); - rt::tl(&__t461)? + let __t441 = { + let __t438 = { + let __t422 = { + let __t421 = { + let __t420 = v_V974.clone(); + rt::tl(&__t420)? }; - rt::tl(&__t462)? + rt::tl(&__t421)? }; - rt::is_cons(&__t463) + rt::is_cons(&__t422) }; - if !rt::is_truthy(interp, &__t483)? { + if !rt::is_truthy(interp, &__t438)? { Value::bool(false) } else { - let __t484 = { - let __t481 = { - let __t464 = Value::nil(); - let __t468 = { - let __t467 = { - let __t466 = { - let __t465 = v_V974.clone(); - rt::tl(&__t465)? + let __t439 = { + let __t436 = Value::bool( + ({ + let __t425 = { + let __t424 = { + let __t423 = v_V974.clone(); + rt::tl(&__t423)? }; - rt::tl(&__t466)? + rt::tl(&__t424)? }; - rt::hd(&__t467)? - }; - rt::eq(&__t464, &__t468) - }; - if !rt::is_truthy(interp, &__t481)? { + rt::hd(&__t425)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t436)? { Value::bool(false) } else { - let __t482 = { - let __t479 = { - let __t472 = { - let __t471 = { - let __t470 = { - let __t469 = + let __t437 = { + let __t434 = { + let __t429 = { + let __t428 = { + let __t427 = { + let __t426 = v_V974.clone(); - rt::tl(&__t469)? + rt::tl(&__t426)? }; - rt::tl(&__t470)? + rt::tl(&__t427)? }; - rt::tl(&__t471)? + rt::tl(&__t428)? }; - rt::is_cons(&__t472) + rt::is_cons(&__t429) }; - if !rt::is_truthy(interp, &__t479)? + if !rt::is_truthy(interp, &__t434)? { Value::bool(false) } else { - let __t480 = { - let __t473 = Value::nil(); - let __t478 = { - let __t477 = { - let __t476 = { - let __t475 = { - let __t474 = v_V974.clone(); - rt::tl( - &__t474, - )? - }; - rt::tl(&__t475)? - }; - rt::tl(&__t476)? - }; - rt::tl(&__t477)? - }; - rt::eq(&__t473, &__t478) - }; + let __t435 = Value::bool(({ let __t433 = { let __t432 = { let __t431 = { let __t430 = v_V974.clone(); rt::tl(&__t430)? }; rt::tl(&__t431)? }; rt::tl(&__t432)? }; rt::tl(&__t433)? }).is_nil()); Value::bool(rt::is_truthy( - interp, &__t480, + interp, &__t435, )?) } }; Value::bool(rt::is_truthy( - interp, &__t482, + interp, &__t437, )?) } }; - Value::bool(rt::is_truthy(interp, &__t484)?) + Value::bool(rt::is_truthy(interp, &__t439)?) } }; - Value::bool(rt::is_truthy(interp, &__t486)?) + Value::bool(rt::is_truthy(interp, &__t441)?) } }; - Value::bool(rt::is_truthy(interp, &__t488)?) + Value::bool(rt::is_truthy(interp, &__t443)?) } }; - Value::bool(rt::is_truthy(interp, &__t490)?) + Value::bool(rt::is_truthy(interp, &__t445)?) } }; - Value::bool(rt::is_truthy(interp, &__t492)?) + Value::bool(rt::is_truthy(interp, &__t447)?) } }; - if match rt::is_truthy(interp, &__t495) { + if match rt::is_truthy(interp, &__t450) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t493 = Value::str("(defun fail () shen.fail!)"); - let __t494 = v_V975.clone(); - rt::apply_direct(interp, "pr", &[__t493, __t494])? + let __t448 = Value::str("(defun fail () shen.fail!)"); + let __t449 = v_V975.clone(); + rt::apply_direct(interp, "pr", &[__t448, __t449])? }); } else { { - let __t450 = Value::bool(true); - if match rt::is_truthy(interp, &__t450) { + let __t413 = Value::bool(true); + if match rt::is_truthy(interp, &__t413) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t448 = { - let __t445 = v_V974.clone(); - let __t446 = Value::str("\n\n"); - let __t447 = Value::sym(interp.intern("shen.r")); - rt::apply_direct(interp, "shen.app", &[__t445, __t446, __t447])? + let __t411 = { + let __t408 = v_V974.clone(); + let __t409 = Value::str("\n\n"); + let __t410 = Value::sym(interp.intern_static("shen.r")); + rt::apply_direct(interp, "shen.app", &[__t408, __t409, __t410])? }; - let __t449 = v_V975.clone(); - rt::apply_direct(interp, "pr", &[__t448, __t449])? + let __t412 = v_V975.clone(); + rt::apply_direct(interp, "pr", &[__t411, __t412])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1986,62 +1925,54 @@ pub fn aot_shen_x2e_klfile(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::str(".kl")); } else { { - let __t507 = { - let __t505 = Value::str(".shen"); - let __t506 = v_V976.clone(); - rt::eq(&__t505, &__t506) - }; - if match rt::is_truthy(interp, &__t507) { + let __t460 = Value::bool((v_V976.clone()).as_str() == Some(".shen")); + if match rt::is_truthy(interp, &__t460) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str(".kl")); } else { { - let __t504 = { - let __t498 = v_V976.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t498])? + let __t459 = { + let __t453 = v_V976.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t453])? }; - if match rt::is_truthy(interp, &__t504) { + if match rt::is_truthy(interp, &__t459) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t500 = { - let __t499 = v_V976.clone(); - rt::apply_direct(interp, "hdstr", &[__t499])? + let __t455 = { + let __t454 = v_V976.clone(); + rt::hdstr(&__t454)? }; - let __t503 = { - let __t502 = { - let __t501 = v_V976.clone(); - rt::apply_direct(interp, "tlstr", &[__t501])? + let __t458 = { + let __t457 = { + let __t456 = v_V976.clone(); + rt::tlstr(&__t456)? }; - rt::apply_direct(interp, "shen.klfile", &[__t502])? + aot_shen_x2e_klfile(interp, &[__t457])? }; - rt::apply_direct(interp, "@s", &[__t500, __t503])? + rt::apply_direct(interp, "@s", &[__t455, __t458])? }); } else { { - let __t497 = Value::bool(true); - if match rt::is_truthy(interp, &__t497) { + let __t452 = Value::bool(true); + if match rt::is_truthy(interp, &__t452) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t496 = Value::str("partial function shen.klfile"); - rt::apply_direct(interp, "simple-error", &[__t496])? + let __t451 = Value::str("partial function shen.klfile"); + rt::apply_direct(interp, "simple-error", &[__t451])? }); } else { break Err(ShenError::new("cond: no clause matched")); diff --git a/crates/shen-rust/src/aot/kernel/macros.rs b/crates/shen-rust/src/aot/kernel/macros.rs index 36c0735..812f0f9 100644 --- a/crates/shen-rust/src/aot/kernel/macros.rs +++ b/crates/shen-rust/src/aot/kernel/macros.rs @@ -52,17 +52,14 @@ pub fn aot_macroexpand(interp: &mut Interp, args: &[Value]) -> ShenResult interp, ) }; - let __t3 = { - let __t2 = Value::sym(interp.intern("*macros*")); - rt::apply_direct(interp, "value", &[__t2])? - }; - rt::apply_direct(interp, "map", &[__t1, __t3])? + let __t2 = rt::global_value(interp, "*macros*")?; + rt::apply_direct(interp, "map", &[__t1, __t2])? }; break Ok({ - let __t4 = v_V5824.clone(); + let __t3 = v_V5824.clone(); + let __t4 = v_W5825.clone(); let __t5 = v_W5825.clone(); - let __t6 = v_W5825.clone(); - rt::apply_direct(interp, "shen.macroexpand-h", &[__t4, __t5, __t6])? + aot_shen_x2e_macroexpand_x2d_h(interp, &[__t3, __t4, __t5])? }); } } @@ -90,65 +87,61 @@ pub fn aot_shen_x2e_macroexpand_x2d_h(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let __t9 = { - let __t7 = Value::nil(); - let __t8 = v_V5836.clone(); - rt::eq(&__t7, &__t8) - }; - if match rt::is_truthy(interp, &__t9) { + let __t6 = Value::bool((v_V5836.clone()).is_nil()); + if match rt::is_truthy(interp, &__t6) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5835.clone()); } else { { - let __t11 = { - let __t10 = v_V5836.clone(); - rt::is_cons(&__t10) + let __t8 = { + let __t7 = v_V5836.clone(); + rt::is_cons(&__t7) }; - if match rt::is_truthy(interp, &__t11) { + if match rt::is_truthy(interp, &__t8) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5838 = { - let __t13 = { - let __t12 = v_V5836.clone(); - rt::hd(&__t12)? + let __t10 = { + let __t9 = v_V5836.clone(); + rt::hd(&__t9)? }; - let __t14 = v_V5835.clone(); - rt::apply_direct(interp, "shen.walk", &[__t13, __t14])? + let __t11 = v_V5835.clone(); + aot_shen_x2e_walk(interp, &[__t10, __t11])? }; { - let __t17 = { - let __t15 = v_V5835.clone(); - let __t16 = v_W5838.clone(); - rt::eq(&__t15, &__t16) + let __t14 = { + let __t12 = v_V5835.clone(); + let __t13 = v_W5838.clone(); + rt::eq(&__t12, &__t13) }; - if match rt::is_truthy(interp, &__t17) { + if match rt::is_truthy(interp, &__t14) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t18 = v_V5835.clone(); - let __t20 = { - let __t19 = v_V5836.clone(); - rt::tl(&__t19)? + let __t15 = v_V5835.clone(); + let __t17 = { + let __t16 = v_V5836.clone(); + rt::tl(&__t16)? }; - let __t21 = v_V5837.clone(); - v_V5835 = __t18; - v_V5836 = __t20; - v_V5837 = __t21; + let __t18 = v_V5837.clone(); + v_V5835 = __t15; + v_V5836 = __t17; + v_V5837 = __t18; continue; } } else { { - let __t22 = v_W5838.clone(); - let __t23 = v_V5837.clone(); - let __t24 = v_V5837.clone(); - v_V5835 = __t22; - v_V5836 = __t23; - v_V5837 = __t24; + let __t19 = v_W5838.clone(); + let __t20 = v_V5837.clone(); + let __t21 = v_V5837.clone(); + v_V5835 = __t19; + v_V5836 = __t20; + v_V5837 = __t21; continue; } } @@ -156,8 +149,8 @@ pub fn aot_shen_x2e_macroexpand_x2d_h(interp: &mut Interp, args: &[Value]) -> Sh } } else { break Ok({ - let __t25 = Value::str("implementation error in shen.macroexpand-h"); - rt::apply_direct(interp, "simple-error", &[__t25])? + let __t22 = Value::str("implementation error in shen.macroexpand-h"); + rt::apply_direct(interp, "simple-error", &[__t22])? }); } } @@ -186,17 +179,17 @@ pub fn aot_shen_x2e_walk(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t32 = { - let __t30 = { + let __t29 = { + let __t27 = { let v_V5839 = v_V5839.clone(); rt::make_aot_closure( "", @@ -204,24 +197,24 @@ pub fn aot_shen_x2e_walk(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { { let v_Select5848 = { - let __t36 = v_V5842.clone(); - rt::hd(&__t36)? + let __t33 = v_V5842.clone(); + rt::hd(&__t33)? }; { let v_Select5849 = { - let __t37 = v_V5842.clone(); - rt::tl(&__t37)? + let __t34 = v_V5842.clone(); + rt::tl(&__t34)? }; { - let __t43 = { - let __t41 = { - let __t38 = Value::sym(interp.intern("defmacro")); - let __t39 = v_Select5848.clone(); - rt::eq(&__t38, &__t39) - }; - if !rt::is_truthy(interp, &__t41)? { + let __t38 = { + let __t36 = Value::bool( + (v_Select5848.clone()).as_sym() + == Some(interp.intern_static("defmacro")), + ); + if !rt::is_truthy(interp, &__t36)? { Value::bool(false) } else { - let __t42 = { - let __t40 = v_Select5849.clone(); - rt::is_cons(&__t40) + let __t37 = { + let __t35 = v_Select5849.clone(); + rt::is_cons(&__t35) }; - Value::bool(rt::is_truthy(interp, &__t42)?) + Value::bool(rt::is_truthy(interp, &__t37)?) } }; - if match rt::is_truthy(interp, &__t43) { + if match rt::is_truthy(interp, &__t38) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t45 = { - let __t44 = v_Select5849.clone(); - rt::hd(&__t44)? + let __t40 = { + let __t39 = v_Select5849.clone(); + rt::hd(&__t39)? }; - let __t47 = { - let __t46 = v_Select5849.clone(); - rt::tl(&__t46)? + let __t42 = { + let __t41 = v_Select5849.clone(); + rt::tl(&__t41)? }; - rt::apply_direct( - interp, - "shen.process-def", - &[__t45, __t47], - )? + aot_shen_x2e_process_x2d_def(interp, &[__t40, __t42])? }); } else { { - let __t50 = { - let __t48 = Value::sym(interp.intern("defcc")); - let __t49 = v_Select5848.clone(); - rt::eq(&__t48, &__t49) - }; - if match rt::is_truthy(interp, &__t50) { + let __t43 = Value::bool( + (v_Select5848.clone()).as_sym() + == Some(interp.intern_static("defcc")), + ); + if match rt::is_truthy(interp, &__t43) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t51 = v_Select5849.clone(); + let __t44 = v_Select5849.clone(); rt::apply_direct( interp, "shen.yacc->shen", - &[__t51], + &[__t44], )? }); } else { { - let __t62 = { - let __t60 = { - let __t52 = Value::sym(interp.intern("u!")); - let __t53 = v_Select5848.clone(); - rt::eq(&__t52, &__t53) - }; - if !rt::is_truthy(interp, &__t60)? { + let __t51 = { + let __t49 = Value::bool( + (v_Select5848.clone()).as_sym() + == Some(interp.intern_static("u!")), + ); + if !rt::is_truthy(interp, &__t49)? { Value::bool(false) } else { - let __t61 = { - let __t58 = { - let __t54 = v_Select5849.clone(); - rt::is_cons(&__t54) + let __t50 = { + let __t47 = { + let __t45 = v_Select5849.clone(); + rt::is_cons(&__t45) }; - if !rt::is_truthy(interp, &__t58)? { + if !rt::is_truthy(interp, &__t47)? { Value::bool(false) } else { - let __t59 = { - let __t55 = Value::nil(); - let __t57 = { - let __t56 = + let __t48 = Value::bool( + ({ + let __t46 = v_Select5849.clone(); - rt::tl(&__t56)? - }; - rt::eq(&__t55, &__t57) - }; + rt::tl(&__t46)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t59, + interp, &__t48, )?) } }; - Value::bool(rt::is_truthy(interp, &__t61)?) + Value::bool(rt::is_truthy(interp, &__t50)?) } }; - if match rt::is_truthy(interp, &__t62) { + if match rt::is_truthy(interp, &__t51) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t63 = - Value::sym(interp.intern("protect")); - let __t68 = { - let __t66 = { - let __t65 = { - let __t64 = + let __t52 = Value::sym( + interp.intern_static("protect"), + ); + let __t57 = { + let __t55 = { + let __t54 = { + let __t53 = v_Select5849.clone(); - rt::hd(&__t64)? + rt::hd(&__t53)? }; - rt::apply_direct( + aot_shen_x2e_make_x2d_uppercase( interp, - "shen.make-uppercase", - &[__t65], + &[__t54], )? }; - let __t67 = Value::nil(); - rt::cons(&__t66, &__t67) + let __t56 = Value::nil(); + rt::cons(&__t55, &__t56) }; - rt::cons(&__t63, &__t68) + rt::cons(&__t52, &__t57) }); } else { { - let __t74 = { - let __t72 = { - let __t69 = Value::sym( - interp.intern("error"), - ); - let __t70 = v_Select5848.clone(); - rt::eq(&__t69, &__t70) - }; - if !rt::is_truthy(interp, &__t72)? { + let __t61 = { + let __t59 = Value::bool( + (v_Select5848.clone()).as_sym() + == Some( + interp + .intern_static("error"), + ), + ); + if !rt::is_truthy(interp, &__t59)? { Value::bool(false) } else { - let __t73 = { - let __t71 = + let __t60 = { + let __t58 = v_Select5849.clone(); - rt::is_cons(&__t71) + rt::is_cons(&__t58) }; Value::bool(rt::is_truthy( - interp, &__t73, + interp, &__t60, )?) } }; - if match rt::is_truthy(interp, &__t74) { + if match rt::is_truthy(interp, &__t61) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t75 = Value::sym( - interp.intern("simple-error"), + let __t62 = Value::sym( + interp.intern_static( + "simple-error", + ), ); - let __t82 = { - let __t80 = { - let __t77 = { - let __t76 = + let __t69 = { + let __t67 = { + let __t64 = { + let __t63 = v_Select5849 .clone(); - rt::hd(&__t76)? + rt::hd(&__t63)? }; - let __t79 = { - let __t78 = + let __t66 = { + let __t65 = v_Select5849 .clone(); - rt::tl(&__t78)? + rt::tl(&__t65)? }; rt::apply_direct( interp, "shen.mkstr", - &[__t77, __t79], + &[__t64, __t66], )? }; - let __t81 = Value::nil(); - rt::cons(&__t80, &__t81) + let __t68 = Value::nil(); + rt::cons(&__t67, &__t68) }; - rt::cons(&__t75, &__t82) + rt::cons(&__t62, &__t69) }); } else { { - let __t88 = { - let __t86 = { - let __t83 = Value::sym( - interp.intern("output"), - ); - let __t84 = - v_Select5848.clone(); - rt::eq(&__t83, &__t84) - }; + let __t73 = { + let __t71 = Value::bool( + (v_Select5848.clone()) + .as_sym() + == Some( + interp + .intern_static( + "output", + ), + ), + ); if !rt::is_truthy( - interp, &__t86, + interp, &__t71, )? { Value::bool(false) } else { - let __t87 = { - let __t85 = + let __t72 = { + let __t70 = v_Select5849 .clone(); - rt::is_cons(&__t85) + rt::is_cons(&__t70) }; Value::bool(rt::is_truthy( - interp, &__t87, + interp, &__t72, )?) } }; if match rt::is_truthy( - interp, &__t88, + interp, &__t73, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t89 = Value::sym( - interp.intern("pr"), + let __t74 = Value::sym( + interp.intern_static( + "pr", + ), ); - let __t100 = { - let __t94 = { - let __t91 = { - let __t90 = v_Select5849.clone(); - rt::hd(&__t90)? + let __t85 = { + let __t79 = { + let __t76 = { + let __t75 = v_Select5849.clone(); + rt::hd(&__t75)? }; - let __t93 = { - let __t92 = v_Select5849.clone(); - rt::tl(&__t92)? + let __t78 = { + let __t77 = v_Select5849.clone(); + rt::tl(&__t77)? }; rt::apply_direct( interp, "shen.mkstr", - &[__t91, __t93], + &[__t76, __t78], )? }; - let __t99 = { - let __t97 = { - let __t95 = Value::sym(interp.intern("stoutput")); - let __t96 = + let __t84 = { + let __t82 = { + let __t80 = Value::sym(interp.intern_static("stoutput")); + let __t81 = Value::nil( ); rt::cons( - &__t95, - &__t96, + &__t80, + &__t81, ) }; - let __t98 = + let __t83 = Value::nil(); rt::cons( - &__t97, &__t98, + &__t82, &__t83, ) }; - rt::cons(&__t94, &__t99) + rt::cons(&__t79, &__t84) }; - rt::cons(&__t89, &__t100) + rt::cons(&__t74, &__t85) }); } else { { - let __t111 = { - let __t109 = { - let __t101 = - Value::sym( - interp - .intern( - "pr", - ), - ); - let __t102 = - v_Select5848 - .clone(); - rt::eq( - &__t101, - &__t102, - ) - }; + let __t92 = { + let __t90 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("pr"))); if !rt::is_truthy( - interp, &__t109, + interp, &__t90, )? { Value::bool(false) } else { - let __t110 = { - let __t107 = { - let __t103 = v_Select5849.clone(); + let __t91 = { + let __t88 = { + let __t86 = v_Select5849.clone(); rt::is_cons( - &__t103, + &__t86, ) }; - if !rt::is_truthy(interp, &__t107)? { Value::bool(false) } else { let __t108 = { let __t104 = Value::nil(); let __t106 = { let __t105 = v_Select5849.clone(); rt::tl(&__t105)? }; rt::eq(&__t104, &__t106) }; Value::bool(rt::is_truthy(interp, &__t108)?) } + if !rt::is_truthy(interp, &__t88)? { Value::bool(false) } else { let __t89 = Value::bool(({ let __t87 = v_Select5849.clone(); rt::tl(&__t87)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t89)?) } }; Value::bool( rt::is_truthy( interp, - &__t110, + &__t91, )?, ) } }; if match rt::is_truthy( - interp, &__t111, + interp, &__t92, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t112 = - Value::sym( - interp - .intern( - "pr", - ), - ); - let __t120 = { - let __t114 = { - let __t113 = v_Select5849.clone(); + let __t93 = Value::sym(interp.intern_static("pr")); + let __t101 = { + let __t95 = { + let __t94 = v_Select5849.clone(); rt::hd( - &__t113, + &__t94, )? }; - let __t119 = { - let __t117 = { - let __t115 = Value::sym(interp.intern("stoutput")); - let __t116 = Value::nil(); - rt::cons(&__t115, &__t116) + let __t100 = { + let __t98 = { + let __t96 = Value::sym(interp.intern_static("stoutput")); + let __t97 = Value::nil(); + rt::cons(&__t96, &__t97) }; - let __t118 = Value::nil(); + let __t99 = Value::nil(); rt::cons( - &__t117, - &__t118, + &__t98, + &__t99, ) }; rt::cons( - &__t114, - &__t119, + &__t95, + &__t100, ) }; rt::cons( - &__t112, - &__t120, + &__t93, &__t101, ) }); } else { { - let __t126 = { - let __t124 = { - let __t121 = Value::sym(interp.intern("make-string")); - let __t122 = v_Select5848.clone(); - rt::eq( - &__t121, - &__t122, - ) - }; - if !rt::is_truthy(interp, &__t124)? { Value::bool(false) } else { let __t125 = { let __t123 = v_Select5849.clone(); rt::is_cons(&__t123) }; Value::bool(rt::is_truthy(interp, &__t125)?) } + let __t105 = { + let __t103 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("make-string"))); + if !rt::is_truthy(interp, &__t103)? { Value::bool(false) } else { let __t104 = { let __t102 = v_Select5849.clone(); rt::is_cons(&__t102) }; Value::bool(rt::is_truthy(interp, &__t104)?) } }; - if match rt::is_truthy(interp, &__t126) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t128 = { let __t127 = v_Select5849.clone(); rt::hd(&__t127)? }; let __t130 = { let __t129 = v_Select5849.clone(); rt::tl(&__t129)? }; rt::apply_direct(interp, "shen.mkstr", &[__t128, __t130])? }); } else { { let __t137 = { let __t135 = { let __t131 = Value::sym(interp.intern("lineread")); let __t132 = v_Select5848.clone(); rt::eq(&__t131, &__t132) }; if !rt::is_truthy(interp, &__t135)? { Value::bool(false) } else { let __t136 = { let __t133 = Value::nil(); let __t134 = v_Select5849.clone(); rt::eq(&__t133, &__t134) }; Value::bool(rt::is_truthy(interp, &__t136)?) } }; if match rt::is_truthy(interp, &__t137) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t138 = Value::sym(interp.intern("lineread")); let __t143 = { let __t141 = { let __t139 = Value::sym(interp.intern("stinput")); let __t140 = Value::nil(); rt::cons(&__t139, &__t140) }; let __t142 = Value::nil(); rt::cons(&__t141, &__t142) }; rt::cons(&__t138, &__t143) }); } else { { let __t150 = { let __t148 = { let __t144 = Value::sym(interp.intern("input")); let __t145 = v_Select5848.clone(); rt::eq(&__t144, &__t145) }; if !rt::is_truthy(interp, &__t148)? { Value::bool(false) } else { let __t149 = { let __t146 = Value::nil(); let __t147 = v_Select5849.clone(); rt::eq(&__t146, &__t147) }; Value::bool(rt::is_truthy(interp, &__t149)?) } }; if match rt::is_truthy(interp, &__t150) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t151 = Value::sym(interp.intern("input")); let __t156 = { let __t154 = { let __t152 = Value::sym(interp.intern("stinput")); let __t153 = Value::nil(); rt::cons(&__t152, &__t153) }; let __t155 = Value::nil(); rt::cons(&__t154, &__t155) }; rt::cons(&__t151, &__t156) }); } else { { let __t163 = { let __t161 = { let __t157 = Value::sym(interp.intern("read")); let __t158 = v_Select5848.clone(); rt::eq(&__t157, &__t158) }; if !rt::is_truthy(interp, &__t161)? { Value::bool(false) } else { let __t162 = { let __t159 = Value::nil(); let __t160 = v_Select5849.clone(); rt::eq(&__t159, &__t160) }; Value::bool(rt::is_truthy(interp, &__t162)?) } }; if match rt::is_truthy(interp, &__t163) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t164 = Value::sym(interp.intern("read")); let __t169 = { let __t167 = { let __t165 = Value::sym(interp.intern("stinput")); let __t166 = Value::nil(); rt::cons(&__t165, &__t166) }; let __t168 = Value::nil(); rt::cons(&__t167, &__t168) }; rt::cons(&__t164, &__t169) }); } else { { let __t175 = { let __t173 = { let __t170 = Value::sym(interp.intern("input+")); let __t171 = v_Select5848.clone(); rt::eq(&__t170, &__t171) }; if !rt::is_truthy(interp, &__t173)? { Value::bool(false) } else { let __t174 = { let __t172 = v_Select5849.clone(); rt::is_cons(&__t172) }; Value::bool(rt::is_truthy(interp, &__t174)?) } }; if match rt::is_truthy(interp, &__t175) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t176 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-input+", &[__t176])? }); } else { { let __t183 = { let __t181 = { let __t177 = Value::sym(interp.intern("read-byte")); let __t178 = v_Select5848.clone(); rt::eq(&__t177, &__t178) }; if !rt::is_truthy(interp, &__t181)? { Value::bool(false) } else { let __t182 = { let __t179 = Value::nil(); let __t180 = v_Select5849.clone(); rt::eq(&__t179, &__t180) }; Value::bool(rt::is_truthy(interp, &__t182)?) } }; if match rt::is_truthy(interp, &__t183) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.process-read-byte", &[])? }); } else { { let __t186 = { let __t184 = Value::sym(interp.intern("prolog?")); let __t185 = v_Select5848.clone(); rt::eq(&__t184, &__t185) }; if match rt::is_truthy(interp, &__t186) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t187 = v_Select5849.clone(); rt::apply_direct(interp, "shen.call-prolog", &[__t187])? }); } else { { let __t193 = { let __t191 = { let __t188 = Value::sym(interp.intern("defprolog")); let __t189 = v_Select5848.clone(); rt::eq(&__t188, &__t189) }; if !rt::is_truthy(interp, &__t191)? { Value::bool(false) } else { let __t192 = { let __t190 = v_Select5849.clone(); rt::is_cons(&__t190) }; Value::bool(rt::is_truthy(interp, &__t192)?) } }; if match rt::is_truthy(interp, &__t193) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t195 = { let __t194 = v_Select5849.clone(); rt::hd(&__t194)? }; let __t197 = { let __t196 = v_Select5849.clone(); rt::tl(&__t196)? }; rt::apply_direct(interp, "shen.compile-prolog", &[__t195, __t197])? }); } else { { let __t203 = { let __t201 = { let __t198 = Value::sym(interp.intern("datatype")); let __t199 = v_Select5848.clone(); rt::eq(&__t198, &__t199) }; if !rt::is_truthy(interp, &__t201)? { Value::bool(false) } else { let __t202 = { let __t200 = v_Select5849.clone(); rt::is_cons(&__t200) }; Value::bool(rt::is_truthy(interp, &__t202)?) } }; if match rt::is_truthy(interp, &__t203) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t205 = { let __t204 = v_Select5849.clone(); rt::hd(&__t204)? }; let __t207 = { let __t206 = v_Select5849.clone(); rt::tl(&__t206)? }; rt::apply_direct(interp, "shen.process-datatype", &[__t205, __t207])? }); } else { { let __t210 = { let __t208 = Value::sym(interp.intern("@s")); let __t209 = v_Select5848.clone(); rt::eq(&__t208, &__t209) }; if match rt::is_truthy(interp, &__t210) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t211 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-@s", &[__t211])? }); } else { { let __t214 = { let __t212 = Value::sym(interp.intern("synonyms")); let __t213 = v_Select5848.clone(); rt::eq(&__t212, &__t213) }; if match rt::is_truthy(interp, &__t214) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t215 = v_Select5849.clone(); rt::apply_direct(interp, "shen.process-synonyms", &[__t215])? }); } else { { let __t222 = { let __t220 = { let __t216 = Value::sym(interp.intern("nl")); let __t217 = v_Select5848.clone(); rt::eq(&__t216, &__t217) }; if !rt::is_truthy(interp, &__t220)? { Value::bool(false) } else { let __t221 = { let __t218 = Value::nil(); let __t219 = v_Select5849.clone(); rt::eq(&__t218, &__t219) }; Value::bool(rt::is_truthy(interp, &__t221)?) } }; if match rt::is_truthy(interp, &__t222) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t223 = Value::sym(interp.intern("nl")); let __t226 = { let __t224 = Value::int(1i64); let __t225 = Value::nil(); rt::cons(&__t224, &__t225) }; rt::cons(&__t223, &__t226) }); } else { { let __t229 = { let __t227 = Value::sym(interp.intern("let")); let __t228 = v_Select5848.clone(); rt::eq(&__t227, &__t228) }; if match rt::is_truthy(interp, &__t229) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t230 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-let", &[__t230])? }); } else { { let __t233 = { let __t231 = Value::sym(interp.intern("/.")); let __t232 = v_Select5848.clone(); rt::eq(&__t231, &__t232) }; if match rt::is_truthy(interp, &__t233) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t234 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-lambda", &[__t234])? }); } else { { let __t237 = { let __t235 = Value::sym(interp.intern("cases")); let __t236 = v_Select5848.clone(); rt::eq(&__t235, &__t236) }; if match rt::is_truthy(interp, &__t237) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t238 = v_V5842.clone(); rt::apply_direct(interp, "shen.process-cases", &[__t238])? }); } else { { let __t249 = { let __t247 = { let __t239 = Value::sym(interp.intern("time")); let __t240 = v_Select5848.clone(); rt::eq(&__t239, &__t240) }; if !rt::is_truthy(interp, &__t247)? { Value::bool(false) } else { let __t248 = { let __t245 = { let __t241 = v_Select5849.clone(); rt::is_cons(&__t241) }; if !rt::is_truthy(interp, &__t245)? { Value::bool(false) } else { let __t246 = { let __t242 = Value::nil(); let __t244 = { let __t243 = v_Select5849.clone(); rt::tl(&__t243)? }; rt::eq(&__t242, &__t244) }; Value::bool(rt::is_truthy(interp, &__t246)?) } }; Value::bool(rt::is_truthy(interp, &__t248)?) } }; if match rt::is_truthy(interp, &__t249) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t251 = { let __t250 = v_Select5849.clone(); rt::hd(&__t250)? }; rt::apply_direct(interp, "shen.process-time", &[__t251])? }); } else { { let __t273 = { let __t271 = { let __t252 = Value::sym(interp.intern("put")); let __t253 = v_Select5848.clone(); rt::eq(&__t252, &__t253) }; if !rt::is_truthy(interp, &__t271)? { Value::bool(false) } else { let __t272 = { let __t269 = { let __t254 = v_Select5849.clone(); rt::is_cons(&__t254) }; if !rt::is_truthy(interp, &__t269)? { Value::bool(false) } else { let __t270 = { let __t267 = { let __t256 = { let __t255 = v_Select5849.clone(); rt::tl(&__t255)? }; rt::is_cons(&__t256) }; if !rt::is_truthy(interp, &__t267)? { Value::bool(false) } else { let __t268 = { let __t265 = { let __t259 = { let __t258 = { let __t257 = v_Select5849.clone(); rt::tl(&__t257)? }; rt::tl(&__t258)? }; rt::is_cons(&__t259) }; if !rt::is_truthy(interp, &__t265)? { Value::bool(false) } else { let __t266 = { let __t260 = Value::nil(); let __t264 = { let __t263 = { let __t262 = { let __t261 = v_Select5849.clone(); rt::tl(&__t261)? }; rt::tl(&__t262)? }; rt::tl(&__t263)? }; rt::eq(&__t260, &__t264) }; Value::bool(rt::is_truthy(interp, &__t266)?) } }; Value::bool(rt::is_truthy(interp, &__t268)?) } }; Value::bool(rt::is_truthy(interp, &__t270)?) } }; Value::bool(rt::is_truthy(interp, &__t272)?) } }; if match rt::is_truthy(interp, &__t273) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t274 = Value::sym(interp.intern("put")); let __t293 = { let __t276 = { let __t275 = v_Select5849.clone(); rt::hd(&__t275)? }; let __t292 = { let __t279 = { let __t278 = { let __t277 = v_Select5849.clone(); rt::tl(&__t277)? }; rt::hd(&__t278)? }; let __t291 = { let __t283 = { let __t282 = { let __t281 = { let __t280 = v_Select5849.clone(); rt::tl(&__t280)? }; rt::tl(&__t281)? }; rt::hd(&__t282)? }; let __t290 = { let __t288 = { let __t284 = Value::sym(interp.intern("value")); let __t287 = { let __t285 = Value::sym(interp.intern("*property-vector*")); let __t286 = Value::nil(); rt::cons(&__t285, &__t286) }; rt::cons(&__t284, &__t287) }; let __t289 = Value::nil(); rt::cons(&__t288, &__t289) }; rt::cons(&__t283, &__t290) }; rt::cons(&__t279, &__t291) }; rt::cons(&__t276, &__t292) }; rt::cons(&__t274, &__t293) }); } else { { let __t309 = { let __t307 = { let __t294 = Value::sym(interp.intern("get")); let __t295 = v_Select5848.clone(); rt::eq(&__t294, &__t295) }; if !rt::is_truthy(interp, &__t307)? { Value::bool(false) } else { let __t308 = { let __t305 = { let __t296 = v_Select5849.clone(); rt::is_cons(&__t296) }; if !rt::is_truthy(interp, &__t305)? { Value::bool(false) } else { let __t306 = { let __t303 = { let __t298 = { let __t297 = v_Select5849.clone(); rt::tl(&__t297)? }; rt::is_cons(&__t298) }; if !rt::is_truthy(interp, &__t303)? { Value::bool(false) } else { let __t304 = { let __t299 = Value::nil(); let __t302 = { let __t301 = { let __t300 = v_Select5849.clone(); rt::tl(&__t300)? }; rt::tl(&__t301)? }; rt::eq(&__t299, &__t302) }; Value::bool(rt::is_truthy(interp, &__t304)?) } }; Value::bool(rt::is_truthy(interp, &__t306)?) } }; Value::bool(rt::is_truthy(interp, &__t308)?) } }; if match rt::is_truthy(interp, &__t309) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t310 = Value::sym(interp.intern("get")); let __t324 = { let __t312 = { let __t311 = v_Select5849.clone(); rt::hd(&__t311)? }; let __t323 = { let __t315 = { let __t314 = { let __t313 = v_Select5849.clone(); rt::tl(&__t313)? }; rt::hd(&__t314)? }; let __t322 = { let __t320 = { let __t316 = Value::sym(interp.intern("value")); let __t319 = { let __t317 = Value::sym(interp.intern("*property-vector*")); let __t318 = Value::nil(); rt::cons(&__t317, &__t318) }; rt::cons(&__t316, &__t319) }; let __t321 = Value::nil(); rt::cons(&__t320, &__t321) }; rt::cons(&__t315, &__t322) }; rt::cons(&__t312, &__t323) }; rt::cons(&__t310, &__t324) }); } else { { let __t340 = { let __t338 = { let __t325 = Value::sym(interp.intern("unput")); let __t326 = v_Select5848.clone(); rt::eq(&__t325, &__t326) }; if !rt::is_truthy(interp, &__t338)? { Value::bool(false) } else { let __t339 = { let __t336 = { let __t327 = v_Select5849.clone(); rt::is_cons(&__t327) }; if !rt::is_truthy(interp, &__t336)? { Value::bool(false) } else { let __t337 = { let __t334 = { let __t329 = { let __t328 = v_Select5849.clone(); rt::tl(&__t328)? }; rt::is_cons(&__t329) }; if !rt::is_truthy(interp, &__t334)? { Value::bool(false) } else { let __t335 = { let __t330 = Value::nil(); let __t333 = { let __t332 = { let __t331 = v_Select5849.clone(); rt::tl(&__t331)? }; rt::tl(&__t332)? }; rt::eq(&__t330, &__t333) }; Value::bool(rt::is_truthy(interp, &__t335)?) } }; Value::bool(rt::is_truthy(interp, &__t337)?) } }; Value::bool(rt::is_truthy(interp, &__t339)?) } }; if match rt::is_truthy(interp, &__t340) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t341 = Value::sym(interp.intern("unput")); let __t355 = { let __t343 = { let __t342 = v_Select5849.clone(); rt::hd(&__t342)? }; let __t354 = { let __t346 = { let __t345 = { let __t344 = v_Select5849.clone(); rt::tl(&__t344)? }; rt::hd(&__t345)? }; let __t353 = { let __t351 = { let __t347 = Value::sym(interp.intern("value")); let __t350 = { let __t348 = Value::sym(interp.intern("*property-vector*")); let __t349 = Value::nil(); rt::cons(&__t348, &__t349) }; rt::cons(&__t347, &__t350) }; let __t352 = Value::nil(); rt::cons(&__t351, &__t352) }; rt::cons(&__t346, &__t353) }; rt::cons(&__t343, &__t354) }; rt::cons(&__t341, &__t355) }); } else { { let __t366 = { let __t364 = { let __t356 = Value::sym(interp.intern("shen.@c")); let __t357 = v_Select5848.clone(); rt::eq(&__t356, &__t357) }; if !rt::is_truthy(interp, &__t364)? { Value::bool(false) } else { let __t365 = { let __t362 = { let __t358 = v_Select5849.clone(); rt::is_cons(&__t358) }; if !rt::is_truthy(interp, &__t362)? { Value::bool(false) } else { let __t363 = { let __t359 = Value::nil(); let __t361 = { let __t360 = v_Select5849.clone(); rt::tl(&__t360)? }; rt::eq(&__t359, &__t361) }; Value::bool(rt::is_truthy(interp, &__t363)?) } }; Value::bool(rt::is_truthy(interp, &__t365)?) } }; if match rt::is_truthy(interp, &__t366) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t368 = { let __t367 = v_Select5849.clone(); rt::hd(&__t367)? }; rt::apply_direct(interp, "shen.rcons_form", &[__t368])? }); } else { { let v_GoTo5844 = { let v_GoTo5843 = v_GoTo5843.clone(); let v_Select5848 = v_Select5848.clone(); let v_Select5849 = v_Select5849.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t410 = { let __t397 = { let __t369 = v_Select5849.clone(); rt::is_cons(&__t369) }; if !rt::is_truthy(interp, &__t397)? { Value::bool(false) } else { let __t398 = { let __t395 = { let __t371 = { let __t370 = v_Select5849.clone(); rt::tl(&__t370)? }; rt::is_cons(&__t371) }; if !rt::is_truthy(interp, &__t395)? { Value::bool(false) } else { let __t396 = { let __t393 = { let __t374 = { let __t373 = { let __t372 = v_Select5849.clone(); rt::tl(&__t372)? }; rt::tl(&__t373)? }; rt::is_cons(&__t374) }; if !rt::is_truthy(interp, &__t393)? { Value::bool(false) } else { let __t394 = { let __t375 = v_Select5848.clone(); let __t392 = { let __t376 = Value::sym(interp.intern("@p")); let __t391 = { let __t377 = Value::sym(interp.intern("@v")); let __t390 = { let __t378 = Value::sym(interp.intern("append")); let __t389 = { let __t379 = Value::sym(interp.intern("and")); let __t388 = { let __t380 = Value::sym(interp.intern("or")); let __t387 = { let __t381 = Value::sym(interp.intern("+")); let __t386 = { let __t382 = Value::sym(interp.intern("*")); let __t385 = { let __t383 = Value::sym(interp.intern("do")); let __t384 = Value::nil(); rt::cons(&__t383, &__t384) }; rt::cons(&__t382, &__t385) }; rt::cons(&__t381, &__t386) }; rt::cons(&__t380, &__t387) }; rt::cons(&__t379, &__t388) }; rt::cons(&__t378, &__t389) }; rt::cons(&__t377, &__t390) }; rt::cons(&__t376, &__t391) }; rt::apply_direct(interp, "element?", &[__t375, __t392])? }; Value::bool(rt::is_truthy(interp, &__t394)?) } }; Value::bool(rt::is_truthy(interp, &__t396)?) } }; Value::bool(rt::is_truthy(interp, &__t398)?) } }; if rt::is_truthy(interp, &__t410)? { { let __t399 = v_Select5848.clone(); let __t409 = { let __t401 = { let __t400 = v_Select5849.clone(); rt::hd(&__t400)? }; let __t408 = { let __t406 = { let __t405 = { let __t402 = v_Select5848.clone(); let __t404 = { let __t403 = v_Select5849.clone(); rt::tl(&__t403)? }; rt::cons(&__t402, &__t404) }; rt::apply_direct(interp, "shen.process-assoc", &[__t405])? }; let __t407 = Value::nil(); rt::cons(&__t406, &__t407) }; rt::cons(&__t401, &__t408) }; rt::cons(&__t399, &__t409) } } else { rt::apply_value(interp, v_GoTo5843.clone(), &[])? } }), vec![v_GoTo5843, v_Select5848, v_Select5849], interp) }; { let __t413 = { let __t411 = Value::sym(interp.intern("shen.@ch")); let __t412 = v_Select5848.clone(); rt::eq(&__t411, &__t412) }; if match rt::is_truthy(interp, &__t413) { Ok(b) => b, Err(e) => break Err(e), } { { let __t415 = { let __t414 = v_Select5849.clone(); rt::is_cons(&__t414) }; if match rt::is_truthy(interp, &__t415) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5846 = { let __t416 = v_Select5849.clone(); rt::hd(&__t416)? }; { let v_Select5847 = { let __t417 = v_Select5849.clone(); rt::tl(&__t417)? }; { let __t446 = { let __t444 = { let __t418 = v_Select5846.clone(); rt::is_cons(&__t418) }; if !rt::is_truthy(interp, &__t444)? { Value::bool(false) } else { let __t445 = { let __t442 = { let __t420 = { let __t419 = v_Select5846.clone(); rt::tl(&__t419)? }; rt::is_cons(&__t420) }; if !rt::is_truthy(interp, &__t442)? { Value::bool(false) } else { let __t443 = { let __t440 = { let __t423 = { let __t422 = { let __t421 = v_Select5846.clone(); rt::tl(&__t421)? }; rt::tl(&__t422)? }; rt::is_cons(&__t423) }; if !rt::is_truthy(interp, &__t440)? { Value::bool(false) } else { let __t441 = { let __t438 = { let __t424 = Value::nil(); let __t428 = { let __t427 = { let __t426 = { let __t425 = v_Select5846.clone(); rt::tl(&__t425)? }; rt::tl(&__t426)? }; rt::tl(&__t427)? }; rt::eq(&__t424, &__t428) }; if !rt::is_truthy(interp, &__t438)? { Value::bool(false) } else { let __t439 = { let __t436 = { let __t429 = Value::nil(); let __t430 = v_Select5847.clone(); rt::eq(&__t429, &__t430) }; if !rt::is_truthy(interp, &__t436)? { Value::bool(false) } else { let __t437 = { let __t433 = { let __t432 = { let __t431 = v_Select5846.clone(); rt::tl(&__t431)? }; rt::hd(&__t432)? }; let __t435 = { let __t434 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t434])? }; rt::eq(&__t433, &__t435) }; Value::bool(rt::is_truthy(interp, &__t437)?) } }; Value::bool(rt::is_truthy(interp, &__t439)?) } }; Value::bool(rt::is_truthy(interp, &__t441)?) } }; Value::bool(rt::is_truthy(interp, &__t443)?) } }; Value::bool(rt::is_truthy(interp, &__t445)?) } }; if match rt::is_truthy(interp, &__t446) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t464 = { let __t447 = Value::sym(interp.intern("-")); let __t463 = { let __t461 = { let __t449 = { let __t448 = v_Select5846.clone(); rt::hd(&__t448)? }; let __t460 = { let __t452 = { let __t451 = { let __t450 = v_Select5846.clone(); rt::tl(&__t450)? }; rt::hd(&__t451)? }; let __t459 = { let __t457 = { let __t453 = Value::sym(interp.intern("+")); let __t456 = { let __t455 = { let __t454 = v_Select5846.clone(); rt::tl(&__t454)? }; rt::tl(&__t455)? }; rt::cons(&__t453, &__t456) }; let __t458 = Value::nil(); rt::cons(&__t457, &__t458) }; rt::cons(&__t452, &__t459) }; rt::cons(&__t449, &__t460) }; let __t462 = Value::nil(); rt::cons(&__t461, &__t462) }; rt::cons(&__t447, &__t463) }; rt::apply_direct(interp, "shen.cons-form-respect-modes", &[__t464])? }); } else { { let __t467 = { let __t465 = Value::nil(); let __t466 = v_Select5847.clone(); rt::eq(&__t465, &__t466) }; if match rt::is_truthy(interp, &__t467) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t468 = v_Select5846.clone(); rt::apply_direct(interp, "shen.cons-form-respect-modes", &[__t468])? }); } else { break Ok(rt::apply_value(interp, v_GoTo5844.clone(), &[])?); } } } } } } } else { break Ok(rt::apply_value(interp, v_GoTo5844.clone(), &[])?); } } } else { break Ok(rt::apply_value(interp, v_GoTo5844.clone(), &[])?); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } + if match rt::is_truthy(interp, &__t105) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t107 = { let __t106 = v_Select5849.clone(); rt::hd(&__t106)? }; let __t109 = { let __t108 = v_Select5849.clone(); rt::tl(&__t108)? }; rt::apply_direct(interp, "shen.mkstr", &[__t107, __t109])? }); } else { { let __t112 = { let __t110 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("lineread"))); if !rt::is_truthy(interp, &__t110)? { Value::bool(false) } else { let __t111 = Value::bool((v_Select5849.clone()).is_nil()); Value::bool(rt::is_truthy(interp, &__t111)?) } }; if match rt::is_truthy(interp, &__t112) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t113 = Value::sym(interp.intern_static("lineread")); let __t118 = { let __t116 = { let __t114 = Value::sym(interp.intern_static("stinput")); let __t115 = Value::nil(); rt::cons(&__t114, &__t115) }; let __t117 = Value::nil(); rt::cons(&__t116, &__t117) }; rt::cons(&__t113, &__t118) }); } else { { let __t121 = { let __t119 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("input"))); if !rt::is_truthy(interp, &__t119)? { Value::bool(false) } else { let __t120 = Value::bool((v_Select5849.clone()).is_nil()); Value::bool(rt::is_truthy(interp, &__t120)?) } }; if match rt::is_truthy(interp, &__t121) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t122 = Value::sym(interp.intern_static("input")); let __t127 = { let __t125 = { let __t123 = Value::sym(interp.intern_static("stinput")); let __t124 = Value::nil(); rt::cons(&__t123, &__t124) }; let __t126 = Value::nil(); rt::cons(&__t125, &__t126) }; rt::cons(&__t122, &__t127) }); } else { { let __t130 = { let __t128 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("read"))); if !rt::is_truthy(interp, &__t128)? { Value::bool(false) } else { let __t129 = Value::bool((v_Select5849.clone()).is_nil()); Value::bool(rt::is_truthy(interp, &__t129)?) } }; if match rt::is_truthy(interp, &__t130) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t131 = Value::sym(interp.intern_static("read")); let __t136 = { let __t134 = { let __t132 = Value::sym(interp.intern_static("stinput")); let __t133 = Value::nil(); rt::cons(&__t132, &__t133) }; let __t135 = Value::nil(); rt::cons(&__t134, &__t135) }; rt::cons(&__t131, &__t136) }); } else { { let __t140 = { let __t138 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("input+"))); if !rt::is_truthy(interp, &__t138)? { Value::bool(false) } else { let __t139 = { let __t137 = v_Select5849.clone(); rt::is_cons(&__t137) }; Value::bool(rt::is_truthy(interp, &__t139)?) } }; if match rt::is_truthy(interp, &__t140) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t141 = v_V5842.clone(); aot_shen_x2e_process_x2d_input_x2b_(interp, &[__t141])? }); } else { { let __t144 = { let __t142 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("read-byte"))); if !rt::is_truthy(interp, &__t142)? { Value::bool(false) } else { let __t143 = Value::bool((v_Select5849.clone()).is_nil()); Value::bool(rt::is_truthy(interp, &__t143)?) } }; if match rt::is_truthy(interp, &__t144) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ aot_shen_x2e_process_x2d_read_x2d_byte(interp, &[])? }); } else { { let __t145 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("prolog?"))); if match rt::is_truthy(interp, &__t145) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t146 = v_Select5849.clone(); aot_shen_x2e_call_x2d_prolog(interp, &[__t146])? }); } else { { let __t150 = { let __t148 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("defprolog"))); if !rt::is_truthy(interp, &__t148)? { Value::bool(false) } else { let __t149 = { let __t147 = v_Select5849.clone(); rt::is_cons(&__t147) }; Value::bool(rt::is_truthy(interp, &__t149)?) } }; if match rt::is_truthy(interp, &__t150) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t152 = { let __t151 = v_Select5849.clone(); rt::hd(&__t151)? }; let __t154 = { let __t153 = v_Select5849.clone(); rt::tl(&__t153)? }; rt::apply_direct(interp, "shen.compile-prolog", &[__t152, __t154])? }); } else { { let __t158 = { let __t156 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("datatype"))); if !rt::is_truthy(interp, &__t156)? { Value::bool(false) } else { let __t157 = { let __t155 = v_Select5849.clone(); rt::is_cons(&__t155) }; Value::bool(rt::is_truthy(interp, &__t157)?) } }; if match rt::is_truthy(interp, &__t158) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t160 = { let __t159 = v_Select5849.clone(); rt::hd(&__t159)? }; let __t162 = { let __t161 = v_Select5849.clone(); rt::tl(&__t161)? }; aot_shen_x2e_process_x2d_datatype(interp, &[__t160, __t162])? }); } else { { let __t163 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("@s"))); if match rt::is_truthy(interp, &__t163) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t164 = v_V5842.clone(); aot_shen_x2e_process_x2d__x40_s(interp, &[__t164])? }); } else { { let __t165 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("synonyms"))); if match rt::is_truthy(interp, &__t165) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t166 = v_Select5849.clone(); aot_shen_x2e_process_x2d_synonyms(interp, &[__t166])? }); } else { { let __t169 = { let __t167 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("nl"))); if !rt::is_truthy(interp, &__t167)? { Value::bool(false) } else { let __t168 = Value::bool((v_Select5849.clone()).is_nil()); Value::bool(rt::is_truthy(interp, &__t168)?) } }; if match rt::is_truthy(interp, &__t169) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t170 = Value::sym(interp.intern_static("nl")); let __t173 = { let __t171 = Value::int(1i64); let __t172 = Value::nil(); rt::cons(&__t171, &__t172) }; rt::cons(&__t170, &__t173) }); } else { { let __t174 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("let"))); if match rt::is_truthy(interp, &__t174) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t175 = v_V5842.clone(); aot_shen_x2e_process_x2d_let(interp, &[__t175])? }); } else { { let __t176 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("/."))); if match rt::is_truthy(interp, &__t176) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t177 = v_V5842.clone(); aot_shen_x2e_process_x2d_lambda(interp, &[__t177])? }); } else { { let __t178 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("cases"))); if match rt::is_truthy(interp, &__t178) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t179 = v_V5842.clone(); aot_shen_x2e_process_x2d_cases(interp, &[__t179])? }); } else { { let __t186 = { let __t184 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("time"))); if !rt::is_truthy(interp, &__t184)? { Value::bool(false) } else { let __t185 = { let __t182 = { let __t180 = v_Select5849.clone(); rt::is_cons(&__t180) }; if !rt::is_truthy(interp, &__t182)? { Value::bool(false) } else { let __t183 = Value::bool(({ let __t181 = v_Select5849.clone(); rt::tl(&__t181)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t183)?) } }; Value::bool(rt::is_truthy(interp, &__t185)?) } }; if match rt::is_truthy(interp, &__t186) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t188 = { let __t187 = v_Select5849.clone(); rt::hd(&__t187)? }; aot_shen_x2e_process_x2d_time(interp, &[__t188])? }); } else { { let __t206 = { let __t204 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("put"))); if !rt::is_truthy(interp, &__t204)? { Value::bool(false) } else { let __t205 = { let __t202 = { let __t189 = v_Select5849.clone(); rt::is_cons(&__t189) }; if !rt::is_truthy(interp, &__t202)? { Value::bool(false) } else { let __t203 = { let __t200 = { let __t191 = { let __t190 = v_Select5849.clone(); rt::tl(&__t190)? }; rt::is_cons(&__t191) }; if !rt::is_truthy(interp, &__t200)? { Value::bool(false) } else { let __t201 = { let __t198 = { let __t194 = { let __t193 = { let __t192 = v_Select5849.clone(); rt::tl(&__t192)? }; rt::tl(&__t193)? }; rt::is_cons(&__t194) }; if !rt::is_truthy(interp, &__t198)? { Value::bool(false) } else { let __t199 = Value::bool(({ let __t197 = { let __t196 = { let __t195 = v_Select5849.clone(); rt::tl(&__t195)? }; rt::tl(&__t196)? }; rt::tl(&__t197)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t199)?) } }; Value::bool(rt::is_truthy(interp, &__t201)?) } }; Value::bool(rt::is_truthy(interp, &__t203)?) } }; Value::bool(rt::is_truthy(interp, &__t205)?) } }; if match rt::is_truthy(interp, &__t206) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t207 = Value::sym(interp.intern_static("put")); let __t226 = { let __t209 = { let __t208 = v_Select5849.clone(); rt::hd(&__t208)? }; let __t225 = { let __t212 = { let __t211 = { let __t210 = v_Select5849.clone(); rt::tl(&__t210)? }; rt::hd(&__t211)? }; let __t224 = { let __t216 = { let __t215 = { let __t214 = { let __t213 = v_Select5849.clone(); rt::tl(&__t213)? }; rt::tl(&__t214)? }; rt::hd(&__t215)? }; let __t223 = { let __t221 = { let __t217 = Value::sym(interp.intern_static("value")); let __t220 = { let __t218 = Value::sym(interp.intern_static("*property-vector*")); let __t219 = Value::nil(); rt::cons(&__t218, &__t219) }; rt::cons(&__t217, &__t220) }; let __t222 = Value::nil(); rt::cons(&__t221, &__t222) }; rt::cons(&__t216, &__t223) }; rt::cons(&__t212, &__t224) }; rt::cons(&__t209, &__t225) }; rt::cons(&__t207, &__t226) }); } else { { let __t238 = { let __t236 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("get"))); if !rt::is_truthy(interp, &__t236)? { Value::bool(false) } else { let __t237 = { let __t234 = { let __t227 = v_Select5849.clone(); rt::is_cons(&__t227) }; if !rt::is_truthy(interp, &__t234)? { Value::bool(false) } else { let __t235 = { let __t232 = { let __t229 = { let __t228 = v_Select5849.clone(); rt::tl(&__t228)? }; rt::is_cons(&__t229) }; if !rt::is_truthy(interp, &__t232)? { Value::bool(false) } else { let __t233 = Value::bool(({ let __t231 = { let __t230 = v_Select5849.clone(); rt::tl(&__t230)? }; rt::tl(&__t231)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t233)?) } }; Value::bool(rt::is_truthy(interp, &__t235)?) } }; Value::bool(rt::is_truthy(interp, &__t237)?) } }; if match rt::is_truthy(interp, &__t238) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t239 = Value::sym(interp.intern_static("get")); let __t253 = { let __t241 = { let __t240 = v_Select5849.clone(); rt::hd(&__t240)? }; let __t252 = { let __t244 = { let __t243 = { let __t242 = v_Select5849.clone(); rt::tl(&__t242)? }; rt::hd(&__t243)? }; let __t251 = { let __t249 = { let __t245 = Value::sym(interp.intern_static("value")); let __t248 = { let __t246 = Value::sym(interp.intern_static("*property-vector*")); let __t247 = Value::nil(); rt::cons(&__t246, &__t247) }; rt::cons(&__t245, &__t248) }; let __t250 = Value::nil(); rt::cons(&__t249, &__t250) }; rt::cons(&__t244, &__t251) }; rt::cons(&__t241, &__t252) }; rt::cons(&__t239, &__t253) }); } else { { let __t265 = { let __t263 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("unput"))); if !rt::is_truthy(interp, &__t263)? { Value::bool(false) } else { let __t264 = { let __t261 = { let __t254 = v_Select5849.clone(); rt::is_cons(&__t254) }; if !rt::is_truthy(interp, &__t261)? { Value::bool(false) } else { let __t262 = { let __t259 = { let __t256 = { let __t255 = v_Select5849.clone(); rt::tl(&__t255)? }; rt::is_cons(&__t256) }; if !rt::is_truthy(interp, &__t259)? { Value::bool(false) } else { let __t260 = Value::bool(({ let __t258 = { let __t257 = v_Select5849.clone(); rt::tl(&__t257)? }; rt::tl(&__t258)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t260)?) } }; Value::bool(rt::is_truthy(interp, &__t262)?) } }; Value::bool(rt::is_truthy(interp, &__t264)?) } }; if match rt::is_truthy(interp, &__t265) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t266 = Value::sym(interp.intern_static("unput")); let __t280 = { let __t268 = { let __t267 = v_Select5849.clone(); rt::hd(&__t267)? }; let __t279 = { let __t271 = { let __t270 = { let __t269 = v_Select5849.clone(); rt::tl(&__t269)? }; rt::hd(&__t270)? }; let __t278 = { let __t276 = { let __t272 = Value::sym(interp.intern_static("value")); let __t275 = { let __t273 = Value::sym(interp.intern_static("*property-vector*")); let __t274 = Value::nil(); rt::cons(&__t273, &__t274) }; rt::cons(&__t272, &__t275) }; let __t277 = Value::nil(); rt::cons(&__t276, &__t277) }; rt::cons(&__t271, &__t278) }; rt::cons(&__t268, &__t279) }; rt::cons(&__t266, &__t280) }); } else { { let __t287 = { let __t285 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("shen.@c"))); if !rt::is_truthy(interp, &__t285)? { Value::bool(false) } else { let __t286 = { let __t283 = { let __t281 = v_Select5849.clone(); rt::is_cons(&__t281) }; if !rt::is_truthy(interp, &__t283)? { Value::bool(false) } else { let __t284 = Value::bool(({ let __t282 = v_Select5849.clone(); rt::tl(&__t282)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t284)?) } }; Value::bool(rt::is_truthy(interp, &__t286)?) } }; if match rt::is_truthy(interp, &__t287) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t289 = { let __t288 = v_Select5849.clone(); rt::hd(&__t288)? }; aot_shen_x2e_rcons_form(interp, &[__t289])? }); } else { { let __t332 = |interp: &mut Interp| -> ShenResult { Ok({ let __t331 = { let __t318 = { let __t290 = v_Select5849.clone(); rt::is_cons(&__t290) }; if !rt::is_truthy(interp, &__t318)? { Value::bool(false) } else { let __t319 = { let __t316 = { let __t292 = { let __t291 = v_Select5849.clone(); rt::tl(&__t291)? }; rt::is_cons(&__t292) }; if !rt::is_truthy(interp, &__t316)? { Value::bool(false) } else { let __t317 = { let __t314 = { let __t295 = { let __t294 = { let __t293 = v_Select5849.clone(); rt::tl(&__t293)? }; rt::tl(&__t294)? }; rt::is_cons(&__t295) }; if !rt::is_truthy(interp, &__t314)? { Value::bool(false) } else { let __t315 = { let __t296 = v_Select5848.clone(); let __t313 = { let __t297 = Value::sym(interp.intern_static("@p")); let __t312 = { let __t298 = Value::sym(interp.intern_static("@v")); let __t311 = { let __t299 = Value::sym(interp.intern_static("append")); let __t310 = { let __t300 = Value::sym(interp.intern_static("and")); let __t309 = { let __t301 = Value::sym(interp.intern_static("or")); let __t308 = { let __t302 = Value::sym(interp.intern_static("+")); let __t307 = { let __t303 = Value::sym(interp.intern_static("*")); let __t306 = { let __t304 = Value::sym(interp.intern_static("do")); let __t305 = Value::nil(); rt::cons(&__t304, &__t305) }; rt::cons(&__t303, &__t306) }; rt::cons(&__t302, &__t307) }; rt::cons(&__t301, &__t308) }; rt::cons(&__t300, &__t309) }; rt::cons(&__t299, &__t310) }; rt::cons(&__t298, &__t311) }; rt::cons(&__t297, &__t312) }; rt::apply_direct(interp, "element?", &[__t296, __t313])? }; Value::bool(rt::is_truthy(interp, &__t315)?) } }; Value::bool(rt::is_truthy(interp, &__t317)?) } }; Value::bool(rt::is_truthy(interp, &__t319)?) } }; if rt::is_truthy(interp, &__t331)? { { let __t320 = v_Select5848.clone(); let __t330 = { let __t322 = { let __t321 = v_Select5849.clone(); rt::hd(&__t321)? }; let __t329 = { let __t327 = { let __t326 = { let __t323 = v_Select5848.clone(); let __t325 = { let __t324 = v_Select5849.clone(); rt::tl(&__t324)? }; rt::cons(&__t323, &__t325) }; aot_shen_x2e_process_x2d_assoc(interp, &[__t326])? }; let __t328 = Value::nil(); rt::cons(&__t327, &__t328) }; rt::cons(&__t322, &__t329) }; rt::cons(&__t320, &__t330) } } else { rt::apply_value(interp, v_GoTo5843.clone(), &[])? } }) }; { let __t333 = Value::bool((v_Select5848.clone()).as_sym() == Some(interp.intern_static("shen.@ch"))); if match rt::is_truthy(interp, &__t333) { Ok(b) => b, Err(e) => break Err(e), } { { let __t335 = { let __t334 = v_Select5849.clone(); rt::is_cons(&__t334) }; if match rt::is_truthy(interp, &__t335) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5846 = { let __t336 = v_Select5849.clone(); rt::hd(&__t336)? }; { let v_Select5847 = { let __t337 = v_Select5849.clone(); rt::tl(&__t337)? }; { let __t361 = { let __t359 = { let __t338 = v_Select5846.clone(); rt::is_cons(&__t338) }; if !rt::is_truthy(interp, &__t359)? { Value::bool(false) } else { let __t360 = { let __t357 = { let __t340 = { let __t339 = v_Select5846.clone(); rt::tl(&__t339)? }; rt::is_cons(&__t340) }; if !rt::is_truthy(interp, &__t357)? { Value::bool(false) } else { let __t358 = { let __t355 = { let __t343 = { let __t342 = { let __t341 = v_Select5846.clone(); rt::tl(&__t341)? }; rt::tl(&__t342)? }; rt::is_cons(&__t343) }; if !rt::is_truthy(interp, &__t355)? { Value::bool(false) } else { let __t356 = { let __t353 = Value::bool(({ let __t346 = { let __t345 = { let __t344 = v_Select5846.clone(); rt::tl(&__t344)? }; rt::tl(&__t345)? }; rt::tl(&__t346)? }).is_nil()); if !rt::is_truthy(interp, &__t353)? { Value::bool(false) } else { let __t354 = { let __t351 = Value::bool((v_Select5847.clone()).is_nil()); if !rt::is_truthy(interp, &__t351)? { Value::bool(false) } else { let __t352 = { let __t349 = { let __t348 = { let __t347 = v_Select5846.clone(); rt::tl(&__t347)? }; rt::hd(&__t348)? }; let __t350 = Value::sym(interp.intern_static(":")); rt::eq(&__t349, &__t350) }; Value::bool(rt::is_truthy(interp, &__t352)?) } }; Value::bool(rt::is_truthy(interp, &__t354)?) } }; Value::bool(rt::is_truthy(interp, &__t356)?) } }; Value::bool(rt::is_truthy(interp, &__t358)?) } }; Value::bool(rt::is_truthy(interp, &__t360)?) } }; if match rt::is_truthy(interp, &__t361) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t379 = { let __t362 = Value::sym(interp.intern_static("-")); let __t378 = { let __t376 = { let __t364 = { let __t363 = v_Select5846.clone(); rt::hd(&__t363)? }; let __t375 = { let __t367 = { let __t366 = { let __t365 = v_Select5846.clone(); rt::tl(&__t365)? }; rt::hd(&__t366)? }; let __t374 = { let __t372 = { let __t368 = Value::sym(interp.intern_static("+")); let __t371 = { let __t370 = { let __t369 = v_Select5846.clone(); rt::tl(&__t369)? }; rt::tl(&__t370)? }; rt::cons(&__t368, &__t371) }; let __t373 = Value::nil(); rt::cons(&__t372, &__t373) }; rt::cons(&__t367, &__t374) }; rt::cons(&__t364, &__t375) }; let __t377 = Value::nil(); rt::cons(&__t376, &__t377) }; rt::cons(&__t362, &__t378) }; aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes(interp, &[__t379])? }); } else { { let __t380 = Value::bool((v_Select5847.clone()).is_nil()); if match rt::is_truthy(interp, &__t380) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t381 = v_Select5846.clone(); aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes(interp, &[__t381])? }); } else { break Ok(__t332(interp)?); } } } } } } } else { break Ok(__t332(interp)?); } } } else { break Ok(__t332(interp)?); } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } @@ -663,166 +625,152 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( #[allow(clippy::never_loop)] loop { { - let v_GoTo5851 = { - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t469 = Value::str("partial function shen.process-input+"); - rt::apply_direct(interp, "simple-error", &[__t469])? - }) - }, - Vec::new(), - interp, - ) + let __t383 = |interp: &mut Interp| -> ShenResult { + Ok({ + let __t382 = Value::str("partial function shen.process-input+"); + rt::apply_direct(interp, "simple-error", &[__t382])? + }) }; { - let __t471 = { - let __t470 = v_V5850.clone(); - rt::is_cons(&__t470) + let __t385 = { + let __t384 = v_V5850.clone(); + rt::is_cons(&__t384) }; - if match rt::is_truthy(interp, &__t471) { + if match rt::is_truthy(interp, &__t385) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5856 = { - let __t472 = v_V5850.clone(); - rt::tl(&__t472)? + let __t386 = v_V5850.clone(); + rt::tl(&__t386)? }; { - let __t476 = { - let __t473 = Value::sym(interp.intern("input+")); - let __t475 = { - let __t474 = v_V5850.clone(); - rt::hd(&__t474)? - }; - rt::eq(&__t473, &__t475) - }; - if match rt::is_truthy(interp, &__t476) { + let __t388 = Value::bool( + ({ + let __t387 = v_V5850.clone(); + rt::hd(&__t387)? + }) + .as_sym() + == Some(interp.intern_static("input+")), + ); + if match rt::is_truthy(interp, &__t388) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t478 = { - let __t477 = v_Select5856.clone(); - rt::is_cons(&__t477) + let __t390 = { + let __t389 = v_Select5856.clone(); + rt::is_cons(&__t389) }; - if match rt::is_truthy(interp, &__t478) { + if match rt::is_truthy(interp, &__t390) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5854 = { - let __t479 = v_Select5856.clone(); - rt::hd(&__t479)? + let __t391 = v_Select5856.clone(); + rt::hd(&__t391)? }; { let v_Select5855 = { - let __t480 = v_Select5856.clone(); - rt::tl(&__t480)? + let __t392 = v_Select5856.clone(); + rt::tl(&__t392)? }; { - let __t483 = { - let __t481 = Value::nil(); - let __t482 = v_Select5855.clone(); - rt::eq(&__t481, &__t482) - }; - if match rt::is_truthy(interp, &__t483) { + let __t393 = Value::bool( + (v_Select5855.clone()).is_nil(), + ); + if match rt::is_truthy(interp, &__t393) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t484 = Value::sym( - interp.intern("shen.input-h+"), + let __t394 = Value::sym( + interp + .intern_static("shen.input-h+"), ); - let __t492 = { - let __t486 = { - let __t485 = + let __t402 = { + let __t396 = { + let __t395 = v_Select5854.clone(); - rt::apply_direct( + aot_shen_x2e_rcons_form( interp, - "shen.rcons_form", - &[__t485], + &[__t395], )? }; - let __t491 = { - let __t489 = { - let __t487 = Value::sym( - interp - .intern("stinput"), + let __t401 = { + let __t399 = { + let __t397 = Value::sym( + interp.intern_static( + "stinput", + ), ); - let __t488 = Value::nil(); - rt::cons(&__t487, &__t488) + let __t398 = Value::nil(); + rt::cons(&__t397, &__t398) }; - let __t490 = Value::nil(); - rt::cons(&__t489, &__t490) + let __t400 = Value::nil(); + rt::cons(&__t399, &__t400) }; - rt::cons(&__t486, &__t491) + rt::cons(&__t396, &__t401) }; - rt::cons(&__t484, &__t492) + rt::cons(&__t394, &__t402) }); } else { { - let __t499 = { - let __t497 = { - let __t493 = + let __t407 = { + let __t405 = { + let __t403 = v_Select5855.clone(); - rt::is_cons(&__t493) + rt::is_cons(&__t403) }; - if !rt::is_truthy(interp, &__t497)? + if !rt::is_truthy(interp, &__t405)? { Value::bool(false) } else { - let __t498 = { - let __t494 = Value::nil(); - let __t496 = { - let __t495 = + let __t406 = Value::bool( + ({ + let __t404 = v_Select5855 .clone(); - rt::tl(&__t495)? - }; - rt::eq(&__t494, &__t496) - }; + rt::tl(&__t404)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t498, + interp, &__t406, )?) } }; - if match rt::is_truthy(interp, &__t499) + if match rt::is_truthy(interp, &__t407) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t500 = - Value::sym(interp.intern( + let __t408 = Value::sym( + interp.intern_static( "shen.input-h+", - )); - let __t504 = { - let __t502 = { - let __t501 = + ), + ); + let __t412 = { + let __t410 = { + let __t409 = v_Select5854 .clone(); - rt::apply_direct( + aot_shen_x2e_rcons_form( interp, - "shen.rcons_form", - &[__t501], + &[__t409], )? }; - let __t503 = + let __t411 = v_Select5855.clone(); - rt::cons(&__t502, &__t503) + rt::cons(&__t410, &__t411) }; - rt::cons(&__t500, &__t504) + rt::cons(&__t408, &__t412) }); } else { - break Ok(rt::apply_value( - interp, - v_GoTo5851.clone(), - &[], - )?); + break Ok(__t383(interp)?); } } } @@ -830,20 +778,16 @@ pub fn aot_shen_x2e_process_x2d_input_x2b_( } } } else { - break Ok(rt::apply_value( - interp, - v_GoTo5851.clone(), - &[], - )?); + break Ok(__t383(interp)?); } } } else { - break Ok(rt::apply_value(interp, v_GoTo5851.clone(), &[])?); + break Ok(__t383(interp)?); } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5851.clone(), &[])?); + break Ok(__t383(interp)?); } } } @@ -875,173 +819,148 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( #[allow(clippy::never_loop)] loop { { - let v_GoTo5858 = { - let v_V5857 = v_V5857.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| Ok(v_V5857.clone()), - vec![v_V5857], - interp, - ) - }; + let __t413 = |interp: &mut Interp| -> ShenResult { Ok(v_V5857.clone()) }; { - let __t506 = { - let __t505 = v_V5857.clone(); - rt::is_cons(&__t505) + let __t415 = { + let __t414 = v_V5857.clone(); + rt::is_cons(&__t414) }; - if match rt::is_truthy(interp, &__t506) { + if match rt::is_truthy(interp, &__t415) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5859 = { - let __t507 = v_V5857.clone(); - rt::hd(&__t507)? + let __t416 = v_V5857.clone(); + rt::hd(&__t416)? }; { let v_Select5860 = { - let __t508 = v_V5857.clone(); - rt::tl(&__t508)? + let __t417 = v_V5857.clone(); + rt::tl(&__t417)? }; { - let __t519 = { - let __t517 = { - let __t509 = Value::sym(interp.intern("+")); - let __t510 = v_Select5859.clone(); - rt::eq(&__t509, &__t510) - }; - if !rt::is_truthy(interp, &__t517)? { + let __t424 = { + let __t422 = Value::bool( + (v_Select5859.clone()).as_sym() + == Some(interp.intern_static("+")), + ); + if !rt::is_truthy(interp, &__t422)? { Value::bool(false) } else { - let __t518 = { - let __t515 = { - let __t511 = v_Select5860.clone(); - rt::is_cons(&__t511) + let __t423 = { + let __t420 = { + let __t418 = v_Select5860.clone(); + rt::is_cons(&__t418) }; - if !rt::is_truthy(interp, &__t515)? { + if !rt::is_truthy(interp, &__t420)? { Value::bool(false) } else { - let __t516 = { - let __t512 = Value::nil(); - let __t514 = { - let __t513 = v_Select5860.clone(); - rt::tl(&__t513)? - }; - rt::eq(&__t512, &__t514) - }; - Value::bool(rt::is_truthy(interp, &__t516)?) + let __t421 = Value::bool( + ({ + let __t419 = v_Select5860.clone(); + rt::tl(&__t419)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t421)?) } }; - Value::bool(rt::is_truthy(interp, &__t518)?) + Value::bool(rt::is_truthy(interp, &__t423)?) } }; - if match rt::is_truthy(interp, &__t519) { + if match rt::is_truthy(interp, &__t424) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t520 = Value::sym(interp.intern("+")); - let __t525 = { - let __t523 = { - let __t522 = { - let __t521 = v_Select5860.clone(); - rt::hd(&__t521)? + let __t425 = Value::sym(interp.intern_static("+")); + let __t430 = { + let __t428 = { + let __t427 = { + let __t426 = v_Select5860.clone(); + rt::hd(&__t426)? }; - rt::apply_direct( + aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( interp, - "shen.cons-form-respect-modes", - &[__t522], + &[__t427], )? }; - let __t524 = Value::nil(); - rt::cons(&__t523, &__t524) + let __t429 = Value::nil(); + rt::cons(&__t428, &__t429) }; - rt::cons(&__t520, &__t525) + rt::cons(&__t425, &__t430) }); } else { { - let __t536 = { - let __t534 = { - let __t526 = Value::sym(interp.intern("-")); - let __t527 = v_Select5859.clone(); - rt::eq(&__t526, &__t527) - }; - if !rt::is_truthy(interp, &__t534)? { + let __t437 = { + let __t435 = Value::bool( + (v_Select5859.clone()).as_sym() + == Some(interp.intern_static("-")), + ); + if !rt::is_truthy(interp, &__t435)? { Value::bool(false) } else { - let __t535 = { - let __t532 = { - let __t528 = v_Select5860.clone(); - rt::is_cons(&__t528) + let __t436 = { + let __t433 = { + let __t431 = v_Select5860.clone(); + rt::is_cons(&__t431) }; - if !rt::is_truthy(interp, &__t532)? { + if !rt::is_truthy(interp, &__t433)? { Value::bool(false) } else { - let __t533 = { - let __t529 = Value::nil(); - let __t531 = { - let __t530 = v_Select5860.clone(); - rt::tl(&__t530)? - }; - rt::eq(&__t529, &__t531) - }; - Value::bool(rt::is_truthy(interp, &__t533)?) + let __t434 = Value::bool( + ({ + let __t432 = v_Select5860.clone(); + rt::tl(&__t432)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t434)?) } }; - Value::bool(rt::is_truthy(interp, &__t535)?) + Value::bool(rt::is_truthy(interp, &__t436)?) } }; - if match rt::is_truthy(interp, &__t536) { + if match rt::is_truthy(interp, &__t437) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t537 = Value::sym(interp.intern("-")); - let __t542 = { - let __t540 = { - let __t539 = { - let __t538 = v_Select5860.clone(); - rt::hd(&__t538)? + let __t438 = Value::sym(interp.intern_static("-")); + let __t443 = { + let __t441 = { + let __t440 = { + let __t439 = v_Select5860.clone(); + rt::hd(&__t439)? }; - rt::apply_direct( - interp, - "shen.cons-form-respect-modes", - &[__t539], - )? + aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes(interp, &[__t440])? }; - let __t541 = Value::nil(); - rt::cons(&__t540, &__t541) + let __t442 = Value::nil(); + rt::cons(&__t441, &__t442) }; - rt::cons(&__t537, &__t542) + rt::cons(&__t438, &__t443) }); } else { break Ok({ - let __t543 = Value::sym(interp.intern("cons")); - let __t550 = { - let __t545 = { - let __t544 = v_Select5859.clone(); - rt::apply_direct( - interp, - "shen.cons-form-respect-modes", - &[__t544], - )? + let __t444 = + Value::sym(interp.intern_static("cons")); + let __t451 = { + let __t446 = { + let __t445 = v_Select5859.clone(); + aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes(interp, &[__t445])? }; - let __t549 = { - let __t547 = { - let __t546 = v_Select5860.clone(); - rt::apply_direct( - interp, - "shen.cons-form-respect-modes", - &[__t546], - )? + let __t450 = { + let __t448 = { + let __t447 = v_Select5860.clone(); + aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes(interp, &[__t447])? }; - let __t548 = Value::nil(); - rt::cons(&__t547, &__t548) + let __t449 = Value::nil(); + rt::cons(&__t448, &__t449) }; - rt::cons(&__t545, &__t549) + rt::cons(&__t446, &__t450) }; - rt::cons(&__t543, &__t550) + rt::cons(&__t444, &__t451) }); } } @@ -1050,7 +969,7 @@ pub fn aot_shen_x2e_cons_x2d_form_x2d_respect_x2d_modes( } } } else { - break Ok(rt::apply_value(interp, v_GoTo5858.clone(), &[])?); + break Ok(__t413(interp)?); } } } @@ -1085,43 +1004,43 @@ pub fn aot_shen_x2e_process_x2d_def(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W5863 = { - let __t551 = Value::sym(interp.intern("X")); - let __t556 = { - let __t552 = Value::sym(interp.intern("->")); - let __t555 = { - let __t553 = Value::sym(interp.intern("X")); - let __t554 = Value::nil(); - rt::cons(&__t553, &__t554) + let __t452 = Value::sym(interp.intern_static("X")); + let __t457 = { + let __t453 = Value::sym(interp.intern_static("->")); + let __t456 = { + let __t454 = Value::sym(interp.intern_static("X")); + let __t455 = Value::nil(); + rt::cons(&__t454, &__t455) }; - rt::cons(&__t552, &__t555) + rt::cons(&__t453, &__t456) }; - rt::cons(&__t551, &__t556) + rt::cons(&__t452, &__t457) }; { let v_W5864 = { - let __t563 = { - let __t557 = Value::sym(interp.intern("define")); - let __t562 = { - let __t558 = v_V5861.clone(); - let __t561 = { - let __t559 = v_V5862.clone(); - let __t560 = v_W5863.clone(); - rt::apply_direct(interp, "append", &[__t559, __t560])? + let __t464 = { + let __t458 = Value::sym(interp.intern_static("define")); + let __t463 = { + let __t459 = v_V5861.clone(); + let __t462 = { + let __t460 = v_V5862.clone(); + let __t461 = v_W5863.clone(); + rt::apply_direct(interp, "append", &[__t460, __t461])? }; - rt::cons(&__t558, &__t561) + rt::cons(&__t459, &__t462) }; - rt::cons(&__t557, &__t562) + rt::cons(&__t458, &__t463) }; - rt::apply_direct(interp, "eval", &[__t563])? + rt::apply_direct(interp, "eval", &[__t464])? }; { let v_W5865 = { - let __t564 = v_V5861.clone(); - let __t566 = { - let __t565 = v_V5861.clone(); - rt::apply_direct(interp, "fn", &[__t565])? + let __t465 = v_V5861.clone(); + let __t467 = { + let __t466 = v_V5861.clone(); + rt::apply_direct(interp, "fn", &[__t466])? }; - rt::apply_direct(interp, "shen.record-macro", &[__t564, __t566])? + aot_shen_x2e_record_x2d_macro(interp, &[__t465, __t467])? }; break Ok(v_V5861.clone()); } @@ -1148,148 +1067,148 @@ pub fn aot_shen_x2e_process_x2d_let(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t595 = { - let __t593 = { - let __t567 = v_V5866.clone(); - rt::is_cons(&__t567) + let __t494 = { + let __t492 = { + let __t468 = v_V5866.clone(); + rt::is_cons(&__t468) }; - if !rt::is_truthy(interp, &__t593)? { + if !rt::is_truthy(interp, &__t492)? { Value::bool(false) } else { - let __t594 = { - let __t591 = { - let __t568 = Value::sym(interp.intern("let")); - let __t570 = { - let __t569 = v_V5866.clone(); - rt::hd(&__t569)? - }; - rt::eq(&__t568, &__t570) - }; - if !rt::is_truthy(interp, &__t591)? { + let __t493 = { + let __t490 = Value::bool( + ({ + let __t469 = v_V5866.clone(); + rt::hd(&__t469)? + }) + .as_sym() + == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t490)? { Value::bool(false) } else { - let __t592 = { - let __t589 = { - let __t572 = { - let __t571 = v_V5866.clone(); - rt::tl(&__t571)? + let __t491 = { + let __t488 = { + let __t471 = { + let __t470 = v_V5866.clone(); + rt::tl(&__t470)? }; - rt::is_cons(&__t572) + rt::is_cons(&__t471) }; - if !rt::is_truthy(interp, &__t589)? { + if !rt::is_truthy(interp, &__t488)? { Value::bool(false) } else { - let __t590 = { - let __t587 = { - let __t575 = { - let __t574 = { - let __t573 = v_V5866.clone(); - rt::tl(&__t573)? + let __t489 = { + let __t486 = { + let __t474 = { + let __t473 = { + let __t472 = v_V5866.clone(); + rt::tl(&__t472)? }; - rt::tl(&__t574)? + rt::tl(&__t473)? }; - rt::is_cons(&__t575) + rt::is_cons(&__t474) }; - if !rt::is_truthy(interp, &__t587)? { + if !rt::is_truthy(interp, &__t486)? { Value::bool(false) } else { - let __t588 = { - let __t585 = { - let __t579 = { - let __t578 = { - let __t577 = { - let __t576 = v_V5866.clone(); - rt::tl(&__t576)? + let __t487 = { + let __t484 = { + let __t478 = { + let __t477 = { + let __t476 = { + let __t475 = v_V5866.clone(); + rt::tl(&__t475)? }; - rt::tl(&__t577)? + rt::tl(&__t476)? }; - rt::tl(&__t578)? + rt::tl(&__t477)? }; - rt::is_cons(&__t579) + rt::is_cons(&__t478) }; - if !rt::is_truthy(interp, &__t585)? { + if !rt::is_truthy(interp, &__t484)? { Value::bool(false) } else { - let __t586 = { - let __t584 = { - let __t583 = { - let __t582 = { - let __t581 = { - let __t580 = + let __t485 = { + let __t483 = { + let __t482 = { + let __t481 = { + let __t480 = { + let __t479 = v_V5866.clone(); - rt::tl(&__t580)? + rt::tl(&__t479)? }; - rt::tl(&__t581)? + rt::tl(&__t480)? }; - rt::tl(&__t582)? + rt::tl(&__t481)? }; - rt::tl(&__t583)? + rt::tl(&__t482)? }; - rt::is_cons(&__t584) + rt::is_cons(&__t483) }; - Value::bool(rt::is_truthy(interp, &__t586)?) + Value::bool(rt::is_truthy(interp, &__t485)?) } }; - Value::bool(rt::is_truthy(interp, &__t588)?) + Value::bool(rt::is_truthy(interp, &__t487)?) } }; - Value::bool(rt::is_truthy(interp, &__t590)?) + Value::bool(rt::is_truthy(interp, &__t489)?) } }; - Value::bool(rt::is_truthy(interp, &__t592)?) + Value::bool(rt::is_truthy(interp, &__t491)?) } }; - Value::bool(rt::is_truthy(interp, &__t594)?) + Value::bool(rt::is_truthy(interp, &__t493)?) } }; - if match rt::is_truthy(interp, &__t595) { + if match rt::is_truthy(interp, &__t494) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t596 = Value::sym(interp.intern("let")); - let __t613 = { - let __t599 = { - let __t598 = { - let __t597 = v_V5866.clone(); - rt::tl(&__t597)? + let __t495 = Value::sym(interp.intern_static("let")); + let __t512 = { + let __t498 = { + let __t497 = { + let __t496 = v_V5866.clone(); + rt::tl(&__t496)? }; - rt::hd(&__t598)? + rt::hd(&__t497)? }; - let __t612 = { - let __t603 = { - let __t602 = { - let __t601 = { - let __t600 = v_V5866.clone(); - rt::tl(&__t600)? + let __t511 = { + let __t502 = { + let __t501 = { + let __t500 = { + let __t499 = v_V5866.clone(); + rt::tl(&__t499)? }; - rt::tl(&__t601)? + rt::tl(&__t500)? }; - rt::hd(&__t602)? + rt::hd(&__t501)? }; - let __t611 = { - let __t609 = { - let __t604 = Value::sym(interp.intern("let")); - let __t608 = { - let __t607 = { - let __t606 = { - let __t605 = v_V5866.clone(); - rt::tl(&__t605)? + let __t510 = { + let __t508 = { + let __t503 = Value::sym(interp.intern_static("let")); + let __t507 = { + let __t506 = { + let __t505 = { + let __t504 = v_V5866.clone(); + rt::tl(&__t504)? }; - rt::tl(&__t606)? + rt::tl(&__t505)? }; - rt::tl(&__t607)? + rt::tl(&__t506)? }; - rt::cons(&__t604, &__t608) + rt::cons(&__t503, &__t507) }; - let __t610 = Value::nil(); - rt::cons(&__t609, &__t610) + let __t509 = Value::nil(); + rt::cons(&__t508, &__t509) }; - rt::cons(&__t603, &__t611) + rt::cons(&__t502, &__t510) }; - rt::cons(&__t599, &__t612) + rt::cons(&__t498, &__t511) }; - rt::cons(&__t596, &__t613) + rt::cons(&__t495, &__t512) }); } else { break Ok(v_V5866.clone()); @@ -1316,219 +1235,194 @@ pub fn aot_shen_x2e_process_x2d__x40_s(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let v_GoTo5869 = { - let v_V5867 = v_V5867.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| Ok(v_V5867.clone()), - vec![v_V5867], - interp, - ) - }; + let __t513 = |interp: &mut Interp| -> ShenResult { Ok(v_V5867.clone()) }; { - let __t615 = { - let __t614 = v_V5867.clone(); - rt::is_cons(&__t614) + let __t515 = { + let __t514 = v_V5867.clone(); + rt::is_cons(&__t514) }; - if match rt::is_truthy(interp, &__t615) { + if match rt::is_truthy(interp, &__t515) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5876 = { - let __t616 = v_V5867.clone(); - rt::tl(&__t616)? + let __t516 = v_V5867.clone(); + rt::tl(&__t516)? }; { - let __t620 = { - let __t617 = Value::sym(interp.intern("@s")); - let __t619 = { - let __t618 = v_V5867.clone(); - rt::hd(&__t618)? - }; - rt::eq(&__t617, &__t619) - }; - if match rt::is_truthy(interp, &__t620) { + let __t518 = Value::bool( + ({ + let __t517 = v_V5867.clone(); + rt::hd(&__t517)? + }) + .as_sym() + == Some(interp.intern_static("@s")), + ); + if match rt::is_truthy(interp, &__t518) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t622 = { - let __t621 = v_Select5876.clone(); - rt::is_cons(&__t621) + let __t520 = { + let __t519 = v_Select5876.clone(); + rt::is_cons(&__t519) }; - if match rt::is_truthy(interp, &__t622) { + if match rt::is_truthy(interp, &__t520) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5874 = { - let __t623 = v_Select5876.clone(); - rt::hd(&__t623)? + let __t521 = v_Select5876.clone(); + rt::hd(&__t521)? }; { let v_Select5875 = { - let __t624 = v_Select5876.clone(); - rt::tl(&__t624)? + let __t522 = v_Select5876.clone(); + rt::tl(&__t522)? }; { - let __t626 = { - let __t625 = v_Select5875.clone(); - rt::is_cons(&__t625) + let __t524 = { + let __t523 = v_Select5875.clone(); + rt::is_cons(&__t523) }; - if match rt::is_truthy(interp, &__t626) { + if match rt::is_truthy(interp, &__t524) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5873 = { - let __t627 = v_Select5875.clone(); - rt::tl(&__t627)? + let __t525 = v_Select5875.clone(); + rt::tl(&__t525)? }; { - let __t629 = { - let __t628 = + let __t527 = { + let __t526 = v_Select5873.clone(); - rt::is_cons(&__t628) + rt::is_cons(&__t526) }; if match rt::is_truthy( - interp, &__t629, + interp, &__t527, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t630 = Value::sym( - interp.intern("@s"), + let __t528 = Value::sym( + interp.intern_static( + "@s", + ), ); - let __t638 = { - let __t631 = + let __t536 = { + let __t529 = v_Select5874 .clone(); - let __t637 = { - let __t635 = { - let __t634 = { - let __t632 = Value::sym(interp.intern("@s")); - let __t633 = v_Select5875.clone(); + let __t535 = { + let __t533 = { + let __t532 = { + let __t530 = Value::sym(interp.intern_static("@s")); + let __t531 = v_Select5875.clone(); rt::cons( - &__t632, - &__t633, + &__t530, + &__t531, ) }; - rt::apply_direct(interp, "shen.process-@s", &[__t634])? + aot_shen_x2e_process_x2d__x40_s(interp, &[__t532])? }; - let __t636 = + let __t534 = Value::nil(); rt::cons( - &__t635, - &__t636, + &__t533, + &__t534, ) }; rt::cons( - &__t631, &__t637, + &__t529, &__t535, ) }; - rt::cons(&__t630, &__t638) + rt::cons(&__t528, &__t536) }); } else { { - let __t644 = { - let __t642 = { - let __t639 = - Value::nil(); - let __t640 = - v_Select5873 - .clone(); - rt::eq( - &__t639, - &__t640, - ) - }; + let __t540 = { + let __t538 = + Value::bool( + (v_Select5873 + .clone()) + .is_nil(), + ); if !rt::is_truthy( - interp, &__t642, + interp, &__t538, )? { Value::bool(false) } else { - let __t643 = { - let __t641 = v_Select5874.clone(); + let __t539 = { + let __t537 = v_Select5874.clone(); rt::is_string( - &__t641, + &__t537, ) }; Value::bool( rt::is_truthy( interp, - &__t643, + &__t539, )?, ) } }; if match rt::is_truthy( - interp, &__t644, + interp, &__t540, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5868 = { - let __t645 = v_Select5874.clone(); - rt::apply_direct(interp, "explode", &[__t645])? + let __t541 = v_Select5874.clone(); + rt::apply_direct(interp, "explode", &[__t541])? }; { - let __t649 = { - let __t647 = { - let __t646 = v_W5868.clone(); - rt::apply_direct(interp, "length", &[__t646])? + let __t545 = { + let __t543 = { + let __t542 = v_W5868.clone(); + rt::apply_direct(interp, "length", &[__t542])? }; - let __t648 = Value::int(1i64); + let __t544 = Value::int(1i64); rt::gt( - &__t647, - &__t648, + &__t543, + &__t544, )? }; - if match rt::is_truthy(interp, &__t649) { Ok(b) => b, Err(e) => break Err(e), } { { let __t654 = { let __t650 = Value::sym(interp.intern("@s")); let __t653 = { let __t651 = v_W5868.clone(); let __t652 = v_Select5875.clone(); rt::apply_direct(interp, "append", &[__t651, __t652])? }; rt::cons(&__t650, &__t653) }; v_V5867 = __t654; continue; } } else { break Ok(v_V5867.clone()); } + if match rt::is_truthy(interp, &__t545) { Ok(b) => b, Err(e) => break Err(e), } { { let __t550 = { let __t546 = Value::sym(interp.intern_static("@s")); let __t549 = { let __t547 = v_W5868.clone(); let __t548 = v_Select5875.clone(); rt::apply_direct(interp, "append", &[__t547, __t548])? }; rt::cons(&__t546, &__t549) }; v_V5867 = __t550; continue; } } else { break Ok(v_V5867.clone()); } } } } else { - break Ok( - rt::apply_value( - interp, - v_GoTo5869 - .clone(), - &[], - )?, - ); + break Ok(__t513( + interp, + )?); } } } } } } else { - break Ok(rt::apply_value( - interp, - v_GoTo5869.clone(), - &[], - )?); + break Ok(__t513(interp)?); } } } } } else { - break Ok(rt::apply_value( - interp, - v_GoTo5869.clone(), - &[], - )?); + break Ok(__t513(interp)?); } } } else { - break Ok(rt::apply_value(interp, v_GoTo5869.clone(), &[])?); + break Ok(__t513(interp)?); } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5869.clone(), &[])?); + break Ok(__t513(interp)?); } } } @@ -1556,32 +1450,32 @@ pub fn aot_shen_x2e_process_x2d_datatype(interp: &mut Interp, args: &[Value]) -> loop { { let v_W5879 = { - let __t655 = v_V5877.clone(); - rt::apply_direct(interp, "shen.intern-type", &[__t655])? + let __t551 = v_V5877.clone(); + aot_shen_x2e_intern_x2d_type(interp, &[__t551])? }; { let v_W5880 = { - let __t657 = { + let __t553 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5881 = args[0].clone(); Ok({ - let __t656 = v_Z5881.clone(); - rt::apply_direct(interp, "shen.", &[__t656])? + let __t552 = v_Z5881.clone(); + rt::apply_direct(interp, "shen.", &[__t552])? }) }, Vec::new(), interp, ) }; - let __t660 = { - let __t658 = v_W5879.clone(); - let __t659 = v_V5878.clone(); - rt::cons(&__t658, &__t659) + let __t556 = { + let __t554 = v_W5879.clone(); + let __t555 = v_V5878.clone(); + rt::cons(&__t554, &__t555) }; - rt::apply_direct(interp, "compile", &[__t657, __t660])? + rt::apply_direct(interp, "compile", &[__t553, __t556])? }; break Ok(v_W5879.clone()); } @@ -1611,15 +1505,15 @@ pub fn aot_shen_x2e_intern_x2d_type(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { break Ok({ - let __t664 = { - let __t662 = { - let __t661 = v_V5882.clone(); - rt::apply_direct(interp, "str", &[__t661])? + let __t560 = { + let __t558 = { + let __t557 = v_V5882.clone(); + rt::apply_direct(interp, "str", &[__t557])? }; - let __t663 = Value::str("#type"); - rt::apply_direct(interp, "cn", &[__t662, __t663])? + let __t559 = Value::str("#type"); + rt::cn(&__t558, &__t559)? }; - rt::apply_direct(interp, "intern", &[__t664])? + rt::intern(interp, &__t560)? }); } } @@ -1642,19 +1536,15 @@ pub fn aot_shen_x2e_process_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t670 = { - let __t665 = Value::sym(interp.intern("shen.*synonyms*")); - let __t669 = { - let __t666 = v_V5883.clone(); - let __t668 = { - let __t667 = Value::sym(interp.intern("shen.*synonyms*")); - rt::apply_direct(interp, "value", &[__t667])? - }; - rt::apply_direct(interp, "append", &[__t666, __t668])? + let __t563 = { + let __v = { + let __t561 = v_V5883.clone(); + let __t562 = rt::global_value(interp, "shen.*synonyms*")?; + rt::apply_direct(interp, "append", &[__t561, __t562])? }; - rt::apply_direct(interp, "set", &[__t665, __t669])? + rt::set_global(interp, "shen.*synonyms*", __v) }; - rt::apply_direct(interp, "shen.synonyms-h", &[__t670])? + aot_shen_x2e_synonyms_x2d_h(interp, &[__t563])? }); } } @@ -1682,41 +1572,41 @@ pub fn aot_shen_x2e_synonyms_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W5885 = { - let __t672 = { + let __t565 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5886 = args[0].clone(); Ok({ - let __t671 = v_Z5886.clone(); - rt::apply_direct(interp, "shen.curry-type", &[__t671])? + let __t564 = v_Z5886.clone(); + rt::apply_direct(interp, "shen.curry-type", &[__t564])? }) }, Vec::new(), interp, ) }; - let __t673 = v_V5884.clone(); - rt::apply_direct(interp, "map", &[__t672, __t673])? + let __t566 = v_V5884.clone(); + rt::apply_direct(interp, "map", &[__t565, __t566])? }; { let v_W5887 = { - let __t679 = { - let __t674 = Value::sym(interp.intern("define")); - let __t678 = { - let __t675 = Value::sym(interp.intern("shen.demod")); - let __t677 = { - let __t676 = v_W5885.clone(); - rt::apply_direct(interp, "shen.compile-synonyms", &[__t676])? + let __t572 = { + let __t567 = Value::sym(interp.intern_static("define")); + let __t571 = { + let __t568 = Value::sym(interp.intern_static("shen.demod")); + let __t570 = { + let __t569 = v_W5885.clone(); + aot_shen_x2e_compile_x2d_synonyms(interp, &[__t569])? }; - rt::cons(&__t675, &__t677) + rt::cons(&__t568, &__t570) }; - rt::cons(&__t674, &__t678) + rt::cons(&__t567, &__t571) }; - rt::apply_direct(interp, "eval", &[__t679])? + rt::apply_direct(interp, "eval", &[__t572])? }; - break Ok(Value::sym(interp.intern("synonyms"))); + break Ok(Value::sym(interp.intern_static("synonyms"))); } } } @@ -1740,104 +1630,96 @@ pub fn aot_shen_x2e_compile_x2d_synonyms(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t682 = { - let __t680 = Value::nil(); - let __t681 = v_V5890.clone(); - rt::eq(&__t680, &__t681) - }; - if match rt::is_truthy(interp, &__t682) { + let __t573 = Value::bool((v_V5890.clone()).is_nil()); + if match rt::is_truthy(interp, &__t573) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5891 = { - let __t683 = Value::sym(interp.intern("X")); - rt::apply_direct(interp, "gensym", &[__t683])? + let __t574 = Value::sym(interp.intern_static("X")); + rt::apply_direct(interp, "gensym", &[__t574])? }; break Ok({ - let __t684 = v_W5891.clone(); - let __t689 = { - let __t685 = Value::sym(interp.intern("->")); - let __t688 = { - let __t686 = v_W5891.clone(); - let __t687 = Value::nil(); - rt::cons(&__t686, &__t687) + let __t575 = v_W5891.clone(); + let __t580 = { + let __t576 = Value::sym(interp.intern_static("->")); + let __t579 = { + let __t577 = v_W5891.clone(); + let __t578 = Value::nil(); + rt::cons(&__t577, &__t578) }; - rt::cons(&__t685, &__t688) + rt::cons(&__t576, &__t579) }; - rt::cons(&__t684, &__t689) + rt::cons(&__t575, &__t580) }); } } else { { - let __t695 = { - let __t693 = { - let __t690 = v_V5890.clone(); - rt::is_cons(&__t690) + let __t586 = { + let __t584 = { + let __t581 = v_V5890.clone(); + rt::is_cons(&__t581) }; - if !rt::is_truthy(interp, &__t693)? { + if !rt::is_truthy(interp, &__t584)? { Value::bool(false) } else { - let __t694 = { - let __t692 = { - let __t691 = v_V5890.clone(); - rt::tl(&__t691)? + let __t585 = { + let __t583 = { + let __t582 = v_V5890.clone(); + rt::tl(&__t582)? }; - rt::is_cons(&__t692) + rt::is_cons(&__t583) }; - Value::bool(rt::is_truthy(interp, &__t694)?) + Value::bool(rt::is_truthy(interp, &__t585)?) } }; - if match rt::is_truthy(interp, &__t695) { + if match rt::is_truthy(interp, &__t586) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t698 = { - let __t697 = { - let __t696 = v_V5890.clone(); - rt::hd(&__t696)? + let __t589 = { + let __t588 = { + let __t587 = v_V5890.clone(); + rt::hd(&__t587)? }; - rt::apply_direct(interp, "shen.rcons_form", &[__t697])? + aot_shen_x2e_rcons_form(interp, &[__t588])? }; - let __t709 = { - let __t699 = Value::sym(interp.intern("->")); - let __t708 = { - let __t703 = { - let __t702 = { - let __t701 = { - let __t700 = v_V5890.clone(); - rt::tl(&__t700)? + let __t600 = { + let __t590 = Value::sym(interp.intern_static("->")); + let __t599 = { + let __t594 = { + let __t593 = { + let __t592 = { + let __t591 = v_V5890.clone(); + rt::tl(&__t591)? }; - rt::hd(&__t701)? + rt::hd(&__t592)? }; - rt::apply_direct(interp, "shen.rcons_form", &[__t702])? + aot_shen_x2e_rcons_form(interp, &[__t593])? }; - let __t707 = { - let __t706 = { - let __t705 = { - let __t704 = v_V5890.clone(); - rt::tl(&__t704)? + let __t598 = { + let __t597 = { + let __t596 = { + let __t595 = v_V5890.clone(); + rt::tl(&__t595)? }; - rt::tl(&__t705)? + rt::tl(&__t596)? }; - rt::apply_direct( - interp, - "shen.compile-synonyms", - &[__t706], - )? + aot_shen_x2e_compile_x2d_synonyms(interp, &[__t597])? }; - rt::cons(&__t703, &__t707) + rt::cons(&__t594, &__t598) }; - rt::cons(&__t699, &__t708) + rt::cons(&__t590, &__t599) }; - rt::cons(&__t698, &__t709) + rt::cons(&__t589, &__t600) }); } else { break Ok({ - let __t710 = + let __t601 = Value::str("synonyms requires an even number of arguments\n"); - rt::apply_direct(interp, "simple-error", &[__t710])? + rt::apply_direct(interp, "simple-error", &[__t601])? }); } } @@ -1868,183 +1750,159 @@ pub fn aot_shen_x2e_process_x2d_lambda(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let v_GoTo5893 = { - let v_V5892 = v_V5892.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| Ok(v_V5892.clone()), - vec![v_V5892], - interp, - ) - }; + let __t602 = |interp: &mut Interp| -> ShenResult { Ok(v_V5892.clone()) }; { - let __t712 = { - let __t711 = v_V5892.clone(); - rt::is_cons(&__t711) + let __t604 = { + let __t603 = v_V5892.clone(); + rt::is_cons(&__t603) }; - if match rt::is_truthy(interp, &__t712) { + if match rt::is_truthy(interp, &__t604) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5900 = { - let __t713 = v_V5892.clone(); - rt::tl(&__t713)? + let __t605 = v_V5892.clone(); + rt::tl(&__t605)? }; { - let __t717 = { - let __t714 = Value::sym(interp.intern("/.")); - let __t716 = { - let __t715 = v_V5892.clone(); - rt::hd(&__t715)? - }; - rt::eq(&__t714, &__t716) - }; - if match rt::is_truthy(interp, &__t717) { + let __t607 = Value::bool( + ({ + let __t606 = v_V5892.clone(); + rt::hd(&__t606)? + }) + .as_sym() + == Some(interp.intern_static("/.")), + ); + if match rt::is_truthy(interp, &__t607) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t719 = { - let __t718 = v_Select5900.clone(); - rt::is_cons(&__t718) + let __t609 = { + let __t608 = v_Select5900.clone(); + rt::is_cons(&__t608) }; - if match rt::is_truthy(interp, &__t719) { + if match rt::is_truthy(interp, &__t609) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5898 = { - let __t720 = v_Select5900.clone(); - rt::hd(&__t720)? + let __t610 = v_Select5900.clone(); + rt::hd(&__t610)? }; { let v_Select5899 = { - let __t721 = v_Select5900.clone(); - rt::tl(&__t721)? + let __t611 = v_Select5900.clone(); + rt::tl(&__t611)? }; { - let __t723 = { - let __t722 = v_Select5899.clone(); - rt::is_cons(&__t722) + let __t613 = { + let __t612 = v_Select5899.clone(); + rt::is_cons(&__t612) }; - if match rt::is_truthy(interp, &__t723) { + if match rt::is_truthy(interp, &__t613) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5897 = { - let __t724 = v_Select5899.clone(); - rt::tl(&__t724)? + let __t614 = v_Select5899.clone(); + rt::tl(&__t614)? }; { - let __t726 = { - let __t725 = + let __t616 = { + let __t615 = v_Select5897.clone(); - rt::is_cons(&__t725) + rt::is_cons(&__t615) }; if match rt::is_truthy( - interp, &__t726, + interp, &__t616, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t727 = Value::sym( - interp.intern("lambda"), + let __t617 = Value::sym( + interp.intern_static( + "lambda", + ), ); - let __t735 = { - let __t728 = + let __t625 = { + let __t618 = v_Select5898 .clone(); - let __t734 = { - let __t732 = { - let __t731 = { - let __t729 = Value::sym(interp.intern("/.")); - let __t730 = v_Select5899.clone(); + let __t624 = { + let __t622 = { + let __t621 = { + let __t619 = Value::sym(interp.intern_static("/.")); + let __t620 = v_Select5899.clone(); rt::cons( - &__t729, - &__t730, + &__t619, + &__t620, ) }; - rt::apply_direct(interp, "shen.process-lambda", &[__t731])? + aot_shen_x2e_process_x2d_lambda(interp, &[__t621])? }; - let __t733 = + let __t623 = Value::nil(); rt::cons( - &__t732, - &__t733, + &__t622, + &__t623, ) }; rt::cons( - &__t728, &__t734, + &__t618, &__t624, ) }; - rt::cons(&__t727, &__t735) + rt::cons(&__t617, &__t625) }); } else { { - let __t738 = { - let __t736 = - Value::nil(); - let __t737 = - v_Select5897 - .clone(); - rt::eq(&__t736, &__t737) - }; + let __t626 = Value::bool( + (v_Select5897.clone()) + .is_nil(), + ); if match rt::is_truthy( - interp, &__t738, + interp, &__t626, ) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t740 = { - let __t739 = v_Select5898.clone(); - rt::apply_direct(interp, "variable?", &[__t739])? + let __t628 = { + let __t627 = v_Select5898.clone(); + rt::apply_direct(interp, "variable?", &[__t627])? }; - if match rt::is_truthy(interp, &__t740) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t741 = Value::sym(interp.intern("lambda")); let __t742 = v_Select5900.clone(); rt::cons(&__t741, &__t742) }); } else { break Ok({ let __t746 = { let __t743 = v_Select5898.clone(); let __t744 = Value::str(" is not a variable\n"); let __t745 = Value::sym(interp.intern("shen.s")); rt::apply_direct(interp, "shen.app", &[__t743, __t744, __t745])? }; rt::apply_direct(interp, "simple-error", &[__t746])? }); } + if match rt::is_truthy(interp, &__t628) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t629 = Value::sym(interp.intern_static("lambda")); let __t630 = v_Select5900.clone(); rt::cons(&__t629, &__t630) }); } else { break Ok({ let __t634 = { let __t631 = v_Select5898.clone(); let __t632 = Value::str(" is not a variable\n"); let __t633 = Value::sym(interp.intern_static("shen.s")); rt::apply_direct(interp, "shen.app", &[__t631, __t632, __t633])? }; rt::apply_direct(interp, "simple-error", &[__t634])? }); } } } else { - break Ok( - rt::apply_value( - interp, - v_GoTo5893 - .clone(), - &[], - )?, - ); + break Ok(__t602( + interp, + )?); } } } } } } else { - break Ok(rt::apply_value( - interp, - v_GoTo5893.clone(), - &[], - )?); + break Ok(__t602(interp)?); } } } } } else { - break Ok(rt::apply_value( - interp, - v_GoTo5893.clone(), - &[], - )?); + break Ok(__t602(interp)?); } } } else { - break Ok(rt::apply_value(interp, v_GoTo5893.clone(), &[])?); + break Ok(__t602(interp)?); } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5893.clone(), &[])?); + break Ok(__t602(interp)?); } } } @@ -2080,168 +1938,115 @@ pub fn aot_shen_x2e_process_x2d_cases(interp: &mut Interp, args: &[Value]) -> Sh ) }; { - let __t748 = { - let __t747 = v_V5903.clone(); - rt::is_cons(&__t747) + let __t636 = { + let __t635 = v_V5903.clone(); + rt::is_cons(&__t635) }; - if match rt::is_truthy(interp, &__t748) { + if match rt::is_truthy(interp, &__t636) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5912 = { - let __t749 = v_V5903.clone(); - rt::tl(&__t749)? + let __t637 = v_V5903.clone(); + rt::tl(&__t637)? }; { - let __t753 = { - let __t750 = Value::sym(interp.intern("cases")); - let __t752 = { - let __t751 = v_V5903.clone(); - rt::hd(&__t751)? - }; - rt::eq(&__t750, &__t752) - }; - if match rt::is_truthy(interp, &__t753) { + let __t639 = Value::bool( + ({ + let __t638 = v_V5903.clone(); + rt::hd(&__t638)? + }) + .as_sym() + == Some(interp.intern_static("cases")), + ); + if match rt::is_truthy(interp, &__t639) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t755 = { - let __t754 = v_Select5912.clone(); - rt::is_cons(&__t754) + let __t641 = { + let __t640 = v_Select5912.clone(); + rt::is_cons(&__t640) }; - if match rt::is_truthy(interp, &__t755) { + if match rt::is_truthy(interp, &__t641) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5910 = { - let __t756 = v_Select5912.clone(); - rt::hd(&__t756)? + let __t642 = v_Select5912.clone(); + rt::hd(&__t642)? }; { let v_Select5911 = { - let __t757 = v_Select5912.clone(); - rt::tl(&__t757)? + let __t643 = v_Select5912.clone(); + rt::tl(&__t643)? }; { - let __t763 = { - let __t761 = { - let __t758 = Value::bool(true); - let __t759 = v_Select5910.clone(); - rt::eq(&__t758, &__t759) + let __t649 = { + let __t647 = { + let __t644 = Value::bool(true); + let __t645 = v_Select5910.clone(); + rt::eq(&__t644, &__t645) }; - if !rt::is_truthy(interp, &__t761)? { + if !rt::is_truthy(interp, &__t647)? { Value::bool(false) } else { - let __t762 = { - let __t760 = v_Select5911.clone(); - rt::is_cons(&__t760) + let __t648 = { + let __t646 = v_Select5911.clone(); + rt::is_cons(&__t646) }; Value::bool(rt::is_truthy( - interp, &__t762, + interp, &__t648, )?) } }; - if match rt::is_truthy(interp, &__t763) { + if match rt::is_truthy(interp, &__t649) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t764 = v_Select5911.clone(); - rt::hd(&__t764)? + let __t650 = v_Select5911.clone(); + rt::hd(&__t650)? }); } else { { - let v_GoTo5907 = { - let v_GoTo5904 = v_GoTo5904.clone(); - let v_Select5911 = - v_Select5911.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t768 = { - let __t765 = - Value::nil(); - let __t766 = - v_Select5911 - .clone(); - rt::eq( - &__t765, - &__t766, - ) - }; - if rt::is_truthy( - interp, &__t768, - )? { - { - let __t767 = Value::str("error: odd number of case elements\n"); - rt::apply_direct(interp, "simple-error", &[__t767])? - } - } else { - rt::apply_value( - interp, - v_GoTo5904 - .clone(), - &[], - )? - } - }) - }, - vec![v_GoTo5904, v_Select5911], - interp, - ) - }; + let __t653 = |interp: &mut Interp| -> ShenResult { Ok({ let __t652 = Value::bool((v_Select5911.clone()).is_nil()); if rt::is_truthy(interp, &__t652)? { { let __t651 = Value::str("error: odd number of case elements\n"); rt::apply_direct(interp, "simple-error", &[__t651])? } } else { rt::apply_value(interp, v_GoTo5904.clone(), &[])? } }) }; { - let __t770 = { - let __t769 = + let __t655 = { + let __t654 = v_Select5911.clone(); - rt::is_cons(&__t769) + rt::is_cons(&__t654) }; if match rt::is_truthy( - interp, &__t770, + interp, &__t655, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5908 = { - let __t771 = + let __t656 = v_Select5911 .clone(); - rt::hd(&__t771)? + rt::hd(&__t656)? }; { let v_Select5909 = { - let __t772 = + let __t657 = v_Select5911 .clone(); - rt::tl(&__t772)? + rt::tl(&__t657)? }; { - let __t775 = { - let __t773 = - Value::nil( - ); - let __t774 = v_Select5909.clone(); - rt::eq( - &__t773, - &__t774, - ) - }; - if match rt::is_truthy(interp, &__t775) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t776 = Value::sym(interp.intern("if")); let __t787 = { let __t777 = v_Select5910.clone(); let __t786 = { let __t778 = v_Select5908.clone(); let __t785 = { let __t783 = { let __t779 = Value::sym(interp.intern("simple-error")); let __t782 = { let __t780 = Value::str("error: cases exhausted"); let __t781 = Value::nil(); rt::cons(&__t780, &__t781) }; rt::cons(&__t779, &__t782) }; let __t784 = Value::nil(); rt::cons(&__t783, &__t784) }; rt::cons(&__t778, &__t785) }; rt::cons(&__t777, &__t786) }; rt::cons(&__t776, &__t787) }); } else { break Ok({ let __t788 = Value::sym(interp.intern("if")); let __t798 = { let __t789 = v_Select5910.clone(); let __t797 = { let __t790 = v_Select5908.clone(); let __t796 = { let __t794 = { let __t793 = { let __t791 = Value::sym(interp.intern("cases")); let __t792 = v_Select5909.clone(); rt::cons(&__t791, &__t792) }; rt::apply_direct(interp, "shen.process-cases", &[__t793])? }; let __t795 = Value::nil(); rt::cons(&__t794, &__t795) }; rt::cons(&__t790, &__t796) }; rt::cons(&__t789, &__t797) }; rt::cons(&__t788, &__t798) }); } + let __t658 = Value::bool((v_Select5909.clone()).is_nil()); + if match rt::is_truthy(interp, &__t658) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t659 = Value::sym(interp.intern_static("if")); let __t670 = { let __t660 = v_Select5910.clone(); let __t669 = { let __t661 = v_Select5908.clone(); let __t668 = { let __t666 = { let __t662 = Value::sym(interp.intern_static("simple-error")); let __t665 = { let __t663 = Value::str("error: cases exhausted"); let __t664 = Value::nil(); rt::cons(&__t663, &__t664) }; rt::cons(&__t662, &__t665) }; let __t667 = Value::nil(); rt::cons(&__t666, &__t667) }; rt::cons(&__t661, &__t668) }; rt::cons(&__t660, &__t669) }; rt::cons(&__t659, &__t670) }); } else { break Ok({ let __t671 = Value::sym(interp.intern_static("if")); let __t681 = { let __t672 = v_Select5910.clone(); let __t680 = { let __t673 = v_Select5908.clone(); let __t679 = { let __t677 = { let __t676 = { let __t674 = Value::sym(interp.intern_static("cases")); let __t675 = v_Select5909.clone(); rt::cons(&__t674, &__t675) }; aot_shen_x2e_process_x2d_cases(interp, &[__t676])? }; let __t678 = Value::nil(); rt::cons(&__t677, &__t678) }; rt::cons(&__t673, &__t679) }; rt::cons(&__t672, &__t680) }; rt::cons(&__t671, &__t681) }); } } } } } else { - break Ok(rt::apply_value( - interp, - v_GoTo5907.clone(), - &[], - )?); + break Ok(__t653(interp)?); } } } @@ -2288,155 +2093,164 @@ pub fn aot_shen_x2e_process_x2d_time(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { break Ok({ - let __t799 = Value::sym(interp.intern("let")); - let __t860 = { - let __t800 = Value::sym(interp.intern("Start")); - let __t859 = { - let __t805 = { - let __t801 = Value::sym(interp.intern("get-time")); - let __t804 = { - let __t802 = Value::sym(interp.intern("run")); - let __t803 = Value::nil(); - rt::cons(&__t802, &__t803) + let __t682 = Value::sym(interp.intern_static("let")); + let __t743 = { + let __t683 = Value::sym(interp.intern_static("Start")); + let __t742 = { + let __t688 = { + let __t684 = Value::sym(interp.intern_static("get-time")); + let __t687 = { + let __t685 = Value::sym(interp.intern_static("run")); + let __t686 = Value::nil(); + rt::cons(&__t685, &__t686) }; - rt::cons(&__t801, &__t804) + rt::cons(&__t684, &__t687) }; - let __t858 = { - let __t806 = Value::sym(interp.intern("Result")); - let __t857 = { - let __t807 = v_V5913.clone(); - let __t856 = { - let __t808 = Value::sym(interp.intern("Finish")); - let __t855 = { - let __t813 = { - let __t809 = Value::sym(interp.intern("get-time")); - let __t812 = { - let __t810 = Value::sym(interp.intern("run")); - let __t811 = Value::nil(); - rt::cons(&__t810, &__t811) + let __t741 = { + let __t689 = Value::sym(interp.intern_static("Result")); + let __t740 = { + let __t690 = v_V5913.clone(); + let __t739 = { + let __t691 = Value::sym(interp.intern_static("Finish")); + let __t738 = { + let __t696 = { + let __t692 = Value::sym(interp.intern_static("get-time")); + let __t695 = { + let __t693 = Value::sym(interp.intern_static("run")); + let __t694 = Value::nil(); + rt::cons(&__t693, &__t694) }; - rt::cons(&__t809, &__t812) + rt::cons(&__t692, &__t695) }; - let __t854 = { - let __t814 = Value::sym(interp.intern("Time")); - let __t853 = { - let __t821 = { - let __t815 = Value::sym(interp.intern("-")); - let __t820 = { - let __t816 = - Value::sym(interp.intern("Finish")); - let __t819 = { - let __t817 = - Value::sym(interp.intern("Start")); - let __t818 = Value::nil(); - rt::cons(&__t817, &__t818) + let __t737 = { + let __t697 = Value::sym(interp.intern_static("Time")); + let __t736 = { + let __t704 = { + let __t698 = Value::sym(interp.intern_static("-")); + let __t703 = { + let __t699 = + Value::sym(interp.intern_static("Finish")); + let __t702 = { + let __t700 = Value::sym( + interp.intern_static("Start"), + ); + let __t701 = Value::nil(); + rt::cons(&__t700, &__t701) }; - rt::cons(&__t816, &__t819) + rt::cons(&__t699, &__t702) }; - rt::cons(&__t815, &__t820) + rt::cons(&__t698, &__t703) }; - let __t852 = { - let __t822 = Value::sym(interp.intern("Message")); - let __t851 = { - let __t847 = { - let __t823 = - Value::sym(interp.intern("pr")); - let __t846 = { - let __t840 = { - let __t824 = - Value::sym(interp.intern("cn")); - let __t839 = { - let __t825 = + let __t735 = { + let __t705 = + Value::sym(interp.intern_static("Message")); + let __t734 = { + let __t730 = { + let __t706 = + Value::sym(interp.intern_static("pr")); + let __t729 = { + let __t723 = { + let __t707 = Value::sym( + interp.intern_static("cn"), + ); + let __t722 = { + let __t708 = Value::str("\nrun time: "); - let __t838 = { - let __t836 = { - let __t826 = Value::sym( - interp.intern("cn"), + let __t721 = { + let __t719 = { + let __t709 = Value::sym( + interp + .intern_static( + "cn", + ), ); - let __t835 = { - let __t831 = { - let __t827 = Value::sym(interp.intern("str")); - let __t830 = { - let __t828 = Value::sym(interp.intern("Time")); - let __t829 = Value::nil(); + let __t718 = { + let __t714 = { + let __t710 = Value::sym(interp.intern_static("str")); + let __t713 = { + let __t711 = Value::sym(interp.intern_static("Time")); + let __t712 = Value::nil(); rt::cons( - &__t828, - &__t829, + &__t711, + &__t712, ) }; rt::cons( - &__t827, - &__t830, + &__t710, + &__t713, ) }; - let __t834 = { - let __t832 = Value::str(" secs\n"); - let __t833 = + let __t717 = { + let __t715 = Value::str(" secs\n"); + let __t716 = Value::nil( ); rt::cons( - &__t832, - &__t833, + &__t715, + &__t716, ) }; rt::cons( - &__t831, - &__t834, + &__t714, + &__t717, ) }; rt::cons( - &__t826, &__t835, + &__t709, &__t718, ) }; - let __t837 = Value::nil(); - rt::cons(&__t836, &__t837) + let __t720 = Value::nil(); + rt::cons(&__t719, &__t720) }; - rt::cons(&__t825, &__t838) + rt::cons(&__t708, &__t721) }; - rt::cons(&__t824, &__t839) + rt::cons(&__t707, &__t722) }; - let __t845 = { - let __t843 = { - let __t841 = Value::sym( - interp.intern("stoutput"), + let __t728 = { + let __t726 = { + let __t724 = Value::sym( + interp.intern_static( + "stoutput", + ), ); - let __t842 = Value::nil(); - rt::cons(&__t841, &__t842) + let __t725 = Value::nil(); + rt::cons(&__t724, &__t725) }; - let __t844 = Value::nil(); - rt::cons(&__t843, &__t844) + let __t727 = Value::nil(); + rt::cons(&__t726, &__t727) }; - rt::cons(&__t840, &__t845) + rt::cons(&__t723, &__t728) }; - rt::cons(&__t823, &__t846) + rt::cons(&__t706, &__t729) }; - let __t850 = { - let __t848 = - Value::sym(interp.intern("Result")); - let __t849 = Value::nil(); - rt::cons(&__t848, &__t849) + let __t733 = { + let __t731 = Value::sym( + interp.intern_static("Result"), + ); + let __t732 = Value::nil(); + rt::cons(&__t731, &__t732) }; - rt::cons(&__t847, &__t850) + rt::cons(&__t730, &__t733) }; - rt::cons(&__t822, &__t851) + rt::cons(&__t705, &__t734) }; - rt::cons(&__t821, &__t852) + rt::cons(&__t704, &__t735) }; - rt::cons(&__t814, &__t853) + rt::cons(&__t697, &__t736) }; - rt::cons(&__t813, &__t854) + rt::cons(&__t696, &__t737) }; - rt::cons(&__t808, &__t855) + rt::cons(&__t691, &__t738) }; - rt::cons(&__t807, &__t856) + rt::cons(&__t690, &__t739) }; - rt::cons(&__t806, &__t857) + rt::cons(&__t689, &__t740) }; - rt::cons(&__t805, &__t858) + rt::cons(&__t688, &__t741) }; - rt::cons(&__t800, &__t859) + rt::cons(&__t683, &__t742) }; - rt::cons(&__t799, &__t860) + rt::cons(&__t682, &__t743) }); } } @@ -2459,99 +2273,99 @@ pub fn aot_shen_x2e_process_x2d_assoc(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let __t877 = { - let __t875 = { - let __t861 = v_V5914.clone(); - rt::is_cons(&__t861) + let __t760 = { + let __t758 = { + let __t744 = v_V5914.clone(); + rt::is_cons(&__t744) }; - if !rt::is_truthy(interp, &__t875)? { + if !rt::is_truthy(interp, &__t758)? { Value::bool(false) } else { - let __t876 = { - let __t873 = { - let __t863 = { - let __t862 = v_V5914.clone(); - rt::tl(&__t862)? + let __t759 = { + let __t756 = { + let __t746 = { + let __t745 = v_V5914.clone(); + rt::tl(&__t745)? }; - rt::is_cons(&__t863) + rt::is_cons(&__t746) }; - if !rt::is_truthy(interp, &__t873)? { + if !rt::is_truthy(interp, &__t756)? { Value::bool(false) } else { - let __t874 = { - let __t871 = { - let __t866 = { - let __t865 = { - let __t864 = v_V5914.clone(); - rt::tl(&__t864)? + let __t757 = { + let __t754 = { + let __t749 = { + let __t748 = { + let __t747 = v_V5914.clone(); + rt::tl(&__t747)? }; - rt::tl(&__t865)? + rt::tl(&__t748)? }; - rt::is_cons(&__t866) + rt::is_cons(&__t749) }; - if !rt::is_truthy(interp, &__t871)? { + if !rt::is_truthy(interp, &__t754)? { Value::bool(false) } else { - let __t872 = { - let __t870 = { - let __t869 = { - let __t868 = { - let __t867 = v_V5914.clone(); - rt::tl(&__t867)? + let __t755 = { + let __t753 = { + let __t752 = { + let __t751 = { + let __t750 = v_V5914.clone(); + rt::tl(&__t750)? }; - rt::tl(&__t868)? + rt::tl(&__t751)? }; - rt::tl(&__t869)? + rt::tl(&__t752)? }; - rt::is_cons(&__t870) + rt::is_cons(&__t753) }; - Value::bool(rt::is_truthy(interp, &__t872)?) + Value::bool(rt::is_truthy(interp, &__t755)?) } }; - Value::bool(rt::is_truthy(interp, &__t874)?) + Value::bool(rt::is_truthy(interp, &__t757)?) } }; - Value::bool(rt::is_truthy(interp, &__t876)?) + Value::bool(rt::is_truthy(interp, &__t759)?) } }; - if match rt::is_truthy(interp, &__t877) { + if match rt::is_truthy(interp, &__t760) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t879 = { - let __t878 = v_V5914.clone(); - rt::hd(&__t878)? + let __t762 = { + let __t761 = v_V5914.clone(); + rt::hd(&__t761)? }; - let __t891 = { - let __t882 = { - let __t881 = { - let __t880 = v_V5914.clone(); - rt::tl(&__t880)? + let __t774 = { + let __t765 = { + let __t764 = { + let __t763 = v_V5914.clone(); + rt::tl(&__t763)? }; - rt::hd(&__t881)? + rt::hd(&__t764)? }; - let __t890 = { - let __t888 = { - let __t884 = { - let __t883 = v_V5914.clone(); - rt::hd(&__t883)? + let __t773 = { + let __t771 = { + let __t767 = { + let __t766 = v_V5914.clone(); + rt::hd(&__t766)? }; - let __t887 = { - let __t886 = { - let __t885 = v_V5914.clone(); - rt::tl(&__t885)? + let __t770 = { + let __t769 = { + let __t768 = v_V5914.clone(); + rt::tl(&__t768)? }; - rt::tl(&__t886)? + rt::tl(&__t769)? }; - rt::cons(&__t884, &__t887) + rt::cons(&__t767, &__t770) }; - let __t889 = Value::nil(); - rt::cons(&__t888, &__t889) + let __t772 = Value::nil(); + rt::cons(&__t771, &__t772) }; - rt::cons(&__t882, &__t890) + rt::cons(&__t765, &__t773) }; - rt::cons(&__t879, &__t891) + rt::cons(&__t762, &__t774) }); } else { break Ok(v_V5914.clone()); @@ -2578,14 +2392,14 @@ pub fn aot_shen_x2e_make_x2d_uppercase(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { break Ok({ - let __t894 = { - let __t893 = { - let __t892 = v_V5915.clone(); - rt::apply_direct(interp, "str", &[__t892])? + let __t777 = { + let __t776 = { + let __t775 = v_V5915.clone(); + rt::apply_direct(interp, "str", &[__t775])? }; - rt::apply_direct(interp, "shen.mu-h", &[__t893])? + aot_shen_x2e_mu_x2d_h(interp, &[__t776])? }; - rt::apply_direct(interp, "intern", &[__t894])? + rt::intern(interp, &__t777)? }); } } @@ -2608,89 +2422,85 @@ pub fn aot_shen_x2e_mu_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let __t897 = { - let __t895 = Value::str(""); - let __t896 = v_V5916.clone(); - rt::eq(&__t895, &__t896) - }; - if match rt::is_truthy(interp, &__t897) { + let __t778 = Value::bool((v_V5916.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t778) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t899 = { - let __t898 = v_V5916.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t898])? + let __t780 = { + let __t779 = v_V5916.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t779])? }; - if match rt::is_truthy(interp, &__t899) { + if match rt::is_truthy(interp, &__t780) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5917 = { - let __t901 = { - let __t900 = v_V5916.clone(); - rt::apply_direct(interp, "hdstr", &[__t900])? + let __t782 = { + let __t781 = v_V5916.clone(); + rt::hdstr(&__t781)? }; - rt::apply_direct(interp, "string->n", &[__t901])? + rt::string_to_n(&__t782)? }; { let v_W5918 = { - let __t902 = v_W5917.clone(); - let __t903 = Value::int(32i64); - rt::sub(&__t902, &__t903)? + let __t783 = v_W5917.clone(); + let __t784 = Value::int(32i64); + rt::sub(&__t783, &__t784)? }; { let v_W5919 = { - let __t912 = { - let __t908 = { - let __t904 = v_W5917.clone(); - let __t905 = Value::int(97i64); - rt::gte(&__t904, &__t905)? + let __t793 = { + let __t789 = { + let __t785 = v_W5917.clone(); + let __t786 = Value::int(97i64); + rt::gte(&__t785, &__t786)? }; - if !rt::is_truthy(interp, &__t908)? { + if !rt::is_truthy(interp, &__t789)? { Value::bool(false) } else { - let __t909 = { - let __t906 = v_W5917.clone(); - let __t907 = Value::int(122i64); - rt::lte(&__t906, &__t907)? + let __t790 = { + let __t787 = v_W5917.clone(); + let __t788 = Value::int(122i64); + rt::lte(&__t787, &__t788)? }; - Value::bool(rt::is_truthy(interp, &__t909)?) + Value::bool(rt::is_truthy(interp, &__t790)?) } }; - if rt::is_truthy(interp, &__t912)? { + if rt::is_truthy(interp, &__t793)? { { - let __t910 = v_W5918.clone(); - rt::apply_direct(interp, "n->string", &[__t910])? + let __t791 = v_W5918.clone(); + rt::n_to_string(&__t791)? } } else { { - let __t911 = v_V5916.clone(); - rt::apply_direct(interp, "hdstr", &[__t911])? + let __t792 = v_V5916.clone(); + rt::hdstr(&__t792)? } } }; break Ok({ - let __t913 = v_W5919.clone(); - let __t916 = { - let __t915 = { - let __t914 = v_V5916.clone(); - rt::apply_direct(interp, "tlstr", &[__t914])? + let __t794 = v_W5919.clone(); + let __t797 = { + let __t796 = { + let __t795 = v_V5916.clone(); + rt::tlstr(&__t795)? }; - rt::apply_direct(interp, "shen.mu-h", &[__t915])? + aot_shen_x2e_mu_x2d_h(interp, &[__t796])? }; - rt::apply_direct(interp, "@s", &[__t913, __t916])? + rt::apply_direct(interp, "@s", &[__t794, __t797])? }); } } } } else { break Ok({ - let __t917 = Value::str("partial function shen.mu-h"); - rt::apply_direct(interp, "simple-error", &[__t917])? + let __t798 = Value::str("partial function shen.mu-h"); + rt::apply_direct(interp, "simple-error", &[__t798])? }); } } @@ -2719,17 +2529,13 @@ pub fn aot_shen_x2e_record_x2d_macro(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { break Ok({ - let __t918 = Value::sym(interp.intern("*macros*")); - let __t923 = { - let __t919 = v_V5920.clone(); - let __t920 = v_V5921.clone(); - let __t922 = { - let __t921 = Value::sym(interp.intern("*macros*")); - rt::apply_direct(interp, "value", &[__t921])? - }; - rt::apply_direct(interp, "shen.update-assoc", &[__t919, __t920, __t922])? + let __v = { + let __t799 = v_V5920.clone(); + let __t800 = v_V5921.clone(); + let __t801 = rt::global_value(interp, "*macros*")?; + aot_shen_x2e_update_x2d_assoc(interp, &[__t799, __t800, __t801])? }; - rt::apply_direct(interp, "set", &[__t918, __t923])? + rt::set_global(interp, "*macros*", __v) }); } } @@ -2756,117 +2562,103 @@ pub fn aot_shen_x2e_update_x2d_assoc(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t926 = { - let __t924 = Value::nil(); - let __t925 = v_V5933.clone(); - rt::eq(&__t924, &__t925) - }; - if match rt::is_truthy(interp, &__t926) { + let __t802 = Value::bool((v_V5933.clone()).is_nil()); + if match rt::is_truthy(interp, &__t802) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t929 = { - let __t927 = v_V5931.clone(); - let __t928 = v_V5932.clone(); - rt::cons(&__t927, &__t928) + let __t805 = { + let __t803 = v_V5931.clone(); + let __t804 = v_V5932.clone(); + rt::cons(&__t803, &__t804) }; - let __t930 = Value::nil(); - rt::cons(&__t929, &__t930) + let __t806 = Value::nil(); + rt::cons(&__t805, &__t806) }); } else { { - let v_GoTo5934 = { - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t931 = - Value::str("implementation error in shen.update-assoc"); - rt::apply_direct(interp, "simple-error", &[__t931])? - }) - }, - Vec::new(), - interp, - ) + let __t808 = |interp: &mut Interp| -> ShenResult { + Ok({ + let __t807 = Value::str("implementation error in shen.update-assoc"); + rt::apply_direct(interp, "simple-error", &[__t807])? + }) }; { - let __t933 = { - let __t932 = v_V5933.clone(); - rt::is_cons(&__t932) + let __t810 = { + let __t809 = v_V5933.clone(); + rt::is_cons(&__t809) }; - if match rt::is_truthy(interp, &__t933) { + if match rt::is_truthy(interp, &__t810) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5935 = { - let __t934 = v_V5933.clone(); - rt::hd(&__t934)? + let __t811 = v_V5933.clone(); + rt::hd(&__t811)? }; { let v_Select5936 = { - let __t935 = v_V5933.clone(); - rt::tl(&__t935)? + let __t812 = v_V5933.clone(); + rt::tl(&__t812)? }; { - let __t942 = { - let __t940 = { - let __t936 = v_Select5935.clone(); - rt::is_cons(&__t936) + let __t819 = { + let __t817 = { + let __t813 = v_Select5935.clone(); + rt::is_cons(&__t813) }; - if !rt::is_truthy(interp, &__t940)? { + if !rt::is_truthy(interp, &__t817)? { Value::bool(false) } else { - let __t941 = { - let __t937 = v_V5931.clone(); - let __t939 = { - let __t938 = v_Select5935.clone(); - rt::hd(&__t938)? + let __t818 = { + let __t814 = v_V5931.clone(); + let __t816 = { + let __t815 = v_Select5935.clone(); + rt::hd(&__t815)? }; - rt::eq(&__t937, &__t939) + rt::eq(&__t814, &__t816) }; - Value::bool(rt::is_truthy(interp, &__t941)?) + Value::bool(rt::is_truthy(interp, &__t818)?) } }; - if match rt::is_truthy(interp, &__t942) { + if match rt::is_truthy(interp, &__t819) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t946 = { - let __t944 = { - let __t943 = v_Select5935.clone(); - rt::hd(&__t943)? + let __t823 = { + let __t821 = { + let __t820 = v_Select5935.clone(); + rt::hd(&__t820)? }; - let __t945 = v_V5932.clone(); - rt::cons(&__t944, &__t945) + let __t822 = v_V5932.clone(); + rt::cons(&__t821, &__t822) }; - let __t947 = v_Select5936.clone(); - rt::cons(&__t946, &__t947) + let __t824 = v_Select5936.clone(); + rt::cons(&__t823, &__t824) }); } else { break Ok({ - let __t948 = v_Select5935.clone(); - let __t952 = { - let __t949 = v_V5931.clone(); - let __t950 = v_V5932.clone(); - let __t951 = v_Select5936.clone(); - rt::apply_direct( + let __t825 = v_Select5935.clone(); + let __t829 = { + let __t826 = v_V5931.clone(); + let __t827 = v_V5932.clone(); + let __t828 = v_Select5936.clone(); + aot_shen_x2e_update_x2d_assoc( interp, - "shen.update-assoc", - &[__t949, __t950, __t951], + &[__t826, __t827, __t828], )? }; - rt::cons(&__t948, &__t952) + rt::cons(&__t825, &__t829) }); } } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5934.clone(), &[])?); + break Ok(__t808(interp)?); } } } @@ -2894,48 +2686,48 @@ pub fn aot_shen_x2e_process_x2d_read_x2d_byte( #[allow(clippy::never_loop)] loop { { - let __t954 = { - let __t953 = { rt::apply_direct(interp, "stinput", &[])? }; - rt::apply_direct(interp, "shen.char-stinput?", &[__t953])? + let __t831 = { + let __t830 = { rt::apply_direct(interp, "stinput", &[])? }; + rt::apply_direct(interp, "shen.char-stinput?", &[__t830])? }; - if match rt::is_truthy(interp, &__t954) { + if match rt::is_truthy(interp, &__t831) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t955 = Value::sym(interp.intern("string->n")); - let __t964 = { - let __t962 = { - let __t956 = Value::sym(interp.intern("shen.read-unit-string")); - let __t961 = { - let __t959 = { - let __t957 = Value::sym(interp.intern("stinput")); - let __t958 = Value::nil(); - rt::cons(&__t957, &__t958) + let __t832 = Value::sym(interp.intern_static("string->n")); + let __t841 = { + let __t839 = { + let __t833 = Value::sym(interp.intern_static("shen.read-unit-string")); + let __t838 = { + let __t836 = { + let __t834 = Value::sym(interp.intern_static("stinput")); + let __t835 = Value::nil(); + rt::cons(&__t834, &__t835) }; - let __t960 = Value::nil(); - rt::cons(&__t959, &__t960) + let __t837 = Value::nil(); + rt::cons(&__t836, &__t837) }; - rt::cons(&__t956, &__t961) + rt::cons(&__t833, &__t838) }; - let __t963 = Value::nil(); - rt::cons(&__t962, &__t963) + let __t840 = Value::nil(); + rt::cons(&__t839, &__t840) }; - rt::cons(&__t955, &__t964) + rt::cons(&__t832, &__t841) }); } else { break Ok({ - let __t965 = Value::sym(interp.intern("read-byte")); - let __t970 = { - let __t968 = { - let __t966 = Value::sym(interp.intern("stinput")); - let __t967 = Value::nil(); - rt::cons(&__t966, &__t967) + let __t842 = Value::sym(interp.intern_static("read-byte")); + let __t847 = { + let __t845 = { + let __t843 = Value::sym(interp.intern_static("stinput")); + let __t844 = Value::nil(); + rt::cons(&__t843, &__t844) }; - let __t969 = Value::nil(); - rt::cons(&__t968, &__t969) + let __t846 = Value::nil(); + rt::cons(&__t845, &__t846) }; - rt::cons(&__t965, &__t970) + rt::cons(&__t842, &__t847) }); } } @@ -2968,176 +2760,183 @@ pub fn aot_shen_x2e_call_x2d_prolog(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W5938 = { - let __t971 = Value::sym(interp.intern("shen.prolog-vector")); - let __t972 = Value::nil(); - rt::cons(&__t971, &__t972) + let __t848 = Value::sym(interp.intern_static("shen.prolog-vector")); + let __t849 = Value::nil(); + rt::cons(&__t848, &__t849) }; { let v_W5939 = { - let __t973 = Value::sym(interp.intern("@v")); - let __t984 = { - let __t974 = Value::bool(true); - let __t983 = { - let __t975 = Value::int(0i64); - let __t982 = { - let __t980 = { - let __t976 = Value::sym(interp.intern("vector")); - let __t979 = { - let __t977 = Value::int(0i64); - let __t978 = Value::nil(); - rt::cons(&__t977, &__t978) + let __t850 = Value::sym(interp.intern_static("@v")); + let __t861 = { + let __t851 = Value::bool(true); + let __t860 = { + let __t852 = Value::int(0i64); + let __t859 = { + let __t857 = { + let __t853 = Value::sym(interp.intern_static("vector")); + let __t856 = { + let __t854 = Value::int(0i64); + let __t855 = Value::nil(); + rt::cons(&__t854, &__t855) }; - rt::cons(&__t976, &__t979) + rt::cons(&__t853, &__t856) }; - let __t981 = Value::nil(); - rt::cons(&__t980, &__t981) + let __t858 = Value::nil(); + rt::cons(&__t857, &__t858) }; - rt::cons(&__t975, &__t982) + rt::cons(&__t852, &__t859) }; - rt::cons(&__t974, &__t983) + rt::cons(&__t851, &__t860) }; - rt::cons(&__t973, &__t984) + rt::cons(&__t850, &__t861) }; { let v_W5940 = Value::int(0i64); { let v_W5941 = { - let __t985 = Value::sym(interp.intern("freeze")); - let __t988 = { - let __t986 = Value::bool(true); - let __t987 = Value::nil(); - rt::cons(&__t986, &__t987) + let __t862 = Value::sym(interp.intern_static("freeze")); + let __t865 = { + let __t863 = Value::bool(true); + let __t864 = Value::nil(); + rt::cons(&__t863, &__t864) }; - rt::cons(&__t985, &__t988) + rt::cons(&__t862, &__t865) }; { let v_W5942 = { - let __t990 = { + let __t867 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5943 = args[0].clone(); Ok({ - let __t989 = v_Z5943.clone(); - rt::apply_direct(interp, "shen.", &[__t989])? + let __t866 = v_Z5943.clone(); + rt::apply_direct(interp, "shen.", &[__t866])? }) }, Vec::new(), interp, ) }; - let __t991 = v_V5937.clone(); - rt::apply_direct(interp, "compile", &[__t990, __t991])? + let __t868 = v_V5937.clone(); + rt::apply_direct(interp, "compile", &[__t867, __t868])? }; { let v_W5944 = { - let __t992 = v_V5937.clone(); - rt::apply_direct(interp, "shen.received", &[__t992])? + let __t869 = v_V5937.clone(); + aot_shen_x2e_received(interp, &[__t869])? }; { let v_W5945 = { - let __t993 = Value::sym(interp.intern("V")); - rt::apply_direct(interp, "gensym", &[__t993])? + let __t870 = Value::sym(interp.intern_static("V")); + rt::apply_direct(interp, "gensym", &[__t870])? }; { let v_W5946 = { - let __t994 = Value::sym(interp.intern("L")); - rt::apply_direct(interp, "gensym", &[__t994])? + let __t871 = Value::sym(interp.intern_static("L")); + rt::apply_direct(interp, "gensym", &[__t871])? }; { let v_W5947 = { - let __t995 = Value::sym(interp.intern("K")); - rt::apply_direct(interp, "gensym", &[__t995])? + let __t872 = Value::sym(interp.intern_static("K")); + rt::apply_direct(interp, "gensym", &[__t872])? }; { let v_W5948 = { - let __t996 = Value::sym(interp.intern("C")); - rt::apply_direct(interp, "gensym", &[__t996])? + let __t873 = + Value::sym(interp.intern_static("C")); + rt::apply_direct(interp, "gensym", &[__t873])? }; { let v_W5949 = { - let __t997 = - Value::sym(interp.intern("lambda")); - let __t1026 = { - let __t998 = v_W5945.clone(); - let __t1025 = { - let __t1023 = { - let __t999 = Value::sym( - interp.intern("lambda"), + let __t874 = Value::sym( + interp.intern_static("lambda"), + ); + let __t903 = { + let __t875 = v_W5945.clone(); + let __t902 = { + let __t900 = { + let __t876 = Value::sym( + interp.intern_static( + "lambda", + ), ); - let __t1022 = { - let __t1000 = + let __t899 = { + let __t877 = v_W5946.clone(); - let __t1021 = { - let __t1019 = { - let __t1001 = Value::sym(interp.intern("lambda")); - let __t1018 = { - let __t1002 = + let __t898 = { + let __t896 = { + let __t878 = Value::sym(interp.intern_static("lambda")); + let __t895 = { + let __t879 = v_W5947 .clone( ); - let __t1017 = { - let __t1015 = { - let __t1003 = Value::sym(interp.intern("lambda")); - let __t1014 = { - let __t1004 = v_W5948.clone(); - let __t1013 = { let __t1011 = { let __t1005 = v_W5944.clone(); let __t1006 = v_W5942.clone(); let __t1007 = v_W5945.clone(); let __t1008 = v_W5946.clone(); let __t1009 = v_W5947.clone(); let __t1010 = v_W5948.clone(); rt::apply_direct(interp, "shen.continue", &[__t1005, __t1006, __t1007, __t1008, __t1009, __t1010])? }; let __t1012 = Value::nil(); rt::cons(&__t1011, &__t1012) }; - rt::cons(&__t1004, &__t1013) + let __t894 = { + let __t892 = { + let __t880 = Value::sym(interp.intern_static("lambda")); + let __t891 = { + let __t881 = v_W5948.clone(); + let __t890 = { let __t888 = { let __t882 = v_W5944.clone(); let __t883 = v_W5942.clone(); let __t884 = v_W5945.clone(); let __t885 = v_W5946.clone(); let __t886 = v_W5947.clone(); let __t887 = v_W5948.clone(); rt::apply_direct(interp, "shen.continue", &[__t882, __t883, __t884, __t885, __t886, __t887])? }; let __t889 = Value::nil(); rt::cons(&__t888, &__t889) }; + rt::cons(&__t881, &__t890) }; - rt::cons(&__t1003, &__t1014) + rt::cons(&__t880, &__t891) }; - let __t1016 = Value::nil(); - rt::cons(&__t1015, &__t1016) + let __t893 = Value::nil(); + rt::cons( + &__t892, + &__t893, + ) }; rt::cons( - &__t1002, - &__t1017, + &__t879, + &__t894, ) }; rt::cons( - &__t1001, - &__t1018, + &__t878, + &__t895, ) }; - let __t1020 = + let __t897 = Value::nil(); rt::cons( - &__t1019, &__t1020, + &__t896, &__t897, ) }; - rt::cons(&__t1000, &__t1021) + rt::cons(&__t877, &__t898) }; - rt::cons(&__t999, &__t1022) + rt::cons(&__t876, &__t899) }; - let __t1024 = Value::nil(); - rt::cons(&__t1023, &__t1024) + let __t901 = Value::nil(); + rt::cons(&__t900, &__t901) }; - rt::cons(&__t998, &__t1025) + rt::cons(&__t875, &__t902) }; - rt::cons(&__t997, &__t1026) + rt::cons(&__t874, &__t903) }; break Ok({ - let __t1027 = v_W5949.clone(); - let __t1036 = { - let __t1028 = v_W5938.clone(); - let __t1035 = { - let __t1029 = v_W5939.clone(); - let __t1034 = { - let __t1030 = v_W5940.clone(); - let __t1033 = { - let __t1031 = + let __t904 = v_W5949.clone(); + let __t913 = { + let __t905 = v_W5938.clone(); + let __t912 = { + let __t906 = v_W5939.clone(); + let __t911 = { + let __t907 = v_W5940.clone(); + let __t910 = { + let __t908 = v_W5941.clone(); - let __t1032 = Value::nil(); - rt::cons(&__t1031, &__t1032) + let __t909 = Value::nil(); + rt::cons(&__t908, &__t909) }; - rt::cons(&__t1030, &__t1033) + rt::cons(&__t907, &__t910) }; - rt::cons(&__t1029, &__t1034) + rt::cons(&__t906, &__t911) }; - rt::cons(&__t1028, &__t1035) + rt::cons(&__t905, &__t912) }; - rt::cons(&__t1027, &__t1036) + rt::cons(&__t904, &__t913) }); } } @@ -3171,89 +2970,79 @@ pub fn aot_shen_x2e_received(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let v_GoTo5953 = { - rt::make_aot_closure( - "", - 0, - move |interp, _args| Ok(Value::nil()), - Vec::new(), - interp, - ) - }; + let __t914 = |interp: &mut Interp| -> ShenResult { Ok(Value::nil()) }; { - let __t1038 = { - let __t1037 = v_V5952.clone(); - rt::is_cons(&__t1037) + let __t916 = { + let __t915 = v_V5952.clone(); + rt::is_cons(&__t915) }; - if match rt::is_truthy(interp, &__t1038) { + if match rt::is_truthy(interp, &__t916) { Ok(b) => b, Err(e) => break Err(e), } { { let v_Select5954 = { - let __t1039 = v_V5952.clone(); - rt::hd(&__t1039)? + let __t917 = v_V5952.clone(); + rt::hd(&__t917)? }; { let v_Select5955 = { - let __t1040 = v_V5952.clone(); - rt::tl(&__t1040)? + let __t918 = v_V5952.clone(); + rt::tl(&__t918)? }; { - let __t1051 = { - let __t1049 = { - let __t1041 = Value::sym(interp.intern("receive")); - let __t1042 = v_Select5954.clone(); - rt::eq(&__t1041, &__t1042) - }; - if !rt::is_truthy(interp, &__t1049)? { + let __t925 = { + let __t923 = Value::bool( + (v_Select5954.clone()).as_sym() + == Some(interp.intern_static("receive")), + ); + if !rt::is_truthy(interp, &__t923)? { Value::bool(false) } else { - let __t1050 = { - let __t1047 = { - let __t1043 = v_Select5955.clone(); - rt::is_cons(&__t1043) + let __t924 = { + let __t921 = { + let __t919 = v_Select5955.clone(); + rt::is_cons(&__t919) }; - if !rt::is_truthy(interp, &__t1047)? { + if !rt::is_truthy(interp, &__t921)? { Value::bool(false) } else { - let __t1048 = { - let __t1044 = Value::nil(); - let __t1046 = { - let __t1045 = v_Select5955.clone(); - rt::tl(&__t1045)? - }; - rt::eq(&__t1044, &__t1046) - }; - Value::bool(rt::is_truthy(interp, &__t1048)?) + let __t922 = Value::bool( + ({ + let __t920 = v_Select5955.clone(); + rt::tl(&__t920)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t922)?) } }; - Value::bool(rt::is_truthy(interp, &__t1050)?) + Value::bool(rt::is_truthy(interp, &__t924)?) } }; - if match rt::is_truthy(interp, &__t1051) { + if match rt::is_truthy(interp, &__t925) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_Select5955.clone()); } else { break Ok({ - let __t1053 = { - let __t1052 = v_Select5954.clone(); - rt::apply_direct(interp, "shen.received", &[__t1052])? + let __t927 = { + let __t926 = v_Select5954.clone(); + aot_shen_x2e_received(interp, &[__t926])? }; - let __t1055 = { - let __t1054 = v_Select5955.clone(); - rt::apply_direct(interp, "shen.received", &[__t1054])? + let __t929 = { + let __t928 = v_Select5955.clone(); + aot_shen_x2e_received(interp, &[__t928])? }; - rt::apply_direct(interp, "union", &[__t1053, __t1055])? + rt::apply_direct(interp, "union", &[__t927, __t929])? }); } } } } } else { - break Ok(rt::apply_value(interp, v_GoTo5953.clone(), &[])?); + break Ok(__t914(interp)?); } } } @@ -3277,25 +3066,22 @@ pub fn aot_shen_x2e_prolog_x2d_vector(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W5956 = { - let __t1057 = { - let __t1056 = Value::sym(interp.intern("shen.*prolog-memory*")); - rt::apply_direct(interp, "value", &[__t1056])? - }; - rt::apply_direct(interp, "absvector", &[__t1057])? + let __t930 = rt::global_value(interp, "shen.*prolog-memory*")?; + rt::apply_direct(interp, "absvector", &[__t930])? }; { let v_W5957 = { - let __t1058 = v_W5956.clone(); - let __t1059 = Value::int(0i64); - let __t1060 = Value::sym(interp.intern("shen.print-prolog-vector")); - rt::apply_direct(interp, "address->", &[__t1058, __t1059, __t1060])? + let __t931 = v_W5956.clone(); + let __t932 = Value::int(0i64); + let __t933 = Value::sym(interp.intern_static("shen.print-prolog-vector")); + rt::address_set(&__t931, &__t932, &__t933)? }; { let v_W5958 = { - let __t1061 = v_W5956.clone(); - let __t1062 = Value::int(1i64); - let __t1063 = Value::int(2i64); - rt::apply_direct(interp, "address->", &[__t1061, __t1062, __t1063])? + let __t934 = v_W5956.clone(); + let __t935 = Value::int(1i64); + let __t936 = Value::int(2i64); + rt::address_set(&__t934, &__t935, &__t936)? }; break Ok(v_W5958.clone()); } @@ -3343,38 +3129,38 @@ pub fn aot_shen_x2e_rcons_form(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t1065 = { - let __t1064 = v_V5960.clone(); - rt::is_cons(&__t1064) + let __t938 = { + let __t937 = v_V5960.clone(); + rt::is_cons(&__t937) }; - if match rt::is_truthy(interp, &__t1065) { + if match rt::is_truthy(interp, &__t938) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1066 = Value::sym(interp.intern("cons")); - let __t1075 = { - let __t1069 = { - let __t1068 = { - let __t1067 = v_V5960.clone(); - rt::hd(&__t1067)? + let __t939 = Value::sym(interp.intern_static("cons")); + let __t948 = { + let __t942 = { + let __t941 = { + let __t940 = v_V5960.clone(); + rt::hd(&__t940)? }; - rt::apply_direct(interp, "shen.rcons_form", &[__t1068])? + aot_shen_x2e_rcons_form(interp, &[__t941])? }; - let __t1074 = { - let __t1072 = { - let __t1071 = { - let __t1070 = v_V5960.clone(); - rt::tl(&__t1070)? + let __t947 = { + let __t945 = { + let __t944 = { + let __t943 = v_V5960.clone(); + rt::tl(&__t943)? }; - rt::apply_direct(interp, "shen.rcons_form", &[__t1071])? + aot_shen_x2e_rcons_form(interp, &[__t944])? }; - let __t1073 = Value::nil(); - rt::cons(&__t1072, &__t1073) + let __t946 = Value::nil(); + rt::cons(&__t945, &__t946) }; - rt::cons(&__t1069, &__t1074) + rt::cons(&__t942, &__t947) }; - rt::cons(&__t1066, &__t1075) + rt::cons(&__t939, &__t948) }); } else { break Ok(v_V5960.clone()); @@ -3401,35 +3187,35 @@ pub fn aot_shen_x2e_tuple_x2d_up(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t1077 = { - let __t1076 = v_V5961.clone(); - rt::is_cons(&__t1076) + let __t950 = { + let __t949 = v_V5961.clone(); + rt::is_cons(&__t949) }; - if match rt::is_truthy(interp, &__t1077) { + if match rt::is_truthy(interp, &__t950) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1078 = Value::sym(interp.intern("@p")); - let __t1086 = { - let __t1080 = { - let __t1079 = v_V5961.clone(); - rt::hd(&__t1079)? + let __t951 = Value::sym(interp.intern_static("@p")); + let __t959 = { + let __t953 = { + let __t952 = v_V5961.clone(); + rt::hd(&__t952)? }; - let __t1085 = { - let __t1083 = { - let __t1082 = { - let __t1081 = v_V5961.clone(); - rt::tl(&__t1081)? + let __t958 = { + let __t956 = { + let __t955 = { + let __t954 = v_V5961.clone(); + rt::tl(&__t954)? }; - rt::apply_direct(interp, "shen.tuple-up", &[__t1082])? + aot_shen_x2e_tuple_x2d_up(interp, &[__t955])? }; - let __t1084 = Value::nil(); - rt::cons(&__t1083, &__t1084) + let __t957 = Value::nil(); + rt::cons(&__t956, &__t957) }; - rt::cons(&__t1080, &__t1085) + rt::cons(&__t953, &__t958) }; - rt::cons(&__t1078, &__t1086) + rt::cons(&__t951, &__t959) }); } else { break Ok(v_V5961.clone()); @@ -3457,23 +3243,16 @@ pub fn aot_undefmacro(interp: &mut Interp, args: &[Value]) -> ShenResult loop { { let _ = { - let __t1087 = Value::sym(interp.intern("*macros*")); - let __t1094 = { - let __t1091 = { - let __t1088 = v_V5962.clone(); - let __t1090 = { - let __t1089 = Value::sym(interp.intern("*macros*")); - rt::apply_direct(interp, "value", &[__t1089])? - }; - rt::apply_direct(interp, "assoc", &[__t1088, __t1090])? - }; - let __t1093 = { - let __t1092 = Value::sym(interp.intern("*macros*")); - rt::apply_direct(interp, "value", &[__t1092])? + let __v = { + let __t962 = { + let __t960 = v_V5962.clone(); + let __t961 = rt::global_value(interp, "*macros*")?; + rt::apply_direct(interp, "assoc", &[__t960, __t961])? }; - rt::apply_direct(interp, "remove", &[__t1091, __t1093])? + let __t963 = rt::global_value(interp, "*macros*")?; + rt::apply_direct(interp, "remove", &[__t962, __t963])? }; - rt::apply_direct(interp, "set", &[__t1087, __t1094])? + rt::set_global(interp, "*macros*", __v) }; break Ok(v_V5962.clone()); } diff --git a/crates/shen-rust/src/aot/kernel/prolog.rs b/crates/shen-rust/src/aot/kernel/prolog.rs index 18bfd5f..0d47343 100644 --- a/crates/shen-rust/src/aot/kernel/prolog.rs +++ b/crates/shen-rust/src/aot/kernel/prolog.rs @@ -37,8 +37,8 @@ pub fn aot_asserta(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { break Ok({ let __t0 = v_V1245.clone(); - let __t1 = Value::sym(interp.intern("shen.top")); - rt::apply_direct(interp, "shen.assert*", &[__t0, __t1])? + let __t1 = Value::sym(interp.intern_static("shen.top")); + aot_shen_x2e_assert_x2a_(interp, &[__t0, __t1])? }); } } @@ -62,8 +62,8 @@ pub fn aot_assertz(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { break Ok({ let __t2 = v_V1246.clone(); - let __t3 = Value::sym(interp.intern("shen.bottom")); - rt::apply_direct(interp, "shen.assert*", &[__t2, __t3])? + let __t3 = Value::sym(interp.intern_static("shen.bottom")); + aot_shen_x2e_assert_x2a_(interp, &[__t2, __t3])? }); } } @@ -88,142 +88,134 @@ pub fn aot_shen_x2e_assert_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t42 = { - let __t15 = { + let __t39 = { + let __t13 = { let __t6 = v_V1247.clone(); rt::is_cons(&__t6) }; - if !rt::is_truthy(interp, &__t15)? { + if !rt::is_truthy(interp, &__t13)? { Value::bool(false) } else { - let __t16 = { - let __t13 = { + let __t14 = { + let __t11 = { let __t8 = { let __t7 = v_V1247.clone(); rt::tl(&__t7)? }; rt::is_cons(&__t8) }; - if !rt::is_truthy(interp, &__t13)? { + if !rt::is_truthy(interp, &__t11)? { Value::bool(false) } else { - let __t14 = { - let __t9 = Value::sym(interp.intern("<--")); - let __t12 = { - let __t11 = { - let __t10 = v_V1247.clone(); - rt::tl(&__t10)? + let __t12 = Value::bool( + ({ + let __t10 = { + let __t9 = v_V1247.clone(); + rt::tl(&__t9)? }; - rt::hd(&__t11)? - }; - rt::eq(&__t9, &__t12) - }; - Value::bool(rt::is_truthy(interp, &__t14)?) + rt::hd(&__t10)? + }) + .as_sym() + == Some(interp.intern_static("<--")), + ); + Value::bool(rt::is_truthy(interp, &__t12)?) } }; - Value::bool(rt::is_truthy(interp, &__t16)?) + Value::bool(rt::is_truthy(interp, &__t14)?) } }; - if match rt::is_truthy(interp, &__t42) { + if match rt::is_truthy(interp, &__t39) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1249 = { - let __t18 = { - let __t17 = v_V1247.clone(); - rt::hd(&__t17)? + let __t16 = { + let __t15 = v_V1247.clone(); + rt::hd(&__t15)? }; - rt::apply_direct(interp, "shen.predicate", &[__t18])? + aot_shen_x2e_predicate(interp, &[__t16])? }; { let v_W1250 = { - let __t20 = { - let __t19 = v_V1247.clone(); - rt::hd(&__t19)? + let __t18 = { + let __t17 = v_V1247.clone(); + rt::hd(&__t17)? }; - rt::apply_direct(interp, "shen.terms", &[__t20])? + aot_shen_x2e_terms(interp, &[__t18])? }; { let v_W1251 = { - let __t21 = v_W1250.clone(); - rt::apply_direct(interp, "length", &[__t21])? + let __t19 = v_W1250.clone(); + rt::apply_direct(interp, "length", &[__t19])? }; { let v_W1252 = { - let __t22 = v_W1251.clone(); - rt::apply_direct(interp, "shen.parameters", &[__t22])? + let __t20 = v_W1251.clone(); + rt::apply_direct(interp, "shen.parameters", &[__t20])? }; { let v_W1253 = { - let __t23 = v_W1249.clone(); - rt::apply_direct(interp, "arity", &[__t23])? + let __t21 = v_W1249.clone(); + rt::apply_direct(interp, "arity", &[__t21])? }; { let v_W1254 = { - let __t34 = { - let __t24 = v_W1253.clone(); - let __t25 = Value::int(-1i64); - rt::eq(&__t24, &__t25) + let __t31 = { + let __t22 = v_W1253.clone(); + let __t23 = Value::int(-1i64); + rt::eq(&__t22, &__t23) }; - if rt::is_truthy(interp, &__t34)? { + if rt::is_truthy(interp, &__t31)? { { let _ = { - let __t28 = { - let __t26 = v_W1249.clone(); - let __t27 = v_W1252.clone(); - rt::apply_direct( + let __t26 = { + let __t24 = v_W1249.clone(); + let __t25 = v_W1252.clone(); + aot_shen_x2e_create_x2d_skeleton( interp, - "shen.create-skeleton", - &[__t26, __t27], + &[__t24, __t25], )? }; - rt::apply_direct(interp, "eval", &[__t28])? + rt::apply_direct(interp, "eval", &[__t26])? }; { - let __t29 = v_W1249.clone(); - let __t30 = Value::sym( - interp.intern("shen.dynamic"), + let __t27 = v_W1249.clone(); + let __t28 = Value::sym( + interp.intern_static("shen.dynamic"), ); - let __t31 = Value::nil(); - let __t33 = { - let __t32 = Value::sym( - interp.intern("*property-vector*"), - ); - rt::apply_direct( - interp, - "value", - &[__t32], - )? - }; + let __t29 = Value::nil(); + let __t30 = rt::global_value( + interp, + "*property-vector*", + )?; rt::apply_direct( interp, "put", - &[__t29, __t30, __t31, __t33], + &[__t27, __t28, __t29, __t30], )? } } } else { - Value::sym(interp.intern("shen.skip")) + Value::sym(interp.intern_static("shen.skip")) } }; { let v_W1255 = { - let __t35 = v_W1249.clone(); - let __t36 = v_W1250.clone(); - let __t39 = { - let __t38 = { - let __t37 = v_V1247.clone(); - rt::tl(&__t37)? + let __t32 = v_W1249.clone(); + let __t33 = v_W1250.clone(); + let __t36 = { + let __t35 = { + let __t34 = v_V1247.clone(); + rt::tl(&__t34)? }; - rt::tl(&__t38)? + rt::tl(&__t35)? }; - let __t40 = v_V1247.clone(); - let __t41 = v_V1248.clone(); - rt::apply_direct( + let __t37 = v_V1247.clone(); + let __t38 = v_V1248.clone(); + aot_shen_x2e_insert_x2d_info( interp, - "shen.insert-info", - &[__t35, __t36, __t39, __t40, __t41], + &[__t32, __t33, __t36, __t37, __t38], )? }; break Ok(v_W1249.clone()); @@ -272,22 +264,22 @@ pub fn aot_shen_x2e_predicate(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t46 = { - let __t44 = v_V1258.clone(); - rt::is_cons(&__t44) + let __t43 = { + let __t41 = v_V1258.clone(); + rt::is_cons(&__t41) }; - if match rt::is_truthy(interp, &__t46) { + if match rt::is_truthy(interp, &__t43) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t45 = v_V1258.clone(); - rt::hd(&__t45)? + let __t42 = v_V1258.clone(); + rt::hd(&__t42)? }); } else { { - let __t43 = Value::bool(true); - if match rt::is_truthy(interp, &__t43) { + let __t40 = Value::bool(true); + if match rt::is_truthy(interp, &__t40) { Ok(b) => b, Err(e) => break Err(e), } { @@ -319,22 +311,22 @@ pub fn aot_shen_x2e_terms(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t49 = v_V1263.clone(); - rt::tl(&__t49)? + let __t46 = v_V1263.clone(); + rt::tl(&__t46)? }); } else { { - let __t47 = Value::bool(true); - if match rt::is_truthy(interp, &__t47) { + let __t44 = Value::bool(true); + if match rt::is_truthy(interp, &__t44) { Ok(b) => b, Err(e) => break Err(e), } { @@ -368,17 +360,17 @@ pub fn aot_shen_x2e_create_x2d_skeleton(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t51 = Value::sym(interp.intern("defprolog")); - let __t56 = { - let __t52 = v_V1264.clone(); - let __t55 = { - let __t53 = v_V1264.clone(); - let __t54 = v_V1265.clone(); - rt::apply_direct(interp, "shen.dynamic-default", &[__t53, __t54])? + let __t48 = Value::sym(interp.intern_static("defprolog")); + let __t53 = { + let __t49 = v_V1264.clone(); + let __t52 = { + let __t50 = v_V1264.clone(); + let __t51 = v_V1265.clone(); + aot_shen_x2e_dynamic_x2d_default(interp, &[__t50, __t51])? }; - rt::cons(&__t52, &__t55) + rt::cons(&__t49, &__t52) }; - rt::cons(&__t51, &__t56) + rt::cons(&__t48, &__t53) }); } } @@ -403,51 +395,49 @@ pub fn aot_shen_x2e_dynamic_x2d_default(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t57 = v_V1267.clone(); - let __t78 = { - let __t58 = Value::sym(interp.intern("<--")); - let __t77 = { - let __t72 = { - let __t59 = Value::sym(interp.intern("shen.call-dynamic")); - let __t71 = { - let __t61 = { - let __t60 = v_V1267.clone(); - rt::apply_direct(interp, "shen.cons-form", &[__t60])? - }; - let __t70 = { - let __t68 = { - let __t62 = Value::sym(interp.intern("get")); - let __t67 = { - let __t63 = v_V1266.clone(); - let __t66 = { - let __t64 = Value::sym(interp.intern("shen.dynamic")); - let __t65 = Value::nil(); - rt::cons(&__t64, &__t65) + let __t54 = v_V1267.clone(); + let __t74 = { + let __t55 = Value::sym(interp.intern_static("<--")); + let __t73 = { + let __t69 = { + let __t56 = Value::sym(interp.intern_static("shen.call-dynamic")); + let __t68 = { + let __t58 = { + let __t57 = v_V1267.clone(); + rt::apply_direct(interp, "shen.cons-form", &[__t57])? + }; + let __t67 = { + let __t65 = { + let __t59 = Value::sym(interp.intern_static("get")); + let __t64 = { + let __t60 = v_V1266.clone(); + let __t63 = { + let __t61 = + Value::sym(interp.intern_static("shen.dynamic")); + let __t62 = Value::nil(); + rt::cons(&__t61, &__t62) }; - rt::cons(&__t63, &__t66) + rt::cons(&__t60, &__t63) }; - rt::cons(&__t62, &__t67) + rt::cons(&__t59, &__t64) }; - let __t69 = Value::nil(); - rt::cons(&__t68, &__t69) + let __t66 = Value::nil(); + rt::cons(&__t65, &__t66) }; - rt::cons(&__t61, &__t70) + rt::cons(&__t58, &__t67) }; - rt::cons(&__t59, &__t71) + rt::cons(&__t56, &__t68) }; - let __t76 = { - let __t74 = { - let __t73 = Value::str(";"); - rt::apply_direct(interp, "intern", &[__t73])? - }; - let __t75 = Value::nil(); - rt::cons(&__t74, &__t75) + let __t72 = { + let __t70 = Value::sym(interp.intern_static(";")); + let __t71 = Value::nil(); + rt::cons(&__t70, &__t71) }; - rt::cons(&__t72, &__t76) + rt::cons(&__t69, &__t72) }; - rt::cons(&__t58, &__t77) + rt::cons(&__t55, &__t73) }; - rt::apply_direct(interp, "append", &[__t57, __t78])? + rt::apply_direct(interp, "append", &[__t54, __t74])? }); } } @@ -479,91 +469,84 @@ pub fn aot_shen_x2e_insert_x2d_info(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W1273 = { - let __t79 = Value::sym(interp.intern("shen.g")); - rt::apply_direct(interp, "gensym", &[__t79])? + let __t75 = Value::sym(interp.intern_static("shen.g")); + rt::apply_direct(interp, "gensym", &[__t75])? }; { let v_W1274 = { - let __t90 = { - let __t84 = { - let __t80 = Value::sym(interp.intern("defprolog")); - let __t83 = { - let __t81 = v_W1273.clone(); - let __t82 = Value::nil(); - rt::cons(&__t81, &__t82) - }; - rt::cons(&__t80, &__t83) + let __t86 = { + let __t80 = { + let __t76 = Value::sym(interp.intern_static("defprolog")); + let __t79 = { + let __t77 = v_W1273.clone(); + let __t78 = Value::nil(); + rt::cons(&__t77, &__t78) + }; + rt::cons(&__t76, &__t79) }; - let __t89 = { - let __t85 = v_V1269.clone(); - let __t88 = { - let __t86 = Value::sym(interp.intern("<--")); - let __t87 = v_V1270.clone(); - rt::cons(&__t86, &__t87) - }; - rt::apply_direct(interp, "append", &[__t85, __t88])? + let __t85 = { + let __t81 = v_V1269.clone(); + let __t84 = { + let __t82 = Value::sym(interp.intern_static("<--")); + let __t83 = v_V1270.clone(); + rt::cons(&__t82, &__t83) + }; + rt::apply_direct(interp, "append", &[__t81, __t84])? }; - rt::apply_direct(interp, "append", &[__t84, __t89])? + rt::apply_direct(interp, "append", &[__t80, __t85])? }; - rt::apply_direct(interp, "eval", &[__t90])? + rt::apply_direct(interp, "eval", &[__t86])? }; { let v_W1275 = { - let __t92 = { - let __t91 = v_W1273.clone(); - rt::apply_direct(interp, "fn", &[__t91])? + let __t88 = { + let __t87 = v_W1273.clone(); + rt::apply_direct(interp, "fn", &[__t87])? }; - let __t95 = { - let __t93 = v_W1273.clone(); - let __t94 = v_V1271.clone(); - rt::cons(&__t93, &__t94) + let __t91 = { + let __t89 = v_W1273.clone(); + let __t90 = v_V1271.clone(); + rt::cons(&__t89, &__t90) }; - rt::cons(&__t92, &__t95) + rt::cons(&__t88, &__t91) }; { let v_W1276 = { - let __t96 = v_V1268.clone(); - let __t97 = Value::sym(interp.intern("shen.dynamic")); - let __t99 = { - let __t98 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t98])? - }; - rt::apply_direct(interp, "get", &[__t96, __t97, __t99])? + let __t92 = v_V1268.clone(); + let __t93 = Value::sym(interp.intern_static("shen.dynamic")); + let __t94 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t92, __t93, __t94])? }; { let v_W1277 = { - let __t108 = { - let __t100 = v_V1272.clone(); - let __t101 = Value::sym(interp.intern("shen.top")); - rt::eq(&__t100, &__t101) - }; - if rt::is_truthy(interp, &__t108)? { + let __t101 = Value::bool( + (v_V1272.clone()).as_sym() + == Some(interp.intern_static("shen.top")), + ); + if rt::is_truthy(interp, &__t101)? { { - let __t102 = v_W1275.clone(); - let __t103 = v_W1276.clone(); - rt::cons(&__t102, &__t103) + let __t95 = v_W1275.clone(); + let __t96 = v_W1276.clone(); + rt::cons(&__t95, &__t96) } } else { { - let __t104 = v_W1276.clone(); - let __t107 = { - let __t105 = v_W1275.clone(); - let __t106 = Value::nil(); - rt::cons(&__t105, &__t106) + let __t97 = v_W1276.clone(); + let __t100 = { + let __t98 = v_W1275.clone(); + let __t99 = Value::nil(); + rt::cons(&__t98, &__t99) }; - rt::apply_direct(interp, "append", &[__t104, __t107])? + rt::apply_direct(interp, "append", &[__t97, __t100])? } } }; break Ok({ - let __t109 = v_V1268.clone(); - let __t110 = Value::sym(interp.intern("shen.dynamic")); - let __t111 = v_W1277.clone(); - let __t113 = { - let __t112 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t112])? - }; - rt::apply_direct(interp, "put", &[__t109, __t110, __t111, __t113])? + let __t102 = v_V1268.clone(); + let __t103 = Value::sym(interp.intern_static("shen.dynamic")); + let __t104 = v_W1277.clone(); + let __t105 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t102, __t103, __t104, __t105])? }); } } @@ -589,34 +572,30 @@ pub fn aot_shen_x2e_newname(interp: &mut Interp, args: &[Value]) -> ShenResult She loop { { let v_W1286 = { - let __t139 = { - let __t122 = v_V1283.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t122])? + let __t128 = { + let __t111 = v_V1283.clone(); + aot_shen_x2e_unlocked_x3f_(interp, &[__t111])? }; - if rt::is_truthy(interp, &__t139)? { + if rt::is_truthy(interp, &__t128)? { { let v_W1287 = { - let __t123 = v_V1281.clone(); - let __t124 = v_V1282.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t123, __t124])? + let __t112 = v_V1281.clone(); + let __t113 = v_V1282.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t112, __t113])? }; { - let __t138 = { - let __t125 = v_W1287.clone(); - rt::is_cons(&__t125) + let __t127 = { + let __t114 = v_W1287.clone(); + rt::is_cons(&__t114) }; - if rt::is_truthy(interp, &__t138)? { + if rt::is_truthy(interp, &__t127)? { { let v_W1288 = { - let __t127 = { - let __t126 = v_W1287.clone(); - rt::hd(&__t126)? + let __t116 = { + let __t115 = v_W1287.clone(); + rt::hd(&__t115)? }; - let __t128 = v_V1282.clone(); + let __t117 = v_V1282.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t127, __t128], + &[__t116, __t117], )? }; { - let __t137 = { - let __t129 = v_W1288.clone(); - rt::is_cons(&__t129) + let __t126 = { + let __t118 = v_W1288.clone(); + rt::is_cons(&__t118) }; - if rt::is_truthy(interp, &__t137)? { + if rt::is_truthy(interp, &__t126)? { { let v_W1289 = { - let __t130 = v_W1288.clone(); - rt::hd(&__t130)? + let __t119 = v_W1288.clone(); + rt::hd(&__t119)? }; { - let _ = { - rt::apply_direct( - interp, - "shen.incinfs", - &[], - )? - }; + let _ = { aot_shen_x2e_incinfs(interp, &[])? }; { - let __t131 = v_W1289.clone(); - let __t132 = v_V1280.clone(); - let __t133 = v_V1282.clone(); - let __t134 = v_V1283.clone(); - let __t135 = v_V1284.clone(); - let __t136 = v_V1285.clone(); - rt::apply_direct( + let __t120 = v_W1289.clone(); + let __t121 = v_V1280.clone(); + let __t122 = v_V1282.clone(); + let __t123 = v_V1283.clone(); + let __t124 = v_V1284.clone(); + let __t125 = v_V1285.clone(); + aot_shen_x2e_callrec( interp, - "shen.callrec", &[ - __t131, __t132, __t133, __t134, - __t135, __t136, + __t120, __t121, __t122, __t123, + __t124, __t125, ], )? } @@ -738,61 +710,59 @@ pub fn aot_shen_x2e_call_x2d_dynamic(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t142 = { - let __t140 = v_W1286.clone(); - let __t141 = Value::bool(false); - rt::eq(&__t140, &__t141) + let __t131 = { + let __t129 = v_W1286.clone(); + let __t130 = Value::bool(false); + rt::eq(&__t129, &__t130) }; - if match rt::is_truthy(interp, &__t142) { + if match rt::is_truthy(interp, &__t131) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t144 = { - let __t143 = v_V1283.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t143])? + let __t133 = { + let __t132 = v_V1283.clone(); + aot_shen_x2e_unlocked_x3f_(interp, &[__t132])? }; - if match rt::is_truthy(interp, &__t144) { + if match rt::is_truthy(interp, &__t133) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1290 = { - let __t145 = v_V1281.clone(); - let __t146 = v_V1282.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t145, __t146])? + let __t134 = v_V1281.clone(); + let __t135 = v_V1282.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t134, __t135])? }; { - let __t148 = { - let __t147 = v_W1290.clone(); - rt::is_cons(&__t147) + let __t137 = { + let __t136 = v_W1290.clone(); + rt::is_cons(&__t136) }; - if match rt::is_truthy(interp, &__t148) { + if match rt::is_truthy(interp, &__t137) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1291 = { - let __t149 = v_W1290.clone(); - rt::tl(&__t149)? + let __t138 = v_W1290.clone(); + rt::tl(&__t138)? }; { - let _ = { - rt::apply_direct(interp, "shen.incinfs", &[])? - }; + let _ = { aot_shen_x2e_incinfs(interp, &[])? }; { - let __t150 = v_V1280.clone(); - let __t151 = v_W1291.clone(); - let __t152 = v_V1282.clone(); - let __t153 = v_V1283.clone(); - let __t154 = v_V1284.clone(); - let __t155 = v_V1285.clone(); - v_V1280 = __t150; - v_V1281 = __t151; - v_V1282 = __t152; - v_V1283 = __t153; - v_V1284 = __t154; - v_V1285 = __t155; + let __t139 = v_V1280.clone(); + let __t140 = v_W1291.clone(); + let __t141 = v_V1282.clone(); + let __t142 = v_V1283.clone(); + let __t143 = v_V1284.clone(); + let __t144 = v_V1285.clone(); + v_V1280 = __t139; + v_V1281 = __t140; + v_V1282 = __t141; + v_V1283 = __t142; + v_V1284 = __t143; + v_V1285 = __t144; continue; } } @@ -842,75 +812,71 @@ pub fn aot_shen_x2e_callrec(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t176 = { - let __t174 = { - let __t172 = { - let __t171 = v_V1294.clone(); - rt::apply_value(interp, v_V1292.clone(), &[__t171])? - }; - let __t173 = v_V1295.clone(); - rt::apply_value(interp, __t172, &[__t173])? + let __t163 = { + let __t161 = { + let __t159 = { + let __t158 = v_V1294.clone(); + rt::apply_value(interp, v_V1292.clone(), &[__t158])? + }; + let __t160 = v_V1295.clone(); + rt::apply_value(interp, __t159, &[__t160])? }; - let __t175 = v_V1296.clone(); - rt::apply_value(interp, __t174, &[__t175])? + let __t162 = v_V1296.clone(); + rt::apply_value(interp, __t161, &[__t162])? }; - let __t177 = v_V1297.clone(); - rt::apply_value(interp, __t176, &[__t177])? + let __t164 = v_V1297.clone(); + rt::apply_value(interp, __t163, &[__t164])? }); } else { { - let __t168 = { - let __t158 = v_V1293.clone(); - rt::is_cons(&__t158) + let __t157 = { + let __t147 = v_V1293.clone(); + rt::is_cons(&__t147) }; - if match rt::is_truthy(interp, &__t168) { + if match rt::is_truthy(interp, &__t157) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t161 = { - let __t160 = { - let __t159 = v_V1293.clone(); - rt::hd(&__t159)? + let __t150 = { + let __t149 = { + let __t148 = v_V1293.clone(); + rt::hd(&__t148)? }; - rt::apply_value(interp, v_V1292.clone(), &[__t160])? - }; - let __t163 = { - let __t162 = v_V1293.clone(); - rt::tl(&__t162)? - }; - let __t164 = v_V1294.clone(); - let __t165 = v_V1295.clone(); - let __t166 = v_V1296.clone(); - let __t167 = v_V1297.clone(); - v_V1292 = __t161; - v_V1293 = __t163; - v_V1294 = __t164; - v_V1295 = __t165; - v_V1296 = __t166; - v_V1297 = __t167; + rt::apply_value(interp, v_V1292.clone(), &[__t149])? + }; + let __t152 = { + let __t151 = v_V1293.clone(); + rt::tl(&__t151)? + }; + let __t153 = v_V1294.clone(); + let __t154 = v_V1295.clone(); + let __t155 = v_V1296.clone(); + let __t156 = v_V1297.clone(); + v_V1292 = __t150; + v_V1293 = __t152; + v_V1294 = __t153; + v_V1295 = __t154; + v_V1296 = __t155; + v_V1297 = __t156; continue; } } else { { - let __t157 = Value::bool(true); - if match rt::is_truthy(interp, &__t157) { + let __t146 = Value::bool(true); + if match rt::is_truthy(interp, &__t146) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t156 = Value::str("partial function shen.callrec"); - rt::apply_direct(interp, "simple-error", &[__t156])? + let __t145 = Value::str("partial function shen.callrec"); + rt::apply_direct(interp, "simple-error", &[__t145])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -941,90 +907,84 @@ pub fn aot_retract(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t205 = { - let __t190 = { - let __t181 = v_V1298.clone(); - rt::is_cons(&__t181) + let __t188 = { + let __t175 = { + let __t168 = v_V1298.clone(); + rt::is_cons(&__t168) }; - if !rt::is_truthy(interp, &__t190)? { + if !rt::is_truthy(interp, &__t175)? { Value::bool(false) } else { - let __t191 = { - let __t188 = { - let __t183 = { - let __t182 = v_V1298.clone(); - rt::tl(&__t182)? + let __t176 = { + let __t173 = { + let __t170 = { + let __t169 = v_V1298.clone(); + rt::tl(&__t169)? }; - rt::is_cons(&__t183) + rt::is_cons(&__t170) }; - if !rt::is_truthy(interp, &__t188)? { + if !rt::is_truthy(interp, &__t173)? { Value::bool(false) } else { - let __t189 = { - let __t184 = Value::sym(interp.intern("<--")); - let __t187 = { - let __t186 = { - let __t185 = v_V1298.clone(); - rt::tl(&__t185)? + let __t174 = Value::bool( + ({ + let __t172 = { + let __t171 = v_V1298.clone(); + rt::tl(&__t171)? }; - rt::hd(&__t186)? - }; - rt::eq(&__t184, &__t187) - }; - Value::bool(rt::is_truthy(interp, &__t189)?) + rt::hd(&__t172)? + }) + .as_sym() + == Some(interp.intern_static("<--")), + ); + Value::bool(rt::is_truthy(interp, &__t174)?) } }; - Value::bool(rt::is_truthy(interp, &__t191)?) + Value::bool(rt::is_truthy(interp, &__t176)?) } }; - if match rt::is_truthy(interp, &__t205) { + if match rt::is_truthy(interp, &__t188) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1299 = { - let __t193 = { - let __t192 = v_V1298.clone(); - rt::hd(&__t192)? + let __t178 = { + let __t177 = v_V1298.clone(); + rt::hd(&__t177)? }; - rt::apply_direct(interp, "shen.predicate", &[__t193])? + aot_shen_x2e_predicate(interp, &[__t178])? }; { let v_W1300 = { - let __t194 = v_W1299.clone(); - let __t195 = Value::sym(interp.intern("shen.dynamic")); - let __t197 = { - let __t196 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t196])? - }; - rt::apply_direct(interp, "get", &[__t194, __t195, __t197])? + let __t179 = v_W1299.clone(); + let __t180 = Value::sym(interp.intern_static("shen.dynamic")); + let __t181 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t179, __t180, __t181])? }; break Ok({ - let __t198 = v_W1299.clone(); - let __t199 = Value::sym(interp.intern("shen.dynamic")); - let __t202 = { - let __t200 = v_V1298.clone(); - let __t201 = v_W1300.clone(); - rt::apply_direct(interp, "shen.retract-clause", &[__t200, __t201])? - }; - let __t204 = { - let __t203 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t203])? - }; - rt::apply_direct(interp, "put", &[__t198, __t199, __t202, __t204])? + let __t182 = v_W1299.clone(); + let __t183 = Value::sym(interp.intern_static("shen.dynamic")); + let __t186 = { + let __t184 = v_V1298.clone(); + let __t185 = v_W1300.clone(); + aot_shen_x2e_retract_x2d_clause(interp, &[__t184, __t185])? + }; + let __t187 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t182, __t183, __t186, __t187])? }); } } } else { { - let __t180 = Value::bool(true); - if match rt::is_truthy(interp, &__t180) { + let __t167 = Value::bool(true); + if match rt::is_truthy(interp, &__t167) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t179 = Value::str("partial function retract"); - rt::apply_direct(interp, "simple-error", &[__t179])? + let __t166 = Value::str("partial function retract"); + rt::apply_direct(interp, "simple-error", &[__t166])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1055,145 +1015,133 @@ pub fn aot_shen_x2e_retract_x2d_clause(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t245 = { - let __t243 = Value::nil(); - let __t244 = v_V1307.clone(); - rt::eq(&__t243, &__t244) - }; - if match rt::is_truthy(interp, &__t245) { + let __t223 = Value::bool((v_V1307.clone()).is_nil()); + if match rt::is_truthy(interp, &__t223) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t242 = { - let __t231 = { - let __t216 = v_V1307.clone(); - rt::is_cons(&__t216) + let __t222 = { + let __t214 = { + let __t199 = v_V1307.clone(); + rt::is_cons(&__t199) }; - if !rt::is_truthy(interp, &__t231)? { + if !rt::is_truthy(interp, &__t214)? { Value::bool(false) } else { - let __t232 = { - let __t229 = { - let __t218 = { - let __t217 = v_V1307.clone(); - rt::hd(&__t217)? + let __t215 = { + let __t212 = { + let __t201 = { + let __t200 = v_V1307.clone(); + rt::hd(&__t200)? }; - rt::is_cons(&__t218) + rt::is_cons(&__t201) }; - if !rt::is_truthy(interp, &__t229)? { + if !rt::is_truthy(interp, &__t212)? { Value::bool(false) } else { - let __t230 = { - let __t227 = { - let __t221 = { - let __t220 = { - let __t219 = v_V1307.clone(); - rt::hd(&__t219)? + let __t213 = { + let __t210 = { + let __t204 = { + let __t203 = { + let __t202 = v_V1307.clone(); + rt::hd(&__t202)? }; - rt::tl(&__t220)? + rt::tl(&__t203)? }; - rt::is_cons(&__t221) + rt::is_cons(&__t204) }; - if !rt::is_truthy(interp, &__t227)? { + if !rt::is_truthy(interp, &__t210)? { Value::bool(false) } else { - let __t228 = { - let __t222 = v_V1306.clone(); - let __t226 = { - let __t225 = { - let __t224 = { - let __t223 = v_V1307.clone(); - rt::hd(&__t223)? + let __t211 = { + let __t205 = v_V1306.clone(); + let __t209 = { + let __t208 = { + let __t207 = { + let __t206 = v_V1307.clone(); + rt::hd(&__t206)? }; - rt::tl(&__t224)? + rt::tl(&__t207)? }; - rt::tl(&__t225)? + rt::tl(&__t208)? }; - rt::eq(&__t222, &__t226) + rt::eq(&__t205, &__t209) }; - Value::bool(rt::is_truthy(interp, &__t228)?) + Value::bool(rt::is_truthy(interp, &__t211)?) } }; - Value::bool(rt::is_truthy(interp, &__t230)?) + Value::bool(rt::is_truthy(interp, &__t213)?) } }; - Value::bool(rt::is_truthy(interp, &__t232)?) + Value::bool(rt::is_truthy(interp, &__t215)?) } }; - if match rt::is_truthy(interp, &__t242) { + if match rt::is_truthy(interp, &__t222) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t233 = Value::sym(interp.intern("shen.*names*")); - let __t240 = { - let __t237 = { - let __t236 = { - let __t235 = { - let __t234 = v_V1307.clone(); - rt::hd(&__t234)? + let __v = { + let __t219 = { + let __t218 = { + let __t217 = { + let __t216 = v_V1307.clone(); + rt::hd(&__t216)? }; - rt::tl(&__t235)? + rt::tl(&__t217)? }; - rt::hd(&__t236)? - }; - let __t239 = { - let __t238 = Value::sym(interp.intern("shen.*names*")); - rt::apply_direct(interp, "value", &[__t238])? + rt::hd(&__t218)? }; - rt::cons(&__t237, &__t239) + let __t220 = rt::global_value(interp, "shen.*names*")?; + rt::cons(&__t219, &__t220) }; - rt::apply_direct(interp, "set", &[__t233, __t240])? + rt::set_global(interp, "shen.*names*", __v) }; break Ok({ - let __t241 = v_V1307.clone(); - rt::tl(&__t241)? + let __t221 = v_V1307.clone(); + rt::tl(&__t221)? }); } } else { { - let __t215 = { - let __t208 = v_V1307.clone(); - rt::is_cons(&__t208) + let __t198 = { + let __t191 = v_V1307.clone(); + rt::is_cons(&__t191) }; - if match rt::is_truthy(interp, &__t215) { + if match rt::is_truthy(interp, &__t198) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t210 = { - let __t209 = v_V1307.clone(); - rt::hd(&__t209)? + let __t193 = { + let __t192 = v_V1307.clone(); + rt::hd(&__t192)? }; - let __t214 = { - let __t211 = v_V1306.clone(); - let __t213 = { - let __t212 = v_V1307.clone(); - rt::tl(&__t212)? + let __t197 = { + let __t194 = v_V1306.clone(); + let __t196 = { + let __t195 = v_V1307.clone(); + rt::tl(&__t195)? }; - rt::apply_direct( - interp, - "shen.retract-clause", - &[__t211, __t213], - )? + aot_shen_x2e_retract_x2d_clause(interp, &[__t194, __t196])? }; - rt::cons(&__t210, &__t214) + rt::cons(&__t193, &__t197) }); } else { { - let __t207 = Value::bool(true); - if match rt::is_truthy(interp, &__t207) { + let __t190 = Value::bool(true); + if match rt::is_truthy(interp, &__t190) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t206 = + let __t189 = Value::str("partial function shen.retract-clause"); - rt::apply_direct(interp, "simple-error", &[__t206])? + rt::apply_direct(interp, "simple-error", &[__t189])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1228,27 +1176,27 @@ pub fn aot_shen_x2e_compile_x2d_prolog(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { break Ok({ - let __t247 = { + let __t225 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z1310 = args[0].clone(); Ok({ - let __t246 = v_Z1310.clone(); - rt::apply_direct(interp, "shen.", &[__t246])? + let __t224 = v_Z1310.clone(); + aot_shen_x2e__x3c_defprolog_x3e_(interp, &[__t224])? }) }, Vec::new(), interp, ) }; - let __t250 = { - let __t248 = v_V1308.clone(); - let __t249 = v_V1309.clone(); - rt::cons(&__t248, &__t249) + let __t228 = { + let __t226 = v_V1308.clone(); + let __t227 = v_V1309.clone(); + rt::cons(&__t226, &__t227) }; - rt::apply_direct(interp, "compile", &[__t247, __t250])? + rt::apply_direct(interp, "compile", &[__t225, __t228])? }); } } @@ -1272,65 +1220,64 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> loop { { let v_W1312 = { - let __t268 = { - let __t251 = v_V1311.clone(); - rt::is_cons(&__t251) + let __t246 = { + let __t229 = v_V1311.clone(); + rt::is_cons(&__t229) }; - if rt::is_truthy(interp, &__t268)? { + if rt::is_truthy(interp, &__t246)? { { let v_W1313 = { - let __t252 = v_V1311.clone(); - rt::apply_direct(interp, "head", &[__t252])? + let __t230 = v_V1311.clone(); + rt::apply_direct(interp, "head", &[__t230])? }; { let v_W1314 = { - let __t253 = v_V1311.clone(); - rt::apply_direct(interp, "tail", &[__t253])? + let __t231 = v_V1311.clone(); + rt::apply_direct(interp, "tail", &[__t231])? }; { let v_W1315 = { - let __t254 = v_W1314.clone(); - rt::apply_direct(interp, "shen.", &[__t254])? + let __t232 = v_W1314.clone(); + aot_shen_x2e__x3c_clauses_x3e_(interp, &[__t232])? }; { - let __t267 = { - let __t255 = v_W1315.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t255])? + let __t245 = { + let __t233 = v_W1315.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t233])? }; - if rt::is_truthy(interp, &__t267)? { + if rt::is_truthy(interp, &__t245)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1316 = { - let __t256 = v_W1315.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t256])? + let __t234 = v_W1315.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t234])? }; { let v_W1317 = { - let __t257 = v_W1315.clone(); + let __t235 = v_W1315.clone(); rt::apply_direct( interp, "shen.in->", - &[__t257], + &[__t235], )? }; { - let __t258 = v_W1317.clone(); - let __t266 = { + let __t236 = v_W1317.clone(); + let __t244 = { let v_W1318 = { - let __t259 = v_W1313.clone(); - let __t260 = v_W1316.clone(); - rt::apply_direct( + let __t237 = v_W1313.clone(); + let __t238 = v_W1316.clone(); + aot_shen_x2e_prolog_x2d_arity_x2d_check( interp, - "shen.prolog-arity-check", - &[__t259, __t260], + &[__t237, __t238], )? }; { let v_W1319 = { - let __t262 = { + let __t240 = { rt::make_aot_closure( "", 1, @@ -1338,37 +1285,33 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> let v_Z1320 = args[0].clone(); Ok({ - let __t261 = + let __t239 = v_Z1320.clone(); - rt::apply_direct(interp, "shen.linearise-clause", &[__t261])? + aot_shen_x2e_linearise_x2d_clause(interp, &[__t239])? }) }, Vec::new(), interp, ) }; - let __t263 = v_W1316.clone(); + let __t241 = v_W1316.clone(); rt::apply_direct( interp, "map", - &[__t262, __t263], + &[__t240, __t241], )? }; { - let __t264 = v_W1313.clone(); - let __t265 = v_W1319.clone(); - rt::apply_direct( - interp, - "shen.horn-clause-procedure", - &[__t264, __t265], - )? + let __t242 = v_W1313.clone(); + let __t243 = v_W1319.clone(); + aot_shen_x2e_horn_x2d_clause_x2d_procedure(interp, &[__t242, __t243])? } } }; rt::apply_direct( interp, "shen.comb", - &[__t258, __t266], + &[__t236, __t244], )? } } @@ -1385,11 +1328,11 @@ pub fn aot_shen_x2e__x3c_defprolog_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t270 = { - let __t269 = v_W1312.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t269])? + let __t248 = { + let __t247 = v_W1312.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t247])? }; - if match rt::is_truthy(interp, &__t270) { + if match rt::is_truthy(interp, &__t248) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1425,182 +1368,179 @@ pub fn aot_shen_x2e_prolog_x2d_arity_x2d_check( #[allow(clippy::never_loop)] loop { { - let __t323 = { - let __t318 = { - let __t298 = v_V1324.clone(); - rt::is_cons(&__t298) + let __t295 = { + let __t290 = { + let __t274 = v_V1324.clone(); + rt::is_cons(&__t274) }; - if !rt::is_truthy(interp, &__t318)? { + if !rt::is_truthy(interp, &__t290)? { Value::bool(false) } else { - let __t319 = { - let __t316 = { - let __t300 = { - let __t299 = v_V1324.clone(); - rt::hd(&__t299)? + let __t291 = { + let __t288 = { + let __t276 = { + let __t275 = v_V1324.clone(); + rt::hd(&__t275)? }; - rt::is_cons(&__t300) + rt::is_cons(&__t276) }; - if !rt::is_truthy(interp, &__t316)? { + if !rt::is_truthy(interp, &__t288)? { Value::bool(false) } else { - let __t317 = { - let __t314 = { - let __t303 = { - let __t302 = { - let __t301 = v_V1324.clone(); - rt::hd(&__t301)? + let __t289 = { + let __t286 = { + let __t279 = { + let __t278 = { + let __t277 = v_V1324.clone(); + rt::hd(&__t277)? }; - rt::tl(&__t302)? + rt::tl(&__t278)? }; - rt::is_cons(&__t303) + rt::is_cons(&__t279) }; - if !rt::is_truthy(interp, &__t314)? { + if !rt::is_truthy(interp, &__t286)? { Value::bool(false) } else { - let __t315 = { - let __t312 = { - let __t304 = Value::nil(); - let __t308 = { - let __t307 = { - let __t306 = { - let __t305 = v_V1324.clone(); - rt::hd(&__t305)? + let __t287 = { + let __t284 = Value::bool( + ({ + let __t282 = { + let __t281 = { + let __t280 = v_V1324.clone(); + rt::hd(&__t280)? }; - rt::tl(&__t306)? + rt::tl(&__t281)? }; - rt::tl(&__t307)? - }; - rt::eq(&__t304, &__t308) - }; - if !rt::is_truthy(interp, &__t312)? { + rt::tl(&__t282)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t284)? { Value::bool(false) } else { - let __t313 = { - let __t309 = Value::nil(); - let __t311 = { - let __t310 = v_V1324.clone(); - rt::tl(&__t310)? - }; - rt::eq(&__t309, &__t311) - }; - Value::bool(rt::is_truthy(interp, &__t313)?) + let __t285 = Value::bool( + ({ + let __t283 = v_V1324.clone(); + rt::tl(&__t283)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t285)?) } }; - Value::bool(rt::is_truthy(interp, &__t315)?) + Value::bool(rt::is_truthy(interp, &__t287)?) } }; - Value::bool(rt::is_truthy(interp, &__t317)?) + Value::bool(rt::is_truthy(interp, &__t289)?) } }; - Value::bool(rt::is_truthy(interp, &__t319)?) + Value::bool(rt::is_truthy(interp, &__t291)?) } }; - if match rt::is_truthy(interp, &__t323) { + if match rt::is_truthy(interp, &__t295) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t322 = { - let __t321 = { - let __t320 = v_V1324.clone(); - rt::hd(&__t320)? + let __t294 = { + let __t293 = { + let __t292 = v_V1324.clone(); + rt::hd(&__t292)? }; - rt::hd(&__t321)? + rt::hd(&__t293)? }; - rt::apply_direct(interp, "length", &[__t322])? + rt::apply_direct(interp, "length", &[__t294])? }); } else { { - let __t297 = { - let __t288 = { - let __t273 = v_V1324.clone(); - rt::is_cons(&__t273) + let __t273 = { + let __t264 = { + let __t251 = v_V1324.clone(); + rt::is_cons(&__t251) }; - if !rt::is_truthy(interp, &__t288)? { + if !rt::is_truthy(interp, &__t264)? { Value::bool(false) } else { - let __t289 = { - let __t286 = { - let __t275 = { - let __t274 = v_V1324.clone(); - rt::hd(&__t274)? + let __t265 = { + let __t262 = { + let __t253 = { + let __t252 = v_V1324.clone(); + rt::hd(&__t252)? }; - rt::is_cons(&__t275) + rt::is_cons(&__t253) }; - if !rt::is_truthy(interp, &__t286)? { + if !rt::is_truthy(interp, &__t262)? { Value::bool(false) } else { - let __t287 = { - let __t284 = { - let __t278 = { - let __t277 = { - let __t276 = v_V1324.clone(); - rt::hd(&__t276)? + let __t263 = { + let __t260 = { + let __t256 = { + let __t255 = { + let __t254 = v_V1324.clone(); + rt::hd(&__t254)? }; - rt::tl(&__t277)? + rt::tl(&__t255)? }; - rt::is_cons(&__t278) + rt::is_cons(&__t256) }; - if !rt::is_truthy(interp, &__t284)? { + if !rt::is_truthy(interp, &__t260)? { Value::bool(false) } else { - let __t285 = { - let __t279 = Value::nil(); - let __t283 = { - let __t282 = { - let __t281 = { - let __t280 = v_V1324.clone(); - rt::hd(&__t280)? + let __t261 = Value::bool( + ({ + let __t259 = { + let __t258 = { + let __t257 = v_V1324.clone(); + rt::hd(&__t257)? }; - rt::tl(&__t281)? + rt::tl(&__t258)? }; - rt::tl(&__t282)? - }; - rt::eq(&__t279, &__t283) - }; - Value::bool(rt::is_truthy(interp, &__t285)?) + rt::tl(&__t259)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t261)?) } }; - Value::bool(rt::is_truthy(interp, &__t287)?) + Value::bool(rt::is_truthy(interp, &__t263)?) } }; - Value::bool(rt::is_truthy(interp, &__t289)?) + Value::bool(rt::is_truthy(interp, &__t265)?) } }; - if match rt::is_truthy(interp, &__t297) { + if match rt::is_truthy(interp, &__t273) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t290 = v_V1323.clone(); - let __t294 = { - let __t293 = { - let __t292 = { - let __t291 = v_V1324.clone(); - rt::hd(&__t291)? + let __t266 = v_V1323.clone(); + let __t270 = { + let __t269 = { + let __t268 = { + let __t267 = v_V1324.clone(); + rt::hd(&__t267)? }; - rt::hd(&__t292)? + rt::hd(&__t268)? }; - rt::apply_direct(interp, "length", &[__t293])? + rt::apply_direct(interp, "length", &[__t269])? }; - let __t296 = { - let __t295 = v_V1324.clone(); - rt::tl(&__t295)? + let __t272 = { + let __t271 = v_V1324.clone(); + rt::tl(&__t271)? }; - rt::apply_direct(interp, "shen.pac-h", &[__t290, __t294, __t296])? + aot_shen_x2e_pac_x2d_h(interp, &[__t266, __t270, __t272])? }); } else { { - let __t272 = Value::bool(true); - if match rt::is_truthy(interp, &__t272) { + let __t250 = Value::bool(true); + if match rt::is_truthy(interp, &__t250) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t271 = + let __t249 = Value::str("partial function shen.prolog-arity-check"); - rt::apply_direct(interp, "simple-error", &[__t271])? + rt::apply_direct(interp, "simple-error", &[__t249])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1642,101 +1582,97 @@ pub fn aot_shen_x2e_pac_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t350 = { - let __t348 = Value::nil(); - let __t349 = v_V1331.clone(); - rt::eq(&__t348, &__t349) - }; - if match rt::is_truthy(interp, &__t350) { + let __t320 = Value::bool((v_V1331.clone()).is_nil()); + if match rt::is_truthy(interp, &__t320) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V1330.clone()); } else { { - let __t347 = { - let __t329 = { - let __t326 = v_V1331.clone(); - rt::is_cons(&__t326) + let __t319 = { + let __t301 = { + let __t298 = v_V1331.clone(); + rt::is_cons(&__t298) }; - if !rt::is_truthy(interp, &__t329)? { + if !rt::is_truthy(interp, &__t301)? { Value::bool(false) } else { - let __t330 = { - let __t328 = { - let __t327 = v_V1331.clone(); - rt::hd(&__t327)? + let __t302 = { + let __t300 = { + let __t299 = v_V1331.clone(); + rt::hd(&__t299)? }; - rt::is_cons(&__t328) + rt::is_cons(&__t300) }; - Value::bool(rt::is_truthy(interp, &__t330)?) + Value::bool(rt::is_truthy(interp, &__t302)?) } }; - if match rt::is_truthy(interp, &__t347) { + if match rt::is_truthy(interp, &__t319) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t336 = { - let __t331 = v_V1330.clone(); - let __t335 = { - let __t334 = { - let __t333 = { - let __t332 = v_V1331.clone(); - rt::hd(&__t332)? + let __t308 = { + let __t303 = v_V1330.clone(); + let __t307 = { + let __t306 = { + let __t305 = { + let __t304 = v_V1331.clone(); + rt::hd(&__t304)? }; - rt::hd(&__t333)? + rt::hd(&__t305)? }; - rt::apply_direct(interp, "length", &[__t334])? + rt::apply_direct(interp, "length", &[__t306])? }; - rt::eq(&__t331, &__t335) + rt::eq(&__t303, &__t307) }; - if match rt::is_truthy(interp, &__t336) { + if match rt::is_truthy(interp, &__t308) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t337 = v_V1329.clone(); - let __t338 = v_V1330.clone(); - let __t340 = { - let __t339 = v_V1331.clone(); - rt::tl(&__t339)? + let __t309 = v_V1329.clone(); + let __t310 = v_V1330.clone(); + let __t312 = { + let __t311 = v_V1331.clone(); + rt::tl(&__t311)? }; - v_V1329 = __t337; - v_V1330 = __t338; - v_V1331 = __t340; + v_V1329 = __t309; + v_V1330 = __t310; + v_V1331 = __t312; continue; } } else { break Ok({ - let __t346 = { - let __t341 = Value::str("arity error in prolog procedure "); - let __t345 = { - let __t342 = v_V1329.clone(); - let __t343 = Value::str("\n"); - let __t344 = Value::sym(interp.intern("shen.a")); + let __t318 = { + let __t313 = Value::str("arity error in prolog procedure "); + let __t317 = { + let __t314 = v_V1329.clone(); + let __t315 = Value::str("\n"); + let __t316 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t342, __t343, __t344], + &[__t314, __t315, __t316], )? }; - rt::apply_direct(interp, "cn", &[__t341, __t345])? + rt::cn(&__t313, &__t317)? }; - rt::apply_direct(interp, "simple-error", &[__t346])? + rt::apply_direct(interp, "simple-error", &[__t318])? }); } } } else { { - let __t325 = Value::bool(true); - if match rt::is_truthy(interp, &__t325) { + let __t297 = Value::bool(true); + if match rt::is_truthy(interp, &__t297) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t324 = Value::str("partial function shen.pac-h"); - rt::apply_direct(interp, "simple-error", &[__t324])? + let __t296 = Value::str("partial function shen.pac-h"); + rt::apply_direct(interp, "simple-error", &[__t296])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1769,77 +1705,77 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh { let v_W1333 = { let v_W1334 = { - let __t351 = v_V1332.clone(); - rt::apply_direct(interp, "shen.", &[__t351])? + let __t321 = v_V1332.clone(); + aot_shen_x2e__x3c_clause_x3e_(interp, &[__t321])? }; { - let __t364 = { - let __t352 = v_W1334.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t352])? + let __t334 = { + let __t322 = v_W1334.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t322])? }; - if rt::is_truthy(interp, &__t364)? { + if rt::is_truthy(interp, &__t334)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1335 = { - let __t353 = v_W1334.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t353])? + let __t323 = v_W1334.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t323])? }; { let v_W1336 = { - let __t354 = v_W1334.clone(); - rt::apply_direct(interp, "shen.in->", &[__t354])? + let __t324 = v_W1334.clone(); + rt::apply_direct(interp, "shen.in->", &[__t324])? }; { let v_W1337 = { - let __t355 = v_W1336.clone(); - rt::apply_direct(interp, "shen.", &[__t355])? + let __t325 = v_W1336.clone(); + aot_shen_x2e__x3c_clauses_x3e_(interp, &[__t325])? }; { - let __t363 = { - let __t356 = v_W1337.clone(); + let __t333 = { + let __t326 = v_W1337.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t356], + &[__t326], )? }; - if rt::is_truthy(interp, &__t363)? { + if rt::is_truthy(interp, &__t333)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1338 = { - let __t357 = v_W1337.clone(); + let __t327 = v_W1337.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t357], + &[__t327], )? }; { let v_W1339 = { - let __t358 = v_W1337.clone(); + let __t328 = v_W1337.clone(); rt::apply_direct( interp, "shen.in->", - &[__t358], + &[__t328], )? }; { - let __t359 = v_W1339.clone(); - let __t362 = { - let __t360 = v_W1335.clone(); - let __t361 = v_W1338.clone(); - rt::cons(&__t360, &__t361) + let __t329 = v_W1339.clone(); + let __t332 = { + let __t330 = v_W1335.clone(); + let __t331 = v_W1338.clone(); + rt::cons(&__t330, &__t331) }; rt::apply_direct( interp, "shen.comb", - &[__t359, __t362], + &[__t329, __t332], )? } } @@ -1853,82 +1789,76 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t366 = { - let __t365 = v_W1333.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t365])? + let __t336 = { + let __t335 = v_W1333.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t335])? }; - if match rt::is_truthy(interp, &__t366) { + if match rt::is_truthy(interp, &__t336) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1340 = { let v_W1341 = { - let __t367 = v_V1332.clone(); - rt::apply_direct(interp, "", &[__t367])? + let __t337 = v_V1332.clone(); + rt::apply_direct(interp, "", &[__t337])? }; { - let __t381 = { - let __t368 = v_W1341.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t368])? + let __t351 = { + let __t338 = v_W1341.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t338])? }; - if rt::is_truthy(interp, &__t381)? { + if rt::is_truthy(interp, &__t351)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1342 = { - let __t369 = v_W1341.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t369])? + let __t339 = v_W1341.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t339])? }; { let v_W1343 = { - let __t370 = v_W1341.clone(); - rt::apply_direct(interp, "shen.in->", &[__t370])? + let __t340 = v_W1341.clone(); + rt::apply_direct(interp, "shen.in->", &[__t340])? }; { - let __t371 = v_W1343.clone(); - let __t380 = { - let __t379 = { - let __t372 = v_W1342.clone(); - rt::apply_direct( - interp, - "empty?", - &[__t372], - )? + let __t341 = v_W1343.clone(); + let __t350 = { + let __t349 = { + let __t342 = v_W1342.clone(); + rt::is_empty(&__t342) }; - if rt::is_truthy(interp, &__t379)? { + if rt::is_truthy(interp, &__t349)? { Value::nil() } else { { - let __t378 = { - let __t373 = Value::str( + let __t348 = { + let __t343 = Value::str( "Prolog syntax error here:\n ", ); - let __t377 = { - let __t374 = v_W1342.clone(); - let __t375 = + let __t347 = { + let __t344 = v_W1342.clone(); + let __t345 = Value::str("\n ..."); - let __t376 = Value::sym( - interp.intern("shen.r"), + let __t346 = Value::sym( + interp.intern_static( + "shen.r", + ), ); rt::apply_direct( interp, "shen.app", - &[__t374, __t375, __t376], + &[__t344, __t345, __t346], )? }; - rt::apply_direct( - interp, - "cn", - &[__t373, __t377], - )? + rt::cn(&__t343, &__t347)? }; rt::apply_direct( interp, "simple-error", - &[__t378], + &[__t348], )? } } @@ -1936,7 +1866,7 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh rt::apply_direct( interp, "shen.comb", - &[__t371, __t380], + &[__t341, __t350], )? } } @@ -1945,11 +1875,11 @@ pub fn aot_shen_x2e__x3c_clauses_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t383 = { - let __t382 = v_W1340.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t382])? + let __t353 = { + let __t352 = v_W1340.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t352])? }; - if match rt::is_truthy(interp, &__t383) { + if match rt::is_truthy(interp, &__t353) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1985,76 +1915,75 @@ pub fn aot_shen_x2e_linearise_x2d_clause(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t404 = { - let __t395 = { - let __t386 = v_V1344.clone(); - rt::is_cons(&__t386) + let __t372 = { + let __t363 = { + let __t356 = v_V1344.clone(); + rt::is_cons(&__t356) }; - if !rt::is_truthy(interp, &__t395)? { + if !rt::is_truthy(interp, &__t363)? { Value::bool(false) } else { - let __t396 = { - let __t393 = { - let __t388 = { - let __t387 = v_V1344.clone(); - rt::tl(&__t387)? + let __t364 = { + let __t361 = { + let __t358 = { + let __t357 = v_V1344.clone(); + rt::tl(&__t357)? }; - rt::is_cons(&__t388) + rt::is_cons(&__t358) }; - if !rt::is_truthy(interp, &__t393)? { + if !rt::is_truthy(interp, &__t361)? { Value::bool(false) } else { - let __t394 = { - let __t389 = Value::nil(); - let __t392 = { - let __t391 = { - let __t390 = v_V1344.clone(); - rt::tl(&__t390)? + let __t362 = Value::bool( + ({ + let __t360 = { + let __t359 = v_V1344.clone(); + rt::tl(&__t359)? }; - rt::tl(&__t391)? - }; - rt::eq(&__t389, &__t392) - }; - Value::bool(rt::is_truthy(interp, &__t394)?) + rt::tl(&__t360)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t362)?) } }; - Value::bool(rt::is_truthy(interp, &__t396)?) + Value::bool(rt::is_truthy(interp, &__t364)?) } }; - if match rt::is_truthy(interp, &__t404) { + if match rt::is_truthy(interp, &__t372) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t403 = { - let __t402 = { - let __t398 = { - let __t397 = v_V1344.clone(); - rt::hd(&__t397)? - }; - let __t401 = { - let __t400 = { - let __t399 = v_V1344.clone(); - rt::tl(&__t399)? + let __t371 = { + let __t370 = { + let __t366 = { + let __t365 = v_V1344.clone(); + rt::hd(&__t365)? + }; + let __t369 = { + let __t368 = { + let __t367 = v_V1344.clone(); + rt::tl(&__t367)? }; - rt::hd(&__t400)? + rt::hd(&__t368)? }; - rt::apply_direct(interp, "@p", &[__t398, __t401])? + rt::apply_direct(interp, "@p", &[__t366, __t369])? }; - rt::apply_direct(interp, "shen.linearise", &[__t402])? + rt::apply_direct(interp, "shen.linearise", &[__t370])? }; - rt::apply_direct(interp, "shen.lch", &[__t403])? + aot_shen_x2e_lch(interp, &[__t371])? }); } else { { - let __t385 = Value::bool(true); - if match rt::is_truthy(interp, &__t385) { + let __t355 = Value::bool(true); + if match rt::is_truthy(interp, &__t355) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t384 = Value::str("partial function shen.linearise-clause"); - rt::apply_direct(interp, "simple-error", &[__t384])? + let __t354 = Value::str("partial function shen.linearise-clause"); + rt::apply_direct(interp, "simple-error", &[__t354])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2087,42 +2016,42 @@ pub fn aot_shen_x2e_lch(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t409 = { - let __t408 = v_V1345.clone(); - rt::apply_direct(interp, "fst", &[__t408])? + let __t377 = { + let __t376 = v_V1345.clone(); + rt::apply_direct(interp, "fst", &[__t376])? }; - let __t414 = { - let __t412 = { - let __t411 = { - let __t410 = v_V1345.clone(); - rt::apply_direct(interp, "snd", &[__t410])? + let __t382 = { + let __t380 = { + let __t379 = { + let __t378 = v_V1345.clone(); + rt::apply_direct(interp, "snd", &[__t378])? }; - rt::apply_direct(interp, "shen.lchh", &[__t411])? + aot_shen_x2e_lchh(interp, &[__t379])? }; - let __t413 = Value::nil(); - rt::cons(&__t412, &__t413) + let __t381 = Value::nil(); + rt::cons(&__t380, &__t381) }; - rt::cons(&__t409, &__t414) + rt::cons(&__t377, &__t382) }); } else { { - let __t406 = Value::bool(true); - if match rt::is_truthy(interp, &__t406) { + let __t374 = Value::bool(true); + if match rt::is_truthy(interp, &__t374) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t405 = Value::str("partial function shen.lch"); - rt::apply_direct(interp, "simple-error", &[__t405])? + let __t373 = Value::str("partial function shen.lch"); + rt::apply_direct(interp, "simple-error", &[__t373])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2151,259 +2080,221 @@ pub fn aot_shen_x2e_lchh(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { @@ -2437,60 +2328,56 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W1348 = { let v_W1349 = { - let __t487 = v_V1347.clone(); - rt::apply_direct(interp, "shen.", &[__t487])? + let __t446 = v_V1347.clone(); + aot_shen_x2e__x3c_head_x3e_(interp, &[__t446])? }; { - let __t510 = { - let __t488 = v_W1349.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t488])? + let __t469 = { + let __t447 = v_W1349.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t447])? }; - if rt::is_truthy(interp, &__t510)? { + if rt::is_truthy(interp, &__t469)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1350 = { - let __t489 = v_W1349.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t489])? + let __t448 = v_W1349.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t448])? }; { let v_W1351 = { - let __t490 = v_W1349.clone(); - rt::apply_direct(interp, "shen.in->", &[__t490])? + let __t449 = v_W1349.clone(); + rt::apply_direct(interp, "shen.in->", &[__t449])? }; { - let __t509 = { - let __t491 = v_W1351.clone(); - let __t492 = Value::sym(interp.intern("<--")); - rt::apply_direct(interp, "shen.hds=?", &[__t491, __t492])? + let __t468 = { + let __t450 = v_W1351.clone(); + let __t451 = Value::sym(interp.intern_static("<--")); + rt::apply_direct(interp, "shen.hds=?", &[__t450, __t451])? }; - if rt::is_truthy(interp, &__t509)? { + if rt::is_truthy(interp, &__t468)? { { let v_W1352 = { - let __t493 = v_W1351.clone(); - rt::apply_direct(interp, "tail", &[__t493])? + let __t452 = v_W1351.clone(); + rt::apply_direct(interp, "tail", &[__t452])? }; { let v_W1353 = { - let __t494 = v_W1352.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t494], - )? + let __t453 = v_W1352.clone(); + aot_shen_x2e__x3c_body_x3e_(interp, &[__t453])? }; { - let __t508 = { - let __t495 = v_W1353.clone(); + let __t467 = { + let __t454 = v_W1353.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t495], + &[__t454], )? }; - if rt::is_truthy(interp, &__t508)? { + if rt::is_truthy(interp, &__t467)? { { rt::apply_direct( interp, @@ -2501,40 +2388,39 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W1354 = { - let __t496 = v_W1353.clone(); + let __t455 = v_W1353.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t496], + &[__t455], )? }; { let v_W1355 = { - let __t497 = v_W1353.clone(); + let __t456 = v_W1353.clone(); rt::apply_direct( interp, "shen.in->", - &[__t497], + &[__t456], )? }; { let v_W1356 = { - let __t498 = + let __t457 = v_W1355.clone(); - rt::apply_direct( + aot_shen_x2e__x3c_sc_x3e_( interp, - "shen.", - &[__t498], + &[__t457], )? }; { - let __t507 = { - let __t499 = + let __t466 = { + let __t458 = v_W1356.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t499])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t458])? }; if rt::is_truthy( - interp, &__t507, + interp, &__t466, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -2542,30 +2428,30 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W1357 = { - let __t500 = + let __t459 = v_W1356 .clone( ); - rt::apply_direct(interp, "shen.in->", &[__t500])? + rt::apply_direct(interp, "shen.in->", &[__t459])? }; { - let __t501 = + let __t460 = v_W1357 .clone( ); - let __t506 = { - let __t502 = v_W1350.clone(); - let __t505 = { - let __t503 = v_W1354.clone(); - let __t504 = Value::nil(); - rt::cons(&__t503, &__t504) + let __t465 = { + let __t461 = v_W1350.clone(); + let __t464 = { + let __t462 = v_W1354.clone(); + let __t463 = Value::nil(); + rt::cons(&__t462, &__t463) }; rt::cons( - &__t502, - &__t505, + &__t461, + &__t464, ) }; - rt::apply_direct(interp, "shen.comb", &[__t501, __t506])? + rt::apply_direct(interp, "shen.comb", &[__t460, __t465])? } } } @@ -2589,11 +2475,11 @@ pub fn aot_shen_x2e__x3c_clause_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t512 = { - let __t511 = v_W1348.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t511])? + let __t471 = { + let __t470 = v_W1348.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t470])? }; - if match rt::is_truthy(interp, &__t512) { + if match rt::is_truthy(interp, &__t471) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2626,77 +2512,77 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let v_W1359 = { let v_W1360 = { - let __t513 = v_V1358.clone(); - rt::apply_direct(interp, "shen.", &[__t513])? + let __t472 = v_V1358.clone(); + aot_shen_x2e__x3c_hterm_x3e_(interp, &[__t472])? }; { - let __t526 = { - let __t514 = v_W1360.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t514])? + let __t485 = { + let __t473 = v_W1360.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t473])? }; - if rt::is_truthy(interp, &__t526)? { + if rt::is_truthy(interp, &__t485)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1361 = { - let __t515 = v_W1360.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t515])? + let __t474 = v_W1360.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t474])? }; { let v_W1362 = { - let __t516 = v_W1360.clone(); - rt::apply_direct(interp, "shen.in->", &[__t516])? + let __t475 = v_W1360.clone(); + rt::apply_direct(interp, "shen.in->", &[__t475])? }; { let v_W1363 = { - let __t517 = v_W1362.clone(); - rt::apply_direct(interp, "shen.", &[__t517])? + let __t476 = v_W1362.clone(); + aot_shen_x2e__x3c_head_x3e_(interp, &[__t476])? }; { - let __t525 = { - let __t518 = v_W1363.clone(); + let __t484 = { + let __t477 = v_W1363.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t518], + &[__t477], )? }; - if rt::is_truthy(interp, &__t525)? { + if rt::is_truthy(interp, &__t484)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1364 = { - let __t519 = v_W1363.clone(); + let __t478 = v_W1363.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t519], + &[__t478], )? }; { let v_W1365 = { - let __t520 = v_W1363.clone(); + let __t479 = v_W1363.clone(); rt::apply_direct( interp, "shen.in->", - &[__t520], + &[__t479], )? }; { - let __t521 = v_W1365.clone(); - let __t524 = { - let __t522 = v_W1361.clone(); - let __t523 = v_W1364.clone(); - rt::cons(&__t522, &__t523) + let __t480 = v_W1365.clone(); + let __t483 = { + let __t481 = v_W1361.clone(); + let __t482 = v_W1364.clone(); + rt::cons(&__t481, &__t482) }; rt::apply_direct( interp, "shen.comb", - &[__t521, __t524], + &[__t480, __t483], )? } } @@ -2710,42 +2596,42 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t528 = { - let __t527 = v_W1359.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t527])? + let __t487 = { + let __t486 = v_W1359.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t486])? }; - if match rt::is_truthy(interp, &__t528) { + if match rt::is_truthy(interp, &__t487) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1366 = { let v_W1367 = { - let __t529 = v_V1358.clone(); - rt::apply_direct(interp, "", &[__t529])? + let __t488 = v_V1358.clone(); + rt::apply_direct(interp, "", &[__t488])? }; { - let __t534 = { - let __t530 = v_W1367.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t530])? + let __t493 = { + let __t489 = v_W1367.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t489])? }; - if rt::is_truthy(interp, &__t534)? { + if rt::is_truthy(interp, &__t493)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1368 = { - let __t531 = v_W1367.clone(); - rt::apply_direct(interp, "shen.in->", &[__t531])? + let __t490 = v_W1367.clone(); + rt::apply_direct(interp, "shen.in->", &[__t490])? }; { - let __t532 = v_W1368.clone(); - let __t533 = Value::nil(); + let __t491 = v_W1368.clone(); + let __t492 = Value::nil(); rt::apply_direct( interp, "shen.comb", - &[__t532, __t533], + &[__t491, __t492], )? } } @@ -2753,11 +2639,11 @@ pub fn aot_shen_x2e__x3c_head_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t536 = { - let __t535 = v_W1366.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t535])? + let __t495 = { + let __t494 = v_W1366.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t494])? }; - if match rt::is_truthy(interp, &__t536) { + if match rt::is_truthy(interp, &__t495) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2794,49 +2680,48 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W1370 = { - let __t548 = { - let __t537 = v_V1369.clone(); - rt::is_cons(&__t537) + let __t507 = { + let __t496 = v_V1369.clone(); + rt::is_cons(&__t496) }; - if rt::is_truthy(interp, &__t548)? { + if rt::is_truthy(interp, &__t507)? { { let v_W1371 = { - let __t538 = v_V1369.clone(); - rt::apply_direct(interp, "head", &[__t538])? + let __t497 = v_V1369.clone(); + rt::apply_direct(interp, "head", &[__t497])? }; { let v_W1372 = { - let __t539 = v_V1369.clone(); - rt::apply_direct(interp, "tail", &[__t539])? + let __t498 = v_V1369.clone(); + rt::apply_direct(interp, "tail", &[__t498])? }; { - let __t547 = { - let __t543 = { - let __t540 = v_W1371.clone(); - rt::apply_direct(interp, "atom?", &[__t540])? + let __t506 = { + let __t502 = { + let __t499 = v_W1371.clone(); + aot_atom_x3f_(interp, &[__t499])? }; - if !rt::is_truthy(interp, &__t543)? { + if !rt::is_truthy(interp, &__t502)? { Value::bool(false) } else { - let __t544 = { - let __t542 = { - let __t541 = v_W1371.clone(); - rt::apply_direct( + let __t503 = { + let __t501 = { + let __t500 = v_W1371.clone(); + aot_shen_x2e_prolog_x2d_keyword_x3f_( interp, - "shen.prolog-keyword?", - &[__t541], + &[__t500], )? }; - rt::apply_direct(interp, "not", &[__t542])? + rt::not(interp, &__t501)? }; - Value::bool(rt::is_truthy(interp, &__t544)?) + Value::bool(rt::is_truthy(interp, &__t503)?) } }; - if rt::is_truthy(interp, &__t547)? { + if rt::is_truthy(interp, &__t506)? { { - let __t545 = v_W1372.clone(); - let __t546 = v_W1371.clone(); - rt::apply_direct(interp, "shen.comb", &[__t545, __t546])? + let __t504 = v_W1372.clone(); + let __t505 = v_W1371.clone(); + rt::apply_direct(interp, "shen.comb", &[__t504, __t505])? } } else { { @@ -2853,48 +2738,45 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t550 = { - let __t549 = v_W1370.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t549])? + let __t509 = { + let __t508 = v_W1370.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t508])? }; - if match rt::is_truthy(interp, &__t550) { + if match rt::is_truthy(interp, &__t509) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1373 = { - let __t560 = { - let __t551 = v_V1369.clone(); - rt::is_cons(&__t551) + let __t518 = { + let __t510 = v_V1369.clone(); + rt::is_cons(&__t510) }; - if rt::is_truthy(interp, &__t560)? { + if rt::is_truthy(interp, &__t518)? { { let v_W1374 = { - let __t552 = v_V1369.clone(); - rt::apply_direct(interp, "head", &[__t552])? + let __t511 = v_V1369.clone(); + rt::apply_direct(interp, "head", &[__t511])? }; { let v_W1375 = { - let __t553 = v_V1369.clone(); - rt::apply_direct(interp, "tail", &[__t553])? + let __t512 = v_V1369.clone(); + rt::apply_direct(interp, "tail", &[__t512])? }; { - let __t559 = { - let __t554 = v_W1374.clone(); - let __t556 = { - let __t555 = Value::str(":"); - rt::apply_direct(interp, "intern", &[__t555])? - }; - rt::eq(&__t554, &__t556) + let __t517 = { + let __t513 = v_W1374.clone(); + let __t514 = Value::sym(interp.intern_static(":")); + rt::eq(&__t513, &__t514) }; - if rt::is_truthy(interp, &__t559)? { + if rt::is_truthy(interp, &__t517)? { { - let __t557 = v_W1375.clone(); - let __t558 = v_W1374.clone(); + let __t515 = v_W1375.clone(); + let __t516 = v_W1374.clone(); rt::apply_direct( interp, "shen.comb", - &[__t557, __t558], + &[__t515, __t516], )? } } else { @@ -2916,70 +2798,67 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t562 = { - let __t561 = v_W1373.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t561])? + let __t520 = { + let __t519 = v_W1373.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t519])? }; - if match rt::is_truthy(interp, &__t562) { + if match rt::is_truthy(interp, &__t520) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1376 = { - let __t592 = { - let __t563 = v_V1369.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t563])? + let __t550 = { + let __t521 = v_V1369.clone(); + rt::apply_direct(interp, "shen.ccons?", &[__t521])? }; - if rt::is_truthy(interp, &__t592)? { + if rt::is_truthy(interp, &__t550)? { { let v_W1377 = { - let __t564 = v_V1369.clone(); - rt::apply_direct(interp, "head", &[__t564])? + let __t522 = v_V1369.clone(); + rt::apply_direct(interp, "head", &[__t522])? }; { let v_W1378 = { - let __t565 = v_V1369.clone(); - rt::apply_direct(interp, "tail", &[__t565])? + let __t523 = v_V1369.clone(); + rt::apply_direct(interp, "tail", &[__t523])? }; { - let __t591 = { - let __t566 = v_W1377.clone(); - let __t567 = - Value::sym(interp.intern("cons")); + let __t549 = { + let __t524 = v_W1377.clone(); + let __t525 = Value::sym( + interp.intern_static("cons"), + ); rt::apply_direct( interp, "shen.hds=?", - &[__t566, __t567], + &[__t524, __t525], )? }; - if rt::is_truthy(interp, &__t591)? { + if rt::is_truthy(interp, &__t549)? { { let v_W1379 = { - let __t568 = v_W1377.clone(); + let __t526 = v_W1377.clone(); rt::apply_direct( interp, "tail", - &[__t568], + &[__t526], )? }; { let v_W1380 = { - let __t569 = + let __t527 = v_W1379.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t569], - )? + aot_shen_x2e__x3c_hterm1_x3e_(interp, &[__t527])? }; { - let __t590 = { - let __t570 = + let __t548 = { + let __t528 = v_W1380.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t570])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t528])? }; if rt::is_truthy( - interp, &__t590, + interp, &__t548, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -2987,28 +2866,28 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let v_W1381 = { - let __t571 = + let __t529 = v_W1380 .clone( ); - rt::apply_direct(interp, "shen.<-out", &[__t571])? + rt::apply_direct(interp, "shen.<-out", &[__t529])? }; { let v_W1382 = { - let __t572 = v_W1380.clone(); - rt::apply_direct(interp, "shen.in->", &[__t572])? + let __t530 = v_W1380.clone(); + rt::apply_direct(interp, "shen.in->", &[__t530])? }; { let v_W1383 = { - let __t573 = v_W1382.clone(); - rt::apply_direct(interp, "shen.", &[__t573])? + let __t531 = v_W1382.clone(); + aot_shen_x2e__x3c_hterm2_x3e_(interp, &[__t531])? }; { - let __t589 = { - let __t574 = v_W1383.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t574])? + let __t547 = { + let __t532 = v_W1383.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t532])? }; - if rt::is_truthy(interp, &__t589)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1384 = { let __t575 = v_W1383.clone(); rt::apply_direct(interp, "shen.<-out", &[__t575])? }; { let v_W1385 = { let __t576 = v_W1383.clone(); rt::apply_direct(interp, "shen.in->", &[__t576])? }; { let v_W1386 = { let __t577 = v_W1385.clone(); rt::apply_direct(interp, "", &[__t577])? }; { let __t588 = { let __t578 = v_W1386.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t578])? }; if rt::is_truthy(interp, &__t588)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1387 = { let __t579 = v_W1386.clone(); rt::apply_direct(interp, "shen.in->", &[__t579])? }; { let __t580 = v_W1378.clone(); let __t587 = { let __t581 = Value::sym(interp.intern("cons")); let __t586 = { let __t582 = v_W1381.clone(); let __t585 = { let __t583 = v_W1384.clone(); let __t584 = Value::nil(); rt::cons(&__t583, &__t584) }; rt::cons(&__t582, &__t585) }; rt::cons(&__t581, &__t586) }; rt::apply_direct(interp, "shen.comb", &[__t580, __t587])? } } } } } } } } + if rt::is_truthy(interp, &__t547)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1384 = { let __t533 = v_W1383.clone(); rt::apply_direct(interp, "shen.<-out", &[__t533])? }; { let v_W1385 = { let __t534 = v_W1383.clone(); rt::apply_direct(interp, "shen.in->", &[__t534])? }; { let v_W1386 = { let __t535 = v_W1385.clone(); rt::apply_direct(interp, "", &[__t535])? }; { let __t546 = { let __t536 = v_W1386.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t536])? }; if rt::is_truthy(interp, &__t546)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1387 = { let __t537 = v_W1386.clone(); rt::apply_direct(interp, "shen.in->", &[__t537])? }; { let __t538 = v_W1378.clone(); let __t545 = { let __t539 = Value::sym(interp.intern_static("cons")); let __t544 = { let __t540 = v_W1381.clone(); let __t543 = { let __t541 = v_W1384.clone(); let __t542 = Value::nil(); rt::cons(&__t541, &__t542) }; rt::cons(&__t540, &__t543) }; rt::cons(&__t539, &__t544) }; rt::apply_direct(interp, "shen.comb", &[__t538, __t545])? } } } } } } } } } } } @@ -3036,87 +2915,88 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t594 = { - let __t593 = v_W1376.clone(); + let __t552 = { + let __t551 = v_W1376.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t593], + &[__t551], )? }; - if match rt::is_truthy(interp, &__t594) { + if match rt::is_truthy(interp, &__t552) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1388 = { - let __t617 = { - let __t595 = v_V1369.clone(); + let __t575 = { + let __t553 = v_V1369.clone(); rt::apply_direct( interp, "shen.ccons?", - &[__t595], + &[__t553], )? }; - if rt::is_truthy(interp, &__t617)? { + if rt::is_truthy(interp, &__t575)? { { let v_W1389 = { - let __t596 = v_V1369.clone(); + let __t554 = v_V1369.clone(); rt::apply_direct( interp, "head", - &[__t596], + &[__t554], )? }; { let v_W1390 = { - let __t597 = v_V1369.clone(); + let __t555 = v_V1369.clone(); rt::apply_direct( interp, "tail", - &[__t597], + &[__t555], )? }; { - let __t616 = { - let __t598 = + let __t574 = { + let __t556 = v_W1389.clone(); - let __t599 = Value::sym( - interp.intern("+"), + let __t557 = Value::sym( + interp + .intern_static("+"), ); rt::apply_direct( interp, "shen.hds=?", - &[__t598, __t599], + &[__t556, __t557], )? }; if rt::is_truthy( - interp, &__t616, + interp, &__t574, )? { { let v_W1391 = { - let __t600 = + let __t558 = v_W1389.clone(); rt::apply_direct( interp, "tail", - &[__t600], + &[__t558], )? }; { let v_W1392 = { - let __t601 = + let __t559 = v_W1391 .clone( ); - rt::apply_direct(interp, "shen.", &[__t601])? + aot_shen_x2e__x3c_hterm_x3e_(interp, &[__t559])? }; { - let __t615 = { - let __t602 = v_W1392.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t602])? + let __t573 = { + let __t560 = v_W1392.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t560])? }; - if rt::is_truthy(interp, &__t615)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1393 = { let __t603 = v_W1392.clone(); rt::apply_direct(interp, "shen.<-out", &[__t603])? }; { let v_W1394 = { let __t604 = v_W1392.clone(); rt::apply_direct(interp, "shen.in->", &[__t604])? }; { let v_W1395 = { let __t605 = v_W1394.clone(); rt::apply_direct(interp, "", &[__t605])? }; { let __t614 = { let __t606 = v_W1395.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t606])? }; if rt::is_truthy(interp, &__t614)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1396 = { let __t607 = v_W1395.clone(); rt::apply_direct(interp, "shen.in->", &[__t607])? }; { let __t608 = v_W1390.clone(); let __t613 = { let __t609 = Value::sym(interp.intern("shen.+m")); let __t612 = { let __t610 = v_W1393.clone(); let __t611 = Value::nil(); rt::cons(&__t610, &__t611) }; rt::cons(&__t609, &__t612) }; rt::apply_direct(interp, "shen.comb", &[__t608, __t613])? } } } } } } } } + if rt::is_truthy(interp, &__t573)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1393 = { let __t561 = v_W1392.clone(); rt::apply_direct(interp, "shen.<-out", &[__t561])? }; { let v_W1394 = { let __t562 = v_W1392.clone(); rt::apply_direct(interp, "shen.in->", &[__t562])? }; { let v_W1395 = { let __t563 = v_W1394.clone(); rt::apply_direct(interp, "", &[__t563])? }; { let __t572 = { let __t564 = v_W1395.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t564])? }; if rt::is_truthy(interp, &__t572)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1396 = { let __t565 = v_W1395.clone(); rt::apply_direct(interp, "shen.in->", &[__t565])? }; { let __t566 = v_W1390.clone(); let __t571 = { let __t567 = Value::sym(interp.intern_static("shen.+m")); let __t570 = { let __t568 = v_W1393.clone(); let __t569 = Value::nil(); rt::cons(&__t568, &__t569) }; rt::cons(&__t567, &__t570) }; rt::apply_direct(interp, "shen.comb", &[__t566, __t571])? } } } } } } } } } } } @@ -3139,74 +3019,74 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t619 = { - let __t618 = v_W1388.clone(); + let __t577 = { + let __t576 = v_W1388.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t618], + &[__t576], )? }; - if match rt::is_truthy(interp, &__t619) { + if match rt::is_truthy(interp, &__t577) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1397 = { - let __t642 = { - let __t620 = v_V1369.clone(); + let __t600 = { + let __t578 = v_V1369.clone(); rt::apply_direct( interp, "shen.ccons?", - &[__t620], + &[__t578], )? }; - if rt::is_truthy(interp, &__t642)? { + if rt::is_truthy(interp, &__t600)? { { let v_W1398 = { - let __t621 = + let __t579 = v_V1369.clone(); rt::apply_direct( interp, "head", - &[__t621], + &[__t579], )? }; { let v_W1399 = { - let __t622 = + let __t580 = v_V1369.clone(); rt::apply_direct( interp, "tail", - &[__t622], + &[__t580], )? }; { - let __t641 = { - let __t623 = + let __t599 = { + let __t581 = v_W1398 .clone( ); - let __t624 = Value::sym(interp.intern("-")); - rt::apply_direct(interp, "shen.hds=?", &[__t623, __t624])? + let __t582 = Value::sym(interp.intern_static("-")); + rt::apply_direct(interp, "shen.hds=?", &[__t581, __t582])? }; if rt::is_truthy( - interp, &__t641, + interp, &__t599, )? { { let v_W1400 = { - let __t625 = v_W1398.clone(); - rt::apply_direct(interp, "tail", &[__t625])? + let __t583 = v_W1398.clone(); + rt::apply_direct(interp, "tail", &[__t583])? }; { let v_W1401 = { - let __t626 = v_W1400.clone(); - rt::apply_direct(interp, "shen.", &[__t626])? + let __t584 = v_W1400.clone(); + aot_shen_x2e__x3c_hterm_x3e_(interp, &[__t584])? }; { - let __t640 = { let __t627 = v_W1401.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t627])? }; - if rt::is_truthy(interp, &__t640)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1402 = { let __t628 = v_W1401.clone(); rt::apply_direct(interp, "shen.<-out", &[__t628])? }; { let v_W1403 = { let __t629 = v_W1401.clone(); rt::apply_direct(interp, "shen.in->", &[__t629])? }; { let v_W1404 = { let __t630 = v_W1403.clone(); rt::apply_direct(interp, "", &[__t630])? }; { let __t639 = { let __t631 = v_W1404.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t631])? }; if rt::is_truthy(interp, &__t639)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1405 = { let __t632 = v_W1404.clone(); rt::apply_direct(interp, "shen.in->", &[__t632])? }; { let __t633 = v_W1399.clone(); let __t638 = { let __t634 = Value::sym(interp.intern("shen.-m")); let __t637 = { let __t635 = v_W1402.clone(); let __t636 = Value::nil(); rt::cons(&__t635, &__t636) }; rt::cons(&__t634, &__t637) }; rt::apply_direct(interp, "shen.comb", &[__t633, __t638])? } } } } } } } } + let __t598 = { let __t585 = v_W1401.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t585])? }; + if rt::is_truthy(interp, &__t598)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1402 = { let __t586 = v_W1401.clone(); rt::apply_direct(interp, "shen.<-out", &[__t586])? }; { let v_W1403 = { let __t587 = v_W1401.clone(); rt::apply_direct(interp, "shen.in->", &[__t587])? }; { let v_W1404 = { let __t588 = v_W1403.clone(); rt::apply_direct(interp, "", &[__t588])? }; { let __t597 = { let __t589 = v_W1404.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t589])? }; if rt::is_truthy(interp, &__t597)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1405 = { let __t590 = v_W1404.clone(); rt::apply_direct(interp, "shen.in->", &[__t590])? }; { let __t591 = v_W1399.clone(); let __t596 = { let __t592 = Value::sym(interp.intern_static("shen.-m")); let __t595 = { let __t593 = v_W1402.clone(); let __t594 = Value::nil(); rt::cons(&__t593, &__t594) }; rt::cons(&__t592, &__t595) }; rt::apply_direct(interp, "shen.comb", &[__t591, __t596])? } } } } } } } } } } } @@ -3229,51 +3109,51 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t644 = { - let __t643 = v_W1397.clone(); + let __t602 = { + let __t601 = v_W1397.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t643], + &[__t601], )? }; if match rt::is_truthy( - interp, &__t644, + interp, &__t602, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1406 = { - let __t671 = { - let __t645 = + let __t629 = { + let __t603 = v_V1369.clone(); rt::apply_direct( interp, "shen.ccons?", - &[__t645], + &[__t603], )? }; if rt::is_truthy( - interp, &__t671, + interp, &__t629, )? { { let v_W1407 = { - let __t646 = v_V1369.clone(); - rt::apply_direct(interp, "head", &[__t646])? + let __t604 = v_V1369.clone(); + rt::apply_direct(interp, "head", &[__t604])? }; { let v_W1408 = { - let __t647 = v_V1369.clone(); - rt::apply_direct(interp, "tail", &[__t647])? + let __t605 = v_V1369.clone(); + rt::apply_direct(interp, "tail", &[__t605])? }; { - let __t670 = { - let __t648 = v_W1407.clone(); - let __t649 = Value::sym(interp.intern("mode")); - rt::apply_direct(interp, "shen.hds=?", &[__t648, __t649])? + let __t628 = { + let __t606 = v_W1407.clone(); + let __t607 = Value::sym(interp.intern_static("mode")); + rt::apply_direct(interp, "shen.hds=?", &[__t606, __t607])? }; - if rt::is_truthy(interp, &__t670)? { { let v_W1409 = { let __t650 = v_W1407.clone(); rt::apply_direct(interp, "tail", &[__t650])? }; { let v_W1410 = { let __t651 = v_W1409.clone(); rt::apply_direct(interp, "shen.", &[__t651])? }; { let __t669 = { let __t652 = v_W1410.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t652])? }; if rt::is_truthy(interp, &__t669)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1411 = { let __t653 = v_W1410.clone(); rt::apply_direct(interp, "shen.<-out", &[__t653])? }; { let v_W1412 = { let __t654 = v_W1410.clone(); rt::apply_direct(interp, "shen.in->", &[__t654])? }; { let __t668 = { let __t655 = v_W1412.clone(); let __t656 = Value::sym(interp.intern("+")); rt::apply_direct(interp, "shen.hds=?", &[__t655, __t656])? }; if rt::is_truthy(interp, &__t668)? { { let v_W1413 = { let __t657 = v_W1412.clone(); rt::apply_direct(interp, "tail", &[__t657])? }; { let v_W1414 = { let __t658 = v_W1413.clone(); rt::apply_direct(interp, "", &[__t658])? }; { let __t667 = { let __t659 = v_W1414.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t659])? }; if rt::is_truthy(interp, &__t667)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1415 = { let __t660 = v_W1414.clone(); rt::apply_direct(interp, "shen.in->", &[__t660])? }; { let __t661 = v_W1408.clone(); let __t666 = { let __t662 = Value::sym(interp.intern("shen.+m")); let __t665 = { let __t663 = v_W1411.clone(); let __t664 = Value::nil(); rt::cons(&__t663, &__t664) }; rt::cons(&__t662, &__t665) }; rt::apply_direct(interp, "shen.comb", &[__t661, __t666])? } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t628)? { { let v_W1409 = { let __t608 = v_W1407.clone(); rt::apply_direct(interp, "tail", &[__t608])? }; { let v_W1410 = { let __t609 = v_W1409.clone(); aot_shen_x2e__x3c_hterm_x3e_(interp, &[__t609])? }; { let __t627 = { let __t610 = v_W1410.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t610])? }; if rt::is_truthy(interp, &__t627)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1411 = { let __t611 = v_W1410.clone(); rt::apply_direct(interp, "shen.<-out", &[__t611])? }; { let v_W1412 = { let __t612 = v_W1410.clone(); rt::apply_direct(interp, "shen.in->", &[__t612])? }; { let __t626 = { let __t613 = v_W1412.clone(); let __t614 = Value::sym(interp.intern_static("+")); rt::apply_direct(interp, "shen.hds=?", &[__t613, __t614])? }; if rt::is_truthy(interp, &__t626)? { { let v_W1413 = { let __t615 = v_W1412.clone(); rt::apply_direct(interp, "tail", &[__t615])? }; { let v_W1414 = { let __t616 = v_W1413.clone(); rt::apply_direct(interp, "", &[__t616])? }; { let __t625 = { let __t617 = v_W1414.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t617])? }; if rt::is_truthy(interp, &__t625)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1415 = { let __t618 = v_W1414.clone(); rt::apply_direct(interp, "shen.in->", &[__t618])? }; { let __t619 = v_W1408.clone(); let __t624 = { let __t620 = Value::sym(interp.intern_static("shen.+m")); let __t623 = { let __t621 = v_W1411.clone(); let __t622 = Value::nil(); rt::cons(&__t621, &__t622) }; rt::cons(&__t620, &__t623) }; rt::apply_direct(interp, "shen.comb", &[__t619, __t624])? } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } @@ -3284,13 +3164,13 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t673 = { - let __t672 = + let __t631 = { + let __t630 = v_W1406.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t672])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t630])? }; if match rt::is_truthy( - interp, &__t673, + interp, &__t631, ) { Ok(b) => b, Err(e) => { @@ -3299,18 +3179,18 @@ pub fn aot_shen_x2e__x3c_hterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } { { let v_W1416 = { - let __t700 = { - let __t674 = v_V1369.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t674])? + let __t658 = { + let __t632 = v_V1369.clone(); + rt::apply_direct(interp, "shen.ccons?", &[__t632])? }; - if rt::is_truthy(interp, &__t700)? { { let v_W1417 = { let __t675 = v_V1369.clone(); rt::apply_direct(interp, "head", &[__t675])? }; { let v_W1418 = { let __t676 = v_V1369.clone(); rt::apply_direct(interp, "tail", &[__t676])? }; { let __t699 = { let __t677 = v_W1417.clone(); let __t678 = Value::sym(interp.intern("mode")); rt::apply_direct(interp, "shen.hds=?", &[__t677, __t678])? }; if rt::is_truthy(interp, &__t699)? { { let v_W1419 = { let __t679 = v_W1417.clone(); rt::apply_direct(interp, "tail", &[__t679])? }; { let v_W1420 = { let __t680 = v_W1419.clone(); rt::apply_direct(interp, "shen.", &[__t680])? }; { let __t698 = { let __t681 = v_W1420.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t681])? }; if rt::is_truthy(interp, &__t698)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1421 = { let __t682 = v_W1420.clone(); rt::apply_direct(interp, "shen.<-out", &[__t682])? }; { let v_W1422 = { let __t683 = v_W1420.clone(); rt::apply_direct(interp, "shen.in->", &[__t683])? }; { let __t697 = { let __t684 = v_W1422.clone(); let __t685 = Value::sym(interp.intern("-")); rt::apply_direct(interp, "shen.hds=?", &[__t684, __t685])? }; if rt::is_truthy(interp, &__t697)? { { let v_W1423 = { let __t686 = v_W1422.clone(); rt::apply_direct(interp, "tail", &[__t686])? }; { let v_W1424 = { let __t687 = v_W1423.clone(); rt::apply_direct(interp, "", &[__t687])? }; { let __t696 = { let __t688 = v_W1424.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t688])? }; if rt::is_truthy(interp, &__t696)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1425 = { let __t689 = v_W1424.clone(); rt::apply_direct(interp, "shen.in->", &[__t689])? }; { let __t690 = v_W1418.clone(); let __t695 = { let __t691 = Value::sym(interp.intern("shen.-m")); let __t694 = { let __t692 = v_W1421.clone(); let __t693 = Value::nil(); rt::cons(&__t692, &__t693) }; rt::cons(&__t691, &__t694) }; rt::apply_direct(interp, "shen.comb", &[__t690, __t695])? } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t658)? { { let v_W1417 = { let __t633 = v_V1369.clone(); rt::apply_direct(interp, "head", &[__t633])? }; { let v_W1418 = { let __t634 = v_V1369.clone(); rt::apply_direct(interp, "tail", &[__t634])? }; { let __t657 = { let __t635 = v_W1417.clone(); let __t636 = Value::sym(interp.intern_static("mode")); rt::apply_direct(interp, "shen.hds=?", &[__t635, __t636])? }; if rt::is_truthy(interp, &__t657)? { { let v_W1419 = { let __t637 = v_W1417.clone(); rt::apply_direct(interp, "tail", &[__t637])? }; { let v_W1420 = { let __t638 = v_W1419.clone(); aot_shen_x2e__x3c_hterm_x3e_(interp, &[__t638])? }; { let __t656 = { let __t639 = v_W1420.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t639])? }; if rt::is_truthy(interp, &__t656)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1421 = { let __t640 = v_W1420.clone(); rt::apply_direct(interp, "shen.<-out", &[__t640])? }; { let v_W1422 = { let __t641 = v_W1420.clone(); rt::apply_direct(interp, "shen.in->", &[__t641])? }; { let __t655 = { let __t642 = v_W1422.clone(); let __t643 = Value::sym(interp.intern_static("-")); rt::apply_direct(interp, "shen.hds=?", &[__t642, __t643])? }; if rt::is_truthy(interp, &__t655)? { { let v_W1423 = { let __t644 = v_W1422.clone(); rt::apply_direct(interp, "tail", &[__t644])? }; { let v_W1424 = { let __t645 = v_W1423.clone(); rt::apply_direct(interp, "", &[__t645])? }; { let __t654 = { let __t646 = v_W1424.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t646])? }; if rt::is_truthy(interp, &__t654)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1425 = { let __t647 = v_W1424.clone(); rt::apply_direct(interp, "shen.in->", &[__t647])? }; { let __t648 = v_W1418.clone(); let __t653 = { let __t649 = Value::sym(interp.intern_static("shen.-m")); let __t652 = { let __t650 = v_W1421.clone(); let __t651 = Value::nil(); rt::cons(&__t650, &__t651) }; rt::cons(&__t649, &__t652) }; rt::apply_direct(interp, "shen.comb", &[__t648, __t653])? } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } }; { - let __t702 = { - let __t701 = v_W1416.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t701])? + let __t660 = { + let __t659 = v_W1416.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t659])? }; - if match rt::is_truthy(interp, &__t702) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { break Ok(v_W1416.clone()); } + if match rt::is_truthy(interp, &__t660) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { break Ok(v_W1416.clone()); } } } } else { @@ -3369,20 +3249,17 @@ pub fn aot_shen_x2e_prolog_x2d_keyword_x3f_( #[allow(clippy::never_loop)] loop { break Ok({ - let __t703 = v_V1426.clone(); - let __t709 = { - let __t705 = { - let __t704 = Value::str(";"); - rt::apply_direct(interp, "intern", &[__t704])? + let __t661 = v_V1426.clone(); + let __t666 = { + let __t662 = Value::sym(interp.intern_static(";")); + let __t665 = { + let __t663 = Value::sym(interp.intern_static("<--")); + let __t664 = Value::nil(); + rt::cons(&__t663, &__t664) }; - let __t708 = { - let __t706 = Value::sym(interp.intern("<--")); - let __t707 = Value::nil(); - rt::cons(&__t706, &__t707) - }; - rt::cons(&__t705, &__t708) + rt::cons(&__t662, &__t665) }; - rt::apply_direct(interp, "element?", &[__t703, __t709])? + rt::apply_direct(interp, "element?", &[__t661, __t666])? }); } } @@ -3409,52 +3286,52 @@ pub fn aot_atom_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t711 = { - let __t710 = v_V1427.clone(); - rt::is_symbol(&__t710) + let __t668 = { + let __t667 = v_V1427.clone(); + rt::apply_direct(interp, "symbol?", &[__t667])? }; - if match rt::is_truthy(interp, &__t711) { + if match rt::is_truthy(interp, &__t668) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t713 = { - let __t712 = v_V1427.clone(); - rt::is_string(&__t712) + let __t670 = { + let __t669 = v_V1427.clone(); + rt::is_string(&__t669) }; - if match rt::is_truthy(interp, &__t713) { + if match rt::is_truthy(interp, &__t670) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t715 = { - let __t714 = v_V1427.clone(); - rt::apply_direct(interp, "boolean?", &[__t714])? + let __t672 = { + let __t671 = v_V1427.clone(); + rt::is_boolean(interp, &__t671) }; - if match rt::is_truthy(interp, &__t715) { + if match rt::is_truthy(interp, &__t672) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t717 = { - let __t716 = v_V1427.clone(); - rt::is_number(&__t716) + let __t674 = { + let __t673 = v_V1427.clone(); + rt::is_number(&__t673) }; - if match rt::is_truthy(interp, &__t717) { + if match rt::is_truthy(interp, &__t674) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { break Ok({ - let __t718 = v_V1427.clone(); - rt::apply_direct(interp, "empty?", &[__t718])? + let __t675 = v_V1427.clone(); + rt::is_empty(&__t675) }); } } @@ -3487,33 +3364,33 @@ pub fn aot_shen_x2e__x3c_hterm1_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W1429 = { let v_W1430 = { - let __t719 = v_V1428.clone(); - rt::apply_direct(interp, "shen.", &[__t719])? + let __t676 = v_V1428.clone(); + aot_shen_x2e__x3c_hterm_x3e_(interp, &[__t676])? }; { - let __t725 = { - let __t720 = v_W1430.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t720])? + let __t682 = { + let __t677 = v_W1430.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t677])? }; - if rt::is_truthy(interp, &__t725)? { + if rt::is_truthy(interp, &__t682)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1431 = { - let __t721 = v_W1430.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t721])? + let __t678 = v_W1430.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t678])? }; { let v_W1432 = { - let __t722 = v_W1430.clone(); - rt::apply_direct(interp, "shen.in->", &[__t722])? + let __t679 = v_W1430.clone(); + rt::apply_direct(interp, "shen.in->", &[__t679])? }; { - let __t723 = v_W1432.clone(); - let __t724 = v_W1431.clone(); - rt::apply_direct(interp, "shen.comb", &[__t723, __t724])? + let __t680 = v_W1432.clone(); + let __t681 = v_W1431.clone(); + rt::apply_direct(interp, "shen.comb", &[__t680, __t681])? } } } @@ -3521,11 +3398,11 @@ pub fn aot_shen_x2e__x3c_hterm1_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t727 = { - let __t726 = v_W1429.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t726])? + let __t684 = { + let __t683 = v_W1429.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t683])? }; - if match rt::is_truthy(interp, &__t727) { + if match rt::is_truthy(interp, &__t684) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3558,33 +3435,33 @@ pub fn aot_shen_x2e__x3c_hterm2_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W1434 = { let v_W1435 = { - let __t728 = v_V1433.clone(); - rt::apply_direct(interp, "shen.", &[__t728])? + let __t685 = v_V1433.clone(); + aot_shen_x2e__x3c_hterm_x3e_(interp, &[__t685])? }; { - let __t734 = { - let __t729 = v_W1435.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t729])? + let __t691 = { + let __t686 = v_W1435.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t686])? }; - if rt::is_truthy(interp, &__t734)? { + if rt::is_truthy(interp, &__t691)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1436 = { - let __t730 = v_W1435.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t730])? + let __t687 = v_W1435.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t687])? }; { let v_W1437 = { - let __t731 = v_W1435.clone(); - rt::apply_direct(interp, "shen.in->", &[__t731])? + let __t688 = v_W1435.clone(); + rt::apply_direct(interp, "shen.in->", &[__t688])? }; { - let __t732 = v_W1437.clone(); - let __t733 = v_W1436.clone(); - rt::apply_direct(interp, "shen.comb", &[__t732, __t733])? + let __t689 = v_W1437.clone(); + let __t690 = v_W1436.clone(); + rt::apply_direct(interp, "shen.comb", &[__t689, __t690])? } } } @@ -3592,11 +3469,11 @@ pub fn aot_shen_x2e__x3c_hterm2_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t736 = { - let __t735 = v_W1434.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t735])? + let __t693 = { + let __t692 = v_W1434.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t692])? }; - if match rt::is_truthy(interp, &__t736) { + if match rt::is_truthy(interp, &__t693) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3629,77 +3506,77 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let v_W1439 = { let v_W1440 = { - let __t737 = v_V1438.clone(); - rt::apply_direct(interp, "shen.", &[__t737])? + let __t694 = v_V1438.clone(); + aot_shen_x2e__x3c_literal_x3e_(interp, &[__t694])? }; { - let __t750 = { - let __t738 = v_W1440.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t738])? + let __t707 = { + let __t695 = v_W1440.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t695])? }; - if rt::is_truthy(interp, &__t750)? { + if rt::is_truthy(interp, &__t707)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1441 = { - let __t739 = v_W1440.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t739])? + let __t696 = v_W1440.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t696])? }; { let v_W1442 = { - let __t740 = v_W1440.clone(); - rt::apply_direct(interp, "shen.in->", &[__t740])? + let __t697 = v_W1440.clone(); + rt::apply_direct(interp, "shen.in->", &[__t697])? }; { let v_W1443 = { - let __t741 = v_W1442.clone(); - rt::apply_direct(interp, "shen.", &[__t741])? + let __t698 = v_W1442.clone(); + aot_shen_x2e__x3c_body_x3e_(interp, &[__t698])? }; { - let __t749 = { - let __t742 = v_W1443.clone(); + let __t706 = { + let __t699 = v_W1443.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t742], + &[__t699], )? }; - if rt::is_truthy(interp, &__t749)? { + if rt::is_truthy(interp, &__t706)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1444 = { - let __t743 = v_W1443.clone(); + let __t700 = v_W1443.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t743], + &[__t700], )? }; { let v_W1445 = { - let __t744 = v_W1443.clone(); + let __t701 = v_W1443.clone(); rt::apply_direct( interp, "shen.in->", - &[__t744], + &[__t701], )? }; { - let __t745 = v_W1445.clone(); - let __t748 = { - let __t746 = v_W1441.clone(); - let __t747 = v_W1444.clone(); - rt::cons(&__t746, &__t747) + let __t702 = v_W1445.clone(); + let __t705 = { + let __t703 = v_W1441.clone(); + let __t704 = v_W1444.clone(); + rt::cons(&__t703, &__t704) }; rt::apply_direct( interp, "shen.comb", - &[__t745, __t748], + &[__t702, __t705], )? } } @@ -3713,42 +3590,42 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t752 = { - let __t751 = v_W1439.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t751])? + let __t709 = { + let __t708 = v_W1439.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t708])? }; - if match rt::is_truthy(interp, &__t752) { + if match rt::is_truthy(interp, &__t709) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1446 = { let v_W1447 = { - let __t753 = v_V1438.clone(); - rt::apply_direct(interp, "", &[__t753])? + let __t710 = v_V1438.clone(); + rt::apply_direct(interp, "", &[__t710])? }; { - let __t758 = { - let __t754 = v_W1447.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t754])? + let __t715 = { + let __t711 = v_W1447.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t711])? }; - if rt::is_truthy(interp, &__t758)? { + if rt::is_truthy(interp, &__t715)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1448 = { - let __t755 = v_W1447.clone(); - rt::apply_direct(interp, "shen.in->", &[__t755])? + let __t712 = v_W1447.clone(); + rt::apply_direct(interp, "shen.in->", &[__t712])? }; { - let __t756 = v_W1448.clone(); - let __t757 = Value::nil(); + let __t713 = v_W1448.clone(); + let __t714 = Value::nil(); rt::apply_direct( interp, "shen.comb", - &[__t756, __t757], + &[__t713, __t714], )? } } @@ -3756,11 +3633,11 @@ pub fn aot_shen_x2e__x3c_body_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t760 = { - let __t759 = v_W1446.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t759])? + let __t717 = { + let __t716 = v_W1446.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t716])? }; - if match rt::is_truthy(interp, &__t760) { + if match rt::is_truthy(interp, &__t717) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3797,21 +3674,21 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W1450 = { - let __t766 = { - let __t761 = v_V1449.clone(); - let __t762 = Value::sym(interp.intern("!")); - rt::apply_direct(interp, "shen.hds=?", &[__t761, __t762])? + let __t723 = { + let __t718 = v_V1449.clone(); + let __t719 = Value::sym(interp.intern_static("!")); + rt::apply_direct(interp, "shen.hds=?", &[__t718, __t719])? }; - if rt::is_truthy(interp, &__t766)? { + if rt::is_truthy(interp, &__t723)? { { let v_W1451 = { - let __t763 = v_V1449.clone(); - rt::apply_direct(interp, "tail", &[__t763])? + let __t720 = v_V1449.clone(); + rt::apply_direct(interp, "tail", &[__t720])? }; { - let __t764 = v_W1451.clone(); - let __t765 = Value::sym(interp.intern("!")); - rt::apply_direct(interp, "shen.comb", &[__t764, __t765])? + let __t721 = v_W1451.clone(); + let __t722 = Value::sym(interp.intern_static("!")); + rt::apply_direct(interp, "shen.comb", &[__t721, __t722])? } } } else { @@ -3821,50 +3698,46 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t768 = { - let __t767 = v_W1450.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t767])? + let __t725 = { + let __t724 = v_W1450.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t724])? }; - if match rt::is_truthy(interp, &__t768) { + if match rt::is_truthy(interp, &__t725) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1452 = { - let __t783 = { - let __t769 = v_V1449.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t769])? + let __t740 = { + let __t726 = v_V1449.clone(); + rt::apply_direct(interp, "shen.ccons?", &[__t726])? }; - if rt::is_truthy(interp, &__t783)? { + if rt::is_truthy(interp, &__t740)? { { let v_W1453 = { - let __t770 = v_V1449.clone(); - rt::apply_direct(interp, "head", &[__t770])? + let __t727 = v_V1449.clone(); + rt::apply_direct(interp, "head", &[__t727])? }; { let v_W1454 = { - let __t771 = v_V1449.clone(); - rt::apply_direct(interp, "tail", &[__t771])? + let __t728 = v_V1449.clone(); + rt::apply_direct(interp, "tail", &[__t728])? }; { let v_W1455 = { - let __t772 = v_W1453.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t772], - )? + let __t729 = v_W1453.clone(); + aot_shen_x2e__x3c_bterms_x3e_(interp, &[__t729])? }; { - let __t782 = { - let __t773 = v_W1455.clone(); + let __t739 = { + let __t730 = v_W1455.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t773], + &[__t730], )? }; - if rt::is_truthy(interp, &__t782)? { + if rt::is_truthy(interp, &__t739)? { { rt::apply_direct( interp, @@ -3875,43 +3748,43 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W1456 = { - let __t774 = v_W1455.clone(); + let __t731 = v_W1455.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t774], + &[__t731], )? }; { let v_W1457 = { - let __t775 = v_W1455.clone(); + let __t732 = v_W1455.clone(); rt::apply_direct( interp, "shen.in->", - &[__t775], + &[__t732], )? }; { let v_W1458 = { - let __t776 = v_W1457.clone(); + let __t733 = v_W1457.clone(); rt::apply_direct( interp, "", - &[__t776], + &[__t733], )? }; { - let __t781 = { - let __t777 = + let __t738 = { + let __t734 = v_W1458.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t777], + &[__t734], )? }; if rt::is_truthy( - interp, &__t781, + interp, &__t738, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -3919,25 +3792,25 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W1459 = { - let __t778 = + let __t735 = v_W1458.clone(); rt::apply_direct( interp, "shen.in->", - &[__t778], + &[__t735], )? }; { - let __t779 = + let __t736 = v_W1454.clone(); - let __t780 = + let __t737 = v_W1456.clone(); rt::apply_direct( interp, "shen.comb", &[ - __t779, - __t780, + __t736, + __t737, ], )? } @@ -3959,11 +3832,11 @@ pub fn aot_shen_x2e__x3c_literal_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t785 = { - let __t784 = v_W1452.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t784])? + let __t742 = { + let __t741 = v_W1452.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t741])? }; - if match rt::is_truthy(interp, &__t785) { + if match rt::is_truthy(interp, &__t742) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4001,77 +3874,77 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W1461 = { let v_W1462 = { - let __t786 = v_V1460.clone(); - rt::apply_direct(interp, "shen.", &[__t786])? + let __t743 = v_V1460.clone(); + aot_shen_x2e__x3c_bterm_x3e_(interp, &[__t743])? }; { - let __t799 = { - let __t787 = v_W1462.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t787])? + let __t756 = { + let __t744 = v_W1462.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t744])? }; - if rt::is_truthy(interp, &__t799)? { + if rt::is_truthy(interp, &__t756)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1463 = { - let __t788 = v_W1462.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t788])? + let __t745 = v_W1462.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t745])? }; { let v_W1464 = { - let __t789 = v_W1462.clone(); - rt::apply_direct(interp, "shen.in->", &[__t789])? + let __t746 = v_W1462.clone(); + rt::apply_direct(interp, "shen.in->", &[__t746])? }; { let v_W1465 = { - let __t790 = v_W1464.clone(); - rt::apply_direct(interp, "shen.", &[__t790])? + let __t747 = v_W1464.clone(); + aot_shen_x2e__x3c_bterms_x3e_(interp, &[__t747])? }; { - let __t798 = { - let __t791 = v_W1465.clone(); + let __t755 = { + let __t748 = v_W1465.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t791], + &[__t748], )? }; - if rt::is_truthy(interp, &__t798)? { + if rt::is_truthy(interp, &__t755)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1466 = { - let __t792 = v_W1465.clone(); + let __t749 = v_W1465.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t792], + &[__t749], )? }; { let v_W1467 = { - let __t793 = v_W1465.clone(); + let __t750 = v_W1465.clone(); rt::apply_direct( interp, "shen.in->", - &[__t793], + &[__t750], )? }; { - let __t794 = v_W1467.clone(); - let __t797 = { - let __t795 = v_W1463.clone(); - let __t796 = v_W1466.clone(); - rt::cons(&__t795, &__t796) + let __t751 = v_W1467.clone(); + let __t754 = { + let __t752 = v_W1463.clone(); + let __t753 = v_W1466.clone(); + rt::cons(&__t752, &__t753) }; rt::apply_direct( interp, "shen.comb", - &[__t794, __t797], + &[__t751, __t754], )? } } @@ -4085,42 +3958,42 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t801 = { - let __t800 = v_W1461.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t800])? + let __t758 = { + let __t757 = v_W1461.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t757])? }; - if match rt::is_truthy(interp, &__t801) { + if match rt::is_truthy(interp, &__t758) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1468 = { let v_W1469 = { - let __t802 = v_V1460.clone(); - rt::apply_direct(interp, "", &[__t802])? + let __t759 = v_V1460.clone(); + rt::apply_direct(interp, "", &[__t759])? }; { - let __t807 = { - let __t803 = v_W1469.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t803])? + let __t764 = { + let __t760 = v_W1469.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t760])? }; - if rt::is_truthy(interp, &__t807)? { + if rt::is_truthy(interp, &__t764)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1470 = { - let __t804 = v_W1469.clone(); - rt::apply_direct(interp, "shen.in->", &[__t804])? + let __t761 = v_W1469.clone(); + rt::apply_direct(interp, "shen.in->", &[__t761])? }; { - let __t805 = v_W1470.clone(); - let __t806 = Value::nil(); + let __t762 = v_W1470.clone(); + let __t763 = Value::nil(); rt::apply_direct( interp, "shen.comb", - &[__t805, __t806], + &[__t762, __t763], )? } } @@ -4128,11 +4001,11 @@ pub fn aot_shen_x2e__x3c_bterms_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t809 = { - let __t808 = v_W1468.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t808])? + let __t766 = { + let __t765 = v_W1468.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t765])? }; - if match rt::is_truthy(interp, &__t809) { + if match rt::is_truthy(interp, &__t766) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4170,33 +4043,33 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let v_W1472 = { let v_W1473 = { - let __t810 = v_V1471.clone(); - rt::apply_direct(interp, "shen.", &[__t810])? + let __t767 = v_V1471.clone(); + aot_shen_x2e__x3c_wildcard_x3e_(interp, &[__t767])? }; { - let __t816 = { - let __t811 = v_W1473.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t811])? + let __t773 = { + let __t768 = v_W1473.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t768])? }; - if rt::is_truthy(interp, &__t816)? { + if rt::is_truthy(interp, &__t773)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W1474 = { - let __t812 = v_W1473.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t812])? + let __t769 = v_W1473.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t769])? }; { let v_W1475 = { - let __t813 = v_W1473.clone(); - rt::apply_direct(interp, "shen.in->", &[__t813])? + let __t770 = v_W1473.clone(); + rt::apply_direct(interp, "shen.in->", &[__t770])? }; { - let __t814 = v_W1475.clone(); - let __t815 = v_W1474.clone(); - rt::apply_direct(interp, "shen.comb", &[__t814, __t815])? + let __t771 = v_W1475.clone(); + let __t772 = v_W1474.clone(); + rt::apply_direct(interp, "shen.comb", &[__t771, __t772])? } } } @@ -4204,44 +4077,44 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t818 = { - let __t817 = v_W1472.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t817])? + let __t775 = { + let __t774 = v_W1472.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t774])? }; - if match rt::is_truthy(interp, &__t818) { + if match rt::is_truthy(interp, &__t775) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1476 = { - let __t826 = { - let __t819 = v_V1471.clone(); - rt::is_cons(&__t819) + let __t783 = { + let __t776 = v_V1471.clone(); + rt::is_cons(&__t776) }; - if rt::is_truthy(interp, &__t826)? { + if rt::is_truthy(interp, &__t783)? { { let v_W1477 = { - let __t820 = v_V1471.clone(); - rt::apply_direct(interp, "head", &[__t820])? + let __t777 = v_V1471.clone(); + rt::apply_direct(interp, "head", &[__t777])? }; { let v_W1478 = { - let __t821 = v_V1471.clone(); - rt::apply_direct(interp, "tail", &[__t821])? + let __t778 = v_V1471.clone(); + rt::apply_direct(interp, "tail", &[__t778])? }; { - let __t825 = { - let __t822 = v_W1477.clone(); - rt::apply_direct(interp, "atom?", &[__t822])? + let __t782 = { + let __t779 = v_W1477.clone(); + aot_atom_x3f_(interp, &[__t779])? }; - if rt::is_truthy(interp, &__t825)? { + if rt::is_truthy(interp, &__t782)? { { - let __t823 = v_W1478.clone(); - let __t824 = v_W1477.clone(); + let __t780 = v_W1478.clone(); + let __t781 = v_W1477.clone(); rt::apply_direct( interp, "shen.comb", - &[__t823, __t824], + &[__t780, __t781], )? } } else { @@ -4263,50 +4136,49 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t828 = { - let __t827 = v_W1476.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t827])? + let __t785 = { + let __t784 = v_W1476.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t784])? }; - if match rt::is_truthy(interp, &__t828) { + if match rt::is_truthy(interp, &__t785) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1479 = { - let __t843 = { - let __t829 = v_V1471.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t829])? + let __t800 = { + let __t786 = v_V1471.clone(); + rt::apply_direct(interp, "shen.ccons?", &[__t786])? }; - if rt::is_truthy(interp, &__t843)? { + if rt::is_truthy(interp, &__t800)? { { let v_W1480 = { - let __t830 = v_V1471.clone(); - rt::apply_direct(interp, "head", &[__t830])? + let __t787 = v_V1471.clone(); + rt::apply_direct(interp, "head", &[__t787])? }; { let v_W1481 = { - let __t831 = v_V1471.clone(); - rt::apply_direct(interp, "tail", &[__t831])? + let __t788 = v_V1471.clone(); + rt::apply_direct(interp, "tail", &[__t788])? }; { let v_W1482 = { - let __t832 = v_W1480.clone(); - rt::apply_direct( + let __t789 = v_W1480.clone(); + aot_shen_x2e__x3c_bterms_x3e_( interp, - "shen.", - &[__t832], + &[__t789], )? }; { - let __t842 = { - let __t833 = v_W1482.clone(); + let __t799 = { + let __t790 = v_W1482.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t833], + &[__t790], )? }; - if rt::is_truthy(interp, &__t842)? { + if rt::is_truthy(interp, &__t799)? { { rt::apply_direct( interp, @@ -4317,44 +4189,44 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let v_W1483 = { - let __t834 = + let __t791 = v_W1482.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t834], + &[__t791], )? }; { let v_W1484 = { - let __t835 = + let __t792 = v_W1482.clone(); rt::apply_direct( interp, "shen.in->", - &[__t835], + &[__t792], )? }; { let v_W1485 = { - let __t836 = + let __t793 = v_W1484.clone(); rt::apply_direct( interp, "", - &[__t836], + &[__t793], )? }; { - let __t841 = { - let __t837 = + let __t798 = { + let __t794 = v_W1485 .clone( ); - rt::apply_direct(interp, "shen.parse-failure?", &[__t837])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t794])? }; if rt::is_truthy( - interp, &__t841, + interp, &__t798, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -4362,13 +4234,13 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let v_W1486 = { - let __t838 = v_W1485.clone(); - rt::apply_direct(interp, "shen.in->", &[__t838])? + let __t795 = v_W1485.clone(); + rt::apply_direct(interp, "shen.in->", &[__t795])? }; { - let __t839 = v_W1481.clone(); - let __t840 = v_W1483.clone(); - rt::apply_direct(interp, "shen.comb", &[__t839, __t840])? + let __t796 = v_W1481.clone(); + let __t797 = v_W1483.clone(); + rt::apply_direct(interp, "shen.comb", &[__t796, __t797])? } } } @@ -4388,15 +4260,15 @@ pub fn aot_shen_x2e__x3c_bterm_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t845 = { - let __t844 = v_W1479.clone(); + let __t802 = { + let __t801 = v_W1479.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t844], + &[__t801], )? }; - if match rt::is_truthy(interp, &__t845) { + if match rt::is_truthy(interp, &__t802) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4440,35 +4312,33 @@ pub fn aot_shen_x2e__x3c_wildcard_x3e_(interp: &mut Interp, args: &[Value]) -> S loop { { let v_W1488 = { - let __t855 = { - let __t846 = v_V1487.clone(); - rt::is_cons(&__t846) + let __t810 = { + let __t803 = v_V1487.clone(); + rt::is_cons(&__t803) }; - if rt::is_truthy(interp, &__t855)? { + if rt::is_truthy(interp, &__t810)? { { let v_W1489 = { - let __t847 = v_V1487.clone(); - rt::apply_direct(interp, "head", &[__t847])? + let __t804 = v_V1487.clone(); + rt::apply_direct(interp, "head", &[__t804])? }; { let v_W1490 = { - let __t848 = v_V1487.clone(); - rt::apply_direct(interp, "tail", &[__t848])? + let __t805 = v_V1487.clone(); + rt::apply_direct(interp, "tail", &[__t805])? }; { - let __t854 = { - let __t849 = v_W1489.clone(); - let __t850 = Value::sym(interp.intern("_")); - rt::eq(&__t849, &__t850) - }; - if rt::is_truthy(interp, &__t854)? { + let __t809 = Value::bool( + (v_W1489.clone()).as_sym() == Some(interp.intern_static("_")), + ); + if rt::is_truthy(interp, &__t809)? { { - let __t851 = v_W1490.clone(); - let __t853 = { - let __t852 = Value::sym(interp.intern("Y")); - rt::apply_direct(interp, "gensym", &[__t852])? + let __t806 = v_W1490.clone(); + let __t808 = { + let __t807 = Value::sym(interp.intern_static("Y")); + rt::apply_direct(interp, "gensym", &[__t807])? }; - rt::apply_direct(interp, "shen.comb", &[__t851, __t853])? + rt::apply_direct(interp, "shen.comb", &[__t806, __t808])? } } else { { @@ -4485,11 +4355,11 @@ pub fn aot_shen_x2e__x3c_wildcard_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t857 = { - let __t856 = v_W1488.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t856])? + let __t812 = { + let __t811 = v_W1488.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t811])? }; - if match rt::is_truthy(interp, &__t857) { + if match rt::is_truthy(interp, &__t812) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4521,31 +4391,31 @@ pub fn aot_shen_x2e__x3c_sc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRes loop { { let v_W1492 = { - let __t865 = { - let __t858 = v_V1491.clone(); - rt::is_cons(&__t858) + let __t820 = { + let __t813 = v_V1491.clone(); + rt::is_cons(&__t813) }; - if rt::is_truthy(interp, &__t865)? { + if rt::is_truthy(interp, &__t820)? { { let v_W1493 = { - let __t859 = v_V1491.clone(); - rt::apply_direct(interp, "head", &[__t859])? + let __t814 = v_V1491.clone(); + rt::apply_direct(interp, "head", &[__t814])? }; { let v_W1494 = { - let __t860 = v_V1491.clone(); - rt::apply_direct(interp, "tail", &[__t860])? + let __t815 = v_V1491.clone(); + rt::apply_direct(interp, "tail", &[__t815])? }; { - let __t864 = { - let __t861 = v_W1493.clone(); - rt::apply_direct(interp, "shen.semicolon?", &[__t861])? + let __t819 = { + let __t816 = v_W1493.clone(); + rt::apply_direct(interp, "shen.semicolon?", &[__t816])? }; - if rt::is_truthy(interp, &__t864)? { + if rt::is_truthy(interp, &__t819)? { { - let __t862 = v_W1494.clone(); - let __t863 = v_W1493.clone(); - rt::apply_direct(interp, "shen.comb", &[__t862, __t863])? + let __t817 = v_W1494.clone(); + let __t818 = v_W1493.clone(); + rt::apply_direct(interp, "shen.comb", &[__t817, __t818])? } } else { { @@ -4562,11 +4432,11 @@ pub fn aot_shen_x2e__x3c_sc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRes } }; { - let __t867 = { - let __t866 = v_W1492.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t866])? + let __t822 = { + let __t821 = v_W1492.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t821])? }; - if match rt::is_truthy(interp, &__t867) { + if match rt::is_truthy(interp, &__t822) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4603,86 +4473,87 @@ pub fn aot_shen_x2e_horn_x2d_clause_x2d_procedure( loop { { let v_W1497 = { - let __t868 = Value::sym(interp.intern("B")); - rt::apply_direct(interp, "gensym", &[__t868])? + let __t823 = Value::sym(interp.intern_static("B")); + rt::apply_direct(interp, "gensym", &[__t823])? }; { let v_W1498 = { - let __t869 = Value::sym(interp.intern("L")); - rt::apply_direct(interp, "gensym", &[__t869])? + let __t824 = Value::sym(interp.intern_static("L")); + rt::apply_direct(interp, "gensym", &[__t824])? }; { let v_W1499 = { - let __t870 = Value::sym(interp.intern("K")); - rt::apply_direct(interp, "gensym", &[__t870])? + let __t825 = Value::sym(interp.intern_static("K")); + rt::apply_direct(interp, "gensym", &[__t825])? }; { let v_W1500 = { - let __t871 = Value::sym(interp.intern("C")); - rt::apply_direct(interp, "gensym", &[__t871])? + let __t826 = Value::sym(interp.intern_static("C")); + rt::apply_direct(interp, "gensym", &[__t826])? }; { let v_W1501 = { - let __t872 = v_V1496.clone(); - rt::apply_direct(interp, "shen.prolog-parameters", &[__t872])? + let __t827 = v_V1496.clone(); + aot_shen_x2e_prolog_x2d_parameters(interp, &[__t827])? }; { let v_W1502 = { - let __t873 = v_V1496.clone(); - rt::apply_direct(interp, "shen.hascut?", &[__t873])? + let __t828 = v_V1496.clone(); + aot_shen_x2e_hascut_x3f_(interp, &[__t828])? }; { let v_W1503 = { - let __t874 = v_V1496.clone(); - let __t875 = v_W1501.clone(); - let __t876 = v_W1497.clone(); - let __t877 = v_W1498.clone(); - let __t878 = v_W1499.clone(); - let __t879 = v_W1500.clone(); - let __t880 = v_W1502.clone(); - rt::apply_direct( + let __t829 = v_V1496.clone(); + let __t830 = v_W1501.clone(); + let __t831 = v_W1497.clone(); + let __t832 = v_W1498.clone(); + let __t833 = v_W1499.clone(); + let __t834 = v_W1500.clone(); + let __t835 = v_W1502.clone(); + aot_shen_x2e_prolog_x2d_fbody( interp, - "shen.prolog-fbody", &[ - __t874, __t875, __t876, __t877, __t878, __t879, - __t880, + __t829, __t830, __t831, __t832, __t833, __t834, + __t835, ], )? }; { let v_W1504 = { - let __t895 = v_W1502.clone(); - if rt::is_truthy(interp, &__t895)? { + let __t850 = v_W1502.clone(); + if rt::is_truthy(interp, &__t850)? { { - let __t881 = Value::sym(interp.intern("let")); - let __t894 = { - let __t882 = v_W1499.clone(); - let __t893 = { - let __t889 = { - let __t883 = - Value::sym(interp.intern("+")); - let __t888 = { - let __t884 = v_W1499.clone(); - let __t887 = { - let __t885 = + let __t836 = + Value::sym(interp.intern_static("let")); + let __t849 = { + let __t837 = v_W1499.clone(); + let __t848 = { + let __t844 = { + let __t838 = Value::sym( + interp.intern_static("+"), + ); + let __t843 = { + let __t839 = v_W1499.clone(); + let __t842 = { + let __t840 = Value::int(1i64); - let __t886 = Value::nil(); - rt::cons(&__t885, &__t886) + let __t841 = Value::nil(); + rt::cons(&__t840, &__t841) }; - rt::cons(&__t884, &__t887) + rt::cons(&__t839, &__t842) }; - rt::cons(&__t883, &__t888) + rt::cons(&__t838, &__t843) }; - let __t892 = { - let __t890 = v_W1503.clone(); - let __t891 = Value::nil(); - rt::cons(&__t890, &__t891) + let __t847 = { + let __t845 = v_W1503.clone(); + let __t846 = Value::nil(); + rt::cons(&__t845, &__t846) }; - rt::cons(&__t889, &__t892) + rt::cons(&__t844, &__t847) }; - rt::cons(&__t882, &__t893) + rt::cons(&__t837, &__t848) }; - rt::cons(&__t881, &__t894) + rt::cons(&__t836, &__t849) } } else { v_W1503.clone() @@ -4690,67 +4561,62 @@ pub fn aot_shen_x2e_horn_x2d_clause_x2d_procedure( }; { let v_W1505 = { - let __t896 = Value::sym(interp.intern("define")); - let __t915 = { - let __t897 = v_V1495.clone(); - let __t914 = { - let __t898 = v_W1501.clone(); - let __t913 = { - let __t909 = { - let __t899 = v_W1497.clone(); - let __t908 = { - let __t900 = v_W1498.clone(); - let __t907 = { - let __t901 = + let __t851 = + Value::sym(interp.intern_static("define")); + let __t870 = { + let __t852 = v_V1495.clone(); + let __t869 = { + let __t853 = v_W1501.clone(); + let __t868 = { + let __t864 = { + let __t854 = v_W1497.clone(); + let __t863 = { + let __t855 = v_W1498.clone(); + let __t862 = { + let __t856 = v_W1499.clone(); - let __t906 = { - let __t902 = + let __t861 = { + let __t857 = v_W1500.clone(); - let __t905 = { - let __t903 = - Value::sym( - interp - .intern( - "->", - ), - ); - let __t904 = + let __t860 = { + let __t858 = Value::sym(interp.intern_static("->")); + let __t859 = Value::nil(); rt::cons( - &__t903, - &__t904, + &__t858, + &__t859, ) }; rt::cons( - &__t902, &__t905, + &__t857, &__t860, ) }; - rt::cons(&__t901, &__t906) + rt::cons(&__t856, &__t861) }; - rt::cons(&__t900, &__t907) + rt::cons(&__t855, &__t862) }; - rt::cons(&__t899, &__t908) + rt::cons(&__t854, &__t863) }; - let __t912 = { - let __t910 = v_W1504.clone(); - let __t911 = Value::nil(); - rt::cons(&__t910, &__t911) + let __t867 = { + let __t865 = v_W1504.clone(); + let __t866 = Value::nil(); + rt::cons(&__t865, &__t866) }; rt::apply_direct( interp, "append", - &[__t909, __t912], + &[__t864, __t867], )? }; rt::apply_direct( interp, "append", - &[__t898, __t913], + &[__t853, __t868], )? }; - rt::cons(&__t897, &__t914) + rt::cons(&__t852, &__t869) }; - rt::cons(&__t896, &__t915) + rt::cons(&__t851, &__t870) }; break Ok(v_W1505.clone()); } @@ -4790,54 +4656,50 @@ pub fn aot_shen_x2e_hascut_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t926 = { - let __t924 = Value::sym(interp.intern("!")); - let __t925 = v_V1508.clone(); - rt::eq(&__t924, &__t925) - }; - if match rt::is_truthy(interp, &__t926) { + let __t879 = Value::bool((v_V1508.clone()).as_sym() == Some(interp.intern_static("!"))); + if match rt::is_truthy(interp, &__t879) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t923 = { - let __t917 = v_V1508.clone(); - rt::is_cons(&__t917) + let __t878 = { + let __t872 = v_V1508.clone(); + rt::is_cons(&__t872) }; - if match rt::is_truthy(interp, &__t923) { + if match rt::is_truthy(interp, &__t878) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t920 = { - let __t919 = { - let __t918 = v_V1508.clone(); - rt::hd(&__t918)? + let __t875 = { + let __t874 = { + let __t873 = v_V1508.clone(); + rt::hd(&__t873)? }; - rt::apply_direct(interp, "shen.hascut?", &[__t919])? + aot_shen_x2e_hascut_x3f_(interp, &[__t874])? }; - if match rt::is_truthy(interp, &__t920) { + if match rt::is_truthy(interp, &__t875) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t922 = { - let __t921 = v_V1508.clone(); - rt::tl(&__t921)? + let __t877 = { + let __t876 = v_V1508.clone(); + rt::tl(&__t876)? }; - v_V1508 = __t922; + v_V1508 = __t877; continue; } } } } else { { - let __t916 = Value::bool(true); - if match rt::is_truthy(interp, &__t916) { + let __t871 = Value::bool(true); + if match rt::is_truthy(interp, &__t871) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4874,51 +4736,51 @@ pub fn aot_shen_x2e_prolog_x2d_parameters( #[allow(clippy::never_loop)] loop { { - let __t938 = { - let __t932 = { - let __t929 = v_V1513.clone(); - rt::is_cons(&__t929) + let __t891 = { + let __t885 = { + let __t882 = v_V1513.clone(); + rt::is_cons(&__t882) }; - if !rt::is_truthy(interp, &__t932)? { + if !rt::is_truthy(interp, &__t885)? { Value::bool(false) } else { - let __t933 = { - let __t931 = { - let __t930 = v_V1513.clone(); - rt::hd(&__t930)? + let __t886 = { + let __t884 = { + let __t883 = v_V1513.clone(); + rt::hd(&__t883)? }; - rt::is_cons(&__t931) + rt::is_cons(&__t884) }; - Value::bool(rt::is_truthy(interp, &__t933)?) + Value::bool(rt::is_truthy(interp, &__t886)?) } }; - if match rt::is_truthy(interp, &__t938) { + if match rt::is_truthy(interp, &__t891) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t937 = { - let __t936 = { - let __t935 = { - let __t934 = v_V1513.clone(); - rt::hd(&__t934)? + let __t890 = { + let __t889 = { + let __t888 = { + let __t887 = v_V1513.clone(); + rt::hd(&__t887)? }; - rt::hd(&__t935)? + rt::hd(&__t888)? }; - rt::apply_direct(interp, "length", &[__t936])? + rt::apply_direct(interp, "length", &[__t889])? }; - rt::apply_direct(interp, "shen.parameters", &[__t937])? + rt::apply_direct(interp, "shen.parameters", &[__t890])? }); } else { { - let __t928 = Value::bool(true); - if match rt::is_truthy(interp, &__t928) { + let __t881 = Value::bool(true); + if match rt::is_truthy(interp, &__t881) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t927 = Value::str("partial function shen.prolog-parameters"); - rt::apply_direct(interp, "simple-error", &[__t927])? + let __t880 = Value::str("partial function shen.prolog-parameters"); + rt::apply_direct(interp, "simple-error", &[__t880])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4963,445 +4825,432 @@ pub fn aot_shen_x2e_prolog_x2d_fbody(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1089 = { - let __t1081 = { - let __t1077 = Value::nil(); - let __t1078 = v_V1534.clone(); - rt::eq(&__t1077, &__t1078) - }; - if !rt::is_truthy(interp, &__t1081)? { + let __t1034 = { + let __t1026 = Value::bool((v_V1534.clone()).is_nil()); + if !rt::is_truthy(interp, &__t1026)? { Value::bool(false) } else { - let __t1082 = { - let __t1079 = Value::bool(true); - let __t1080 = v_V1540.clone(); - rt::eq(&__t1079, &__t1080) + let __t1027 = { + let __t1024 = Value::bool(true); + let __t1025 = v_V1540.clone(); + rt::eq(&__t1024, &__t1025) }; - Value::bool(rt::is_truthy(interp, &__t1082)?) + Value::bool(rt::is_truthy(interp, &__t1027)?) } }; - if match rt::is_truthy(interp, &__t1089) { + if match rt::is_truthy(interp, &__t1034) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1083 = Value::sym(interp.intern("shen.unlock")); - let __t1088 = { - let __t1084 = v_V1537.clone(); - let __t1087 = { - let __t1085 = v_V1538.clone(); - let __t1086 = Value::nil(); - rt::cons(&__t1085, &__t1086) + let __t1028 = Value::sym(interp.intern_static("shen.unlock")); + let __t1033 = { + let __t1029 = v_V1537.clone(); + let __t1032 = { + let __t1030 = v_V1538.clone(); + let __t1031 = Value::nil(); + rt::cons(&__t1030, &__t1031) }; - rt::cons(&__t1084, &__t1087) + rt::cons(&__t1029, &__t1032) }; - rt::cons(&__t1083, &__t1088) + rt::cons(&__t1028, &__t1033) }); } else { { - let __t1076 = { - let __t1044 = { - let __t1020 = v_V1534.clone(); - rt::is_cons(&__t1020) + let __t1023 = { + let __t991 = { + let __t971 = v_V1534.clone(); + rt::is_cons(&__t971) }; - if !rt::is_truthy(interp, &__t1044)? { + if !rt::is_truthy(interp, &__t991)? { Value::bool(false) } else { - let __t1045 = { - let __t1042 = { - let __t1022 = { - let __t1021 = v_V1534.clone(); - rt::hd(&__t1021)? + let __t992 = { + let __t989 = { + let __t973 = { + let __t972 = v_V1534.clone(); + rt::hd(&__t972)? }; - rt::is_cons(&__t1022) + rt::is_cons(&__t973) }; - if !rt::is_truthy(interp, &__t1042)? { + if !rt::is_truthy(interp, &__t989)? { Value::bool(false) } else { - let __t1043 = { - let __t1040 = { - let __t1025 = { - let __t1024 = { - let __t1023 = v_V1534.clone(); - rt::hd(&__t1023)? + let __t990 = { + let __t987 = { + let __t976 = { + let __t975 = { + let __t974 = v_V1534.clone(); + rt::hd(&__t974)? }; - rt::tl(&__t1024)? + rt::tl(&__t975)? }; - rt::is_cons(&__t1025) + rt::is_cons(&__t976) }; - if !rt::is_truthy(interp, &__t1040)? { + if !rt::is_truthy(interp, &__t987)? { Value::bool(false) } else { - let __t1041 = { - let __t1038 = { - let __t1026 = Value::nil(); - let __t1030 = { - let __t1029 = { - let __t1028 = { - let __t1027 = v_V1534.clone(); - rt::hd(&__t1027)? + let __t988 = { + let __t985 = Value::bool( + ({ + let __t979 = { + let __t978 = { + let __t977 = v_V1534.clone(); + rt::hd(&__t977)? }; - rt::tl(&__t1028)? + rt::tl(&__t978)? }; - rt::tl(&__t1029)? - }; - rt::eq(&__t1026, &__t1030) - }; - if !rt::is_truthy(interp, &__t1038)? { + rt::tl(&__t979)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t985)? { Value::bool(false) } else { - let __t1039 = { - let __t1036 = { - let __t1031 = Value::nil(); - let __t1033 = { - let __t1032 = v_V1534.clone(); - rt::tl(&__t1032)? - }; - rt::eq(&__t1031, &__t1033) - }; - if !rt::is_truthy(interp, &__t1036)? { + let __t986 = { + let __t983 = Value::bool( + ({ + let __t980 = v_V1534.clone(); + rt::tl(&__t980)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t983)? { Value::bool(false) } else { - let __t1037 = { - let __t1034 = Value::bool(false); - let __t1035 = v_V1540.clone(); - rt::eq(&__t1034, &__t1035) + let __t984 = { + let __t981 = Value::bool(false); + let __t982 = v_V1540.clone(); + rt::eq(&__t981, &__t982) }; Value::bool(rt::is_truthy( - interp, &__t1037, + interp, &__t984, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1039)?) + Value::bool(rt::is_truthy(interp, &__t986)?) } }; - Value::bool(rt::is_truthy(interp, &__t1041)?) + Value::bool(rt::is_truthy(interp, &__t988)?) } }; - Value::bool(rt::is_truthy(interp, &__t1043)?) + Value::bool(rt::is_truthy(interp, &__t990)?) } }; - Value::bool(rt::is_truthy(interp, &__t1045)?) + Value::bool(rt::is_truthy(interp, &__t992)?) } }; - if match rt::is_truthy(interp, &__t1076) { + if match rt::is_truthy(interp, &__t1023) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1541 = { - let __t1048 = { - let __t1047 = { - let __t1046 = v_V1534.clone(); - rt::hd(&__t1046)? + let __t995 = { + let __t994 = { + let __t993 = v_V1534.clone(); + rt::hd(&__t993)? }; - rt::hd(&__t1047)? + rt::hd(&__t994)? }; - let __t1052 = { - let __t1051 = { - let __t1050 = { - let __t1049 = v_V1534.clone(); - rt::hd(&__t1049)? + let __t999 = { + let __t998 = { + let __t997 = { + let __t996 = v_V1534.clone(); + rt::hd(&__t996)? }; - rt::tl(&__t1050)? + rt::tl(&__t997)? }; - rt::hd(&__t1051)? + rt::hd(&__t998)? }; - let __t1053 = v_V1536.clone(); - let __t1054 = v_V1537.clone(); - let __t1055 = v_V1538.clone(); - let __t1056 = v_V1539.clone(); - rt::apply_direct( + let __t1000 = v_V1536.clone(); + let __t1001 = v_V1537.clone(); + let __t1002 = v_V1538.clone(); + let __t1003 = v_V1539.clone(); + aot_shen_x2e_continue( interp, - "shen.continue", - &[__t1048, __t1052, __t1053, __t1054, __t1055, __t1056], + &[__t995, __t999, __t1000, __t1001, __t1002, __t1003], )? }; break Ok({ - let __t1057 = Value::sym(interp.intern("if")); - let __t1075 = { - let __t1062 = { - let __t1058 = Value::sym(interp.intern("shen.unlocked?")); - let __t1061 = { - let __t1059 = v_V1537.clone(); - let __t1060 = Value::nil(); - rt::cons(&__t1059, &__t1060) + let __t1004 = Value::sym(interp.intern_static("if")); + let __t1022 = { + let __t1009 = { + let __t1005 = + Value::sym(interp.intern_static("shen.unlocked?")); + let __t1008 = { + let __t1006 = v_V1537.clone(); + let __t1007 = Value::nil(); + rt::cons(&__t1006, &__t1007) }; - rt::cons(&__t1058, &__t1061) + rt::cons(&__t1005, &__t1008) }; - let __t1074 = { - let __t1070 = { - let __t1063 = Value::sym(interp.intern("shen.+m")); - let __t1066 = { - let __t1065 = { - let __t1064 = v_V1534.clone(); - rt::hd(&__t1064)? + let __t1021 = { + let __t1017 = { + let __t1010 = + Value::sym(interp.intern_static("shen.+m")); + let __t1013 = { + let __t1012 = { + let __t1011 = v_V1534.clone(); + rt::hd(&__t1011)? }; - rt::hd(&__t1065)? + rt::hd(&__t1012)? }; - let __t1067 = v_V1535.clone(); - let __t1068 = v_V1536.clone(); - let __t1069 = v_W1541.clone(); - rt::apply_direct( + let __t1014 = v_V1535.clone(); + let __t1015 = v_V1536.clone(); + let __t1016 = v_W1541.clone(); + aot_shen_x2e_compile_x2d_head( interp, - "shen.compile-head", - &[__t1063, __t1066, __t1067, __t1068, __t1069], + &[__t1010, __t1013, __t1014, __t1015, __t1016], )? }; - let __t1073 = { - let __t1071 = Value::bool(false); - let __t1072 = Value::nil(); - rt::cons(&__t1071, &__t1072) + let __t1020 = { + let __t1018 = Value::bool(false); + let __t1019 = Value::nil(); + rt::cons(&__t1018, &__t1019) }; - rt::cons(&__t1070, &__t1073) + rt::cons(&__t1017, &__t1020) }; - rt::cons(&__t1062, &__t1074) + rt::cons(&__t1009, &__t1021) }; - rt::cons(&__t1057, &__t1075) + rt::cons(&__t1004, &__t1022) }); } } else { { - let __t1019 = { - let __t956 = { - let __t941 = v_V1534.clone(); - rt::is_cons(&__t941) + let __t970 = { + let __t907 = { + let __t894 = v_V1534.clone(); + rt::is_cons(&__t894) }; - if !rt::is_truthy(interp, &__t956)? { + if !rt::is_truthy(interp, &__t907)? { Value::bool(false) } else { - let __t957 = { - let __t954 = { - let __t943 = { - let __t942 = v_V1534.clone(); - rt::hd(&__t942)? + let __t908 = { + let __t905 = { + let __t896 = { + let __t895 = v_V1534.clone(); + rt::hd(&__t895)? }; - rt::is_cons(&__t943) + rt::is_cons(&__t896) }; - if !rt::is_truthy(interp, &__t954)? { + if !rt::is_truthy(interp, &__t905)? { Value::bool(false) } else { - let __t955 = { - let __t952 = { - let __t946 = { - let __t945 = { - let __t944 = v_V1534.clone(); - rt::hd(&__t944)? + let __t906 = { + let __t903 = { + let __t899 = { + let __t898 = { + let __t897 = v_V1534.clone(); + rt::hd(&__t897)? }; - rt::tl(&__t945)? + rt::tl(&__t898)? }; - rt::is_cons(&__t946) + rt::is_cons(&__t899) }; - if !rt::is_truthy(interp, &__t952)? { + if !rt::is_truthy(interp, &__t903)? { Value::bool(false) } else { - let __t953 = { - let __t947 = Value::nil(); - let __t951 = { - let __t950 = { - let __t949 = { - let __t948 = v_V1534.clone(); - rt::hd(&__t948)? + let __t904 = Value::bool( + ({ + let __t902 = { + let __t901 = { + let __t900 = v_V1534.clone(); + rt::hd(&__t900)? }; - rt::tl(&__t949)? + rt::tl(&__t901)? }; - rt::tl(&__t950)? - }; - rt::eq(&__t947, &__t951) - }; - Value::bool(rt::is_truthy(interp, &__t953)?) + rt::tl(&__t902)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t904)?) } }; - Value::bool(rt::is_truthy(interp, &__t955)?) + Value::bool(rt::is_truthy(interp, &__t906)?) } }; - Value::bool(rt::is_truthy(interp, &__t957)?) + Value::bool(rt::is_truthy(interp, &__t908)?) } }; - if match rt::is_truthy(interp, &__t1019) { + if match rt::is_truthy(interp, &__t970) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1542 = { - let __t958 = Value::sym(interp.intern("C")); - rt::apply_direct(interp, "gensym", &[__t958])? + let __t909 = Value::sym(interp.intern_static("C")); + rt::apply_direct(interp, "gensym", &[__t909])? }; { let v_W1543 = { - let __t961 = { - let __t960 = { - let __t959 = v_V1534.clone(); - rt::hd(&__t959)? + let __t912 = { + let __t911 = { + let __t910 = v_V1534.clone(); + rt::hd(&__t910)? }; - rt::hd(&__t960)? + rt::hd(&__t911)? }; - let __t965 = { - let __t964 = { - let __t963 = { - let __t962 = v_V1534.clone(); - rt::hd(&__t962)? + let __t916 = { + let __t915 = { + let __t914 = { + let __t913 = v_V1534.clone(); + rt::hd(&__t913)? }; - rt::tl(&__t963)? + rt::tl(&__t914)? }; - rt::hd(&__t964)? + rt::hd(&__t915)? }; - let __t966 = v_V1536.clone(); - let __t967 = v_V1537.clone(); - let __t968 = v_V1538.clone(); - let __t969 = v_V1539.clone(); - rt::apply_direct( + let __t917 = v_V1536.clone(); + let __t918 = v_V1537.clone(); + let __t919 = v_V1538.clone(); + let __t920 = v_V1539.clone(); + aot_shen_x2e_continue( interp, - "shen.continue", - &[__t961, __t965, __t966, __t967, __t968, __t969], + &[__t912, __t916, __t917, __t918, __t919, __t920], )? }; break Ok({ - let __t970 = Value::sym(interp.intern("let")); - let __t1018 = { - let __t971 = v_W1542.clone(); - let __t1017 = { - let __t991 = { - let __t972 = - Value::sym(interp.intern("if")); - let __t990 = { - let __t977 = { - let __t973 = Value::sym( - interp.intern("shen.unlocked?"), + let __t921 = Value::sym(interp.intern_static("let")); + let __t969 = { + let __t922 = v_W1542.clone(); + let __t968 = { + let __t942 = { + let __t923 = + Value::sym(interp.intern_static("if")); + let __t941 = { + let __t928 = { + let __t924 = Value::sym( + interp.intern_static( + "shen.unlocked?", + ), ); - let __t976 = { - let __t974 = v_V1537.clone(); - let __t975 = Value::nil(); - rt::cons(&__t974, &__t975) + let __t927 = { + let __t925 = v_V1537.clone(); + let __t926 = Value::nil(); + rt::cons(&__t925, &__t926) }; - rt::cons(&__t973, &__t976) + rt::cons(&__t924, &__t927) }; - let __t989 = { - let __t985 = { - let __t978 = Value::sym( - interp.intern("shen.+m"), + let __t940 = { + let __t936 = { + let __t929 = Value::sym( + interp.intern_static( + "shen.+m", + ), ); - let __t981 = { - let __t980 = { - let __t979 = + let __t932 = { + let __t931 = { + let __t930 = v_V1534.clone(); - rt::hd(&__t979)? + rt::hd(&__t930)? }; - rt::hd(&__t980)? + rt::hd(&__t931)? }; - let __t982 = v_V1535.clone(); - let __t983 = v_V1536.clone(); - let __t984 = v_W1543.clone(); - rt::apply_direct( + let __t933 = v_V1535.clone(); + let __t934 = v_V1536.clone(); + let __t935 = v_W1543.clone(); + aot_shen_x2e_compile_x2d_head( interp, - "shen.compile-head", &[ - __t978, __t981, __t982, - __t983, __t984, + __t929, __t932, __t933, + __t934, __t935, ], )? }; - let __t988 = { - let __t986 = Value::bool(false); - let __t987 = Value::nil(); - rt::cons(&__t986, &__t987) + let __t939 = { + let __t937 = Value::bool(false); + let __t938 = Value::nil(); + rt::cons(&__t937, &__t938) }; - rt::cons(&__t985, &__t988) + rt::cons(&__t936, &__t939) }; - rt::cons(&__t977, &__t989) + rt::cons(&__t928, &__t940) }; - rt::cons(&__t972, &__t990) + rt::cons(&__t923, &__t941) }; - let __t1016 = { - let __t1014 = { - let __t992 = - Value::sym(interp.intern("if")); - let __t1013 = { - let __t999 = { - let __t993 = Value::sym( - interp.intern("="), + let __t967 = { + let __t965 = { + let __t943 = Value::sym( + interp.intern_static("if"), + ); + let __t964 = { + let __t950 = { + let __t944 = Value::sym( + interp.intern_static("="), ); - let __t998 = { - let __t994 = + let __t949 = { + let __t945 = v_W1542.clone(); - let __t997 = { - let __t995 = + let __t948 = { + let __t946 = Value::bool(false); - let __t996 = + let __t947 = Value::nil(); rt::cons( - &__t995, &__t996, + &__t946, &__t947, ) }; - rt::cons(&__t994, &__t997) + rt::cons(&__t945, &__t948) }; - rt::cons(&__t993, &__t998) + rt::cons(&__t944, &__t949) }; - let __t1012 = { - let __t1008 = { - let __t1001 = { - let __t1000 = + let __t963 = { + let __t959 = { + let __t952 = { + let __t951 = v_V1534.clone(); - rt::tl(&__t1000)? + rt::tl(&__t951)? }; - let __t1002 = + let __t953 = v_V1535.clone(); - let __t1003 = + let __t954 = v_V1536.clone(); - let __t1004 = + let __t955 = v_V1537.clone(); - let __t1005 = + let __t956 = v_V1538.clone(); - let __t1006 = + let __t957 = v_V1539.clone(); - let __t1007 = + let __t958 = v_V1540.clone(); - rt::apply_direct( - interp, - "shen.prolog-fbody", - &[ - __t1001, __t1002, - __t1003, __t1004, - __t1005, __t1006, - __t1007, - ], - )? + aot_shen_x2e_prolog_x2d_fbody(interp, &[__t952, __t953, __t954, __t955, __t956, __t957, __t958])? }; - let __t1011 = { - let __t1009 = + let __t962 = { + let __t960 = v_W1542.clone(); - let __t1010 = Value::nil(); - rt::cons(&__t1009, &__t1010) + let __t961 = Value::nil(); + rt::cons(&__t960, &__t961) }; - rt::cons(&__t1008, &__t1011) + rt::cons(&__t959, &__t962) }; - rt::cons(&__t999, &__t1012) + rt::cons(&__t950, &__t963) }; - rt::cons(&__t992, &__t1013) + rt::cons(&__t943, &__t964) }; - let __t1015 = Value::nil(); - rt::cons(&__t1014, &__t1015) + let __t966 = Value::nil(); + rt::cons(&__t965, &__t966) }; - rt::cons(&__t991, &__t1016) + rt::cons(&__t942, &__t967) }; - rt::cons(&__t971, &__t1017) + rt::cons(&__t922, &__t968) }; - rt::cons(&__t970, &__t1018) + rt::cons(&__t921, &__t969) }); } } } else { { - let __t940 = Value::bool(true); - if match rt::is_truthy(interp, &__t940) { + let __t893 = Value::bool(true); + if match rt::is_truthy(interp, &__t893) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t939 = Value::str( + let __t892 = Value::str( "implementation error in shen.prolog-fbody", ); - rt::apply_direct(interp, "simple-error", &[__t939])? + rt::apply_direct(interp, "simple-error", &[__t892])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5436,29 +5285,29 @@ pub fn aot_shen_x2e_unlock(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t1096 = v_V1544.clone(); - rt::apply_direct(interp, "shen.openlock", &[__t1096])? + let __t1041 = v_V1544.clone(); + aot_shen_x2e_openlock(interp, &[__t1041])? }); } else { break Ok(Value::bool(false)); @@ -5485,11 +5334,11 @@ pub fn aot_shen_x2e_locked_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { break Ok({ - let __t1098 = { - let __t1097 = v_V1546.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t1097])? + let __t1043 = { + let __t1042 = v_V1546.clone(); + aot_shen_x2e_unlocked_x3f_(interp, &[__t1042])? }; - rt::apply_direct(interp, "not", &[__t1098])? + rt::not(interp, &__t1043)? }); } } @@ -5512,9 +5361,9 @@ pub fn aot_shen_x2e_unlocked_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { break Ok({ - let __t1099 = v_V1547.clone(); - let __t1100 = Value::int(1i64); - rt::apply_direct(interp, "<-address", &[__t1099, __t1100])? + let __t1044 = v_V1547.clone(); + let __t1045 = Value::int(1i64); + rt::address_ref(&__t1044, &__t1045)? }); } } @@ -5538,10 +5387,10 @@ pub fn aot_shen_x2e_openlock(interp: &mut Interp, args: &[Value]) -> ShenResult< loop { { let _ = { - let __t1101 = v_V1548.clone(); - let __t1102 = Value::int(1i64); - let __t1103 = Value::bool(true); - rt::apply_direct(interp, "address->", &[__t1101, __t1102, __t1103])? + let __t1046 = v_V1548.clone(); + let __t1047 = Value::int(1i64); + let __t1048 = Value::bool(true); + rt::address_set(&__t1046, &__t1047, &__t1048)? }; break Ok(Value::bool(false)); } @@ -5568,13 +5417,13 @@ pub fn aot_shen_x2e_fits_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { break Ok({ - let __t1104 = v_V1549.clone(); - let __t1107 = { - let __t1105 = v_V1550.clone(); - let __t1106 = Value::int(2i64); - rt::apply_direct(interp, "<-address", &[__t1105, __t1106])? + let __t1049 = v_V1549.clone(); + let __t1052 = { + let __t1050 = v_V1550.clone(); + let __t1051 = Value::int(2i64); + rt::address_ref(&__t1050, &__t1051)? }; - rt::eq(&__t1104, &__t1107) + rt::eq(&__t1049, &__t1052) }); } } @@ -5605,30 +5454,30 @@ pub fn aot_shen_x2e_cut(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t1114 = v_V1555.clone(); - let __t1115 = v_V1554.clone(); - rt::apply_direct(interp, "shen.lock", &[__t1114, __t1115])? + let __t1059 = v_V1555.clone(); + let __t1060 = v_V1554.clone(); + aot_shen_x2e_lock(interp, &[__t1059, __t1060])? }); } else { break Ok(v_W1557.clone()); @@ -5659,17 +5508,17 @@ pub fn aot_shen_x2e_lock(interp: &mut Interp, args: &[Value]) -> ShenResult", &[__t1116, __t1117, __t1118])? + let __t1061 = v_V1559.clone(); + let __t1062 = Value::int(1i64); + let __t1063 = Value::bool(false); + rt::address_set(&__t1061, &__t1062, &__t1063)? }; { let v_W1561 = { - let __t1119 = v_V1559.clone(); - let __t1120 = Value::int(2i64); - let __t1121 = v_V1558.clone(); - rt::apply_direct(interp, "address->", &[__t1119, __t1120, __t1121])? + let __t1064 = v_V1559.clone(); + let __t1065 = Value::int(2i64); + let __t1066 = v_V1558.clone(); + rt::address_set(&__t1064, &__t1065, &__t1066)? }; break Ok(Value::bool(false)); } @@ -5706,54 +5555,53 @@ pub fn aot_shen_x2e_continue(interp: &mut Interp, args: &[Value]) -> ShenResult< loop { { let v_W1568 = { - let __t1122 = v_V1562.clone(); - rt::apply_direct(interp, "shen.extract-vars", &[__t1122])? + let __t1067 = v_V1562.clone(); + rt::apply_direct(interp, "shen.extract-vars", &[__t1067])? }; { let v_W1569 = { - let __t1123 = v_V1563.clone(); - rt::apply_direct(interp, "shen.extract-free-vars", &[__t1123])? + let __t1068 = v_V1563.clone(); + aot_shen_x2e_extract_x2d_free_x2d_vars(interp, &[__t1068])? }; { let v_W1570 = { - let __t1124 = v_W1569.clone(); - let __t1125 = v_W1568.clone(); - rt::apply_direct(interp, "difference", &[__t1124, __t1125])? + let __t1069 = v_W1569.clone(); + let __t1070 = v_W1568.clone(); + rt::apply_direct(interp, "difference", &[__t1069, __t1070])? }; { let v_W1571 = { - let __t1126 = Value::sym(interp.intern("do")); - let __t1138 = { - let __t1129 = { - let __t1127 = Value::sym(interp.intern("shen.incinfs")); - let __t1128 = Value::nil(); - rt::cons(&__t1127, &__t1128) + let __t1071 = Value::sym(interp.intern_static("do")); + let __t1083 = { + let __t1074 = { + let __t1072 = Value::sym(interp.intern_static("shen.incinfs")); + let __t1073 = Value::nil(); + rt::cons(&__t1072, &__t1073) }; - let __t1137 = { - let __t1135 = { - let __t1130 = v_V1563.clone(); - let __t1131 = v_V1564.clone(); - let __t1132 = v_V1565.clone(); - let __t1133 = v_V1566.clone(); - let __t1134 = v_V1567.clone(); - rt::apply_direct( + let __t1082 = { + let __t1080 = { + let __t1075 = v_V1563.clone(); + let __t1076 = v_V1564.clone(); + let __t1077 = v_V1565.clone(); + let __t1078 = v_V1566.clone(); + let __t1079 = v_V1567.clone(); + aot_shen_x2e_compile_x2d_body( interp, - "shen.compile-body", - &[__t1130, __t1131, __t1132, __t1133, __t1134], + &[__t1075, __t1076, __t1077, __t1078, __t1079], )? }; - let __t1136 = Value::nil(); - rt::cons(&__t1135, &__t1136) + let __t1081 = Value::nil(); + rt::cons(&__t1080, &__t1081) }; - rt::cons(&__t1129, &__t1137) + rt::cons(&__t1074, &__t1082) }; - rt::cons(&__t1126, &__t1138) + rt::cons(&__t1071, &__t1083) }; break Ok({ - let __t1139 = v_W1570.clone(); - let __t1140 = v_W1571.clone(); - let __t1141 = v_V1564.clone(); - rt::apply_direct(interp, "shen.stpart", &[__t1139, __t1140, __t1141])? + let __t1084 = v_W1570.clone(); + let __t1085 = v_W1571.clone(); + let __t1086 = v_V1564.clone(); + aot_shen_x2e_stpart(interp, &[__t1084, __t1085, __t1086])? }); } } @@ -5783,150 +5631,149 @@ pub fn aot_shen_x2e_extract_x2d_free_x2d_vars( #[allow(clippy::never_loop)] loop { { - let __t1185 = { - let __t1175 = { - let __t1155 = v_V1574.clone(); - rt::is_cons(&__t1155) + let __t1126 = { + let __t1116 = { + let __t1100 = v_V1574.clone(); + rt::is_cons(&__t1100) }; - if !rt::is_truthy(interp, &__t1175)? { + if !rt::is_truthy(interp, &__t1116)? { Value::bool(false) } else { - let __t1176 = { - let __t1173 = { - let __t1156 = Value::sym(interp.intern("lambda")); - let __t1158 = { - let __t1157 = v_V1574.clone(); - rt::hd(&__t1157)? - }; - rt::eq(&__t1156, &__t1158) - }; - if !rt::is_truthy(interp, &__t1173)? { + let __t1117 = { + let __t1114 = Value::bool( + ({ + let __t1101 = v_V1574.clone(); + rt::hd(&__t1101)? + }) + .as_sym() + == Some(interp.intern_static("lambda")), + ); + if !rt::is_truthy(interp, &__t1114)? { Value::bool(false) } else { - let __t1174 = { - let __t1171 = { - let __t1160 = { - let __t1159 = v_V1574.clone(); - rt::tl(&__t1159)? + let __t1115 = { + let __t1112 = { + let __t1103 = { + let __t1102 = v_V1574.clone(); + rt::tl(&__t1102)? }; - rt::is_cons(&__t1160) + rt::is_cons(&__t1103) }; - if !rt::is_truthy(interp, &__t1171)? { + if !rt::is_truthy(interp, &__t1112)? { Value::bool(false) } else { - let __t1172 = { - let __t1169 = { - let __t1163 = { - let __t1162 = { - let __t1161 = v_V1574.clone(); - rt::tl(&__t1161)? + let __t1113 = { + let __t1110 = { + let __t1106 = { + let __t1105 = { + let __t1104 = v_V1574.clone(); + rt::tl(&__t1104)? }; - rt::tl(&__t1162)? + rt::tl(&__t1105)? }; - rt::is_cons(&__t1163) + rt::is_cons(&__t1106) }; - if !rt::is_truthy(interp, &__t1169)? { + if !rt::is_truthy(interp, &__t1110)? { Value::bool(false) } else { - let __t1170 = { - let __t1164 = Value::nil(); - let __t1168 = { - let __t1167 = { - let __t1166 = { - let __t1165 = v_V1574.clone(); - rt::tl(&__t1165)? + let __t1111 = Value::bool( + ({ + let __t1109 = { + let __t1108 = { + let __t1107 = v_V1574.clone(); + rt::tl(&__t1107)? }; - rt::tl(&__t1166)? + rt::tl(&__t1108)? }; - rt::tl(&__t1167)? - }; - rt::eq(&__t1164, &__t1168) - }; - Value::bool(rt::is_truthy(interp, &__t1170)?) + rt::tl(&__t1109)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1111)?) } }; - Value::bool(rt::is_truthy(interp, &__t1172)?) + Value::bool(rt::is_truthy(interp, &__t1113)?) } }; - Value::bool(rt::is_truthy(interp, &__t1174)?) + Value::bool(rt::is_truthy(interp, &__t1115)?) } }; - Value::bool(rt::is_truthy(interp, &__t1176)?) + Value::bool(rt::is_truthy(interp, &__t1117)?) } }; - if match rt::is_truthy(interp, &__t1185) { + if match rt::is_truthy(interp, &__t1126) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1179 = { - let __t1178 = { - let __t1177 = v_V1574.clone(); - rt::tl(&__t1177)? + let __t1120 = { + let __t1119 = { + let __t1118 = v_V1574.clone(); + rt::tl(&__t1118)? }; - rt::hd(&__t1178)? + rt::hd(&__t1119)? }; - let __t1184 = { - let __t1183 = { - let __t1182 = { - let __t1181 = { - let __t1180 = v_V1574.clone(); - rt::tl(&__t1180)? + let __t1125 = { + let __t1124 = { + let __t1123 = { + let __t1122 = { + let __t1121 = v_V1574.clone(); + rt::tl(&__t1121)? }; - rt::tl(&__t1181)? + rt::tl(&__t1122)? }; - rt::hd(&__t1182)? + rt::hd(&__t1123)? }; - rt::apply_direct(interp, "shen.extract-free-vars", &[__t1183])? + aot_shen_x2e_extract_x2d_free_x2d_vars(interp, &[__t1124])? }; - rt::apply_direct(interp, "remove", &[__t1179, __t1184])? + rt::apply_direct(interp, "remove", &[__t1120, __t1125])? }); } else { { - let __t1154 = { - let __t1147 = v_V1574.clone(); - rt::is_cons(&__t1147) + let __t1099 = { + let __t1092 = v_V1574.clone(); + rt::is_cons(&__t1092) }; - if match rt::is_truthy(interp, &__t1154) { + if match rt::is_truthy(interp, &__t1099) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1150 = { - let __t1149 = { - let __t1148 = v_V1574.clone(); - rt::hd(&__t1148)? + let __t1095 = { + let __t1094 = { + let __t1093 = v_V1574.clone(); + rt::hd(&__t1093)? }; - rt::apply_direct(interp, "shen.extract-free-vars", &[__t1149])? + aot_shen_x2e_extract_x2d_free_x2d_vars(interp, &[__t1094])? }; - let __t1153 = { - let __t1152 = { - let __t1151 = v_V1574.clone(); - rt::tl(&__t1151)? + let __t1098 = { + let __t1097 = { + let __t1096 = v_V1574.clone(); + rt::tl(&__t1096)? }; - rt::apply_direct(interp, "shen.extract-free-vars", &[__t1152])? + aot_shen_x2e_extract_x2d_free_x2d_vars(interp, &[__t1097])? }; - rt::apply_direct(interp, "union", &[__t1150, __t1153])? + rt::apply_direct(interp, "union", &[__t1095, __t1098])? }); } else { { - let __t1146 = { - let __t1143 = v_V1574.clone(); - rt::apply_direct(interp, "variable?", &[__t1143])? + let __t1091 = { + let __t1088 = v_V1574.clone(); + rt::apply_direct(interp, "variable?", &[__t1088])? }; - if match rt::is_truthy(interp, &__t1146) { + if match rt::is_truthy(interp, &__t1091) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1144 = v_V1574.clone(); - let __t1145 = Value::nil(); - rt::cons(&__t1144, &__t1145) + let __t1089 = v_V1574.clone(); + let __t1090 = Value::nil(); + rt::cons(&__t1089, &__t1090) }); } else { { - let __t1142 = Value::bool(true); - if match rt::is_truthy(interp, &__t1142) { + let __t1087 = Value::bool(true); + if match rt::is_truthy(interp, &__t1087) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5977,211 +5824,193 @@ pub fn aot_shen_x2e_compile_x2d_body(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1252 = { - let __t1246 = Value::nil(); - let __t1247 = v_V1591.clone(); - rt::eq(&__t1246, &__t1247) - }; - if match rt::is_truthy(interp, &__t1252) { + let __t1187 = Value::bool((v_V1591.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1187) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1248 = Value::sym(interp.intern("thaw")); - let __t1251 = { - let __t1249 = v_V1595.clone(); - let __t1250 = Value::nil(); - rt::cons(&__t1249, &__t1250) + let __t1183 = Value::sym(interp.intern_static("thaw")); + let __t1186 = { + let __t1184 = v_V1595.clone(); + let __t1185 = Value::nil(); + rt::cons(&__t1184, &__t1185) }; - rt::cons(&__t1248, &__t1251) + rt::cons(&__t1183, &__t1186) }); } else { { - let __t1245 = { - let __t1233 = { - let __t1229 = v_V1591.clone(); - rt::is_cons(&__t1229) + let __t1182 = { + let __t1170 = { + let __t1168 = v_V1591.clone(); + rt::is_cons(&__t1168) }; - if !rt::is_truthy(interp, &__t1233)? { + if !rt::is_truthy(interp, &__t1170)? { Value::bool(false) } else { - let __t1234 = { - let __t1230 = Value::sym(interp.intern("!")); - let __t1232 = { - let __t1231 = v_V1591.clone(); - rt::hd(&__t1231)? - }; - rt::eq(&__t1230, &__t1232) - }; - Value::bool(rt::is_truthy(interp, &__t1234)?) + let __t1171 = Value::bool( + ({ + let __t1169 = v_V1591.clone(); + rt::hd(&__t1169)? + }) + .as_sym() + == Some(interp.intern_static("!")), + ); + Value::bool(rt::is_truthy(interp, &__t1171)?) } }; - if match rt::is_truthy(interp, &__t1245) { + if match rt::is_truthy(interp, &__t1182) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1240 = { - let __t1237 = { - let __t1235 = Value::sym(interp.intern("shen.cut")); - let __t1236 = Value::nil(); - rt::cons(&__t1235, &__t1236) + let __t1177 = { + let __t1174 = { + let __t1172 = Value::sym(interp.intern_static("shen.cut")); + let __t1173 = Value::nil(); + rt::cons(&__t1172, &__t1173) }; - let __t1239 = { - let __t1238 = v_V1591.clone(); - rt::tl(&__t1238)? + let __t1176 = { + let __t1175 = v_V1591.clone(); + rt::tl(&__t1175)? }; - rt::cons(&__t1237, &__t1239) - }; - let __t1241 = v_V1592.clone(); - let __t1242 = v_V1593.clone(); - let __t1243 = v_V1594.clone(); - let __t1244 = v_V1595.clone(); - v_V1591 = __t1240; - v_V1592 = __t1241; - v_V1593 = __t1242; - v_V1594 = __t1243; - v_V1595 = __t1244; + rt::cons(&__t1174, &__t1176) + }; + let __t1178 = v_V1592.clone(); + let __t1179 = v_V1593.clone(); + let __t1180 = v_V1594.clone(); + let __t1181 = v_V1595.clone(); + v_V1591 = __t1177; + v_V1592 = __t1178; + v_V1593 = __t1179; + v_V1594 = __t1180; + v_V1595 = __t1181; continue; } } else { { - let __t1228 = { - let __t1213 = { - let __t1209 = v_V1591.clone(); - rt::is_cons(&__t1209) + let __t1167 = { + let __t1152 = { + let __t1150 = v_V1591.clone(); + rt::is_cons(&__t1150) }; - if !rt::is_truthy(interp, &__t1213)? { + if !rt::is_truthy(interp, &__t1152)? { Value::bool(false) } else { - let __t1214 = { - let __t1210 = Value::nil(); - let __t1212 = { - let __t1211 = v_V1591.clone(); - rt::tl(&__t1211)? - }; - rt::eq(&__t1210, &__t1212) - }; - Value::bool(rt::is_truthy(interp, &__t1214)?) + let __t1153 = Value::bool( + ({ + let __t1151 = v_V1591.clone(); + rt::tl(&__t1151)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1153)?) } }; - if match rt::is_truthy(interp, &__t1228) { + if match rt::is_truthy(interp, &__t1167) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1218 = { - let __t1216 = { - let __t1215 = v_V1591.clone(); - rt::hd(&__t1215)? + let __t1157 = { + let __t1155 = { + let __t1154 = v_V1591.clone(); + rt::hd(&__t1154)? }; - let __t1217 = v_V1592.clone(); - rt::apply_direct( - interp, - "shen.deref-calls", - &[__t1216, __t1217], - )? + let __t1156 = v_V1592.clone(); + aot_shen_x2e_deref_x2d_calls(interp, &[__t1155, __t1156])? }; - let __t1227 = { - let __t1219 = v_V1592.clone(); - let __t1226 = { - let __t1220 = v_V1593.clone(); - let __t1225 = { - let __t1221 = v_V1594.clone(); - let __t1224 = { - let __t1222 = v_V1595.clone(); - let __t1223 = Value::nil(); - rt::cons(&__t1222, &__t1223) + let __t1166 = { + let __t1158 = v_V1592.clone(); + let __t1165 = { + let __t1159 = v_V1593.clone(); + let __t1164 = { + let __t1160 = v_V1594.clone(); + let __t1163 = { + let __t1161 = v_V1595.clone(); + let __t1162 = Value::nil(); + rt::cons(&__t1161, &__t1162) }; - rt::cons(&__t1221, &__t1224) + rt::cons(&__t1160, &__t1163) }; - rt::cons(&__t1220, &__t1225) + rt::cons(&__t1159, &__t1164) }; - rt::cons(&__t1219, &__t1226) + rt::cons(&__t1158, &__t1165) }; - rt::apply_direct(interp, "append", &[__t1218, __t1227])? + rt::apply_direct(interp, "append", &[__t1157, __t1166])? }); } else { { - let __t1208 = { - let __t1188 = v_V1591.clone(); - rt::is_cons(&__t1188) + let __t1149 = { + let __t1129 = v_V1591.clone(); + rt::is_cons(&__t1129) }; - if match rt::is_truthy(interp, &__t1208) { + if match rt::is_truthy(interp, &__t1149) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1596 = { - let __t1190 = { - let __t1189 = v_V1591.clone(); - rt::hd(&__t1189)? + let __t1131 = { + let __t1130 = v_V1591.clone(); + rt::hd(&__t1130)? }; - let __t1191 = v_V1592.clone(); - rt::apply_direct( + let __t1132 = v_V1592.clone(); + aot_shen_x2e_deref_x2d_calls( interp, - "shen.deref-calls", - &[__t1190, __t1191], + &[__t1131, __t1132], )? }; break Ok({ - let __t1192 = v_W1596.clone(); - let __t1207 = { - let __t1193 = v_V1592.clone(); - let __t1206 = { - let __t1194 = v_V1593.clone(); - let __t1205 = { - let __t1195 = v_V1594.clone(); - let __t1204 = { - let __t1202 = { - let __t1197 = { - let __t1196 = + let __t1133 = v_W1596.clone(); + let __t1148 = { + let __t1134 = v_V1592.clone(); + let __t1147 = { + let __t1135 = v_V1593.clone(); + let __t1146 = { + let __t1136 = v_V1594.clone(); + let __t1145 = { + let __t1143 = { + let __t1138 = { + let __t1137 = v_V1591.clone(); - rt::tl(&__t1196)? + rt::tl(&__t1137)? }; - let __t1198 = v_V1592.clone(); - let __t1199 = v_V1593.clone(); - let __t1200 = v_V1594.clone(); - let __t1201 = v_V1595.clone(); - rt::apply_direct( - interp, - "shen.freeze-literals", - &[ - __t1197, __t1198, - __t1199, __t1200, - __t1201, - ], - )? + let __t1139 = v_V1592.clone(); + let __t1140 = v_V1593.clone(); + let __t1141 = v_V1594.clone(); + let __t1142 = v_V1595.clone(); + aot_shen_x2e_freeze_x2d_literals(interp, &[__t1138, __t1139, __t1140, __t1141, __t1142])? }; - let __t1203 = Value::nil(); - rt::cons(&__t1202, &__t1203) + let __t1144 = Value::nil(); + rt::cons(&__t1143, &__t1144) }; - rt::cons(&__t1195, &__t1204) + rt::cons(&__t1136, &__t1145) }; - rt::cons(&__t1194, &__t1205) + rt::cons(&__t1135, &__t1146) }; - rt::cons(&__t1193, &__t1206) + rt::cons(&__t1134, &__t1147) }; rt::apply_direct( interp, "append", - &[__t1192, __t1207], + &[__t1133, __t1148], )? }); } } else { { - let __t1187 = Value::bool(true); - if match rt::is_truthy(interp, &__t1187) { + let __t1128 = Value::bool(true); + if match rt::is_truthy(interp, &__t1128) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1186 = Value::str("implementation error in shen.compile-fbody"); + let __t1127 = Value::str("implementation error in shen.compile-fbody"); rt::apply_direct( interp, "simple-error", - &[__t1186], + &[__t1127], )? }); } else { @@ -6227,153 +6056,137 @@ pub fn aot_shen_x2e_freeze_x2d_literals(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t1299 = { - let __t1297 = Value::nil(); - let __t1298 = v_V1613.clone(); - rt::eq(&__t1297, &__t1298) - }; - if match rt::is_truthy(interp, &__t1299) { + let __t1230 = Value::bool((v_V1613.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1230) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V1617.clone()); } else { { - let __t1296 = { - let __t1284 = { - let __t1280 = v_V1613.clone(); - rt::is_cons(&__t1280) + let __t1229 = { + let __t1217 = { + let __t1215 = v_V1613.clone(); + rt::is_cons(&__t1215) }; - if !rt::is_truthy(interp, &__t1284)? { + if !rt::is_truthy(interp, &__t1217)? { Value::bool(false) } else { - let __t1285 = { - let __t1281 = Value::sym(interp.intern("!")); - let __t1283 = { - let __t1282 = v_V1613.clone(); - rt::hd(&__t1282)? - }; - rt::eq(&__t1281, &__t1283) - }; - Value::bool(rt::is_truthy(interp, &__t1285)?) + let __t1218 = Value::bool( + ({ + let __t1216 = v_V1613.clone(); + rt::hd(&__t1216)? + }) + .as_sym() + == Some(interp.intern_static("!")), + ); + Value::bool(rt::is_truthy(interp, &__t1218)?) } }; - if match rt::is_truthy(interp, &__t1296) { + if match rt::is_truthy(interp, &__t1229) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1291 = { - let __t1288 = { - let __t1286 = Value::sym(interp.intern("shen.cut")); - let __t1287 = Value::nil(); - rt::cons(&__t1286, &__t1287) + let __t1224 = { + let __t1221 = { + let __t1219 = Value::sym(interp.intern_static("shen.cut")); + let __t1220 = Value::nil(); + rt::cons(&__t1219, &__t1220) }; - let __t1290 = { - let __t1289 = v_V1613.clone(); - rt::tl(&__t1289)? + let __t1223 = { + let __t1222 = v_V1613.clone(); + rt::tl(&__t1222)? }; - rt::cons(&__t1288, &__t1290) - }; - let __t1292 = v_V1614.clone(); - let __t1293 = v_V1615.clone(); - let __t1294 = v_V1616.clone(); - let __t1295 = v_V1617.clone(); - v_V1613 = __t1291; - v_V1614 = __t1292; - v_V1615 = __t1293; - v_V1616 = __t1294; - v_V1617 = __t1295; + rt::cons(&__t1221, &__t1223) + }; + let __t1225 = v_V1614.clone(); + let __t1226 = v_V1615.clone(); + let __t1227 = v_V1616.clone(); + let __t1228 = v_V1617.clone(); + v_V1613 = __t1224; + v_V1614 = __t1225; + v_V1615 = __t1226; + v_V1616 = __t1227; + v_V1617 = __t1228; continue; } } else { { - let __t1279 = { - let __t1255 = v_V1613.clone(); - rt::is_cons(&__t1255) + let __t1214 = { + let __t1190 = v_V1613.clone(); + rt::is_cons(&__t1190) }; - if match rt::is_truthy(interp, &__t1279) { + if match rt::is_truthy(interp, &__t1214) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1618 = { - let __t1257 = { - let __t1256 = v_V1613.clone(); - rt::hd(&__t1256)? + let __t1192 = { + let __t1191 = v_V1613.clone(); + rt::hd(&__t1191)? }; - let __t1258 = v_V1614.clone(); - rt::apply_direct( - interp, - "shen.deref-calls", - &[__t1257, __t1258], - )? + let __t1193 = v_V1614.clone(); + aot_shen_x2e_deref_x2d_calls(interp, &[__t1192, __t1193])? }; break Ok({ - let __t1259 = Value::sym(interp.intern("freeze")); - let __t1278 = { - let __t1276 = { - let __t1260 = v_W1618.clone(); - let __t1275 = { - let __t1261 = v_V1614.clone(); - let __t1274 = { - let __t1262 = v_V1615.clone(); - let __t1273 = { - let __t1263 = v_V1616.clone(); - let __t1272 = { - let __t1270 = { - let __t1265 = { - let __t1264 = + let __t1194 = Value::sym(interp.intern_static("freeze")); + let __t1213 = { + let __t1211 = { + let __t1195 = v_W1618.clone(); + let __t1210 = { + let __t1196 = v_V1614.clone(); + let __t1209 = { + let __t1197 = v_V1615.clone(); + let __t1208 = { + let __t1198 = v_V1616.clone(); + let __t1207 = { + let __t1205 = { + let __t1200 = { + let __t1199 = v_V1613.clone(); - rt::tl(&__t1264)? + rt::tl(&__t1199)? }; - let __t1266 = v_V1614.clone(); - let __t1267 = v_V1615.clone(); - let __t1268 = v_V1616.clone(); - let __t1269 = v_V1617.clone(); - rt::apply_direct( - interp, - "shen.freeze-literals", - &[ - __t1265, __t1266, - __t1267, __t1268, - __t1269, - ], - )? + let __t1201 = v_V1614.clone(); + let __t1202 = v_V1615.clone(); + let __t1203 = v_V1616.clone(); + let __t1204 = v_V1617.clone(); + aot_shen_x2e_freeze_x2d_literals(interp, &[__t1200, __t1201, __t1202, __t1203, __t1204])? }; - let __t1271 = Value::nil(); - rt::cons(&__t1270, &__t1271) + let __t1206 = Value::nil(); + rt::cons(&__t1205, &__t1206) }; - rt::cons(&__t1263, &__t1272) + rt::cons(&__t1198, &__t1207) }; - rt::cons(&__t1262, &__t1273) + rt::cons(&__t1197, &__t1208) }; - rt::cons(&__t1261, &__t1274) + rt::cons(&__t1196, &__t1209) }; rt::apply_direct( interp, "append", - &[__t1260, __t1275], + &[__t1195, __t1210], )? }; - let __t1277 = Value::nil(); - rt::cons(&__t1276, &__t1277) + let __t1212 = Value::nil(); + rt::cons(&__t1211, &__t1212) }; - rt::cons(&__t1259, &__t1278) + rt::cons(&__t1194, &__t1213) }); } } else { { - let __t1254 = Value::bool(true); - if match rt::is_truthy(interp, &__t1254) { + let __t1189 = Value::bool(true); + if match rt::is_truthy(interp, &__t1189) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1253 = Value::str( + let __t1188 = Value::str( "implementation error in shen.freeze-literals", ); - rt::apply_direct(interp, "simple-error", &[__t1253])? + rt::apply_direct(interp, "simple-error", &[__t1188])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6408,66 +6221,62 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t1325 = { - let __t1316 = { - let __t1312 = v_V1623.clone(); - rt::is_cons(&__t1312) + let __t1254 = { + let __t1245 = { + let __t1243 = v_V1623.clone(); + rt::is_cons(&__t1243) }; - if !rt::is_truthy(interp, &__t1316)? { + if !rt::is_truthy(interp, &__t1245)? { Value::bool(false) } else { - let __t1317 = { - let __t1313 = Value::sym(interp.intern("fork")); - let __t1315 = { - let __t1314 = v_V1623.clone(); - rt::hd(&__t1314)? - }; - rt::eq(&__t1313, &__t1315) - }; - Value::bool(rt::is_truthy(interp, &__t1317)?) + let __t1246 = Value::bool( + ({ + let __t1244 = v_V1623.clone(); + rt::hd(&__t1244)? + }) + .as_sym() + == Some(interp.intern_static("fork")), + ); + Value::bool(rt::is_truthy(interp, &__t1246)?) } }; - if match rt::is_truthy(interp, &__t1325) { + if match rt::is_truthy(interp, &__t1254) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1318 = Value::sym(interp.intern("fork")); - let __t1324 = { - let __t1322 = { - let __t1320 = { - let __t1319 = v_V1623.clone(); - rt::tl(&__t1319)? - }; - let __t1321 = v_V1624.clone(); - rt::apply_direct( - interp, - "shen.deref-forked-literals", - &[__t1320, __t1321], - )? + let __t1247 = Value::sym(interp.intern_static("fork")); + let __t1253 = { + let __t1251 = { + let __t1249 = { + let __t1248 = v_V1623.clone(); + rt::tl(&__t1248)? + }; + let __t1250 = v_V1624.clone(); + aot_shen_x2e_deref_x2d_forked_x2d_literals(interp, &[__t1249, __t1250])? }; - let __t1323 = Value::nil(); - rt::cons(&__t1322, &__t1323) + let __t1252 = Value::nil(); + rt::cons(&__t1251, &__t1252) }; - rt::cons(&__t1318, &__t1324) + rt::cons(&__t1247, &__t1253) }); } else { { - let __t1311 = { - let __t1302 = v_V1623.clone(); - rt::is_cons(&__t1302) + let __t1242 = { + let __t1233 = v_V1623.clone(); + rt::is_cons(&__t1233) }; - if match rt::is_truthy(interp, &__t1311) { + if match rt::is_truthy(interp, &__t1242) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1304 = { - let __t1303 = v_V1623.clone(); - rt::hd(&__t1303)? + let __t1235 = { + let __t1234 = v_V1623.clone(); + rt::hd(&__t1234)? }; - let __t1310 = { - let __t1307 = { + let __t1241 = { + let __t1238 = { let v_V1624 = v_V1624.clone(); rt::make_aot_closure( "", @@ -6475,12 +6284,11 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen move |interp, args| { let v_Z1625 = args[0].clone(); Ok({ - let __t1305 = v_Z1625.clone(); - let __t1306 = v_V1624.clone(); - rt::apply_direct( + let __t1236 = v_Z1625.clone(); + let __t1237 = v_V1624.clone(); + aot_shen_x2e_function_x2d_calls( interp, - "shen.function-calls", - &[__t1305, __t1306], + &[__t1236, __t1237], )? }) }, @@ -6488,25 +6296,25 @@ pub fn aot_shen_x2e_deref_x2d_calls(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t1309 = { - let __t1308 = v_V1623.clone(); - rt::tl(&__t1308)? + let __t1240 = { + let __t1239 = v_V1623.clone(); + rt::tl(&__t1239)? }; - rt::apply_direct(interp, "map", &[__t1307, __t1309])? + rt::apply_direct(interp, "map", &[__t1238, __t1240])? }; - rt::cons(&__t1304, &__t1310) + rt::cons(&__t1235, &__t1241) }); } else { { - let __t1301 = Value::bool(true); - if match rt::is_truthy(interp, &__t1301) { + let __t1232 = Value::bool(true); + if match rt::is_truthy(interp, &__t1232) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1300 = + let __t1231 = Value::str("implementation error in shen.deref-calls"); - rt::apply_direct(interp, "simple-error", &[__t1300])? + rt::apply_direct(interp, "simple-error", &[__t1231])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6542,71 +6350,62 @@ pub fn aot_shen_x2e_deref_x2d_forked_x2d_literals( #[allow(clippy::never_loop)] loop { { - let __t1344 = { - let __t1342 = Value::nil(); - let __t1343 = v_V1632.clone(); - rt::eq(&__t1342, &__t1343) - }; - if match rt::is_truthy(interp, &__t1344) { + let __t1271 = Value::bool((v_V1632.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1271) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t1341 = { - let __t1328 = v_V1632.clone(); - rt::is_cons(&__t1328) + let __t1270 = { + let __t1257 = v_V1632.clone(); + rt::is_cons(&__t1257) }; - if match rt::is_truthy(interp, &__t1341) { + if match rt::is_truthy(interp, &__t1270) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1329 = Value::sym(interp.intern("cons")); - let __t1340 = { - let __t1333 = { - let __t1331 = { - let __t1330 = v_V1632.clone(); - rt::hd(&__t1330)? + let __t1258 = Value::sym(interp.intern_static("cons")); + let __t1269 = { + let __t1262 = { + let __t1260 = { + let __t1259 = v_V1632.clone(); + rt::hd(&__t1259)? }; - let __t1332 = v_V1633.clone(); - rt::apply_direct( - interp, - "shen.deref-calls", - &[__t1331, __t1332], - )? + let __t1261 = v_V1633.clone(); + aot_shen_x2e_deref_x2d_calls(interp, &[__t1260, __t1261])? }; - let __t1339 = { - let __t1337 = { - let __t1335 = { - let __t1334 = v_V1632.clone(); - rt::tl(&__t1334)? + let __t1268 = { + let __t1266 = { + let __t1264 = { + let __t1263 = v_V1632.clone(); + rt::tl(&__t1263)? }; - let __t1336 = v_V1633.clone(); - rt::apply_direct( + let __t1265 = v_V1633.clone(); + aot_shen_x2e_deref_x2d_forked_x2d_literals( interp, - "shen.deref-forked-literals", - &[__t1335, __t1336], + &[__t1264, __t1265], )? }; - let __t1338 = Value::nil(); - rt::cons(&__t1337, &__t1338) + let __t1267 = Value::nil(); + rt::cons(&__t1266, &__t1267) }; - rt::cons(&__t1333, &__t1339) + rt::cons(&__t1262, &__t1268) }; - rt::cons(&__t1329, &__t1340) + rt::cons(&__t1258, &__t1269) }); } else { { - let __t1327 = Value::bool(true); - if match rt::is_truthy(interp, &__t1327) { + let __t1256 = Value::bool(true); + if match rt::is_truthy(interp, &__t1256) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1326 = Value::str("fork requires a list of literals\n"); - rt::apply_direct(interp, "simple-error", &[__t1326])? + let __t1255 = Value::str("fork requires a list of literals\n"); + rt::apply_direct(interp, "simple-error", &[__t1255])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6646,145 +6445,136 @@ pub fn aot_shen_x2e_function_x2d_calls(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t1388 = { - let __t1371 = { - let __t1351 = v_V1636.clone(); - rt::is_cons(&__t1351) + let __t1311 = { + let __t1294 = { + let __t1278 = v_V1636.clone(); + rt::is_cons(&__t1278) }; - if !rt::is_truthy(interp, &__t1371)? { + if !rt::is_truthy(interp, &__t1294)? { Value::bool(false) } else { - let __t1372 = { - let __t1369 = { - let __t1352 = Value::sym(interp.intern("cons")); - let __t1354 = { - let __t1353 = v_V1636.clone(); - rt::hd(&__t1353)? - }; - rt::eq(&__t1352, &__t1354) - }; - if !rt::is_truthy(interp, &__t1369)? { + let __t1295 = { + let __t1292 = Value::bool( + ({ + let __t1279 = v_V1636.clone(); + rt::hd(&__t1279)? + }) + .as_sym() + == Some(interp.intern_static("cons")), + ); + if !rt::is_truthy(interp, &__t1292)? { Value::bool(false) } else { - let __t1370 = { - let __t1367 = { - let __t1356 = { - let __t1355 = v_V1636.clone(); - rt::tl(&__t1355)? + let __t1293 = { + let __t1290 = { + let __t1281 = { + let __t1280 = v_V1636.clone(); + rt::tl(&__t1280)? }; - rt::is_cons(&__t1356) + rt::is_cons(&__t1281) }; - if !rt::is_truthy(interp, &__t1367)? { + if !rt::is_truthy(interp, &__t1290)? { Value::bool(false) } else { - let __t1368 = { - let __t1365 = { - let __t1359 = { - let __t1358 = { - let __t1357 = v_V1636.clone(); - rt::tl(&__t1357)? + let __t1291 = { + let __t1288 = { + let __t1284 = { + let __t1283 = { + let __t1282 = v_V1636.clone(); + rt::tl(&__t1282)? }; - rt::tl(&__t1358)? + rt::tl(&__t1283)? }; - rt::is_cons(&__t1359) + rt::is_cons(&__t1284) }; - if !rt::is_truthy(interp, &__t1365)? { + if !rt::is_truthy(interp, &__t1288)? { Value::bool(false) } else { - let __t1366 = { - let __t1360 = Value::nil(); - let __t1364 = { - let __t1363 = { - let __t1362 = { - let __t1361 = v_V1636.clone(); - rt::tl(&__t1361)? + let __t1289 = Value::bool( + ({ + let __t1287 = { + let __t1286 = { + let __t1285 = v_V1636.clone(); + rt::tl(&__t1285)? }; - rt::tl(&__t1362)? + rt::tl(&__t1286)? }; - rt::tl(&__t1363)? - }; - rt::eq(&__t1360, &__t1364) - }; - Value::bool(rt::is_truthy(interp, &__t1366)?) + rt::tl(&__t1287)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1289)?) } }; - Value::bool(rt::is_truthy(interp, &__t1368)?) + Value::bool(rt::is_truthy(interp, &__t1291)?) } }; - Value::bool(rt::is_truthy(interp, &__t1370)?) + Value::bool(rt::is_truthy(interp, &__t1293)?) } }; - Value::bool(rt::is_truthy(interp, &__t1372)?) + Value::bool(rt::is_truthy(interp, &__t1295)?) } }; - if match rt::is_truthy(interp, &__t1388) { + if match rt::is_truthy(interp, &__t1311) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1373 = Value::sym(interp.intern("cons")); - let __t1387 = { - let __t1378 = { - let __t1376 = { - let __t1375 = { - let __t1374 = v_V1636.clone(); - rt::tl(&__t1374)? + let __t1296 = Value::sym(interp.intern_static("cons")); + let __t1310 = { + let __t1301 = { + let __t1299 = { + let __t1298 = { + let __t1297 = v_V1636.clone(); + rt::tl(&__t1297)? }; - rt::hd(&__t1375)? + rt::hd(&__t1298)? }; - let __t1377 = v_V1637.clone(); - rt::apply_direct(interp, "shen.function-calls", &[__t1376, __t1377])? + let __t1300 = v_V1637.clone(); + aot_shen_x2e_function_x2d_calls(interp, &[__t1299, __t1300])? }; - let __t1386 = { - let __t1384 = { - let __t1382 = { - let __t1381 = { - let __t1380 = { - let __t1379 = v_V1636.clone(); - rt::tl(&__t1379)? + let __t1309 = { + let __t1307 = { + let __t1305 = { + let __t1304 = { + let __t1303 = { + let __t1302 = v_V1636.clone(); + rt::tl(&__t1302)? }; - rt::tl(&__t1380)? + rt::tl(&__t1303)? }; - rt::hd(&__t1381)? + rt::hd(&__t1304)? }; - let __t1383 = v_V1637.clone(); - rt::apply_direct( - interp, - "shen.function-calls", - &[__t1382, __t1383], - )? + let __t1306 = v_V1637.clone(); + aot_shen_x2e_function_x2d_calls(interp, &[__t1305, __t1306])? }; - let __t1385 = Value::nil(); - rt::cons(&__t1384, &__t1385) + let __t1308 = Value::nil(); + rt::cons(&__t1307, &__t1308) }; - rt::cons(&__t1378, &__t1386) + rt::cons(&__t1301, &__t1309) }; - rt::cons(&__t1373, &__t1387) + rt::cons(&__t1296, &__t1310) }); } else { { - let __t1350 = { - let __t1346 = v_V1636.clone(); - rt::is_cons(&__t1346) + let __t1277 = { + let __t1273 = v_V1636.clone(); + rt::is_cons(&__t1273) }; - if match rt::is_truthy(interp, &__t1350) { + if match rt::is_truthy(interp, &__t1277) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1347 = v_V1636.clone(); - let __t1348 = v_V1637.clone(); - let __t1349 = Value::nil(); - rt::apply_direct( - interp, - "shen.deref-terms", - &[__t1347, __t1348, __t1349], - )? + let __t1274 = v_V1636.clone(); + let __t1275 = v_V1637.clone(); + let __t1276 = Value::nil(); + aot_shen_x2e_deref_x2d_terms(interp, &[__t1274, __t1275, __t1276])? }); } else { { - let __t1345 = Value::bool(true); - if match rt::is_truthy(interp, &__t1345) { + let __t1272 = Value::bool(true); + if match rt::is_truthy(interp, &__t1272) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6822,413 +6612,411 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t1518 = { - let __t1502 = { - let __t1488 = v_V1646.clone(); - rt::is_cons(&__t1488) + let __t1433 = { + let __t1417 = { + let __t1405 = v_V1646.clone(); + rt::is_cons(&__t1405) }; - if !rt::is_truthy(interp, &__t1502)? { + if !rt::is_truthy(interp, &__t1417)? { Value::bool(false) } else { - let __t1503 = { - let __t1500 = { - let __t1489 = Value::int(0i64); - let __t1491 = { - let __t1490 = v_V1646.clone(); - rt::hd(&__t1490)? - }; - rt::eq(&__t1489, &__t1491) + let __t1418 = { + let __t1415 = { + let __t1406 = Value::int(0i64); + let __t1408 = { + let __t1407 = v_V1646.clone(); + rt::hd(&__t1407)? + }; + rt::eq(&__t1406, &__t1408) }; - if !rt::is_truthy(interp, &__t1500)? { + if !rt::is_truthy(interp, &__t1415)? { Value::bool(false) } else { - let __t1501 = { - let __t1498 = { - let __t1493 = { - let __t1492 = v_V1646.clone(); - rt::tl(&__t1492)? + let __t1416 = { + let __t1413 = { + let __t1410 = { + let __t1409 = v_V1646.clone(); + rt::tl(&__t1409)? }; - rt::is_cons(&__t1493) + rt::is_cons(&__t1410) }; - if !rt::is_truthy(interp, &__t1498)? { + if !rt::is_truthy(interp, &__t1413)? { Value::bool(false) } else { - let __t1499 = { - let __t1494 = Value::nil(); - let __t1497 = { - let __t1496 = { - let __t1495 = v_V1646.clone(); - rt::tl(&__t1495)? + let __t1414 = Value::bool( + ({ + let __t1412 = { + let __t1411 = v_V1646.clone(); + rt::tl(&__t1411)? }; - rt::tl(&__t1496)? - }; - rt::eq(&__t1494, &__t1497) - }; - Value::bool(rt::is_truthy(interp, &__t1499)?) + rt::tl(&__t1412)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1414)?) } }; - Value::bool(rt::is_truthy(interp, &__t1501)?) + Value::bool(rt::is_truthy(interp, &__t1416)?) } }; - Value::bool(rt::is_truthy(interp, &__t1503)?) + Value::bool(rt::is_truthy(interp, &__t1418)?) } }; - if match rt::is_truthy(interp, &__t1518) { + if match rt::is_truthy(interp, &__t1433) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1507 = { - let __t1506 = { - let __t1505 = { - let __t1504 = v_V1646.clone(); - rt::tl(&__t1504)? + let __t1422 = { + let __t1421 = { + let __t1420 = { + let __t1419 = v_V1646.clone(); + rt::tl(&__t1419)? }; - rt::hd(&__t1505)? + rt::hd(&__t1420)? }; - rt::apply_direct(interp, "variable?", &[__t1506])? + rt::apply_direct(interp, "variable?", &[__t1421])? }; - if match rt::is_truthy(interp, &__t1507) { + if match rt::is_truthy(interp, &__t1422) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1509 = { - let __t1508 = v_V1646.clone(); - rt::tl(&__t1508)? + let __t1424 = { + let __t1423 = v_V1646.clone(); + rt::tl(&__t1423)? }; - rt::hd(&__t1509)? + rt::hd(&__t1424)? }); } else { break Ok({ - let __t1517 = { - let __t1510 = Value::str("attempt to optimise a non-variable "); - let __t1516 = { - let __t1513 = { - let __t1512 = { - let __t1511 = v_V1646.clone(); - rt::tl(&__t1511)? + let __t1432 = { + let __t1425 = Value::str("attempt to optimise a non-variable "); + let __t1431 = { + let __t1428 = { + let __t1427 = { + let __t1426 = v_V1646.clone(); + rt::tl(&__t1426)? }; - rt::hd(&__t1512)? + rt::hd(&__t1427)? }; - let __t1514 = Value::str("\n"); - let __t1515 = Value::sym(interp.intern("shen.s")); + let __t1429 = Value::str("\n"); + let __t1430 = Value::sym(interp.intern_static("shen.s")); rt::apply_direct( interp, "shen.app", - &[__t1513, __t1514, __t1515], + &[__t1428, __t1429, __t1430], )? }; - rt::apply_direct(interp, "cn", &[__t1510, __t1516])? + rt::cn(&__t1425, &__t1431)? }; - rt::apply_direct(interp, "simple-error", &[__t1517])? + rt::apply_direct(interp, "simple-error", &[__t1432])? }); } } } else { { - let __t1487 = { - let __t1465 = { - let __t1451 = v_V1646.clone(); - rt::is_cons(&__t1451) + let __t1404 = { + let __t1382 = { + let __t1370 = v_V1646.clone(); + rt::is_cons(&__t1370) }; - if !rt::is_truthy(interp, &__t1465)? { + if !rt::is_truthy(interp, &__t1382)? { Value::bool(false) } else { - let __t1466 = { - let __t1463 = { - let __t1452 = Value::int(1i64); - let __t1454 = { - let __t1453 = v_V1646.clone(); - rt::hd(&__t1453)? + let __t1383 = { + let __t1380 = { + let __t1371 = Value::int(1i64); + let __t1373 = { + let __t1372 = v_V1646.clone(); + rt::hd(&__t1372)? }; - rt::eq(&__t1452, &__t1454) + rt::eq(&__t1371, &__t1373) }; - if !rt::is_truthy(interp, &__t1463)? { + if !rt::is_truthy(interp, &__t1380)? { Value::bool(false) } else { - let __t1464 = { - let __t1461 = { - let __t1456 = { - let __t1455 = v_V1646.clone(); - rt::tl(&__t1455)? + let __t1381 = { + let __t1378 = { + let __t1375 = { + let __t1374 = v_V1646.clone(); + rt::tl(&__t1374)? }; - rt::is_cons(&__t1456) + rt::is_cons(&__t1375) }; - if !rt::is_truthy(interp, &__t1461)? { + if !rt::is_truthy(interp, &__t1378)? { Value::bool(false) } else { - let __t1462 = { - let __t1457 = Value::nil(); - let __t1460 = { - let __t1459 = { - let __t1458 = v_V1646.clone(); - rt::tl(&__t1458)? + let __t1379 = Value::bool( + ({ + let __t1377 = { + let __t1376 = v_V1646.clone(); + rt::tl(&__t1376)? }; - rt::tl(&__t1459)? - }; - rt::eq(&__t1457, &__t1460) - }; - Value::bool(rt::is_truthy(interp, &__t1462)?) + rt::tl(&__t1377)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1379)?) } }; - Value::bool(rt::is_truthy(interp, &__t1464)?) + Value::bool(rt::is_truthy(interp, &__t1381)?) } }; - Value::bool(rt::is_truthy(interp, &__t1466)?) + Value::bool(rt::is_truthy(interp, &__t1383)?) } }; - if match rt::is_truthy(interp, &__t1487) { + if match rt::is_truthy(interp, &__t1404) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1470 = { - let __t1469 = { - let __t1468 = { - let __t1467 = v_V1646.clone(); - rt::tl(&__t1467)? + let __t1387 = { + let __t1386 = { + let __t1385 = { + let __t1384 = v_V1646.clone(); + rt::tl(&__t1384)? }; - rt::hd(&__t1468)? + rt::hd(&__t1385)? }; - rt::apply_direct(interp, "variable?", &[__t1469])? + rt::apply_direct(interp, "variable?", &[__t1386])? }; - if match rt::is_truthy(interp, &__t1470) { + if match rt::is_truthy(interp, &__t1387) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1471 = Value::sym(interp.intern("shen.lazyderef")); - let __t1478 = { - let __t1474 = { - let __t1473 = { - let __t1472 = v_V1646.clone(); - rt::tl(&__t1472)? + let __t1388 = + Value::sym(interp.intern_static("shen.lazyderef")); + let __t1395 = { + let __t1391 = { + let __t1390 = { + let __t1389 = v_V1646.clone(); + rt::tl(&__t1389)? }; - rt::hd(&__t1473)? + rt::hd(&__t1390)? }; - let __t1477 = { - let __t1475 = v_V1647.clone(); - let __t1476 = Value::nil(); - rt::cons(&__t1475, &__t1476) + let __t1394 = { + let __t1392 = v_V1647.clone(); + let __t1393 = Value::nil(); + rt::cons(&__t1392, &__t1393) }; - rt::cons(&__t1474, &__t1477) + rt::cons(&__t1391, &__t1394) }; - rt::cons(&__t1471, &__t1478) + rt::cons(&__t1388, &__t1395) }); } else { break Ok({ - let __t1486 = { - let __t1479 = + let __t1403 = { + let __t1396 = Value::str("attempt to optimise a non-variable "); - let __t1485 = { - let __t1482 = { - let __t1481 = { - let __t1480 = v_V1646.clone(); - rt::tl(&__t1480)? + let __t1402 = { + let __t1399 = { + let __t1398 = { + let __t1397 = v_V1646.clone(); + rt::tl(&__t1397)? }; - rt::hd(&__t1481)? + rt::hd(&__t1398)? }; - let __t1483 = Value::str("\n"); - let __t1484 = Value::sym(interp.intern("shen.s")); + let __t1400 = Value::str("\n"); + let __t1401 = + Value::sym(interp.intern_static("shen.s")); rt::apply_direct( interp, "shen.app", - &[__t1482, __t1483, __t1484], + &[__t1399, __t1400, __t1401], )? }; - rt::apply_direct(interp, "cn", &[__t1479, __t1485])? + rt::cn(&__t1396, &__t1402)? }; - rt::apply_direct(interp, "simple-error", &[__t1486])? + rt::apply_direct(interp, "simple-error", &[__t1403])? }); } } } else { { - let __t1450 = { - let __t1442 = { - let __t1440 = { - let __t1438 = v_V1646.clone(); - let __t1439 = v_V1648.clone(); - rt::apply_direct(interp, "element?", &[__t1438, __t1439])? + let __t1369 = { + let __t1361 = { + let __t1359 = { + let __t1357 = v_V1646.clone(); + let __t1358 = v_V1648.clone(); + rt::apply_direct(interp, "element?", &[__t1357, __t1358])? }; - rt::apply_direct(interp, "not", &[__t1440])? + rt::not(interp, &__t1359)? }; - if !rt::is_truthy(interp, &__t1442)? { + if !rt::is_truthy(interp, &__t1361)? { Value::bool(false) } else { - let __t1443 = { - let __t1441 = v_V1646.clone(); - rt::apply_direct(interp, "variable?", &[__t1441])? + let __t1362 = { + let __t1360 = v_V1646.clone(); + rt::apply_direct(interp, "variable?", &[__t1360])? }; - Value::bool(rt::is_truthy(interp, &__t1443)?) + Value::bool(rt::is_truthy(interp, &__t1362)?) } }; - if match rt::is_truthy(interp, &__t1450) { + if match rt::is_truthy(interp, &__t1369) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1444 = Value::sym(interp.intern("shen.deref")); - let __t1449 = { - let __t1445 = v_V1646.clone(); - let __t1448 = { - let __t1446 = v_V1647.clone(); - let __t1447 = Value::nil(); - rt::cons(&__t1446, &__t1447) + let __t1363 = Value::sym(interp.intern_static("shen.deref")); + let __t1368 = { + let __t1364 = v_V1646.clone(); + let __t1367 = { + let __t1365 = v_V1647.clone(); + let __t1366 = Value::nil(); + rt::cons(&__t1365, &__t1366) }; - rt::cons(&__t1445, &__t1448) + rt::cons(&__t1364, &__t1367) }; - rt::cons(&__t1444, &__t1449) + rt::cons(&__t1363, &__t1368) }); } else { { - let __t1437 = { - let __t1417 = { - let __t1397 = v_V1646.clone(); - rt::is_cons(&__t1397) + let __t1356 = { + let __t1336 = { + let __t1320 = v_V1646.clone(); + rt::is_cons(&__t1320) }; - if !rt::is_truthy(interp, &__t1417)? { + if !rt::is_truthy(interp, &__t1336)? { Value::bool(false) } else { - let __t1418 = { - let __t1415 = { - let __t1398 = - Value::sym(interp.intern("lambda")); - let __t1400 = { - let __t1399 = v_V1646.clone(); - rt::hd(&__t1399)? - }; - rt::eq(&__t1398, &__t1400) - }; - if !rt::is_truthy(interp, &__t1415)? { + let __t1337 = { + let __t1334 = Value::bool( + ({ + let __t1321 = v_V1646.clone(); + rt::hd(&__t1321)? + }) + .as_sym() + == Some(interp.intern_static("lambda")), + ); + if !rt::is_truthy(interp, &__t1334)? { Value::bool(false) } else { - let __t1416 = { - let __t1413 = { - let __t1402 = { - let __t1401 = v_V1646.clone(); - rt::tl(&__t1401)? + let __t1335 = { + let __t1332 = { + let __t1323 = { + let __t1322 = v_V1646.clone(); + rt::tl(&__t1322)? }; - rt::is_cons(&__t1402) + rt::is_cons(&__t1323) }; - if !rt::is_truthy(interp, &__t1413)? { + if !rt::is_truthy(interp, &__t1332)? { Value::bool(false) } else { - let __t1414 = { - let __t1411 = { - let __t1405 = { - let __t1404 = { - let __t1403 = + let __t1333 = { + let __t1330 = { + let __t1326 = { + let __t1325 = { + let __t1324 = v_V1646.clone(); - rt::tl(&__t1403)? + rt::tl(&__t1324)? }; - rt::tl(&__t1404)? + rt::tl(&__t1325)? }; - rt::is_cons(&__t1405) + rt::is_cons(&__t1326) }; - if !rt::is_truthy(interp, &__t1411)? + if !rt::is_truthy(interp, &__t1330)? { Value::bool(false) } else { - let __t1412 = { - let __t1406 = Value::nil(); - let __t1410 = { - let __t1409 = { - let __t1408 = { - let __t1407 = + let __t1331 = Value::bool( + ({ + let __t1329 = { + let __t1328 = { + let __t1327 = v_V1646 .clone( ); rt::tl( - &__t1407, + &__t1327, )? }; - rt::tl(&__t1408)? + rt::tl(&__t1328)? }; - rt::tl(&__t1409)? - }; - rt::eq(&__t1406, &__t1410) - }; + rt::tl(&__t1329)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1412, + interp, &__t1331, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1414, + interp, &__t1333, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1416)?) + Value::bool(rt::is_truthy(interp, &__t1335)?) } }; - Value::bool(rt::is_truthy(interp, &__t1418)?) + Value::bool(rt::is_truthy(interp, &__t1337)?) } }; - if match rt::is_truthy(interp, &__t1437) { + if match rt::is_truthy(interp, &__t1356) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1419 = Value::sym(interp.intern("lambda")); - let __t1436 = { - let __t1422 = { - let __t1421 = { - let __t1420 = v_V1646.clone(); - rt::tl(&__t1420)? + let __t1338 = + Value::sym(interp.intern_static("lambda")); + let __t1355 = { + let __t1341 = { + let __t1340 = { + let __t1339 = v_V1646.clone(); + rt::tl(&__t1339)? }; - rt::hd(&__t1421)? + rt::hd(&__t1340)? }; - let __t1435 = { - let __t1433 = { - let __t1426 = { - let __t1425 = { - let __t1424 = { - let __t1423 = v_V1646.clone(); - rt::tl(&__t1423)? + let __t1354 = { + let __t1352 = { + let __t1345 = { + let __t1344 = { + let __t1343 = { + let __t1342 = v_V1646.clone(); + rt::tl(&__t1342)? }; - rt::tl(&__t1424)? + rt::tl(&__t1343)? }; - rt::hd(&__t1425)? + rt::hd(&__t1344)? }; - let __t1427 = v_V1647.clone(); - let __t1432 = { - let __t1430 = { - let __t1429 = { - let __t1428 = v_V1646.clone(); - rt::tl(&__t1428)? + let __t1346 = v_V1647.clone(); + let __t1351 = { + let __t1349 = { + let __t1348 = { + let __t1347 = v_V1646.clone(); + rt::tl(&__t1347)? }; - rt::hd(&__t1429)? + rt::hd(&__t1348)? }; - let __t1431 = v_V1648.clone(); - rt::cons(&__t1430, &__t1431) + let __t1350 = v_V1648.clone(); + rt::cons(&__t1349, &__t1350) }; - rt::apply_direct( + aot_shen_x2e_deref_x2d_terms( interp, - "shen.deref-terms", - &[__t1426, __t1427, __t1432], + &[__t1345, __t1346, __t1351], )? }; - let __t1434 = Value::nil(); - rt::cons(&__t1433, &__t1434) + let __t1353 = Value::nil(); + rt::cons(&__t1352, &__t1353) }; - rt::cons(&__t1422, &__t1435) + rt::cons(&__t1341, &__t1354) }; - rt::cons(&__t1419, &__t1436) + rt::cons(&__t1338, &__t1355) }); } else { { - let __t1396 = { - let __t1390 = v_V1646.clone(); - rt::is_cons(&__t1390) + let __t1319 = { + let __t1313 = v_V1646.clone(); + rt::is_cons(&__t1313) }; - if match rt::is_truthy(interp, &__t1396) { + if match rt::is_truthy(interp, &__t1319) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1394 = { + let __t1317 = { let v_V1647 = v_V1647.clone(); let v_V1648 = v_V1648.clone(); rt::make_aot_closure( @@ -7237,15 +7025,14 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen move |interp, args| { let v_Z1649 = args[0].clone(); Ok({ - let __t1391 = v_Z1649.clone(); - let __t1392 = v_V1647.clone(); - let __t1393 = v_V1648.clone(); - rt::apply_direct( + let __t1314 = v_Z1649.clone(); + let __t1315 = v_V1647.clone(); + let __t1316 = v_V1648.clone(); + aot_shen_x2e_deref_x2d_terms( interp, - "shen.deref-terms", &[ - __t1391, __t1392, - __t1393, + __t1314, __t1315, + __t1316, ], )? }) @@ -7254,17 +7041,17 @@ pub fn aot_shen_x2e_deref_x2d_terms(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t1395 = v_V1646.clone(); + let __t1318 = v_V1646.clone(); rt::apply_direct( interp, "map", - &[__t1394, __t1395], + &[__t1317, __t1318], )? }); } else { { - let __t1389 = Value::bool(true); - if match rt::is_truthy(interp, &__t1389) { + let __t1312 = Value::bool(true); + if match rt::is_truthy(interp, &__t1312) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7314,571 +7101,538 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1764 = { - let __t1762 = { - let __t1758 = Value::nil(); - let __t1759 = v_V1668.clone(); - rt::eq(&__t1758, &__t1759) - }; - if !rt::is_truthy(interp, &__t1762)? { + let __t1647 = { + let __t1645 = Value::bool((v_V1668.clone()).is_nil()); + if !rt::is_truthy(interp, &__t1645)? { Value::bool(false) } else { - let __t1763 = { - let __t1760 = Value::nil(); - let __t1761 = v_V1669.clone(); - rt::eq(&__t1760, &__t1761) - }; - Value::bool(rt::is_truthy(interp, &__t1763)?) + let __t1646 = Value::bool((v_V1669.clone()).is_nil()); + Value::bool(rt::is_truthy(interp, &__t1646)?) } }; - if match rt::is_truthy(interp, &__t1764) { + if match rt::is_truthy(interp, &__t1647) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V1671.clone()); } else { { - let __t1757 = { - let __t1740 = { - let __t1719 = v_V1668.clone(); - rt::is_cons(&__t1719) + let __t1644 = { + let __t1627 = { + let __t1610 = v_V1668.clone(); + rt::is_cons(&__t1610) }; - if !rt::is_truthy(interp, &__t1740)? { + if !rt::is_truthy(interp, &__t1627)? { Value::bool(false) } else { - let __t1741 = { - let __t1738 = { - let __t1721 = { - let __t1720 = v_V1668.clone(); - rt::hd(&__t1720)? + let __t1628 = { + let __t1625 = { + let __t1612 = { + let __t1611 = v_V1668.clone(); + rt::hd(&__t1611)? }; - rt::is_cons(&__t1721) + rt::is_cons(&__t1612) }; - if !rt::is_truthy(interp, &__t1738)? { + if !rt::is_truthy(interp, &__t1625)? { Value::bool(false) } else { - let __t1739 = { - let __t1736 = { - let __t1722 = Value::sym(interp.intern("shen.+m")); - let __t1725 = { - let __t1724 = { - let __t1723 = v_V1668.clone(); - rt::hd(&__t1723)? + let __t1626 = { + let __t1623 = Value::bool( + ({ + let __t1614 = { + let __t1613 = v_V1668.clone(); + rt::hd(&__t1613)? }; - rt::hd(&__t1724)? - }; - rt::eq(&__t1722, &__t1725) - }; - if !rt::is_truthy(interp, &__t1736)? { + rt::hd(&__t1614)? + }) + .as_sym() + == Some(interp.intern_static("shen.+m")), + ); + if !rt::is_truthy(interp, &__t1623)? { Value::bool(false) } else { - let __t1737 = { - let __t1734 = { - let __t1728 = { - let __t1727 = { - let __t1726 = v_V1668.clone(); - rt::hd(&__t1726)? + let __t1624 = { + let __t1621 = { + let __t1617 = { + let __t1616 = { + let __t1615 = v_V1668.clone(); + rt::hd(&__t1615)? }; - rt::tl(&__t1727)? + rt::tl(&__t1616)? }; - rt::is_cons(&__t1728) + rt::is_cons(&__t1617) }; - if !rt::is_truthy(interp, &__t1734)? { + if !rt::is_truthy(interp, &__t1621)? { Value::bool(false) } else { - let __t1735 = { - let __t1729 = Value::nil(); - let __t1733 = { - let __t1732 = { - let __t1731 = { - let __t1730 = v_V1668.clone(); - rt::hd(&__t1730)? + let __t1622 = Value::bool( + ({ + let __t1620 = { + let __t1619 = { + let __t1618 = v_V1668.clone(); + rt::hd(&__t1618)? }; - rt::tl(&__t1731)? + rt::tl(&__t1619)? }; - rt::tl(&__t1732)? - }; - rt::eq(&__t1729, &__t1733) - }; - Value::bool(rt::is_truthy(interp, &__t1735)?) + rt::tl(&__t1620)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1622)?) } }; - Value::bool(rt::is_truthy(interp, &__t1737)?) + Value::bool(rt::is_truthy(interp, &__t1624)?) } }; - Value::bool(rt::is_truthy(interp, &__t1739)?) + Value::bool(rt::is_truthy(interp, &__t1626)?) } }; - Value::bool(rt::is_truthy(interp, &__t1741)?) + Value::bool(rt::is_truthy(interp, &__t1628)?) } }; - if match rt::is_truthy(interp, &__t1757) { + if match rt::is_truthy(interp, &__t1644) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1742 = v_V1667.clone(); - let __t1753 = { - let __t1743 = Value::sym(interp.intern("shen.+m")); - let __t1752 = { - let __t1747 = { - let __t1746 = { - let __t1745 = { - let __t1744 = v_V1668.clone(); - rt::hd(&__t1744)? + let __t1629 = v_V1667.clone(); + let __t1640 = { + let __t1630 = Value::sym(interp.intern_static("shen.+m")); + let __t1639 = { + let __t1634 = { + let __t1633 = { + let __t1632 = { + let __t1631 = v_V1668.clone(); + rt::hd(&__t1631)? }; - rt::tl(&__t1745)? + rt::tl(&__t1632)? }; - rt::hd(&__t1746)? + rt::hd(&__t1633)? }; - let __t1751 = { - let __t1748 = v_V1667.clone(); - let __t1750 = { - let __t1749 = v_V1668.clone(); - rt::tl(&__t1749)? + let __t1638 = { + let __t1635 = v_V1667.clone(); + let __t1637 = { + let __t1636 = v_V1668.clone(); + rt::tl(&__t1636)? }; - rt::cons(&__t1748, &__t1750) + rt::cons(&__t1635, &__t1637) }; - rt::cons(&__t1747, &__t1751) + rt::cons(&__t1634, &__t1638) }; - rt::cons(&__t1743, &__t1752) - }; - let __t1754 = v_V1669.clone(); - let __t1755 = v_V1670.clone(); - let __t1756 = v_V1671.clone(); - v_V1667 = __t1742; - v_V1668 = __t1753; - v_V1669 = __t1754; - v_V1670 = __t1755; - v_V1671 = __t1756; + rt::cons(&__t1630, &__t1639) + }; + let __t1641 = v_V1669.clone(); + let __t1642 = v_V1670.clone(); + let __t1643 = v_V1671.clone(); + v_V1667 = __t1629; + v_V1668 = __t1640; + v_V1669 = __t1641; + v_V1670 = __t1642; + v_V1671 = __t1643; continue; } } else { { - let __t1718 = { - let __t1701 = { - let __t1680 = v_V1668.clone(); - rt::is_cons(&__t1680) + let __t1609 = { + let __t1592 = { + let __t1575 = v_V1668.clone(); + rt::is_cons(&__t1575) }; - if !rt::is_truthy(interp, &__t1701)? { + if !rt::is_truthy(interp, &__t1592)? { Value::bool(false) } else { - let __t1702 = { - let __t1699 = { - let __t1682 = { - let __t1681 = v_V1668.clone(); - rt::hd(&__t1681)? + let __t1593 = { + let __t1590 = { + let __t1577 = { + let __t1576 = v_V1668.clone(); + rt::hd(&__t1576)? }; - rt::is_cons(&__t1682) + rt::is_cons(&__t1577) }; - if !rt::is_truthy(interp, &__t1699)? { + if !rt::is_truthy(interp, &__t1590)? { Value::bool(false) } else { - let __t1700 = { - let __t1697 = { - let __t1683 = - Value::sym(interp.intern("shen.-m")); - let __t1686 = { - let __t1685 = { - let __t1684 = v_V1668.clone(); - rt::hd(&__t1684)? + let __t1591 = { + let __t1588 = Value::bool( + ({ + let __t1579 = { + let __t1578 = v_V1668.clone(); + rt::hd(&__t1578)? }; - rt::hd(&__t1685)? - }; - rt::eq(&__t1683, &__t1686) - }; - if !rt::is_truthy(interp, &__t1697)? { + rt::hd(&__t1579)? + }) + .as_sym() + == Some(interp.intern_static("shen.-m")), + ); + if !rt::is_truthy(interp, &__t1588)? { Value::bool(false) } else { - let __t1698 = { - let __t1695 = { - let __t1689 = { - let __t1688 = { - let __t1687 = v_V1668.clone(); - rt::hd(&__t1687)? + let __t1589 = { + let __t1586 = { + let __t1582 = { + let __t1581 = { + let __t1580 = v_V1668.clone(); + rt::hd(&__t1580)? }; - rt::tl(&__t1688)? + rt::tl(&__t1581)? }; - rt::is_cons(&__t1689) + rt::is_cons(&__t1582) }; - if !rt::is_truthy(interp, &__t1695)? { + if !rt::is_truthy(interp, &__t1586)? { Value::bool(false) } else { - let __t1696 = { - let __t1690 = Value::nil(); - let __t1694 = { - let __t1693 = { - let __t1692 = { - let __t1691 = + let __t1587 = Value::bool( + ({ + let __t1585 = { + let __t1584 = { + let __t1583 = v_V1668.clone(); - rt::hd(&__t1691)? + rt::hd(&__t1583)? }; - rt::tl(&__t1692)? + rt::tl(&__t1584)? }; - rt::tl(&__t1693)? - }; - rt::eq(&__t1690, &__t1694) - }; + rt::tl(&__t1585)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1696, + interp, &__t1587, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1698)?) + Value::bool(rt::is_truthy(interp, &__t1589)?) } }; - Value::bool(rt::is_truthy(interp, &__t1700)?) + Value::bool(rt::is_truthy(interp, &__t1591)?) } }; - Value::bool(rt::is_truthy(interp, &__t1702)?) + Value::bool(rt::is_truthy(interp, &__t1593)?) } }; - if match rt::is_truthy(interp, &__t1718) { + if match rt::is_truthy(interp, &__t1609) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1703 = v_V1667.clone(); - let __t1714 = { - let __t1704 = Value::sym(interp.intern("shen.-m")); - let __t1713 = { - let __t1708 = { - let __t1707 = { - let __t1706 = { - let __t1705 = v_V1668.clone(); - rt::hd(&__t1705)? + let __t1594 = v_V1667.clone(); + let __t1605 = { + let __t1595 = Value::sym(interp.intern_static("shen.-m")); + let __t1604 = { + let __t1599 = { + let __t1598 = { + let __t1597 = { + let __t1596 = v_V1668.clone(); + rt::hd(&__t1596)? }; - rt::tl(&__t1706)? + rt::tl(&__t1597)? }; - rt::hd(&__t1707)? + rt::hd(&__t1598)? }; - let __t1712 = { - let __t1709 = v_V1667.clone(); - let __t1711 = { - let __t1710 = v_V1668.clone(); - rt::tl(&__t1710)? + let __t1603 = { + let __t1600 = v_V1667.clone(); + let __t1602 = { + let __t1601 = v_V1668.clone(); + rt::tl(&__t1601)? }; - rt::cons(&__t1709, &__t1711) + rt::cons(&__t1600, &__t1602) }; - rt::cons(&__t1708, &__t1712) + rt::cons(&__t1599, &__t1603) }; - rt::cons(&__t1704, &__t1713) + rt::cons(&__t1595, &__t1604) }; - let __t1715 = v_V1669.clone(); - let __t1716 = v_V1670.clone(); - let __t1717 = v_V1671.clone(); - v_V1667 = __t1703; - v_V1668 = __t1714; - v_V1669 = __t1715; - v_V1670 = __t1716; - v_V1671 = __t1717; + let __t1606 = v_V1669.clone(); + let __t1607 = v_V1670.clone(); + let __t1608 = v_V1671.clone(); + v_V1667 = __t1594; + v_V1668 = __t1605; + v_V1669 = __t1606; + v_V1670 = __t1607; + v_V1671 = __t1608; continue; } } else { { - let __t1679 = { - let __t1671 = { - let __t1667 = v_V1668.clone(); - rt::is_cons(&__t1667) + let __t1574 = { + let __t1566 = { + let __t1564 = v_V1668.clone(); + rt::is_cons(&__t1564) }; - if !rt::is_truthy(interp, &__t1671)? { + if !rt::is_truthy(interp, &__t1566)? { Value::bool(false) } else { - let __t1672 = { - let __t1668 = Value::sym(interp.intern("shen.-m")); - let __t1670 = { - let __t1669 = v_V1668.clone(); - rt::hd(&__t1669)? - }; - rt::eq(&__t1668, &__t1670) - }; - Value::bool(rt::is_truthy(interp, &__t1672)?) + let __t1567 = Value::bool( + ({ + let __t1565 = v_V1668.clone(); + rt::hd(&__t1565)? + }) + .as_sym() + == Some(interp.intern_static("shen.-m")), + ); + Value::bool(rt::is_truthy(interp, &__t1567)?) } }; - if match rt::is_truthy(interp, &__t1679) { + if match rt::is_truthy(interp, &__t1574) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1673 = Value::sym(interp.intern("shen.-m")); - let __t1675 = { - let __t1674 = v_V1668.clone(); - rt::tl(&__t1674)? + let __t1568 = + Value::sym(interp.intern_static("shen.-m")); + let __t1570 = { + let __t1569 = v_V1668.clone(); + rt::tl(&__t1569)? }; - let __t1676 = v_V1669.clone(); - let __t1677 = v_V1670.clone(); - let __t1678 = v_V1671.clone(); - v_V1667 = __t1673; - v_V1668 = __t1675; - v_V1669 = __t1676; - v_V1670 = __t1677; - v_V1671 = __t1678; + let __t1571 = v_V1669.clone(); + let __t1572 = v_V1670.clone(); + let __t1573 = v_V1671.clone(); + v_V1667 = __t1568; + v_V1668 = __t1570; + v_V1669 = __t1571; + v_V1670 = __t1572; + v_V1671 = __t1573; continue; } } else { { - let __t1666 = { - let __t1658 = { - let __t1654 = v_V1668.clone(); - rt::is_cons(&__t1654) + let __t1563 = { + let __t1555 = { + let __t1553 = v_V1668.clone(); + rt::is_cons(&__t1553) }; - if !rt::is_truthy(interp, &__t1658)? { + if !rt::is_truthy(interp, &__t1555)? { Value::bool(false) } else { - let __t1659 = { - let __t1655 = - Value::sym(interp.intern("shen.+m")); - let __t1657 = { - let __t1656 = v_V1668.clone(); - rt::hd(&__t1656)? - }; - rt::eq(&__t1655, &__t1657) - }; - Value::bool(rt::is_truthy(interp, &__t1659)?) + let __t1556 = Value::bool( + ({ + let __t1554 = v_V1668.clone(); + rt::hd(&__t1554)? + }) + .as_sym() + == Some( + interp.intern_static("shen.+m"), + ), + ); + Value::bool(rt::is_truthy(interp, &__t1556)?) } }; - if match rt::is_truthy(interp, &__t1666) { + if match rt::is_truthy(interp, &__t1563) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1660 = - Value::sym(interp.intern("shen.+m")); - let __t1662 = { - let __t1661 = v_V1668.clone(); - rt::tl(&__t1661)? + let __t1557 = + Value::sym(interp.intern_static("shen.+m")); + let __t1559 = { + let __t1558 = v_V1668.clone(); + rt::tl(&__t1558)? }; - let __t1663 = v_V1669.clone(); - let __t1664 = v_V1670.clone(); - let __t1665 = v_V1671.clone(); - v_V1667 = __t1660; - v_V1668 = __t1662; - v_V1669 = __t1663; - v_V1670 = __t1664; - v_V1671 = __t1665; + let __t1560 = v_V1669.clone(); + let __t1561 = v_V1670.clone(); + let __t1562 = v_V1671.clone(); + v_V1667 = __t1557; + v_V1668 = __t1559; + v_V1669 = __t1560; + v_V1670 = __t1561; + v_V1671 = __t1562; continue; } } else { { - let __t1653 = { - let __t1644 = { - let __t1638 = v_V1668.clone(); - rt::is_cons(&__t1638) + let __t1552 = { + let __t1543 = { + let __t1537 = v_V1668.clone(); + rt::is_cons(&__t1537) }; - if !rt::is_truthy(interp, &__t1644)? { + if !rt::is_truthy(interp, &__t1543)? { Value::bool(false) } else { - let __t1645 = { - let __t1642 = { - let __t1639 = v_V1669.clone(); - rt::is_cons(&__t1639) + let __t1544 = { + let __t1541 = { + let __t1538 = v_V1669.clone(); + rt::is_cons(&__t1538) }; - if !rt::is_truthy(interp, &__t1642)? + if !rt::is_truthy(interp, &__t1541)? { Value::bool(false) } else { - let __t1643 = { - let __t1641 = { - let __t1640 = + let __t1542 = { + let __t1540 = { + let __t1539 = v_V1668.clone(); - rt::hd(&__t1640)? + rt::hd(&__t1539)? }; - rt::apply_direct( + aot_shen_x2e_wildcard_x3f_( interp, - "shen.wildcard?", - &[__t1641], + &[__t1540], )? }; Value::bool(rt::is_truthy( - interp, &__t1643, + interp, &__t1542, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1645, + interp, &__t1544, )?) } }; - if match rt::is_truthy(interp, &__t1653) { + if match rt::is_truthy(interp, &__t1552) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1646 = v_V1667.clone(); - let __t1648 = { - let __t1647 = v_V1668.clone(); - rt::tl(&__t1647)? + let __t1545 = v_V1667.clone(); + let __t1547 = { + let __t1546 = v_V1668.clone(); + rt::tl(&__t1546)? }; - let __t1650 = { - let __t1649 = v_V1669.clone(); - rt::tl(&__t1649)? + let __t1549 = { + let __t1548 = v_V1669.clone(); + rt::tl(&__t1548)? }; - let __t1651 = v_V1670.clone(); - let __t1652 = v_V1671.clone(); - v_V1667 = __t1646; - v_V1668 = __t1648; - v_V1669 = __t1650; - v_V1670 = __t1651; - v_V1671 = __t1652; + let __t1550 = v_V1670.clone(); + let __t1551 = v_V1671.clone(); + v_V1667 = __t1545; + v_V1668 = __t1547; + v_V1669 = __t1549; + v_V1670 = __t1550; + v_V1671 = __t1551; continue; } } else { { - let __t1637 = { - let __t1630 = { - let __t1627 = v_V1668.clone(); - rt::is_cons(&__t1627) + let __t1536 = { + let __t1529 = { + let __t1526 = v_V1668.clone(); + rt::is_cons(&__t1526) }; - if !rt::is_truthy(interp, &__t1630)? + if !rt::is_truthy(interp, &__t1529)? { Value::bool(false) } else { - let __t1631 = { - let __t1629 = { - let __t1628 = + let __t1530 = { + let __t1528 = { + let __t1527 = v_V1668.clone(); - rt::hd(&__t1628)? + rt::hd(&__t1527)? }; rt::apply_direct( interp, "variable?", - &[__t1629], + &[__t1528], )? }; Value::bool(rt::is_truthy( - interp, &__t1631, + interp, &__t1530, )?) } }; - if match rt::is_truthy(interp, &__t1637) + if match rt::is_truthy(interp, &__t1536) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1632 = v_V1667.clone(); - let __t1633 = v_V1668.clone(); - let __t1634 = v_V1669.clone(); - let __t1635 = v_V1670.clone(); - let __t1636 = v_V1671.clone(); - rt::apply_direct( + let __t1531 = v_V1667.clone(); + let __t1532 = v_V1668.clone(); + let __t1533 = v_V1669.clone(); + let __t1534 = v_V1670.clone(); + let __t1535 = v_V1671.clone(); + aot_shen_x2e_variable_x2d_case( interp, - "shen.variable-case", &[ - __t1632, __t1633, - __t1634, __t1635, - __t1636, + __t1531, __t1532, + __t1533, __t1534, + __t1535, ], )? }); } else { { - let __t1626 = { - let __t1620 = { - let __t1613 = - Value::sym( - interp.intern( - "shen.-m", - ), - ); - let __t1614 = - v_V1667.clone(); - rt::eq( - &__t1613, &__t1614, - ) - }; + let __t1525 = { + let __t1519 = Value::bool((v_V1667.clone()).as_sym() == Some(interp.intern_static("shen.-m"))); if !rt::is_truthy( - interp, &__t1620, + interp, &__t1519, )? { Value::bool(false) } else { - let __t1621 = { - let __t1618 = { - let __t1615 = + let __t1520 = { + let __t1517 = { + let __t1514 = v_V1668 .clone( ); rt::is_cons( - &__t1615, + &__t1514, ) }; if !rt::is_truthy( interp, - &__t1618, + &__t1517, )? { Value::bool( false, ) } else { - let __t1619 = { - let __t1617 = { - let __t1616 = v_V1668.clone(); - rt::hd(&__t1616)? + let __t1518 = { + let __t1516 = { + let __t1515 = v_V1668.clone(); + rt::hd(&__t1515)? }; - rt::apply_direct(interp, "atom?", &[__t1617])? + aot_atom_x3f_(interp, &[__t1516])? }; - Value::bool(rt::is_truthy(interp, &__t1619)?) + Value::bool(rt::is_truthy(interp, &__t1518)?) } }; Value::bool( rt::is_truthy( interp, - &__t1621, + &__t1520, )?, ) } }; if match rt::is_truthy( - interp, &__t1626, + interp, &__t1525, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1622 = + let __t1521 = v_V1668.clone(); - let __t1623 = + let __t1522 = v_V1669.clone(); - let __t1624 = + let __t1523 = v_V1670.clone(); - let __t1625 = + let __t1524 = v_V1671.clone(); - rt::apply_direct(interp, "shen.atom-case-minus", &[__t1622, __t1623, __t1624, __t1625])? + aot_shen_x2e_atom_x2d_case_x2d_minus(interp, &[__t1521, __t1522, __t1523, __t1524])? }); } else { { - let __t1612 = { - let __t1606 = { - let __t1574 = Value::sym(interp.intern("shen.-m")); - let __t1575 = - v_V1667 - .clone( - ); - rt::eq( - &__t1574, - &__t1575, - ) - }; + let __t1513 = { + let __t1507 = Value::bool((v_V1667.clone()).as_sym() == Some(interp.intern_static("shen.-m"))); if !rt::is_truthy( interp, - &__t1606, + &__t1507, )? { Value::bool( false, ) } else { - let __t1607 = { - let __t1604 = { - let __t1576 = v_V1668.clone(); - rt::is_cons(&__t1576) + let __t1508 = { + let __t1505 = { + let __t1481 = v_V1668.clone(); + rt::is_cons(&__t1481) }; - if !rt::is_truthy(interp, &__t1604)? { Value::bool(false) } else { let __t1605 = { let __t1602 = { let __t1578 = { let __t1577 = v_V1668.clone(); rt::hd(&__t1577)? }; rt::is_cons(&__t1578) }; if !rt::is_truthy(interp, &__t1602)? { Value::bool(false) } else { let __t1603 = { let __t1600 = { let __t1579 = Value::sym(interp.intern("cons")); let __t1582 = { let __t1581 = { let __t1580 = v_V1668.clone(); rt::hd(&__t1580)? }; rt::hd(&__t1581)? }; rt::eq(&__t1579, &__t1582) }; if !rt::is_truthy(interp, &__t1600)? { Value::bool(false) } else { let __t1601 = { let __t1598 = { let __t1585 = { let __t1584 = { let __t1583 = v_V1668.clone(); rt::hd(&__t1583)? }; rt::tl(&__t1584)? }; rt::is_cons(&__t1585) }; if !rt::is_truthy(interp, &__t1598)? { Value::bool(false) } else { let __t1599 = { let __t1596 = { let __t1589 = { let __t1588 = { let __t1587 = { let __t1586 = v_V1668.clone(); rt::hd(&__t1586)? }; rt::tl(&__t1587)? }; rt::tl(&__t1588)? }; rt::is_cons(&__t1589) }; if !rt::is_truthy(interp, &__t1596)? { Value::bool(false) } else { let __t1597 = { let __t1590 = Value::nil(); let __t1595 = { let __t1594 = { let __t1593 = { let __t1592 = { let __t1591 = v_V1668.clone(); rt::hd(&__t1591)? }; rt::tl(&__t1592)? }; rt::tl(&__t1593)? }; rt::tl(&__t1594)? }; rt::eq(&__t1590, &__t1595) }; Value::bool(rt::is_truthy(interp, &__t1597)?) } }; Value::bool(rt::is_truthy(interp, &__t1599)?) } }; Value::bool(rt::is_truthy(interp, &__t1601)?) } }; Value::bool(rt::is_truthy(interp, &__t1603)?) } }; Value::bool(rt::is_truthy(interp, &__t1605)?) } + if !rt::is_truthy(interp, &__t1505)? { Value::bool(false) } else { let __t1506 = { let __t1503 = { let __t1483 = { let __t1482 = v_V1668.clone(); rt::hd(&__t1482)? }; rt::is_cons(&__t1483) }; if !rt::is_truthy(interp, &__t1503)? { Value::bool(false) } else { let __t1504 = { let __t1501 = Value::bool(({ let __t1485 = { let __t1484 = v_V1668.clone(); rt::hd(&__t1484)? }; rt::hd(&__t1485)? }).as_sym() == Some(interp.intern_static("cons"))); if !rt::is_truthy(interp, &__t1501)? { Value::bool(false) } else { let __t1502 = { let __t1499 = { let __t1488 = { let __t1487 = { let __t1486 = v_V1668.clone(); rt::hd(&__t1486)? }; rt::tl(&__t1487)? }; rt::is_cons(&__t1488) }; if !rt::is_truthy(interp, &__t1499)? { Value::bool(false) } else { let __t1500 = { let __t1497 = { let __t1492 = { let __t1491 = { let __t1490 = { let __t1489 = v_V1668.clone(); rt::hd(&__t1489)? }; rt::tl(&__t1490)? }; rt::tl(&__t1491)? }; rt::is_cons(&__t1492) }; if !rt::is_truthy(interp, &__t1497)? { Value::bool(false) } else { let __t1498 = Value::bool(({ let __t1496 = { let __t1495 = { let __t1494 = { let __t1493 = v_V1668.clone(); rt::hd(&__t1493)? }; rt::tl(&__t1494)? }; rt::tl(&__t1495)? }; rt::tl(&__t1496)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t1498)?) } }; Value::bool(rt::is_truthy(interp, &__t1500)?) } }; Value::bool(rt::is_truthy(interp, &__t1502)?) } }; Value::bool(rt::is_truthy(interp, &__t1504)?) } }; Value::bool(rt::is_truthy(interp, &__t1506)?) } }; - Value::bool(rt::is_truthy(interp, &__t1607)?) + Value::bool(rt::is_truthy(interp, &__t1508)?) } }; if match rt::is_truthy( - interp, &__t1612, + interp, &__t1513, ) { Ok(b) => b, Err(e) => { @@ -7886,35 +7640,31 @@ pub fn aot_shen_x2e_compile_x2d_head(interp: &mut Interp, args: &[Value]) -> She } } { break Ok({ - let __t1608 = + let __t1509 = v_V1668 .clone( ); - let __t1609 = + let __t1510 = v_V1669 .clone( ); - let __t1610 = + let __t1511 = v_V1670 .clone( ); - let __t1611 = + let __t1512 = v_V1671 .clone( ); - rt::apply_direct(interp, "shen.cons-case-minus", &[__t1608, __t1609, __t1610, __t1611])? + aot_shen_x2e_cons_x2d_case_x2d_minus(interp, &[__t1509, __t1510, __t1511, __t1512])? }); } else { { - let __t1573 = { - let __t1567 = { - let __t1560 = Value::sym(interp.intern("shen.+m")); - let __t1561 = v_V1667.clone(); - rt::eq(&__t1560, &__t1561) - }; - if !rt::is_truthy(interp, &__t1567)? { Value::bool(false) } else { let __t1568 = { let __t1565 = { let __t1562 = v_V1668.clone(); rt::is_cons(&__t1562) }; if !rt::is_truthy(interp, &__t1565)? { Value::bool(false) } else { let __t1566 = { let __t1564 = { let __t1563 = v_V1668.clone(); rt::hd(&__t1563)? }; rt::apply_direct(interp, "atom?", &[__t1564])? }; Value::bool(rt::is_truthy(interp, &__t1566)?) } }; Value::bool(rt::is_truthy(interp, &__t1568)?) } + let __t1480 = { + let __t1474 = Value::bool((v_V1667.clone()).as_sym() == Some(interp.intern_static("shen.+m"))); + if !rt::is_truthy(interp, &__t1474)? { Value::bool(false) } else { let __t1475 = { let __t1472 = { let __t1469 = v_V1668.clone(); rt::is_cons(&__t1469) }; if !rt::is_truthy(interp, &__t1472)? { Value::bool(false) } else { let __t1473 = { let __t1471 = { let __t1470 = v_V1668.clone(); rt::hd(&__t1470)? }; aot_atom_x3f_(interp, &[__t1471])? }; Value::bool(rt::is_truthy(interp, &__t1473)?) } }; Value::bool(rt::is_truthy(interp, &__t1475)?) } }; - if match rt::is_truthy(interp, &__t1573) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1569 = v_V1668.clone(); let __t1570 = v_V1669.clone(); let __t1571 = v_V1670.clone(); let __t1572 = v_V1671.clone(); rt::apply_direct(interp, "shen.atom-case-plus", &[__t1569, __t1570, __t1571, __t1572])? }); } else { { let __t1559 = { let __t1553 = { let __t1521 = Value::sym(interp.intern("shen.+m")); let __t1522 = v_V1667.clone(); rt::eq(&__t1521, &__t1522) }; if !rt::is_truthy(interp, &__t1553)? { Value::bool(false) } else { let __t1554 = { let __t1551 = { let __t1523 = v_V1668.clone(); rt::is_cons(&__t1523) }; if !rt::is_truthy(interp, &__t1551)? { Value::bool(false) } else { let __t1552 = { let __t1549 = { let __t1525 = { let __t1524 = v_V1668.clone(); rt::hd(&__t1524)? }; rt::is_cons(&__t1525) }; if !rt::is_truthy(interp, &__t1549)? { Value::bool(false) } else { let __t1550 = { let __t1547 = { let __t1526 = Value::sym(interp.intern("cons")); let __t1529 = { let __t1528 = { let __t1527 = v_V1668.clone(); rt::hd(&__t1527)? }; rt::hd(&__t1528)? }; rt::eq(&__t1526, &__t1529) }; if !rt::is_truthy(interp, &__t1547)? { Value::bool(false) } else { let __t1548 = { let __t1545 = { let __t1532 = { let __t1531 = { let __t1530 = v_V1668.clone(); rt::hd(&__t1530)? }; rt::tl(&__t1531)? }; rt::is_cons(&__t1532) }; if !rt::is_truthy(interp, &__t1545)? { Value::bool(false) } else { let __t1546 = { let __t1543 = { let __t1536 = { let __t1535 = { let __t1534 = { let __t1533 = v_V1668.clone(); rt::hd(&__t1533)? }; rt::tl(&__t1534)? }; rt::tl(&__t1535)? }; rt::is_cons(&__t1536) }; if !rt::is_truthy(interp, &__t1543)? { Value::bool(false) } else { let __t1544 = { let __t1537 = Value::nil(); let __t1542 = { let __t1541 = { let __t1540 = { let __t1539 = { let __t1538 = v_V1668.clone(); rt::hd(&__t1538)? }; rt::tl(&__t1539)? }; rt::tl(&__t1540)? }; rt::tl(&__t1541)? }; rt::eq(&__t1537, &__t1542) }; Value::bool(rt::is_truthy(interp, &__t1544)?) } }; Value::bool(rt::is_truthy(interp, &__t1546)?) } }; Value::bool(rt::is_truthy(interp, &__t1548)?) } }; Value::bool(rt::is_truthy(interp, &__t1550)?) } }; Value::bool(rt::is_truthy(interp, &__t1552)?) } }; Value::bool(rt::is_truthy(interp, &__t1554)?) } }; if match rt::is_truthy(interp, &__t1559) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1555 = v_V1668.clone(); let __t1556 = v_V1669.clone(); let __t1557 = v_V1670.clone(); let __t1558 = v_V1671.clone(); rt::apply_direct(interp, "shen.cons-case-plus", &[__t1555, __t1556, __t1557, __t1558])? }); } else { { let __t1520 = Value::bool(true); if match rt::is_truthy(interp, &__t1520) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1519 = Value::str("implementation error in shen.compile-head"); rt::apply_direct(interp, "simple-error", &[__t1519])? }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } + if match rt::is_truthy(interp, &__t1480) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1476 = v_V1668.clone(); let __t1477 = v_V1669.clone(); let __t1478 = v_V1670.clone(); let __t1479 = v_V1671.clone(); aot_shen_x2e_atom_x2d_case_x2d_plus(interp, &[__t1476, __t1477, __t1478, __t1479])? }); } else { { let __t1468 = { let __t1462 = Value::bool((v_V1667.clone()).as_sym() == Some(interp.intern_static("shen.+m"))); if !rt::is_truthy(interp, &__t1462)? { Value::bool(false) } else { let __t1463 = { let __t1460 = { let __t1436 = v_V1668.clone(); rt::is_cons(&__t1436) }; if !rt::is_truthy(interp, &__t1460)? { Value::bool(false) } else { let __t1461 = { let __t1458 = { let __t1438 = { let __t1437 = v_V1668.clone(); rt::hd(&__t1437)? }; rt::is_cons(&__t1438) }; if !rt::is_truthy(interp, &__t1458)? { Value::bool(false) } else { let __t1459 = { let __t1456 = Value::bool(({ let __t1440 = { let __t1439 = v_V1668.clone(); rt::hd(&__t1439)? }; rt::hd(&__t1440)? }).as_sym() == Some(interp.intern_static("cons"))); if !rt::is_truthy(interp, &__t1456)? { Value::bool(false) } else { let __t1457 = { let __t1454 = { let __t1443 = { let __t1442 = { let __t1441 = v_V1668.clone(); rt::hd(&__t1441)? }; rt::tl(&__t1442)? }; rt::is_cons(&__t1443) }; if !rt::is_truthy(interp, &__t1454)? { Value::bool(false) } else { let __t1455 = { let __t1452 = { let __t1447 = { let __t1446 = { let __t1445 = { let __t1444 = v_V1668.clone(); rt::hd(&__t1444)? }; rt::tl(&__t1445)? }; rt::tl(&__t1446)? }; rt::is_cons(&__t1447) }; if !rt::is_truthy(interp, &__t1452)? { Value::bool(false) } else { let __t1453 = Value::bool(({ let __t1451 = { let __t1450 = { let __t1449 = { let __t1448 = v_V1668.clone(); rt::hd(&__t1448)? }; rt::tl(&__t1449)? }; rt::tl(&__t1450)? }; rt::tl(&__t1451)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t1453)?) } }; Value::bool(rt::is_truthy(interp, &__t1455)?) } }; Value::bool(rt::is_truthy(interp, &__t1457)?) } }; Value::bool(rt::is_truthy(interp, &__t1459)?) } }; Value::bool(rt::is_truthy(interp, &__t1461)?) } }; Value::bool(rt::is_truthy(interp, &__t1463)?) } }; if match rt::is_truthy(interp, &__t1468) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1464 = v_V1668.clone(); let __t1465 = v_V1669.clone(); let __t1466 = v_V1670.clone(); let __t1467 = v_V1671.clone(); aot_shen_x2e_cons_x2d_case_x2d_plus(interp, &[__t1464, __t1465, __t1466, __t1467])? }); } else { { let __t1435 = Value::bool(true); if match rt::is_truthy(interp, &__t1435) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1434 = Value::str("implementation error in shen.compile-head"); rt::apply_direct(interp, "simple-error", &[__t1434])? }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } } } @@ -7963,119 +7713,117 @@ pub fn aot_shen_x2e_variable_x2d_case(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let __t1803 = { - let __t1769 = { - let __t1767 = v_V1683.clone(); - rt::is_cons(&__t1767) + let __t1686 = { + let __t1652 = { + let __t1650 = v_V1683.clone(); + rt::is_cons(&__t1650) }; - if !rt::is_truthy(interp, &__t1769)? { + if !rt::is_truthy(interp, &__t1652)? { Value::bool(false) } else { - let __t1770 = { - let __t1768 = v_V1684.clone(); - rt::is_cons(&__t1768) + let __t1653 = { + let __t1651 = v_V1684.clone(); + rt::is_cons(&__t1651) }; - Value::bool(rt::is_truthy(interp, &__t1770)?) + Value::bool(rt::is_truthy(interp, &__t1653)?) } }; - if match rt::is_truthy(interp, &__t1803) { + if match rt::is_truthy(interp, &__t1686) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1773 = { - let __t1772 = { - let __t1771 = v_V1684.clone(); - rt::hd(&__t1771)? + let __t1656 = { + let __t1655 = { + let __t1654 = v_V1684.clone(); + rt::hd(&__t1654)? }; - rt::apply_direct(interp, "variable?", &[__t1772])? + rt::apply_direct(interp, "variable?", &[__t1655])? }; - if match rt::is_truthy(interp, &__t1773) { + if match rt::is_truthy(interp, &__t1656) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1774 = v_V1682.clone(); - let __t1776 = { - let __t1775 = v_V1683.clone(); - rt::tl(&__t1775)? - }; - let __t1778 = { - let __t1777 = v_V1684.clone(); - rt::tl(&__t1777)? - }; - let __t1779 = v_V1685.clone(); - let __t1785 = { - let __t1781 = { - let __t1780 = v_V1684.clone(); - rt::hd(&__t1780)? + let __t1657 = v_V1682.clone(); + let __t1659 = { + let __t1658 = v_V1683.clone(); + rt::tl(&__t1658)? + }; + let __t1661 = { + let __t1660 = v_V1684.clone(); + rt::tl(&__t1660)? + }; + let __t1662 = v_V1685.clone(); + let __t1668 = { + let __t1664 = { + let __t1663 = v_V1684.clone(); + rt::hd(&__t1663)? }; - let __t1783 = { - let __t1782 = v_V1683.clone(); - rt::hd(&__t1782)? + let __t1666 = { + let __t1665 = v_V1683.clone(); + rt::hd(&__t1665)? }; - let __t1784 = v_V1686.clone(); - rt::apply_direct(interp, "subst", &[__t1781, __t1783, __t1784])? + let __t1667 = v_V1686.clone(); + rt::apply_direct(interp, "subst", &[__t1664, __t1666, __t1667])? }; - rt::apply_direct( + aot_shen_x2e_compile_x2d_head( interp, - "shen.compile-head", - &[__t1774, __t1776, __t1778, __t1779, __t1785], + &[__t1657, __t1659, __t1661, __t1662, __t1668], )? }); } else { break Ok({ - let __t1786 = Value::sym(interp.intern("let")); - let __t1802 = { - let __t1788 = { - let __t1787 = v_V1683.clone(); - rt::hd(&__t1787)? + let __t1669 = Value::sym(interp.intern_static("let")); + let __t1685 = { + let __t1671 = { + let __t1670 = v_V1683.clone(); + rt::hd(&__t1670)? }; - let __t1801 = { - let __t1790 = { - let __t1789 = v_V1684.clone(); - rt::hd(&__t1789)? + let __t1684 = { + let __t1673 = { + let __t1672 = v_V1684.clone(); + rt::hd(&__t1672)? }; - let __t1800 = { - let __t1798 = { - let __t1791 = v_V1682.clone(); - let __t1793 = { - let __t1792 = v_V1683.clone(); - rt::tl(&__t1792)? + let __t1683 = { + let __t1681 = { + let __t1674 = v_V1682.clone(); + let __t1676 = { + let __t1675 = v_V1683.clone(); + rt::tl(&__t1675)? }; - let __t1795 = { - let __t1794 = v_V1684.clone(); - rt::tl(&__t1794)? + let __t1678 = { + let __t1677 = v_V1684.clone(); + rt::tl(&__t1677)? }; - let __t1796 = v_V1685.clone(); - let __t1797 = v_V1686.clone(); - rt::apply_direct( + let __t1679 = v_V1685.clone(); + let __t1680 = v_V1686.clone(); + aot_shen_x2e_compile_x2d_head( interp, - "shen.compile-head", - &[__t1791, __t1793, __t1795, __t1796, __t1797], + &[__t1674, __t1676, __t1678, __t1679, __t1680], )? }; - let __t1799 = Value::nil(); - rt::cons(&__t1798, &__t1799) + let __t1682 = Value::nil(); + rt::cons(&__t1681, &__t1682) }; - rt::cons(&__t1790, &__t1800) + rt::cons(&__t1673, &__t1683) }; - rt::cons(&__t1788, &__t1801) + rt::cons(&__t1671, &__t1684) }; - rt::cons(&__t1786, &__t1802) + rt::cons(&__t1669, &__t1685) }); } } } else { { - let __t1766 = Value::bool(true); - if match rt::is_truthy(interp, &__t1766) { + let __t1649 = Value::bool(true); + if match rt::is_truthy(interp, &__t1649) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1765 = Value::str("implementation error in shen.variable-case"); - rt::apply_direct(interp, "simple-error", &[__t1765])? + let __t1648 = Value::str("implementation error in shen.variable-case"); + rt::apply_direct(interp, "simple-error", &[__t1648])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8113,126 +7861,126 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_minus( #[allow(clippy::never_loop)] loop { { - let __t1848 = { - let __t1808 = { - let __t1806 = v_V1695.clone(); - rt::is_cons(&__t1806) + let __t1731 = { + let __t1691 = { + let __t1689 = v_V1695.clone(); + rt::is_cons(&__t1689) }; - if !rt::is_truthy(interp, &__t1808)? { + if !rt::is_truthy(interp, &__t1691)? { Value::bool(false) } else { - let __t1809 = { - let __t1807 = v_V1696.clone(); - rt::is_cons(&__t1807) + let __t1692 = { + let __t1690 = v_V1696.clone(); + rt::is_cons(&__t1690) }; - Value::bool(rt::is_truthy(interp, &__t1809)?) + Value::bool(rt::is_truthy(interp, &__t1692)?) } }; - if match rt::is_truthy(interp, &__t1848) { + if match rt::is_truthy(interp, &__t1731) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1699 = { - let __t1810 = Value::sym(interp.intern("Tm")); - rt::apply_direct(interp, "gensym", &[__t1810])? + let __t1693 = Value::sym(interp.intern_static("Tm")); + rt::apply_direct(interp, "gensym", &[__t1693])? }; break Ok({ - let __t1811 = Value::sym(interp.intern("let")); - let __t1847 = { - let __t1812 = v_W1699.clone(); - let __t1846 = { - let __t1820 = { - let __t1813 = Value::sym(interp.intern("shen.lazyderef")); - let __t1819 = { - let __t1815 = { - let __t1814 = v_V1696.clone(); - rt::hd(&__t1814)? + let __t1694 = Value::sym(interp.intern_static("let")); + let __t1730 = { + let __t1695 = v_W1699.clone(); + let __t1729 = { + let __t1703 = { + let __t1696 = + Value::sym(interp.intern_static("shen.lazyderef")); + let __t1702 = { + let __t1698 = { + let __t1697 = v_V1696.clone(); + rt::hd(&__t1697)? }; - let __t1818 = { - let __t1816 = v_V1697.clone(); - let __t1817 = Value::nil(); - rt::cons(&__t1816, &__t1817) + let __t1701 = { + let __t1699 = v_V1697.clone(); + let __t1700 = Value::nil(); + rt::cons(&__t1699, &__t1700) }; - rt::cons(&__t1815, &__t1818) + rt::cons(&__t1698, &__t1701) }; - rt::cons(&__t1813, &__t1819) + rt::cons(&__t1696, &__t1702) }; - let __t1845 = { - let __t1843 = { - let __t1821 = Value::sym(interp.intern("if")); - let __t1842 = { - let __t1829 = { - let __t1822 = Value::sym(interp.intern("=")); - let __t1828 = { - let __t1823 = v_W1699.clone(); - let __t1827 = { - let __t1825 = { - let __t1824 = v_V1695.clone(); - rt::hd(&__t1824)? + let __t1728 = { + let __t1726 = { + let __t1704 = Value::sym(interp.intern_static("if")); + let __t1725 = { + let __t1712 = { + let __t1705 = Value::sym(interp.intern_static("=")); + let __t1711 = { + let __t1706 = v_W1699.clone(); + let __t1710 = { + let __t1708 = { + let __t1707 = v_V1695.clone(); + rt::hd(&__t1707)? }; - let __t1826 = Value::nil(); - rt::cons(&__t1825, &__t1826) + let __t1709 = Value::nil(); + rt::cons(&__t1708, &__t1709) }; - rt::cons(&__t1823, &__t1827) + rt::cons(&__t1706, &__t1710) }; - rt::cons(&__t1822, &__t1828) + rt::cons(&__t1705, &__t1711) }; - let __t1841 = { - let __t1837 = { - let __t1830 = - Value::sym(interp.intern("shen.-m")); - let __t1832 = { - let __t1831 = v_V1695.clone(); - rt::tl(&__t1831)? + let __t1724 = { + let __t1720 = { + let __t1713 = + Value::sym(interp.intern_static("shen.-m")); + let __t1715 = { + let __t1714 = v_V1695.clone(); + rt::tl(&__t1714)? }; - let __t1834 = { - let __t1833 = v_V1696.clone(); - rt::tl(&__t1833)? + let __t1717 = { + let __t1716 = v_V1696.clone(); + rt::tl(&__t1716)? }; - let __t1835 = v_V1697.clone(); - let __t1836 = v_V1698.clone(); - rt::apply_direct( + let __t1718 = v_V1697.clone(); + let __t1719 = v_V1698.clone(); + aot_shen_x2e_compile_x2d_head( interp, - "shen.compile-head", &[ - __t1830, __t1832, __t1834, __t1835, - __t1836, + __t1713, __t1715, __t1717, __t1718, + __t1719, ], )? }; - let __t1840 = { - let __t1838 = Value::bool(false); - let __t1839 = Value::nil(); - rt::cons(&__t1838, &__t1839) + let __t1723 = { + let __t1721 = Value::bool(false); + let __t1722 = Value::nil(); + rt::cons(&__t1721, &__t1722) }; - rt::cons(&__t1837, &__t1840) + rt::cons(&__t1720, &__t1723) }; - rt::cons(&__t1829, &__t1841) + rt::cons(&__t1712, &__t1724) }; - rt::cons(&__t1821, &__t1842) + rt::cons(&__t1704, &__t1725) }; - let __t1844 = Value::nil(); - rt::cons(&__t1843, &__t1844) + let __t1727 = Value::nil(); + rt::cons(&__t1726, &__t1727) }; - rt::cons(&__t1820, &__t1845) + rt::cons(&__t1703, &__t1728) }; - rt::cons(&__t1812, &__t1846) + rt::cons(&__t1695, &__t1729) }; - rt::cons(&__t1811, &__t1847) + rt::cons(&__t1694, &__t1730) }); } } else { { - let __t1805 = Value::bool(true); - if match rt::is_truthy(interp, &__t1805) { + let __t1688 = Value::bool(true); + if match rt::is_truthy(interp, &__t1688) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1804 = + let __t1687 = Value::str("implementation error in shen.atom-case-minus"); - rt::apply_direct(interp, "simple-error", &[__t1804])? + rt::apply_direct(interp, "simple-error", &[__t1687])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8274,271 +8022,273 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_minus( #[allow(clippy::never_loop)] loop { { - let __t1942 = { - let __t1882 = { - let __t1851 = v_V1708.clone(); - rt::is_cons(&__t1851) + let __t1821 = { + let __t1761 = { + let __t1734 = v_V1708.clone(); + rt::is_cons(&__t1734) }; - if !rt::is_truthy(interp, &__t1882)? { + if !rt::is_truthy(interp, &__t1761)? { Value::bool(false) } else { - let __t1883 = { - let __t1880 = { - let __t1853 = { - let __t1852 = v_V1708.clone(); - rt::hd(&__t1852)? + let __t1762 = { + let __t1759 = { + let __t1736 = { + let __t1735 = v_V1708.clone(); + rt::hd(&__t1735)? }; - rt::is_cons(&__t1853) + rt::is_cons(&__t1736) }; - if !rt::is_truthy(interp, &__t1880)? { + if !rt::is_truthy(interp, &__t1759)? { Value::bool(false) } else { - let __t1881 = { - let __t1878 = { - let __t1854 = Value::sym(interp.intern("cons")); - let __t1857 = { - let __t1856 = { - let __t1855 = v_V1708.clone(); - rt::hd(&__t1855)? + let __t1760 = { + let __t1757 = Value::bool( + ({ + let __t1738 = { + let __t1737 = v_V1708.clone(); + rt::hd(&__t1737)? }; - rt::hd(&__t1856)? - }; - rt::eq(&__t1854, &__t1857) - }; - if !rt::is_truthy(interp, &__t1878)? { + rt::hd(&__t1738)? + }) + .as_sym() + == Some(interp.intern_static("cons")), + ); + if !rt::is_truthy(interp, &__t1757)? { Value::bool(false) } else { - let __t1879 = { - let __t1876 = { - let __t1860 = { - let __t1859 = { - let __t1858 = v_V1708.clone(); - rt::hd(&__t1858)? + let __t1758 = { + let __t1755 = { + let __t1741 = { + let __t1740 = { + let __t1739 = v_V1708.clone(); + rt::hd(&__t1739)? }; - rt::tl(&__t1859)? + rt::tl(&__t1740)? }; - rt::is_cons(&__t1860) + rt::is_cons(&__t1741) }; - if !rt::is_truthy(interp, &__t1876)? { + if !rt::is_truthy(interp, &__t1755)? { Value::bool(false) } else { - let __t1877 = { - let __t1874 = { - let __t1864 = { - let __t1863 = { - let __t1862 = { - let __t1861 = v_V1708.clone(); - rt::hd(&__t1861)? + let __t1756 = { + let __t1753 = { + let __t1745 = { + let __t1744 = { + let __t1743 = { + let __t1742 = v_V1708.clone(); + rt::hd(&__t1742)? }; - rt::tl(&__t1862)? + rt::tl(&__t1743)? }; - rt::tl(&__t1863)? + rt::tl(&__t1744)? }; - rt::is_cons(&__t1864) + rt::is_cons(&__t1745) }; - if !rt::is_truthy(interp, &__t1874)? { + if !rt::is_truthy(interp, &__t1753)? { Value::bool(false) } else { - let __t1875 = { - let __t1872 = { - let __t1865 = Value::nil(); - let __t1870 = { - let __t1869 = { - let __t1868 = { - let __t1867 = { - let __t1866 = + let __t1754 = { + let __t1751 = Value::bool( + ({ + let __t1749 = { + let __t1748 = { + let __t1747 = { + let __t1746 = v_V1708.clone(); - rt::hd(&__t1866)? + rt::hd(&__t1746)? }; - rt::tl(&__t1867)? + rt::tl(&__t1747)? }; - rt::tl(&__t1868)? + rt::tl(&__t1748)? }; - rt::tl(&__t1869)? - }; - rt::eq(&__t1865, &__t1870) - }; - if !rt::is_truthy(interp, &__t1872)? { + rt::tl(&__t1749)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1751)? { Value::bool(false) } else { - let __t1873 = { - let __t1871 = v_V1709.clone(); - rt::is_cons(&__t1871) + let __t1752 = { + let __t1750 = v_V1709.clone(); + rt::is_cons(&__t1750) }; Value::bool(rt::is_truthy( - interp, &__t1873, + interp, &__t1752, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1875)?) + Value::bool(rt::is_truthy(interp, &__t1754)?) } }; - Value::bool(rt::is_truthy(interp, &__t1877)?) + Value::bool(rt::is_truthy(interp, &__t1756)?) } }; - Value::bool(rt::is_truthy(interp, &__t1879)?) + Value::bool(rt::is_truthy(interp, &__t1758)?) } }; - Value::bool(rt::is_truthy(interp, &__t1881)?) + Value::bool(rt::is_truthy(interp, &__t1760)?) } }; - Value::bool(rt::is_truthy(interp, &__t1883)?) + Value::bool(rt::is_truthy(interp, &__t1762)?) } }; - if match rt::is_truthy(interp, &__t1942) { + if match rt::is_truthy(interp, &__t1821) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1712 = { - let __t1884 = Value::sym(interp.intern("Tm")); - rt::apply_direct(interp, "gensym", &[__t1884])? + let __t1763 = Value::sym(interp.intern_static("Tm")); + rt::apply_direct(interp, "gensym", &[__t1763])? }; break Ok({ - let __t1885 = Value::sym(interp.intern("let")); - let __t1941 = { - let __t1886 = v_W1712.clone(); - let __t1940 = { - let __t1894 = { - let __t1887 = Value::sym(interp.intern("shen.lazyderef")); - let __t1893 = { - let __t1889 = { - let __t1888 = v_V1709.clone(); - rt::hd(&__t1888)? + let __t1764 = Value::sym(interp.intern_static("let")); + let __t1820 = { + let __t1765 = v_W1712.clone(); + let __t1819 = { + let __t1773 = { + let __t1766 = + Value::sym(interp.intern_static("shen.lazyderef")); + let __t1772 = { + let __t1768 = { + let __t1767 = v_V1709.clone(); + rt::hd(&__t1767)? }; - let __t1892 = { - let __t1890 = v_V1710.clone(); - let __t1891 = Value::nil(); - rt::cons(&__t1890, &__t1891) + let __t1771 = { + let __t1769 = v_V1710.clone(); + let __t1770 = Value::nil(); + rt::cons(&__t1769, &__t1770) }; - rt::cons(&__t1889, &__t1892) + rt::cons(&__t1768, &__t1771) }; - rt::cons(&__t1887, &__t1893) + rt::cons(&__t1766, &__t1772) }; - let __t1939 = { - let __t1937 = { - let __t1895 = Value::sym(interp.intern("if")); - let __t1936 = { - let __t1900 = { - let __t1896 = Value::sym(interp.intern("cons?")); - let __t1899 = { - let __t1897 = v_W1712.clone(); - let __t1898 = Value::nil(); - rt::cons(&__t1897, &__t1898) + let __t1818 = { + let __t1816 = { + let __t1774 = Value::sym(interp.intern_static("if")); + let __t1815 = { + let __t1779 = { + let __t1775 = + Value::sym(interp.intern_static("cons?")); + let __t1778 = { + let __t1776 = v_W1712.clone(); + let __t1777 = Value::nil(); + rt::cons(&__t1776, &__t1777) }; - rt::cons(&__t1896, &__t1899) + rt::cons(&__t1775, &__t1778) }; - let __t1935 = { - let __t1931 = { - let __t1901 = - Value::sym(interp.intern("shen.-m")); - let __t1914 = { - let __t1905 = { - let __t1904 = { - let __t1903 = { - let __t1902 = v_V1708.clone(); - rt::hd(&__t1902)? + let __t1814 = { + let __t1810 = { + let __t1780 = + Value::sym(interp.intern_static("shen.-m")); + let __t1793 = { + let __t1784 = { + let __t1783 = { + let __t1782 = { + let __t1781 = v_V1708.clone(); + rt::hd(&__t1781)? }; - rt::tl(&__t1903)? + rt::tl(&__t1782)? }; - rt::hd(&__t1904)? + rt::hd(&__t1783)? }; - let __t1913 = { - let __t1910 = { - let __t1909 = { - let __t1908 = { - let __t1907 = { - let __t1906 = + let __t1792 = { + let __t1789 = { + let __t1788 = { + let __t1787 = { + let __t1786 = { + let __t1785 = v_V1708.clone(); - rt::hd(&__t1906)? + rt::hd(&__t1785)? }; - rt::tl(&__t1907)? + rt::tl(&__t1786)? }; - rt::tl(&__t1908)? + rt::tl(&__t1787)? }; - rt::hd(&__t1909)? + rt::hd(&__t1788)? }; - let __t1912 = { - let __t1911 = v_V1708.clone(); - rt::tl(&__t1911)? + let __t1791 = { + let __t1790 = v_V1708.clone(); + rt::tl(&__t1790)? }; - rt::cons(&__t1910, &__t1912) + rt::cons(&__t1789, &__t1791) }; - rt::cons(&__t1905, &__t1913) + rt::cons(&__t1784, &__t1792) }; - let __t1928 = { - let __t1919 = { - let __t1915 = - Value::sym(interp.intern("hd")); - let __t1918 = { - let __t1916 = v_W1712.clone(); - let __t1917 = Value::nil(); - rt::cons(&__t1916, &__t1917) + let __t1807 = { + let __t1798 = { + let __t1794 = Value::sym( + interp.intern_static("hd"), + ); + let __t1797 = { + let __t1795 = v_W1712.clone(); + let __t1796 = Value::nil(); + rt::cons(&__t1795, &__t1796) }; - rt::cons(&__t1915, &__t1918) + rt::cons(&__t1794, &__t1797) }; - let __t1927 = { - let __t1924 = { - let __t1920 = - Value::sym(interp.intern("tl")); - let __t1923 = { - let __t1921 = v_W1712.clone(); - let __t1922 = Value::nil(); - rt::cons(&__t1921, &__t1922) + let __t1806 = { + let __t1803 = { + let __t1799 = Value::sym( + interp.intern_static("tl"), + ); + let __t1802 = { + let __t1800 = v_W1712.clone(); + let __t1801 = Value::nil(); + rt::cons(&__t1800, &__t1801) }; - rt::cons(&__t1920, &__t1923) + rt::cons(&__t1799, &__t1802) }; - let __t1926 = { - let __t1925 = v_V1709.clone(); - rt::tl(&__t1925)? + let __t1805 = { + let __t1804 = v_V1709.clone(); + rt::tl(&__t1804)? }; - rt::cons(&__t1924, &__t1926) + rt::cons(&__t1803, &__t1805) }; - rt::cons(&__t1919, &__t1927) + rt::cons(&__t1798, &__t1806) }; - let __t1929 = v_V1710.clone(); - let __t1930 = v_V1711.clone(); - rt::apply_direct( + let __t1808 = v_V1710.clone(); + let __t1809 = v_V1711.clone(); + aot_shen_x2e_compile_x2d_head( interp, - "shen.compile-head", &[ - __t1901, __t1914, __t1928, __t1929, - __t1930, + __t1780, __t1793, __t1807, __t1808, + __t1809, ], )? }; - let __t1934 = { - let __t1932 = Value::bool(false); - let __t1933 = Value::nil(); - rt::cons(&__t1932, &__t1933) + let __t1813 = { + let __t1811 = Value::bool(false); + let __t1812 = Value::nil(); + rt::cons(&__t1811, &__t1812) }; - rt::cons(&__t1931, &__t1934) + rt::cons(&__t1810, &__t1813) }; - rt::cons(&__t1900, &__t1935) + rt::cons(&__t1779, &__t1814) }; - rt::cons(&__t1895, &__t1936) + rt::cons(&__t1774, &__t1815) }; - let __t1938 = Value::nil(); - rt::cons(&__t1937, &__t1938) + let __t1817 = Value::nil(); + rt::cons(&__t1816, &__t1817) }; - rt::cons(&__t1894, &__t1939) + rt::cons(&__t1773, &__t1818) }; - rt::cons(&__t1886, &__t1940) + rt::cons(&__t1765, &__t1819) }; - rt::cons(&__t1885, &__t1941) + rt::cons(&__t1764, &__t1820) }); } } else { { - let __t1850 = Value::bool(true); - if match rt::is_truthy(interp, &__t1850) { + let __t1733 = Value::bool(true); + if match rt::is_truthy(interp, &__t1733) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1849 = + let __t1732 = Value::str("implementation error in shen.cons-case-minus"); - rt::apply_direct(interp, "simple-error", &[__t1849])? + rt::apply_direct(interp, "simple-error", &[__t1732])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8580,236 +8330,240 @@ pub fn aot_shen_x2e_atom_x2d_case_x2d_plus( #[allow(clippy::never_loop)] loop { { - let __t2024 = { - let __t1947 = { - let __t1945 = v_V1721.clone(); - rt::is_cons(&__t1945) + let __t1903 = { + let __t1826 = { + let __t1824 = v_V1721.clone(); + rt::is_cons(&__t1824) }; - if !rt::is_truthy(interp, &__t1947)? { + if !rt::is_truthy(interp, &__t1826)? { Value::bool(false) } else { - let __t1948 = { - let __t1946 = v_V1722.clone(); - rt::is_cons(&__t1946) + let __t1827 = { + let __t1825 = v_V1722.clone(); + rt::is_cons(&__t1825) }; - Value::bool(rt::is_truthy(interp, &__t1948)?) + Value::bool(rt::is_truthy(interp, &__t1827)?) } }; - if match rt::is_truthy(interp, &__t2024) { + if match rt::is_truthy(interp, &__t1903) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1725 = { - let __t1949 = Value::sym(interp.intern("Tm")); - rt::apply_direct(interp, "gensym", &[__t1949])? + let __t1828 = Value::sym(interp.intern_static("Tm")); + rt::apply_direct(interp, "gensym", &[__t1828])? }; { let v_W1726 = { - let __t1950 = Value::sym(interp.intern("GoTo")); - rt::apply_direct(interp, "gensym", &[__t1950])? + let __t1829 = Value::sym(interp.intern_static("GoTo")); + rt::apply_direct(interp, "gensym", &[__t1829])? }; break Ok({ - let __t1951 = Value::sym(interp.intern("let")); - let __t2023 = { - let __t1952 = v_W1725.clone(); - let __t2022 = { - let __t1960 = { - let __t1953 = Value::sym(interp.intern("shen.lazyderef")); - let __t1959 = { - let __t1955 = { - let __t1954 = v_V1722.clone(); - rt::hd(&__t1954)? + let __t1830 = Value::sym(interp.intern_static("let")); + let __t1902 = { + let __t1831 = v_W1725.clone(); + let __t1901 = { + let __t1839 = { + let __t1832 = + Value::sym(interp.intern_static("shen.lazyderef")); + let __t1838 = { + let __t1834 = { + let __t1833 = v_V1722.clone(); + rt::hd(&__t1833)? }; - let __t1958 = { - let __t1956 = v_V1723.clone(); - let __t1957 = Value::nil(); - rt::cons(&__t1956, &__t1957) + let __t1837 = { + let __t1835 = v_V1723.clone(); + let __t1836 = Value::nil(); + rt::cons(&__t1835, &__t1836) }; - rt::cons(&__t1955, &__t1958) + rt::cons(&__t1834, &__t1837) }; - rt::cons(&__t1953, &__t1959) + rt::cons(&__t1832, &__t1838) }; - let __t2021 = { - let __t1961 = v_W1726.clone(); - let __t2020 = { - let __t1973 = { - let __t1962 = Value::sym(interp.intern("freeze")); - let __t1972 = { - let __t1970 = { - let __t1963 = - Value::sym(interp.intern("shen.+m")); - let __t1965 = { - let __t1964 = v_V1721.clone(); - rt::tl(&__t1964)? + let __t1900 = { + let __t1840 = v_W1726.clone(); + let __t1899 = { + let __t1852 = { + let __t1841 = + Value::sym(interp.intern_static("freeze")); + let __t1851 = { + let __t1849 = { + let __t1842 = Value::sym( + interp.intern_static("shen.+m"), + ); + let __t1844 = { + let __t1843 = v_V1721.clone(); + rt::tl(&__t1843)? }; - let __t1967 = { - let __t1966 = v_V1722.clone(); - rt::tl(&__t1966)? + let __t1846 = { + let __t1845 = v_V1722.clone(); + rt::tl(&__t1845)? }; - let __t1968 = v_V1723.clone(); - let __t1969 = v_V1724.clone(); - rt::apply_direct( + let __t1847 = v_V1723.clone(); + let __t1848 = v_V1724.clone(); + aot_shen_x2e_compile_x2d_head( interp, - "shen.compile-head", &[ - __t1963, __t1965, __t1967, __t1968, - __t1969, + __t1842, __t1844, __t1846, __t1847, + __t1848, ], )? }; - let __t1971 = Value::nil(); - rt::cons(&__t1970, &__t1971) + let __t1850 = Value::nil(); + rt::cons(&__t1849, &__t1850) }; - rt::cons(&__t1962, &__t1972) + rt::cons(&__t1841, &__t1851) }; - let __t2019 = { - let __t2017 = { - let __t1974 = Value::sym(interp.intern("if")); - let __t2016 = { - let __t1982 = { - let __t1975 = - Value::sym(interp.intern("=")); - let __t1981 = { - let __t1976 = v_W1725.clone(); - let __t1980 = { - let __t1978 = { - let __t1977 = + let __t1898 = { + let __t1896 = { + let __t1853 = + Value::sym(interp.intern_static("if")); + let __t1895 = { + let __t1861 = { + let __t1854 = Value::sym( + interp.intern_static("="), + ); + let __t1860 = { + let __t1855 = v_W1725.clone(); + let __t1859 = { + let __t1857 = { + let __t1856 = v_V1721.clone(); - rt::hd(&__t1977)? + rt::hd(&__t1856)? }; - let __t1979 = Value::nil(); - rt::cons(&__t1978, &__t1979) + let __t1858 = Value::nil(); + rt::cons(&__t1857, &__t1858) }; - rt::cons(&__t1976, &__t1980) + rt::cons(&__t1855, &__t1859) }; - rt::cons(&__t1975, &__t1981) + rt::cons(&__t1854, &__t1860) }; - let __t2015 = { - let __t1987 = { - let __t1983 = Value::sym( - interp.intern("thaw"), + let __t1894 = { + let __t1866 = { + let __t1862 = Value::sym( + interp.intern_static("thaw"), ); - let __t1986 = { - let __t1984 = v_W1726.clone(); - let __t1985 = Value::nil(); - rt::cons(&__t1984, &__t1985) + let __t1865 = { + let __t1863 = v_W1726.clone(); + let __t1864 = Value::nil(); + rt::cons(&__t1863, &__t1864) }; - rt::cons(&__t1983, &__t1986) + rt::cons(&__t1862, &__t1865) }; - let __t2014 = { - let __t2012 = { - let __t1988 = Value::sym( - interp.intern("if"), + let __t1893 = { + let __t1891 = { + let __t1867 = Value::sym( + interp.intern_static("if"), ); - let __t2011 = { - let __t1993 = { - let __t1989 = Value::sym(interp.intern("shen.pvar?")); - let __t1992 = { - let __t1990 = + let __t1890 = { + let __t1872 = { + let __t1868 = Value::sym(interp.intern_static("shen.pvar?")); + let __t1871 = { + let __t1869 = v_W1725.clone(); - let __t1991 = + let __t1870 = Value::nil(); rt::cons( - &__t1990, - &__t1991, + &__t1869, + &__t1870, ) }; rt::cons( - &__t1989, &__t1992, + &__t1868, &__t1871, ) }; - let __t2010 = { - let __t2006 = { - let __t1994 = Value::sym(interp.intern("shen.bind!")); - let __t2005 = { - let __t1995 = + let __t1889 = { + let __t1885 = { + let __t1873 = Value::sym(interp.intern_static("shen.bind!")); + let __t1884 = { + let __t1874 = v_W1725 .clone( ); - let __t2004 = { - let __t1998 = { - let __t1997 = { - let __t1996 = v_V1721.clone(); - rt::hd(&__t1996)? + let __t1883 = { + let __t1877 = { + let __t1876 = { + let __t1875 = v_V1721.clone(); + rt::hd(&__t1875)? }; - rt::apply_direct(interp, "shen.demode", &[__t1997])? + aot_shen_x2e_demode(interp, &[__t1876])? }; - let __t2003 = { - let __t1999 = v_V1723.clone(); - let __t2002 = { - let __t2000 = v_W1726.clone(); - let __t2001 = Value::nil(); - rt::cons(&__t2000, &__t2001) + let __t1882 = { + let __t1878 = v_V1723.clone(); + let __t1881 = { + let __t1879 = v_W1726.clone(); + let __t1880 = Value::nil(); + rt::cons(&__t1879, &__t1880) }; - rt::cons(&__t1999, &__t2002) + rt::cons(&__t1878, &__t1881) }; - rt::cons(&__t1998, &__t2003) + rt::cons(&__t1877, &__t1882) }; rt::cons( - &__t1995, - &__t2004, + &__t1874, + &__t1883, ) }; rt::cons( - &__t1994, - &__t2005, + &__t1873, + &__t1884, ) }; - let __t2009 = { - let __t2007 = + let __t1888 = { + let __t1886 = Value::bool( false, ); - let __t2008 = + let __t1887 = Value::nil(); rt::cons( - &__t2007, - &__t2008, + &__t1886, + &__t1887, ) }; rt::cons( - &__t2006, &__t2009, + &__t1885, &__t1888, ) }; - rt::cons(&__t1993, &__t2010) + rt::cons(&__t1872, &__t1889) }; - rt::cons(&__t1988, &__t2011) + rt::cons(&__t1867, &__t1890) }; - let __t2013 = Value::nil(); - rt::cons(&__t2012, &__t2013) + let __t1892 = Value::nil(); + rt::cons(&__t1891, &__t1892) }; - rt::cons(&__t1987, &__t2014) + rt::cons(&__t1866, &__t1893) }; - rt::cons(&__t1982, &__t2015) + rt::cons(&__t1861, &__t1894) }; - rt::cons(&__t1974, &__t2016) + rt::cons(&__t1853, &__t1895) }; - let __t2018 = Value::nil(); - rt::cons(&__t2017, &__t2018) + let __t1897 = Value::nil(); + rt::cons(&__t1896, &__t1897) }; - rt::cons(&__t1973, &__t2019) + rt::cons(&__t1852, &__t1898) }; - rt::cons(&__t1961, &__t2020) + rt::cons(&__t1840, &__t1899) }; - rt::cons(&__t1960, &__t2021) + rt::cons(&__t1839, &__t1900) }; - rt::cons(&__t1952, &__t2022) + rt::cons(&__t1831, &__t1901) }; - rt::cons(&__t1951, &__t2023) + rt::cons(&__t1830, &__t1902) }); } } } else { { - let __t1944 = Value::bool(true); - if match rt::is_truthy(interp, &__t1944) { + let __t1823 = Value::bool(true); + if match rt::is_truthy(interp, &__t1823) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1943 = Value::str("implementation error in shen.atom-case-plus"); - rt::apply_direct(interp, "simple-error", &[__t1943])? + let __t1822 = Value::str("implementation error in shen.atom-case-plus"); + rt::apply_direct(interp, "simple-error", &[__t1822])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8851,405 +8605,384 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( #[allow(clippy::never_loop)] loop { { - let __t2168 = { - let __t2058 = { - let __t2027 = v_V1735.clone(); - rt::is_cons(&__t2027) + let __t2043 = { + let __t1933 = { + let __t1906 = v_V1735.clone(); + rt::is_cons(&__t1906) }; - if !rt::is_truthy(interp, &__t2058)? { + if !rt::is_truthy(interp, &__t1933)? { Value::bool(false) } else { - let __t2059 = { - let __t2056 = { - let __t2029 = { - let __t2028 = v_V1735.clone(); - rt::hd(&__t2028)? + let __t1934 = { + let __t1931 = { + let __t1908 = { + let __t1907 = v_V1735.clone(); + rt::hd(&__t1907)? }; - rt::is_cons(&__t2029) + rt::is_cons(&__t1908) }; - if !rt::is_truthy(interp, &__t2056)? { + if !rt::is_truthy(interp, &__t1931)? { Value::bool(false) } else { - let __t2057 = { - let __t2054 = { - let __t2030 = Value::sym(interp.intern("cons")); - let __t2033 = { - let __t2032 = { - let __t2031 = v_V1735.clone(); - rt::hd(&__t2031)? + let __t1932 = { + let __t1929 = Value::bool( + ({ + let __t1910 = { + let __t1909 = v_V1735.clone(); + rt::hd(&__t1909)? }; - rt::hd(&__t2032)? - }; - rt::eq(&__t2030, &__t2033) - }; - if !rt::is_truthy(interp, &__t2054)? { + rt::hd(&__t1910)? + }) + .as_sym() + == Some(interp.intern_static("cons")), + ); + if !rt::is_truthy(interp, &__t1929)? { Value::bool(false) } else { - let __t2055 = { - let __t2052 = { - let __t2036 = { - let __t2035 = { - let __t2034 = v_V1735.clone(); - rt::hd(&__t2034)? + let __t1930 = { + let __t1927 = { + let __t1913 = { + let __t1912 = { + let __t1911 = v_V1735.clone(); + rt::hd(&__t1911)? }; - rt::tl(&__t2035)? + rt::tl(&__t1912)? }; - rt::is_cons(&__t2036) + rt::is_cons(&__t1913) }; - if !rt::is_truthy(interp, &__t2052)? { + if !rt::is_truthy(interp, &__t1927)? { Value::bool(false) } else { - let __t2053 = { - let __t2050 = { - let __t2040 = { - let __t2039 = { - let __t2038 = { - let __t2037 = v_V1735.clone(); - rt::hd(&__t2037)? + let __t1928 = { + let __t1925 = { + let __t1917 = { + let __t1916 = { + let __t1915 = { + let __t1914 = v_V1735.clone(); + rt::hd(&__t1914)? }; - rt::tl(&__t2038)? + rt::tl(&__t1915)? }; - rt::tl(&__t2039)? + rt::tl(&__t1916)? }; - rt::is_cons(&__t2040) + rt::is_cons(&__t1917) }; - if !rt::is_truthy(interp, &__t2050)? { + if !rt::is_truthy(interp, &__t1925)? { Value::bool(false) } else { - let __t2051 = { - let __t2048 = { - let __t2041 = Value::nil(); - let __t2046 = { - let __t2045 = { - let __t2044 = { - let __t2043 = { - let __t2042 = + let __t1926 = { + let __t1923 = Value::bool( + ({ + let __t1921 = { + let __t1920 = { + let __t1919 = { + let __t1918 = v_V1735.clone(); - rt::hd(&__t2042)? + rt::hd(&__t1918)? }; - rt::tl(&__t2043)? + rt::tl(&__t1919)? }; - rt::tl(&__t2044)? + rt::tl(&__t1920)? }; - rt::tl(&__t2045)? - }; - rt::eq(&__t2041, &__t2046) - }; - if !rt::is_truthy(interp, &__t2048)? { + rt::tl(&__t1921)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1923)? { Value::bool(false) } else { - let __t2049 = { - let __t2047 = v_V1736.clone(); - rt::is_cons(&__t2047) + let __t1924 = { + let __t1922 = v_V1736.clone(); + rt::is_cons(&__t1922) }; Value::bool(rt::is_truthy( - interp, &__t2049, + interp, &__t1924, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2051)?) + Value::bool(rt::is_truthy(interp, &__t1926)?) } }; - Value::bool(rt::is_truthy(interp, &__t2053)?) + Value::bool(rt::is_truthy(interp, &__t1928)?) } }; - Value::bool(rt::is_truthy(interp, &__t2055)?) + Value::bool(rt::is_truthy(interp, &__t1930)?) } }; - Value::bool(rt::is_truthy(interp, &__t2057)?) + Value::bool(rt::is_truthy(interp, &__t1932)?) } }; - Value::bool(rt::is_truthy(interp, &__t2059)?) + Value::bool(rt::is_truthy(interp, &__t1934)?) } }; - if match rt::is_truthy(interp, &__t2168) { + if match rt::is_truthy(interp, &__t2043) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1739 = { - let __t2060 = Value::sym(interp.intern("Tm")); - rt::apply_direct(interp, "gensym", &[__t2060])? + let __t1935 = Value::sym(interp.intern_static("Tm")); + rt::apply_direct(interp, "gensym", &[__t1935])? }; { let v_W1740 = { - let __t2061 = Value::sym(interp.intern("GoTo")); - rt::apply_direct(interp, "gensym", &[__t2061])? + let __t1936 = Value::sym(interp.intern_static("GoTo")); + rt::apply_direct(interp, "gensym", &[__t1936])? }; { let v_W1741 = { - let __t2071 = { - let __t2065 = { - let __t2064 = { - let __t2063 = { - let __t2062 = v_V1735.clone(); - rt::hd(&__t2062)? + let __t1946 = { + let __t1940 = { + let __t1939 = { + let __t1938 = { + let __t1937 = v_V1735.clone(); + rt::hd(&__t1937)? }; - rt::tl(&__t2063)? + rt::tl(&__t1938)? }; - rt::hd(&__t2064)? + rt::hd(&__t1939)? }; - let __t2070 = { - let __t2069 = { - let __t2068 = { - let __t2067 = { - let __t2066 = v_V1735.clone(); - rt::hd(&__t2066)? + let __t1945 = { + let __t1944 = { + let __t1943 = { + let __t1942 = { + let __t1941 = v_V1735.clone(); + rt::hd(&__t1941)? }; - rt::tl(&__t2067)? + rt::tl(&__t1942)? }; - rt::tl(&__t2068)? + rt::tl(&__t1943)? }; - rt::hd(&__t2069)? + rt::hd(&__t1944)? }; - rt::cons(&__t2065, &__t2070) + rt::cons(&__t1940, &__t1945) }; - rt::apply_direct(interp, "shen.extract-vars", &[__t2071])? + rt::apply_direct(interp, "shen.extract-vars", &[__t1946])? }; { let v_W1742 = { - let __t2073 = { - let __t2072 = v_V1735.clone(); - rt::hd(&__t2072)? + let __t1948 = { + let __t1947 = v_V1735.clone(); + rt::hd(&__t1947)? }; - rt::apply_direct(interp, "shen.tame", &[__t2073])? + aot_shen_x2e_tame(interp, &[__t1948])? }; { let v_W1743 = { - let __t2074 = v_W1742.clone(); - rt::apply_direct(interp, "shen.extract-vars", &[__t2074])? + let __t1949 = v_W1742.clone(); + rt::apply_direct(interp, "shen.extract-vars", &[__t1949])? }; break Ok({ - let __t2075 = Value::sym(interp.intern("let")); - let __t2167 = { - let __t2076 = v_W1739.clone(); - let __t2166 = { - let __t2084 = { - let __t2077 = - Value::sym(interp.intern("shen.lazyderef")); - let __t2083 = { - let __t2079 = { - let __t2078 = v_V1736.clone(); - rt::hd(&__t2078)? + let __t1950 = Value::sym(interp.intern_static("let")); + let __t2042 = { + let __t1951 = v_W1739.clone(); + let __t2041 = { + let __t1959 = { + let __t1952 = Value::sym( + interp.intern_static("shen.lazyderef"), + ); + let __t1958 = { + let __t1954 = { + let __t1953 = v_V1736.clone(); + rt::hd(&__t1953)? }; - let __t2082 = { - let __t2080 = v_V1737.clone(); - let __t2081 = Value::nil(); - rt::cons(&__t2080, &__t2081) + let __t1957 = { + let __t1955 = v_V1737.clone(); + let __t1956 = Value::nil(); + rt::cons(&__t1955, &__t1956) }; - rt::cons(&__t2079, &__t2082) + rt::cons(&__t1954, &__t1957) }; - rt::cons(&__t2077, &__t2083) + rt::cons(&__t1952, &__t1958) }; - let __t2165 = { - let __t2085 = v_W1740.clone(); - let __t2164 = { - let __t2095 = { - let __t2086 = v_W1741.clone(); - let __t2094 = { - let __t2087 = Value::sym( - interp.intern("shen.+m"), + let __t2040 = { + let __t1960 = v_W1740.clone(); + let __t2039 = { + let __t1970 = { + let __t1961 = v_W1741.clone(); + let __t1969 = { + let __t1962 = Value::sym( + interp.intern_static("shen.+m"), ); - let __t2089 = { - let __t2088 = v_V1735.clone(); - rt::tl(&__t2088)? + let __t1964 = { + let __t1963 = v_V1735.clone(); + rt::tl(&__t1963)? }; - let __t2091 = { - let __t2090 = v_V1736.clone(); - rt::tl(&__t2090)? + let __t1966 = { + let __t1965 = v_V1736.clone(); + rt::tl(&__t1965)? }; - let __t2092 = v_V1737.clone(); - let __t2093 = v_V1738.clone(); - rt::apply_direct( + let __t1967 = v_V1737.clone(); + let __t1968 = v_V1738.clone(); + aot_shen_x2e_compile_x2d_head( interp, - "shen.compile-head", &[ - __t2087, __t2089, __t2091, - __t2092, __t2093, + __t1962, __t1964, __t1966, + __t1967, __t1968, ], )? }; - rt::apply_direct( + aot_shen_x2e_goto( interp, - "shen.goto", - &[__t2086, __t2094], + &[__t1961, __t1969], )? }; - let __t2163 = { - let __t2161 = { - let __t2096 = - Value::sym(interp.intern("if")); - let __t2160 = { - let __t2101 = { - let __t2097 = Value::sym( - interp.intern("cons?"), + let __t2038 = { + let __t2036 = { + let __t1971 = Value::sym( + interp.intern_static("if"), + ); + let __t2035 = { + let __t1976 = { + let __t1972 = Value::sym( + interp.intern_static( + "cons?", + ), ); - let __t2100 = { - let __t2098 = + let __t1975 = { + let __t1973 = v_W1739.clone(); - let __t2099 = + let __t1974 = Value::nil(); rt::cons( - &__t2098, &__t2099, + &__t1973, &__t1974, ) }; - rt::cons(&__t2097, &__t2100) + rt::cons(&__t1972, &__t1975) }; - let __t2159 = { - let __t2123 = { - let __t2102 = - Value::sym( - interp.intern( - "shen.+m", - ), - ); - let __t2105 = { - let __t2104 = { - let __t2103 = + let __t2034 = { + let __t1998 = { + let __t1977 = Value::sym(interp.intern_static("shen.+m")); + let __t1980 = { + let __t1979 = { + let __t1978 = v_V1735 .clone( ); rt::hd( - &__t2103, + &__t1978, )? }; - rt::tl(&__t2104)? + rt::tl(&__t1979)? }; - let __t2118 = { - let __t2110 = { - let __t2106 = Value::sym(interp.intern("hd")); - let __t2109 = { - let __t2107 = v_W1739.clone(); - let __t2108 = Value::nil(); - rt::cons(&__t2107, &__t2108) + let __t1993 = { + let __t1985 = { + let __t1981 = Value::sym(interp.intern_static("hd")); + let __t1984 = { + let __t1982 = v_W1739.clone(); + let __t1983 = Value::nil(); + rt::cons(&__t1982, &__t1983) }; rt::cons( - &__t2106, - &__t2109, + &__t1981, + &__t1984, ) }; - let __t2117 = { - let __t2115 = { - let __t2111 = Value::sym(interp.intern("tl")); - let __t2114 = { - let __t2112 = v_W1739.clone(); - let __t2113 = Value::nil(); - rt::cons(&__t2112, &__t2113) + let __t1992 = { + let __t1990 = { + let __t1986 = Value::sym(interp.intern_static("tl")); + let __t1989 = { + let __t1987 = v_W1739.clone(); + let __t1988 = Value::nil(); + rt::cons(&__t1987, &__t1988) }; - rt::cons(&__t2111, &__t2114) + rt::cons(&__t1986, &__t1989) }; - let __t2116 = + let __t1991 = Value::nil( ); rt::cons( - &__t2115, - &__t2116, + &__t1990, + &__t1991, ) }; rt::cons( - &__t2110, - &__t2117, + &__t1985, + &__t1992, ) }; - let __t2119 = + let __t1994 = v_V1737.clone(); - let __t2122 = { - let __t2120 = + let __t1997 = { + let __t1995 = v_W1740.clone(); - let __t2121 = + let __t1996 = v_W1741.clone(); - rt::apply_direct( + aot_shen_x2e_invoke( interp, - "shen.invoke", &[ - __t2120, - __t2121, + __t1995, + __t1996, ], )? }; - rt::apply_direct( - interp, - "shen.compile-head", - &[ - __t2102, - __t2105, - __t2118, - __t2119, - __t2122, - ], - )? + aot_shen_x2e_compile_x2d_head(interp, &[__t1977, __t1980, __t1993, __t1994, __t1997])? }; - let __t2158 = { - let __t2156 = { - let __t2124 = - Value::sym( - interp - .intern( - "if", - ), - ); - let __t2155 = { - let __t2129 = { - let __t2125 = Value::sym(interp.intern("shen.pvar?")); - let __t2128 = { - let __t2126 = v_W1739.clone(); - let __t2127 = Value::nil(); - rt::cons(&__t2126, &__t2127) + let __t2033 = { + let __t2031 = { + let __t1999 = Value::sym(interp.intern_static("if")); + let __t2030 = { + let __t2004 = { + let __t2000 = Value::sym(interp.intern_static("shen.pvar?")); + let __t2003 = { + let __t2001 = v_W1739.clone(); + let __t2002 = Value::nil(); + rt::cons(&__t2001, &__t2002) }; - rt::cons(&__t2125, &__t2128) + rt::cons(&__t2000, &__t2003) }; - let __t2154 = { - let __t2150 = { - let __t2130 = v_W1743.clone(); - let __t2148 = { - let __t2131 = Value::sym(interp.intern("shen.bind!")); - let __t2147 = { let __t2132 = v_W1739.clone(); let __t2146 = { let __t2134 = { let __t2133 = v_W1742.clone(); rt::apply_direct(interp, "shen.demode", &[__t2133])? }; let __t2145 = { let __t2135 = v_V1737.clone(); let __t2144 = { let __t2142 = { let __t2136 = Value::sym(interp.intern("freeze")); let __t2141 = { let __t2139 = { let __t2137 = v_W1740.clone(); let __t2138 = v_W1741.clone(); rt::apply_direct(interp, "shen.invoke", &[__t2137, __t2138])? }; let __t2140 = Value::nil(); rt::cons(&__t2139, &__t2140) }; rt::cons(&__t2136, &__t2141) }; let __t2143 = Value::nil(); rt::cons(&__t2142, &__t2143) }; rt::cons(&__t2135, &__t2144) }; rt::cons(&__t2134, &__t2145) }; rt::cons(&__t2132, &__t2146) }; - rt::cons(&__t2131, &__t2147) + let __t2029 = { + let __t2025 = { + let __t2005 = v_W1743.clone(); + let __t2023 = { + let __t2006 = Value::sym(interp.intern_static("shen.bind!")); + let __t2022 = { let __t2007 = v_W1739.clone(); let __t2021 = { let __t2009 = { let __t2008 = v_W1742.clone(); aot_shen_x2e_demode(interp, &[__t2008])? }; let __t2020 = { let __t2010 = v_V1737.clone(); let __t2019 = { let __t2017 = { let __t2011 = Value::sym(interp.intern_static("freeze")); let __t2016 = { let __t2014 = { let __t2012 = v_W1740.clone(); let __t2013 = v_W1741.clone(); aot_shen_x2e_invoke(interp, &[__t2012, __t2013])? }; let __t2015 = Value::nil(); rt::cons(&__t2014, &__t2015) }; rt::cons(&__t2011, &__t2016) }; let __t2018 = Value::nil(); rt::cons(&__t2017, &__t2018) }; rt::cons(&__t2010, &__t2019) }; rt::cons(&__t2009, &__t2020) }; rt::cons(&__t2007, &__t2021) }; + rt::cons(&__t2006, &__t2022) }; - let __t2149 = v_V1737.clone(); - rt::apply_direct(interp, "shen.stpart", &[__t2130, __t2148, __t2149])? + let __t2024 = v_V1737.clone(); + aot_shen_x2e_stpart(interp, &[__t2005, __t2023, __t2024])? }; - let __t2153 = { - let __t2151 = Value::bool(false); - let __t2152 = Value::nil(); - rt::cons(&__t2151, &__t2152) + let __t2028 = { + let __t2026 = Value::bool(false); + let __t2027 = Value::nil(); + rt::cons(&__t2026, &__t2027) }; - rt::cons(&__t2150, &__t2153) + rt::cons(&__t2025, &__t2028) }; rt::cons( - &__t2129, - &__t2154, + &__t2004, + &__t2029, ) }; rt::cons( - &__t2124, - &__t2155, + &__t1999, + &__t2030, ) }; - let __t2157 = + let __t2032 = Value::nil(); rt::cons( - &__t2156, &__t2157, + &__t2031, &__t2032, ) }; - rt::cons(&__t2123, &__t2158) + rt::cons(&__t1998, &__t2033) }; - rt::cons(&__t2101, &__t2159) + rt::cons(&__t1976, &__t2034) }; - rt::cons(&__t2096, &__t2160) + rt::cons(&__t1971, &__t2035) }; - let __t2162 = Value::nil(); - rt::cons(&__t2161, &__t2162) + let __t2037 = Value::nil(); + rt::cons(&__t2036, &__t2037) }; - rt::cons(&__t2095, &__t2163) + rt::cons(&__t1970, &__t2038) }; - rt::cons(&__t2085, &__t2164) + rt::cons(&__t1960, &__t2039) }; - rt::cons(&__t2084, &__t2165) + rt::cons(&__t1959, &__t2040) }; - rt::cons(&__t2076, &__t2166) + rt::cons(&__t1951, &__t2041) }; - rt::cons(&__t2075, &__t2167) + rt::cons(&__t1950, &__t2042) }); } } @@ -9258,14 +8991,14 @@ pub fn aot_shen_x2e_cons_x2d_case_x2d_plus( } } else { { - let __t2026 = Value::bool(true); - if match rt::is_truthy(interp, &__t2026) { + let __t1905 = Value::bool(true); + if match rt::is_truthy(interp, &__t1905) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2025 = Value::str("implementation error in shen.cons-case-plus"); - rt::apply_direct(interp, "simple-error", &[__t2025])? + let __t1904 = Value::str("implementation error in shen.cons-case-plus"); + rt::apply_direct(interp, "simple-error", &[__t1904])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9298,177 +9031,171 @@ pub fn aot_shen_x2e_demode(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { { - let __t2213 = { - let __t2212 = { - let __t2211 = v_V1744.clone(); - rt::tl(&__t2211)? + let __t2080 = { + let __t2079 = { + let __t2078 = v_V1744.clone(); + rt::tl(&__t2078)? }; - rt::hd(&__t2212)? + rt::hd(&__t2079)? }; - v_V1744 = __t2213; + v_V1744 = __t2080; continue; } } else { { - let __t2194 = { - let __t2189 = { - let __t2175 = v_V1744.clone(); - rt::is_cons(&__t2175) + let __t2065 = { + let __t2060 = { + let __t2050 = v_V1744.clone(); + rt::is_cons(&__t2050) }; - if !rt::is_truthy(interp, &__t2189)? { + if !rt::is_truthy(interp, &__t2060)? { Value::bool(false) } else { - let __t2190 = { - let __t2187 = { - let __t2176 = Value::sym(interp.intern("shen.-m")); - let __t2178 = { - let __t2177 = v_V1744.clone(); - rt::hd(&__t2177)? - }; - rt::eq(&__t2176, &__t2178) - }; - if !rt::is_truthy(interp, &__t2187)? { + let __t2061 = { + let __t2058 = Value::bool( + ({ + let __t2051 = v_V1744.clone(); + rt::hd(&__t2051)? + }) + .as_sym() + == Some(interp.intern_static("shen.-m")), + ); + if !rt::is_truthy(interp, &__t2058)? { Value::bool(false) } else { - let __t2188 = { - let __t2185 = { - let __t2180 = { - let __t2179 = v_V1744.clone(); - rt::tl(&__t2179)? + let __t2059 = { + let __t2056 = { + let __t2053 = { + let __t2052 = v_V1744.clone(); + rt::tl(&__t2052)? }; - rt::is_cons(&__t2180) + rt::is_cons(&__t2053) }; - if !rt::is_truthy(interp, &__t2185)? { + if !rt::is_truthy(interp, &__t2056)? { Value::bool(false) } else { - let __t2186 = { - let __t2181 = Value::nil(); - let __t2184 = { - let __t2183 = { - let __t2182 = v_V1744.clone(); - rt::tl(&__t2182)? + let __t2057 = Value::bool( + ({ + let __t2055 = { + let __t2054 = v_V1744.clone(); + rt::tl(&__t2054)? }; - rt::tl(&__t2183)? - }; - rt::eq(&__t2181, &__t2184) - }; - Value::bool(rt::is_truthy(interp, &__t2186)?) + rt::tl(&__t2055)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2057)?) } }; - Value::bool(rt::is_truthy(interp, &__t2188)?) + Value::bool(rt::is_truthy(interp, &__t2059)?) } }; - Value::bool(rt::is_truthy(interp, &__t2190)?) + Value::bool(rt::is_truthy(interp, &__t2061)?) } }; - if match rt::is_truthy(interp, &__t2194) { + if match rt::is_truthy(interp, &__t2065) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2193 = { - let __t2192 = { - let __t2191 = v_V1744.clone(); - rt::tl(&__t2191)? + let __t2064 = { + let __t2063 = { + let __t2062 = v_V1744.clone(); + rt::tl(&__t2062)? }; - rt::hd(&__t2192)? + rt::hd(&__t2063)? }; - v_V1744 = __t2193; + v_V1744 = __t2064; continue; } } else { { - let __t2174 = { - let __t2170 = v_V1744.clone(); - rt::is_cons(&__t2170) + let __t2049 = { + let __t2045 = v_V1744.clone(); + rt::is_cons(&__t2045) }; - if match rt::is_truthy(interp, &__t2174) { + if match rt::is_truthy(interp, &__t2049) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2172 = { + let __t2047 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z1745 = args[0].clone(); Ok({ - let __t2171 = v_Z1745.clone(); - rt::apply_direct( - interp, - "shen.demode", - &[__t2171], - )? + let __t2046 = v_Z1745.clone(); + aot_shen_x2e_demode(interp, &[__t2046])? }) }, Vec::new(), interp, ) }; - let __t2173 = v_V1744.clone(); - rt::apply_direct(interp, "map", &[__t2172, __t2173])? + let __t2048 = v_V1744.clone(); + rt::apply_direct(interp, "map", &[__t2047, __t2048])? }); } else { { - let __t2169 = Value::bool(true); - if match rt::is_truthy(interp, &__t2169) { + let __t2044 = Value::bool(true); + if match rt::is_truthy(interp, &__t2044) { Ok(b) => b, Err(e) => break Err(e), } { @@ -9504,51 +9231,51 @@ pub fn aot_shen_x2e_tame(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t2222 = Value::sym(interp.intern("Y")); - rt::apply_direct(interp, "gensym", &[__t2222])? + let __t2089 = Value::sym(interp.intern_static("Y")); + rt::apply_direct(interp, "gensym", &[__t2089])? }); } else { { - let __t2220 = { - let __t2216 = v_V1746.clone(); - rt::is_cons(&__t2216) + let __t2087 = { + let __t2083 = v_V1746.clone(); + rt::is_cons(&__t2083) }; - if match rt::is_truthy(interp, &__t2220) { + if match rt::is_truthy(interp, &__t2087) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2218 = { + let __t2085 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z1747 = args[0].clone(); Ok({ - let __t2217 = v_Z1747.clone(); - rt::apply_direct(interp, "shen.tame", &[__t2217])? + let __t2084 = v_Z1747.clone(); + aot_shen_x2e_tame(interp, &[__t2084])? }) }, Vec::new(), interp, ) }; - let __t2219 = v_V1746.clone(); - rt::apply_direct(interp, "map", &[__t2218, __t2219])? + let __t2086 = v_V1746.clone(); + rt::apply_direct(interp, "map", &[__t2085, __t2086])? }); } else { { - let __t2215 = Value::bool(true); - if match rt::is_truthy(interp, &__t2215) { + let __t2082 = Value::bool(true); + if match rt::is_truthy(interp, &__t2082) { Ok(b) => b, Err(e) => break Err(e), } { @@ -9584,35 +9311,31 @@ pub fn aot_shen_x2e_goto(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t2229 = Value::sym(interp.intern("freeze")); - let __t2232 = { - let __t2230 = v_V1749.clone(); - let __t2231 = Value::nil(); - rt::cons(&__t2230, &__t2231) + let __t2094 = Value::sym(interp.intern_static("freeze")); + let __t2097 = { + let __t2095 = v_V1749.clone(); + let __t2096 = Value::nil(); + rt::cons(&__t2095, &__t2096) }; - rt::cons(&__t2229, &__t2232) + rt::cons(&__t2094, &__t2097) }); } else { { - let __t2226 = Value::bool(true); - if match rt::is_truthy(interp, &__t2226) { + let __t2093 = Value::bool(true); + if match rt::is_truthy(interp, &__t2093) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2224 = v_V1748.clone(); - let __t2225 = v_V1749.clone(); - rt::apply_direct(interp, "shen.goto-h", &[__t2224, __t2225])? + let __t2091 = v_V1748.clone(); + let __t2092 = v_V1749.clone(); + aot_shen_x2e_goto_x2d_h(interp, &[__t2091, __t2092])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9643,63 +9366,55 @@ pub fn aot_shen_x2e_goto_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t2250 = { - let __t2248 = Value::nil(); - let __t2249 = v_V1750.clone(); - rt::eq(&__t2248, &__t2249) - }; - if match rt::is_truthy(interp, &__t2250) { + let __t2113 = Value::bool((v_V1750.clone()).is_nil()); + if match rt::is_truthy(interp, &__t2113) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V1751.clone()); } else { { - let __t2247 = { - let __t2236 = v_V1750.clone(); - rt::is_cons(&__t2236) + let __t2112 = { + let __t2101 = v_V1750.clone(); + rt::is_cons(&__t2101) }; - if match rt::is_truthy(interp, &__t2247) { + if match rt::is_truthy(interp, &__t2112) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2237 = Value::sym(interp.intern("lambda")); - let __t2246 = { - let __t2239 = { - let __t2238 = v_V1750.clone(); - rt::hd(&__t2238)? + let __t2102 = Value::sym(interp.intern_static("lambda")); + let __t2111 = { + let __t2104 = { + let __t2103 = v_V1750.clone(); + rt::hd(&__t2103)? }; - let __t2245 = { - let __t2243 = { - let __t2241 = { - let __t2240 = v_V1750.clone(); - rt::tl(&__t2240)? + let __t2110 = { + let __t2108 = { + let __t2106 = { + let __t2105 = v_V1750.clone(); + rt::tl(&__t2105)? }; - let __t2242 = v_V1751.clone(); - rt::apply_direct( - interp, - "shen.goto-h", - &[__t2241, __t2242], - )? + let __t2107 = v_V1751.clone(); + aot_shen_x2e_goto_x2d_h(interp, &[__t2106, __t2107])? }; - let __t2244 = Value::nil(); - rt::cons(&__t2243, &__t2244) + let __t2109 = Value::nil(); + rt::cons(&__t2108, &__t2109) }; - rt::cons(&__t2239, &__t2245) + rt::cons(&__t2104, &__t2110) }; - rt::cons(&__t2237, &__t2246) + rt::cons(&__t2102, &__t2111) }); } else { { - let __t2235 = Value::bool(true); - if match rt::is_truthy(interp, &__t2235) { + let __t2100 = Value::bool(true); + if match rt::is_truthy(interp, &__t2100) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2234 = Value::str("partial function shen.goto-h"); - rt::apply_direct(interp, "simple-error", &[__t2234])? + let __t2099 = Value::str("partial function shen.goto-h"); + rt::apply_direct(interp, "simple-error", &[__t2099])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9732,35 +9447,31 @@ pub fn aot_shen_x2e_invoke(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t2256 = Value::sym(interp.intern("thaw")); - let __t2259 = { - let __t2257 = v_V1752.clone(); - let __t2258 = Value::nil(); - rt::cons(&__t2257, &__t2258) + let __t2117 = Value::sym(interp.intern_static("thaw")); + let __t2120 = { + let __t2118 = v_V1752.clone(); + let __t2119 = Value::nil(); + rt::cons(&__t2118, &__t2119) }; - rt::cons(&__t2256, &__t2259) + rt::cons(&__t2117, &__t2120) }); } else { { - let __t2253 = Value::bool(true); - if match rt::is_truthy(interp, &__t2253) { + let __t2116 = Value::bool(true); + if match rt::is_truthy(interp, &__t2116) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2251 = v_V1752.clone(); - let __t2252 = v_V1753.clone(); - rt::cons(&__t2251, &__t2252) + let __t2114 = v_V1752.clone(); + let __t2115 = v_V1753.clone(); + rt::cons(&__t2114, &__t2115) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9788,11 +9499,9 @@ pub fn aot_shen_x2e_wildcard_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe let mut v_V1754 = args[0].clone(); #[allow(clippy::never_loop)] loop { - break Ok({ - let __t2261 = v_V1754.clone(); - let __t2262 = Value::sym(interp.intern("_")); - rt::eq(&__t2261, &__t2262) - }); + break Ok(Value::bool( + (v_V1754.clone()).as_sym() == Some(interp.intern_static("_")), + )); } } @@ -9816,23 +9525,23 @@ pub fn aot_shen_x2e_pvar_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok( match (|| -> ShenResult { Ok({ - let __t2268 = { - let __t2263 = v_V1755.clone(); - rt::is_absvector(&__t2263) + let __t2125 = { + let __t2122 = v_V1755.clone(); + rt::is_absvector(&__t2122) }; - if !rt::is_truthy(interp, &__t2268)? { + if !rt::is_truthy(interp, &__t2125)? { Value::bool(false) } else { - let __t2269 = { - let __t2266 = { - let __t2264 = v_V1755.clone(); - let __t2265 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t2264, __t2265])? - }; - let __t2267 = Value::sym(interp.intern("shen.pvar")); - rt::eq(&__t2266, &__t2267) - }; - Value::bool(rt::is_truthy(interp, &__t2269)?) + let __t2126 = Value::bool( + ({ + let __t2123 = v_V1755.clone(); + let __t2124 = Value::int(0i64); + rt::address_ref(&__t2123, &__t2124)? + }) + .as_sym() + == Some(interp.intern_static("shen.pvar")), + ); + Value::bool(rt::is_truthy(interp, &__t2126)?) } }) })() { @@ -9878,41 +9587,39 @@ pub fn aot_shen_x2e_lazyderef(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t2271 = { - let __t2270 = v_V1757.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t2270])? + let __t2128 = { + let __t2127 = v_V1757.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t2127])? }; - if match rt::is_truthy(interp, &__t2271) { + if match rt::is_truthy(interp, &__t2128) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1759 = { - let __t2272 = v_V1758.clone(); - let __t2275 = { - let __t2273 = v_V1757.clone(); - let __t2274 = Value::int(1i64); - rt::apply_direct(interp, "<-address", &[__t2273, __t2274])? + let __t2129 = v_V1758.clone(); + let __t2132 = { + let __t2130 = v_V1757.clone(); + let __t2131 = Value::int(1i64); + rt::address_ref(&__t2130, &__t2131)? }; - rt::apply_direct(interp, "<-address", &[__t2272, __t2275])? + rt::address_ref(&__t2129, &__t2132)? }; { - let __t2278 = { - let __t2276 = v_W1759.clone(); - let __t2277 = Value::sym(interp.intern("shen.-null-")); - rt::eq(&__t2276, &__t2277) - }; - if match rt::is_truthy(interp, &__t2278) { + let __t2133 = Value::bool( + (v_W1759.clone()).as_sym() == Some(interp.intern_static("shen.-null-")), + ); + if match rt::is_truthy(interp, &__t2133) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V1757.clone()); } else { { - let __t2279 = v_W1759.clone(); - let __t2280 = v_V1758.clone(); - v_V1757 = __t2279; - v_V1758 = __t2280; + let __t2134 = v_W1759.clone(); + let __t2135 = v_V1758.clone(); + v_V1757 = __t2134; + v_V1758 = __t2135; continue; } } @@ -9945,80 +9652,75 @@ pub fn aot_shen_x2e_deref(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t2297 = { - let __t2295 = { - let __t2294 = v_V1760.clone(); - rt::hd(&__t2294)? + let __t2150 = { + let __t2148 = { + let __t2147 = v_V1760.clone(); + rt::hd(&__t2147)? }; - let __t2296 = v_V1761.clone(); - rt::apply_direct(interp, "shen.deref", &[__t2295, __t2296])? + let __t2149 = v_V1761.clone(); + aot_shen_x2e_deref(interp, &[__t2148, __t2149])? }; - let __t2301 = { - let __t2299 = { - let __t2298 = v_V1760.clone(); - rt::tl(&__t2298)? + let __t2154 = { + let __t2152 = { + let __t2151 = v_V1760.clone(); + rt::tl(&__t2151)? }; - let __t2300 = v_V1761.clone(); - rt::apply_direct(interp, "shen.deref", &[__t2299, __t2300])? + let __t2153 = v_V1761.clone(); + aot_shen_x2e_deref(interp, &[__t2152, __t2153])? }; - rt::cons(&__t2297, &__t2301) + rt::cons(&__t2150, &__t2154) }); } else { { - let __t2292 = Value::bool(true); - if match rt::is_truthy(interp, &__t2292) { + let __t2145 = Value::bool(true); + if match rt::is_truthy(interp, &__t2145) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2282 = { - let __t2281 = v_V1760.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t2281])? + let __t2137 = { + let __t2136 = v_V1760.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t2136])? }; - if match rt::is_truthy(interp, &__t2282) { + if match rt::is_truthy(interp, &__t2137) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1762 = { - let __t2283 = v_V1761.clone(); - let __t2286 = { - let __t2284 = v_V1760.clone(); - let __t2285 = Value::int(1i64); - rt::apply_direct( - interp, - "<-address", - &[__t2284, __t2285], - )? + let __t2138 = v_V1761.clone(); + let __t2141 = { + let __t2139 = v_V1760.clone(); + let __t2140 = Value::int(1i64); + rt::address_ref(&__t2139, &__t2140)? }; - rt::apply_direct(interp, "<-address", &[__t2283, __t2286])? + rt::address_ref(&__t2138, &__t2141)? }; { - let __t2289 = { - let __t2287 = v_W1762.clone(); - let __t2288 = Value::sym(interp.intern("shen.-null-")); - rt::eq(&__t2287, &__t2288) - }; - if match rt::is_truthy(interp, &__t2289) { + let __t2142 = Value::bool( + (v_W1762.clone()).as_sym() + == Some(interp.intern_static("shen.-null-")), + ); + if match rt::is_truthy(interp, &__t2142) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V1760.clone()); } else { { - let __t2290 = v_W1762.clone(); - let __t2291 = v_V1761.clone(); - v_V1760 = __t2290; - v_V1761 = __t2291; + let __t2143 = v_W1762.clone(); + let __t2144 = v_V1761.clone(); + v_V1760 = __t2143; + v_V1761 = __t2144; continue; } } @@ -10062,28 +9764,28 @@ pub fn aot_shen_x2e_bind_x21_(interp: &mut Interp, args: &[Value]) -> ShenResult loop { { let v_W1767 = { - let __t2303 = v_V1763.clone(); - let __t2304 = v_V1764.clone(); - let __t2305 = v_V1765.clone(); - rt::apply_direct(interp, "shen.bindv", &[__t2303, __t2304, __t2305])? + let __t2156 = v_V1763.clone(); + let __t2157 = v_V1764.clone(); + let __t2158 = v_V1765.clone(); + aot_shen_x2e_bindv(interp, &[__t2156, __t2157, __t2158])? }; { let v_W1768 = rt::apply_value(interp, v_V1766.clone(), &[])?; { - let __t2308 = { - let __t2306 = v_W1768.clone(); - let __t2307 = Value::bool(false); - rt::eq(&__t2306, &__t2307) + let __t2161 = { + let __t2159 = v_W1768.clone(); + let __t2160 = Value::bool(false); + rt::eq(&__t2159, &__t2160) }; - if match rt::is_truthy(interp, &__t2308) { + if match rt::is_truthy(interp, &__t2161) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2309 = v_V1763.clone(); - let __t2310 = v_V1765.clone(); - let __t2311 = v_W1768.clone(); - rt::apply_direct(interp, "shen.unwind", &[__t2309, __t2310, __t2311])? + let __t2162 = v_V1763.clone(); + let __t2163 = v_V1765.clone(); + let __t2164 = v_W1768.clone(); + aot_shen_x2e_unwind(interp, &[__t2162, __t2163, __t2164])? }); } else { break Ok(v_W1768.clone()); @@ -10116,14 +9818,14 @@ pub fn aot_shen_x2e_bindv(interp: &mut Interp, args: &[Value]) -> ShenResult", &[__t2312, __t2315, __t2316])? + let __t2169 = v_V1770.clone(); + rt::address_set(&__t2165, &__t2168, &__t2169)? }); } } @@ -10151,14 +9853,14 @@ pub fn aot_shen_x2e_unwind(interp: &mut Interp, args: &[Value]) -> ShenResult", &[__t2317, __t2320, __t2321])? + let __t2174 = Value::sym(interp.intern_static("shen.-null-")); + rt::address_set(&__t2170, &__t2173, &__t2174)? }; break Ok(v_V1774.clone()); } @@ -10187,88 +9889,85 @@ pub fn aot_shen_x2e_stpart(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(v_V1784.clone()); } else { { - let __t2348 = { - let __t2324 = v_V1783.clone(); - rt::is_cons(&__t2324) + let __t2201 = { + let __t2177 = v_V1783.clone(); + rt::is_cons(&__t2177) }; - if match rt::is_truthy(interp, &__t2348) { + if match rt::is_truthy(interp, &__t2201) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2325 = Value::sym(interp.intern("let")); - let __t2347 = { - let __t2327 = { - let __t2326 = v_V1783.clone(); - rt::hd(&__t2326)? + let __t2178 = Value::sym(interp.intern_static("let")); + let __t2200 = { + let __t2180 = { + let __t2179 = v_V1783.clone(); + rt::hd(&__t2179)? }; - let __t2346 = { - let __t2332 = { - let __t2328 = Value::sym(interp.intern("shen.newpv")); - let __t2331 = { - let __t2329 = v_V1785.clone(); - let __t2330 = Value::nil(); - rt::cons(&__t2329, &__t2330) + let __t2199 = { + let __t2185 = { + let __t2181 = + Value::sym(interp.intern_static("shen.newpv")); + let __t2184 = { + let __t2182 = v_V1785.clone(); + let __t2183 = Value::nil(); + rt::cons(&__t2182, &__t2183) }; - rt::cons(&__t2328, &__t2331) + rt::cons(&__t2181, &__t2184) }; - let __t2345 = { - let __t2343 = { - let __t2333 = Value::sym(interp.intern("shen.gc")); - let __t2342 = { - let __t2334 = v_V1785.clone(); - let __t2341 = { - let __t2339 = { - let __t2336 = { - let __t2335 = v_V1783.clone(); - rt::tl(&__t2335)? + let __t2198 = { + let __t2196 = { + let __t2186 = + Value::sym(interp.intern_static("shen.gc")); + let __t2195 = { + let __t2187 = v_V1785.clone(); + let __t2194 = { + let __t2192 = { + let __t2189 = { + let __t2188 = v_V1783.clone(); + rt::tl(&__t2188)? }; - let __t2337 = v_V1784.clone(); - let __t2338 = v_V1785.clone(); - rt::apply_direct( + let __t2190 = v_V1784.clone(); + let __t2191 = v_V1785.clone(); + aot_shen_x2e_stpart( interp, - "shen.stpart", - &[__t2336, __t2337, __t2338], + &[__t2189, __t2190, __t2191], )? }; - let __t2340 = Value::nil(); - rt::cons(&__t2339, &__t2340) + let __t2193 = Value::nil(); + rt::cons(&__t2192, &__t2193) }; - rt::cons(&__t2334, &__t2341) + rt::cons(&__t2187, &__t2194) }; - rt::cons(&__t2333, &__t2342) + rt::cons(&__t2186, &__t2195) }; - let __t2344 = Value::nil(); - rt::cons(&__t2343, &__t2344) + let __t2197 = Value::nil(); + rt::cons(&__t2196, &__t2197) }; - rt::cons(&__t2332, &__t2345) + rt::cons(&__t2185, &__t2198) }; - rt::cons(&__t2327, &__t2346) + rt::cons(&__t2180, &__t2199) }; - rt::cons(&__t2325, &__t2347) + rt::cons(&__t2178, &__t2200) }); } else { { - let __t2323 = Value::bool(true); - if match rt::is_truthy(interp, &__t2323) { + let __t2176 = Value::bool(true); + if match rt::is_truthy(interp, &__t2176) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2322 = Value::str("implementation error in shen.stpart"); - rt::apply_direct(interp, "simple-error", &[__t2322])? + let __t2175 = Value::str("implementation error in shen.stpart"); + rt::apply_direct(interp, "simple-error", &[__t2175])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -10301,25 +10000,25 @@ pub fn aot_shen_x2e_gc(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t2354 = { - let __t2352 = v_V1787.clone(); - let __t2353 = Value::bool(false); - rt::eq(&__t2352, &__t2353) + let __t2205 = { + let __t2203 = v_V1787.clone(); + let __t2204 = Value::bool(false); + rt::eq(&__t2203, &__t2204) }; - if match rt::is_truthy(interp, &__t2354) { + if match rt::is_truthy(interp, &__t2205) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1788 = { - let __t2355 = v_V1786.clone(); - rt::apply_direct(interp, "shen.ticket-number", &[__t2355])? + let __t2206 = v_V1786.clone(); + aot_shen_x2e_ticket_x2d_number(interp, &[__t2206])? }; { let _ = { - let __t2356 = v_W1788.clone(); - let __t2357 = v_V1786.clone(); - rt::apply_direct(interp, "shen.decrement-ticket", &[__t2356, __t2357])? + let __t2207 = v_W1788.clone(); + let __t2208 = v_V1786.clone(); + aot_shen_x2e_decrement_x2d_ticket(interp, &[__t2207, __t2208])? }; break Ok(v_V1787.clone()); } @@ -10351,14 +10050,14 @@ pub fn aot_shen_x2e_decrement_x2d_ticket(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t2358 = v_V1790.clone(); - let __t2359 = Value::int(1i64); - let __t2362 = { - let __t2360 = v_V1789.clone(); - let __t2361 = Value::int(1i64); - rt::sub(&__t2360, &__t2361)? + let __t2209 = v_V1790.clone(); + let __t2210 = Value::int(1i64); + let __t2213 = { + let __t2211 = v_V1789.clone(); + let __t2212 = Value::int(1i64); + rt::sub(&__t2211, &__t2212)? }; - rt::apply_direct(interp, "address->", &[__t2358, __t2359, __t2362])? + rt::address_set(&__t2209, &__t2210, &__t2213)? }); } } @@ -10386,19 +10085,19 @@ pub fn aot_shen_x2e_newpv(interp: &mut Interp, args: &[Value]) -> ShenResult Sh #[allow(clippy::never_loop)] loop { break Ok({ - let __t2367 = v_V1795.clone(); - let __t2368 = Value::int(1i64); - rt::apply_direct(interp, "<-address", &[__t2367, __t2368])? + let __t2218 = v_V1795.clone(); + let __t2219 = Value::int(1i64); + rt::address_ref(&__t2218, &__t2219)? }); } } @@ -10453,20 +10152,20 @@ pub fn aot_shen_x2e_nextticket(interp: &mut Interp, args: &[Value]) -> ShenResul loop { { let v_W1798 = { - let __t2369 = v_V1796.clone(); - let __t2370 = v_V1797.clone(); - let __t2371 = Value::sym(interp.intern("shen.-null-")); - rt::apply_direct(interp, "address->", &[__t2369, __t2370, __t2371])? + let __t2220 = v_V1796.clone(); + let __t2221 = v_V1797.clone(); + let __t2222 = Value::sym(interp.intern_static("shen.-null-")); + rt::address_set(&__t2220, &__t2221, &__t2222)? }; break Ok({ - let __t2372 = v_W1798.clone(); - let __t2373 = Value::int(1i64); - let __t2376 = { - let __t2374 = v_V1797.clone(); - let __t2375 = Value::int(1i64); - rt::add(&__t2374, &__t2375)? + let __t2223 = v_W1798.clone(); + let __t2224 = Value::int(1i64); + let __t2227 = { + let __t2225 = v_V1797.clone(); + let __t2226 = Value::int(1i64); + rt::add(&__t2225, &__t2226)? }; - rt::apply_direct(interp, "address->", &[__t2372, __t2373, __t2376])? + rt::address_set(&__t2223, &__t2224, &__t2227)? }); } } @@ -10493,18 +10192,18 @@ pub fn aot_shen_x2e_make_x2d_prolog_x2d_variable( #[allow(clippy::never_loop)] loop { break Ok({ - let __t2381 = { - let __t2378 = { - let __t2377 = Value::int(2i64); - rt::apply_direct(interp, "absvector", &[__t2377])? + let __t2232 = { + let __t2229 = { + let __t2228 = Value::int(2i64); + rt::apply_direct(interp, "absvector", &[__t2228])? }; - let __t2379 = Value::int(0i64); - let __t2380 = Value::sym(interp.intern("shen.pvar")); - rt::apply_direct(interp, "address->", &[__t2378, __t2379, __t2380])? + let __t2230 = Value::int(0i64); + let __t2231 = Value::sym(interp.intern_static("shen.pvar")); + rt::address_set(&__t2229, &__t2230, &__t2231)? }; - let __t2382 = Value::int(1i64); - let __t2383 = v_V1799.clone(); - rt::apply_direct(interp, "address->", &[__t2381, __t2382, __t2383])? + let __t2233 = Value::int(1i64); + let __t2234 = v_V1799.clone(); + rt::address_set(&__t2232, &__t2233, &__t2234)? }); } } @@ -10534,18 +10233,18 @@ pub fn aot_shen_x2e_pvar(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t2402 = Value::sym(interp.intern("shen.*size-prolog-vector*")); - let __t2403 = v_V1801.clone(); - rt::apply_direct(interp, "set", &[__t2402, __t2403])? + let __v = v_V1801.clone(); + rt::set_global(interp, "shen.*size-prolog-vector*", __v) }); } else { break Ok({ - let __t2409 = { - let __t2404 = Value::str( + let __t2255 = { + let __t2250 = Value::str( "prolog vector size: size should be a positive integer; not ", ); - let __t2408 = { - let __t2405 = v_V1801.clone(); - let __t2406 = Value::str(""); - let __t2407 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t2405, __t2406, __t2407])? + let __t2254 = { + let __t2251 = v_V1801.clone(); + let __t2252 = Value::str(""); + let __t2253 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t2251, __t2252, __t2253])? }; - rt::apply_direct(interp, "cn", &[__t2404, __t2408])? + rt::cn(&__t2250, &__t2254)? }; - rt::apply_direct(interp, "simple-error", &[__t2409])? + rt::apply_direct(interp, "simple-error", &[__t2255])? }); } } @@ -10678,156 +10372,142 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t2464 = { - let __t2462 = v_V1813.clone(); - let __t2463 = v_V1814.clone(); - rt::eq(&__t2462, &__t2463) + let __t2310 = { + let __t2308 = v_V1813.clone(); + let __t2309 = v_V1814.clone(); + rt::eq(&__t2308, &__t2309) }; - if match rt::is_truthy(interp, &__t2464) { + if match rt::is_truthy(interp, &__t2310) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_V1816.clone(), &[])?); } else { { - let __t2461 = { - let __t2455 = { - let __t2449 = v_V1813.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t2449])? + let __t2307 = { + let __t2301 = { + let __t2295 = v_V1813.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t2295])? }; - if !rt::is_truthy(interp, &__t2455)? { + if !rt::is_truthy(interp, &__t2301)? { Value::bool(false) } else { - let __t2456 = { - let __t2454 = { - let __t2450 = v_V1813.clone(); - let __t2453 = { - let __t2451 = v_V1814.clone(); - let __t2452 = v_V1815.clone(); - rt::apply_direct(interp, "shen.deref", &[__t2451, __t2452])? + let __t2302 = { + let __t2300 = { + let __t2296 = v_V1813.clone(); + let __t2299 = { + let __t2297 = v_V1814.clone(); + let __t2298 = v_V1815.clone(); + aot_shen_x2e_deref(interp, &[__t2297, __t2298])? }; - rt::apply_direct( - interp, - "shen.occurs-check?", - &[__t2450, __t2453], - )? + aot_shen_x2e_occurs_x2d_check_x3f_(interp, &[__t2296, __t2299])? }; - rt::apply_direct(interp, "not", &[__t2454])? + rt::not(interp, &__t2300)? }; - Value::bool(rt::is_truthy(interp, &__t2456)?) + Value::bool(rt::is_truthy(interp, &__t2302)?) } }; - if match rt::is_truthy(interp, &__t2461) { + if match rt::is_truthy(interp, &__t2307) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2457 = v_V1813.clone(); - let __t2458 = v_V1814.clone(); - let __t2459 = v_V1815.clone(); - let __t2460 = v_V1816.clone(); - rt::apply_direct( - interp, - "shen.bind!", - &[__t2457, __t2458, __t2459, __t2460], - )? + let __t2303 = v_V1813.clone(); + let __t2304 = v_V1814.clone(); + let __t2305 = v_V1815.clone(); + let __t2306 = v_V1816.clone(); + aot_shen_x2e_bind_x21_(interp, &[__t2303, __t2304, __t2305, __t2306])? }); } else { { - let __t2448 = { - let __t2442 = { - let __t2436 = v_V1814.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t2436])? + let __t2294 = { + let __t2288 = { + let __t2282 = v_V1814.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t2282])? }; - if !rt::is_truthy(interp, &__t2442)? { + if !rt::is_truthy(interp, &__t2288)? { Value::bool(false) } else { - let __t2443 = { - let __t2441 = { - let __t2437 = v_V1814.clone(); - let __t2440 = { - let __t2438 = v_V1813.clone(); - let __t2439 = v_V1815.clone(); - rt::apply_direct( - interp, - "shen.deref", - &[__t2438, __t2439], - )? + let __t2289 = { + let __t2287 = { + let __t2283 = v_V1814.clone(); + let __t2286 = { + let __t2284 = v_V1813.clone(); + let __t2285 = v_V1815.clone(); + aot_shen_x2e_deref(interp, &[__t2284, __t2285])? }; - rt::apply_direct( + aot_shen_x2e_occurs_x2d_check_x3f_( interp, - "shen.occurs-check?", - &[__t2437, __t2440], + &[__t2283, __t2286], )? }; - rt::apply_direct(interp, "not", &[__t2441])? + rt::not(interp, &__t2287)? }; - Value::bool(rt::is_truthy(interp, &__t2443)?) + Value::bool(rt::is_truthy(interp, &__t2289)?) } }; - if match rt::is_truthy(interp, &__t2448) { + if match rt::is_truthy(interp, &__t2294) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2444 = v_V1814.clone(); - let __t2445 = v_V1813.clone(); - let __t2446 = v_V1815.clone(); - let __t2447 = v_V1816.clone(); - rt::apply_direct( + let __t2290 = v_V1814.clone(); + let __t2291 = v_V1813.clone(); + let __t2292 = v_V1815.clone(); + let __t2293 = v_V1816.clone(); + aot_shen_x2e_bind_x21_( interp, - "shen.bind!", - &[__t2444, __t2445, __t2446, __t2447], + &[__t2290, __t2291, __t2292, __t2293], )? }); } else { { - let __t2435 = { - let __t2413 = { - let __t2411 = v_V1813.clone(); - rt::is_cons(&__t2411) + let __t2281 = { + let __t2259 = { + let __t2257 = v_V1813.clone(); + rt::is_cons(&__t2257) }; - if !rt::is_truthy(interp, &__t2413)? { + if !rt::is_truthy(interp, &__t2259)? { Value::bool(false) } else { - let __t2414 = { - let __t2412 = v_V1814.clone(); - rt::is_cons(&__t2412) + let __t2260 = { + let __t2258 = v_V1814.clone(); + rt::is_cons(&__t2258) }; - Value::bool(rt::is_truthy(interp, &__t2414)?) + Value::bool(rt::is_truthy(interp, &__t2260)?) } }; - if match rt::is_truthy(interp, &__t2435) { + if match rt::is_truthy(interp, &__t2281) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2418 = { - let __t2416 = { - let __t2415 = v_V1813.clone(); - rt::hd(&__t2415)? + let __t2264 = { + let __t2262 = { + let __t2261 = v_V1813.clone(); + rt::hd(&__t2261)? }; - let __t2417 = v_V1815.clone(); + let __t2263 = v_V1815.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2416, __t2417], + &[__t2262, __t2263], )? }; - let __t2422 = { - let __t2420 = { - let __t2419 = v_V1814.clone(); - rt::hd(&__t2419)? + let __t2268 = { + let __t2266 = { + let __t2265 = v_V1814.clone(); + rt::hd(&__t2265)? }; - let __t2421 = v_V1815.clone(); + let __t2267 = v_V1815.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2420, __t2421], + &[__t2266, __t2267], )? }; - let __t2423 = v_V1815.clone(); - let __t2434 = { + let __t2269 = v_V1815.clone(); + let __t2280 = { let v_V1813 = v_V1813.clone(); let v_V1814 = v_V1814.clone(); let v_V1815 = v_V1815.clone(); @@ -10837,38 +10517,37 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe 0, move |interp, _args| { Ok({ - let __t2427 = { - let __t2425 = { - let __t2424 = v_V1813.clone(); - rt::tl(&__t2424)? + let __t2273 = { + let __t2271 = { + let __t2270 = v_V1813.clone(); + rt::tl(&__t2270)? }; - let __t2426 = v_V1815.clone(); + let __t2272 = v_V1815.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2425, __t2426], + &[__t2271, __t2272], )? }; - let __t2431 = { - let __t2429 = { - let __t2428 = v_V1814.clone(); - rt::tl(&__t2428)? + let __t2277 = { + let __t2275 = { + let __t2274 = v_V1814.clone(); + rt::tl(&__t2274)? }; - let __t2430 = v_V1815.clone(); + let __t2276 = v_V1815.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2429, __t2430], + &[__t2275, __t2276], )? }; - let __t2432 = v_V1815.clone(); - let __t2433 = v_V1816.clone(); - rt::apply_direct( + let __t2278 = v_V1815.clone(); + let __t2279 = v_V1816.clone(); + aot_shen_x2e_lzy_x3d__x21_( interp, - "shen.lzy=!", &[ - __t2427, __t2431, __t2432, - __t2433, + __t2273, __t2277, __t2278, + __t2279, ], )? }) @@ -10877,16 +10556,16 @@ pub fn aot_shen_x2e_lzy_x3d__x21_(interp: &mut Interp, args: &[Value]) -> ShenRe interp, ) }; - v_V1813 = __t2418; - v_V1814 = __t2422; - v_V1815 = __t2423; - v_V1816 = __t2434; + v_V1813 = __t2264; + v_V1814 = __t2268; + v_V1815 = __t2269; + v_V1816 = __t2280; continue; } } else { { - let __t2410 = Value::bool(true); - if match rt::is_truthy(interp, &__t2410) { + let __t2256 = Value::bool(true); + if match rt::is_truthy(interp, &__t2256) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10932,106 +10611,101 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let __t2505 = { - let __t2503 = v_V1828.clone(); - let __t2504 = v_V1829.clone(); - rt::eq(&__t2503, &__t2504) + let __t2351 = { + let __t2349 = v_V1828.clone(); + let __t2350 = v_V1829.clone(); + rt::eq(&__t2349, &__t2350) }; - if match rt::is_truthy(interp, &__t2505) { + if match rt::is_truthy(interp, &__t2351) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_V1831.clone(), &[])?); } else { { - let __t2502 = { - let __t2497 = v_V1828.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t2497])? + let __t2348 = { + let __t2343 = v_V1828.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t2343])? }; - if match rt::is_truthy(interp, &__t2502) { + if match rt::is_truthy(interp, &__t2348) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2498 = v_V1828.clone(); - let __t2499 = v_V1829.clone(); - let __t2500 = v_V1830.clone(); - let __t2501 = v_V1831.clone(); - rt::apply_direct( - interp, - "shen.bind!", - &[__t2498, __t2499, __t2500, __t2501], - )? + let __t2344 = v_V1828.clone(); + let __t2345 = v_V1829.clone(); + let __t2346 = v_V1830.clone(); + let __t2347 = v_V1831.clone(); + aot_shen_x2e_bind_x21_(interp, &[__t2344, __t2345, __t2346, __t2347])? }); } else { { - let __t2496 = { - let __t2491 = v_V1829.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t2491])? + let __t2342 = { + let __t2337 = v_V1829.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t2337])? }; - if match rt::is_truthy(interp, &__t2496) { + if match rt::is_truthy(interp, &__t2342) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2492 = v_V1829.clone(); - let __t2493 = v_V1828.clone(); - let __t2494 = v_V1830.clone(); - let __t2495 = v_V1831.clone(); - rt::apply_direct( + let __t2338 = v_V1829.clone(); + let __t2339 = v_V1828.clone(); + let __t2340 = v_V1830.clone(); + let __t2341 = v_V1831.clone(); + aot_shen_x2e_bind_x21_( interp, - "shen.bind!", - &[__t2492, __t2493, __t2494, __t2495], + &[__t2338, __t2339, __t2340, __t2341], )? }); } else { { - let __t2490 = { - let __t2468 = { - let __t2466 = v_V1828.clone(); - rt::is_cons(&__t2466) + let __t2336 = { + let __t2314 = { + let __t2312 = v_V1828.clone(); + rt::is_cons(&__t2312) }; - if !rt::is_truthy(interp, &__t2468)? { + if !rt::is_truthy(interp, &__t2314)? { Value::bool(false) } else { - let __t2469 = { - let __t2467 = v_V1829.clone(); - rt::is_cons(&__t2467) + let __t2315 = { + let __t2313 = v_V1829.clone(); + rt::is_cons(&__t2313) }; - Value::bool(rt::is_truthy(interp, &__t2469)?) + Value::bool(rt::is_truthy(interp, &__t2315)?) } }; - if match rt::is_truthy(interp, &__t2490) { + if match rt::is_truthy(interp, &__t2336) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2473 = { - let __t2471 = { - let __t2470 = v_V1828.clone(); - rt::hd(&__t2470)? + let __t2319 = { + let __t2317 = { + let __t2316 = v_V1828.clone(); + rt::hd(&__t2316)? }; - let __t2472 = v_V1830.clone(); + let __t2318 = v_V1830.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2471, __t2472], + &[__t2317, __t2318], )? }; - let __t2477 = { - let __t2475 = { - let __t2474 = v_V1829.clone(); - rt::hd(&__t2474)? + let __t2323 = { + let __t2321 = { + let __t2320 = v_V1829.clone(); + rt::hd(&__t2320)? }; - let __t2476 = v_V1830.clone(); + let __t2322 = v_V1830.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2475, __t2476], + &[__t2321, __t2322], )? }; - let __t2478 = v_V1830.clone(); - let __t2489 = { + let __t2324 = v_V1830.clone(); + let __t2335 = { let v_V1828 = v_V1828.clone(); let v_V1829 = v_V1829.clone(); let v_V1830 = v_V1830.clone(); @@ -11041,38 +10715,37 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< 0, move |interp, _args| { Ok({ - let __t2482 = { - let __t2480 = { - let __t2479 = v_V1828.clone(); - rt::tl(&__t2479)? + let __t2328 = { + let __t2326 = { + let __t2325 = v_V1828.clone(); + rt::tl(&__t2325)? }; - let __t2481 = v_V1830.clone(); + let __t2327 = v_V1830.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2480, __t2481], + &[__t2326, __t2327], )? }; - let __t2486 = { - let __t2484 = { - let __t2483 = v_V1829.clone(); - rt::tl(&__t2483)? + let __t2332 = { + let __t2330 = { + let __t2329 = v_V1829.clone(); + rt::tl(&__t2329)? }; - let __t2485 = v_V1830.clone(); + let __t2331 = v_V1830.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2484, __t2485], + &[__t2330, __t2331], )? }; - let __t2487 = v_V1830.clone(); - let __t2488 = v_V1831.clone(); - rt::apply_direct( + let __t2333 = v_V1830.clone(); + let __t2334 = v_V1831.clone(); + aot_shen_x2e_lzy_x3d_( interp, - "shen.lzy=", &[ - __t2482, __t2486, __t2487, - __t2488, + __t2328, __t2332, __t2333, + __t2334, ], )? }) @@ -11081,16 +10754,16 @@ pub fn aot_shen_x2e_lzy_x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult< interp, ) }; - v_V1828 = __t2473; - v_V1829 = __t2477; - v_V1830 = __t2478; - v_V1831 = __t2489; + v_V1828 = __t2319; + v_V1829 = __t2323; + v_V1830 = __t2324; + v_V1831 = __t2335; continue; } } else { { - let __t2465 = Value::bool(true); - if match rt::is_truthy(interp, &__t2465) { + let __t2311 = Value::bool(true); + if match rt::is_truthy(interp, &__t2311) { Ok(b) => b, Err(e) => break Err(e), } { @@ -11135,57 +10808,57 @@ pub fn aot_shen_x2e_occurs_x2d_check_x3f_( #[allow(clippy::never_loop)] loop { { - let __t2518 = { - let __t2516 = v_V1837.clone(); - let __t2517 = v_V1838.clone(); - rt::eq(&__t2516, &__t2517) + let __t2364 = { + let __t2362 = v_V1837.clone(); + let __t2363 = v_V1838.clone(); + rt::eq(&__t2362, &__t2363) }; - if match rt::is_truthy(interp, &__t2518) { + if match rt::is_truthy(interp, &__t2364) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2515 = { - let __t2507 = v_V1838.clone(); - rt::is_cons(&__t2507) + let __t2361 = { + let __t2353 = v_V1838.clone(); + rt::is_cons(&__t2353) }; - if match rt::is_truthy(interp, &__t2515) { + if match rt::is_truthy(interp, &__t2361) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2511 = { - let __t2508 = v_V1837.clone(); - let __t2510 = { - let __t2509 = v_V1838.clone(); - rt::hd(&__t2509)? + let __t2357 = { + let __t2354 = v_V1837.clone(); + let __t2356 = { + let __t2355 = v_V1838.clone(); + rt::hd(&__t2355)? }; - rt::apply_direct(interp, "shen.occurs-check?", &[__t2508, __t2510])? + aot_shen_x2e_occurs_x2d_check_x3f_(interp, &[__t2354, __t2356])? }; - if match rt::is_truthy(interp, &__t2511) { + if match rt::is_truthy(interp, &__t2357) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2512 = v_V1837.clone(); - let __t2514 = { - let __t2513 = v_V1838.clone(); - rt::tl(&__t2513)? + let __t2358 = v_V1837.clone(); + let __t2360 = { + let __t2359 = v_V1838.clone(); + rt::tl(&__t2359)? }; - v_V1837 = __t2512; - v_V1838 = __t2514; + v_V1837 = __t2358; + v_V1838 = __t2360; continue; } } } } else { { - let __t2506 = Value::bool(true); - if match rt::is_truthy(interp, &__t2506) { + let __t2352 = Value::bool(true); + if match rt::is_truthy(interp, &__t2352) { Ok(b) => b, Err(e) => break Err(e), } { @@ -11227,20 +10900,20 @@ pub fn aot_call(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t2524 = { - let __t2522 = { - let __t2520 = { - let __t2519 = v_V1840.clone(); - rt::apply_value(interp, v_V1839.clone(), &[__t2519])? + let __t2370 = { + let __t2368 = { + let __t2366 = { + let __t2365 = v_V1840.clone(); + rt::apply_value(interp, v_V1839.clone(), &[__t2365])? }; - let __t2521 = v_V1841.clone(); - rt::apply_value(interp, __t2520, &[__t2521])? + let __t2367 = v_V1841.clone(); + rt::apply_value(interp, __t2366, &[__t2367])? }; - let __t2523 = v_V1842.clone(); - rt::apply_value(interp, __t2522, &[__t2523])? + let __t2369 = v_V1842.clone(); + rt::apply_value(interp, __t2368, &[__t2369])? }; - let __t2525 = v_V1843.clone(); - rt::apply_value(interp, __t2524, &[__t2525])? + let __t2371 = v_V1843.clone(); + rt::apply_value(interp, __t2370, &[__t2371])? }); } } @@ -11271,9 +10944,9 @@ pub fn aot_return(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t2526 = v_V1850.clone(); - let __t2527 = v_V1851.clone(); - rt::apply_direct(interp, "shen.deref", &[__t2526, __t2527])? + let __t2372 = v_V1850.clone(); + let __t2373 = v_V1851.clone(); + aot_shen_x2e_deref(interp, &[__t2372, __t2373])? }); } } @@ -11304,8 +10977,8 @@ pub fn aot_when(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t2528 = v_V1861.clone(); - if match rt::is_truthy(interp, &__t2528) { + let __t2374 = v_V1861.clone(); + if match rt::is_truthy(interp, &__t2374) { Ok(b) => b, Err(e) => break Err(e), } { @@ -11345,19 +11018,19 @@ pub fn aot_is(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t2531 = { - let __t2529 = v_V1866.clone(); - let __t2530 = v_V1868.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2529, __t2530])? + let __t2377 = { + let __t2375 = v_V1866.clone(); + let __t2376 = v_V1868.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2375, __t2376])? }; - let __t2534 = { - let __t2532 = v_V1867.clone(); - let __t2533 = v_V1868.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2532, __t2533])? + let __t2380 = { + let __t2378 = v_V1867.clone(); + let __t2379 = v_V1868.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2378, __t2379])? }; - let __t2535 = v_V1868.clone(); - let __t2536 = v_V1871.clone(); - rt::apply_direct(interp, "shen.lzy=", &[__t2531, __t2534, __t2535, __t2536])? + let __t2381 = v_V1868.clone(); + let __t2382 = v_V1871.clone(); + aot_shen_x2e_lzy_x3d_(interp, &[__t2377, __t2380, __t2381, __t2382])? }); } } @@ -11390,19 +11063,19 @@ pub fn aot_is_x21_(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t2539 = { - let __t2537 = v_V1872.clone(); - let __t2538 = v_V1874.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2537, __t2538])? + let __t2385 = { + let __t2383 = v_V1872.clone(); + let __t2384 = v_V1874.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2383, __t2384])? }; - let __t2542 = { - let __t2540 = v_V1873.clone(); - let __t2541 = v_V1874.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2540, __t2541])? + let __t2388 = { + let __t2386 = v_V1873.clone(); + let __t2387 = v_V1874.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2386, __t2387])? }; - let __t2543 = v_V1874.clone(); - let __t2544 = v_V1877.clone(); - rt::apply_direct(interp, "shen.lzy=!", &[__t2539, __t2542, __t2543, __t2544])? + let __t2389 = v_V1874.clone(); + let __t2390 = v_V1877.clone(); + aot_shen_x2e_lzy_x3d__x21_(interp, &[__t2385, __t2388, __t2389, __t2390])? }); } } @@ -11435,11 +11108,11 @@ pub fn aot_bind(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t2545 = v_V1882.clone(); - let __t2546 = v_V1883.clone(); - let __t2547 = v_V1884.clone(); - let __t2548 = v_V1887.clone(); - rt::apply_direct(interp, "shen.bind!", &[__t2545, __t2546, __t2547, __t2548])? + let __t2391 = v_V1882.clone(); + let __t2392 = v_V1883.clone(); + let __t2393 = v_V1884.clone(); + let __t2394 = v_V1887.clone(); + aot_shen_x2e_bind_x21_(interp, &[__t2391, __t2392, __t2393, __t2394])? }); } } @@ -11470,15 +11143,15 @@ pub fn aot_var_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t2552 = { - let __t2551 = { - let __t2549 = v_V1888.clone(); - let __t2550 = v_V1889.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2549, __t2550])? + let __t2398 = { + let __t2397 = { + let __t2395 = v_V1888.clone(); + let __t2396 = v_V1889.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2395, __t2396])? }; - rt::apply_direct(interp, "shen.pvar?", &[__t2551])? + rt::apply_direct(interp, "shen.pvar?", &[__t2397])? }; - if match rt::is_truthy(interp, &__t2552) { + if match rt::is_truthy(interp, &__t2398) { Ok(b) => b, Err(e) => break Err(e), } { @@ -11547,71 +11220,67 @@ pub fn aot_fork(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t2577 = { - let __t2575 = Value::nil(); - let __t2576 = v_V1914.clone(); - rt::eq(&__t2575, &__t2576) - }; - if match rt::is_truthy(interp, &__t2577) { + let __t2421 = Value::bool((v_V1914.clone()).is_nil()); + if match rt::is_truthy(interp, &__t2421) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t2574 = { - let __t2555 = v_V1914.clone(); - rt::is_cons(&__t2555) + let __t2420 = { + let __t2401 = v_V1914.clone(); + rt::is_cons(&__t2401) }; - if match rt::is_truthy(interp, &__t2574) { + if match rt::is_truthy(interp, &__t2420) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1919 = { - let __t2563 = { - let __t2561 = { - let __t2559 = { - let __t2557 = { - let __t2556 = v_V1914.clone(); - rt::hd(&__t2556)? + let __t2409 = { + let __t2407 = { + let __t2405 = { + let __t2403 = { + let __t2402 = v_V1914.clone(); + rt::hd(&__t2402)? }; - let __t2558 = v_V1915.clone(); - rt::apply_value(interp, __t2557, &[__t2558])? + let __t2404 = v_V1915.clone(); + rt::apply_value(interp, __t2403, &[__t2404])? }; - let __t2560 = v_V1916.clone(); - rt::apply_value(interp, __t2559, &[__t2560])? + let __t2406 = v_V1916.clone(); + rt::apply_value(interp, __t2405, &[__t2406])? }; - let __t2562 = v_V1917.clone(); - rt::apply_value(interp, __t2561, &[__t2562])? + let __t2408 = v_V1917.clone(); + rt::apply_value(interp, __t2407, &[__t2408])? }; - let __t2564 = v_V1918.clone(); - rt::apply_value(interp, __t2563, &[__t2564])? + let __t2410 = v_V1918.clone(); + rt::apply_value(interp, __t2409, &[__t2410])? }; { - let __t2567 = { - let __t2565 = v_W1919.clone(); - let __t2566 = Value::bool(false); - rt::eq(&__t2565, &__t2566) + let __t2413 = { + let __t2411 = v_W1919.clone(); + let __t2412 = Value::bool(false); + rt::eq(&__t2411, &__t2412) }; - if match rt::is_truthy(interp, &__t2567) { + if match rt::is_truthy(interp, &__t2413) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2569 = { - let __t2568 = v_V1914.clone(); - rt::tl(&__t2568)? + let __t2415 = { + let __t2414 = v_V1914.clone(); + rt::tl(&__t2414)? }; - let __t2570 = v_V1915.clone(); - let __t2571 = v_V1916.clone(); - let __t2572 = v_V1917.clone(); - let __t2573 = v_V1918.clone(); - v_V1914 = __t2569; - v_V1915 = __t2570; - v_V1916 = __t2571; - v_V1917 = __t2572; - v_V1918 = __t2573; + let __t2416 = v_V1915.clone(); + let __t2417 = v_V1916.clone(); + let __t2418 = v_V1917.clone(); + let __t2419 = v_V1918.clone(); + v_V1914 = __t2415; + v_V1915 = __t2416; + v_V1916 = __t2417; + v_V1917 = __t2418; + v_V1918 = __t2419; continue; } } else { @@ -11621,14 +11290,14 @@ pub fn aot_fork(interp: &mut Interp, args: &[Value]) -> ShenResult { } } else { { - let __t2554 = Value::bool(true); - if match rt::is_truthy(interp, &__t2554) { + let __t2400 = Value::bool(true); + if match rt::is_truthy(interp, &__t2400) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2553 = Value::str("fork expects a list of literals\n"); - rt::apply_direct(interp, "simple-error", &[__t2553])? + let __t2399 = Value::str("fork expects a list of literals\n"); + rt::apply_direct(interp, "simple-error", &[__t2399])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -11671,30 +11340,30 @@ pub fn aot_findall(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t2579 = { - let __t2578 = v_V1924.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2578])? + let __t2423 = { + let __t2422 = v_V1924.clone(); + aot_shen_x2e_unlocked_x3f_(interp, &[__t2422])? }; - if match rt::is_truthy(interp, &__t2579) { + if match rt::is_truthy(interp, &__t2423) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W1927 = { - let __t2580 = v_V1923.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t2580])? + let __t2424 = v_V1923.clone(); + aot_shen_x2e_newpv(interp, &[__t2424])? }; break Ok({ - let __t2581 = v_V1923.clone(); - let __t2596 = { - let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; + let __t2425 = v_V1923.clone(); + let __t2440 = { + let _ = { aot_shen_x2e_incinfs(interp, &[])? }; { - let __t2582 = v_W1927.clone(); - let __t2583 = Value::nil(); - let __t2584 = v_V1923.clone(); - let __t2585 = v_V1924.clone(); - let __t2586 = v_V1925.clone(); - let __t2595 = { + let __t2426 = v_W1927.clone(); + let __t2427 = Value::nil(); + let __t2428 = v_V1923.clone(); + let __t2429 = v_V1924.clone(); + let __t2430 = v_V1925.clone(); + let __t2439 = { let v_V1920 = v_V1920.clone(); let v_V1921 = v_V1921.clone(); let v_V1922 = v_V1922.clone(); @@ -11708,20 +11377,19 @@ pub fn aot_findall(interp: &mut Interp, args: &[Value]) -> ShenResult { 0, move |interp, _args| { Ok({ - let __t2587 = v_V1920.clone(); - let __t2588 = v_V1921.clone(); - let __t2589 = v_V1922.clone(); - let __t2590 = v_W1927.clone(); - let __t2591 = v_V1923.clone(); - let __t2592 = v_V1924.clone(); - let __t2593 = v_V1925.clone(); - let __t2594 = v_V1926.clone(); - rt::apply_direct( + let __t2431 = v_V1920.clone(); + let __t2432 = v_V1921.clone(); + let __t2433 = v_V1922.clone(); + let __t2434 = v_W1927.clone(); + let __t2435 = v_V1923.clone(); + let __t2436 = v_V1924.clone(); + let __t2437 = v_V1925.clone(); + let __t2438 = v_V1926.clone(); + aot_shen_x2e_findall_x2d_h( interp, - "shen.findall-h", &[ - __t2587, __t2588, __t2589, __t2590, - __t2591, __t2592, __t2593, __t2594, + __t2431, __t2432, __t2433, __t2434, + __t2435, __t2436, __t2437, __t2438, ], )? }) @@ -11733,14 +11401,13 @@ pub fn aot_findall(interp: &mut Interp, args: &[Value]) -> ShenResult { interp, ) }; - rt::apply_direct( + aot_is( interp, - "is", - &[__t2582, __t2583, __t2584, __t2585, __t2586, __t2595], + &[__t2426, __t2427, __t2428, __t2429, __t2430, __t2439], )? } }; - rt::apply_direct(interp, "shen.gc", &[__t2581, __t2596])? + aot_shen_x2e_gc(interp, &[__t2425, __t2440])? }); } } else { @@ -11783,19 +11450,19 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W1936 = { - let __t2609 = { - let __t2597 = v_V1933.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2597])? + let __t2453 = { + let __t2441 = v_V1933.clone(); + aot_shen_x2e_unlocked_x3f_(interp, &[__t2441])? }; - if rt::is_truthy(interp, &__t2609)? { + if rt::is_truthy(interp, &__t2453)? { { - let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; + let _ = { aot_shen_x2e_incinfs(interp, &[])? }; { - let __t2598 = v_V1929.clone(); - let __t2599 = v_V1932.clone(); - let __t2600 = v_V1933.clone(); - let __t2601 = v_V1934.clone(); - let __t2608 = { + let __t2442 = v_V1929.clone(); + let __t2443 = v_V1932.clone(); + let __t2444 = v_V1933.clone(); + let __t2445 = v_V1934.clone(); + let __t2452 = { let v_V1928 = v_V1928.clone(); let v_V1931 = v_V1931.clone(); let v_V1932 = v_V1932.clone(); @@ -11807,18 +11474,17 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe 0, move |interp, _args| { Ok({ - let __t2602 = v_V1928.clone(); - let __t2603 = v_V1931.clone(); - let __t2604 = v_V1932.clone(); - let __t2605 = v_V1933.clone(); - let __t2606 = v_V1934.clone(); - let __t2607 = v_V1935.clone(); - rt::apply_direct( + let __t2446 = v_V1928.clone(); + let __t2447 = v_V1931.clone(); + let __t2448 = v_V1932.clone(); + let __t2449 = v_V1933.clone(); + let __t2450 = v_V1934.clone(); + let __t2451 = v_V1935.clone(); + aot_shen_x2e_overbind( interp, - "shen.overbind", &[ - __t2602, __t2603, __t2604, __t2605, __t2606, - __t2607, + __t2446, __t2447, __t2448, __t2449, __t2450, + __t2451, ], )? }) @@ -11827,11 +11493,7 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe interp, ) }; - rt::apply_direct( - interp, - "call", - &[__t2598, __t2599, __t2600, __t2601, __t2608], - )? + aot_call(interp, &[__t2442, __t2443, __t2444, __t2445, __t2452])? } } } else { @@ -11839,37 +11501,36 @@ pub fn aot_shen_x2e_findall_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t2612 = { - let __t2610 = v_W1936.clone(); - let __t2611 = Value::bool(false); - rt::eq(&__t2610, &__t2611) + let __t2456 = { + let __t2454 = v_W1936.clone(); + let __t2455 = Value::bool(false); + rt::eq(&__t2454, &__t2455) }; - if match rt::is_truthy(interp, &__t2612) { + if match rt::is_truthy(interp, &__t2456) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2614 = { - let __t2613 = v_V1933.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2613])? + let __t2458 = { + let __t2457 = v_V1933.clone(); + aot_shen_x2e_unlocked_x3f_(interp, &[__t2457])? }; - if match rt::is_truthy(interp, &__t2614) { + if match rt::is_truthy(interp, &__t2458) { Ok(b) => b, Err(e) => break Err(e), } { { - let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; + let _ = { aot_shen_x2e_incinfs(interp, &[])? }; break Ok({ - let __t2615 = v_V1930.clone(); - let __t2616 = v_V1931.clone(); - let __t2617 = v_V1932.clone(); - let __t2618 = v_V1933.clone(); - let __t2619 = v_V1934.clone(); - let __t2620 = v_V1935.clone(); - rt::apply_direct( + let __t2459 = v_V1930.clone(); + let __t2460 = v_V1931.clone(); + let __t2461 = v_V1932.clone(); + let __t2462 = v_V1933.clone(); + let __t2463 = v_V1934.clone(); + let __t2464 = v_V1935.clone(); + aot_is_x21_( interp, - "is!", - &[__t2615, __t2616, __t2617, __t2618, __t2619, __t2620], + &[__t2459, __t2460, __t2461, __t2462, __t2463, __t2464], )? }); } @@ -11914,22 +11575,22 @@ pub fn aot_shen_x2e_overbind(interp: &mut Interp, args: &[Value]) -> ShenResult< loop { { let _ = { - let __t2621 = v_V1944.clone(); - let __t2628 = { - let __t2624 = { - let __t2622 = v_V1943.clone(); - let __t2623 = v_V1945.clone(); - rt::apply_direct(interp, "shen.deref", &[__t2622, __t2623])? + let __t2465 = v_V1944.clone(); + let __t2472 = { + let __t2468 = { + let __t2466 = v_V1943.clone(); + let __t2467 = v_V1945.clone(); + aot_shen_x2e_deref(interp, &[__t2466, __t2467])? }; - let __t2627 = { - let __t2625 = v_V1944.clone(); - let __t2626 = v_V1945.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2625, __t2626])? + let __t2471 = { + let __t2469 = v_V1944.clone(); + let __t2470 = v_V1945.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2469, __t2470])? }; - rt::cons(&__t2624, &__t2627) + rt::cons(&__t2468, &__t2471) }; - let __t2629 = v_V1945.clone(); - rt::apply_direct(interp, "shen.bindv", &[__t2621, __t2628, __t2629])? + let __t2473 = v_V1945.clone(); + aot_shen_x2e_bindv(interp, &[__t2465, __t2472, __t2473])? }; break Ok(Value::bool(false)); } @@ -11954,46 +11615,38 @@ pub fn aot_occurs_x2d_check(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t2639 = Value::sym(interp.intern("shen.*occurs*")); - let __t2640 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t2639, __t2640])? + let __v = Value::bool(true); + rt::set_global(interp, "shen.*occurs*", __v) }); } else { { - let __t2636 = { - let __t2632 = Value::sym(interp.intern("-")); - let __t2633 = v_V1951.clone(); - rt::eq(&__t2632, &__t2633) - }; - if match rt::is_truthy(interp, &__t2636) { + let __t2476 = + Value::bool((v_V1951.clone()).as_sym() == Some(interp.intern_static("-"))); + if match rt::is_truthy(interp, &__t2476) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2634 = Value::sym(interp.intern("shen.*occurs*")); - let __t2635 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t2634, __t2635])? + let __v = Value::bool(false); + rt::set_global(interp, "shen.*occurs*", __v) }); } else { { - let __t2631 = Value::bool(true); - if match rt::is_truthy(interp, &__t2631) { + let __t2475 = Value::bool(true); + if match rt::is_truthy(interp, &__t2475) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2630 = Value::str("occurs-check expects a + or a -.\n"); - rt::apply_direct(interp, "simple-error", &[__t2630])? + let __t2474 = Value::str("occurs-check expects a + or a -.\n"); + rt::apply_direct(interp, "simple-error", &[__t2474])? }); } else { break Err(ShenError::new("cond: no clause matched")); diff --git a/crates/shen-rust/src/aot/kernel/reader.rs b/crates/shen-rust/src/aot/kernel/reader.rs index 0e3bce9..4be2960 100644 --- a/crates/shen-rust/src/aot/kernel/reader.rs +++ b/crates/shen-rust/src/aot/kernel/reader.rs @@ -51,7 +51,7 @@ pub fn aot_read_x2d_file(interp: &mut Interp, args: &[Value]) -> ShenResult", &[__t1])? + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t1])? }) }, Vec::new(), @@ -71,11 +71,8 @@ pub fn aot_read_x2d_file(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult She #[allow(clippy::never_loop)] loop { break Ok({ - let __t14 = { - let __t13 = { - let __t7 = Value::str("reader error near here: "); - let __t12 = { - let __t9 = { - let __t8 = Value::sym(interp.intern("*maximum-print-sequence-size*")); - rt::apply_direct(interp, "value", &[__t8])? - }; - let __t10 = Value::int(0i64); - let __t11 = v_V2202.clone(); - rt::apply_direct( - interp, - "shen.reader-error-message", - &[__t9, __t10, __t11], - )? + let __t12 = { + let __t11 = { + let __t6 = Value::str("reader error near here: "); + let __t10 = { + let __t7 = rt::global_value(interp, "*maximum-print-sequence-size*")?; + let __t8 = Value::int(0i64); + let __t9 = v_V2202.clone(); + aot_shen_x2e_reader_x2d_error_x2d_message(interp, &[__t7, __t8, __t9])? }; - rt::apply_direct(interp, "cn", &[__t7, __t12])? + rt::cn(&__t6, &__t10)? }; - rt::apply_direct(interp, "shen.proc-nl", &[__t13])? + rt::apply_direct(interp, "shen.proc-nl", &[__t11])? }; - rt::apply_direct(interp, "simple-error", &[__t14])? + rt::apply_direct(interp, "simple-error", &[__t12])? }); } } @@ -166,77 +156,72 @@ pub fn aot_shen_x2e_reader_x2d_error_x2d_message( #[allow(clippy::never_loop)] loop { { - let __t34 = { - let __t32 = Value::nil(); - let __t33 = v_V2212.clone(); - rt::eq(&__t32, &__t33) - }; - if match rt::is_truthy(interp, &__t34) { + let __t30 = Value::bool((v_V2212.clone()).is_nil()); + if match rt::is_truthy(interp, &__t30) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t31 = { - let __t29 = v_V2210.clone(); - let __t30 = v_V2211.clone(); - rt::eq(&__t29, &__t30) + let __t29 = { + let __t27 = v_V2210.clone(); + let __t28 = v_V2211.clone(); + rt::eq(&__t27, &__t28) }; - if match rt::is_truthy(interp, &__t31) { + if match rt::is_truthy(interp, &__t29) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t28 = { - let __t17 = v_V2212.clone(); - rt::is_cons(&__t17) + let __t26 = { + let __t15 = v_V2212.clone(); + rt::is_cons(&__t15) }; - if match rt::is_truthy(interp, &__t28) { + if match rt::is_truthy(interp, &__t26) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t20 = { - let __t19 = { - let __t18 = v_V2212.clone(); - rt::hd(&__t18)? + let __t18 = { + let __t17 = { + let __t16 = v_V2212.clone(); + rt::hd(&__t16)? }; - rt::apply_direct(interp, "n->string", &[__t19])? + rt::n_to_string(&__t17)? }; - let __t27 = { - let __t21 = v_V2210.clone(); - let __t24 = { - let __t22 = v_V2211.clone(); - let __t23 = Value::int(1i64); - rt::add(&__t22, &__t23)? + let __t25 = { + let __t19 = v_V2210.clone(); + let __t22 = { + let __t20 = v_V2211.clone(); + let __t21 = Value::int(1i64); + rt::add(&__t20, &__t21)? }; - let __t26 = { - let __t25 = v_V2212.clone(); - rt::tl(&__t25)? + let __t24 = { + let __t23 = v_V2212.clone(); + rt::tl(&__t23)? }; - rt::apply_direct( + aot_shen_x2e_reader_x2d_error_x2d_message( interp, - "shen.reader-error-message", - &[__t21, __t24, __t26], + &[__t19, __t22, __t24], )? }; - rt::apply_direct(interp, "cn", &[__t20, __t27])? + rt::cn(&__t18, &__t25)? }); } else { { - let __t16 = Value::bool(true); - if match rt::is_truthy(interp, &__t16) { + let __t14 = Value::bool(true); + if match rt::is_truthy(interp, &__t14) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t15 = Value::str( + let __t13 = Value::str( "partial function shen.reader-error-message", ); - rt::apply_direct(interp, "simple-error", &[__t15])? + rt::apply_direct(interp, "simple-error", &[__t13])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -273,10 +258,7 @@ pub fn aot_it(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t35 = Value::sym(interp.intern("shen.*it*")); - rt::apply_direct(interp, "value", &[__t35])? - }); + break Ok(rt::global_value(interp, "shen.*it*")?); } } @@ -302,34 +284,33 @@ pub fn aot_read_x2d_file_x2d_as_x2d_bytelist( loop { { let v_W2214 = { - let __t36 = v_V2213.clone(); - let __t37 = Value::sym(interp.intern("in")); - rt::apply_direct(interp, "open", &[__t36, __t37])? + let __t31 = v_V2213.clone(); + let __t32 = Value::sym(interp.intern_static("in")); + rt::apply_direct(interp, "open", &[__t31, __t32])? }; { let v_W2215 = { - let __t38 = v_W2214.clone(); - rt::apply_direct(interp, "read-byte", &[__t38])? + let __t33 = v_W2214.clone(); + rt::apply_direct(interp, "read-byte", &[__t33])? }; { let v_W2216 = { - let __t39 = v_W2214.clone(); - let __t40 = v_W2215.clone(); - let __t41 = Value::nil(); - rt::apply_direct( + let __t34 = v_W2214.clone(); + let __t35 = v_W2215.clone(); + let __t36 = Value::nil(); + aot_shen_x2e_read_x2d_file_x2d_as_x2d_bytelist_x2d_help( interp, - "shen.read-file-as-bytelist-help", - &[__t39, __t40, __t41], + &[__t34, __t35, __t36], )? }; { let v_W2217 = { - let __t42 = v_W2214.clone(); - rt::apply_direct(interp, "close", &[__t42])? + let __t37 = v_W2214.clone(); + rt::apply_direct(interp, "close", &[__t37])? }; break Ok({ - let __t43 = v_W2216.clone(); - rt::apply_direct(interp, "reverse", &[__t43])? + let __t38 = v_W2216.clone(); + rt::apply_direct(interp, "reverse", &[__t38])? }); } } @@ -370,37 +351,37 @@ pub fn aot_shen_x2e_read_x2d_file_x2d_as_x2d_bytelist_x2d_help( #[allow(clippy::never_loop)] loop { { - let __t53 = { - let __t51 = Value::int(-1i64); - let __t52 = v_V2219.clone(); - rt::eq(&__t51, &__t52) + let __t48 = { + let __t46 = Value::int(-1i64); + let __t47 = v_V2219.clone(); + rt::eq(&__t46, &__t47) }; - if match rt::is_truthy(interp, &__t53) { + if match rt::is_truthy(interp, &__t48) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2220.clone()); } else { { - let __t50 = Value::bool(true); - if match rt::is_truthy(interp, &__t50) { + let __t45 = Value::bool(true); + if match rt::is_truthy(interp, &__t45) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t44 = v_V2218.clone(); - let __t46 = { - let __t45 = v_V2218.clone(); - rt::apply_direct(interp, "read-byte", &[__t45])? + let __t39 = v_V2218.clone(); + let __t41 = { + let __t40 = v_V2218.clone(); + rt::apply_direct(interp, "read-byte", &[__t40])? }; - let __t49 = { - let __t47 = v_V2219.clone(); - let __t48 = v_V2220.clone(); - rt::cons(&__t47, &__t48) + let __t44 = { + let __t42 = v_V2219.clone(); + let __t43 = v_V2220.clone(); + rt::cons(&__t42, &__t43) }; - v_V2218 = __t44; - v_V2219 = __t46; - v_V2220 = __t49; + v_V2218 = __t39; + v_V2219 = __t41; + v_V2220 = __t44; continue; } } else { @@ -441,18 +422,18 @@ pub fn aot_read_x2d_file_x2d_as_x2d_string( loop { { let v_W2222 = { - let __t54 = v_V2221.clone(); - let __t55 = Value::sym(interp.intern("in")); - rt::apply_direct(interp, "open", &[__t54, __t55])? + let __t49 = v_V2221.clone(); + let __t50 = Value::sym(interp.intern_static("in")); + rt::apply_direct(interp, "open", &[__t49, __t50])? }; break Ok({ - let __t56 = v_W2222.clone(); - let __t58 = { - let __t57 = v_W2222.clone(); - rt::apply_direct(interp, "read-byte", &[__t57])? + let __t51 = v_W2222.clone(); + let __t53 = { + let __t52 = v_W2222.clone(); + rt::apply_direct(interp, "read-byte", &[__t52])? }; - let __t59 = Value::str(""); - rt::apply_direct(interp, "shen.rfas-h", &[__t56, __t58, __t59])? + let __t54 = Value::str(""); + aot_shen_x2e_rfas_x2d_h(interp, &[__t51, __t53, __t54])? }); } } @@ -484,46 +465,46 @@ pub fn aot_shen_x2e_rfas_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t71 = { - let __t68 = Value::int(-1i64); - let __t69 = v_V2224.clone(); - rt::eq(&__t68, &__t69) + let __t66 = { + let __t63 = Value::int(-1i64); + let __t64 = v_V2224.clone(); + rt::eq(&__t63, &__t64) }; - if match rt::is_truthy(interp, &__t71) { + if match rt::is_truthy(interp, &__t66) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t70 = v_V2223.clone(); - rt::apply_direct(interp, "close", &[__t70])? + let __t65 = v_V2223.clone(); + rt::apply_direct(interp, "close", &[__t65])? }; break Ok(v_V2225.clone()); } } else { { - let __t67 = Value::bool(true); - if match rt::is_truthy(interp, &__t67) { + let __t62 = Value::bool(true); + if match rt::is_truthy(interp, &__t62) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t60 = v_V2223.clone(); - let __t62 = { - let __t61 = v_V2223.clone(); - rt::apply_direct(interp, "read-byte", &[__t61])? + let __t55 = v_V2223.clone(); + let __t57 = { + let __t56 = v_V2223.clone(); + rt::apply_direct(interp, "read-byte", &[__t56])? }; - let __t66 = { - let __t63 = v_V2225.clone(); - let __t65 = { - let __t64 = v_V2224.clone(); - rt::apply_direct(interp, "n->string", &[__t64])? + let __t61 = { + let __t58 = v_V2225.clone(); + let __t60 = { + let __t59 = v_V2224.clone(); + rt::n_to_string(&__t59)? }; - rt::apply_direct(interp, "cn", &[__t63, __t65])? + rt::cn(&__t58, &__t60)? }; - v_V2223 = __t60; - v_V2224 = __t62; - v_V2225 = __t66; + v_V2223 = __t55; + v_V2224 = __t57; + v_V2225 = __t61; continue; } } else { @@ -553,11 +534,11 @@ pub fn aot_input(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t73 = { - let __t72 = v_V2226.clone(); - rt::apply_direct(interp, "read", &[__t72])? + let __t68 = { + let __t67 = v_V2226.clone(); + aot_read(interp, &[__t67])? }; - rt::apply_direct(interp, "eval-kl", &[__t73])? + rt::apply_direct(interp, "eval-kl", &[__t68])? }); } } @@ -583,58 +564,58 @@ pub fn aot_shen_x2e_input_x2d_h_x2b_(interp: &mut Interp, args: &[Value]) -> She loop { { let v_W2229 = { - let __t74 = v_V2227.clone(); - rt::apply_direct(interp, "shen.monotype", &[__t74])? + let __t69 = v_V2227.clone(); + aot_shen_x2e_monotype(interp, &[__t69])? }; { let v_W2230 = { - let __t75 = v_V2228.clone(); - rt::apply_direct(interp, "read", &[__t75])? + let __t70 = v_V2228.clone(); + aot_read(interp, &[__t70])? }; { - let __t80 = { - let __t76 = Value::bool(false); - let __t79 = { - let __t77 = v_W2230.clone(); - let __t78 = v_V2227.clone(); - rt::apply_direct(interp, "shen.typecheck", &[__t77, __t78])? + let __t75 = { + let __t71 = Value::bool(false); + let __t74 = { + let __t72 = v_W2230.clone(); + let __t73 = v_V2227.clone(); + rt::apply_direct(interp, "shen.typecheck", &[__t72, __t73])? }; - rt::eq(&__t76, &__t79) + rt::eq(&__t71, &__t74) }; - if match rt::is_truthy(interp, &__t80) { + if match rt::is_truthy(interp, &__t75) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t91 = { - let __t81 = Value::str("type error: "); - let __t90 = { - let __t82 = v_W2230.clone(); - let __t88 = { - let __t83 = Value::str(" is not of type "); - let __t87 = { - let __t84 = v_V2227.clone(); - let __t85 = Value::str("\n"); - let __t86 = Value::sym(interp.intern("shen.r")); + let __t86 = { + let __t76 = Value::str("type error: "); + let __t85 = { + let __t77 = v_W2230.clone(); + let __t83 = { + let __t78 = Value::str(" is not of type "); + let __t82 = { + let __t79 = v_V2227.clone(); + let __t80 = Value::str("\n"); + let __t81 = Value::sym(interp.intern_static("shen.r")); rt::apply_direct( interp, "shen.app", - &[__t84, __t85, __t86], + &[__t79, __t80, __t81], )? }; - rt::apply_direct(interp, "cn", &[__t83, __t87])? + rt::cn(&__t78, &__t82)? }; - let __t89 = Value::sym(interp.intern("shen.r")); - rt::apply_direct(interp, "shen.app", &[__t82, __t88, __t89])? + let __t84 = Value::sym(interp.intern_static("shen.r")); + rt::apply_direct(interp, "shen.app", &[__t77, __t83, __t84])? }; - rt::apply_direct(interp, "cn", &[__t81, __t90])? + rt::cn(&__t76, &__t85)? }; - rt::apply_direct(interp, "simple-error", &[__t91])? + rt::apply_direct(interp, "simple-error", &[__t86])? }); } else { break Ok({ - let __t92 = v_W2230.clone(); - rt::apply_direct(interp, "eval-kl", &[__t92])? + let __t87 = v_W2230.clone(); + rt::apply_direct(interp, "eval-kl", &[__t87])? }); } } @@ -661,65 +642,65 @@ pub fn aot_shen_x2e_monotype(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let __t106 = { - let __t102 = v_V2231.clone(); - rt::is_cons(&__t102) + let __t101 = { + let __t97 = v_V2231.clone(); + rt::is_cons(&__t97) }; - if match rt::is_truthy(interp, &__t106) { + if match rt::is_truthy(interp, &__t101) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t104 = { + let __t99 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z2232 = args[0].clone(); Ok({ - let __t103 = v_Z2232.clone(); - rt::apply_direct(interp, "shen.monotype", &[__t103])? + let __t98 = v_Z2232.clone(); + aot_shen_x2e_monotype(interp, &[__t98])? }) }, Vec::new(), interp, ) }; - let __t105 = v_V2231.clone(); - rt::apply_direct(interp, "map", &[__t104, __t105])? + let __t100 = v_V2231.clone(); + rt::apply_direct(interp, "map", &[__t99, __t100])? }); } else { { - let __t101 = Value::bool(true); - if match rt::is_truthy(interp, &__t101) { + let __t96 = Value::bool(true); + if match rt::is_truthy(interp, &__t96) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t94 = { - let __t93 = v_V2231.clone(); - rt::apply_direct(interp, "variable?", &[__t93])? + let __t89 = { + let __t88 = v_V2231.clone(); + rt::apply_direct(interp, "variable?", &[__t88])? }; - if match rt::is_truthy(interp, &__t94) { + if match rt::is_truthy(interp, &__t89) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t100 = { - let __t95 = Value::str("input+ expects a monotype: not "); - let __t99 = { - let __t96 = v_V2231.clone(); - let __t97 = Value::str("\n"); - let __t98 = Value::sym(interp.intern("shen.a")); + let __t95 = { + let __t90 = Value::str("input+ expects a monotype: not "); + let __t94 = { + let __t91 = v_V2231.clone(); + let __t92 = Value::str("\n"); + let __t93 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t96, __t97, __t98], + &[__t91, __t92, __t93], )? }; - rt::apply_direct(interp, "cn", &[__t95, __t99])? + rt::cn(&__t90, &__t94)? }; - rt::apply_direct(interp, "simple-error", &[__t100])? + rt::apply_direct(interp, "simple-error", &[__t95])? }); } else { break Ok(v_V2231.clone()); @@ -752,28 +733,28 @@ pub fn aot_lineread(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t107 = v_V2233.clone(); - let __t109 = { - let __t108 = v_V2233.clone(); - rt::apply_direct(interp, "shen.my-read-byte", &[__t108])? + let __t102 = v_V2233.clone(); + let __t104 = { + let __t103 = v_V2233.clone(); + aot_shen_x2e_my_x2d_read_x2d_byte(interp, &[__t103])? }; - let __t110 = Value::nil(); - let __t112 = { + let __t105 = Value::nil(); + let __t107 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z2234 = args[0].clone(); Ok({ - let __t111 = v_Z2234.clone(); - rt::apply_direct(interp, "shen.return?", &[__t111])? + let __t106 = v_Z2234.clone(); + aot_shen_x2e_return_x3f_(interp, &[__t106])? }) }, Vec::new(), interp, ) }; - rt::apply_direct(interp, "shen.read-loop", &[__t107, __t109, __t110, __t112])? + aot_shen_x2e_read_x2d_loop(interp, &[__t102, __t104, __t105, __t107])? }); } } @@ -797,33 +778,33 @@ pub fn aot_read_x2d_from_x2d_string(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2236 = { - let __t113 = v_V2235.clone(); - rt::apply_direct(interp, "shen.str->bytes", &[__t113])? + let __t108 = v_V2235.clone(); + aot_shen_x2e_str_x2d__x3e_bytes(interp, &[__t108])? }; { let v_W2237 = { - let __t115 = { + let __t110 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z2238 = args[0].clone(); Ok({ - let __t114 = v_Z2238.clone(); - rt::apply_direct(interp, "shen.", &[__t114])? + let __t109 = v_Z2238.clone(); + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t109])? }) }, Vec::new(), interp, ) }; - let __t116 = v_W2236.clone(); - rt::apply_direct(interp, "compile", &[__t115, __t116])? + let __t111 = v_W2236.clone(); + rt::apply_direct(interp, "compile", &[__t110, __t111])? }; { let v_W2239 = { - let __t117 = v_W2237.clone(); - rt::apply_direct(interp, "shen.process-sexprs", &[__t117])? + let __t112 = v_W2237.clone(); + aot_shen_x2e_process_x2d_sexprs(interp, &[__t112])? }; break Ok(v_W2239.clone()); } @@ -854,28 +835,28 @@ pub fn aot_read_x2d_from_x2d_string_x2d_unprocessed( loop { { let v_W2241 = { - let __t118 = v_V2240.clone(); - rt::apply_direct(interp, "shen.str->bytes", &[__t118])? + let __t113 = v_V2240.clone(); + aot_shen_x2e_str_x2d__x3e_bytes(interp, &[__t113])? }; { let v_W2242 = { - let __t120 = { + let __t115 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z2243 = args[0].clone(); Ok({ - let __t119 = v_Z2243.clone(); - rt::apply_direct(interp, "shen.", &[__t119])? + let __t114 = v_Z2243.clone(); + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t114])? }) }, Vec::new(), interp, ) }; - let __t121 = v_W2241.clone(); - rt::apply_direct(interp, "compile", &[__t120, __t121])? + let __t116 = v_W2241.clone(); + rt::apply_direct(interp, "compile", &[__t115, __t116])? }; break Ok(v_W2242.clone()); } @@ -908,53 +889,49 @@ pub fn aot_shen_x2e_str_x2d__x3e_bytes(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t134 = { - let __t132 = Value::str(""); - let __t133 = v_V2244.clone(); - rt::eq(&__t132, &__t133) - }; - if match rt::is_truthy(interp, &__t134) { + let __t127 = Value::bool((v_V2244.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t127) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t131 = { - let __t124 = v_V2244.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t124])? + let __t126 = { + let __t119 = v_V2244.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t119])? }; - if match rt::is_truthy(interp, &__t131) { + if match rt::is_truthy(interp, &__t126) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t127 = { - let __t126 = { - let __t125 = v_V2244.clone(); - rt::apply_direct(interp, "hdstr", &[__t125])? + let __t122 = { + let __t121 = { + let __t120 = v_V2244.clone(); + rt::hdstr(&__t120)? }; - rt::apply_direct(interp, "string->n", &[__t126])? + rt::string_to_n(&__t121)? }; - let __t130 = { - let __t129 = { - let __t128 = v_V2244.clone(); - rt::apply_direct(interp, "tlstr", &[__t128])? + let __t125 = { + let __t124 = { + let __t123 = v_V2244.clone(); + rt::tlstr(&__t123)? }; - rt::apply_direct(interp, "shen.str->bytes", &[__t129])? + aot_shen_x2e_str_x2d__x3e_bytes(interp, &[__t124])? }; - rt::cons(&__t127, &__t130) + rt::cons(&__t122, &__t125) }); } else { { - let __t123 = Value::bool(true); - if match rt::is_truthy(interp, &__t123) { + let __t118 = Value::bool(true); + if match rt::is_truthy(interp, &__t118) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t122 = Value::str("partial function shen.str->bytes"); - rt::apply_direct(interp, "simple-error", &[__t122])? + let __t117 = Value::str("partial function shen.str->bytes"); + rt::apply_direct(interp, "simple-error", &[__t117])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -985,31 +962,31 @@ pub fn aot_read(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t141 = { - let __t135 = v_V2245.clone(); - let __t137 = { - let __t136 = v_V2245.clone(); - rt::apply_direct(interp, "shen.my-read-byte", &[__t136])? - }; - let __t138 = Value::nil(); - let __t140 = { + let __t134 = { + let __t128 = v_V2245.clone(); + let __t130 = { + let __t129 = v_V2245.clone(); + aot_shen_x2e_my_x2d_read_x2d_byte(interp, &[__t129])? + }; + let __t131 = Value::nil(); + let __t133 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z2246 = args[0].clone(); Ok({ - let __t139 = v_Z2246.clone(); - rt::apply_direct(interp, "shen.whitespace?", &[__t139])? + let __t132 = v_Z2246.clone(); + aot_shen_x2e_whitespace_x3f_(interp, &[__t132])? }) }, Vec::new(), interp, ) }; - rt::apply_direct(interp, "shen.read-loop", &[__t135, __t137, __t138, __t140])? + aot_shen_x2e_read_x2d_loop(interp, &[__t128, __t130, __t131, __t133])? }; - rt::hd(&__t141)? + rt::hd(&__t134)? }); } } @@ -1032,25 +1009,25 @@ pub fn aot_shen_x2e_my_x2d_read_x2d_byte(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t143 = { - let __t142 = v_V2247.clone(); - rt::apply_direct(interp, "shen.char-stinput?", &[__t142])? + let __t136 = { + let __t135 = v_V2247.clone(); + rt::apply_direct(interp, "shen.char-stinput?", &[__t135])? }; - if match rt::is_truthy(interp, &__t143) { + if match rt::is_truthy(interp, &__t136) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t145 = { - let __t144 = v_V2247.clone(); - rt::apply_direct(interp, "shen.read-unit-string", &[__t144])? + let __t138 = { + let __t137 = v_V2247.clone(); + rt::apply_direct(interp, "shen.read-unit-string", &[__t137])? }; - rt::apply_direct(interp, "string->n", &[__t145])? + rt::string_to_n(&__t138)? }); } else { break Ok({ - let __t146 = v_V2247.clone(); - rt::apply_direct(interp, "read-byte", &[__t146])? + let __t139 = v_V2247.clone(); + rt::apply_direct(interp, "read-byte", &[__t139])? }); } } @@ -1081,57 +1058,56 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t192 = { - let __t189 = Value::int(94i64); - let __t190 = v_V2253.clone(); - rt::eq(&__t189, &__t190) + let __t185 = { + let __t182 = Value::int(94i64); + let __t183 = v_V2253.clone(); + rt::eq(&__t182, &__t183) }; - if match rt::is_truthy(interp, &__t192) { + if match rt::is_truthy(interp, &__t185) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t191 = Value::str("read aborted"); - rt::apply_direct(interp, "simple-error", &[__t191])? + let __t184 = Value::str("read aborted"); + rt::apply_direct(interp, "simple-error", &[__t184])? }); } else { { - let __t188 = { - let __t180 = Value::int(-1i64); - let __t181 = v_V2253.clone(); - rt::eq(&__t180, &__t181) + let __t181 = { + let __t173 = Value::int(-1i64); + let __t174 = v_V2253.clone(); + rt::eq(&__t173, &__t174) }; - if match rt::is_truthy(interp, &__t188) { + if match rt::is_truthy(interp, &__t181) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t183 = { - let __t182 = v_V2254.clone(); - rt::apply_direct(interp, "empty?", &[__t182])? + let __t176 = { + let __t175 = v_V2254.clone(); + rt::is_empty(&__t175) }; - if match rt::is_truthy(interp, &__t183) { + if match rt::is_truthy(interp, &__t176) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t184 = Value::str("error: empty stream"); - rt::apply_direct(interp, "simple-error", &[__t184])? + let __t177 = Value::str("error: empty stream"); + rt::apply_direct(interp, "simple-error", &[__t177])? }); } else { break Ok({ - let __t186 = { + let __t179 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z2256 = args[0].clone(); Ok({ - let __t185 = v_Z2256.clone(); - rt::apply_direct( + let __t178 = v_Z2256.clone(); + aot_shen_x2e__x3c_s_x2d_exprs_x3e_( interp, - "shen.", - &[__t185], + &[__t178], )? }) }, @@ -1139,113 +1115,106 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe interp, ) }; - let __t187 = v_V2254.clone(); - rt::apply_direct(interp, "compile", &[__t186, __t187])? + let __t180 = v_V2254.clone(); + rt::apply_direct(interp, "compile", &[__t179, __t180])? }); } } } else { { - let __t179 = { - let __t172 = Value::int(0i64); - let __t173 = v_V2253.clone(); - rt::eq(&__t172, &__t173) + let __t172 = { + let __t165 = Value::int(0i64); + let __t166 = v_V2253.clone(); + rt::eq(&__t165, &__t166) }; - if match rt::is_truthy(interp, &__t179) { + if match rt::is_truthy(interp, &__t172) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t174 = v_V2252.clone(); - let __t176 = { - let __t175 = v_V2252.clone(); - rt::apply_direct(interp, "shen.my-read-byte", &[__t175])? + let __t167 = v_V2252.clone(); + let __t169 = { + let __t168 = v_V2252.clone(); + aot_shen_x2e_my_x2d_read_x2d_byte(interp, &[__t168])? }; - let __t177 = v_V2254.clone(); - let __t178 = v_V2255.clone(); - v_V2252 = __t174; - v_V2253 = __t176; - v_V2254 = __t177; - v_V2255 = __t178; + let __t170 = v_V2254.clone(); + let __t171 = v_V2255.clone(); + v_V2252 = __t167; + v_V2253 = __t169; + v_V2254 = __t170; + v_V2255 = __t171; continue; } } else { { - let __t171 = Value::bool(true); - if match rt::is_truthy(interp, &__t171) { + let __t164 = Value::bool(true); + if match rt::is_truthy(interp, &__t164) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t148 = { - let __t147 = v_V2253.clone(); - rt::apply_value(interp, v_V2255.clone(), &[__t147])? + let __t141 = { + let __t140 = v_V2253.clone(); + rt::apply_value(interp, v_V2255.clone(), &[__t140])? }; - if match rt::is_truthy(interp, &__t148) { + if match rt::is_truthy(interp, &__t141) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2257 = { - let __t149 = v_V2254.clone(); - rt::apply_direct( + let __t142 = v_V2254.clone(); + aot_shen_x2e_try_x2d_parse( interp, - "shen.try-parse", - &[__t149], + &[__t142], )? }; { - let __t151 = { - let __t150 = v_W2257.clone(); - rt::apply_direct( + let __t144 = { + let __t143 = v_W2257.clone(); + aot_shen_x2e_nothing_x2d_doing_x3f_( interp, - "shen.nothing-doing?", - &[__t150], + &[__t143], )? }; - if match rt::is_truthy(interp, &__t151) { + if match rt::is_truthy(interp, &__t144) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t152 = v_V2252.clone(); - let __t154 = { - let __t153 = v_V2252.clone(); - rt::apply_direct( - interp, - "shen.my-read-byte", - &[__t153], - )? + let __t145 = v_V2252.clone(); + let __t147 = { + let __t146 = v_V2252.clone(); + aot_shen_x2e_my_x2d_read_x2d_byte(interp, &[__t146])? }; - let __t159 = { - let __t155 = v_V2254.clone(); - let __t158 = { - let __t156 = + let __t152 = { + let __t148 = v_V2254.clone(); + let __t151 = { + let __t149 = v_V2253.clone(); - let __t157 = Value::nil(); - rt::cons(&__t156, &__t157) + let __t150 = Value::nil(); + rt::cons(&__t149, &__t150) }; rt::apply_direct( interp, "append", - &[__t155, __t158], + &[__t148, __t151], )? }; - let __t160 = v_V2255.clone(); - v_V2252 = __t152; - v_V2253 = __t154; - v_V2254 = __t159; - v_V2255 = __t160; + let __t153 = v_V2255.clone(); + v_V2252 = __t145; + v_V2253 = __t147; + v_V2254 = __t152; + v_V2255 = __t153; continue; } } else { { let _ = { - let __t161 = v_V2254.clone(); - rt::apply_direct( + let __t154 = v_V2254.clone(); + aot_shen_x2e_record_x2d_it( interp, - "shen.record-it", - &[__t161], + &[__t154], )? }; break Ok(v_W2257.clone()); @@ -1255,33 +1224,32 @@ pub fn aot_shen_x2e_read_x2d_loop(interp: &mut Interp, args: &[Value]) -> ShenRe } } else { { - let __t162 = v_V2252.clone(); - let __t164 = { - let __t163 = v_V2252.clone(); - rt::apply_direct( + let __t155 = v_V2252.clone(); + let __t157 = { + let __t156 = v_V2252.clone(); + aot_shen_x2e_my_x2d_read_x2d_byte( interp, - "shen.my-read-byte", - &[__t163], + &[__t156], )? }; - let __t169 = { - let __t165 = v_V2254.clone(); - let __t168 = { - let __t166 = v_V2253.clone(); - let __t167 = Value::nil(); - rt::cons(&__t166, &__t167) + let __t162 = { + let __t158 = v_V2254.clone(); + let __t161 = { + let __t159 = v_V2253.clone(); + let __t160 = Value::nil(); + rt::cons(&__t159, &__t160) }; rt::apply_direct( interp, "append", - &[__t165, __t168], + &[__t158, __t161], )? }; - let __t170 = v_V2255.clone(); - v_V2252 = __t162; - v_V2253 = __t164; - v_V2254 = __t169; - v_V2255 = __t170; + let __t163 = v_V2255.clone(); + v_V2252 = __t155; + v_V2253 = __t157; + v_V2254 = __t162; + v_V2255 = __t163; continue; } } @@ -1319,23 +1287,23 @@ pub fn aot_shen_x2e_try_x2d_parse(interp: &mut Interp, args: &[Value]) -> ShenRe { let v_W2259 = match (|| -> ShenResult { Ok({ - let __t194 = { + let __t187 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z2260 = args[0].clone(); Ok({ - let __t193 = v_Z2260.clone(); - rt::apply_direct(interp, "shen.", &[__t193])? + let __t186 = v_Z2260.clone(); + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t186])? }) }, Vec::new(), interp, ) }; - let __t195 = v_V2258.clone(); - rt::apply_direct(interp, "compile", &[__t194, __t195])? + let __t188 = v_V2258.clone(); + rt::apply_direct(interp, "compile", &[__t187, __t188])? }) })() { Ok(v) => v, @@ -1346,7 +1314,7 @@ pub fn aot_shen_x2e_try_x2d_parse(interp: &mut Interp, args: &[Value]) -> ShenRe 1, move |interp, args| { let v_Z2261 = args[0].clone(); - Ok(Value::sym(interp.intern("shen.i-failed!"))) + Ok(Value::sym(interp.intern_static("shen.i-failed!"))) }, Vec::new(), interp, @@ -1357,19 +1325,19 @@ pub fn aot_shen_x2e_try_x2d_parse(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t197 = { - let __t196 = v_W2259.clone(); - rt::apply_direct(interp, "shen.nothing-doing?", &[__t196])? + let __t190 = { + let __t189 = v_W2259.clone(); + aot_shen_x2e_nothing_x2d_doing_x3f_(interp, &[__t189])? }; - if match rt::is_truthy(interp, &__t197) { + if match rt::is_truthy(interp, &__t190) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.i-failed!"))); + break Ok(Value::sym(interp.intern_static("shen.i-failed!"))); } else { break Ok({ - let __t198 = v_W2259.clone(); - rt::apply_direct(interp, "shen.process-sexprs", &[__t198])? + let __t191 = v_W2259.clone(); + aot_shen_x2e_process_x2d_sexprs(interp, &[__t191])? }); } } @@ -1398,32 +1366,26 @@ pub fn aot_shen_x2e_nothing_x2d_doing_x3f_( #[allow(clippy::never_loop)] loop { { - let __t205 = { - let __t203 = Value::sym(interp.intern("shen.i-failed!")); - let __t204 = v_V2264.clone(); - rt::eq(&__t203, &__t204) - }; - if match rt::is_truthy(interp, &__t205) { + let __t194 = Value::bool( + (v_V2264.clone()).as_sym() == Some(interp.intern_static("shen.i-failed!")), + ); + if match rt::is_truthy(interp, &__t194) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t202 = { - let __t200 = Value::nil(); - let __t201 = v_V2264.clone(); - rt::eq(&__t200, &__t201) - }; - if match rt::is_truthy(interp, &__t202) { + let __t193 = Value::bool((v_V2264.clone()).is_nil()); + if match rt::is_truthy(interp, &__t193) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t199 = Value::bool(true); - if match rt::is_truthy(interp, &__t199) { + let __t192 = Value::bool(true); + if match rt::is_truthy(interp, &__t192) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1461,12 +1423,11 @@ pub fn aot_shen_x2e_record_x2d_it(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { break Ok({ - let __t206 = Value::sym(interp.intern("shen.*it*")); - let __t208 = { - let __t207 = v_V2265.clone(); - rt::apply_direct(interp, "shen.bytes->string", &[__t207])? + let __v = { + let __t195 = v_V2265.clone(); + aot_shen_x2e_bytes_x2d__x3e_string(interp, &[__t195])? }; - rt::apply_direct(interp, "set", &[__t206, __t208])? + rt::set_global(interp, "shen.*it*", __v) }); } } @@ -1492,53 +1453,49 @@ pub fn aot_shen_x2e_bytes_x2d__x3e_string( #[allow(clippy::never_loop)] loop { { - let __t221 = { - let __t219 = Value::nil(); - let __t220 = v_V2266.clone(); - rt::eq(&__t219, &__t220) - }; - if match rt::is_truthy(interp, &__t221) { + let __t206 = Value::bool((v_V2266.clone()).is_nil()); + if match rt::is_truthy(interp, &__t206) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t218 = { - let __t211 = v_V2266.clone(); - rt::is_cons(&__t211) + let __t205 = { + let __t198 = v_V2266.clone(); + rt::is_cons(&__t198) }; - if match rt::is_truthy(interp, &__t218) { + if match rt::is_truthy(interp, &__t205) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t214 = { - let __t213 = { - let __t212 = v_V2266.clone(); - rt::hd(&__t212)? + let __t201 = { + let __t200 = { + let __t199 = v_V2266.clone(); + rt::hd(&__t199)? }; - rt::apply_direct(interp, "n->string", &[__t213])? + rt::n_to_string(&__t200)? }; - let __t217 = { - let __t216 = { - let __t215 = v_V2266.clone(); - rt::tl(&__t215)? + let __t204 = { + let __t203 = { + let __t202 = v_V2266.clone(); + rt::tl(&__t202)? }; - rt::apply_direct(interp, "shen.bytes->string", &[__t216])? + aot_shen_x2e_bytes_x2d__x3e_string(interp, &[__t203])? }; - rt::apply_direct(interp, "cn", &[__t214, __t217])? + rt::cn(&__t201, &__t204)? }); } else { { - let __t210 = Value::bool(true); - if match rt::is_truthy(interp, &__t210) { + let __t197 = Value::bool(true); + if match rt::is_truthy(interp, &__t197) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t209 = Value::str("partial function shen.bytes->string"); - rt::apply_direct(interp, "simple-error", &[__t209])? + let __t196 = Value::str("partial function shen.bytes->string"); + rt::apply_direct(interp, "simple-error", &[__t196])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1570,21 +1527,21 @@ pub fn aot_shen_x2e_process_x2d_sexprs(interp: &mut Interp, args: &[Value]) -> S loop { { let v_W2268 = { - let __t222 = v_V2267.clone(); - rt::apply_direct(interp, "shen.unpackage¯oexpand", &[__t222])? + let __t207 = v_V2267.clone(); + aot_shen_x2e_unpackage_x26_macroexpand(interp, &[__t207])? }; { let v_W2269 = { - let __t223 = v_W2268.clone(); - rt::apply_direct(interp, "shen.find-arities", &[__t223])? + let __t208 = v_W2268.clone(); + aot_shen_x2e_find_x2d_arities(interp, &[__t208])? }; { let v_W2270 = { - let __t224 = v_W2268.clone(); - rt::apply_direct(interp, "shen.find-types", &[__t224])? + let __t209 = v_W2268.clone(); + aot_shen_x2e_find_x2d_types(interp, &[__t209])? }; break Ok({ - let __t227 = { + let __t212 = { let v_W2270 = v_W2270.clone(); rt::make_aot_closure( "", @@ -1592,12 +1549,11 @@ pub fn aot_shen_x2e_process_x2d_sexprs(interp: &mut Interp, args: &[Value]) -> S move |interp, args| { let v_Z2271 = args[0].clone(); Ok({ - let __t225 = v_Z2271.clone(); - let __t226 = v_W2270.clone(); - rt::apply_direct( + let __t210 = v_Z2271.clone(); + let __t211 = v_W2270.clone(); + aot_shen_x2e_process_x2d_applications( interp, - "shen.process-applications", - &[__t225, __t226], + &[__t210, __t211], )? }) }, @@ -1605,8 +1561,8 @@ pub fn aot_shen_x2e_process_x2d_sexprs(interp: &mut Interp, args: &[Value]) -> S interp, ) }; - let __t228 = v_W2268.clone(); - rt::apply_direct(interp, "map", &[__t227, __t228])? + let __t213 = v_W2268.clone(); + rt::apply_direct(interp, "map", &[__t212, __t213])? }); } } @@ -1632,97 +1588,94 @@ pub fn aot_shen_x2e_find_x2d_types(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t256 = { - let __t247 = { - let __t238 = v_V2272.clone(); - rt::is_cons(&__t238) + let __t240 = { + let __t231 = { + let __t223 = v_V2272.clone(); + rt::is_cons(&__t223) }; - if !rt::is_truthy(interp, &__t247)? { + if !rt::is_truthy(interp, &__t231)? { Value::bool(false) } else { - let __t248 = { - let __t245 = { - let __t240 = { - let __t239 = v_V2272.clone(); - rt::tl(&__t239)? + let __t232 = { + let __t229 = { + let __t225 = { + let __t224 = v_V2272.clone(); + rt::tl(&__t224)? }; - rt::is_cons(&__t240) + rt::is_cons(&__t225) }; - if !rt::is_truthy(interp, &__t245)? { + if !rt::is_truthy(interp, &__t229)? { Value::bool(false) } else { - let __t246 = { - let __t242 = { - let __t241 = v_V2272.clone(); - rt::hd(&__t241)? - }; - let __t244 = { - let __t243 = Value::str(":"); - rt::apply_direct(interp, "intern", &[__t243])? + let __t230 = { + let __t227 = { + let __t226 = v_V2272.clone(); + rt::hd(&__t226)? }; - rt::eq(&__t242, &__t244) + let __t228 = Value::sym(interp.intern_static(":")); + rt::eq(&__t227, &__t228) }; - Value::bool(rt::is_truthy(interp, &__t246)?) + Value::bool(rt::is_truthy(interp, &__t230)?) } }; - Value::bool(rt::is_truthy(interp, &__t248)?) + Value::bool(rt::is_truthy(interp, &__t232)?) } }; - if match rt::is_truthy(interp, &__t256) { + if match rt::is_truthy(interp, &__t240) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t251 = { - let __t250 = { - let __t249 = v_V2272.clone(); - rt::tl(&__t249)? + let __t235 = { + let __t234 = { + let __t233 = v_V2272.clone(); + rt::tl(&__t233)? }; - rt::hd(&__t250)? + rt::hd(&__t234)? }; - let __t255 = { - let __t254 = { - let __t253 = { - let __t252 = v_V2272.clone(); - rt::tl(&__t252)? + let __t239 = { + let __t238 = { + let __t237 = { + let __t236 = v_V2272.clone(); + rt::tl(&__t236)? }; - rt::tl(&__t253)? + rt::tl(&__t237)? }; - rt::apply_direct(interp, "shen.find-types", &[__t254])? + aot_shen_x2e_find_x2d_types(interp, &[__t238])? }; - rt::cons(&__t251, &__t255) + rt::cons(&__t235, &__t239) }); } else { { - let __t237 = { - let __t230 = v_V2272.clone(); - rt::is_cons(&__t230) + let __t222 = { + let __t215 = v_V2272.clone(); + rt::is_cons(&__t215) }; - if match rt::is_truthy(interp, &__t237) { + if match rt::is_truthy(interp, &__t222) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t233 = { - let __t232 = { - let __t231 = v_V2272.clone(); - rt::hd(&__t231)? + let __t218 = { + let __t217 = { + let __t216 = v_V2272.clone(); + rt::hd(&__t216)? }; - rt::apply_direct(interp, "shen.find-types", &[__t232])? + aot_shen_x2e_find_x2d_types(interp, &[__t217])? }; - let __t236 = { - let __t235 = { - let __t234 = v_V2272.clone(); - rt::tl(&__t234)? + let __t221 = { + let __t220 = { + let __t219 = v_V2272.clone(); + rt::tl(&__t219)? }; - rt::apply_direct(interp, "shen.find-types", &[__t235])? + aot_shen_x2e_find_x2d_types(interp, &[__t220])? }; - rt::apply_direct(interp, "append", &[__t233, __t236])? + rt::apply_direct(interp, "append", &[__t218, __t221])? }); } else { { - let __t229 = Value::bool(true); - if match rt::is_truthy(interp, &__t229) { + let __t214 = Value::bool(true); + if match rt::is_truthy(interp, &__t214) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1756,206 +1709,201 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t319 = { - let __t305 = { - let __t285 = v_V2275.clone(); - rt::is_cons(&__t285) + let __t297 = { + let __t283 = { + let __t267 = v_V2275.clone(); + rt::is_cons(&__t267) }; - if !rt::is_truthy(interp, &__t305)? { + if !rt::is_truthy(interp, &__t283)? { Value::bool(false) } else { - let __t306 = { - let __t303 = { - let __t286 = Value::sym(interp.intern("define")); - let __t288 = { - let __t287 = v_V2275.clone(); - rt::hd(&__t287)? - }; - rt::eq(&__t286, &__t288) - }; - if !rt::is_truthy(interp, &__t303)? { + let __t284 = { + let __t281 = Value::bool( + ({ + let __t268 = v_V2275.clone(); + rt::hd(&__t268)? + }) + .as_sym() + == Some(interp.intern_static("define")), + ); + if !rt::is_truthy(interp, &__t281)? { Value::bool(false) } else { - let __t304 = { - let __t301 = { - let __t290 = { - let __t289 = v_V2275.clone(); - rt::tl(&__t289)? + let __t282 = { + let __t279 = { + let __t270 = { + let __t269 = v_V2275.clone(); + rt::tl(&__t269)? }; - rt::is_cons(&__t290) + rt::is_cons(&__t270) }; - if !rt::is_truthy(interp, &__t301)? { + if !rt::is_truthy(interp, &__t279)? { Value::bool(false) } else { - let __t302 = { - let __t299 = { - let __t293 = { - let __t292 = { - let __t291 = v_V2275.clone(); - rt::tl(&__t291)? + let __t280 = { + let __t277 = { + let __t273 = { + let __t272 = { + let __t271 = v_V2275.clone(); + rt::tl(&__t271)? }; - rt::tl(&__t292)? + rt::tl(&__t272)? }; - rt::is_cons(&__t293) + rt::is_cons(&__t273) }; - if !rt::is_truthy(interp, &__t299)? { + if !rt::is_truthy(interp, &__t277)? { Value::bool(false) } else { - let __t300 = { - let __t294 = Value::sym(interp.intern("{")); - let __t298 = { - let __t297 = { - let __t296 = { - let __t295 = v_V2275.clone(); - rt::tl(&__t295)? + let __t278 = Value::bool( + ({ + let __t276 = { + let __t275 = { + let __t274 = v_V2275.clone(); + rt::tl(&__t274)? }; - rt::tl(&__t296)? + rt::tl(&__t275)? }; - rt::hd(&__t297)? - }; - rt::eq(&__t294, &__t298) - }; - Value::bool(rt::is_truthy(interp, &__t300)?) + rt::hd(&__t276)? + }) + .as_sym() + == Some(interp.intern_static("{")), + ); + Value::bool(rt::is_truthy(interp, &__t278)?) } }; - Value::bool(rt::is_truthy(interp, &__t302)?) + Value::bool(rt::is_truthy(interp, &__t280)?) } }; - Value::bool(rt::is_truthy(interp, &__t304)?) + Value::bool(rt::is_truthy(interp, &__t282)?) } }; - Value::bool(rt::is_truthy(interp, &__t306)?) + Value::bool(rt::is_truthy(interp, &__t284)?) } }; - if match rt::is_truthy(interp, &__t319) { + if match rt::is_truthy(interp, &__t297) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t309 = { - let __t308 = { - let __t307 = v_V2275.clone(); - rt::tl(&__t307)? + let __t287 = { + let __t286 = { + let __t285 = v_V2275.clone(); + rt::tl(&__t285)? }; - rt::hd(&__t308)? + rt::hd(&__t286)? }; - let __t318 = { - let __t312 = { - let __t311 = { - let __t310 = v_V2275.clone(); - rt::tl(&__t310)? + let __t296 = { + let __t290 = { + let __t289 = { + let __t288 = v_V2275.clone(); + rt::tl(&__t288)? }; - rt::hd(&__t311)? + rt::hd(&__t289)? }; - let __t313 = Value::int(1i64); - let __t317 = { - let __t316 = { - let __t315 = { - let __t314 = v_V2275.clone(); - rt::tl(&__t314)? + let __t291 = Value::int(1i64); + let __t295 = { + let __t294 = { + let __t293 = { + let __t292 = v_V2275.clone(); + rt::tl(&__t292)? }; - rt::tl(&__t315)? + rt::tl(&__t293)? }; - rt::tl(&__t316)? + rt::tl(&__t294)? }; - rt::apply_direct(interp, "shen.find-arity", &[__t312, __t313, __t317])? + aot_shen_x2e_find_x2d_arity(interp, &[__t290, __t291, __t295])? }; - rt::apply_direct(interp, "shen.store-arity", &[__t309, __t318])? + aot_shen_x2e_store_x2d_arity(interp, &[__t287, __t296])? }); } else { { - let __t284 = { - let __t271 = { - let __t263 = v_V2275.clone(); - rt::is_cons(&__t263) + let __t266 = { + let __t253 = { + let __t247 = v_V2275.clone(); + rt::is_cons(&__t247) }; - if !rt::is_truthy(interp, &__t271)? { + if !rt::is_truthy(interp, &__t253)? { Value::bool(false) } else { - let __t272 = { - let __t269 = { - let __t264 = Value::sym(interp.intern("define")); - let __t266 = { - let __t265 = v_V2275.clone(); - rt::hd(&__t265)? - }; - rt::eq(&__t264, &__t266) - }; - if !rt::is_truthy(interp, &__t269)? { + let __t254 = { + let __t251 = Value::bool( + ({ + let __t248 = v_V2275.clone(); + rt::hd(&__t248)? + }) + .as_sym() + == Some(interp.intern_static("define")), + ); + if !rt::is_truthy(interp, &__t251)? { Value::bool(false) } else { - let __t270 = { - let __t268 = { - let __t267 = v_V2275.clone(); - rt::tl(&__t267)? + let __t252 = { + let __t250 = { + let __t249 = v_V2275.clone(); + rt::tl(&__t249)? }; - rt::is_cons(&__t268) + rt::is_cons(&__t250) }; - Value::bool(rt::is_truthy(interp, &__t270)?) + Value::bool(rt::is_truthy(interp, &__t252)?) } }; - Value::bool(rt::is_truthy(interp, &__t272)?) + Value::bool(rt::is_truthy(interp, &__t254)?) } }; - if match rt::is_truthy(interp, &__t284) { + if match rt::is_truthy(interp, &__t266) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t275 = { - let __t274 = { - let __t273 = v_V2275.clone(); - rt::tl(&__t273)? + let __t257 = { + let __t256 = { + let __t255 = v_V2275.clone(); + rt::tl(&__t255)? }; - rt::hd(&__t274)? + rt::hd(&__t256)? }; - let __t283 = { - let __t278 = { - let __t277 = { - let __t276 = v_V2275.clone(); - rt::tl(&__t276)? + let __t265 = { + let __t260 = { + let __t259 = { + let __t258 = v_V2275.clone(); + rt::tl(&__t258)? }; - rt::hd(&__t277)? + rt::hd(&__t259)? }; - let __t279 = Value::int(0i64); - let __t282 = { - let __t281 = { - let __t280 = v_V2275.clone(); - rt::tl(&__t280)? + let __t261 = Value::int(0i64); + let __t264 = { + let __t263 = { + let __t262 = v_V2275.clone(); + rt::tl(&__t262)? }; - rt::tl(&__t281)? + rt::tl(&__t263)? }; - rt::apply_direct( - interp, - "shen.find-arity", - &[__t278, __t279, __t282], - )? + aot_shen_x2e_find_x2d_arity(interp, &[__t260, __t261, __t264])? }; - rt::apply_direct(interp, "shen.store-arity", &[__t275, __t283])? + aot_shen_x2e_store_x2d_arity(interp, &[__t257, __t265])? }); } else { { - let __t262 = { - let __t258 = v_V2275.clone(); - rt::is_cons(&__t258) + let __t246 = { + let __t242 = v_V2275.clone(); + rt::is_cons(&__t242) }; - if match rt::is_truthy(interp, &__t262) { + if match rt::is_truthy(interp, &__t246) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t260 = { + let __t244 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z2276 = args[0].clone(); Ok({ - let __t259 = v_Z2276.clone(); - rt::apply_direct( + let __t243 = v_Z2276.clone(); + aot_shen_x2e_find_x2d_arities( interp, - "shen.find-arities", - &[__t259], + &[__t243], )? }) }, @@ -1963,17 +1911,17 @@ pub fn aot_shen_x2e_find_x2d_arities(interp: &mut Interp, args: &[Value]) -> She interp, ) }; - let __t261 = v_V2275.clone(); - rt::apply_direct(interp, "map", &[__t260, __t261])? + let __t245 = v_V2275.clone(); + rt::apply_direct(interp, "map", &[__t244, __t245])? }); } else { { - let __t257 = Value::bool(true); - if match rt::is_truthy(interp, &__t257) { + let __t241 = Value::bool(true); + if match rt::is_truthy(interp, &__t241) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.skip"))); + break Ok(Value::sym(interp.intern_static("shen.skip"))); } else { break Err(ShenError::new("cond: no clause matched")); } @@ -2008,88 +1956,87 @@ pub fn aot_shen_x2e_store_x2d_arity(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2279 = { - let __t320 = v_V2277.clone(); - rt::apply_direct(interp, "arity", &[__t320])? + let __t298 = v_V2277.clone(); + rt::apply_direct(interp, "arity", &[__t298])? }; { - let __t323 = { - let __t321 = v_W2279.clone(); - let __t322 = Value::int(-1i64); - rt::eq(&__t321, &__t322) + let __t301 = { + let __t299 = v_W2279.clone(); + let __t300 = Value::int(-1i64); + rt::eq(&__t299, &__t300) }; - if match rt::is_truthy(interp, &__t323) { + if match rt::is_truthy(interp, &__t301) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t324 = v_V2277.clone(); - let __t325 = v_V2278.clone(); - rt::apply_direct(interp, "shen.execute-store-arity", &[__t324, __t325])? + let __t302 = v_V2277.clone(); + let __t303 = v_V2278.clone(); + aot_shen_x2e_execute_x2d_store_x2d_arity(interp, &[__t302, __t303])? }); } else { { - let __t328 = { - let __t326 = v_W2279.clone(); - let __t327 = v_V2278.clone(); - rt::eq(&__t326, &__t327) + let __t306 = { + let __t304 = v_W2279.clone(); + let __t305 = v_V2278.clone(); + rt::eq(&__t304, &__t305) }; - if match rt::is_truthy(interp, &__t328) { + if match rt::is_truthy(interp, &__t306) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.skip"))); + break Ok(Value::sym(interp.intern_static("shen.skip"))); } else { { - let __t330 = { - let __t329 = v_V2277.clone(); - rt::apply_direct(interp, "shen.sysfunc?", &[__t329])? + let __t308 = { + let __t307 = v_V2277.clone(); + aot_shen_x2e_sysfunc_x3f_(interp, &[__t307])? }; - if match rt::is_truthy(interp, &__t330) { + if match rt::is_truthy(interp, &__t308) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t334 = { - let __t331 = v_V2277.clone(); - let __t332 = Value::str(" is a system function\n"); - let __t333 = Value::sym(interp.intern("shen.a")); + let __t312 = { + let __t309 = v_V2277.clone(); + let __t310 = Value::str(" is a system function\n"); + let __t311 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t331, __t332, __t333], + &[__t309, __t310, __t311], )? }; - rt::apply_direct(interp, "simple-error", &[__t334])? + rt::apply_direct(interp, "simple-error", &[__t312])? }); } else { { let _ = { - let __t340 = { - let __t335 = Value::str("changing the arity of "); - let __t339 = { - let __t336 = v_V2277.clone(); - let __t337 = Value::str(" may cause errors\n"); - let __t338 = - Value::sym(interp.intern("shen.a")); + let __t318 = { + let __t313 = Value::str("changing the arity of "); + let __t317 = { + let __t314 = v_V2277.clone(); + let __t315 = Value::str(" may cause errors\n"); + let __t316 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t336, __t337, __t338], + &[__t314, __t315, __t316], )? }; - rt::apply_direct(interp, "cn", &[__t335, __t339])? + rt::cn(&__t313, &__t317)? }; - let __t341 = + let __t319 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t340, __t341])? + rt::apply_direct(interp, "pr", &[__t318, __t319])? }; break Ok({ - let __t342 = v_V2277.clone(); - let __t343 = v_V2278.clone(); - rt::apply_direct( + let __t320 = v_V2277.clone(); + let __t321 = v_V2278.clone(); + aot_shen_x2e_execute_x2d_store_x2d_arity( interp, - "shen.execute-store-arity", - &[__t342, __t343], + &[__t320, __t321], )? }); } @@ -2126,51 +2073,41 @@ pub fn aot_shen_x2e_execute_x2d_store_x2d_arity( #[allow(clippy::never_loop)] loop { { - let __t359 = { - let __t352 = Value::int(0i64); - let __t353 = v_V2281.clone(); - rt::eq(&__t352, &__t353) + let __t335 = { + let __t329 = Value::int(0i64); + let __t330 = v_V2281.clone(); + rt::eq(&__t329, &__t330) }; - if match rt::is_truthy(interp, &__t359) { + if match rt::is_truthy(interp, &__t335) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t354 = v_V2280.clone(); - let __t355 = Value::sym(interp.intern("arity")); - let __t356 = Value::int(0i64); - let __t358 = { - let __t357 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t357])? - }; - rt::apply_direct(interp, "put", &[__t354, __t355, __t356, __t358])? + let __t331 = v_V2280.clone(); + let __t332 = Value::sym(interp.intern_static("arity")); + let __t333 = Value::int(0i64); + let __t334 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t331, __t332, __t333, __t334])? }); } else { { - let __t351 = Value::bool(true); - if match rt::is_truthy(interp, &__t351) { + let __t328 = Value::bool(true); + if match rt::is_truthy(interp, &__t328) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t344 = v_V2280.clone(); - let __t345 = Value::sym(interp.intern("arity")); - let __t346 = v_V2281.clone(); - let __t348 = { - let __t347 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t347])? - }; - rt::apply_direct(interp, "put", &[__t344, __t345, __t346, __t348])? + let __t322 = v_V2280.clone(); + let __t323 = Value::sym(interp.intern_static("arity")); + let __t324 = v_V2281.clone(); + let __t325 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t322, __t323, __t324, __t325])? }; break Ok({ - let __t349 = v_V2280.clone(); - let __t350 = v_V2281.clone(); - rt::apply_direct( - interp, - "shen.update-lambdatable", - &[__t349, __t350], - )? + let __t326 = v_V2280.clone(); + let __t327 = v_V2281.clone(); + aot_shen_x2e_update_x2d_lambdatable(interp, &[__t326, __t327])? }); } } else { @@ -2212,35 +2149,31 @@ pub fn aot_shen_x2e_update_x2d_lambdatable( #[allow(clippy::never_loop)] loop { { - let v_W2284 = { - let __t360 = Value::sym(interp.intern("shen.*lambdatable*")); - rt::apply_direct(interp, "value", &[__t360])? - }; + let v_W2284 = rt::global_value(interp, "shen.*lambdatable*")?; { let v_W2285 = { - let __t365 = { - let __t363 = { - let __t361 = v_V2282.clone(); - let __t362 = Value::nil(); - rt::cons(&__t361, &__t362) + let __t340 = { + let __t338 = { + let __t336 = v_V2282.clone(); + let __t337 = Value::nil(); + rt::cons(&__t336, &__t337) }; - let __t364 = v_V2283.clone(); - rt::apply_direct(interp, "shen.lambda-function", &[__t363, __t364])? + let __t339 = v_V2283.clone(); + aot_shen_x2e_lambda_x2d_function(interp, &[__t338, __t339])? }; - rt::apply_direct(interp, "eval-kl", &[__t365])? + rt::apply_direct(interp, "eval-kl", &[__t340])? }; { let v_W2286 = { - let __t366 = v_V2282.clone(); - let __t367 = v_W2285.clone(); - let __t368 = v_W2284.clone(); - rt::apply_direct(interp, "shen.assoc->", &[__t366, __t367, __t368])? + let __t341 = v_V2282.clone(); + let __t342 = v_W2285.clone(); + let __t343 = v_W2284.clone(); + aot_shen_x2e_assoc_x2d__x3e_(interp, &[__t341, __t342, __t343])? }; { let v_W2287 = { - let __t369 = Value::sym(interp.intern("shen.*lambdatable*")); - let __t370 = v_W2286.clone(); - rt::apply_direct(interp, "set", &[__t369, __t370])? + let __v = v_W2286.clone(); + rt::set_global(interp, "shen.*lambdatable*", __v) }; break Ok(v_W2287.clone()); } @@ -2277,102 +2210,101 @@ pub fn aot_shen_x2e_lambda_x2d_function(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t403 = { - let __t401 = Value::int(0i64); - let __t402 = v_V2291.clone(); - rt::eq(&__t401, &__t402) + let __t376 = { + let __t374 = Value::int(0i64); + let __t375 = v_V2291.clone(); + rt::eq(&__t374, &__t375) }; - if match rt::is_truthy(interp, &__t403) { + if match rt::is_truthy(interp, &__t376) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.skip"))); + break Ok(Value::sym(interp.intern_static("shen.skip"))); } else { { - let __t400 = { - let __t387 = Value::int(1i64); - let __t388 = v_V2291.clone(); - rt::eq(&__t387, &__t388) + let __t373 = { + let __t360 = Value::int(1i64); + let __t361 = v_V2291.clone(); + rt::eq(&__t360, &__t361) }; - if match rt::is_truthy(interp, &__t400) { + if match rt::is_truthy(interp, &__t373) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2292 = { - let __t389 = Value::sym(interp.intern("Y")); - rt::apply_direct(interp, "gensym", &[__t389])? + let __t362 = Value::sym(interp.intern_static("Y")); + rt::apply_direct(interp, "gensym", &[__t362])? }; break Ok({ - let __t390 = Value::sym(interp.intern("lambda")); - let __t399 = { - let __t391 = v_W2292.clone(); - let __t398 = { - let __t396 = { - let __t392 = v_V2290.clone(); - let __t395 = { - let __t393 = v_W2292.clone(); - let __t394 = Value::nil(); - rt::cons(&__t393, &__t394) + let __t363 = Value::sym(interp.intern_static("lambda")); + let __t372 = { + let __t364 = v_W2292.clone(); + let __t371 = { + let __t369 = { + let __t365 = v_V2290.clone(); + let __t368 = { + let __t366 = v_W2292.clone(); + let __t367 = Value::nil(); + rt::cons(&__t366, &__t367) }; - rt::apply_direct(interp, "append", &[__t392, __t395])? + rt::apply_direct(interp, "append", &[__t365, __t368])? }; - let __t397 = Value::nil(); - rt::cons(&__t396, &__t397) + let __t370 = Value::nil(); + rt::cons(&__t369, &__t370) }; - rt::cons(&__t391, &__t398) + rt::cons(&__t364, &__t371) }; - rt::cons(&__t390, &__t399) + rt::cons(&__t363, &__t372) }); } } else { { - let __t386 = Value::bool(true); - if match rt::is_truthy(interp, &__t386) { + let __t359 = Value::bool(true); + if match rt::is_truthy(interp, &__t359) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2293 = { - let __t371 = Value::sym(interp.intern("Y")); - rt::apply_direct(interp, "gensym", &[__t371])? + let __t344 = Value::sym(interp.intern_static("Y")); + rt::apply_direct(interp, "gensym", &[__t344])? }; break Ok({ - let __t372 = Value::sym(interp.intern("lambda")); - let __t385 = { - let __t373 = v_W2293.clone(); - let __t384 = { - let __t382 = { - let __t378 = { - let __t374 = v_V2290.clone(); - let __t377 = { - let __t375 = v_W2293.clone(); - let __t376 = Value::nil(); - rt::cons(&__t375, &__t376) + let __t345 = Value::sym(interp.intern_static("lambda")); + let __t358 = { + let __t346 = v_W2293.clone(); + let __t357 = { + let __t355 = { + let __t351 = { + let __t347 = v_V2290.clone(); + let __t350 = { + let __t348 = v_W2293.clone(); + let __t349 = Value::nil(); + rt::cons(&__t348, &__t349) }; rt::apply_direct( interp, "append", - &[__t374, __t377], + &[__t347, __t350], )? }; - let __t381 = { - let __t379 = v_V2291.clone(); - let __t380 = Value::int(1i64); - rt::sub(&__t379, &__t380)? + let __t354 = { + let __t352 = v_V2291.clone(); + let __t353 = Value::int(1i64); + rt::sub(&__t352, &__t353)? }; - rt::apply_direct( + aot_shen_x2e_lambda_x2d_function( interp, - "shen.lambda-function", - &[__t378, __t381], + &[__t351, __t354], )? }; - let __t383 = Value::nil(); - rt::cons(&__t382, &__t383) + let __t356 = Value::nil(); + rt::cons(&__t355, &__t356) }; - rt::cons(&__t373, &__t384) + rt::cons(&__t346, &__t357) }; - rt::cons(&__t372, &__t385) + rt::cons(&__t345, &__t358) }); } } else { @@ -2408,125 +2340,120 @@ pub fn aot_shen_x2e_assoc_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t440 = { - let __t434 = Value::nil(); - let __t435 = v_V2305.clone(); - rt::eq(&__t434, &__t435) - }; - if match rt::is_truthy(interp, &__t440) { + let __t411 = Value::bool((v_V2305.clone()).is_nil()); + if match rt::is_truthy(interp, &__t411) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t438 = { - let __t436 = v_V2303.clone(); - let __t437 = v_V2304.clone(); - rt::cons(&__t436, &__t437) + let __t409 = { + let __t407 = v_V2303.clone(); + let __t408 = v_V2304.clone(); + rt::cons(&__t407, &__t408) }; - let __t439 = Value::nil(); - rt::cons(&__t438, &__t439) + let __t410 = Value::nil(); + rt::cons(&__t409, &__t410) }); } else { { - let __t433 = { - let __t424 = { - let __t415 = v_V2305.clone(); - rt::is_cons(&__t415) + let __t406 = { + let __t397 = { + let __t388 = v_V2305.clone(); + rt::is_cons(&__t388) }; - if !rt::is_truthy(interp, &__t424)? { + if !rt::is_truthy(interp, &__t397)? { Value::bool(false) } else { - let __t425 = { - let __t422 = { - let __t417 = { - let __t416 = v_V2305.clone(); - rt::hd(&__t416)? + let __t398 = { + let __t395 = { + let __t390 = { + let __t389 = v_V2305.clone(); + rt::hd(&__t389)? }; - rt::is_cons(&__t417) + rt::is_cons(&__t390) }; - if !rt::is_truthy(interp, &__t422)? { + if !rt::is_truthy(interp, &__t395)? { Value::bool(false) } else { - let __t423 = { - let __t418 = v_V2303.clone(); - let __t421 = { - let __t420 = { - let __t419 = v_V2305.clone(); - rt::hd(&__t419)? + let __t396 = { + let __t391 = v_V2303.clone(); + let __t394 = { + let __t393 = { + let __t392 = v_V2305.clone(); + rt::hd(&__t392)? }; - rt::hd(&__t420)? + rt::hd(&__t393)? }; - rt::eq(&__t418, &__t421) + rt::eq(&__t391, &__t394) }; - Value::bool(rt::is_truthy(interp, &__t423)?) + Value::bool(rt::is_truthy(interp, &__t396)?) } }; - Value::bool(rt::is_truthy(interp, &__t425)?) + Value::bool(rt::is_truthy(interp, &__t398)?) } }; - if match rt::is_truthy(interp, &__t433) { + if match rt::is_truthy(interp, &__t406) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t430 = { - let __t428 = { - let __t427 = { - let __t426 = v_V2305.clone(); - rt::hd(&__t426)? + let __t403 = { + let __t401 = { + let __t400 = { + let __t399 = v_V2305.clone(); + rt::hd(&__t399)? }; - rt::hd(&__t427)? + rt::hd(&__t400)? }; - let __t429 = v_V2304.clone(); - rt::cons(&__t428, &__t429) + let __t402 = v_V2304.clone(); + rt::cons(&__t401, &__t402) }; - let __t432 = { - let __t431 = v_V2305.clone(); - rt::tl(&__t431)? + let __t405 = { + let __t404 = v_V2305.clone(); + rt::tl(&__t404)? }; - rt::cons(&__t430, &__t432) + rt::cons(&__t403, &__t405) }); } else { { - let __t414 = { - let __t406 = v_V2305.clone(); - rt::is_cons(&__t406) + let __t387 = { + let __t379 = v_V2305.clone(); + rt::is_cons(&__t379) }; - if match rt::is_truthy(interp, &__t414) { + if match rt::is_truthy(interp, &__t387) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t408 = { - let __t407 = v_V2305.clone(); - rt::hd(&__t407)? + let __t381 = { + let __t380 = v_V2305.clone(); + rt::hd(&__t380)? }; - let __t413 = { - let __t409 = v_V2303.clone(); - let __t410 = v_V2304.clone(); - let __t412 = { - let __t411 = v_V2305.clone(); - rt::tl(&__t411)? + let __t386 = { + let __t382 = v_V2303.clone(); + let __t383 = v_V2304.clone(); + let __t385 = { + let __t384 = v_V2305.clone(); + rt::tl(&__t384)? }; - rt::apply_direct( + aot_shen_x2e_assoc_x2d__x3e_( interp, - "shen.assoc->", - &[__t409, __t410, __t412], + &[__t382, __t383, __t385], )? }; - rt::cons(&__t408, &__t413) + rt::cons(&__t381, &__t386) }); } else { { - let __t405 = Value::bool(true); - if match rt::is_truthy(interp, &__t405) { + let __t378 = Value::bool(true); + if match rt::is_truthy(interp, &__t378) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t404 = + let __t377 = Value::str("implementation error in shen.assoc->"); - rt::apply_direct(interp, "simple-error", &[__t404])? + rt::apply_direct(interp, "simple-error", &[__t377])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2563,284 +2490,278 @@ pub fn aot_shen_x2e_find_x2d_arity(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t515 = { - let __t513 = { - let __t505 = Value::int(0i64); - let __t506 = v_V2321.clone(); - rt::eq(&__t505, &__t506) + let __t480 = { + let __t478 = { + let __t472 = Value::int(0i64); + let __t473 = v_V2321.clone(); + rt::eq(&__t472, &__t473) }; - if !rt::is_truthy(interp, &__t513)? { + if !rt::is_truthy(interp, &__t478)? { Value::bool(false) } else { - let __t514 = { - let __t511 = { - let __t507 = v_V2322.clone(); - rt::is_cons(&__t507) + let __t479 = { + let __t476 = { + let __t474 = v_V2322.clone(); + rt::is_cons(&__t474) }; - if !rt::is_truthy(interp, &__t511)? { + if !rt::is_truthy(interp, &__t476)? { Value::bool(false) } else { - let __t512 = { - let __t509 = { - let __t508 = v_V2322.clone(); - rt::hd(&__t508)? - }; - let __t510 = Value::sym(interp.intern("->")); - rt::eq(&__t509, &__t510) - }; - Value::bool(rt::is_truthy(interp, &__t512)?) + let __t477 = Value::bool( + ({ + let __t475 = v_V2322.clone(); + rt::hd(&__t475)? + }) + .as_sym() + == Some(interp.intern_static("->")), + ); + Value::bool(rt::is_truthy(interp, &__t477)?) } }; - Value::bool(rt::is_truthy(interp, &__t514)?) + Value::bool(rt::is_truthy(interp, &__t479)?) } }; - if match rt::is_truthy(interp, &__t515) { + if match rt::is_truthy(interp, &__t480) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::int(0i64)); } else { { - let __t504 = { - let __t502 = { - let __t494 = Value::int(0i64); - let __t495 = v_V2321.clone(); - rt::eq(&__t494, &__t495) + let __t471 = { + let __t469 = { + let __t463 = Value::int(0i64); + let __t464 = v_V2321.clone(); + rt::eq(&__t463, &__t464) }; - if !rt::is_truthy(interp, &__t502)? { + if !rt::is_truthy(interp, &__t469)? { Value::bool(false) } else { - let __t503 = { - let __t500 = { - let __t496 = v_V2322.clone(); - rt::is_cons(&__t496) + let __t470 = { + let __t467 = { + let __t465 = v_V2322.clone(); + rt::is_cons(&__t465) }; - if !rt::is_truthy(interp, &__t500)? { + if !rt::is_truthy(interp, &__t467)? { Value::bool(false) } else { - let __t501 = { - let __t498 = { - let __t497 = v_V2322.clone(); - rt::hd(&__t497)? - }; - let __t499 = Value::sym(interp.intern("<-")); - rt::eq(&__t498, &__t499) - }; - Value::bool(rt::is_truthy(interp, &__t501)?) + let __t468 = Value::bool( + ({ + let __t466 = v_V2322.clone(); + rt::hd(&__t466)? + }) + .as_sym() + == Some(interp.intern_static("<-")), + ); + Value::bool(rt::is_truthy(interp, &__t468)?) } }; - Value::bool(rt::is_truthy(interp, &__t503)?) + Value::bool(rt::is_truthy(interp, &__t470)?) } }; - if match rt::is_truthy(interp, &__t504) { + if match rt::is_truthy(interp, &__t471) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::int(0i64)); } else { { - let __t493 = { - let __t485 = { - let __t482 = Value::int(0i64); - let __t483 = v_V2321.clone(); - rt::eq(&__t482, &__t483) + let __t462 = { + let __t454 = { + let __t451 = Value::int(0i64); + let __t452 = v_V2321.clone(); + rt::eq(&__t451, &__t452) }; - if !rt::is_truthy(interp, &__t485)? { + if !rt::is_truthy(interp, &__t454)? { Value::bool(false) } else { - let __t486 = { - let __t484 = v_V2322.clone(); - rt::is_cons(&__t484) + let __t455 = { + let __t453 = v_V2322.clone(); + rt::is_cons(&__t453) }; - Value::bool(rt::is_truthy(interp, &__t486)?) + Value::bool(rt::is_truthy(interp, &__t455)?) } }; - if match rt::is_truthy(interp, &__t493) { + if match rt::is_truthy(interp, &__t462) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t487 = Value::int(1i64); - let __t492 = { - let __t488 = v_V2320.clone(); - let __t489 = Value::int(0i64); - let __t491 = { - let __t490 = v_V2322.clone(); - rt::tl(&__t490)? + let __t456 = Value::int(1i64); + let __t461 = { + let __t457 = v_V2320.clone(); + let __t458 = Value::int(0i64); + let __t460 = { + let __t459 = v_V2322.clone(); + rt::tl(&__t459)? }; - rt::apply_direct( + aot_shen_x2e_find_x2d_arity( interp, - "shen.find-arity", - &[__t488, __t489, __t491], + &[__t457, __t458, __t460], )? }; - rt::add(&__t487, &__t492)? + rt::add(&__t456, &__t461)? }); } else { { - let __t481 = { - let __t475 = { - let __t467 = Value::int(1i64); - let __t468 = v_V2321.clone(); - rt::eq(&__t467, &__t468) + let __t450 = { + let __t444 = { + let __t438 = Value::int(1i64); + let __t439 = v_V2321.clone(); + rt::eq(&__t438, &__t439) }; - if !rt::is_truthy(interp, &__t475)? { + if !rt::is_truthy(interp, &__t444)? { Value::bool(false) } else { - let __t476 = { - let __t473 = { - let __t469 = v_V2322.clone(); - rt::is_cons(&__t469) + let __t445 = { + let __t442 = { + let __t440 = v_V2322.clone(); + rt::is_cons(&__t440) }; - if !rt::is_truthy(interp, &__t473)? { + if !rt::is_truthy(interp, &__t442)? { Value::bool(false) } else { - let __t474 = { - let __t470 = Value::sym(interp.intern("}")); - let __t472 = { - let __t471 = v_V2322.clone(); - rt::hd(&__t471)? - }; - rt::eq(&__t470, &__t472) - }; - Value::bool(rt::is_truthy(interp, &__t474)?) + let __t443 = Value::bool( + ({ + let __t441 = v_V2322.clone(); + rt::hd(&__t441)? + }) + .as_sym() + == Some(interp.intern_static("}")), + ); + Value::bool(rt::is_truthy(interp, &__t443)?) } }; - Value::bool(rt::is_truthy(interp, &__t476)?) + Value::bool(rt::is_truthy(interp, &__t445)?) } }; - if match rt::is_truthy(interp, &__t481) { + if match rt::is_truthy(interp, &__t450) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t477 = v_V2320.clone(); - let __t478 = Value::int(0i64); - let __t480 = { - let __t479 = v_V2322.clone(); - rt::tl(&__t479)? + let __t446 = v_V2320.clone(); + let __t447 = Value::int(0i64); + let __t449 = { + let __t448 = v_V2322.clone(); + rt::tl(&__t448)? }; - v_V2320 = __t477; - v_V2321 = __t478; - v_V2322 = __t480; + v_V2320 = __t446; + v_V2321 = __t447; + v_V2322 = __t449; continue; } } else { { - let __t466 = { - let __t460 = { - let __t457 = Value::int(1i64); - let __t458 = v_V2321.clone(); - rt::eq(&__t457, &__t458) + let __t437 = { + let __t431 = { + let __t428 = Value::int(1i64); + let __t429 = v_V2321.clone(); + rt::eq(&__t428, &__t429) }; - if !rt::is_truthy(interp, &__t460)? { + if !rt::is_truthy(interp, &__t431)? { Value::bool(false) } else { - let __t461 = { - let __t459 = v_V2322.clone(); - rt::is_cons(&__t459) + let __t432 = { + let __t430 = v_V2322.clone(); + rt::is_cons(&__t430) }; - Value::bool(rt::is_truthy(interp, &__t461)?) + Value::bool(rt::is_truthy(interp, &__t432)?) } }; - if match rt::is_truthy(interp, &__t466) { + if match rt::is_truthy(interp, &__t437) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t462 = v_V2320.clone(); - let __t463 = Value::int(1i64); - let __t465 = { - let __t464 = v_V2322.clone(); - rt::tl(&__t464)? + let __t433 = v_V2320.clone(); + let __t434 = Value::int(1i64); + let __t436 = { + let __t435 = v_V2322.clone(); + rt::tl(&__t435)? }; - v_V2320 = __t462; - v_V2321 = __t463; - v_V2322 = __t465; + v_V2320 = __t433; + v_V2321 = __t434; + v_V2322 = __t436; continue; } } else { { - let __t456 = { - let __t448 = Value::int(1i64); - let __t449 = v_V2321.clone(); - rt::eq(&__t448, &__t449) + let __t427 = { + let __t419 = Value::int(1i64); + let __t420 = v_V2321.clone(); + rt::eq(&__t419, &__t420) }; - if match rt::is_truthy(interp, &__t456) { + if match rt::is_truthy(interp, &__t427) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t455 = { - let __t450 = + let __t426 = { + let __t421 = Value::str("syntax error in "); - let __t454 = { - let __t451 = v_V2320.clone(); - let __t452 = Value::str( + let __t425 = { + let __t422 = v_V2320.clone(); + let __t423 = Value::str( " definition: missing }\n", ); - let __t453 = Value::sym( - interp.intern("shen.a"), + let __t424 = Value::sym( + interp.intern_static( + "shen.a", + ), ); rt::apply_direct( interp, "shen.app", - &[__t451, __t452, __t453], + &[__t422, __t423, __t424], )? }; - rt::apply_direct( - interp, - "cn", - &[__t450, __t454], - )? + rt::cn(&__t421, &__t425)? }; rt::apply_direct( interp, "simple-error", - &[__t455], + &[__t426], )? }); } else { { - let __t447 = Value::bool(true); - if match rt::is_truthy(interp, &__t447) + let __t418 = Value::bool(true); + if match rt::is_truthy(interp, &__t418) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t446 = { - let __t441 = Value::str( + let __t417 = { + let __t412 = Value::str( "syntax error in ", ); - let __t445 = { - let __t442 = + let __t416 = { + let __t413 = v_V2320.clone(); - let __t443 = Value::str(" definition: missing -> or <-\n"); - let __t444 = Value::sym( - interp.intern( - "shen.a", - ), + let __t414 = Value::str(" definition: missing -> or <-\n"); + let __t415 = Value::sym( + interp + .intern_static( + "shen.a", + ), ); rt::apply_direct( interp, "shen.app", &[ - __t442, __t443, - __t444, + __t413, __t414, + __t415, ], )? }; - rt::apply_direct( - interp, - "cn", - &[__t441, __t445], - )? + rt::cn(&__t412, &__t416)? }; rt::apply_direct( interp, "simple-error", - &[__t446], + &[__t417], )? }); } else { @@ -2887,72 +2808,71 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( { let v_W2324 = { let v_W2325 = { - let __t516 = v_V2323.clone(); - rt::apply_direct(interp, "shen.", &[__t516])? + let __t481 = v_V2323.clone(); + aot_shen_x2e__x3c_lsb_x3e_(interp, &[__t481])? }; { - let __t538 = { - let __t517 = v_W2325.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t517])? + let __t503 = { + let __t482 = v_W2325.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t482])? }; - if rt::is_truthy(interp, &__t538)? { + if rt::is_truthy(interp, &__t503)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2326 = { - let __t518 = v_W2325.clone(); - rt::apply_direct(interp, "shen.in->", &[__t518])? + let __t483 = v_W2325.clone(); + rt::apply_direct(interp, "shen.in->", &[__t483])? }; { let v_W2327 = { - let __t519 = v_W2326.clone(); - rt::apply_direct(interp, "shen.", &[__t519])? + let __t484 = v_W2326.clone(); + aot_shen_x2e__x3c_s_x2d_exprs1_x3e_(interp, &[__t484])? }; { - let __t537 = { - let __t520 = v_W2327.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t520])? + let __t502 = { + let __t485 = v_W2327.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t485])? }; - if rt::is_truthy(interp, &__t537)? { + if rt::is_truthy(interp, &__t502)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2328 = { - let __t521 = v_W2327.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t521])? + let __t486 = v_W2327.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t486])? }; { let v_W2329 = { - let __t522 = v_W2327.clone(); + let __t487 = v_W2327.clone(); rt::apply_direct( interp, "shen.in->", - &[__t522], + &[__t487], )? }; { let v_W2330 = { - let __t523 = v_W2329.clone(); - rt::apply_direct( + let __t488 = v_W2329.clone(); + aot_shen_x2e__x3c_rsb_x3e_( interp, - "shen.", - &[__t523], + &[__t488], )? }; { - let __t536 = { - let __t524 = v_W2330.clone(); + let __t501 = { + let __t489 = v_W2330.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t524], + &[__t489], )? }; - if rt::is_truthy(interp, &__t536)? { + if rt::is_truthy(interp, &__t501)? { { rt::apply_direct( interp, @@ -2963,31 +2883,27 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2331 = { - let __t525 = v_W2330.clone(); + let __t490 = v_W2330.clone(); rt::apply_direct( interp, "shen.in->", - &[__t525], + &[__t490], )? }; { let v_W2332 = { - let __t526 = + let __t491 = v_W2331.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t526], - )? + aot_shen_x2e__x3c_s_x2d_exprs2_x3e_(interp, &[__t491])? }; { - let __t535 = { - let __t527 = + let __t500 = { + let __t492 = v_W2332.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t527])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t492])? }; if rt::is_truthy( - interp, &__t535, + interp, &__t500, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -2995,28 +2911,28 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2333 = { - let __t528 = + let __t493 = v_W2332 .clone( ); - rt::apply_direct(interp, "shen.<-out", &[__t528])? + rt::apply_direct(interp, "shen.<-out", &[__t493])? }; { let v_W2334 = { - let __t529 = v_W2332.clone(); - rt::apply_direct(interp, "shen.in->", &[__t529])? + let __t494 = v_W2332.clone(); + rt::apply_direct(interp, "shen.in->", &[__t494])? }; { - let __t530 = v_W2334.clone(); - let __t534 = { - let __t532 = { - let __t531 = v_W2328.clone(); - rt::apply_direct(interp, "shen.cons-form", &[__t531])? + let __t495 = v_W2334.clone(); + let __t499 = { + let __t497 = { + let __t496 = v_W2328.clone(); + aot_shen_x2e_cons_x2d_form(interp, &[__t496])? }; - let __t533 = v_W2333.clone(); - rt::cons(&__t532, &__t533) + let __t498 = v_W2333.clone(); + rt::cons(&__t497, &__t498) }; - rt::apply_direct(interp, "shen.comb", &[__t530, __t534])? + rt::apply_direct(interp, "shen.comb", &[__t495, __t499])? } } } @@ -3037,54 +2953,53 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } }; { - let __t540 = { - let __t539 = v_W2324.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t539])? + let __t505 = { + let __t504 = v_W2324.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t504])? }; - if match rt::is_truthy(interp, &__t540) { + if match rt::is_truthy(interp, &__t505) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2335 = { let v_W2336 = { - let __t541 = v_V2323.clone(); - rt::apply_direct(interp, "shen.", &[__t541])? + let __t506 = v_V2323.clone(); + aot_shen_x2e__x3c_lrb_x3e_(interp, &[__t506])? }; { - let __t562 = { - let __t542 = v_W2336.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t542])? + let __t527 = { + let __t507 = v_W2336.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t507])? }; - if rt::is_truthy(interp, &__t562)? { + if rt::is_truthy(interp, &__t527)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2337 = { - let __t543 = v_W2336.clone(); - rt::apply_direct(interp, "shen.in->", &[__t543])? + let __t508 = v_W2336.clone(); + rt::apply_direct(interp, "shen.in->", &[__t508])? }; { let v_W2338 = { - let __t544 = v_W2337.clone(); - rt::apply_direct( + let __t509 = v_W2337.clone(); + aot_shen_x2e__x3c_s_x2d_exprs1_x3e_( interp, - "shen.", - &[__t544], + &[__t509], )? }; { - let __t561 = { - let __t545 = v_W2338.clone(); + let __t526 = { + let __t510 = v_W2338.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t545], + &[__t510], )? }; - if rt::is_truthy(interp, &__t561)? { + if rt::is_truthy(interp, &__t526)? { { rt::apply_direct( interp, @@ -3095,43 +3010,42 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2339 = { - let __t546 = v_W2338.clone(); + let __t511 = v_W2338.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t546], + &[__t511], )? }; { let v_W2340 = { - let __t547 = v_W2338.clone(); + let __t512 = v_W2338.clone(); rt::apply_direct( interp, "shen.in->", - &[__t547], + &[__t512], )? }; { let v_W2341 = { - let __t548 = v_W2340.clone(); - rt::apply_direct( + let __t513 = v_W2340.clone(); + aot_shen_x2e__x3c_rrb_x3e_( interp, - "shen.", - &[__t548], + &[__t513], )? }; { - let __t560 = { - let __t549 = + let __t525 = { + let __t514 = v_W2341.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t549], + &[__t514], )? }; if rt::is_truthy( - interp, &__t560, + interp, &__t525, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -3139,28 +3053,28 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2342 = { - let __t550 = + let __t515 = v_W2341.clone(); rt::apply_direct( interp, "shen.in->", - &[__t550], + &[__t515], )? }; { let v_W2343 = { - let __t551 = + let __t516 = v_W2342 .clone( ); - rt::apply_direct(interp, "shen.", &[__t551])? + aot_shen_x2e__x3c_s_x2d_exprs2_x3e_(interp, &[__t516])? }; { - let __t559 = { - let __t552 = v_W2343.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t552])? + let __t524 = { + let __t517 = v_W2343.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t517])? }; - if rt::is_truthy(interp, &__t559)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2344 = { let __t553 = v_W2343.clone(); rt::apply_direct(interp, "shen.<-out", &[__t553])? }; { let v_W2345 = { let __t554 = v_W2343.clone(); rt::apply_direct(interp, "shen.in->", &[__t554])? }; { let __t555 = v_W2345.clone(); let __t558 = { let __t556 = v_W2339.clone(); let __t557 = v_W2344.clone(); rt::apply_direct(interp, "shen.add-sexpr", &[__t556, __t557])? }; rt::apply_direct(interp, "shen.comb", &[__t555, __t558])? } } } } + if rt::is_truthy(interp, &__t524)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2344 = { let __t518 = v_W2343.clone(); rt::apply_direct(interp, "shen.<-out", &[__t518])? }; { let v_W2345 = { let __t519 = v_W2343.clone(); rt::apply_direct(interp, "shen.in->", &[__t519])? }; { let __t520 = v_W2345.clone(); let __t523 = { let __t521 = v_W2339.clone(); let __t522 = v_W2344.clone(); aot_shen_x2e_add_x2d_sexpr(interp, &[__t521, __t522])? }; rt::apply_direct(interp, "shen.comb", &[__t520, __t523])? } } } } } } } @@ -3177,30 +3091,30 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } }; { - let __t564 = { - let __t563 = v_W2335.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t563])? + let __t529 = { + let __t528 = v_W2335.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t528])? }; - if match rt::is_truthy(interp, &__t564) { + if match rt::is_truthy(interp, &__t529) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2346 = { let v_W2347 = { - let __t565 = v_V2323.clone(); - rt::apply_direct(interp, "shen.", &[__t565])? + let __t530 = v_V2323.clone(); + aot_shen_x2e__x3c_lcurly_x3e_(interp, &[__t530])? }; { - let __t577 = { - let __t566 = v_W2347.clone(); + let __t542 = { + let __t531 = v_W2347.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t566], + &[__t531], )? }; - if rt::is_truthy(interp, &__t577)? { + if rt::is_truthy(interp, &__t542)? { { rt::apply_direct( interp, @@ -3211,32 +3125,31 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2348 = { - let __t567 = v_W2347.clone(); + let __t532 = v_W2347.clone(); rt::apply_direct( interp, "shen.in->", - &[__t567], + &[__t532], )? }; { let v_W2349 = { - let __t568 = v_W2348.clone(); - rt::apply_direct( + let __t533 = v_W2348.clone(); + aot_shen_x2e__x3c_s_x2d_exprs_x3e_( interp, - "shen.", - &[__t568], + &[__t533], )? }; { - let __t576 = { - let __t569 = v_W2349.clone(); + let __t541 = { + let __t534 = v_W2349.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t569], + &[__t534], )? }; - if rt::is_truthy(interp, &__t576)? { + if rt::is_truthy(interp, &__t541)? { { rt::apply_direct( interp, @@ -3247,46 +3160,40 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2350 = { - let __t570 = + let __t535 = v_W2349.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t570], + &[__t535], )? }; { let v_W2351 = { - let __t571 = + let __t536 = v_W2349.clone(); rt::apply_direct( interp, "shen.in->", - &[__t571], + &[__t536], )? }; { - let __t572 = + let __t537 = v_W2351.clone(); - let __t575 = { - let __t573 = - Value::sym( - interp - .intern( - "{", - ), - ); - let __t574 = + let __t540 = { + let __t538 = Value::sym(interp.intern_static("{")); + let __t539 = v_W2350.clone(); rt::cons( - &__t573, - &__t574, + &__t538, + &__t539, ) }; rt::apply_direct( interp, "shen.comb", - &[__t572, __t575], + &[__t537, __t540], )? } } @@ -3299,38 +3206,37 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } }; { - let __t579 = { - let __t578 = v_W2346.clone(); + let __t544 = { + let __t543 = v_W2346.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t578], + &[__t543], )? }; - if match rt::is_truthy(interp, &__t579) { + if match rt::is_truthy(interp, &__t544) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2352 = { let v_W2353 = { - let __t580 = v_V2323.clone(); - rt::apply_direct( + let __t545 = v_V2323.clone(); + aot_shen_x2e__x3c_rcurly_x3e_( interp, - "shen.", - &[__t580], + &[__t545], )? }; { - let __t592 = { - let __t581 = v_W2353.clone(); + let __t557 = { + let __t546 = v_W2353.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t581], + &[__t546], )? }; - if rt::is_truthy(interp, &__t592)? { + if rt::is_truthy(interp, &__t557)? { { rt::apply_direct( interp, @@ -3341,31 +3247,27 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2354 = { - let __t582 = v_W2353.clone(); + let __t547 = v_W2353.clone(); rt::apply_direct( interp, "shen.in->", - &[__t582], + &[__t547], )? }; { let v_W2355 = { - let __t583 = + let __t548 = v_W2354.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t583], - )? + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t548])? }; { - let __t591 = { - let __t584 = + let __t556 = { + let __t549 = v_W2355.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t584])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t549])? }; if rt::is_truthy( - interp, &__t591, + interp, &__t556, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -3373,25 +3275,25 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2356 = { - let __t585 = + let __t550 = v_W2355 .clone( ); - rt::apply_direct(interp, "shen.<-out", &[__t585])? + rt::apply_direct(interp, "shen.<-out", &[__t550])? }; { let v_W2357 = { - let __t586 = v_W2355.clone(); - rt::apply_direct(interp, "shen.in->", &[__t586])? + let __t551 = v_W2355.clone(); + rt::apply_direct(interp, "shen.in->", &[__t551])? }; { - let __t587 = v_W2357.clone(); - let __t590 = { - let __t588 = Value::sym(interp.intern("}")); - let __t589 = v_W2356.clone(); - rt::cons(&__t588, &__t589) + let __t552 = v_W2357.clone(); + let __t555 = { + let __t553 = Value::sym(interp.intern_static("}")); + let __t554 = v_W2356.clone(); + rt::cons(&__t553, &__t554) }; - rt::apply_direct(interp, "shen.comb", &[__t587, __t590])? + rt::apply_direct(interp, "shen.comb", &[__t552, __t555])? } } } @@ -3403,40 +3305,39 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } }; { - let __t594 = { - let __t593 = v_W2352.clone(); + let __t559 = { + let __t558 = v_W2352.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t593], + &[__t558], )? }; - if match rt::is_truthy(interp, &__t594) { + if match rt::is_truthy(interp, &__t559) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2358 = { let v_W2359 = { - let __t595 = v_V2323.clone(); - rt::apply_direct( + let __t560 = v_V2323.clone(); + aot_shen_x2e__x3c_bar_x3e_( interp, - "shen.", - &[__t595], + &[__t560], )? }; { - let __t607 = { - let __t596 = + let __t572 = { + let __t561 = v_W2359.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t596], + &[__t561], )? }; if rt::is_truthy( - interp, &__t607, + interp, &__t572, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -3444,28 +3345,28 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2360 = { - let __t597 = + let __t562 = v_W2359.clone(); rt::apply_direct( interp, "shen.in->", - &[__t597], + &[__t562], )? }; { let v_W2361 = { - let __t598 = + let __t563 = v_W2360 .clone( ); - rt::apply_direct(interp, "shen.", &[__t598])? + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t563])? }; { - let __t606 = { - let __t599 = v_W2361.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t599])? + let __t571 = { + let __t564 = v_W2361.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t564])? }; - if rt::is_truthy(interp, &__t606)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2362 = { let __t600 = v_W2361.clone(); rt::apply_direct(interp, "shen.<-out", &[__t600])? }; { let v_W2363 = { let __t601 = v_W2361.clone(); rt::apply_direct(interp, "shen.in->", &[__t601])? }; { let __t602 = v_W2363.clone(); let __t605 = { let __t603 = Value::sym(interp.intern("bar!")); let __t604 = v_W2362.clone(); rt::cons(&__t603, &__t604) }; rt::apply_direct(interp, "shen.comb", &[__t602, __t605])? } } } } + if rt::is_truthy(interp, &__t571)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2362 = { let __t565 = v_W2361.clone(); rt::apply_direct(interp, "shen.<-out", &[__t565])? }; { let v_W2363 = { let __t566 = v_W2361.clone(); rt::apply_direct(interp, "shen.in->", &[__t566])? }; { let __t567 = v_W2363.clone(); let __t570 = { let __t568 = Value::sym(interp.intern_static("bar!")); let __t569 = v_W2362.clone(); rt::cons(&__t568, &__t569) }; rt::apply_direct(interp, "shen.comb", &[__t567, __t570])? } } } } } } } @@ -3473,16 +3374,16 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } }; { - let __t609 = { - let __t608 = v_W2358.clone(); + let __t574 = { + let __t573 = v_W2358.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t608], + &[__t573], )? }; if match rt::is_truthy( - interp, &__t609, + interp, &__t574, ) { Ok(b) => b, Err(e) => break Err(e), @@ -3490,20 +3391,20 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( { let v_W2364 = { let v_W2365 = { - let __t610 = + let __t575 = v_V2323.clone(); - rt::apply_direct(interp, "shen.", &[__t610])? + aot_shen_x2e__x3c_semicolon_x3e_(interp, &[__t575])? }; { - let __t623 = { - let __t611 = + let __t587 = { + let __t576 = v_W2365 .clone( ); - rt::apply_direct(interp, "shen.parse-failure?", &[__t611])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t576])? }; if rt::is_truthy( - interp, &__t623, + interp, &__t587, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -3511,17 +3412,17 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } else { { let v_W2366 = { - let __t612 = v_W2365.clone(); - rt::apply_direct(interp, "shen.in->", &[__t612])? + let __t577 = v_W2365.clone(); + rt::apply_direct(interp, "shen.in->", &[__t577])? }; { let v_W2367 = { - let __t613 = v_W2366.clone(); - rt::apply_direct(interp, "shen.", &[__t613])? + let __t578 = v_W2366.clone(); + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t578])? }; { - let __t622 = { let __t614 = v_W2367.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t614])? }; - if rt::is_truthy(interp, &__t622)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2368 = { let __t615 = v_W2367.clone(); rt::apply_direct(interp, "shen.<-out", &[__t615])? }; { let v_W2369 = { let __t616 = v_W2367.clone(); rt::apply_direct(interp, "shen.in->", &[__t616])? }; { let __t617 = v_W2369.clone(); let __t621 = { let __t619 = { let __t618 = Value::str(";"); rt::apply_direct(interp, "intern", &[__t618])? }; let __t620 = v_W2368.clone(); rt::cons(&__t619, &__t620) }; rt::apply_direct(interp, "shen.comb", &[__t617, __t621])? } } } } + let __t586 = { let __t579 = v_W2367.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t579])? }; + if rt::is_truthy(interp, &__t586)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2368 = { let __t580 = v_W2367.clone(); rt::apply_direct(interp, "shen.<-out", &[__t580])? }; { let v_W2369 = { let __t581 = v_W2367.clone(); rt::apply_direct(interp, "shen.in->", &[__t581])? }; { let __t582 = v_W2369.clone(); let __t585 = { let __t583 = Value::sym(interp.intern_static(";")); let __t584 = v_W2368.clone(); rt::cons(&__t583, &__t584) }; rt::apply_direct(interp, "shen.comb", &[__t582, __t585])? } } } } } } } @@ -3529,13 +3430,13 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( } }; { - let __t625 = { - let __t624 = + let __t589 = { + let __t588 = v_W2364.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t624])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t588])? }; if match rt::is_truthy( - interp, &__t625, + interp, &__t589, ) { Ok(b) => b, Err(e) => { @@ -3545,23 +3446,23 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs_x3e_( { let v_W2370 = { let v_W2371 = { - let __t626 = v_V2323.clone(); - rt::apply_direct(interp, "shen.", &[__t626])? + let __t590 = v_V2323.clone(); + aot_shen_x2e__x3c_colon_x3e_(interp, &[__t590])? }; { - let __t643 = { - let __t627 = v_W2371.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t627])? + let __t606 = { + let __t591 = v_W2371.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t591])? }; - if rt::is_truthy(interp, &__t643)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2372 = { let __t628 = v_W2371.clone(); rt::apply_direct(interp, "shen.in->", &[__t628])? }; { let v_W2373 = { let __t629 = v_W2372.clone(); rt::apply_direct(interp, "shen.", &[__t629])? }; { let __t642 = { let __t630 = v_W2373.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t630])? }; if rt::is_truthy(interp, &__t642)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2374 = { let __t631 = v_W2373.clone(); rt::apply_direct(interp, "shen.in->", &[__t631])? }; { let v_W2375 = { let __t632 = v_W2374.clone(); rt::apply_direct(interp, "shen.", &[__t632])? }; { let __t641 = { let __t633 = v_W2375.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t633])? }; if rt::is_truthy(interp, &__t641)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2376 = { let __t634 = v_W2375.clone(); rt::apply_direct(interp, "shen.<-out", &[__t634])? }; { let v_W2377 = { let __t635 = v_W2375.clone(); rt::apply_direct(interp, "shen.in->", &[__t635])? }; { let __t636 = v_W2377.clone(); let __t640 = { let __t638 = { let __t637 = Value::str(":="); rt::apply_direct(interp, "intern", &[__t637])? }; let __t639 = v_W2376.clone(); rt::cons(&__t638, &__t639) }; rt::apply_direct(interp, "shen.comb", &[__t636, __t640])? } } } } } } } } } } } } + if rt::is_truthy(interp, &__t606)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2372 = { let __t592 = v_W2371.clone(); rt::apply_direct(interp, "shen.in->", &[__t592])? }; { let v_W2373 = { let __t593 = v_W2372.clone(); aot_shen_x2e__x3c_equal_x3e_(interp, &[__t593])? }; { let __t605 = { let __t594 = v_W2373.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t594])? }; if rt::is_truthy(interp, &__t605)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2374 = { let __t595 = v_W2373.clone(); rt::apply_direct(interp, "shen.in->", &[__t595])? }; { let v_W2375 = { let __t596 = v_W2374.clone(); aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t596])? }; { let __t604 = { let __t597 = v_W2375.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t597])? }; if rt::is_truthy(interp, &__t604)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2376 = { let __t598 = v_W2375.clone(); rt::apply_direct(interp, "shen.<-out", &[__t598])? }; { let v_W2377 = { let __t599 = v_W2375.clone(); rt::apply_direct(interp, "shen.in->", &[__t599])? }; { let __t600 = v_W2377.clone(); let __t603 = { let __t601 = Value::sym(interp.intern_static(":=")); let __t602 = v_W2376.clone(); rt::cons(&__t601, &__t602) }; rt::apply_direct(interp, "shen.comb", &[__t600, __t603])? } } } } } } } } } } } } } }; { - let __t645 = { - let __t644 = v_W2370.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t644])? + let __t608 = { + let __t607 = v_W2370.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t607])? }; - if match rt::is_truthy(interp, &__t645) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2378 = { let v_W2379 = { let __t646 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t646])? }; { let __t659 = { let __t647 = v_W2379.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t647])? }; if rt::is_truthy(interp, &__t659)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2380 = { let __t648 = v_W2379.clone(); rt::apply_direct(interp, "shen.in->", &[__t648])? }; { let v_W2381 = { let __t649 = v_W2380.clone(); rt::apply_direct(interp, "shen.", &[__t649])? }; { let __t658 = { let __t650 = v_W2381.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t650])? }; if rt::is_truthy(interp, &__t658)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2382 = { let __t651 = v_W2381.clone(); rt::apply_direct(interp, "shen.<-out", &[__t651])? }; { let v_W2383 = { let __t652 = v_W2381.clone(); rt::apply_direct(interp, "shen.in->", &[__t652])? }; { let __t653 = v_W2383.clone(); let __t657 = { let __t655 = { let __t654 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t654])? }; let __t656 = v_W2382.clone(); rt::cons(&__t655, &__t656) }; rt::apply_direct(interp, "shen.comb", &[__t653, __t657])? } } } } } } } } } }; { let __t661 = { let __t660 = v_W2378.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t660])? }; if match rt::is_truthy(interp, &__t661) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2384 = { let v_W2385 = { let __t662 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t662])? }; { let __t675 = { let __t663 = v_W2385.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t663])? }; if rt::is_truthy(interp, &__t675)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2386 = { let __t664 = v_W2385.clone(); rt::apply_direct(interp, "shen.in->", &[__t664])? }; { let v_W2387 = { let __t665 = v_W2386.clone(); rt::apply_direct(interp, "shen.", &[__t665])? }; { let __t674 = { let __t666 = v_W2387.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t666])? }; if rt::is_truthy(interp, &__t674)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2388 = { let __t667 = v_W2387.clone(); rt::apply_direct(interp, "shen.<-out", &[__t667])? }; { let v_W2389 = { let __t668 = v_W2387.clone(); rt::apply_direct(interp, "shen.in->", &[__t668])? }; { let __t669 = v_W2389.clone(); let __t673 = { let __t671 = { let __t670 = Value::str(","); rt::apply_direct(interp, "intern", &[__t670])? }; let __t672 = v_W2388.clone(); rt::cons(&__t671, &__t672) }; rt::apply_direct(interp, "shen.comb", &[__t669, __t673])? } } } } } } } } } }; { let __t677 = { let __t676 = v_W2384.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t676])? }; if match rt::is_truthy(interp, &__t677) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2390 = { let v_W2391 = { let __t678 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t678])? }; { let __t688 = { let __t679 = v_W2391.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t679])? }; if rt::is_truthy(interp, &__t688)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2392 = { let __t680 = v_W2391.clone(); rt::apply_direct(interp, "shen.in->", &[__t680])? }; { let v_W2393 = { let __t681 = v_W2392.clone(); rt::apply_direct(interp, "shen.", &[__t681])? }; { let __t687 = { let __t682 = v_W2393.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t682])? }; if rt::is_truthy(interp, &__t687)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2394 = { let __t683 = v_W2393.clone(); rt::apply_direct(interp, "shen.<-out", &[__t683])? }; { let v_W2395 = { let __t684 = v_W2393.clone(); rt::apply_direct(interp, "shen.in->", &[__t684])? }; { let __t685 = v_W2395.clone(); let __t686 = v_W2394.clone(); rt::apply_direct(interp, "shen.comb", &[__t685, __t686])? } } } } } } } } } }; { let __t690 = { let __t689 = v_W2390.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t689])? }; if match rt::is_truthy(interp, &__t690) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2396 = { let v_W2397 = { let __t691 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t691])? }; { let __t704 = { let __t692 = v_W2397.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t692])? }; if rt::is_truthy(interp, &__t704)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2398 = { let __t693 = v_W2397.clone(); rt::apply_direct(interp, "shen.<-out", &[__t693])? }; { let v_W2399 = { let __t694 = v_W2397.clone(); rt::apply_direct(interp, "shen.in->", &[__t694])? }; { let v_W2400 = { let __t695 = v_W2399.clone(); rt::apply_direct(interp, "shen.", &[__t695])? }; { let __t703 = { let __t696 = v_W2400.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t696])? }; if rt::is_truthy(interp, &__t703)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2401 = { let __t697 = v_W2400.clone(); rt::apply_direct(interp, "shen.<-out", &[__t697])? }; { let v_W2402 = { let __t698 = v_W2400.clone(); rt::apply_direct(interp, "shen.in->", &[__t698])? }; { let __t699 = v_W2402.clone(); let __t702 = { let __t700 = v_W2398.clone(); let __t701 = v_W2401.clone(); rt::cons(&__t700, &__t701) }; rt::apply_direct(interp, "shen.comb", &[__t699, __t702])? } } } } } } } } } } }; { let __t706 = { let __t705 = v_W2396.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t705])? }; if match rt::is_truthy(interp, &__t706) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2403 = { let v_W2404 = { let __t707 = v_V2323.clone(); rt::apply_direct(interp, "shen.", &[__t707])? }; { let __t717 = { let __t708 = v_W2404.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t708])? }; if rt::is_truthy(interp, &__t717)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2405 = { let __t709 = v_W2404.clone(); rt::apply_direct(interp, "shen.in->", &[__t709])? }; { let v_W2406 = { let __t710 = v_W2405.clone(); rt::apply_direct(interp, "shen.", &[__t710])? }; { let __t716 = { let __t711 = v_W2406.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t711])? }; if rt::is_truthy(interp, &__t716)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2407 = { let __t712 = v_W2406.clone(); rt::apply_direct(interp, "shen.<-out", &[__t712])? }; { let v_W2408 = { let __t713 = v_W2406.clone(); rt::apply_direct(interp, "shen.in->", &[__t713])? }; { let __t714 = v_W2408.clone(); let __t715 = v_W2407.clone(); rt::apply_direct(interp, "shen.comb", &[__t714, __t715])? } } } } } } } } } }; { let __t719 = { let __t718 = v_W2403.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t718])? }; if match rt::is_truthy(interp, &__t719) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2409 = { let v_W2410 = { let __t720 = v_V2323.clone(); rt::apply_direct(interp, "", &[__t720])? }; { let __t725 = { let __t721 = v_W2410.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t721])? }; if rt::is_truthy(interp, &__t725)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2411 = { let __t722 = v_W2410.clone(); rt::apply_direct(interp, "shen.in->", &[__t722])? }; { let __t723 = v_W2411.clone(); let __t724 = Value::nil(); rt::apply_direct(interp, "shen.comb", &[__t723, __t724])? } } } } }; { let __t727 = { let __t726 = v_W2409.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t726])? }; if match rt::is_truthy(interp, &__t727) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { break Ok(v_W2409.clone()); } } } } else { break Ok(v_W2403.clone()); } } } } else { break Ok(v_W2396.clone()); } } } } else { break Ok(v_W2390.clone()); } } } } else { break Ok(v_W2384.clone()); } } } } else { break Ok(v_W2378.clone()); } } } } else { break Ok(v_W2370.clone()); } + if match rt::is_truthy(interp, &__t608) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2378 = { let v_W2379 = { let __t609 = v_V2323.clone(); aot_shen_x2e__x3c_colon_x3e_(interp, &[__t609])? }; { let __t621 = { let __t610 = v_W2379.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t610])? }; if rt::is_truthy(interp, &__t621)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2380 = { let __t611 = v_W2379.clone(); rt::apply_direct(interp, "shen.in->", &[__t611])? }; { let v_W2381 = { let __t612 = v_W2380.clone(); aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t612])? }; { let __t620 = { let __t613 = v_W2381.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t613])? }; if rt::is_truthy(interp, &__t620)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2382 = { let __t614 = v_W2381.clone(); rt::apply_direct(interp, "shen.<-out", &[__t614])? }; { let v_W2383 = { let __t615 = v_W2381.clone(); rt::apply_direct(interp, "shen.in->", &[__t615])? }; { let __t616 = v_W2383.clone(); let __t619 = { let __t617 = Value::sym(interp.intern_static(":")); let __t618 = v_W2382.clone(); rt::cons(&__t617, &__t618) }; rt::apply_direct(interp, "shen.comb", &[__t616, __t619])? } } } } } } } } } }; { let __t623 = { let __t622 = v_W2378.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t622])? }; if match rt::is_truthy(interp, &__t623) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2384 = { let v_W2385 = { let __t624 = v_V2323.clone(); aot_shen_x2e__x3c_comma_x3e_(interp, &[__t624])? }; { let __t636 = { let __t625 = v_W2385.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t625])? }; if rt::is_truthy(interp, &__t636)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2386 = { let __t626 = v_W2385.clone(); rt::apply_direct(interp, "shen.in->", &[__t626])? }; { let v_W2387 = { let __t627 = v_W2386.clone(); aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t627])? }; { let __t635 = { let __t628 = v_W2387.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t628])? }; if rt::is_truthy(interp, &__t635)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2388 = { let __t629 = v_W2387.clone(); rt::apply_direct(interp, "shen.<-out", &[__t629])? }; { let v_W2389 = { let __t630 = v_W2387.clone(); rt::apply_direct(interp, "shen.in->", &[__t630])? }; { let __t631 = v_W2389.clone(); let __t634 = { let __t632 = Value::sym(interp.intern_static(",")); let __t633 = v_W2388.clone(); rt::cons(&__t632, &__t633) }; rt::apply_direct(interp, "shen.comb", &[__t631, __t634])? } } } } } } } } } }; { let __t638 = { let __t637 = v_W2384.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t637])? }; if match rt::is_truthy(interp, &__t638) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2390 = { let v_W2391 = { let __t639 = v_V2323.clone(); aot_shen_x2e__x3c_comment_x3e_(interp, &[__t639])? }; { let __t649 = { let __t640 = v_W2391.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t640])? }; if rt::is_truthy(interp, &__t649)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2392 = { let __t641 = v_W2391.clone(); rt::apply_direct(interp, "shen.in->", &[__t641])? }; { let v_W2393 = { let __t642 = v_W2392.clone(); aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t642])? }; { let __t648 = { let __t643 = v_W2393.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t643])? }; if rt::is_truthy(interp, &__t648)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2394 = { let __t644 = v_W2393.clone(); rt::apply_direct(interp, "shen.<-out", &[__t644])? }; { let v_W2395 = { let __t645 = v_W2393.clone(); rt::apply_direct(interp, "shen.in->", &[__t645])? }; { let __t646 = v_W2395.clone(); let __t647 = v_W2394.clone(); rt::apply_direct(interp, "shen.comb", &[__t646, __t647])? } } } } } } } } } }; { let __t651 = { let __t650 = v_W2390.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t650])? }; if match rt::is_truthy(interp, &__t651) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2396 = { let v_W2397 = { let __t652 = v_V2323.clone(); aot_shen_x2e__x3c_atom_x3e_(interp, &[__t652])? }; { let __t665 = { let __t653 = v_W2397.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t653])? }; if rt::is_truthy(interp, &__t665)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2398 = { let __t654 = v_W2397.clone(); rt::apply_direct(interp, "shen.<-out", &[__t654])? }; { let v_W2399 = { let __t655 = v_W2397.clone(); rt::apply_direct(interp, "shen.in->", &[__t655])? }; { let v_W2400 = { let __t656 = v_W2399.clone(); aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t656])? }; { let __t664 = { let __t657 = v_W2400.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t657])? }; if rt::is_truthy(interp, &__t664)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2401 = { let __t658 = v_W2400.clone(); rt::apply_direct(interp, "shen.<-out", &[__t658])? }; { let v_W2402 = { let __t659 = v_W2400.clone(); rt::apply_direct(interp, "shen.in->", &[__t659])? }; { let __t660 = v_W2402.clone(); let __t663 = { let __t661 = v_W2398.clone(); let __t662 = v_W2401.clone(); rt::cons(&__t661, &__t662) }; rt::apply_direct(interp, "shen.comb", &[__t660, __t663])? } } } } } } } } } } }; { let __t667 = { let __t666 = v_W2396.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t666])? }; if match rt::is_truthy(interp, &__t667) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2403 = { let v_W2404 = { let __t668 = v_V2323.clone(); aot_shen_x2e__x3c_whitespaces_x3e_(interp, &[__t668])? }; { let __t678 = { let __t669 = v_W2404.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t669])? }; if rt::is_truthy(interp, &__t678)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2405 = { let __t670 = v_W2404.clone(); rt::apply_direct(interp, "shen.in->", &[__t670])? }; { let v_W2406 = { let __t671 = v_W2405.clone(); aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t671])? }; { let __t677 = { let __t672 = v_W2406.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t672])? }; if rt::is_truthy(interp, &__t677)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2407 = { let __t673 = v_W2406.clone(); rt::apply_direct(interp, "shen.<-out", &[__t673])? }; { let v_W2408 = { let __t674 = v_W2406.clone(); rt::apply_direct(interp, "shen.in->", &[__t674])? }; { let __t675 = v_W2408.clone(); let __t676 = v_W2407.clone(); rt::apply_direct(interp, "shen.comb", &[__t675, __t676])? } } } } } } } } } }; { let __t680 = { let __t679 = v_W2403.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t679])? }; if match rt::is_truthy(interp, &__t680) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2409 = { let v_W2410 = { let __t681 = v_V2323.clone(); rt::apply_direct(interp, "", &[__t681])? }; { let __t686 = { let __t682 = v_W2410.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t682])? }; if rt::is_truthy(interp, &__t686)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2411 = { let __t683 = v_W2410.clone(); rt::apply_direct(interp, "shen.in->", &[__t683])? }; { let __t684 = v_W2411.clone(); let __t685 = Value::nil(); rt::apply_direct(interp, "shen.comb", &[__t684, __t685])? } } } } }; { let __t688 = { let __t687 = v_W2409.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t687])? }; if match rt::is_truthy(interp, &__t688) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); } else { break Ok(v_W2409.clone()); } } } } else { break Ok(v_W2403.clone()); } } } } else { break Ok(v_W2396.clone()); } } } } else { break Ok(v_W2390.clone()); } } } } else { break Ok(v_W2384.clone()); } } } } else { break Ok(v_W2378.clone()); } } } } else { break Ok(v_W2370.clone()); } } } } else { @@ -3619,86 +3520,85 @@ pub fn aot_shen_x2e_add_x2d_sexpr(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t752 = { - let __t745 = { - let __t731 = v_V2412.clone(); - rt::is_cons(&__t731) + let __t709 = { + let __t702 = { + let __t692 = v_V2412.clone(); + rt::is_cons(&__t692) }; - if !rt::is_truthy(interp, &__t745)? { + if !rt::is_truthy(interp, &__t702)? { Value::bool(false) } else { - let __t746 = { - let __t743 = { - let __t732 = Value::sym(interp.intern("$")); - let __t734 = { - let __t733 = v_V2412.clone(); - rt::hd(&__t733)? - }; - rt::eq(&__t732, &__t734) - }; - if !rt::is_truthy(interp, &__t743)? { + let __t703 = { + let __t700 = Value::bool( + ({ + let __t693 = v_V2412.clone(); + rt::hd(&__t693)? + }) + .as_sym() + == Some(interp.intern_static("$")), + ); + if !rt::is_truthy(interp, &__t700)? { Value::bool(false) } else { - let __t744 = { - let __t741 = { - let __t736 = { - let __t735 = v_V2412.clone(); - rt::tl(&__t735)? + let __t701 = { + let __t698 = { + let __t695 = { + let __t694 = v_V2412.clone(); + rt::tl(&__t694)? }; - rt::is_cons(&__t736) + rt::is_cons(&__t695) }; - if !rt::is_truthy(interp, &__t741)? { + if !rt::is_truthy(interp, &__t698)? { Value::bool(false) } else { - let __t742 = { - let __t737 = Value::nil(); - let __t740 = { - let __t739 = { - let __t738 = v_V2412.clone(); - rt::tl(&__t738)? + let __t699 = Value::bool( + ({ + let __t697 = { + let __t696 = v_V2412.clone(); + rt::tl(&__t696)? }; - rt::tl(&__t739)? - }; - rt::eq(&__t737, &__t740) - }; - Value::bool(rt::is_truthy(interp, &__t742)?) + rt::tl(&__t697)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t699)?) } }; - Value::bool(rt::is_truthy(interp, &__t744)?) + Value::bool(rt::is_truthy(interp, &__t701)?) } }; - Value::bool(rt::is_truthy(interp, &__t746)?) + Value::bool(rt::is_truthy(interp, &__t703)?) } }; - if match rt::is_truthy(interp, &__t752) { + if match rt::is_truthy(interp, &__t709) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t750 = { - let __t749 = { - let __t748 = { - let __t747 = v_V2412.clone(); - rt::tl(&__t747)? + let __t707 = { + let __t706 = { + let __t705 = { + let __t704 = v_V2412.clone(); + rt::tl(&__t704)? }; - rt::hd(&__t748)? + rt::hd(&__t705)? }; - rt::apply_direct(interp, "explode", &[__t749])? + rt::apply_direct(interp, "explode", &[__t706])? }; - let __t751 = v_V2413.clone(); - rt::apply_direct(interp, "append", &[__t750, __t751])? + let __t708 = v_V2413.clone(); + rt::apply_direct(interp, "append", &[__t707, __t708])? }); } else { { - let __t730 = Value::bool(true); - if match rt::is_truthy(interp, &__t730) { + let __t691 = Value::bool(true); + if match rt::is_truthy(interp, &__t691) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t728 = v_V2412.clone(); - let __t729 = v_V2413.clone(); - rt::cons(&__t728, &__t729) + let __t689 = v_V2412.clone(); + let __t690 = v_V2413.clone(); + rt::cons(&__t689, &__t690) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3728,21 +3628,21 @@ pub fn aot_shen_x2e__x3c_lsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W2415 = { - let __t758 = { - let __t753 = v_V2414.clone(); - let __t754 = Value::int(91i64); - rt::apply_direct(interp, "shen.hds=?", &[__t753, __t754])? + let __t715 = { + let __t710 = v_V2414.clone(); + let __t711 = Value::int(91i64); + rt::apply_direct(interp, "shen.hds=?", &[__t710, __t711])? }; - if rt::is_truthy(interp, &__t758)? { + if rt::is_truthy(interp, &__t715)? { { let v_W2416 = { - let __t755 = v_V2414.clone(); - rt::apply_direct(interp, "tail", &[__t755])? + let __t712 = v_V2414.clone(); + rt::apply_direct(interp, "tail", &[__t712])? }; { - let __t756 = v_W2416.clone(); - let __t757 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t756, __t757])? + let __t713 = v_W2416.clone(); + let __t714 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t713, __t714])? } } } else { @@ -3752,11 +3652,11 @@ pub fn aot_shen_x2e__x3c_lsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t760 = { - let __t759 = v_W2415.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t759])? + let __t717 = { + let __t716 = v_W2415.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t716])? }; - if match rt::is_truthy(interp, &__t760) { + if match rt::is_truthy(interp, &__t717) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3788,21 +3688,21 @@ pub fn aot_shen_x2e__x3c_rsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W2418 = { - let __t766 = { - let __t761 = v_V2417.clone(); - let __t762 = Value::int(93i64); - rt::apply_direct(interp, "shen.hds=?", &[__t761, __t762])? + let __t723 = { + let __t718 = v_V2417.clone(); + let __t719 = Value::int(93i64); + rt::apply_direct(interp, "shen.hds=?", &[__t718, __t719])? }; - if rt::is_truthy(interp, &__t766)? { + if rt::is_truthy(interp, &__t723)? { { let v_W2419 = { - let __t763 = v_V2417.clone(); - rt::apply_direct(interp, "tail", &[__t763])? + let __t720 = v_V2417.clone(); + rt::apply_direct(interp, "tail", &[__t720])? }; { - let __t764 = v_W2419.clone(); - let __t765 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t764, __t765])? + let __t721 = v_W2419.clone(); + let __t722 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t721, __t722])? } } } else { @@ -3812,11 +3712,11 @@ pub fn aot_shen_x2e__x3c_rsb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t768 = { - let __t767 = v_W2418.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t767])? + let __t725 = { + let __t724 = v_W2418.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t724])? }; - if match rt::is_truthy(interp, &__t768) { + if match rt::is_truthy(interp, &__t725) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3852,33 +3752,33 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs1_x3e_( { let v_W2421 = { let v_W2422 = { - let __t769 = v_V2420.clone(); - rt::apply_direct(interp, "shen.", &[__t769])? + let __t726 = v_V2420.clone(); + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t726])? }; { - let __t775 = { - let __t770 = v_W2422.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t770])? + let __t732 = { + let __t727 = v_W2422.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t727])? }; - if rt::is_truthy(interp, &__t775)? { + if rt::is_truthy(interp, &__t732)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2423 = { - let __t771 = v_W2422.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t771])? + let __t728 = v_W2422.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t728])? }; { let v_W2424 = { - let __t772 = v_W2422.clone(); - rt::apply_direct(interp, "shen.in->", &[__t772])? + let __t729 = v_W2422.clone(); + rt::apply_direct(interp, "shen.in->", &[__t729])? }; { - let __t773 = v_W2424.clone(); - let __t774 = v_W2423.clone(); - rt::apply_direct(interp, "shen.comb", &[__t773, __t774])? + let __t730 = v_W2424.clone(); + let __t731 = v_W2423.clone(); + rt::apply_direct(interp, "shen.comb", &[__t730, __t731])? } } } @@ -3886,11 +3786,11 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs1_x3e_( } }; { - let __t777 = { - let __t776 = v_W2421.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t776])? + let __t734 = { + let __t733 = v_W2421.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t733])? }; - if match rt::is_truthy(interp, &__t777) { + if match rt::is_truthy(interp, &__t734) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3926,33 +3826,33 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs2_x3e_( { let v_W2426 = { let v_W2427 = { - let __t778 = v_V2425.clone(); - rt::apply_direct(interp, "shen.", &[__t778])? + let __t735 = v_V2425.clone(); + aot_shen_x2e__x3c_s_x2d_exprs_x3e_(interp, &[__t735])? }; { - let __t784 = { - let __t779 = v_W2427.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t779])? + let __t741 = { + let __t736 = v_W2427.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t736])? }; - if rt::is_truthy(interp, &__t784)? { + if rt::is_truthy(interp, &__t741)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2428 = { - let __t780 = v_W2427.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t780])? + let __t737 = v_W2427.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t737])? }; { let v_W2429 = { - let __t781 = v_W2427.clone(); - rt::apply_direct(interp, "shen.in->", &[__t781])? + let __t738 = v_W2427.clone(); + rt::apply_direct(interp, "shen.in->", &[__t738])? }; { - let __t782 = v_W2429.clone(); - let __t783 = v_W2428.clone(); - rt::apply_direct(interp, "shen.comb", &[__t782, __t783])? + let __t739 = v_W2429.clone(); + let __t740 = v_W2428.clone(); + rt::apply_direct(interp, "shen.comb", &[__t739, __t740])? } } } @@ -3960,11 +3860,11 @@ pub fn aot_shen_x2e__x3c_s_x2d_exprs2_x3e_( } }; { - let __t786 = { - let __t785 = v_W2426.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t785])? + let __t743 = { + let __t742 = v_W2426.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t742])? }; - if match rt::is_truthy(interp, &__t786) { + if match rt::is_truthy(interp, &__t743) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3995,255 +3895,249 @@ pub fn aot_shen_x2e_cons_x2d_form(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t857 = { - let __t855 = Value::nil(); - let __t856 = v_V2431.clone(); - rt::eq(&__t855, &__t856) - }; - if match rt::is_truthy(interp, &__t857) { + let __t806 = Value::bool((v_V2431.clone()).is_nil()); + if match rt::is_truthy(interp, &__t806) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t854 = { - let __t845 = { - let __t824 = v_V2431.clone(); - rt::is_cons(&__t824) + let __t805 = { + let __t796 = { + let __t779 = v_V2431.clone(); + rt::is_cons(&__t779) }; - if !rt::is_truthy(interp, &__t845)? { + if !rt::is_truthy(interp, &__t796)? { Value::bool(false) } else { - let __t846 = { - let __t843 = { - let __t826 = { - let __t825 = v_V2431.clone(); - rt::tl(&__t825)? + let __t797 = { + let __t794 = { + let __t781 = { + let __t780 = v_V2431.clone(); + rt::tl(&__t780)? }; - rt::is_cons(&__t826) + rt::is_cons(&__t781) }; - if !rt::is_truthy(interp, &__t843)? { + if !rt::is_truthy(interp, &__t794)? { Value::bool(false) } else { - let __t844 = { - let __t841 = { - let __t829 = { - let __t828 = { - let __t827 = v_V2431.clone(); - rt::tl(&__t827)? + let __t795 = { + let __t792 = { + let __t784 = { + let __t783 = { + let __t782 = v_V2431.clone(); + rt::tl(&__t782)? }; - rt::tl(&__t828)? + rt::tl(&__t783)? }; - rt::is_cons(&__t829) + rt::is_cons(&__t784) }; - if !rt::is_truthy(interp, &__t841)? { + if !rt::is_truthy(interp, &__t792)? { Value::bool(false) } else { - let __t842 = { - let __t839 = { - let __t830 = Value::nil(); - let __t834 = { - let __t833 = { - let __t832 = { - let __t831 = v_V2431.clone(); - rt::tl(&__t831)? + let __t793 = { + let __t790 = Value::bool( + ({ + let __t787 = { + let __t786 = { + let __t785 = v_V2431.clone(); + rt::tl(&__t785)? }; - rt::tl(&__t832)? + rt::tl(&__t786)? }; - rt::tl(&__t833)? - }; - rt::eq(&__t830, &__t834) - }; - if !rt::is_truthy(interp, &__t839)? { + rt::tl(&__t787)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t790)? { Value::bool(false) } else { - let __t840 = { - let __t837 = { - let __t836 = { - let __t835 = v_V2431.clone(); - rt::tl(&__t835)? + let __t791 = Value::bool( + ({ + let __t789 = { + let __t788 = v_V2431.clone(); + rt::tl(&__t788)? }; - rt::hd(&__t836)? - }; - let __t838 = - Value::sym(interp.intern("bar!")); - rt::eq(&__t837, &__t838) - }; - Value::bool(rt::is_truthy(interp, &__t840)?) + rt::hd(&__t789)? + }) + .as_sym() + == Some(interp.intern_static("bar!")), + ); + Value::bool(rt::is_truthy(interp, &__t791)?) } }; - Value::bool(rt::is_truthy(interp, &__t842)?) + Value::bool(rt::is_truthy(interp, &__t793)?) } }; - Value::bool(rt::is_truthy(interp, &__t844)?) + Value::bool(rt::is_truthy(interp, &__t795)?) } }; - Value::bool(rt::is_truthy(interp, &__t846)?) + Value::bool(rt::is_truthy(interp, &__t797)?) } }; - if match rt::is_truthy(interp, &__t854) { + if match rt::is_truthy(interp, &__t805) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t847 = Value::sym(interp.intern("cons")); - let __t853 = { - let __t849 = { - let __t848 = v_V2431.clone(); - rt::hd(&__t848)? + let __t798 = Value::sym(interp.intern_static("cons")); + let __t804 = { + let __t800 = { + let __t799 = v_V2431.clone(); + rt::hd(&__t799)? }; - let __t852 = { - let __t851 = { - let __t850 = v_V2431.clone(); - rt::tl(&__t850)? + let __t803 = { + let __t802 = { + let __t801 = v_V2431.clone(); + rt::tl(&__t801)? }; - rt::tl(&__t851)? + rt::tl(&__t802)? }; - rt::cons(&__t849, &__t852) + rt::cons(&__t800, &__t803) }; - rt::cons(&__t847, &__t853) + rt::cons(&__t798, &__t804) }); } else { { - let __t823 = { - let __t820 = { - let __t800 = v_V2431.clone(); - rt::is_cons(&__t800) + let __t778 = { + let __t775 = { + let __t757 = v_V2431.clone(); + rt::is_cons(&__t757) }; - if !rt::is_truthy(interp, &__t820)? { + if !rt::is_truthy(interp, &__t775)? { Value::bool(false) } else { - let __t821 = { - let __t818 = { - let __t802 = { - let __t801 = v_V2431.clone(); - rt::tl(&__t801)? + let __t776 = { + let __t773 = { + let __t759 = { + let __t758 = v_V2431.clone(); + rt::tl(&__t758)? }; - rt::is_cons(&__t802) + rt::is_cons(&__t759) }; - if !rt::is_truthy(interp, &__t818)? { + if !rt::is_truthy(interp, &__t773)? { Value::bool(false) } else { - let __t819 = { - let __t816 = { - let __t805 = { - let __t804 = { - let __t803 = v_V2431.clone(); - rt::tl(&__t803)? + let __t774 = { + let __t771 = { + let __t762 = { + let __t761 = { + let __t760 = v_V2431.clone(); + rt::tl(&__t760)? }; - rt::tl(&__t804)? + rt::tl(&__t761)? }; - rt::is_cons(&__t805) + rt::is_cons(&__t762) }; - if !rt::is_truthy(interp, &__t816)? { + if !rt::is_truthy(interp, &__t771)? { Value::bool(false) } else { - let __t817 = { - let __t814 = { - let __t809 = { - let __t808 = { - let __t807 = { - let __t806 = + let __t772 = { + let __t769 = { + let __t766 = { + let __t765 = { + let __t764 = { + let __t763 = v_V2431.clone(); - rt::tl(&__t806)? + rt::tl(&__t763)? }; - rt::tl(&__t807)? + rt::tl(&__t764)? }; - rt::tl(&__t808)? + rt::tl(&__t765)? }; - rt::is_cons(&__t809) + rt::is_cons(&__t766) }; - if !rt::is_truthy(interp, &__t814)? { + if !rt::is_truthy(interp, &__t769)? { Value::bool(false) } else { - let __t815 = { - let __t812 = { - let __t811 = { - let __t810 = + let __t770 = Value::bool( + ({ + let __t768 = { + let __t767 = v_V2431.clone(); - rt::tl(&__t810)? + rt::tl(&__t767)? }; - rt::hd(&__t811)? - }; - let __t813 = Value::sym( - interp.intern("bar!"), - ); - rt::eq(&__t812, &__t813) - }; + rt::hd(&__t768)? + }) + .as_sym() + == Some( + interp + .intern_static("bar!"), + ), + ); Value::bool(rt::is_truthy( - interp, &__t815, + interp, &__t770, )?) } }; - Value::bool(rt::is_truthy(interp, &__t817)?) + Value::bool(rt::is_truthy(interp, &__t772)?) } }; - Value::bool(rt::is_truthy(interp, &__t819)?) + Value::bool(rt::is_truthy(interp, &__t774)?) } }; - Value::bool(rt::is_truthy(interp, &__t821)?) + Value::bool(rt::is_truthy(interp, &__t776)?) } }; - if match rt::is_truthy(interp, &__t823) { + if match rt::is_truthy(interp, &__t778) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t822 = Value::str("misapplication of |\n"); - rt::apply_direct(interp, "simple-error", &[__t822])? + let __t777 = Value::str("misapplication of |\n"); + rt::apply_direct(interp, "simple-error", &[__t777])? }); } else { { - let __t799 = { - let __t789 = v_V2431.clone(); - rt::is_cons(&__t789) + let __t756 = { + let __t746 = v_V2431.clone(); + rt::is_cons(&__t746) }; - if match rt::is_truthy(interp, &__t799) { + if match rt::is_truthy(interp, &__t756) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t790 = Value::sym(interp.intern("cons")); - let __t798 = { - let __t792 = { - let __t791 = v_V2431.clone(); - rt::hd(&__t791)? + let __t747 = Value::sym(interp.intern_static("cons")); + let __t755 = { + let __t749 = { + let __t748 = v_V2431.clone(); + rt::hd(&__t748)? }; - let __t797 = { - let __t795 = { - let __t794 = { - let __t793 = v_V2431.clone(); - rt::tl(&__t793)? + let __t754 = { + let __t752 = { + let __t751 = { + let __t750 = v_V2431.clone(); + rt::tl(&__t750)? }; - rt::apply_direct( + aot_shen_x2e_cons_x2d_form( interp, - "shen.cons-form", - &[__t794], + &[__t751], )? }; - let __t796 = Value::nil(); - rt::cons(&__t795, &__t796) + let __t753 = Value::nil(); + rt::cons(&__t752, &__t753) }; - rt::cons(&__t792, &__t797) + rt::cons(&__t749, &__t754) }; - rt::cons(&__t790, &__t798) + rt::cons(&__t747, &__t755) }); } else { { - let __t788 = Value::bool(true); - if match rt::is_truthy(interp, &__t788) { + let __t745 = Value::bool(true); + if match rt::is_truthy(interp, &__t745) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t787 = Value::str( + let __t744 = Value::str( "partial function shen.cons-form", ); rt::apply_direct( interp, "simple-error", - &[__t787], + &[__t744], )? }); } else { @@ -4282,21 +4176,21 @@ pub fn aot_shen_x2e__x3c_lrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W2433 = { - let __t863 = { - let __t858 = v_V2432.clone(); - let __t859 = Value::int(40i64); - rt::apply_direct(interp, "shen.hds=?", &[__t858, __t859])? + let __t812 = { + let __t807 = v_V2432.clone(); + let __t808 = Value::int(40i64); + rt::apply_direct(interp, "shen.hds=?", &[__t807, __t808])? }; - if rt::is_truthy(interp, &__t863)? { + if rt::is_truthy(interp, &__t812)? { { let v_W2434 = { - let __t860 = v_V2432.clone(); - rt::apply_direct(interp, "tail", &[__t860])? + let __t809 = v_V2432.clone(); + rt::apply_direct(interp, "tail", &[__t809])? }; { - let __t861 = v_W2434.clone(); - let __t862 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t861, __t862])? + let __t810 = v_W2434.clone(); + let __t811 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t810, __t811])? } } } else { @@ -4306,11 +4200,11 @@ pub fn aot_shen_x2e__x3c_lrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t865 = { - let __t864 = v_W2433.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t864])? + let __t814 = { + let __t813 = v_W2433.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t813])? }; - if match rt::is_truthy(interp, &__t865) { + if match rt::is_truthy(interp, &__t814) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4342,21 +4236,21 @@ pub fn aot_shen_x2e__x3c_rrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W2436 = { - let __t871 = { - let __t866 = v_V2435.clone(); - let __t867 = Value::int(41i64); - rt::apply_direct(interp, "shen.hds=?", &[__t866, __t867])? + let __t820 = { + let __t815 = v_V2435.clone(); + let __t816 = Value::int(41i64); + rt::apply_direct(interp, "shen.hds=?", &[__t815, __t816])? }; - if rt::is_truthy(interp, &__t871)? { + if rt::is_truthy(interp, &__t820)? { { let v_W2437 = { - let __t868 = v_V2435.clone(); - rt::apply_direct(interp, "tail", &[__t868])? + let __t817 = v_V2435.clone(); + rt::apply_direct(interp, "tail", &[__t817])? }; { - let __t869 = v_W2437.clone(); - let __t870 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t869, __t870])? + let __t818 = v_W2437.clone(); + let __t819 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t818, __t819])? } } } else { @@ -4366,11 +4260,11 @@ pub fn aot_shen_x2e__x3c_rrb_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t873 = { - let __t872 = v_W2436.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t872])? + let __t822 = { + let __t821 = v_W2436.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t821])? }; - if match rt::is_truthy(interp, &__t873) { + if match rt::is_truthy(interp, &__t822) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4402,21 +4296,21 @@ pub fn aot_shen_x2e__x3c_lcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She loop { { let v_W2439 = { - let __t879 = { - let __t874 = v_V2438.clone(); - let __t875 = Value::int(123i64); - rt::apply_direct(interp, "shen.hds=?", &[__t874, __t875])? + let __t828 = { + let __t823 = v_V2438.clone(); + let __t824 = Value::int(123i64); + rt::apply_direct(interp, "shen.hds=?", &[__t823, __t824])? }; - if rt::is_truthy(interp, &__t879)? { + if rt::is_truthy(interp, &__t828)? { { let v_W2440 = { - let __t876 = v_V2438.clone(); - rt::apply_direct(interp, "tail", &[__t876])? + let __t825 = v_V2438.clone(); + rt::apply_direct(interp, "tail", &[__t825])? }; { - let __t877 = v_W2440.clone(); - let __t878 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t877, __t878])? + let __t826 = v_W2440.clone(); + let __t827 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t826, __t827])? } } } else { @@ -4426,11 +4320,11 @@ pub fn aot_shen_x2e__x3c_lcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t881 = { - let __t880 = v_W2439.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t880])? + let __t830 = { + let __t829 = v_W2439.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t829])? }; - if match rt::is_truthy(interp, &__t881) { + if match rt::is_truthy(interp, &__t830) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4462,21 +4356,21 @@ pub fn aot_shen_x2e__x3c_rcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She loop { { let v_W2442 = { - let __t887 = { - let __t882 = v_V2441.clone(); - let __t883 = Value::int(125i64); - rt::apply_direct(interp, "shen.hds=?", &[__t882, __t883])? + let __t836 = { + let __t831 = v_V2441.clone(); + let __t832 = Value::int(125i64); + rt::apply_direct(interp, "shen.hds=?", &[__t831, __t832])? }; - if rt::is_truthy(interp, &__t887)? { + if rt::is_truthy(interp, &__t836)? { { let v_W2443 = { - let __t884 = v_V2441.clone(); - rt::apply_direct(interp, "tail", &[__t884])? + let __t833 = v_V2441.clone(); + rt::apply_direct(interp, "tail", &[__t833])? }; { - let __t885 = v_W2443.clone(); - let __t886 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t885, __t886])? + let __t834 = v_W2443.clone(); + let __t835 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t834, __t835])? } } } else { @@ -4486,11 +4380,11 @@ pub fn aot_shen_x2e__x3c_rcurly_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t889 = { - let __t888 = v_W2442.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t888])? + let __t838 = { + let __t837 = v_W2442.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t837])? }; - if match rt::is_truthy(interp, &__t889) { + if match rt::is_truthy(interp, &__t838) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4522,21 +4416,21 @@ pub fn aot_shen_x2e__x3c_bar_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W2445 = { - let __t895 = { - let __t890 = v_V2444.clone(); - let __t891 = Value::int(124i64); - rt::apply_direct(interp, "shen.hds=?", &[__t890, __t891])? + let __t844 = { + let __t839 = v_V2444.clone(); + let __t840 = Value::int(124i64); + rt::apply_direct(interp, "shen.hds=?", &[__t839, __t840])? }; - if rt::is_truthy(interp, &__t895)? { + if rt::is_truthy(interp, &__t844)? { { let v_W2446 = { - let __t892 = v_V2444.clone(); - rt::apply_direct(interp, "tail", &[__t892])? + let __t841 = v_V2444.clone(); + rt::apply_direct(interp, "tail", &[__t841])? }; { - let __t893 = v_W2446.clone(); - let __t894 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t893, __t894])? + let __t842 = v_W2446.clone(); + let __t843 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t842, __t843])? } } } else { @@ -4546,11 +4440,11 @@ pub fn aot_shen_x2e__x3c_bar_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t897 = { - let __t896 = v_W2445.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t896])? + let __t846 = { + let __t845 = v_W2445.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t845])? }; - if match rt::is_truthy(interp, &__t897) { + if match rt::is_truthy(interp, &__t846) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4582,21 +4476,21 @@ pub fn aot_shen_x2e__x3c_semicolon_x3e_(interp: &mut Interp, args: &[Value]) -> loop { { let v_W2448 = { - let __t903 = { - let __t898 = v_V2447.clone(); - let __t899 = Value::int(59i64); - rt::apply_direct(interp, "shen.hds=?", &[__t898, __t899])? + let __t852 = { + let __t847 = v_V2447.clone(); + let __t848 = Value::int(59i64); + rt::apply_direct(interp, "shen.hds=?", &[__t847, __t848])? }; - if rt::is_truthy(interp, &__t903)? { + if rt::is_truthy(interp, &__t852)? { { let v_W2449 = { - let __t900 = v_V2447.clone(); - rt::apply_direct(interp, "tail", &[__t900])? + let __t849 = v_V2447.clone(); + rt::apply_direct(interp, "tail", &[__t849])? }; { - let __t901 = v_W2449.clone(); - let __t902 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t901, __t902])? + let __t850 = v_W2449.clone(); + let __t851 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t850, __t851])? } } } else { @@ -4606,11 +4500,11 @@ pub fn aot_shen_x2e__x3c_semicolon_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t905 = { - let __t904 = v_W2448.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t904])? + let __t854 = { + let __t853 = v_W2448.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t853])? }; - if match rt::is_truthy(interp, &__t905) { + if match rt::is_truthy(interp, &__t854) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4642,21 +4536,21 @@ pub fn aot_shen_x2e__x3c_colon_x3e_(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2451 = { - let __t911 = { - let __t906 = v_V2450.clone(); - let __t907 = Value::int(58i64); - rt::apply_direct(interp, "shen.hds=?", &[__t906, __t907])? + let __t860 = { + let __t855 = v_V2450.clone(); + let __t856 = Value::int(58i64); + rt::apply_direct(interp, "shen.hds=?", &[__t855, __t856])? }; - if rt::is_truthy(interp, &__t911)? { + if rt::is_truthy(interp, &__t860)? { { let v_W2452 = { - let __t908 = v_V2450.clone(); - rt::apply_direct(interp, "tail", &[__t908])? + let __t857 = v_V2450.clone(); + rt::apply_direct(interp, "tail", &[__t857])? }; { - let __t909 = v_W2452.clone(); - let __t910 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t909, __t910])? + let __t858 = v_W2452.clone(); + let __t859 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t858, __t859])? } } } else { @@ -4666,11 +4560,11 @@ pub fn aot_shen_x2e__x3c_colon_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t913 = { - let __t912 = v_W2451.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t912])? + let __t862 = { + let __t861 = v_W2451.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t861])? }; - if match rt::is_truthy(interp, &__t913) { + if match rt::is_truthy(interp, &__t862) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4702,21 +4596,21 @@ pub fn aot_shen_x2e__x3c_comma_x3e_(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2454 = { - let __t919 = { - let __t914 = v_V2453.clone(); - let __t915 = Value::int(44i64); - rt::apply_direct(interp, "shen.hds=?", &[__t914, __t915])? + let __t868 = { + let __t863 = v_V2453.clone(); + let __t864 = Value::int(44i64); + rt::apply_direct(interp, "shen.hds=?", &[__t863, __t864])? }; - if rt::is_truthy(interp, &__t919)? { + if rt::is_truthy(interp, &__t868)? { { let v_W2455 = { - let __t916 = v_V2453.clone(); - rt::apply_direct(interp, "tail", &[__t916])? + let __t865 = v_V2453.clone(); + rt::apply_direct(interp, "tail", &[__t865])? }; { - let __t917 = v_W2455.clone(); - let __t918 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t917, __t918])? + let __t866 = v_W2455.clone(); + let __t867 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t866, __t867])? } } } else { @@ -4726,11 +4620,11 @@ pub fn aot_shen_x2e__x3c_comma_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t921 = { - let __t920 = v_W2454.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t920])? + let __t870 = { + let __t869 = v_W2454.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t869])? }; - if match rt::is_truthy(interp, &__t921) { + if match rt::is_truthy(interp, &__t870) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4762,21 +4656,21 @@ pub fn aot_shen_x2e__x3c_equal_x3e_(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2457 = { - let __t927 = { - let __t922 = v_V2456.clone(); - let __t923 = Value::int(61i64); - rt::apply_direct(interp, "shen.hds=?", &[__t922, __t923])? + let __t876 = { + let __t871 = v_V2456.clone(); + let __t872 = Value::int(61i64); + rt::apply_direct(interp, "shen.hds=?", &[__t871, __t872])? }; - if rt::is_truthy(interp, &__t927)? { + if rt::is_truthy(interp, &__t876)? { { let v_W2458 = { - let __t924 = v_V2456.clone(); - rt::apply_direct(interp, "tail", &[__t924])? + let __t873 = v_V2456.clone(); + rt::apply_direct(interp, "tail", &[__t873])? }; { - let __t925 = v_W2458.clone(); - let __t926 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t925, __t926])? + let __t874 = v_W2458.clone(); + let __t875 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t874, __t875])? } } } else { @@ -4786,11 +4680,11 @@ pub fn aot_shen_x2e__x3c_equal_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t929 = { - let __t928 = v_W2457.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t928])? + let __t878 = { + let __t877 = v_W2457.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t877])? }; - if match rt::is_truthy(interp, &__t929) { + if match rt::is_truthy(interp, &__t878) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4823,70 +4717,71 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh { let v_W2460 = { let v_W2461 = { - let __t930 = v_V2459.clone(); - rt::apply_direct(interp, "shen.", &[__t930])? + let __t879 = v_V2459.clone(); + aot_shen_x2e__x3c_singleline_x3e_(interp, &[__t879])? }; { - let __t935 = { - let __t931 = v_W2461.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t931])? + let __t884 = { + let __t880 = v_W2461.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t880])? }; - if rt::is_truthy(interp, &__t935)? { + if rt::is_truthy(interp, &__t884)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2462 = { - let __t932 = v_W2461.clone(); - rt::apply_direct(interp, "shen.in->", &[__t932])? + let __t881 = v_W2461.clone(); + rt::apply_direct(interp, "shen.in->", &[__t881])? }; { - let __t933 = v_W2462.clone(); - let __t934 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t933, __t934])? + let __t882 = v_W2462.clone(); + let __t883 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t882, __t883])? } } } } }; { - let __t937 = { - let __t936 = v_W2460.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t936])? + let __t886 = { + let __t885 = v_W2460.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t885])? }; - if match rt::is_truthy(interp, &__t937) { + if match rt::is_truthy(interp, &__t886) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2463 = { let v_W2464 = { - let __t938 = v_V2459.clone(); - rt::apply_direct(interp, "shen.", &[__t938])? + let __t887 = v_V2459.clone(); + aot_shen_x2e__x3c_multiline_x3e_(interp, &[__t887])? }; { - let __t943 = { - let __t939 = v_W2464.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t939])? + let __t892 = { + let __t888 = v_W2464.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t888])? }; - if rt::is_truthy(interp, &__t943)? { + if rt::is_truthy(interp, &__t892)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2465 = { - let __t940 = v_W2464.clone(); - rt::apply_direct(interp, "shen.in->", &[__t940])? + let __t889 = v_W2464.clone(); + rt::apply_direct(interp, "shen.in->", &[__t889])? }; { - let __t941 = v_W2465.clone(); - let __t942 = Value::sym(interp.intern("shen.skip")); + let __t890 = v_W2465.clone(); + let __t891 = + Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", - &[__t941, __t942], + &[__t890, __t891], )? } } @@ -4894,11 +4789,11 @@ pub fn aot_shen_x2e__x3c_comment_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t945 = { - let __t944 = v_W2463.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t944])? + let __t894 = { + let __t893 = v_W2463.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t893])? }; - if match rt::is_truthy(interp, &__t945) { + if match rt::is_truthy(interp, &__t894) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4936,63 +4831,62 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> { let v_W2467 = { let v_W2468 = { - let __t946 = v_V2466.clone(); - rt::apply_direct(interp, "shen.", &[__t946])? + let __t895 = v_V2466.clone(); + aot_shen_x2e__x3c_backslash_x3e_(interp, &[__t895])? }; { - let __t963 = { - let __t947 = v_W2468.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t947])? + let __t912 = { + let __t896 = v_W2468.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t896])? }; - if rt::is_truthy(interp, &__t963)? { + if rt::is_truthy(interp, &__t912)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2469 = { - let __t948 = v_W2468.clone(); - rt::apply_direct(interp, "shen.in->", &[__t948])? + let __t897 = v_W2468.clone(); + rt::apply_direct(interp, "shen.in->", &[__t897])? }; { let v_W2470 = { - let __t949 = v_W2469.clone(); - rt::apply_direct(interp, "shen.", &[__t949])? + let __t898 = v_W2469.clone(); + aot_shen_x2e__x3c_backslash_x3e_(interp, &[__t898])? }; { - let __t962 = { - let __t950 = v_W2470.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t950])? + let __t911 = { + let __t899 = v_W2470.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t899])? }; - if rt::is_truthy(interp, &__t962)? { + if rt::is_truthy(interp, &__t911)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2471 = { - let __t951 = v_W2470.clone(); - rt::apply_direct(interp, "shen.in->", &[__t951])? + let __t900 = v_W2470.clone(); + rt::apply_direct(interp, "shen.in->", &[__t900])? }; { let v_W2472 = { - let __t952 = v_W2471.clone(); - rt::apply_direct( + let __t901 = v_W2471.clone(); + aot_shen_x2e__x3c_shortnatters_x3e_( interp, - "shen.", - &[__t952], + &[__t901], )? }; { - let __t961 = { - let __t953 = v_W2472.clone(); + let __t910 = { + let __t902 = v_W2472.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t953], + &[__t902], )? }; - if rt::is_truthy(interp, &__t961)? { + if rt::is_truthy(interp, &__t910)? { { rt::apply_direct( interp, @@ -5003,34 +4897,33 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> } else { { let v_W2473 = { - let __t954 = v_W2472.clone(); + let __t903 = v_W2472.clone(); rt::apply_direct( interp, "shen.in->", - &[__t954], + &[__t903], )? }; { let v_W2474 = { - let __t955 = v_W2473.clone(); - rt::apply_direct( + let __t904 = v_W2473.clone(); + aot_shen_x2e__x3c_returns_x3e_( interp, - "shen.", - &[__t955], + &[__t904], )? }; { - let __t960 = { - let __t956 = + let __t909 = { + let __t905 = v_W2474.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t956], + &[__t905], )? }; if rt::is_truthy( - interp, &__t960, + interp, &__t909, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -5038,24 +4931,24 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> } else { { let v_W2475 = { - let __t957 = + let __t906 = v_W2474.clone(); rt::apply_direct( interp, "shen.in->", - &[__t957], + &[__t906], )? }; { - let __t958 = + let __t907 = v_W2475.clone(); - let __t959 = Value::sym(interp.intern("shen.skip")); + let __t908 = Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", &[ - __t958, - __t959, + __t907, + __t908, ], )? } @@ -5076,11 +4969,11 @@ pub fn aot_shen_x2e__x3c_singleline_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t965 = { - let __t964 = v_W2467.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t964])? + let __t914 = { + let __t913 = v_W2467.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t913])? }; - if match rt::is_truthy(interp, &__t965) { + if match rt::is_truthy(interp, &__t914) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5112,21 +5005,21 @@ pub fn aot_shen_x2e__x3c_backslash_x3e_(interp: &mut Interp, args: &[Value]) -> loop { { let v_W2477 = { - let __t971 = { - let __t966 = v_V2476.clone(); - let __t967 = Value::int(92i64); - rt::apply_direct(interp, "shen.hds=?", &[__t966, __t967])? + let __t920 = { + let __t915 = v_V2476.clone(); + let __t916 = Value::int(92i64); + rt::apply_direct(interp, "shen.hds=?", &[__t915, __t916])? }; - if rt::is_truthy(interp, &__t971)? { + if rt::is_truthy(interp, &__t920)? { { let v_W2478 = { - let __t968 = v_V2476.clone(); - rt::apply_direct(interp, "tail", &[__t968])? + let __t917 = v_V2476.clone(); + rt::apply_direct(interp, "tail", &[__t917])? }; { - let __t969 = v_W2478.clone(); - let __t970 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t969, __t970])? + let __t918 = v_W2478.clone(); + let __t919 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t918, __t919])? } } } else { @@ -5136,11 +5029,11 @@ pub fn aot_shen_x2e__x3c_backslash_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t973 = { - let __t972 = v_W2477.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t972])? + let __t922 = { + let __t921 = v_W2477.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t921])? }; - if match rt::is_truthy(interp, &__t973) { + if match rt::is_truthy(interp, &__t922) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5176,51 +5069,52 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( { let v_W2480 = { let v_W2481 = { - let __t974 = v_V2479.clone(); - rt::apply_direct(interp, "shen.", &[__t974])? + let __t923 = v_V2479.clone(); + aot_shen_x2e__x3c_shortnatter_x3e_(interp, &[__t923])? }; { - let __t983 = { - let __t975 = v_W2481.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t975])? + let __t932 = { + let __t924 = v_W2481.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t924])? }; - if rt::is_truthy(interp, &__t983)? { + if rt::is_truthy(interp, &__t932)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2482 = { - let __t976 = v_W2481.clone(); - rt::apply_direct(interp, "shen.in->", &[__t976])? + let __t925 = v_W2481.clone(); + rt::apply_direct(interp, "shen.in->", &[__t925])? }; { let v_W2483 = { - let __t977 = v_W2482.clone(); - rt::apply_direct(interp, "shen.", &[__t977])? + let __t926 = v_W2482.clone(); + aot_shen_x2e__x3c_shortnatters_x3e_(interp, &[__t926])? }; { - let __t982 = { - let __t978 = v_W2483.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t978])? + let __t931 = { + let __t927 = v_W2483.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t927])? }; - if rt::is_truthy(interp, &__t982)? { + if rt::is_truthy(interp, &__t931)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2484 = { - let __t979 = v_W2483.clone(); - rt::apply_direct(interp, "shen.in->", &[__t979])? + let __t928 = v_W2483.clone(); + rt::apply_direct(interp, "shen.in->", &[__t928])? }; { - let __t980 = v_W2484.clone(); - let __t981 = Value::sym(interp.intern("shen.skip")); + let __t929 = v_W2484.clone(); + let __t930 = + Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", - &[__t980, __t981], + &[__t929, __t930], )? } } @@ -5232,42 +5126,43 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( } }; { - let __t985 = { - let __t984 = v_W2480.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t984])? + let __t934 = { + let __t933 = v_W2480.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t933])? }; - if match rt::is_truthy(interp, &__t985) { + if match rt::is_truthy(interp, &__t934) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2485 = { let v_W2486 = { - let __t986 = v_V2479.clone(); - rt::apply_direct(interp, "", &[__t986])? + let __t935 = v_V2479.clone(); + rt::apply_direct(interp, "", &[__t935])? }; { - let __t991 = { - let __t987 = v_W2486.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t987])? + let __t940 = { + let __t936 = v_W2486.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t936])? }; - if rt::is_truthy(interp, &__t991)? { + if rt::is_truthy(interp, &__t940)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2487 = { - let __t988 = v_W2486.clone(); - rt::apply_direct(interp, "shen.in->", &[__t988])? + let __t937 = v_W2486.clone(); + rt::apply_direct(interp, "shen.in->", &[__t937])? }; { - let __t989 = v_W2487.clone(); - let __t990 = Value::sym(interp.intern("shen.skip")); + let __t938 = v_W2487.clone(); + let __t939 = + Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", - &[__t989, __t990], + &[__t938, __t939], )? } } @@ -5275,11 +5170,11 @@ pub fn aot_shen_x2e__x3c_shortnatters_x3e_( } }; { - let __t993 = { - let __t992 = v_W2485.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t992])? + let __t942 = { + let __t941 = v_W2485.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t941])? }; - if match rt::is_truthy(interp, &__t993) { + if match rt::is_truthy(interp, &__t942) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5323,34 +5218,34 @@ pub fn aot_shen_x2e__x3c_shortnatter_x3e_( loop { { let v_W2489 = { - let __t1002 = { - let __t994 = v_V2488.clone(); - rt::is_cons(&__t994) + let __t951 = { + let __t943 = v_V2488.clone(); + rt::is_cons(&__t943) }; - if rt::is_truthy(interp, &__t1002)? { + if rt::is_truthy(interp, &__t951)? { { let v_W2490 = { - let __t995 = v_V2488.clone(); - rt::apply_direct(interp, "head", &[__t995])? + let __t944 = v_V2488.clone(); + rt::apply_direct(interp, "head", &[__t944])? }; { let v_W2491 = { - let __t996 = v_V2488.clone(); - rt::apply_direct(interp, "tail", &[__t996])? + let __t945 = v_V2488.clone(); + rt::apply_direct(interp, "tail", &[__t945])? }; { - let __t1001 = { - let __t998 = { - let __t997 = v_W2490.clone(); - rt::apply_direct(interp, "shen.return?", &[__t997])? + let __t950 = { + let __t947 = { + let __t946 = v_W2490.clone(); + aot_shen_x2e_return_x3f_(interp, &[__t946])? }; - rt::apply_direct(interp, "not", &[__t998])? + rt::not(interp, &__t947)? }; - if rt::is_truthy(interp, &__t1001)? { + if rt::is_truthy(interp, &__t950)? { { - let __t999 = v_W2491.clone(); - let __t1000 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t999, __t1000])? + let __t948 = v_W2491.clone(); + let __t949 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t948, __t949])? } } else { { @@ -5367,11 +5262,11 @@ pub fn aot_shen_x2e__x3c_shortnatter_x3e_( } }; { - let __t1004 = { - let __t1003 = v_W2489.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1003])? + let __t953 = { + let __t952 = v_W2489.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t952])? }; - if match rt::is_truthy(interp, &__t1004) { + if match rt::is_truthy(interp, &__t953) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5404,52 +5299,52 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh { let v_W2493 = { let v_W2494 = { - let __t1005 = v_V2492.clone(); - rt::apply_direct(interp, "shen.", &[__t1005])? + let __t954 = v_V2492.clone(); + aot_shen_x2e__x3c_return_x3e_(interp, &[__t954])? }; { - let __t1014 = { - let __t1006 = v_W2494.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1006])? + let __t963 = { + let __t955 = v_W2494.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t955])? }; - if rt::is_truthy(interp, &__t1014)? { + if rt::is_truthy(interp, &__t963)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2495 = { - let __t1007 = v_W2494.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1007])? + let __t956 = v_W2494.clone(); + rt::apply_direct(interp, "shen.in->", &[__t956])? }; { let v_W2496 = { - let __t1008 = v_W2495.clone(); - rt::apply_direct(interp, "shen.", &[__t1008])? + let __t957 = v_W2495.clone(); + aot_shen_x2e__x3c_returns_x3e_(interp, &[__t957])? }; { - let __t1013 = { - let __t1009 = v_W2496.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1009])? + let __t962 = { + let __t958 = v_W2496.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t958])? }; - if rt::is_truthy(interp, &__t1013)? { + if rt::is_truthy(interp, &__t962)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2497 = { - let __t1010 = v_W2496.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1010])? + let __t959 = v_W2496.clone(); + rt::apply_direct(interp, "shen.in->", &[__t959])? }; { - let __t1011 = v_W2497.clone(); - let __t1012 = - Value::sym(interp.intern("shen.skip")); + let __t960 = v_W2497.clone(); + let __t961 = + Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", - &[__t1011, __t1012], + &[__t960, __t961], )? } } @@ -5461,42 +5356,43 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t1016 = { - let __t1015 = v_W2493.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1015])? + let __t965 = { + let __t964 = v_W2493.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t964])? }; - if match rt::is_truthy(interp, &__t1016) { + if match rt::is_truthy(interp, &__t965) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2498 = { let v_W2499 = { - let __t1017 = v_V2492.clone(); - rt::apply_direct(interp, "shen.", &[__t1017])? + let __t966 = v_V2492.clone(); + aot_shen_x2e__x3c_return_x3e_(interp, &[__t966])? }; { - let __t1022 = { - let __t1018 = v_W2499.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1018])? + let __t971 = { + let __t967 = v_W2499.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t967])? }; - if rt::is_truthy(interp, &__t1022)? { + if rt::is_truthy(interp, &__t971)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2500 = { - let __t1019 = v_W2499.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1019])? + let __t968 = v_W2499.clone(); + rt::apply_direct(interp, "shen.in->", &[__t968])? }; { - let __t1020 = v_W2500.clone(); - let __t1021 = Value::sym(interp.intern("shen.skip")); + let __t969 = v_W2500.clone(); + let __t970 = + Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", - &[__t1020, __t1021], + &[__t969, __t970], )? } } @@ -5504,11 +5400,11 @@ pub fn aot_shen_x2e__x3c_returns_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t1024 = { - let __t1023 = v_W2498.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1023])? + let __t973 = { + let __t972 = v_W2498.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t972])? }; - if match rt::is_truthy(interp, &__t1024) { + if match rt::is_truthy(interp, &__t973) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5545,31 +5441,31 @@ pub fn aot_shen_x2e__x3c_return_x3e_(interp: &mut Interp, args: &[Value]) -> She loop { { let v_W2502 = { - let __t1032 = { - let __t1025 = v_V2501.clone(); - rt::is_cons(&__t1025) + let __t981 = { + let __t974 = v_V2501.clone(); + rt::is_cons(&__t974) }; - if rt::is_truthy(interp, &__t1032)? { + if rt::is_truthy(interp, &__t981)? { { let v_W2503 = { - let __t1026 = v_V2501.clone(); - rt::apply_direct(interp, "head", &[__t1026])? + let __t975 = v_V2501.clone(); + rt::apply_direct(interp, "head", &[__t975])? }; { let v_W2504 = { - let __t1027 = v_V2501.clone(); - rt::apply_direct(interp, "tail", &[__t1027])? + let __t976 = v_V2501.clone(); + rt::apply_direct(interp, "tail", &[__t976])? }; { - let __t1031 = { - let __t1028 = v_W2503.clone(); - rt::apply_direct(interp, "shen.return?", &[__t1028])? + let __t980 = { + let __t977 = v_W2503.clone(); + aot_shen_x2e_return_x3f_(interp, &[__t977])? }; - if rt::is_truthy(interp, &__t1031)? { + if rt::is_truthy(interp, &__t980)? { { - let __t1029 = v_W2504.clone(); - let __t1030 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1029, __t1030])? + let __t978 = v_W2504.clone(); + let __t979 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t978, __t979])? } } else { { @@ -5586,11 +5482,11 @@ pub fn aot_shen_x2e__x3c_return_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1034 = { - let __t1033 = v_W2502.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1033])? + let __t983 = { + let __t982 = v_W2502.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t982])? }; - if match rt::is_truthy(interp, &__t1034) { + if match rt::is_truthy(interp, &__t983) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5621,21 +5517,21 @@ pub fn aot_shen_x2e_return_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { break Ok({ - let __t1035 = v_V2505.clone(); - let __t1042 = { - let __t1036 = Value::int(9i64); - let __t1041 = { - let __t1037 = Value::int(10i64); - let __t1040 = { - let __t1038 = Value::int(13i64); - let __t1039 = Value::nil(); - rt::cons(&__t1038, &__t1039) + let __t984 = v_V2505.clone(); + let __t991 = { + let __t985 = Value::int(9i64); + let __t990 = { + let __t986 = Value::int(10i64); + let __t989 = { + let __t987 = Value::int(13i64); + let __t988 = Value::nil(); + rt::cons(&__t987, &__t988) }; - rt::cons(&__t1037, &__t1040) + rt::cons(&__t986, &__t989) }; - rt::cons(&__t1036, &__t1041) + rt::cons(&__t985, &__t990) }; - rt::apply_direct(interp, "element?", &[__t1035, __t1042])? + rt::apply_direct(interp, "element?", &[__t984, __t991])? }); } } @@ -5660,63 +5556,62 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> { let v_W2507 = { let v_W2508 = { - let __t1043 = v_V2506.clone(); - rt::apply_direct(interp, "shen.", &[__t1043])? + let __t992 = v_V2506.clone(); + aot_shen_x2e__x3c_backslash_x3e_(interp, &[__t992])? }; { - let __t1056 = { - let __t1044 = v_W2508.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1044])? + let __t1005 = { + let __t993 = v_W2508.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t993])? }; - if rt::is_truthy(interp, &__t1056)? { + if rt::is_truthy(interp, &__t1005)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2509 = { - let __t1045 = v_W2508.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1045])? + let __t994 = v_W2508.clone(); + rt::apply_direct(interp, "shen.in->", &[__t994])? }; { let v_W2510 = { - let __t1046 = v_W2509.clone(); - rt::apply_direct(interp, "shen.", &[__t1046])? + let __t995 = v_W2509.clone(); + aot_shen_x2e__x3c_times_x3e_(interp, &[__t995])? }; { - let __t1055 = { - let __t1047 = v_W2510.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1047])? + let __t1004 = { + let __t996 = v_W2510.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t996])? }; - if rt::is_truthy(interp, &__t1055)? { + if rt::is_truthy(interp, &__t1004)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2511 = { - let __t1048 = v_W2510.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1048])? + let __t997 = v_W2510.clone(); + rt::apply_direct(interp, "shen.in->", &[__t997])? }; { let v_W2512 = { - let __t1049 = v_W2511.clone(); - rt::apply_direct( + let __t998 = v_W2511.clone(); + aot_shen_x2e__x3c_longnatter_x3e_( interp, - "shen.", - &[__t1049], + &[__t998], )? }; { - let __t1054 = { - let __t1050 = v_W2512.clone(); + let __t1003 = { + let __t999 = v_W2512.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1050], + &[__t999], )? }; - if rt::is_truthy(interp, &__t1054)? { + if rt::is_truthy(interp, &__t1003)? { { rt::apply_direct( interp, @@ -5727,22 +5622,23 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> } else { { let v_W2513 = { - let __t1051 = v_W2512.clone(); + let __t1000 = v_W2512.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1051], + &[__t1000], )? }; { - let __t1052 = v_W2513.clone(); - let __t1053 = Value::sym( - interp.intern("shen.skip"), + let __t1001 = v_W2513.clone(); + let __t1002 = Value::sym( + interp + .intern_static("shen.skip"), ); rt::apply_direct( interp, "shen.comb", - &[__t1052, __t1053], + &[__t1001, __t1002], )? } } @@ -5758,11 +5654,11 @@ pub fn aot_shen_x2e__x3c_multiline_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t1058 = { - let __t1057 = v_W2507.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1057])? + let __t1007 = { + let __t1006 = v_W2507.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1006])? }; - if match rt::is_truthy(interp, &__t1058) { + if match rt::is_truthy(interp, &__t1007) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5794,21 +5690,21 @@ pub fn aot_shen_x2e__x3c_times_x3e_(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2515 = { - let __t1064 = { - let __t1059 = v_V2514.clone(); - let __t1060 = Value::int(42i64); - rt::apply_direct(interp, "shen.hds=?", &[__t1059, __t1060])? + let __t1013 = { + let __t1008 = v_V2514.clone(); + let __t1009 = Value::int(42i64); + rt::apply_direct(interp, "shen.hds=?", &[__t1008, __t1009])? }; - if rt::is_truthy(interp, &__t1064)? { + if rt::is_truthy(interp, &__t1013)? { { let v_W2516 = { - let __t1061 = v_V2514.clone(); - rt::apply_direct(interp, "tail", &[__t1061])? + let __t1010 = v_V2514.clone(); + rt::apply_direct(interp, "tail", &[__t1010])? }; { - let __t1062 = v_W2516.clone(); - let __t1063 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1062, __t1063])? + let __t1011 = v_W2516.clone(); + let __t1012 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1011, __t1012])? } } } else { @@ -5818,11 +5714,11 @@ pub fn aot_shen_x2e__x3c_times_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1066 = { - let __t1065 = v_W2515.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1065])? + let __t1015 = { + let __t1014 = v_W2515.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1014])? }; - if match rt::is_truthy(interp, &__t1066) { + if match rt::is_truthy(interp, &__t1015) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5855,52 +5751,52 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> { let v_W2518 = { let v_W2519 = { - let __t1067 = v_V2517.clone(); - rt::apply_direct(interp, "shen.", &[__t1067])? + let __t1016 = v_V2517.clone(); + aot_shen_x2e__x3c_comment_x3e_(interp, &[__t1016])? }; { - let __t1076 = { - let __t1068 = v_W2519.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1068])? + let __t1025 = { + let __t1017 = v_W2519.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1017])? }; - if rt::is_truthy(interp, &__t1076)? { + if rt::is_truthy(interp, &__t1025)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2520 = { - let __t1069 = v_W2519.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1069])? + let __t1018 = v_W2519.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1018])? }; { let v_W2521 = { - let __t1070 = v_W2520.clone(); - rt::apply_direct(interp, "shen.", &[__t1070])? + let __t1019 = v_W2520.clone(); + aot_shen_x2e__x3c_longnatter_x3e_(interp, &[__t1019])? }; { - let __t1075 = { - let __t1071 = v_W2521.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1071])? + let __t1024 = { + let __t1020 = v_W2521.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1020])? }; - if rt::is_truthy(interp, &__t1075)? { + if rt::is_truthy(interp, &__t1024)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2522 = { - let __t1072 = v_W2521.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1072])? + let __t1021 = v_W2521.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1021])? }; { - let __t1073 = v_W2522.clone(); - let __t1074 = - Value::sym(interp.intern("shen.skip")); + let __t1022 = v_W2522.clone(); + let __t1023 = + Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", - &[__t1073, __t1074], + &[__t1022, __t1023], )? } } @@ -5912,54 +5808,53 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t1078 = { - let __t1077 = v_W2518.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1077])? + let __t1027 = { + let __t1026 = v_W2518.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1026])? }; - if match rt::is_truthy(interp, &__t1078) { + if match rt::is_truthy(interp, &__t1027) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2523 = { let v_W2524 = { - let __t1079 = v_V2517.clone(); - rt::apply_direct(interp, "shen.", &[__t1079])? + let __t1028 = v_V2517.clone(); + aot_shen_x2e__x3c_times_x3e_(interp, &[__t1028])? }; { - let __t1088 = { - let __t1080 = v_W2524.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1080])? + let __t1037 = { + let __t1029 = v_W2524.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1029])? }; - if rt::is_truthy(interp, &__t1088)? { + if rt::is_truthy(interp, &__t1037)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2525 = { - let __t1081 = v_W2524.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1081])? + let __t1030 = v_W2524.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1030])? }; { let v_W2526 = { - let __t1082 = v_W2525.clone(); - rt::apply_direct( + let __t1031 = v_W2525.clone(); + aot_shen_x2e__x3c_backslash_x3e_( interp, - "shen.", - &[__t1082], + &[__t1031], )? }; { - let __t1087 = { - let __t1083 = v_W2526.clone(); + let __t1036 = { + let __t1032 = v_W2526.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1083], + &[__t1032], )? }; - if rt::is_truthy(interp, &__t1087)? { + if rt::is_truthy(interp, &__t1036)? { { rt::apply_direct( interp, @@ -5970,22 +5865,22 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } else { { let v_W2527 = { - let __t1084 = v_W2526.clone(); + let __t1033 = v_W2526.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1084], + &[__t1033], )? }; { - let __t1085 = v_W2527.clone(); - let __t1086 = Value::sym( - interp.intern("shen.skip"), + let __t1034 = v_W2527.clone(); + let __t1035 = Value::sym( + interp.intern_static("shen.skip"), ); rt::apply_direct( interp, "shen.comb", - &[__t1085, __t1086], + &[__t1034, __t1035], )? } } @@ -5997,45 +5892,44 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t1090 = { - let __t1089 = v_W2523.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1089])? + let __t1039 = { + let __t1038 = v_W2523.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1038])? }; - if match rt::is_truthy(interp, &__t1090) { + if match rt::is_truthy(interp, &__t1039) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2528 = { - let __t1099 = { - let __t1091 = v_V2517.clone(); - rt::is_cons(&__t1091) + let __t1048 = { + let __t1040 = v_V2517.clone(); + rt::is_cons(&__t1040) }; - if rt::is_truthy(interp, &__t1099)? { + if rt::is_truthy(interp, &__t1048)? { { let v_W2529 = { - let __t1092 = v_V2517.clone(); - rt::apply_direct(interp, "tail", &[__t1092])? + let __t1041 = v_V2517.clone(); + rt::apply_direct(interp, "tail", &[__t1041])? }; { let v_W2530 = { - let __t1093 = v_W2529.clone(); - rt::apply_direct( + let __t1042 = v_W2529.clone(); + aot_shen_x2e__x3c_longnatter_x3e_( interp, - "shen.", - &[__t1093], + &[__t1042], )? }; { - let __t1098 = { - let __t1094 = v_W2530.clone(); + let __t1047 = { + let __t1043 = v_W2530.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1094], + &[__t1043], )? }; - if rt::is_truthy(interp, &__t1098)? { + if rt::is_truthy(interp, &__t1047)? { { rt::apply_direct( interp, @@ -6046,22 +5940,24 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } else { { let v_W2531 = { - let __t1095 = v_W2530.clone(); + let __t1044 = v_W2530.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1095], + &[__t1044], )? }; { - let __t1096 = v_W2531.clone(); - let __t1097 = Value::sym( - interp.intern("shen.skip"), + let __t1045 = v_W2531.clone(); + let __t1046 = Value::sym( + interp.intern_static( + "shen.skip", + ), ); rt::apply_direct( interp, "shen.comb", - &[__t1096, __t1097], + &[__t1045, __t1046], )? } } @@ -6076,15 +5972,15 @@ pub fn aot_shen_x2e__x3c_longnatter_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t1101 = { - let __t1100 = v_W2528.clone(); + let __t1050 = { + let __t1049 = v_W2528.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1100], + &[__t1049], )? }; - if match rt::is_truthy(interp, &__t1101) { + if match rt::is_truthy(interp, &__t1050) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6129,33 +6025,33 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let v_W2533 = { let v_W2534 = { - let __t1102 = v_V2532.clone(); - rt::apply_direct(interp, "shen.", &[__t1102])? + let __t1051 = v_V2532.clone(); + aot_shen_x2e__x3c_str_x3e_(interp, &[__t1051])? }; { - let __t1108 = { - let __t1103 = v_W2534.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1103])? + let __t1057 = { + let __t1052 = v_W2534.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1052])? }; - if rt::is_truthy(interp, &__t1108)? { + if rt::is_truthy(interp, &__t1057)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2535 = { - let __t1104 = v_W2534.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1104])? + let __t1053 = v_W2534.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1053])? }; { let v_W2536 = { - let __t1105 = v_W2534.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1105])? + let __t1054 = v_W2534.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1054])? }; { - let __t1106 = v_W2536.clone(); - let __t1107 = v_W2535.clone(); - rt::apply_direct(interp, "shen.comb", &[__t1106, __t1107])? + let __t1055 = v_W2536.clone(); + let __t1056 = v_W2535.clone(); + rt::apply_direct(interp, "shen.comb", &[__t1055, __t1056])? } } } @@ -6163,47 +6059,47 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1110 = { - let __t1109 = v_W2533.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1109])? + let __t1059 = { + let __t1058 = v_W2533.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1058])? }; - if match rt::is_truthy(interp, &__t1110) { + if match rt::is_truthy(interp, &__t1059) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2537 = { let v_W2538 = { - let __t1111 = v_V2532.clone(); - rt::apply_direct(interp, "shen.", &[__t1111])? + let __t1060 = v_V2532.clone(); + aot_shen_x2e__x3c_number_x3e_(interp, &[__t1060])? }; { - let __t1117 = { - let __t1112 = v_W2538.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1112])? + let __t1066 = { + let __t1061 = v_W2538.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1061])? }; - if rt::is_truthy(interp, &__t1117)? { + if rt::is_truthy(interp, &__t1066)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2539 = { - let __t1113 = v_W2538.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1113])? + let __t1062 = v_W2538.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1062])? }; { let v_W2540 = { - let __t1114 = v_W2538.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1114])? + let __t1063 = v_W2538.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1063])? }; { - let __t1115 = v_W2540.clone(); - let __t1116 = v_W2539.clone(); + let __t1064 = v_W2540.clone(); + let __t1065 = v_W2539.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1115, __t1116], + &[__t1064, __t1065], )? } } @@ -6212,30 +6108,30 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1119 = { - let __t1118 = v_W2537.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1118])? + let __t1068 = { + let __t1067 = v_W2537.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1067])? }; - if match rt::is_truthy(interp, &__t1119) { + if match rt::is_truthy(interp, &__t1068) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2541 = { let v_W2542 = { - let __t1120 = v_V2532.clone(); - rt::apply_direct(interp, "shen.", &[__t1120])? + let __t1069 = v_V2532.clone(); + aot_shen_x2e__x3c_sym_x3e_(interp, &[__t1069])? }; { - let __t1134 = { - let __t1121 = v_W2542.clone(); + let __t1081 = { + let __t1070 = v_W2542.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1121], + &[__t1070], )? }; - if rt::is_truthy(interp, &__t1134)? { + if rt::is_truthy(interp, &__t1081)? { { rt::apply_direct( interp, @@ -6246,55 +6142,54 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let v_W2543 = { - let __t1122 = v_W2542.clone(); + let __t1071 = v_W2542.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1122], + &[__t1071], )? }; { let v_W2544 = { - let __t1123 = v_W2542.clone(); + let __t1072 = v_W2542.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1123], + &[__t1072], )? }; { - let __t1124 = v_W2544.clone(); - let __t1133 = { - let __t1132 = { - let __t1125 = v_W2543.clone(); - let __t1126 = Value::str("<>"); - rt::eq(&__t1125, &__t1126) - }; - if rt::is_truthy(interp, &__t1132)? + let __t1073 = v_W2544.clone(); + let __t1080 = { + let __t1079 = Value::bool( + (v_W2543.clone()).as_str() + == Some("<>"), + ); + if rt::is_truthy(interp, &__t1079)? { { - let __t1127 = Value::sym( - interp.intern("vector"), + let __t1074 = Value::sym( + interp.intern_static( + "vector", + ), ); - let __t1130 = { - let __t1128 = + let __t1077 = { + let __t1075 = Value::int(0i64); - let __t1129 = + let __t1076 = Value::nil(); rt::cons( - &__t1128, &__t1129, + &__t1075, &__t1076, ) }; - rt::cons(&__t1127, &__t1130) + rt::cons(&__t1074, &__t1077) } } else { { - let __t1131 = + let __t1078 = v_W2543.clone(); - rt::apply_direct( - interp, - "intern", - &[__t1131], + rt::intern( + interp, &__t1078, )? } } @@ -6302,7 +6197,7 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR rt::apply_direct( interp, "shen.comb", - &[__t1124, __t1133], + &[__t1073, __t1080], )? } } @@ -6311,15 +6206,15 @@ pub fn aot_shen_x2e__x3c_atom_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1136 = { - let __t1135 = v_W2541.clone(); + let __t1083 = { + let __t1082 = v_W2541.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1135], + &[__t1082], )? }; - if match rt::is_truthy(interp, &__t1136) { + if match rt::is_truthy(interp, &__t1083) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6364,81 +6259,77 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe { let v_W2546 = { let v_W2547 = { - let __t1137 = v_V2545.clone(); - rt::apply_direct(interp, "shen.", &[__t1137])? + let __t1084 = v_V2545.clone(); + aot_shen_x2e__x3c_alpha_x3e_(interp, &[__t1084])? }; { - let __t1150 = { - let __t1138 = v_W2547.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1138])? + let __t1097 = { + let __t1085 = v_W2547.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1085])? }; - if rt::is_truthy(interp, &__t1150)? { + if rt::is_truthy(interp, &__t1097)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2548 = { - let __t1139 = v_W2547.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1139])? + let __t1086 = v_W2547.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1086])? }; { let v_W2549 = { - let __t1140 = v_W2547.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1140])? + let __t1087 = v_W2547.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1087])? }; { let v_W2550 = { - let __t1141 = v_W2549.clone(); - rt::apply_direct(interp, "shen.", &[__t1141])? + let __t1088 = v_W2549.clone(); + aot_shen_x2e__x3c_alphanums_x3e_(interp, &[__t1088])? }; { - let __t1149 = { - let __t1142 = v_W2550.clone(); + let __t1096 = { + let __t1089 = v_W2550.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1142], + &[__t1089], )? }; - if rt::is_truthy(interp, &__t1149)? { + if rt::is_truthy(interp, &__t1096)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2551 = { - let __t1143 = v_W2550.clone(); + let __t1090 = v_W2550.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1143], + &[__t1090], )? }; { let v_W2552 = { - let __t1144 = v_W2550.clone(); + let __t1091 = v_W2550.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1144], + &[__t1091], )? }; { - let __t1145 = v_W2552.clone(); - let __t1148 = { - let __t1146 = v_W2548.clone(); - let __t1147 = v_W2551.clone(); - rt::apply_direct( - interp, - "cn", - &[__t1146, __t1147], - )? + let __t1092 = v_W2552.clone(); + let __t1095 = { + let __t1093 = v_W2548.clone(); + let __t1094 = v_W2551.clone(); + rt::cn(&__t1093, &__t1094)? }; rt::apply_direct( interp, "shen.comb", - &[__t1145, __t1148], + &[__t1092, __t1095], )? } } @@ -6452,11 +6343,11 @@ pub fn aot_shen_x2e__x3c_sym_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t1152 = { - let __t1151 = v_W2546.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1151])? + let __t1099 = { + let __t1098 = v_W2546.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1098])? }; - if match rt::is_truthy(interp, &__t1152) { + if match rt::is_truthy(interp, &__t1099) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6488,34 +6379,34 @@ pub fn aot_shen_x2e__x3c_alpha_x3e_(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2554 = { - let __t1161 = { - let __t1153 = v_V2553.clone(); - rt::is_cons(&__t1153) + let __t1108 = { + let __t1100 = v_V2553.clone(); + rt::is_cons(&__t1100) }; - if rt::is_truthy(interp, &__t1161)? { + if rt::is_truthy(interp, &__t1108)? { { let v_W2555 = { - let __t1154 = v_V2553.clone(); - rt::apply_direct(interp, "head", &[__t1154])? + let __t1101 = v_V2553.clone(); + rt::apply_direct(interp, "head", &[__t1101])? }; { let v_W2556 = { - let __t1155 = v_V2553.clone(); - rt::apply_direct(interp, "tail", &[__t1155])? + let __t1102 = v_V2553.clone(); + rt::apply_direct(interp, "tail", &[__t1102])? }; { - let __t1160 = { - let __t1156 = v_W2555.clone(); - rt::apply_direct(interp, "shen.alpha?", &[__t1156])? + let __t1107 = { + let __t1103 = v_W2555.clone(); + aot_shen_x2e_alpha_x3f_(interp, &[__t1103])? }; - if rt::is_truthy(interp, &__t1160)? { + if rt::is_truthy(interp, &__t1107)? { { - let __t1157 = v_W2556.clone(); - let __t1159 = { - let __t1158 = v_W2555.clone(); - rt::apply_direct(interp, "n->string", &[__t1158])? + let __t1104 = v_W2556.clone(); + let __t1106 = { + let __t1105 = v_W2555.clone(); + rt::n_to_string(&__t1105)? }; - rt::apply_direct(interp, "shen.comb", &[__t1157, __t1159])? + rt::apply_direct(interp, "shen.comb", &[__t1104, __t1106])? } } else { { @@ -6532,11 +6423,11 @@ pub fn aot_shen_x2e__x3c_alpha_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1163 = { - let __t1162 = v_W2554.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1162])? + let __t1110 = { + let __t1109 = v_W2554.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1109])? }; - if match rt::is_truthy(interp, &__t1163) { + if match rt::is_truthy(interp, &__t1110) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6567,30 +6458,30 @@ pub fn aot_shen_x2e_alpha_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t1165 = { - let __t1164 = v_V2557.clone(); - rt::apply_direct(interp, "shen.lowercase?", &[__t1164])? + let __t1112 = { + let __t1111 = v_V2557.clone(); + rt::apply_direct(interp, "shen.lowercase?", &[__t1111])? }; - if match rt::is_truthy(interp, &__t1165) { + if match rt::is_truthy(interp, &__t1112) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1167 = { - let __t1166 = v_V2557.clone(); - rt::apply_direct(interp, "shen.uppercase?", &[__t1166])? + let __t1114 = { + let __t1113 = v_V2557.clone(); + rt::apply_direct(interp, "shen.uppercase?", &[__t1113])? }; - if match rt::is_truthy(interp, &__t1167) { + if match rt::is_truthy(interp, &__t1114) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { break Ok({ - let __t1168 = v_V2557.clone(); - rt::apply_direct(interp, "shen.misc?", &[__t1168])? + let __t1115 = v_V2557.clone(); + aot_shen_x2e_misc_x3f_(interp, &[__t1115])? }); } } @@ -6617,21 +6508,21 @@ pub fn aot_shen_x2e_lowercase_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t1171 = { - let __t1169 = v_V2558.clone(); - let __t1170 = Value::int(97i64); - rt::gte(&__t1169, &__t1170)? + let __t1118 = { + let __t1116 = v_V2558.clone(); + let __t1117 = Value::int(97i64); + rt::gte(&__t1116, &__t1117)? }; - if !match rt::is_truthy(interp, &__t1171) { + if !match rt::is_truthy(interp, &__t1118) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t1172 = v_V2558.clone(); - let __t1173 = Value::int(122i64); - rt::lte(&__t1172, &__t1173)? + let __t1119 = v_V2558.clone(); + let __t1120 = Value::int(122i64); + rt::lte(&__t1119, &__t1120)? }); } } @@ -6656,21 +6547,21 @@ pub fn aot_shen_x2e_uppercase_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t1176 = { - let __t1174 = v_V2559.clone(); - let __t1175 = Value::int(65i64); - rt::gte(&__t1174, &__t1175)? + let __t1123 = { + let __t1121 = v_V2559.clone(); + let __t1122 = Value::int(65i64); + rt::gte(&__t1121, &__t1122)? }; - if !match rt::is_truthy(interp, &__t1176) { + if !match rt::is_truthy(interp, &__t1123) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t1177 = v_V2559.clone(); - let __t1178 = Value::int(90i64); - rt::lte(&__t1177, &__t1178)? + let __t1124 = v_V2559.clone(); + let __t1125 = Value::int(90i64); + rt::lte(&__t1124, &__t1125)? }); } } @@ -6695,101 +6586,101 @@ pub fn aot_shen_x2e_misc_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { break Ok({ - let __t1179 = v_V2560.clone(); - let __t1218 = { - let __t1180 = Value::int(61i64); - let __t1217 = { - let __t1181 = Value::int(45i64); - let __t1216 = { - let __t1182 = Value::int(42i64); - let __t1215 = { - let __t1183 = Value::int(47i64); - let __t1214 = { - let __t1184 = Value::int(43i64); - let __t1213 = { - let __t1185 = Value::int(95i64); - let __t1212 = { - let __t1186 = Value::int(63i64); - let __t1211 = { - let __t1187 = Value::int(36i64); - let __t1210 = { - let __t1188 = Value::int(33i64); - let __t1209 = { - let __t1189 = Value::int(64i64); - let __t1208 = { - let __t1190 = Value::int(126i64); - let __t1207 = { - let __t1191 = Value::int(46i64); - let __t1206 = { - let __t1192 = Value::int(62i64); - let __t1205 = { - let __t1193 = Value::int(60i64); - let __t1204 = { - let __t1194 = + let __t1126 = v_V2560.clone(); + let __t1165 = { + let __t1127 = Value::int(61i64); + let __t1164 = { + let __t1128 = Value::int(45i64); + let __t1163 = { + let __t1129 = Value::int(42i64); + let __t1162 = { + let __t1130 = Value::int(47i64); + let __t1161 = { + let __t1131 = Value::int(43i64); + let __t1160 = { + let __t1132 = Value::int(95i64); + let __t1159 = { + let __t1133 = Value::int(63i64); + let __t1158 = { + let __t1134 = Value::int(36i64); + let __t1157 = { + let __t1135 = Value::int(33i64); + let __t1156 = { + let __t1136 = Value::int(64i64); + let __t1155 = { + let __t1137 = Value::int(126i64); + let __t1154 = { + let __t1138 = Value::int(46i64); + let __t1153 = { + let __t1139 = Value::int(62i64); + let __t1152 = { + let __t1140 = Value::int(60i64); + let __t1151 = { + let __t1141 = Value::int(38i64); - let __t1203 = { - let __t1195 = + let __t1150 = { + let __t1142 = Value::int(37i64); - let __t1202 = { - let __t1196 = + let __t1149 = { + let __t1143 = Value::int( 39i64, ); - let __t1201 = { - let __t1197 = + let __t1148 = { + let __t1144 = Value::int( 35i64, ); - let __t1200 = { - let __t1198 = Value::int(96i64); - let __t1199 = Value::nil(); - rt::cons(&__t1198, &__t1199) + let __t1147 = { + let __t1145 = Value::int(96i64); + let __t1146 = Value::nil(); + rt::cons(&__t1145, &__t1146) }; rt::cons( - &__t1197, - &__t1200, + &__t1144, + &__t1147, ) }; rt::cons( - &__t1196, - &__t1201, + &__t1143, + &__t1148, ) }; rt::cons( - &__t1195, &__t1202, + &__t1142, &__t1149, ) }; - rt::cons(&__t1194, &__t1203) + rt::cons(&__t1141, &__t1150) }; - rt::cons(&__t1193, &__t1204) + rt::cons(&__t1140, &__t1151) }; - rt::cons(&__t1192, &__t1205) + rt::cons(&__t1139, &__t1152) }; - rt::cons(&__t1191, &__t1206) + rt::cons(&__t1138, &__t1153) }; - rt::cons(&__t1190, &__t1207) + rt::cons(&__t1137, &__t1154) }; - rt::cons(&__t1189, &__t1208) + rt::cons(&__t1136, &__t1155) }; - rt::cons(&__t1188, &__t1209) + rt::cons(&__t1135, &__t1156) }; - rt::cons(&__t1187, &__t1210) + rt::cons(&__t1134, &__t1157) }; - rt::cons(&__t1186, &__t1211) + rt::cons(&__t1133, &__t1158) }; - rt::cons(&__t1185, &__t1212) + rt::cons(&__t1132, &__t1159) }; - rt::cons(&__t1184, &__t1213) + rt::cons(&__t1131, &__t1160) }; - rt::cons(&__t1183, &__t1214) + rt::cons(&__t1130, &__t1161) }; - rt::cons(&__t1182, &__t1215) + rt::cons(&__t1129, &__t1162) }; - rt::cons(&__t1181, &__t1216) + rt::cons(&__t1128, &__t1163) }; - rt::cons(&__t1180, &__t1217) + rt::cons(&__t1127, &__t1164) }; - rt::apply_direct(interp, "element?", &[__t1179, __t1218])? + rt::apply_direct(interp, "element?", &[__t1126, __t1165])? }); } } @@ -6814,81 +6705,77 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> { let v_W2562 = { let v_W2563 = { - let __t1219 = v_V2561.clone(); - rt::apply_direct(interp, "shen.", &[__t1219])? + let __t1166 = v_V2561.clone(); + aot_shen_x2e__x3c_alphanum_x3e_(interp, &[__t1166])? }; { - let __t1232 = { - let __t1220 = v_W2563.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1220])? + let __t1179 = { + let __t1167 = v_W2563.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1167])? }; - if rt::is_truthy(interp, &__t1232)? { + if rt::is_truthy(interp, &__t1179)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2564 = { - let __t1221 = v_W2563.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1221])? + let __t1168 = v_W2563.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1168])? }; { let v_W2565 = { - let __t1222 = v_W2563.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1222])? + let __t1169 = v_W2563.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1169])? }; { let v_W2566 = { - let __t1223 = v_W2565.clone(); - rt::apply_direct(interp, "shen.", &[__t1223])? + let __t1170 = v_W2565.clone(); + aot_shen_x2e__x3c_alphanums_x3e_(interp, &[__t1170])? }; { - let __t1231 = { - let __t1224 = v_W2566.clone(); + let __t1178 = { + let __t1171 = v_W2566.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1224], + &[__t1171], )? }; - if rt::is_truthy(interp, &__t1231)? { + if rt::is_truthy(interp, &__t1178)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2567 = { - let __t1225 = v_W2566.clone(); + let __t1172 = v_W2566.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1225], + &[__t1172], )? }; { let v_W2568 = { - let __t1226 = v_W2566.clone(); + let __t1173 = v_W2566.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1226], + &[__t1173], )? }; { - let __t1227 = v_W2568.clone(); - let __t1230 = { - let __t1228 = v_W2564.clone(); - let __t1229 = v_W2567.clone(); - rt::apply_direct( - interp, - "cn", - &[__t1228, __t1229], - )? + let __t1174 = v_W2568.clone(); + let __t1177 = { + let __t1175 = v_W2564.clone(); + let __t1176 = v_W2567.clone(); + rt::cn(&__t1175, &__t1176)? }; rt::apply_direct( interp, "shen.comb", - &[__t1227, __t1230], + &[__t1174, __t1177], )? } } @@ -6902,42 +6789,42 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t1234 = { - let __t1233 = v_W2562.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1233])? + let __t1181 = { + let __t1180 = v_W2562.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1180])? }; - if match rt::is_truthy(interp, &__t1234) { + if match rt::is_truthy(interp, &__t1181) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2569 = { let v_W2570 = { - let __t1235 = v_V2561.clone(); - rt::apply_direct(interp, "", &[__t1235])? + let __t1182 = v_V2561.clone(); + rt::apply_direct(interp, "", &[__t1182])? }; { - let __t1240 = { - let __t1236 = v_W2570.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1236])? + let __t1187 = { + let __t1183 = v_W2570.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1183])? }; - if rt::is_truthy(interp, &__t1240)? { + if rt::is_truthy(interp, &__t1187)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2571 = { - let __t1237 = v_W2570.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1237])? + let __t1184 = v_W2570.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1184])? }; { - let __t1238 = v_W2571.clone(); - let __t1239 = Value::str(""); + let __t1185 = v_W2571.clone(); + let __t1186 = Value::str(""); rt::apply_direct( interp, "shen.comb", - &[__t1238, __t1239], + &[__t1185, __t1186], )? } } @@ -6945,11 +6832,11 @@ pub fn aot_shen_x2e__x3c_alphanums_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t1242 = { - let __t1241 = v_W2569.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1241])? + let __t1189 = { + let __t1188 = v_W2569.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1188])? }; - if match rt::is_truthy(interp, &__t1242) { + if match rt::is_truthy(interp, &__t1189) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6987,33 +6874,33 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S { let v_W2573 = { let v_W2574 = { - let __t1243 = v_V2572.clone(); - rt::apply_direct(interp, "shen.", &[__t1243])? + let __t1190 = v_V2572.clone(); + aot_shen_x2e__x3c_alpha_x3e_(interp, &[__t1190])? }; { - let __t1249 = { - let __t1244 = v_W2574.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1244])? + let __t1196 = { + let __t1191 = v_W2574.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1191])? }; - if rt::is_truthy(interp, &__t1249)? { + if rt::is_truthy(interp, &__t1196)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2575 = { - let __t1245 = v_W2574.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1245])? + let __t1192 = v_W2574.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1192])? }; { let v_W2576 = { - let __t1246 = v_W2574.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1246])? + let __t1193 = v_W2574.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1193])? }; { - let __t1247 = v_W2576.clone(); - let __t1248 = v_W2575.clone(); - rt::apply_direct(interp, "shen.comb", &[__t1247, __t1248])? + let __t1194 = v_W2576.clone(); + let __t1195 = v_W2575.clone(); + rt::apply_direct(interp, "shen.comb", &[__t1194, __t1195])? } } } @@ -7021,47 +6908,47 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t1251 = { - let __t1250 = v_W2573.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1250])? + let __t1198 = { + let __t1197 = v_W2573.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1197])? }; - if match rt::is_truthy(interp, &__t1251) { + if match rt::is_truthy(interp, &__t1198) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2577 = { let v_W2578 = { - let __t1252 = v_V2572.clone(); - rt::apply_direct(interp, "shen.", &[__t1252])? + let __t1199 = v_V2572.clone(); + aot_shen_x2e__x3c_numeral_x3e_(interp, &[__t1199])? }; { - let __t1258 = { - let __t1253 = v_W2578.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1253])? + let __t1205 = { + let __t1200 = v_W2578.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1200])? }; - if rt::is_truthy(interp, &__t1258)? { + if rt::is_truthy(interp, &__t1205)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2579 = { - let __t1254 = v_W2578.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1254])? + let __t1201 = v_W2578.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1201])? }; { let v_W2580 = { - let __t1255 = v_W2578.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1255])? + let __t1202 = v_W2578.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1202])? }; { - let __t1256 = v_W2580.clone(); - let __t1257 = v_W2579.clone(); + let __t1203 = v_W2580.clone(); + let __t1204 = v_W2579.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1256, __t1257], + &[__t1203, __t1204], )? } } @@ -7070,11 +6957,11 @@ pub fn aot_shen_x2e__x3c_alphanum_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t1260 = { - let __t1259 = v_W2577.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1259])? + let __t1207 = { + let __t1206 = v_W2577.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1206])? }; - if match rt::is_truthy(interp, &__t1260) { + if match rt::is_truthy(interp, &__t1207) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7111,34 +6998,34 @@ pub fn aot_shen_x2e__x3c_numeral_x3e_(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W2582 = { - let __t1269 = { - let __t1261 = v_V2581.clone(); - rt::is_cons(&__t1261) + let __t1216 = { + let __t1208 = v_V2581.clone(); + rt::is_cons(&__t1208) }; - if rt::is_truthy(interp, &__t1269)? { + if rt::is_truthy(interp, &__t1216)? { { let v_W2583 = { - let __t1262 = v_V2581.clone(); - rt::apply_direct(interp, "head", &[__t1262])? + let __t1209 = v_V2581.clone(); + rt::apply_direct(interp, "head", &[__t1209])? }; { let v_W2584 = { - let __t1263 = v_V2581.clone(); - rt::apply_direct(interp, "tail", &[__t1263])? + let __t1210 = v_V2581.clone(); + rt::apply_direct(interp, "tail", &[__t1210])? }; { - let __t1268 = { - let __t1264 = v_W2583.clone(); - rt::apply_direct(interp, "shen.digit?", &[__t1264])? + let __t1215 = { + let __t1211 = v_W2583.clone(); + rt::apply_direct(interp, "shen.digit?", &[__t1211])? }; - if rt::is_truthy(interp, &__t1268)? { + if rt::is_truthy(interp, &__t1215)? { { - let __t1265 = v_W2584.clone(); - let __t1267 = { - let __t1266 = v_W2583.clone(); - rt::apply_direct(interp, "n->string", &[__t1266])? + let __t1212 = v_W2584.clone(); + let __t1214 = { + let __t1213 = v_W2583.clone(); + rt::n_to_string(&__t1213)? }; - rt::apply_direct(interp, "shen.comb", &[__t1265, __t1267])? + rt::apply_direct(interp, "shen.comb", &[__t1212, __t1214])? } } else { { @@ -7155,11 +7042,11 @@ pub fn aot_shen_x2e__x3c_numeral_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t1271 = { - let __t1270 = v_W2582.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1270])? + let __t1218 = { + let __t1217 = v_W2582.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1217])? }; - if match rt::is_truthy(interp, &__t1271) { + if match rt::is_truthy(interp, &__t1218) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7190,21 +7077,21 @@ pub fn aot_shen_x2e_digit_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t1274 = { - let __t1272 = v_V2585.clone(); - let __t1273 = Value::int(48i64); - rt::gte(&__t1272, &__t1273)? + let __t1221 = { + let __t1219 = v_V2585.clone(); + let __t1220 = Value::int(48i64); + rt::gte(&__t1219, &__t1220)? }; - if !match rt::is_truthy(interp, &__t1274) { + if !match rt::is_truthy(interp, &__t1221) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t1275 = v_V2585.clone(); - let __t1276 = Value::int(57i64); - rt::lte(&__t1275, &__t1276)? + let __t1222 = v_V2585.clone(); + let __t1223 = Value::int(57i64); + rt::lte(&__t1222, &__t1223)? }); } } @@ -7231,72 +7118,71 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe { let v_W2587 = { let v_W2588 = { - let __t1277 = v_V2586.clone(); - rt::apply_direct(interp, "shen.", &[__t1277])? + let __t1224 = v_V2586.clone(); + aot_shen_x2e__x3c_dbq_x3e_(interp, &[__t1224])? }; { - let __t1291 = { - let __t1278 = v_W2588.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1278])? + let __t1238 = { + let __t1225 = v_W2588.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1225])? }; - if rt::is_truthy(interp, &__t1291)? { + if rt::is_truthy(interp, &__t1238)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2589 = { - let __t1279 = v_W2588.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1279])? + let __t1226 = v_W2588.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1226])? }; { let v_W2590 = { - let __t1280 = v_W2589.clone(); - rt::apply_direct(interp, "shen.", &[__t1280])? + let __t1227 = v_W2589.clone(); + aot_shen_x2e__x3c_strcontents_x3e_(interp, &[__t1227])? }; { - let __t1290 = { - let __t1281 = v_W2590.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1281])? + let __t1237 = { + let __t1228 = v_W2590.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1228])? }; - if rt::is_truthy(interp, &__t1290)? { + if rt::is_truthy(interp, &__t1237)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2591 = { - let __t1282 = v_W2590.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1282])? + let __t1229 = v_W2590.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1229])? }; { let v_W2592 = { - let __t1283 = v_W2590.clone(); + let __t1230 = v_W2590.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1283], + &[__t1230], )? }; { let v_W2593 = { - let __t1284 = v_W2592.clone(); - rt::apply_direct( + let __t1231 = v_W2592.clone(); + aot_shen_x2e__x3c_dbq_x3e_( interp, - "shen.", - &[__t1284], + &[__t1231], )? }; { - let __t1289 = { - let __t1285 = v_W2593.clone(); + let __t1236 = { + let __t1232 = v_W2593.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1285], + &[__t1232], )? }; - if rt::is_truthy(interp, &__t1289)? { + if rt::is_truthy(interp, &__t1236)? { { rt::apply_direct( interp, @@ -7307,20 +7193,20 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } else { { let v_W2594 = { - let __t1286 = v_W2593.clone(); + let __t1233 = v_W2593.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1286], + &[__t1233], )? }; { - let __t1287 = v_W2594.clone(); - let __t1288 = v_W2591.clone(); + let __t1234 = v_W2594.clone(); + let __t1235 = v_W2591.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1287, __t1288], + &[__t1234, __t1235], )? } } @@ -7337,11 +7223,11 @@ pub fn aot_shen_x2e__x3c_str_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t1293 = { - let __t1292 = v_W2587.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1292])? + let __t1240 = { + let __t1239 = v_W2587.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1239])? }; - if match rt::is_truthy(interp, &__t1293) { + if match rt::is_truthy(interp, &__t1240) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7373,21 +7259,21 @@ pub fn aot_shen_x2e__x3c_dbq_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W2596 = { - let __t1299 = { - let __t1294 = v_V2595.clone(); - let __t1295 = Value::int(34i64); - rt::apply_direct(interp, "shen.hds=?", &[__t1294, __t1295])? + let __t1246 = { + let __t1241 = v_V2595.clone(); + let __t1242 = Value::int(34i64); + rt::apply_direct(interp, "shen.hds=?", &[__t1241, __t1242])? }; - if rt::is_truthy(interp, &__t1299)? { + if rt::is_truthy(interp, &__t1246)? { { let v_W2597 = { - let __t1296 = v_V2595.clone(); - rt::apply_direct(interp, "tail", &[__t1296])? + let __t1243 = v_V2595.clone(); + rt::apply_direct(interp, "tail", &[__t1243])? }; { - let __t1297 = v_W2597.clone(); - let __t1298 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1297, __t1298])? + let __t1244 = v_W2597.clone(); + let __t1245 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1244, __t1245])? } } } else { @@ -7397,11 +7283,11 @@ pub fn aot_shen_x2e__x3c_dbq_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t1301 = { - let __t1300 = v_W2596.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1300])? + let __t1248 = { + let __t1247 = v_W2596.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1247])? }; - if match rt::is_truthy(interp, &__t1301) { + if match rt::is_truthy(interp, &__t1248) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7437,81 +7323,77 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( { let v_W2599 = { let v_W2600 = { - let __t1302 = v_V2598.clone(); - rt::apply_direct(interp, "shen.", &[__t1302])? + let __t1249 = v_V2598.clone(); + aot_shen_x2e__x3c_strc_x3e_(interp, &[__t1249])? }; { - let __t1315 = { - let __t1303 = v_W2600.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1303])? + let __t1262 = { + let __t1250 = v_W2600.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1250])? }; - if rt::is_truthy(interp, &__t1315)? { + if rt::is_truthy(interp, &__t1262)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2601 = { - let __t1304 = v_W2600.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1304])? + let __t1251 = v_W2600.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1251])? }; { let v_W2602 = { - let __t1305 = v_W2600.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1305])? + let __t1252 = v_W2600.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1252])? }; { let v_W2603 = { - let __t1306 = v_W2602.clone(); - rt::apply_direct(interp, "shen.", &[__t1306])? + let __t1253 = v_W2602.clone(); + aot_shen_x2e__x3c_strcontents_x3e_(interp, &[__t1253])? }; { - let __t1314 = { - let __t1307 = v_W2603.clone(); + let __t1261 = { + let __t1254 = v_W2603.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1307], + &[__t1254], )? }; - if rt::is_truthy(interp, &__t1314)? { + if rt::is_truthy(interp, &__t1261)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2604 = { - let __t1308 = v_W2603.clone(); + let __t1255 = v_W2603.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1308], + &[__t1255], )? }; { let v_W2605 = { - let __t1309 = v_W2603.clone(); + let __t1256 = v_W2603.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1309], + &[__t1256], )? }; { - let __t1310 = v_W2605.clone(); - let __t1313 = { - let __t1311 = v_W2601.clone(); - let __t1312 = v_W2604.clone(); - rt::apply_direct( - interp, - "cn", - &[__t1311, __t1312], - )? + let __t1257 = v_W2605.clone(); + let __t1260 = { + let __t1258 = v_W2601.clone(); + let __t1259 = v_W2604.clone(); + rt::cn(&__t1258, &__t1259)? }; rt::apply_direct( interp, "shen.comb", - &[__t1310, __t1313], + &[__t1257, __t1260], )? } } @@ -7525,42 +7407,42 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( } }; { - let __t1317 = { - let __t1316 = v_W2599.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1316])? + let __t1264 = { + let __t1263 = v_W2599.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1263])? }; - if match rt::is_truthy(interp, &__t1317) { + if match rt::is_truthy(interp, &__t1264) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2606 = { let v_W2607 = { - let __t1318 = v_V2598.clone(); - rt::apply_direct(interp, "", &[__t1318])? + let __t1265 = v_V2598.clone(); + rt::apply_direct(interp, "", &[__t1265])? }; { - let __t1323 = { - let __t1319 = v_W2607.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1319])? + let __t1270 = { + let __t1266 = v_W2607.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1266])? }; - if rt::is_truthy(interp, &__t1323)? { + if rt::is_truthy(interp, &__t1270)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2608 = { - let __t1320 = v_W2607.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1320])? + let __t1267 = v_W2607.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1267])? }; { - let __t1321 = v_W2608.clone(); - let __t1322 = Value::str(""); + let __t1268 = v_W2608.clone(); + let __t1269 = Value::str(""); rt::apply_direct( interp, "shen.comb", - &[__t1321, __t1322], + &[__t1268, __t1269], )? } } @@ -7568,11 +7450,11 @@ pub fn aot_shen_x2e__x3c_strcontents_x3e_( } }; { - let __t1325 = { - let __t1324 = v_W2606.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1324])? + let __t1272 = { + let __t1271 = v_W2606.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1271])? }; - if match rt::is_truthy(interp, &__t1325) { + if match rt::is_truthy(interp, &__t1272) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7610,33 +7492,33 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let v_W2610 = { let v_W2611 = { - let __t1326 = v_V2609.clone(); - rt::apply_direct(interp, "shen.", &[__t1326])? + let __t1273 = v_V2609.clone(); + aot_shen_x2e__x3c_control_x3e_(interp, &[__t1273])? }; { - let __t1332 = { - let __t1327 = v_W2611.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1327])? + let __t1279 = { + let __t1274 = v_W2611.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1274])? }; - if rt::is_truthy(interp, &__t1332)? { + if rt::is_truthy(interp, &__t1279)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2612 = { - let __t1328 = v_W2611.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1328])? + let __t1275 = v_W2611.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1275])? }; { let v_W2613 = { - let __t1329 = v_W2611.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1329])? + let __t1276 = v_W2611.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1276])? }; { - let __t1330 = v_W2613.clone(); - let __t1331 = v_W2612.clone(); - rt::apply_direct(interp, "shen.comb", &[__t1330, __t1331])? + let __t1277 = v_W2613.clone(); + let __t1278 = v_W2612.clone(); + rt::apply_direct(interp, "shen.comb", &[__t1277, __t1278])? } } } @@ -7644,47 +7526,47 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1334 = { - let __t1333 = v_W2610.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1333])? + let __t1281 = { + let __t1280 = v_W2610.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1280])? }; - if match rt::is_truthy(interp, &__t1334) { + if match rt::is_truthy(interp, &__t1281) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2614 = { let v_W2615 = { - let __t1335 = v_V2609.clone(); - rt::apply_direct(interp, "shen.", &[__t1335])? + let __t1282 = v_V2609.clone(); + aot_shen_x2e__x3c_notdbq_x3e_(interp, &[__t1282])? }; { - let __t1341 = { - let __t1336 = v_W2615.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1336])? + let __t1288 = { + let __t1283 = v_W2615.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1283])? }; - if rt::is_truthy(interp, &__t1341)? { + if rt::is_truthy(interp, &__t1288)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2616 = { - let __t1337 = v_W2615.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1337])? + let __t1284 = v_W2615.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1284])? }; { let v_W2617 = { - let __t1338 = v_W2615.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1338])? + let __t1285 = v_W2615.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1285])? }; { - let __t1339 = v_W2617.clone(); - let __t1340 = v_W2616.clone(); + let __t1286 = v_W2617.clone(); + let __t1287 = v_W2616.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1339, __t1340], + &[__t1286, __t1287], )? } } @@ -7693,11 +7575,11 @@ pub fn aot_shen_x2e__x3c_strc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1343 = { - let __t1342 = v_W2614.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1342])? + let __t1290 = { + let __t1289 = v_W2614.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1289])? }; - if match rt::is_truthy(interp, &__t1343) { + if match rt::is_truthy(interp, &__t1290) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7735,63 +7617,62 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh { let v_W2619 = { let v_W2620 = { - let __t1344 = v_V2618.clone(); - rt::apply_direct(interp, "shen.", &[__t1344])? + let __t1291 = v_V2618.clone(); + aot_shen_x2e__x3c_lowC_x3e_(interp, &[__t1291])? }; { - let __t1363 = { - let __t1345 = v_W2620.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1345])? + let __t1310 = { + let __t1292 = v_W2620.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1292])? }; - if rt::is_truthy(interp, &__t1363)? { + if rt::is_truthy(interp, &__t1310)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2621 = { - let __t1346 = v_W2620.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1346])? + let __t1293 = v_W2620.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1293])? }; { let v_W2622 = { - let __t1347 = v_W2621.clone(); - rt::apply_direct(interp, "shen.", &[__t1347])? + let __t1294 = v_W2621.clone(); + aot_shen_x2e__x3c_hash_x3e_(interp, &[__t1294])? }; { - let __t1362 = { - let __t1348 = v_W2622.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1348])? + let __t1309 = { + let __t1295 = v_W2622.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1295])? }; - if rt::is_truthy(interp, &__t1362)? { + if rt::is_truthy(interp, &__t1309)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2623 = { - let __t1349 = v_W2622.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1349])? + let __t1296 = v_W2622.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1296])? }; { let v_W2624 = { - let __t1350 = v_W2623.clone(); - rt::apply_direct( + let __t1297 = v_W2623.clone(); + aot_shen_x2e__x3c_integer_x3e_( interp, - "shen.", - &[__t1350], + &[__t1297], )? }; { - let __t1361 = { - let __t1351 = v_W2624.clone(); + let __t1308 = { + let __t1298 = v_W2624.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1351], + &[__t1298], )? }; - if rt::is_truthy(interp, &__t1361)? { + if rt::is_truthy(interp, &__t1308)? { { rt::apply_direct( interp, @@ -7802,40 +7683,36 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W2625 = { - let __t1352 = v_W2624.clone(); + let __t1299 = v_W2624.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1352], + &[__t1299], )? }; { let v_W2626 = { - let __t1353 = v_W2624.clone(); + let __t1300 = v_W2624.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1353], + &[__t1300], )? }; { let v_W2627 = { - let __t1354 = + let __t1301 = v_W2626.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t1354], - )? + aot_shen_x2e__x3c_semicolon_x3e_(interp, &[__t1301])? }; { - let __t1360 = { - let __t1355 = + let __t1307 = { + let __t1302 = v_W2627.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1355])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t1302])? }; if rt::is_truthy( - interp, &__t1360, + interp, &__t1307, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -7843,22 +7720,22 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W2628 = { - let __t1356 = + let __t1303 = v_W2627 .clone( ); - rt::apply_direct(interp, "shen.in->", &[__t1356])? + rt::apply_direct(interp, "shen.in->", &[__t1303])? }; { - let __t1357 = + let __t1304 = v_W2628 .clone( ); - let __t1359 = { - let __t1358 = v_W2625.clone(); - rt::apply_direct(interp, "n->string", &[__t1358])? + let __t1306 = { + let __t1305 = v_W2625.clone(); + rt::n_to_string(&__t1305)? }; - rt::apply_direct(interp, "shen.comb", &[__t1357, __t1359])? + rt::apply_direct(interp, "shen.comb", &[__t1304, __t1306])? } } } @@ -7878,11 +7755,11 @@ pub fn aot_shen_x2e__x3c_control_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t1365 = { - let __t1364 = v_W2619.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1364])? + let __t1312 = { + let __t1311 = v_W2619.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1311])? }; - if match rt::is_truthy(interp, &__t1365) { + if match rt::is_truthy(interp, &__t1312) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7914,38 +7791,38 @@ pub fn aot_shen_x2e__x3c_notdbq_x3e_(interp: &mut Interp, args: &[Value]) -> She loop { { let v_W2630 = { - let __t1376 = { - let __t1366 = v_V2629.clone(); - rt::is_cons(&__t1366) + let __t1323 = { + let __t1313 = v_V2629.clone(); + rt::is_cons(&__t1313) }; - if rt::is_truthy(interp, &__t1376)? { + if rt::is_truthy(interp, &__t1323)? { { let v_W2631 = { - let __t1367 = v_V2629.clone(); - rt::apply_direct(interp, "head", &[__t1367])? + let __t1314 = v_V2629.clone(); + rt::apply_direct(interp, "head", &[__t1314])? }; { let v_W2632 = { - let __t1368 = v_V2629.clone(); - rt::apply_direct(interp, "tail", &[__t1368])? + let __t1315 = v_V2629.clone(); + rt::apply_direct(interp, "tail", &[__t1315])? }; { - let __t1375 = { - let __t1371 = { - let __t1369 = v_W2631.clone(); - let __t1370 = Value::int(34i64); - rt::eq(&__t1369, &__t1370) + let __t1322 = { + let __t1318 = { + let __t1316 = v_W2631.clone(); + let __t1317 = Value::int(34i64); + rt::eq(&__t1316, &__t1317) }; - rt::apply_direct(interp, "not", &[__t1371])? + rt::not(interp, &__t1318)? }; - if rt::is_truthy(interp, &__t1375)? { + if rt::is_truthy(interp, &__t1322)? { { - let __t1372 = v_W2632.clone(); - let __t1374 = { - let __t1373 = v_W2631.clone(); - rt::apply_direct(interp, "n->string", &[__t1373])? + let __t1319 = v_W2632.clone(); + let __t1321 = { + let __t1320 = v_W2631.clone(); + rt::n_to_string(&__t1320)? }; - rt::apply_direct(interp, "shen.comb", &[__t1372, __t1374])? + rt::apply_direct(interp, "shen.comb", &[__t1319, __t1321])? } } else { { @@ -7962,11 +7839,11 @@ pub fn aot_shen_x2e__x3c_notdbq_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1378 = { - let __t1377 = v_W2630.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1377])? + let __t1325 = { + let __t1324 = v_W2630.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1324])? }; - if match rt::is_truthy(interp, &__t1378) { + if match rt::is_truthy(interp, &__t1325) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7998,21 +7875,21 @@ pub fn aot_shen_x2e__x3c_lowC_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W2634 = { - let __t1384 = { - let __t1379 = v_V2633.clone(); - let __t1380 = Value::int(99i64); - rt::apply_direct(interp, "shen.hds=?", &[__t1379, __t1380])? + let __t1331 = { + let __t1326 = v_V2633.clone(); + let __t1327 = Value::int(99i64); + rt::apply_direct(interp, "shen.hds=?", &[__t1326, __t1327])? }; - if rt::is_truthy(interp, &__t1384)? { + if rt::is_truthy(interp, &__t1331)? { { let v_W2635 = { - let __t1381 = v_V2633.clone(); - rt::apply_direct(interp, "tail", &[__t1381])? + let __t1328 = v_V2633.clone(); + rt::apply_direct(interp, "tail", &[__t1328])? }; { - let __t1382 = v_W2635.clone(); - let __t1383 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1382, __t1383])? + let __t1329 = v_W2635.clone(); + let __t1330 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1329, __t1330])? } } } else { @@ -8022,11 +7899,11 @@ pub fn aot_shen_x2e__x3c_lowC_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1386 = { - let __t1385 = v_W2634.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1385])? + let __t1333 = { + let __t1332 = v_W2634.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1332])? }; - if match rt::is_truthy(interp, &__t1386) { + if match rt::is_truthy(interp, &__t1333) { Ok(b) => b, Err(e) => break Err(e), } { @@ -8058,21 +7935,21 @@ pub fn aot_shen_x2e__x3c_hash_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W2637 = { - let __t1392 = { - let __t1387 = v_V2636.clone(); - let __t1388 = Value::int(35i64); - rt::apply_direct(interp, "shen.hds=?", &[__t1387, __t1388])? + let __t1339 = { + let __t1334 = v_V2636.clone(); + let __t1335 = Value::int(35i64); + rt::apply_direct(interp, "shen.hds=?", &[__t1334, __t1335])? }; - if rt::is_truthy(interp, &__t1392)? { + if rt::is_truthy(interp, &__t1339)? { { let v_W2638 = { - let __t1389 = v_V2636.clone(); - rt::apply_direct(interp, "tail", &[__t1389])? + let __t1336 = v_V2636.clone(); + rt::apply_direct(interp, "tail", &[__t1336])? }; { - let __t1390 = v_W2638.clone(); - let __t1391 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1390, __t1391])? + let __t1337 = v_W2638.clone(); + let __t1338 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1337, __t1338])? } } } else { @@ -8082,11 +7959,11 @@ pub fn aot_shen_x2e__x3c_hash_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1394 = { - let __t1393 = v_W2637.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1393])? + let __t1341 = { + let __t1340 = v_W2637.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1340])? }; - if match rt::is_truthy(interp, &__t1394) { + if match rt::is_truthy(interp, &__t1341) { Ok(b) => b, Err(e) => break Err(e), } { @@ -8119,64 +7996,64 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W2640 = { let v_W2641 = { - let __t1395 = v_V2639.clone(); - rt::apply_direct(interp, "shen.", &[__t1395])? + let __t1342 = v_V2639.clone(); + aot_shen_x2e__x3c_minus_x3e_(interp, &[__t1342])? }; { - let __t1407 = { - let __t1396 = v_W2641.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1396])? + let __t1354 = { + let __t1343 = v_W2641.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1343])? }; - if rt::is_truthy(interp, &__t1407)? { + if rt::is_truthy(interp, &__t1354)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2642 = { - let __t1397 = v_W2641.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1397])? + let __t1344 = v_W2641.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1344])? }; { let v_W2643 = { - let __t1398 = v_W2642.clone(); - rt::apply_direct(interp, "shen.", &[__t1398])? + let __t1345 = v_W2642.clone(); + aot_shen_x2e__x3c_number_x3e_(interp, &[__t1345])? }; { - let __t1406 = { - let __t1399 = v_W2643.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1399])? + let __t1353 = { + let __t1346 = v_W2643.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1346])? }; - if rt::is_truthy(interp, &__t1406)? { + if rt::is_truthy(interp, &__t1353)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2644 = { - let __t1400 = v_W2643.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1400])? + let __t1347 = v_W2643.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1347])? }; { let v_W2645 = { - let __t1401 = v_W2643.clone(); + let __t1348 = v_W2643.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1401], + &[__t1348], )? }; { - let __t1402 = v_W2645.clone(); - let __t1405 = { - let __t1403 = Value::int(0i64); - let __t1404 = v_W2644.clone(); - rt::sub(&__t1403, &__t1404)? + let __t1349 = v_W2645.clone(); + let __t1352 = { + let __t1350 = Value::int(0i64); + let __t1351 = v_W2644.clone(); + rt::sub(&__t1350, &__t1351)? }; rt::apply_direct( interp, "shen.comb", - &[__t1402, __t1405], + &[__t1349, __t1352], )? } } @@ -8189,54 +8066,50 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1409 = { - let __t1408 = v_W2640.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1408])? + let __t1356 = { + let __t1355 = v_W2640.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1355])? }; - if match rt::is_truthy(interp, &__t1409) { + if match rt::is_truthy(interp, &__t1356) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2646 = { let v_W2647 = { - let __t1410 = v_V2639.clone(); - rt::apply_direct(interp, "shen.", &[__t1410])? + let __t1357 = v_V2639.clone(); + aot_shen_x2e__x3c_plus_x3e_(interp, &[__t1357])? }; { - let __t1420 = { - let __t1411 = v_W2647.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1411])? + let __t1367 = { + let __t1358 = v_W2647.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1358])? }; - if rt::is_truthy(interp, &__t1420)? { + if rt::is_truthy(interp, &__t1367)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2648 = { - let __t1412 = v_W2647.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1412])? + let __t1359 = v_W2647.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1359])? }; { let v_W2649 = { - let __t1413 = v_W2648.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t1413], - )? + let __t1360 = v_W2648.clone(); + aot_shen_x2e__x3c_number_x3e_(interp, &[__t1360])? }; { - let __t1419 = { - let __t1414 = v_W2649.clone(); + let __t1366 = { + let __t1361 = v_W2649.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1414], + &[__t1361], )? }; - if rt::is_truthy(interp, &__t1419)? { + if rt::is_truthy(interp, &__t1366)? { { rt::apply_direct( interp, @@ -8247,29 +8120,29 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W2650 = { - let __t1415 = v_W2649.clone(); + let __t1362 = v_W2649.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1415], + &[__t1362], )? }; { let v_W2651 = { - let __t1416 = v_W2649.clone(); + let __t1363 = v_W2649.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1416], + &[__t1363], )? }; { - let __t1417 = v_W2651.clone(); - let __t1418 = v_W2650.clone(); + let __t1364 = v_W2651.clone(); + let __t1365 = v_W2650.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1417, __t1418], + &[__t1364, __t1365], )? } } @@ -8282,30 +8155,30 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1422 = { - let __t1421 = v_W2646.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1421])? + let __t1369 = { + let __t1368 = v_W2646.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1368])? }; - if match rt::is_truthy(interp, &__t1422) { + if match rt::is_truthy(interp, &__t1369) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2652 = { let v_W2653 = { - let __t1423 = v_V2639.clone(); - rt::apply_direct(interp, "shen.", &[__t1423])? + let __t1370 = v_V2639.clone(); + aot_shen_x2e__x3c_e_x2d_number_x3e_(interp, &[__t1370])? }; { - let __t1429 = { - let __t1424 = v_W2653.clone(); + let __t1376 = { + let __t1371 = v_W2653.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1424], + &[__t1371], )? }; - if rt::is_truthy(interp, &__t1429)? { + if rt::is_truthy(interp, &__t1376)? { { rt::apply_direct( interp, @@ -8316,29 +8189,29 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W2654 = { - let __t1425 = v_W2653.clone(); + let __t1372 = v_W2653.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1425], + &[__t1372], )? }; { let v_W2655 = { - let __t1426 = v_W2653.clone(); + let __t1373 = v_W2653.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1426], + &[__t1373], )? }; { - let __t1427 = v_W2655.clone(); - let __t1428 = v_W2654.clone(); + let __t1374 = v_W2655.clone(); + let __t1375 = v_W2654.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1427, __t1428], + &[__t1374, __t1375], )? } } @@ -8347,38 +8220,37 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1431 = { - let __t1430 = v_W2652.clone(); + let __t1378 = { + let __t1377 = v_W2652.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1430], + &[__t1377], )? }; - if match rt::is_truthy(interp, &__t1431) { + if match rt::is_truthy(interp, &__t1378) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2656 = { let v_W2657 = { - let __t1432 = v_V2639.clone(); - rt::apply_direct( + let __t1379 = v_V2639.clone(); + aot_shen_x2e__x3c_float_x3e_( interp, - "shen.", - &[__t1432], + &[__t1379], )? }; { - let __t1438 = { - let __t1433 = v_W2657.clone(); + let __t1385 = { + let __t1380 = v_W2657.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1433], + &[__t1380], )? }; - if rt::is_truthy(interp, &__t1438)? { + if rt::is_truthy(interp, &__t1385)? { { rt::apply_direct( interp, @@ -8389,32 +8261,32 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W2658 = { - let __t1434 = v_W2657.clone(); + let __t1381 = v_W2657.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1434], + &[__t1381], )? }; { let v_W2659 = { - let __t1435 = + let __t1382 = v_W2657.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1435], + &[__t1382], )? }; { - let __t1436 = + let __t1383 = v_W2659.clone(); - let __t1437 = + let __t1384 = v_W2658.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1436, __t1437], + &[__t1383, __t1384], )? } } @@ -8423,40 +8295,39 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1440 = { - let __t1439 = v_W2656.clone(); + let __t1387 = { + let __t1386 = v_W2656.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1439], + &[__t1386], )? }; - if match rt::is_truthy(interp, &__t1440) { + if match rt::is_truthy(interp, &__t1387) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2660 = { let v_W2661 = { - let __t1441 = v_V2639.clone(); - rt::apply_direct( + let __t1388 = v_V2639.clone(); + aot_shen_x2e__x3c_integer_x3e_( interp, - "shen.", - &[__t1441], + &[__t1388], )? }; { - let __t1447 = { - let __t1442 = + let __t1394 = { + let __t1389 = v_W2661.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1442], + &[__t1389], )? }; if rt::is_truthy( - interp, &__t1447, + interp, &__t1394, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -8464,32 +8335,32 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W2662 = { - let __t1443 = + let __t1390 = v_W2661.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1443], + &[__t1390], )? }; { let v_W2663 = { - let __t1444 = + let __t1391 = v_W2661 .clone( ); - rt::apply_direct(interp, "shen.in->", &[__t1444])? + rt::apply_direct(interp, "shen.in->", &[__t1391])? }; { - let __t1445 = + let __t1392 = v_W2663 .clone( ); - let __t1446 = + let __t1393 = v_W2662 .clone( ); - rt::apply_direct(interp, "shen.comb", &[__t1445, __t1446])? + rt::apply_direct(interp, "shen.comb", &[__t1392, __t1393])? } } } @@ -8497,16 +8368,16 @@ pub fn aot_shen_x2e__x3c_number_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1449 = { - let __t1448 = v_W2660.clone(); + let __t1396 = { + let __t1395 = v_W2660.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1448], + &[__t1395], )? }; if match rt::is_truthy( - interp, &__t1449, + interp, &__t1396, ) { Ok(b) => b, Err(e) => break Err(e), @@ -8565,21 +8436,21 @@ pub fn aot_shen_x2e__x3c_minus_x3e_(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2665 = { - let __t1455 = { - let __t1450 = v_V2664.clone(); - let __t1451 = Value::int(45i64); - rt::apply_direct(interp, "shen.hds=?", &[__t1450, __t1451])? + let __t1402 = { + let __t1397 = v_V2664.clone(); + let __t1398 = Value::int(45i64); + rt::apply_direct(interp, "shen.hds=?", &[__t1397, __t1398])? }; - if rt::is_truthy(interp, &__t1455)? { + if rt::is_truthy(interp, &__t1402)? { { let v_W2666 = { - let __t1452 = v_V2664.clone(); - rt::apply_direct(interp, "tail", &[__t1452])? + let __t1399 = v_V2664.clone(); + rt::apply_direct(interp, "tail", &[__t1399])? }; { - let __t1453 = v_W2666.clone(); - let __t1454 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1453, __t1454])? + let __t1400 = v_W2666.clone(); + let __t1401 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1400, __t1401])? } } } else { @@ -8589,11 +8460,11 @@ pub fn aot_shen_x2e__x3c_minus_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1457 = { - let __t1456 = v_W2665.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1456])? + let __t1404 = { + let __t1403 = v_W2665.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1403])? }; - if match rt::is_truthy(interp, &__t1457) { + if match rt::is_truthy(interp, &__t1404) { Ok(b) => b, Err(e) => break Err(e), } { @@ -8625,21 +8496,21 @@ pub fn aot_shen_x2e__x3c_plus_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W2668 = { - let __t1463 = { - let __t1458 = v_V2667.clone(); - let __t1459 = Value::int(43i64); - rt::apply_direct(interp, "shen.hds=?", &[__t1458, __t1459])? + let __t1410 = { + let __t1405 = v_V2667.clone(); + let __t1406 = Value::int(43i64); + rt::apply_direct(interp, "shen.hds=?", &[__t1405, __t1406])? }; - if rt::is_truthy(interp, &__t1463)? { + if rt::is_truthy(interp, &__t1410)? { { let v_W2669 = { - let __t1460 = v_V2667.clone(); - rt::apply_direct(interp, "tail", &[__t1460])? + let __t1407 = v_V2667.clone(); + rt::apply_direct(interp, "tail", &[__t1407])? }; { - let __t1461 = v_W2669.clone(); - let __t1462 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1461, __t1462])? + let __t1408 = v_W2669.clone(); + let __t1409 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1408, __t1409])? } } } else { @@ -8649,11 +8520,11 @@ pub fn aot_shen_x2e__x3c_plus_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1465 = { - let __t1464 = v_W2668.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1464])? + let __t1412 = { + let __t1411 = v_W2668.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1411])? }; - if match rt::is_truthy(interp, &__t1465) { + if match rt::is_truthy(interp, &__t1412) { Ok(b) => b, Err(e) => break Err(e), } { @@ -8686,40 +8557,36 @@ pub fn aot_shen_x2e__x3c_integer_x3e_(interp: &mut Interp, args: &[Value]) -> Sh { let v_W2671 = { let v_W2672 = { - let __t1466 = v_V2670.clone(); - rt::apply_direct(interp, "shen.", &[__t1466])? + let __t1413 = v_V2670.clone(); + aot_shen_x2e__x3c_digits_x3e_(interp, &[__t1413])? }; { - let __t1473 = { - let __t1467 = v_W2672.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1467])? + let __t1420 = { + let __t1414 = v_W2672.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1414])? }; - if rt::is_truthy(interp, &__t1473)? { + if rt::is_truthy(interp, &__t1420)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2673 = { - let __t1468 = v_W2672.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1468])? + let __t1415 = v_W2672.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1415])? }; { let v_W2674 = { - let __t1469 = v_W2672.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1469])? + let __t1416 = v_W2672.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1416])? }; { - let __t1470 = v_W2674.clone(); - let __t1472 = { - let __t1471 = v_W2673.clone(); - rt::apply_direct( - interp, - "shen.compute-integer", - &[__t1471], - )? + let __t1417 = v_W2674.clone(); + let __t1419 = { + let __t1418 = v_W2673.clone(); + aot_shen_x2e_compute_x2d_integer(interp, &[__t1418])? }; - rt::apply_direct(interp, "shen.comb", &[__t1470, __t1472])? + rt::apply_direct(interp, "shen.comb", &[__t1417, __t1419])? } } } @@ -8727,11 +8594,11 @@ pub fn aot_shen_x2e__x3c_integer_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t1475 = { - let __t1474 = v_W2671.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1474])? + let __t1422 = { + let __t1421 = v_W2671.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1421])? }; - if match rt::is_truthy(interp, &__t1475) { + if match rt::is_truthy(interp, &__t1422) { Ok(b) => b, Err(e) => break Err(e), } { @@ -8764,77 +8631,77 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W2676 = { let v_W2677 = { - let __t1476 = v_V2675.clone(); - rt::apply_direct(interp, "shen.", &[__t1476])? + let __t1423 = v_V2675.clone(); + aot_shen_x2e__x3c_digit_x3e_(interp, &[__t1423])? }; { - let __t1489 = { - let __t1477 = v_W2677.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1477])? + let __t1436 = { + let __t1424 = v_W2677.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1424])? }; - if rt::is_truthy(interp, &__t1489)? { + if rt::is_truthy(interp, &__t1436)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2678 = { - let __t1478 = v_W2677.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1478])? + let __t1425 = v_W2677.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1425])? }; { let v_W2679 = { - let __t1479 = v_W2677.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1479])? + let __t1426 = v_W2677.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1426])? }; { let v_W2680 = { - let __t1480 = v_W2679.clone(); - rt::apply_direct(interp, "shen.", &[__t1480])? + let __t1427 = v_W2679.clone(); + aot_shen_x2e__x3c_digits_x3e_(interp, &[__t1427])? }; { - let __t1488 = { - let __t1481 = v_W2680.clone(); + let __t1435 = { + let __t1428 = v_W2680.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1481], + &[__t1428], )? }; - if rt::is_truthy(interp, &__t1488)? { + if rt::is_truthy(interp, &__t1435)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2681 = { - let __t1482 = v_W2680.clone(); + let __t1429 = v_W2680.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1482], + &[__t1429], )? }; { let v_W2682 = { - let __t1483 = v_W2680.clone(); + let __t1430 = v_W2680.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1483], + &[__t1430], )? }; { - let __t1484 = v_W2682.clone(); - let __t1487 = { - let __t1485 = v_W2678.clone(); - let __t1486 = v_W2681.clone(); - rt::cons(&__t1485, &__t1486) + let __t1431 = v_W2682.clone(); + let __t1434 = { + let __t1432 = v_W2678.clone(); + let __t1433 = v_W2681.clone(); + rt::cons(&__t1432, &__t1433) }; rt::apply_direct( interp, "shen.comb", - &[__t1484, __t1487], + &[__t1431, __t1434], )? } } @@ -8848,51 +8715,51 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1491 = { - let __t1490 = v_W2676.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1490])? + let __t1438 = { + let __t1437 = v_W2676.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1437])? }; - if match rt::is_truthy(interp, &__t1491) { + if match rt::is_truthy(interp, &__t1438) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2683 = { let v_W2684 = { - let __t1492 = v_V2675.clone(); - rt::apply_direct(interp, "shen.", &[__t1492])? + let __t1439 = v_V2675.clone(); + aot_shen_x2e__x3c_digit_x3e_(interp, &[__t1439])? }; { - let __t1500 = { - let __t1493 = v_W2684.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1493])? + let __t1447 = { + let __t1440 = v_W2684.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1440])? }; - if rt::is_truthy(interp, &__t1500)? { + if rt::is_truthy(interp, &__t1447)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2685 = { - let __t1494 = v_W2684.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1494])? + let __t1441 = v_W2684.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1441])? }; { let v_W2686 = { - let __t1495 = v_W2684.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1495])? + let __t1442 = v_W2684.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1442])? }; { - let __t1496 = v_W2686.clone(); - let __t1499 = { - let __t1497 = v_W2685.clone(); - let __t1498 = Value::nil(); - rt::cons(&__t1497, &__t1498) + let __t1443 = v_W2686.clone(); + let __t1446 = { + let __t1444 = v_W2685.clone(); + let __t1445 = Value::nil(); + rt::cons(&__t1444, &__t1445) }; rt::apply_direct( interp, "shen.comb", - &[__t1496, __t1499], + &[__t1443, __t1446], )? } } @@ -8901,11 +8768,11 @@ pub fn aot_shen_x2e__x3c_digits_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t1502 = { - let __t1501 = v_W2683.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1501])? + let __t1449 = { + let __t1448 = v_W2683.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1448])? }; - if match rt::is_truthy(interp, &__t1502) { + if match rt::is_truthy(interp, &__t1449) { Ok(b) => b, Err(e) => break Err(e), } { @@ -8942,38 +8809,38 @@ pub fn aot_shen_x2e__x3c_digit_x3e_(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W2688 = { - let __t1511 = { - let __t1503 = v_V2687.clone(); - rt::is_cons(&__t1503) + let __t1458 = { + let __t1450 = v_V2687.clone(); + rt::is_cons(&__t1450) }; - if rt::is_truthy(interp, &__t1511)? { + if rt::is_truthy(interp, &__t1458)? { { let v_W2689 = { - let __t1504 = v_V2687.clone(); - rt::apply_direct(interp, "head", &[__t1504])? + let __t1451 = v_V2687.clone(); + rt::apply_direct(interp, "head", &[__t1451])? }; { let v_W2690 = { - let __t1505 = v_V2687.clone(); - rt::apply_direct(interp, "tail", &[__t1505])? + let __t1452 = v_V2687.clone(); + rt::apply_direct(interp, "tail", &[__t1452])? }; { - let __t1510 = { - let __t1506 = v_W2689.clone(); - rt::apply_direct(interp, "shen.digit?", &[__t1506])? + let __t1457 = { + let __t1453 = v_W2689.clone(); + rt::apply_direct(interp, "shen.digit?", &[__t1453])? }; - if rt::is_truthy(interp, &__t1510)? { + if rt::is_truthy(interp, &__t1457)? { { - let __t1507 = v_W2690.clone(); - let __t1509 = { - let __t1508 = v_W2689.clone(); + let __t1454 = v_W2690.clone(); + let __t1456 = { + let __t1455 = v_W2689.clone(); rt::apply_direct( interp, "shen.byte->digit", - &[__t1508], + &[__t1455], )? }; - rt::apply_direct(interp, "shen.comb", &[__t1507, __t1509])? + rt::apply_direct(interp, "shen.comb", &[__t1454, __t1456])? } } else { { @@ -8990,11 +8857,11 @@ pub fn aot_shen_x2e__x3c_digit_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1513 = { - let __t1512 = v_W2688.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1512])? + let __t1460 = { + let __t1459 = v_W2688.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1459])? }; - if match rt::is_truthy(interp, &__t1513) { + if match rt::is_truthy(interp, &__t1460) { Ok(b) => b, Err(e) => break Err(e), } { @@ -9025,9 +8892,9 @@ pub fn aot_shen_x2e_byte_x2d__x3e_digit(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t1514 = v_V2691.clone(); - let __t1515 = Value::int(48i64); - rt::sub(&__t1514, &__t1515)? + let __t1461 = v_V2691.clone(); + let __t1462 = Value::int(48i64); + rt::sub(&__t1461, &__t1462)? }); } } @@ -9050,12 +8917,12 @@ pub fn aot_shen_x2e_compute_x2d_integer(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t1517 = { - let __t1516 = v_V2692.clone(); - rt::apply_direct(interp, "reverse", &[__t1516])? + let __t1464 = { + let __t1463 = v_V2692.clone(); + rt::apply_direct(interp, "reverse", &[__t1463])? }; - let __t1518 = Value::int(0i64); - rt::apply_direct(interp, "shen.compute-integer-h", &[__t1517, __t1518])? + let __t1465 = Value::int(0i64); + aot_shen_x2e_compute_x2d_integer_x2d_h(interp, &[__t1464, __t1465])? }); } } @@ -9083,68 +8950,60 @@ pub fn aot_shen_x2e_compute_x2d_integer_x2d_h( #[allow(clippy::never_loop)] loop { { - let __t1537 = { - let __t1535 = Value::nil(); - let __t1536 = v_V2695.clone(); - rt::eq(&__t1535, &__t1536) - }; - if match rt::is_truthy(interp, &__t1537) { + let __t1482 = Value::bool((v_V2695.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1482) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::int(0i64)); } else { { - let __t1534 = { - let __t1521 = v_V2695.clone(); - rt::is_cons(&__t1521) + let __t1481 = { + let __t1468 = v_V2695.clone(); + rt::is_cons(&__t1468) }; - if match rt::is_truthy(interp, &__t1534) { + if match rt::is_truthy(interp, &__t1481) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1527 = { - let __t1524 = { - let __t1522 = Value::int(10i64); - let __t1523 = v_V2696.clone(); - rt::apply_direct(interp, "shen.expt", &[__t1522, __t1523])? + let __t1474 = { + let __t1471 = { + let __t1469 = Value::int(10i64); + let __t1470 = v_V2696.clone(); + aot_shen_x2e_expt(interp, &[__t1469, __t1470])? }; - let __t1526 = { - let __t1525 = v_V2695.clone(); - rt::hd(&__t1525)? + let __t1473 = { + let __t1472 = v_V2695.clone(); + rt::hd(&__t1472)? }; - rt::mul(&__t1524, &__t1526)? + rt::mul(&__t1471, &__t1473)? }; - let __t1533 = { - let __t1529 = { - let __t1528 = v_V2695.clone(); - rt::tl(&__t1528)? + let __t1480 = { + let __t1476 = { + let __t1475 = v_V2695.clone(); + rt::tl(&__t1475)? }; - let __t1532 = { - let __t1530 = v_V2696.clone(); - let __t1531 = Value::int(1i64); - rt::add(&__t1530, &__t1531)? + let __t1479 = { + let __t1477 = v_V2696.clone(); + let __t1478 = Value::int(1i64); + rt::add(&__t1477, &__t1478)? }; - rt::apply_direct( - interp, - "shen.compute-integer-h", - &[__t1529, __t1532], - )? + aot_shen_x2e_compute_x2d_integer_x2d_h(interp, &[__t1476, __t1479])? }; - rt::add(&__t1527, &__t1533)? + rt::add(&__t1474, &__t1480)? }); } else { { - let __t1520 = Value::bool(true); - if match rt::is_truthy(interp, &__t1520) { + let __t1467 = Value::bool(true); + if match rt::is_truthy(interp, &__t1467) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1519 = + let __t1466 = Value::str("partial function shen.compute-integer-h"); - rt::apply_direct(interp, "simple-error", &[__t1519])? + rt::apply_direct(interp, "simple-error", &[__t1466])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9184,59 +9043,59 @@ pub fn aot_shen_x2e_expt(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::int(1i64)); } else { { - let __t1553 = { - let __t1545 = v_V2700.clone(); - let __t1546 = Value::int(0i64); - rt::gt(&__t1545, &__t1546)? + let __t1498 = { + let __t1490 = v_V2700.clone(); + let __t1491 = Value::int(0i64); + rt::gt(&__t1490, &__t1491)? }; - if match rt::is_truthy(interp, &__t1553) { + if match rt::is_truthy(interp, &__t1498) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1547 = v_V2699.clone(); - let __t1552 = { - let __t1548 = v_V2699.clone(); - let __t1551 = { - let __t1549 = v_V2700.clone(); - let __t1550 = Value::int(1i64); - rt::sub(&__t1549, &__t1550)? + let __t1492 = v_V2699.clone(); + let __t1497 = { + let __t1493 = v_V2699.clone(); + let __t1496 = { + let __t1494 = v_V2700.clone(); + let __t1495 = Value::int(1i64); + rt::sub(&__t1494, &__t1495)? }; - rt::apply_direct(interp, "shen.expt", &[__t1548, __t1551])? + aot_shen_x2e_expt(interp, &[__t1493, __t1496])? }; - rt::mul(&__t1547, &__t1552)? + rt::mul(&__t1492, &__t1497)? }); } else { { - let __t1544 = Value::bool(true); - if match rt::is_truthy(interp, &__t1544) { + let __t1489 = Value::bool(true); + if match rt::is_truthy(interp, &__t1489) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1542 = { - let __t1538 = v_V2699.clone(); - let __t1541 = { - let __t1539 = v_V2700.clone(); - let __t1540 = Value::int(1i64); - rt::add(&__t1539, &__t1540)? + let __t1487 = { + let __t1483 = v_V2699.clone(); + let __t1486 = { + let __t1484 = v_V2700.clone(); + let __t1485 = Value::int(1i64); + rt::add(&__t1484, &__t1485)? }; - rt::apply_direct(interp, "shen.expt", &[__t1538, __t1541])? + aot_shen_x2e_expt(interp, &[__t1483, __t1486])? }; - let __t1543 = v_V2699.clone(); - rt::div(&__t1542, &__t1543)? + let __t1488 = v_V2699.clone(); + rt::div(&__t1487, &__t1488)? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9269,76 +9128,75 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let v_W2702 = { let v_W2703 = { - let __t1557 = v_V2701.clone(); - rt::apply_direct(interp, "shen.", &[__t1557])? + let __t1502 = v_V2701.clone(); + aot_shen_x2e__x3c_integer_x3e_(interp, &[__t1502])? }; { - let __t1574 = { - let __t1558 = v_W2703.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1558])? + let __t1519 = { + let __t1503 = v_W2703.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1503])? }; - if rt::is_truthy(interp, &__t1574)? { + if rt::is_truthy(interp, &__t1519)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2704 = { - let __t1559 = v_W2703.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1559])? + let __t1504 = v_W2703.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1504])? }; { let v_W2705 = { - let __t1560 = v_W2703.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1560])? + let __t1505 = v_W2703.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1505])? }; { let v_W2706 = { - let __t1561 = v_W2705.clone(); - rt::apply_direct(interp, "shen.", &[__t1561])? + let __t1506 = v_W2705.clone(); + aot_shen_x2e__x3c_stop_x3e_(interp, &[__t1506])? }; { - let __t1573 = { - let __t1562 = v_W2706.clone(); + let __t1518 = { + let __t1507 = v_W2706.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1562], + &[__t1507], )? }; - if rt::is_truthy(interp, &__t1573)? { + if rt::is_truthy(interp, &__t1518)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2707 = { - let __t1563 = v_W2706.clone(); + let __t1508 = v_W2706.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1563], + &[__t1508], )? }; { let v_W2708 = { - let __t1564 = v_W2707.clone(); - rt::apply_direct( + let __t1509 = v_W2707.clone(); + aot_shen_x2e__x3c_fraction_x3e_( interp, - "shen.", - &[__t1564], + &[__t1509], )? }; { - let __t1572 = { - let __t1565 = v_W2708.clone(); + let __t1517 = { + let __t1510 = v_W2708.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1565], + &[__t1510], )? }; - if rt::is_truthy(interp, &__t1572)? { + if rt::is_truthy(interp, &__t1517)? { { rt::apply_direct( interp, @@ -9349,39 +9207,39 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let v_W2709 = { - let __t1566 = v_W2708.clone(); + let __t1511 = v_W2708.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1566], + &[__t1511], )? }; { let v_W2710 = { - let __t1567 = + let __t1512 = v_W2708.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1567], + &[__t1512], )? }; { - let __t1568 = + let __t1513 = v_W2710.clone(); - let __t1571 = { - let __t1569 = + let __t1516 = { + let __t1514 = v_W2704.clone(); - let __t1570 = + let __t1515 = v_W2709.clone(); rt::add( - &__t1569, &__t1570, + &__t1514, &__t1515, )? }; rt::apply_direct( interp, "shen.comb", - &[__t1568, __t1571], + &[__t1513, __t1516], )? } } @@ -9399,54 +9257,50 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1576 = { - let __t1575 = v_W2702.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1575])? + let __t1521 = { + let __t1520 = v_W2702.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1520])? }; - if match rt::is_truthy(interp, &__t1576) { + if match rt::is_truthy(interp, &__t1521) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2711 = { let v_W2712 = { - let __t1577 = v_V2701.clone(); - rt::apply_direct(interp, "shen.", &[__t1577])? + let __t1522 = v_V2701.clone(); + aot_shen_x2e__x3c_stop_x3e_(interp, &[__t1522])? }; { - let __t1587 = { - let __t1578 = v_W2712.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1578])? + let __t1532 = { + let __t1523 = v_W2712.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1523])? }; - if rt::is_truthy(interp, &__t1587)? { + if rt::is_truthy(interp, &__t1532)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2713 = { - let __t1579 = v_W2712.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1579])? + let __t1524 = v_W2712.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1524])? }; { let v_W2714 = { - let __t1580 = v_W2713.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t1580], - )? + let __t1525 = v_W2713.clone(); + aot_shen_x2e__x3c_fraction_x3e_(interp, &[__t1525])? }; { - let __t1586 = { - let __t1581 = v_W2714.clone(); + let __t1531 = { + let __t1526 = v_W2714.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1581], + &[__t1526], )? }; - if rt::is_truthy(interp, &__t1586)? { + if rt::is_truthy(interp, &__t1531)? { { rt::apply_direct( interp, @@ -9457,29 +9311,29 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let v_W2715 = { - let __t1582 = v_W2714.clone(); + let __t1527 = v_W2714.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1582], + &[__t1527], )? }; { let v_W2716 = { - let __t1583 = v_W2714.clone(); + let __t1528 = v_W2714.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1583], + &[__t1528], )? }; { - let __t1584 = v_W2716.clone(); - let __t1585 = v_W2715.clone(); + let __t1529 = v_W2716.clone(); + let __t1530 = v_W2715.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1584, __t1585], + &[__t1529, __t1530], )? } } @@ -9492,11 +9346,11 @@ pub fn aot_shen_x2e__x3c_float_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1589 = { - let __t1588 = v_W2711.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1588])? + let __t1534 = { + let __t1533 = v_W2711.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1533])? }; - if match rt::is_truthy(interp, &__t1589) { + if match rt::is_truthy(interp, &__t1534) { Ok(b) => b, Err(e) => break Err(e), } { @@ -9533,21 +9387,21 @@ pub fn aot_shen_x2e__x3c_stop_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W2718 = { - let __t1595 = { - let __t1590 = v_V2717.clone(); - let __t1591 = Value::int(46i64); - rt::apply_direct(interp, "shen.hds=?", &[__t1590, __t1591])? + let __t1540 = { + let __t1535 = v_V2717.clone(); + let __t1536 = Value::int(46i64); + rt::apply_direct(interp, "shen.hds=?", &[__t1535, __t1536])? }; - if rt::is_truthy(interp, &__t1595)? { + if rt::is_truthy(interp, &__t1540)? { { let v_W2719 = { - let __t1592 = v_V2717.clone(); - rt::apply_direct(interp, "tail", &[__t1592])? + let __t1537 = v_V2717.clone(); + rt::apply_direct(interp, "tail", &[__t1537])? }; { - let __t1593 = v_W2719.clone(); - let __t1594 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1593, __t1594])? + let __t1538 = v_W2719.clone(); + let __t1539 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1538, __t1539])? } } } else { @@ -9557,11 +9411,11 @@ pub fn aot_shen_x2e__x3c_stop_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1597 = { - let __t1596 = v_W2718.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1596])? + let __t1542 = { + let __t1541 = v_W2718.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1541])? }; - if match rt::is_truthy(interp, &__t1597) { + if match rt::is_truthy(interp, &__t1542) { Ok(b) => b, Err(e) => break Err(e), } { @@ -9594,40 +9448,36 @@ pub fn aot_shen_x2e__x3c_fraction_x3e_(interp: &mut Interp, args: &[Value]) -> S { let v_W2721 = { let v_W2722 = { - let __t1598 = v_V2720.clone(); - rt::apply_direct(interp, "shen.", &[__t1598])? + let __t1543 = v_V2720.clone(); + aot_shen_x2e__x3c_digits_x3e_(interp, &[__t1543])? }; { - let __t1605 = { - let __t1599 = v_W2722.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1599])? + let __t1550 = { + let __t1544 = v_W2722.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1544])? }; - if rt::is_truthy(interp, &__t1605)? { + if rt::is_truthy(interp, &__t1550)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2723 = { - let __t1600 = v_W2722.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1600])? + let __t1545 = v_W2722.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1545])? }; { let v_W2724 = { - let __t1601 = v_W2722.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1601])? + let __t1546 = v_W2722.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1546])? }; { - let __t1602 = v_W2724.clone(); - let __t1604 = { - let __t1603 = v_W2723.clone(); - rt::apply_direct( - interp, - "shen.compute-fraction", - &[__t1603], - )? + let __t1547 = v_W2724.clone(); + let __t1549 = { + let __t1548 = v_W2723.clone(); + aot_shen_x2e_compute_x2d_fraction(interp, &[__t1548])? }; - rt::apply_direct(interp, "shen.comb", &[__t1602, __t1604])? + rt::apply_direct(interp, "shen.comb", &[__t1547, __t1549])? } } } @@ -9635,11 +9485,11 @@ pub fn aot_shen_x2e__x3c_fraction_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t1607 = { - let __t1606 = v_W2721.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1606])? + let __t1552 = { + let __t1551 = v_W2721.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1551])? }; - if match rt::is_truthy(interp, &__t1607) { + if match rt::is_truthy(interp, &__t1552) { Ok(b) => b, Err(e) => break Err(e), } { @@ -9670,9 +9520,9 @@ pub fn aot_shen_x2e_compute_x2d_fraction(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t1608 = v_V2725.clone(); - let __t1609 = Value::int(-1i64); - rt::apply_direct(interp, "shen.compute-fraction-h", &[__t1608, __t1609])? + let __t1553 = v_V2725.clone(); + let __t1554 = Value::int(-1i64); + aot_shen_x2e_compute_x2d_fraction_x2d_h(interp, &[__t1553, __t1554])? }); } } @@ -9704,68 +9554,63 @@ pub fn aot_shen_x2e_compute_x2d_fraction_x2d_h( #[allow(clippy::never_loop)] loop { { - let __t1628 = { - let __t1626 = Value::nil(); - let __t1627 = v_V2728.clone(); - rt::eq(&__t1626, &__t1627) - }; - if match rt::is_truthy(interp, &__t1628) { + let __t1571 = Value::bool((v_V2728.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1571) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::int(0i64)); } else { { - let __t1625 = { - let __t1612 = v_V2728.clone(); - rt::is_cons(&__t1612) + let __t1570 = { + let __t1557 = v_V2728.clone(); + rt::is_cons(&__t1557) }; - if match rt::is_truthy(interp, &__t1625) { + if match rt::is_truthy(interp, &__t1570) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1618 = { - let __t1615 = { - let __t1613 = Value::int(10i64); - let __t1614 = v_V2729.clone(); - rt::apply_direct(interp, "shen.expt", &[__t1613, __t1614])? + let __t1563 = { + let __t1560 = { + let __t1558 = Value::int(10i64); + let __t1559 = v_V2729.clone(); + aot_shen_x2e_expt(interp, &[__t1558, __t1559])? }; - let __t1617 = { - let __t1616 = v_V2728.clone(); - rt::hd(&__t1616)? + let __t1562 = { + let __t1561 = v_V2728.clone(); + rt::hd(&__t1561)? }; - rt::mul(&__t1615, &__t1617)? + rt::mul(&__t1560, &__t1562)? }; - let __t1624 = { - let __t1620 = { - let __t1619 = v_V2728.clone(); - rt::tl(&__t1619)? + let __t1569 = { + let __t1565 = { + let __t1564 = v_V2728.clone(); + rt::tl(&__t1564)? }; - let __t1623 = { - let __t1621 = v_V2729.clone(); - let __t1622 = Value::int(1i64); - rt::sub(&__t1621, &__t1622)? + let __t1568 = { + let __t1566 = v_V2729.clone(); + let __t1567 = Value::int(1i64); + rt::sub(&__t1566, &__t1567)? }; - rt::apply_direct( + aot_shen_x2e_compute_x2d_fraction_x2d_h( interp, - "shen.compute-fraction-h", - &[__t1620, __t1623], + &[__t1565, __t1568], )? }; - rt::add(&__t1618, &__t1624)? + rt::add(&__t1563, &__t1569)? }); } else { { - let __t1611 = Value::bool(true); - if match rt::is_truthy(interp, &__t1611) { + let __t1556 = Value::bool(true); + if match rt::is_truthy(interp, &__t1556) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1610 = + let __t1555 = Value::str("partial function shen.compute-fraction-h"); - rt::apply_direct(interp, "simple-error", &[__t1610])? + rt::apply_direct(interp, "simple-error", &[__t1555])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -9808,76 +9653,75 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( { let v_W2731 = { let v_W2732 = { - let __t1629 = v_V2730.clone(); - rt::apply_direct(interp, "shen.", &[__t1629])? + let __t1572 = v_V2730.clone(); + aot_shen_x2e__x3c_float_x3e_(interp, &[__t1572])? }; { - let __t1646 = { - let __t1630 = v_W2732.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1630])? + let __t1589 = { + let __t1573 = v_W2732.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1573])? }; - if rt::is_truthy(interp, &__t1646)? { + if rt::is_truthy(interp, &__t1589)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2733 = { - let __t1631 = v_W2732.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1631])? + let __t1574 = v_W2732.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1574])? }; { let v_W2734 = { - let __t1632 = v_W2732.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1632])? + let __t1575 = v_W2732.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1575])? }; { let v_W2735 = { - let __t1633 = v_W2734.clone(); - rt::apply_direct(interp, "shen.", &[__t1633])? + let __t1576 = v_W2734.clone(); + aot_shen_x2e__x3c_lowE_x3e_(interp, &[__t1576])? }; { - let __t1645 = { - let __t1634 = v_W2735.clone(); + let __t1588 = { + let __t1577 = v_W2735.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1634], + &[__t1577], )? }; - if rt::is_truthy(interp, &__t1645)? { + if rt::is_truthy(interp, &__t1588)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2736 = { - let __t1635 = v_W2735.clone(); + let __t1578 = v_W2735.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1635], + &[__t1578], )? }; { let v_W2737 = { - let __t1636 = v_W2736.clone(); - rt::apply_direct( + let __t1579 = v_W2736.clone(); + aot_shen_x2e__x3c_log10_x3e_( interp, - "shen.", - &[__t1636], + &[__t1579], )? }; { - let __t1644 = { - let __t1637 = v_W2737.clone(); + let __t1587 = { + let __t1580 = v_W2737.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1637], + &[__t1580], )? }; - if rt::is_truthy(interp, &__t1644)? { + if rt::is_truthy(interp, &__t1587)? { { rt::apply_direct( interp, @@ -9888,41 +9732,37 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } else { { let v_W2738 = { - let __t1638 = v_W2737.clone(); + let __t1581 = v_W2737.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1638], + &[__t1581], )? }; { let v_W2739 = { - let __t1639 = + let __t1582 = v_W2737.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1639], + &[__t1582], )? }; { - let __t1640 = + let __t1583 = v_W2739.clone(); - let __t1643 = { - let __t1641 = + let __t1586 = { + let __t1584 = v_W2733.clone(); - let __t1642 = + let __t1585 = v_W2738.clone(); - rt::apply_direct( - interp, - "shen.compute-E", - &[__t1641, __t1642], - )? + aot_shen_x2e_compute_x2d_E(interp, &[__t1584, __t1585])? }; rt::apply_direct( interp, "shen.comb", - &[__t1640, __t1643], + &[__t1583, __t1586], )? } } @@ -9940,59 +9780,55 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } }; { - let __t1648 = { - let __t1647 = v_W2731.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1647])? + let __t1591 = { + let __t1590 = v_W2731.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1590])? }; - if match rt::is_truthy(interp, &__t1648) { + if match rt::is_truthy(interp, &__t1591) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2740 = { let v_W2741 = { - let __t1649 = v_V2730.clone(); - rt::apply_direct(interp, "shen.", &[__t1649])? + let __t1592 = v_V2730.clone(); + aot_shen_x2e__x3c_integer_x3e_(interp, &[__t1592])? }; { - let __t1666 = { - let __t1650 = v_W2741.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1650])? + let __t1609 = { + let __t1593 = v_W2741.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1593])? }; - if rt::is_truthy(interp, &__t1666)? { + if rt::is_truthy(interp, &__t1609)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2742 = { - let __t1651 = v_W2741.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1651])? + let __t1594 = v_W2741.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1594])? }; { let v_W2743 = { - let __t1652 = v_W2741.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1652])? + let __t1595 = v_W2741.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1595])? }; { let v_W2744 = { - let __t1653 = v_W2743.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t1653], - )? + let __t1596 = v_W2743.clone(); + aot_shen_x2e__x3c_lowE_x3e_(interp, &[__t1596])? }; { - let __t1665 = { - let __t1654 = v_W2744.clone(); + let __t1608 = { + let __t1597 = v_W2744.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1654], + &[__t1597], )? }; - if rt::is_truthy(interp, &__t1665)? { + if rt::is_truthy(interp, &__t1608)? { { rt::apply_direct( interp, @@ -10003,34 +9839,33 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } else { { let v_W2745 = { - let __t1655 = v_W2744.clone(); + let __t1598 = v_W2744.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1655], + &[__t1598], )? }; { let v_W2746 = { - let __t1656 = v_W2745.clone(); - rt::apply_direct( + let __t1599 = v_W2745.clone(); + aot_shen_x2e__x3c_log10_x3e_( interp, - "shen.", - &[__t1656], + &[__t1599], )? }; { - let __t1664 = { - let __t1657 = + let __t1607 = { + let __t1600 = v_W2746.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1657], + &[__t1600], )? }; if rt::is_truthy( - interp, &__t1664, + interp, &__t1607, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -10038,33 +9873,33 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } else { { let v_W2747 = { - let __t1658 = + let __t1601 = v_W2746.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1658], + &[__t1601], )? }; { let v_W2748 = { - let __t1659 = + let __t1602 = v_W2746 .clone( ); - rt::apply_direct(interp, "shen.in->", &[__t1659])? + rt::apply_direct(interp, "shen.in->", &[__t1602])? }; { - let __t1660 = + let __t1603 = v_W2748 .clone( ); - let __t1663 = { - let __t1661 = v_W2742.clone(); - let __t1662 = v_W2747.clone(); - rt::apply_direct(interp, "shen.compute-E", &[__t1661, __t1662])? + let __t1606 = { + let __t1604 = v_W2742.clone(); + let __t1605 = v_W2747.clone(); + aot_shen_x2e_compute_x2d_E(interp, &[__t1604, __t1605])? }; - rt::apply_direct(interp, "shen.comb", &[__t1660, __t1663])? + rt::apply_direct(interp, "shen.comb", &[__t1603, __t1606])? } } } @@ -10081,11 +9916,11 @@ pub fn aot_shen_x2e__x3c_e_x2d_number_x3e_( } }; { - let __t1668 = { - let __t1667 = v_W2740.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1667])? + let __t1611 = { + let __t1610 = v_W2740.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1610])? }; - if match rt::is_truthy(interp, &__t1668) { + if match rt::is_truthy(interp, &__t1611) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10123,60 +9958,60 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let v_W2750 = { let v_W2751 = { - let __t1669 = v_V2749.clone(); - rt::apply_direct(interp, "shen.", &[__t1669])? + let __t1612 = v_V2749.clone(); + aot_shen_x2e__x3c_plus_x3e_(interp, &[__t1612])? }; { - let __t1679 = { - let __t1670 = v_W2751.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1670])? + let __t1622 = { + let __t1613 = v_W2751.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1613])? }; - if rt::is_truthy(interp, &__t1679)? { + if rt::is_truthy(interp, &__t1622)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2752 = { - let __t1671 = v_W2751.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1671])? + let __t1614 = v_W2751.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1614])? }; { let v_W2753 = { - let __t1672 = v_W2752.clone(); - rt::apply_direct(interp, "shen.", &[__t1672])? + let __t1615 = v_W2752.clone(); + aot_shen_x2e__x3c_log10_x3e_(interp, &[__t1615])? }; { - let __t1678 = { - let __t1673 = v_W2753.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1673])? + let __t1621 = { + let __t1616 = v_W2753.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1616])? }; - if rt::is_truthy(interp, &__t1678)? { + if rt::is_truthy(interp, &__t1621)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2754 = { - let __t1674 = v_W2753.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t1674])? + let __t1617 = v_W2753.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t1617])? }; { let v_W2755 = { - let __t1675 = v_W2753.clone(); + let __t1618 = v_W2753.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1675], + &[__t1618], )? }; { - let __t1676 = v_W2755.clone(); - let __t1677 = v_W2754.clone(); + let __t1619 = v_W2755.clone(); + let __t1620 = v_W2754.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1676, __t1677], + &[__t1619, __t1620], )? } } @@ -10189,54 +10024,50 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1681 = { - let __t1680 = v_W2750.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1680])? + let __t1624 = { + let __t1623 = v_W2750.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1623])? }; - if match rt::is_truthy(interp, &__t1681) { + if match rt::is_truthy(interp, &__t1624) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2756 = { let v_W2757 = { - let __t1682 = v_V2749.clone(); - rt::apply_direct(interp, "shen.", &[__t1682])? + let __t1625 = v_V2749.clone(); + aot_shen_x2e__x3c_minus_x3e_(interp, &[__t1625])? }; { - let __t1694 = { - let __t1683 = v_W2757.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1683])? + let __t1637 = { + let __t1626 = v_W2757.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1626])? }; - if rt::is_truthy(interp, &__t1694)? { + if rt::is_truthy(interp, &__t1637)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2758 = { - let __t1684 = v_W2757.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1684])? + let __t1627 = v_W2757.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1627])? }; { let v_W2759 = { - let __t1685 = v_W2758.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t1685], - )? + let __t1628 = v_W2758.clone(); + aot_shen_x2e__x3c_log10_x3e_(interp, &[__t1628])? }; { - let __t1693 = { - let __t1686 = v_W2759.clone(); + let __t1636 = { + let __t1629 = v_W2759.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1686], + &[__t1629], )? }; - if rt::is_truthy(interp, &__t1693)? { + if rt::is_truthy(interp, &__t1636)? { { rt::apply_direct( interp, @@ -10247,33 +10078,33 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let v_W2760 = { - let __t1687 = v_W2759.clone(); + let __t1630 = v_W2759.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1687], + &[__t1630], )? }; { let v_W2761 = { - let __t1688 = v_W2759.clone(); + let __t1631 = v_W2759.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1688], + &[__t1631], )? }; { - let __t1689 = v_W2761.clone(); - let __t1692 = { - let __t1690 = Value::int(0i64); - let __t1691 = v_W2760.clone(); - rt::sub(&__t1690, &__t1691)? + let __t1632 = v_W2761.clone(); + let __t1635 = { + let __t1633 = Value::int(0i64); + let __t1634 = v_W2760.clone(); + rt::sub(&__t1633, &__t1634)? }; rt::apply_direct( interp, "shen.comb", - &[__t1689, __t1692], + &[__t1632, __t1635], )? } } @@ -10286,30 +10117,30 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1696 = { - let __t1695 = v_W2756.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1695])? + let __t1639 = { + let __t1638 = v_W2756.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1638])? }; - if match rt::is_truthy(interp, &__t1696) { + if match rt::is_truthy(interp, &__t1639) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2762 = { let v_W2763 = { - let __t1697 = v_V2749.clone(); - rt::apply_direct(interp, "shen.", &[__t1697])? + let __t1640 = v_V2749.clone(); + aot_shen_x2e__x3c_integer_x3e_(interp, &[__t1640])? }; { - let __t1703 = { - let __t1698 = v_W2763.clone(); + let __t1646 = { + let __t1641 = v_W2763.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1698], + &[__t1641], )? }; - if rt::is_truthy(interp, &__t1703)? { + if rt::is_truthy(interp, &__t1646)? { { rt::apply_direct( interp, @@ -10320,29 +10151,29 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let v_W2764 = { - let __t1699 = v_W2763.clone(); + let __t1642 = v_W2763.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t1699], + &[__t1642], )? }; { let v_W2765 = { - let __t1700 = v_W2763.clone(); + let __t1643 = v_W2763.clone(); rt::apply_direct( interp, "shen.in->", - &[__t1700], + &[__t1643], )? }; { - let __t1701 = v_W2765.clone(); - let __t1702 = v_W2764.clone(); + let __t1644 = v_W2765.clone(); + let __t1645 = v_W2764.clone(); rt::apply_direct( interp, "shen.comb", - &[__t1701, __t1702], + &[__t1644, __t1645], )? } } @@ -10351,15 +10182,15 @@ pub fn aot_shen_x2e__x3c_log10_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t1705 = { - let __t1704 = v_W2762.clone(); + let __t1648 = { + let __t1647 = v_W2762.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t1704], + &[__t1647], )? }; - if match rt::is_truthy(interp, &__t1705) { + if match rt::is_truthy(interp, &__t1648) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10403,21 +10234,21 @@ pub fn aot_shen_x2e__x3c_lowE_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W2767 = { - let __t1711 = { - let __t1706 = v_V2766.clone(); - let __t1707 = Value::int(101i64); - rt::apply_direct(interp, "shen.hds=?", &[__t1706, __t1707])? + let __t1654 = { + let __t1649 = v_V2766.clone(); + let __t1650 = Value::int(101i64); + rt::apply_direct(interp, "shen.hds=?", &[__t1649, __t1650])? }; - if rt::is_truthy(interp, &__t1711)? { + if rt::is_truthy(interp, &__t1654)? { { let v_W2768 = { - let __t1708 = v_V2766.clone(); - rt::apply_direct(interp, "tail", &[__t1708])? + let __t1651 = v_V2766.clone(); + rt::apply_direct(interp, "tail", &[__t1651])? }; { - let __t1709 = v_W2768.clone(); - let __t1710 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1709, __t1710])? + let __t1652 = v_W2768.clone(); + let __t1653 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1652, __t1653])? } } } else { @@ -10427,11 +10258,11 @@ pub fn aot_shen_x2e__x3c_lowE_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t1713 = { - let __t1712 = v_W2767.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1712])? + let __t1656 = { + let __t1655 = v_W2767.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1655])? }; - if match rt::is_truthy(interp, &__t1713) { + if match rt::is_truthy(interp, &__t1656) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10464,13 +10295,13 @@ pub fn aot_shen_x2e_compute_x2d_E(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { break Ok({ - let __t1714 = v_V2769.clone(); - let __t1717 = { - let __t1715 = Value::int(10i64); - let __t1716 = v_V2770.clone(); - rt::apply_direct(interp, "shen.expt", &[__t1715, __t1716])? + let __t1657 = v_V2769.clone(); + let __t1660 = { + let __t1658 = Value::int(10i64); + let __t1659 = v_V2770.clone(); + aot_shen_x2e_expt(interp, &[__t1658, __t1659])? }; - rt::mul(&__t1714, &__t1717)? + rt::mul(&__t1657, &__t1660)? }); } } @@ -10498,52 +10329,52 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( { let v_W2772 = { let v_W2773 = { - let __t1718 = v_V2771.clone(); - rt::apply_direct(interp, "shen.", &[__t1718])? + let __t1661 = v_V2771.clone(); + aot_shen_x2e__x3c_whitespace_x3e_(interp, &[__t1661])? }; { - let __t1727 = { - let __t1719 = v_W2773.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1719])? + let __t1670 = { + let __t1662 = v_W2773.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1662])? }; - if rt::is_truthy(interp, &__t1727)? { + if rt::is_truthy(interp, &__t1670)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2774 = { - let __t1720 = v_W2773.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1720])? + let __t1663 = v_W2773.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1663])? }; { let v_W2775 = { - let __t1721 = v_W2774.clone(); - rt::apply_direct(interp, "shen.", &[__t1721])? + let __t1664 = v_W2774.clone(); + aot_shen_x2e__x3c_whitespaces_x3e_(interp, &[__t1664])? }; { - let __t1726 = { - let __t1722 = v_W2775.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1722])? + let __t1669 = { + let __t1665 = v_W2775.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1665])? }; - if rt::is_truthy(interp, &__t1726)? { + if rt::is_truthy(interp, &__t1669)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2776 = { - let __t1723 = v_W2775.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1723])? + let __t1666 = v_W2775.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1666])? }; { - let __t1724 = v_W2776.clone(); - let __t1725 = - Value::sym(interp.intern("shen.skip")); + let __t1667 = v_W2776.clone(); + let __t1668 = + Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", - &[__t1724, __t1725], + &[__t1667, __t1668], )? } } @@ -10555,42 +10386,43 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( } }; { - let __t1729 = { - let __t1728 = v_W2772.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1728])? + let __t1672 = { + let __t1671 = v_W2772.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1671])? }; - if match rt::is_truthy(interp, &__t1729) { + if match rt::is_truthy(interp, &__t1672) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2777 = { let v_W2778 = { - let __t1730 = v_V2771.clone(); - rt::apply_direct(interp, "shen.", &[__t1730])? + let __t1673 = v_V2771.clone(); + aot_shen_x2e__x3c_whitespace_x3e_(interp, &[__t1673])? }; { - let __t1735 = { - let __t1731 = v_W2778.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1731])? + let __t1678 = { + let __t1674 = v_W2778.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1674])? }; - if rt::is_truthy(interp, &__t1735)? { + if rt::is_truthy(interp, &__t1678)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W2779 = { - let __t1732 = v_W2778.clone(); - rt::apply_direct(interp, "shen.in->", &[__t1732])? + let __t1675 = v_W2778.clone(); + rt::apply_direct(interp, "shen.in->", &[__t1675])? }; { - let __t1733 = v_W2779.clone(); - let __t1734 = Value::sym(interp.intern("shen.skip")); + let __t1676 = v_W2779.clone(); + let __t1677 = + Value::sym(interp.intern_static("shen.skip")); rt::apply_direct( interp, "shen.comb", - &[__t1733, __t1734], + &[__t1676, __t1677], )? } } @@ -10598,11 +10430,11 @@ pub fn aot_shen_x2e__x3c_whitespaces_x3e_( } }; { - let __t1737 = { - let __t1736 = v_W2777.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1736])? + let __t1680 = { + let __t1679 = v_W2777.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1679])? }; - if match rt::is_truthy(interp, &__t1737) { + if match rt::is_truthy(interp, &__t1680) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10639,31 +10471,31 @@ pub fn aot_shen_x2e__x3c_whitespace_x3e_(interp: &mut Interp, args: &[Value]) -> loop { { let v_W2781 = { - let __t1745 = { - let __t1738 = v_V2780.clone(); - rt::is_cons(&__t1738) + let __t1688 = { + let __t1681 = v_V2780.clone(); + rt::is_cons(&__t1681) }; - if rt::is_truthy(interp, &__t1745)? { + if rt::is_truthy(interp, &__t1688)? { { let v_W2782 = { - let __t1739 = v_V2780.clone(); - rt::apply_direct(interp, "head", &[__t1739])? + let __t1682 = v_V2780.clone(); + rt::apply_direct(interp, "head", &[__t1682])? }; { let v_W2783 = { - let __t1740 = v_V2780.clone(); - rt::apply_direct(interp, "tail", &[__t1740])? + let __t1683 = v_V2780.clone(); + rt::apply_direct(interp, "tail", &[__t1683])? }; { - let __t1744 = { - let __t1741 = v_W2782.clone(); - rt::apply_direct(interp, "shen.whitespace?", &[__t1741])? + let __t1687 = { + let __t1684 = v_W2782.clone(); + aot_shen_x2e_whitespace_x3f_(interp, &[__t1684])? }; - if rt::is_truthy(interp, &__t1744)? { + if rt::is_truthy(interp, &__t1687)? { { - let __t1742 = v_W2783.clone(); - let __t1743 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t1742, __t1743])? + let __t1685 = v_W2783.clone(); + let __t1686 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t1685, __t1686])? } } else { { @@ -10680,11 +10512,11 @@ pub fn aot_shen_x2e__x3c_whitespace_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t1747 = { - let __t1746 = v_W2781.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1746])? + let __t1690 = { + let __t1689 = v_W2781.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t1689])? }; - if match rt::is_truthy(interp, &__t1747) { + if match rt::is_truthy(interp, &__t1690) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10715,56 +10547,56 @@ pub fn aot_shen_x2e_whitespace_x3f_(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t1760 = { - let __t1758 = Value::int(32i64); - let __t1759 = v_V2786.clone(); - rt::eq(&__t1758, &__t1759) + let __t1703 = { + let __t1701 = Value::int(32i64); + let __t1702 = v_V2786.clone(); + rt::eq(&__t1701, &__t1702) }; - if match rt::is_truthy(interp, &__t1760) { + if match rt::is_truthy(interp, &__t1703) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1757 = { - let __t1755 = Value::int(13i64); - let __t1756 = v_V2786.clone(); - rt::eq(&__t1755, &__t1756) + let __t1700 = { + let __t1698 = Value::int(13i64); + let __t1699 = v_V2786.clone(); + rt::eq(&__t1698, &__t1699) }; - if match rt::is_truthy(interp, &__t1757) { + if match rt::is_truthy(interp, &__t1700) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1754 = { - let __t1752 = Value::int(10i64); - let __t1753 = v_V2786.clone(); - rt::eq(&__t1752, &__t1753) + let __t1697 = { + let __t1695 = Value::int(10i64); + let __t1696 = v_V2786.clone(); + rt::eq(&__t1695, &__t1696) }; - if match rt::is_truthy(interp, &__t1754) { + if match rt::is_truthy(interp, &__t1697) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1751 = { - let __t1749 = Value::int(9i64); - let __t1750 = v_V2786.clone(); - rt::eq(&__t1749, &__t1750) + let __t1694 = { + let __t1692 = Value::int(9i64); + let __t1693 = v_V2786.clone(); + rt::eq(&__t1692, &__t1693) }; - if match rt::is_truthy(interp, &__t1751) { + if match rt::is_truthy(interp, &__t1694) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1748 = Value::bool(true); - if match rt::is_truthy(interp, &__t1748) { + let __t1691 = Value::bool(true); + if match rt::is_truthy(interp, &__t1691) { Ok(b) => b, Err(e) => break Err(e), } { @@ -10807,128 +10639,123 @@ pub fn aot_shen_x2e_unpackage_x26_macroexpand( #[allow(clippy::never_loop)] loop { { - let __t1791 = { - let __t1789 = Value::nil(); - let __t1790 = v_V2787.clone(); - rt::eq(&__t1789, &__t1790) - }; - if match rt::is_truthy(interp, &__t1791) { + let __t1732 = Value::bool((v_V2787.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1732) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t1788 = { - let __t1780 = { - let __t1777 = v_V2787.clone(); - rt::is_cons(&__t1777) + let __t1731 = { + let __t1723 = { + let __t1720 = v_V2787.clone(); + rt::is_cons(&__t1720) }; - if !rt::is_truthy(interp, &__t1780)? { + if !rt::is_truthy(interp, &__t1723)? { Value::bool(false) } else { - let __t1781 = { - let __t1779 = { - let __t1778 = v_V2787.clone(); - rt::hd(&__t1778)? + let __t1724 = { + let __t1722 = { + let __t1721 = v_V2787.clone(); + rt::hd(&__t1721)? }; - rt::apply_direct(interp, "shen.packaged?", &[__t1779])? + aot_shen_x2e_packaged_x3f_(interp, &[__t1722])? }; - Value::bool(rt::is_truthy(interp, &__t1781)?) + Value::bool(rt::is_truthy(interp, &__t1724)?) } }; - if match rt::is_truthy(interp, &__t1788) { + if match rt::is_truthy(interp, &__t1731) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1787 = { - let __t1784 = { - let __t1783 = { - let __t1782 = v_V2787.clone(); - rt::hd(&__t1782)? + let __t1730 = { + let __t1727 = { + let __t1726 = { + let __t1725 = v_V2787.clone(); + rt::hd(&__t1725)? }; - rt::apply_direct(interp, "shen.unpackage", &[__t1783])? + aot_shen_x2e_unpackage(interp, &[__t1726])? }; - let __t1786 = { - let __t1785 = v_V2787.clone(); - rt::tl(&__t1785)? + let __t1729 = { + let __t1728 = v_V2787.clone(); + rt::tl(&__t1728)? }; - rt::apply_direct(interp, "append", &[__t1784, __t1786])? + rt::apply_direct(interp, "append", &[__t1727, __t1729])? }; - v_V2787 = __t1787; + v_V2787 = __t1730; continue; } } else { { - let __t1776 = { - let __t1763 = v_V2787.clone(); - rt::is_cons(&__t1763) + let __t1719 = { + let __t1706 = v_V2787.clone(); + rt::is_cons(&__t1706) }; - if match rt::is_truthy(interp, &__t1776) { + if match rt::is_truthy(interp, &__t1719) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2788 = { - let __t1765 = { - let __t1764 = v_V2787.clone(); - rt::hd(&__t1764)? + let __t1708 = { + let __t1707 = v_V2787.clone(); + rt::hd(&__t1707)? }; - rt::apply_direct(interp, "macroexpand", &[__t1765])? + rt::apply_direct(interp, "macroexpand", &[__t1708])? }; { - let __t1767 = { - let __t1766 = v_W2788.clone(); - rt::apply_direct(interp, "shen.packaged?", &[__t1766])? + let __t1710 = { + let __t1709 = v_W2788.clone(); + aot_shen_x2e_packaged_x3f_(interp, &[__t1709])? }; - if match rt::is_truthy(interp, &__t1767) { + if match rt::is_truthy(interp, &__t1710) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1771 = { - let __t1768 = v_W2788.clone(); - let __t1770 = { - let __t1769 = v_V2787.clone(); - rt::tl(&__t1769)? + let __t1714 = { + let __t1711 = v_W2788.clone(); + let __t1713 = { + let __t1712 = v_V2787.clone(); + rt::tl(&__t1712)? }; - rt::cons(&__t1768, &__t1770) + rt::cons(&__t1711, &__t1713) }; - v_V2787 = __t1771; + v_V2787 = __t1714; continue; } } else { break Ok({ - let __t1772 = v_W2788.clone(); - let __t1775 = { - let __t1774 = { - let __t1773 = v_V2787.clone(); - rt::tl(&__t1773)? + let __t1715 = v_W2788.clone(); + let __t1718 = { + let __t1717 = { + let __t1716 = v_V2787.clone(); + rt::tl(&__t1716)? }; - rt::apply_direct( + aot_shen_x2e_unpackage_x26_macroexpand( interp, - "shen.unpackage¯oexpand", - &[__t1774], + &[__t1717], )? }; - rt::cons(&__t1772, &__t1775) + rt::cons(&__t1715, &__t1718) }); } } } } else { { - let __t1762 = Value::bool(true); - if match rt::is_truthy(interp, &__t1762) { + let __t1705 = Value::bool(true); + if match rt::is_truthy(interp, &__t1705) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1761 = Value::str( + let __t1704 = Value::str( "partial function shen.unpackage¯oexpand", ); - rt::apply_direct(interp, "simple-error", &[__t1761])? + rt::apply_direct(interp, "simple-error", &[__t1704])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -10968,65 +10795,65 @@ pub fn aot_shen_x2e_packaged_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t1808 = { - let __t1806 = { - let __t1793 = v_V2791.clone(); - rt::is_cons(&__t1793) + let __t1747 = { + let __t1745 = { + let __t1734 = v_V2791.clone(); + rt::is_cons(&__t1734) }; - if !rt::is_truthy(interp, &__t1806)? { + if !rt::is_truthy(interp, &__t1745)? { Value::bool(false) } else { - let __t1807 = { - let __t1804 = { - let __t1794 = Value::sym(interp.intern("package")); - let __t1796 = { - let __t1795 = v_V2791.clone(); - rt::hd(&__t1795)? - }; - rt::eq(&__t1794, &__t1796) - }; - if !rt::is_truthy(interp, &__t1804)? { + let __t1746 = { + let __t1743 = Value::bool( + ({ + let __t1735 = v_V2791.clone(); + rt::hd(&__t1735)? + }) + .as_sym() + == Some(interp.intern_static("package")), + ); + if !rt::is_truthy(interp, &__t1743)? { Value::bool(false) } else { - let __t1805 = { - let __t1802 = { - let __t1798 = { - let __t1797 = v_V2791.clone(); - rt::tl(&__t1797)? + let __t1744 = { + let __t1741 = { + let __t1737 = { + let __t1736 = v_V2791.clone(); + rt::tl(&__t1736)? }; - rt::is_cons(&__t1798) + rt::is_cons(&__t1737) }; - if !rt::is_truthy(interp, &__t1802)? { + if !rt::is_truthy(interp, &__t1741)? { Value::bool(false) } else { - let __t1803 = { - let __t1801 = { - let __t1800 = { - let __t1799 = v_V2791.clone(); - rt::tl(&__t1799)? + let __t1742 = { + let __t1740 = { + let __t1739 = { + let __t1738 = v_V2791.clone(); + rt::tl(&__t1738)? }; - rt::tl(&__t1800)? + rt::tl(&__t1739)? }; - rt::is_cons(&__t1801) + rt::is_cons(&__t1740) }; - Value::bool(rt::is_truthy(interp, &__t1803)?) + Value::bool(rt::is_truthy(interp, &__t1742)?) } }; - Value::bool(rt::is_truthy(interp, &__t1805)?) + Value::bool(rt::is_truthy(interp, &__t1744)?) } }; - Value::bool(rt::is_truthy(interp, &__t1807)?) + Value::bool(rt::is_truthy(interp, &__t1746)?) } }; - if match rt::is_truthy(interp, &__t1808) { + if match rt::is_truthy(interp, &__t1747) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1792 = Value::bool(true); - if match rt::is_truthy(interp, &__t1792) { + let __t1733 = Value::bool(true); + if match rt::is_truthy(interp, &__t1733) { Ok(b) => b, Err(e) => break Err(e), } { @@ -11058,227 +10885,224 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t1876 = { - let __t1871 = { - let __t1852 = v_V2794.clone(); - rt::is_cons(&__t1852) + let __t1809 = { + let __t1804 = { + let __t1789 = v_V2794.clone(); + rt::is_cons(&__t1789) }; - if !rt::is_truthy(interp, &__t1871)? { + if !rt::is_truthy(interp, &__t1804)? { Value::bool(false) } else { - let __t1872 = { - let __t1869 = { - let __t1853 = Value::sym(interp.intern("package")); - let __t1855 = { - let __t1854 = v_V2794.clone(); - rt::hd(&__t1854)? - }; - rt::eq(&__t1853, &__t1855) - }; - if !rt::is_truthy(interp, &__t1869)? { + let __t1805 = { + let __t1802 = Value::bool( + ({ + let __t1790 = v_V2794.clone(); + rt::hd(&__t1790)? + }) + .as_sym() + == Some(interp.intern_static("package")), + ); + if !rt::is_truthy(interp, &__t1802)? { Value::bool(false) } else { - let __t1870 = { - let __t1867 = { - let __t1857 = { - let __t1856 = v_V2794.clone(); - rt::tl(&__t1856)? + let __t1803 = { + let __t1800 = { + let __t1792 = { + let __t1791 = v_V2794.clone(); + rt::tl(&__t1791)? }; - rt::is_cons(&__t1857) + rt::is_cons(&__t1792) }; - if !rt::is_truthy(interp, &__t1867)? { + if !rt::is_truthy(interp, &__t1800)? { Value::bool(false) } else { - let __t1868 = { - let __t1865 = { - let __t1858 = Value::sym(interp.intern("null")); - let __t1861 = { - let __t1860 = { - let __t1859 = v_V2794.clone(); - rt::tl(&__t1859)? + let __t1801 = { + let __t1798 = Value::bool( + ({ + let __t1794 = { + let __t1793 = v_V2794.clone(); + rt::tl(&__t1793)? }; - rt::hd(&__t1860)? - }; - rt::eq(&__t1858, &__t1861) - }; - if !rt::is_truthy(interp, &__t1865)? { + rt::hd(&__t1794)? + }) + .as_sym() + == Some(interp.intern_static("null")), + ); + if !rt::is_truthy(interp, &__t1798)? { Value::bool(false) } else { - let __t1866 = { - let __t1864 = { - let __t1863 = { - let __t1862 = v_V2794.clone(); - rt::tl(&__t1862)? + let __t1799 = { + let __t1797 = { + let __t1796 = { + let __t1795 = v_V2794.clone(); + rt::tl(&__t1795)? }; - rt::tl(&__t1863)? + rt::tl(&__t1796)? }; - rt::is_cons(&__t1864) + rt::is_cons(&__t1797) }; - Value::bool(rt::is_truthy(interp, &__t1866)?) + Value::bool(rt::is_truthy(interp, &__t1799)?) } }; - Value::bool(rt::is_truthy(interp, &__t1868)?) + Value::bool(rt::is_truthy(interp, &__t1801)?) } }; - Value::bool(rt::is_truthy(interp, &__t1870)?) + Value::bool(rt::is_truthy(interp, &__t1803)?) } }; - Value::bool(rt::is_truthy(interp, &__t1872)?) + Value::bool(rt::is_truthy(interp, &__t1805)?) } }; - if match rt::is_truthy(interp, &__t1876) { + if match rt::is_truthy(interp, &__t1809) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1875 = { - let __t1874 = { - let __t1873 = v_V2794.clone(); - rt::tl(&__t1873)? + let __t1808 = { + let __t1807 = { + let __t1806 = v_V2794.clone(); + rt::tl(&__t1806)? }; - rt::tl(&__t1874)? + rt::tl(&__t1807)? }; - rt::tl(&__t1875)? + rt::tl(&__t1808)? }); } else { { - let __t1851 = { - let __t1824 = { - let __t1811 = v_V2794.clone(); - rt::is_cons(&__t1811) + let __t1788 = { + let __t1761 = { + let __t1750 = v_V2794.clone(); + rt::is_cons(&__t1750) }; - if !rt::is_truthy(interp, &__t1824)? { + if !rt::is_truthy(interp, &__t1761)? { Value::bool(false) } else { - let __t1825 = { - let __t1822 = { - let __t1812 = Value::sym(interp.intern("package")); - let __t1814 = { - let __t1813 = v_V2794.clone(); - rt::hd(&__t1813)? - }; - rt::eq(&__t1812, &__t1814) - }; - if !rt::is_truthy(interp, &__t1822)? { + let __t1762 = { + let __t1759 = Value::bool( + ({ + let __t1751 = v_V2794.clone(); + rt::hd(&__t1751)? + }) + .as_sym() + == Some(interp.intern_static("package")), + ); + if !rt::is_truthy(interp, &__t1759)? { Value::bool(false) } else { - let __t1823 = { - let __t1820 = { - let __t1816 = { - let __t1815 = v_V2794.clone(); - rt::tl(&__t1815)? + let __t1760 = { + let __t1757 = { + let __t1753 = { + let __t1752 = v_V2794.clone(); + rt::tl(&__t1752)? }; - rt::is_cons(&__t1816) + rt::is_cons(&__t1753) }; - if !rt::is_truthy(interp, &__t1820)? { + if !rt::is_truthy(interp, &__t1757)? { Value::bool(false) } else { - let __t1821 = { - let __t1819 = { - let __t1818 = { - let __t1817 = v_V2794.clone(); - rt::tl(&__t1817)? + let __t1758 = { + let __t1756 = { + let __t1755 = { + let __t1754 = v_V2794.clone(); + rt::tl(&__t1754)? }; - rt::tl(&__t1818)? + rt::tl(&__t1755)? }; - rt::is_cons(&__t1819) + rt::is_cons(&__t1756) }; - Value::bool(rt::is_truthy(interp, &__t1821)?) + Value::bool(rt::is_truthy(interp, &__t1758)?) } }; - Value::bool(rt::is_truthy(interp, &__t1823)?) + Value::bool(rt::is_truthy(interp, &__t1760)?) } }; - Value::bool(rt::is_truthy(interp, &__t1825)?) + Value::bool(rt::is_truthy(interp, &__t1762)?) } }; - if match rt::is_truthy(interp, &__t1851) { + if match rt::is_truthy(interp, &__t1788) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2795 = { - let __t1829 = { - let __t1828 = { - let __t1827 = { - let __t1826 = v_V2794.clone(); - rt::tl(&__t1826)? + let __t1766 = { + let __t1765 = { + let __t1764 = { + let __t1763 = v_V2794.clone(); + rt::tl(&__t1763)? }; - rt::tl(&__t1827)? + rt::tl(&__t1764)? }; - rt::hd(&__t1828)? + rt::hd(&__t1765)? }; - rt::apply_direct(interp, "eval", &[__t1829])? + rt::apply_direct(interp, "eval", &[__t1766])? }; { let v_W2796 = { - let __t1833 = { - let __t1832 = { - let __t1831 = { - let __t1830 = v_V2794.clone(); - rt::tl(&__t1830)? + let __t1770 = { + let __t1769 = { + let __t1768 = { + let __t1767 = v_V2794.clone(); + rt::tl(&__t1767)? }; - rt::hd(&__t1831)? + rt::hd(&__t1768)? }; - rt::apply_direct(interp, "str", &[__t1832])? + rt::apply_direct(interp, "str", &[__t1769])? }; - let __t1834 = v_W2795.clone(); - let __t1838 = { - let __t1837 = { - let __t1836 = { - let __t1835 = v_V2794.clone(); - rt::tl(&__t1835)? + let __t1771 = v_W2795.clone(); + let __t1775 = { + let __t1774 = { + let __t1773 = { + let __t1772 = v_V2794.clone(); + rt::tl(&__t1772)? }; - rt::tl(&__t1836)? + rt::tl(&__t1773)? }; - rt::tl(&__t1837)? + rt::tl(&__t1774)? }; - rt::apply_direct( + aot_shen_x2e_package_x2d_symbols( interp, - "shen.package-symbols", - &[__t1833, __t1834, __t1838], + &[__t1770, __t1771, __t1775], )? }; { let v_W2797 = { - let __t1841 = { - let __t1840 = { - let __t1839 = v_V2794.clone(); - rt::tl(&__t1839)? + let __t1778 = { + let __t1777 = { + let __t1776 = v_V2794.clone(); + rt::tl(&__t1776)? }; - rt::hd(&__t1840)? + rt::hd(&__t1777)? }; - let __t1842 = v_W2795.clone(); - rt::apply_direct( + let __t1779 = v_W2795.clone(); + aot_shen_x2e_record_x2d_external( interp, - "shen.record-external", - &[__t1841, __t1842], + &[__t1778, __t1779], )? }; { let v_W2798 = { - let __t1845 = { - let __t1844 = { - let __t1843 = v_V2794.clone(); - rt::tl(&__t1843)? + let __t1782 = { + let __t1781 = { + let __t1780 = v_V2794.clone(); + rt::tl(&__t1780)? }; - rt::hd(&__t1844)? + rt::hd(&__t1781)? }; - let __t1846 = v_W2795.clone(); - let __t1850 = { - let __t1849 = { - let __t1848 = { - let __t1847 = v_V2794.clone(); - rt::tl(&__t1847)? + let __t1783 = v_W2795.clone(); + let __t1787 = { + let __t1786 = { + let __t1785 = { + let __t1784 = v_V2794.clone(); + rt::tl(&__t1784)? }; - rt::tl(&__t1848)? + rt::tl(&__t1785)? }; - rt::tl(&__t1849)? + rt::tl(&__t1786)? }; - rt::apply_direct( + aot_shen_x2e_record_x2d_internal( interp, - "shen.record-internal", - &[__t1845, __t1846, __t1850], + &[__t1782, __t1783, __t1787], )? }; break Ok(v_W2796.clone()); @@ -11288,14 +11112,14 @@ pub fn aot_shen_x2e_unpackage(interp: &mut Interp, args: &[Value]) -> ShenResult } } else { { - let __t1810 = Value::bool(true); - if match rt::is_truthy(interp, &__t1810) { + let __t1749 = Value::bool(true); + if match rt::is_truthy(interp, &__t1749) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1809 = Value::str("partial function shen.unpackage"); - rt::apply_direct(interp, "simple-error", &[__t1809])? + let __t1748 = Value::str("partial function shen.unpackage"); + rt::apply_direct(interp, "simple-error", &[__t1748])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -11332,13 +11156,10 @@ pub fn aot_shen_x2e_record_x2d_internal(interp: &mut Interp, args: &[Value]) -> { let v_W2802 = match (|| -> ShenResult { Ok({ - let __t1877 = v_V2799.clone(); - let __t1878 = Value::sym(interp.intern("shen.internal-symbols")); - let __t1880 = { - let __t1879 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t1879])? - }; - rt::apply_direct(interp, "get", &[__t1877, __t1878, __t1880])? + let __t1810 = v_V2799.clone(); + let __t1811 = Value::sym(interp.intern_static("shen.internal-symbols")); + let __t1812 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t1810, __t1811, __t1812])? }) })() { Ok(v) => v, @@ -11361,31 +11182,24 @@ pub fn aot_shen_x2e_record_x2d_internal(interp: &mut Interp, args: &[Value]) -> }; { let v_W2804 = { - let __t1882 = { - let __t1881 = v_V2799.clone(); - rt::apply_direct(interp, "str", &[__t1881])? + let __t1814 = { + let __t1813 = v_V2799.clone(); + rt::apply_direct(interp, "str", &[__t1813])? }; - let __t1883 = v_V2800.clone(); - let __t1884 = v_V2801.clone(); - rt::apply_direct( - interp, - "shen.internal-symbols", - &[__t1882, __t1883, __t1884], - )? + let __t1815 = v_V2800.clone(); + let __t1816 = v_V2801.clone(); + aot_shen_x2e_internal_x2d_symbols(interp, &[__t1814, __t1815, __t1816])? }; break Ok({ - let __t1885 = v_V2799.clone(); - let __t1886 = Value::sym(interp.intern("shen.internal-symbols")); - let __t1889 = { - let __t1887 = v_W2804.clone(); - let __t1888 = v_W2802.clone(); - rt::apply_direct(interp, "union", &[__t1887, __t1888])? - }; - let __t1891 = { - let __t1890 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t1890])? + let __t1817 = v_V2799.clone(); + let __t1818 = Value::sym(interp.intern_static("shen.internal-symbols")); + let __t1821 = { + let __t1819 = v_W2804.clone(); + let __t1820 = v_W2802.clone(); + rt::apply_direct(interp, "union", &[__t1819, __t1820])? }; - rt::apply_direct(interp, "put", &[__t1885, __t1886, __t1889, __t1891])? + let __t1822 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t1817, __t1818, __t1821, __t1822])? }); } } @@ -11414,72 +11228,60 @@ pub fn aot_shen_x2e_internal_x2d_symbols(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t1912 = { - let __t1901 = v_V2813.clone(); - rt::is_cons(&__t1901) + let __t1843 = { + let __t1832 = v_V2813.clone(); + rt::is_cons(&__t1832) }; - if match rt::is_truthy(interp, &__t1912) { + if match rt::is_truthy(interp, &__t1843) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1906 = { - let __t1902 = v_V2811.clone(); - let __t1903 = v_V2812.clone(); - let __t1905 = { - let __t1904 = v_V2813.clone(); - rt::hd(&__t1904)? + let __t1837 = { + let __t1833 = v_V2811.clone(); + let __t1834 = v_V2812.clone(); + let __t1836 = { + let __t1835 = v_V2813.clone(); + rt::hd(&__t1835)? }; - rt::apply_direct( - interp, - "shen.internal-symbols", - &[__t1902, __t1903, __t1905], - )? + aot_shen_x2e_internal_x2d_symbols(interp, &[__t1833, __t1834, __t1836])? }; - let __t1911 = { - let __t1907 = v_V2811.clone(); - let __t1908 = v_V2812.clone(); - let __t1910 = { - let __t1909 = v_V2813.clone(); - rt::tl(&__t1909)? + let __t1842 = { + let __t1838 = v_V2811.clone(); + let __t1839 = v_V2812.clone(); + let __t1841 = { + let __t1840 = v_V2813.clone(); + rt::tl(&__t1840)? }; - rt::apply_direct( - interp, - "shen.internal-symbols", - &[__t1907, __t1908, __t1910], - )? + aot_shen_x2e_internal_x2d_symbols(interp, &[__t1838, __t1839, __t1841])? }; - rt::apply_direct(interp, "union", &[__t1906, __t1911])? + rt::apply_direct(interp, "union", &[__t1837, __t1842])? }); } else { { - let __t1900 = { - let __t1893 = v_V2813.clone(); - let __t1894 = v_V2811.clone(); - let __t1895 = v_V2812.clone(); - rt::apply_direct(interp, "shen.internal?", &[__t1893, __t1894, __t1895])? + let __t1831 = { + let __t1824 = v_V2813.clone(); + let __t1825 = v_V2811.clone(); + let __t1826 = v_V2812.clone(); + aot_shen_x2e_internal_x3f_(interp, &[__t1824, __t1825, __t1826])? }; - if match rt::is_truthy(interp, &__t1900) { + if match rt::is_truthy(interp, &__t1831) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1898 = { - let __t1896 = v_V2811.clone(); - let __t1897 = v_V2813.clone(); - rt::apply_direct( - interp, - "shen.intern-in-package", - &[__t1896, __t1897], - )? + let __t1829 = { + let __t1827 = v_V2811.clone(); + let __t1828 = v_V2813.clone(); + aot_shen_x2e_intern_x2d_in_x2d_package(interp, &[__t1827, __t1828])? }; - let __t1899 = Value::nil(); - rt::cons(&__t1898, &__t1899) + let __t1830 = Value::nil(); + rt::cons(&__t1829, &__t1830) }); } else { { - let __t1892 = Value::bool(true); - if match rt::is_truthy(interp, &__t1892) { + let __t1823 = Value::bool(true); + if match rt::is_truthy(interp, &__t1823) { Ok(b) => b, Err(e) => break Err(e), } { @@ -11521,13 +11323,10 @@ pub fn aot_shen_x2e_record_x2d_external(interp: &mut Interp, args: &[Value]) -> { let v_W2816 = match (|| -> ShenResult { Ok({ - let __t1913 = v_V2814.clone(); - let __t1914 = Value::sym(interp.intern("shen.external-symbols")); - let __t1916 = { - let __t1915 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t1915])? - }; - rt::apply_direct(interp, "get", &[__t1913, __t1914, __t1916])? + let __t1844 = v_V2814.clone(); + let __t1845 = Value::sym(interp.intern_static("shen.external-symbols")); + let __t1846 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t1844, __t1845, __t1846])? }) })() { Ok(v) => v, @@ -11549,18 +11348,15 @@ pub fn aot_shen_x2e_record_x2d_external(interp: &mut Interp, args: &[Value]) -> } }; break Ok({ - let __t1917 = v_V2814.clone(); - let __t1918 = Value::sym(interp.intern("shen.external-symbols")); - let __t1921 = { - let __t1919 = v_V2815.clone(); - let __t1920 = v_W2816.clone(); - rt::apply_direct(interp, "union", &[__t1919, __t1920])? - }; - let __t1923 = { - let __t1922 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t1922])? - }; - rt::apply_direct(interp, "put", &[__t1917, __t1918, __t1921, __t1923])? + let __t1847 = v_V2814.clone(); + let __t1848 = Value::sym(interp.intern_static("shen.external-symbols")); + let __t1851 = { + let __t1849 = v_V2815.clone(); + let __t1850 = v_W2816.clone(); + rt::apply_direct(interp, "union", &[__t1849, __t1850])? + }; + let __t1852 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t1847, __t1848, __t1851, __t1852])? }); } } @@ -11588,16 +11384,16 @@ pub fn aot_shen_x2e_package_x2d_symbols(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t1937 = { - let __t1931 = v_V2824.clone(); - rt::is_cons(&__t1931) + let __t1866 = { + let __t1860 = v_V2824.clone(); + rt::is_cons(&__t1860) }; - if match rt::is_truthy(interp, &__t1937) { + if match rt::is_truthy(interp, &__t1866) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1935 = { + let __t1864 = { let v_V2822 = v_V2822.clone(); let v_V2823 = v_V2823.clone(); rt::make_aot_closure( @@ -11606,13 +11402,12 @@ pub fn aot_shen_x2e_package_x2d_symbols(interp: &mut Interp, args: &[Value]) -> move |interp, args| { let v_Z2825 = args[0].clone(); Ok({ - let __t1932 = v_V2822.clone(); - let __t1933 = v_V2823.clone(); - let __t1934 = v_Z2825.clone(); - rt::apply_direct( + let __t1861 = v_V2822.clone(); + let __t1862 = v_V2823.clone(); + let __t1863 = v_Z2825.clone(); + aot_shen_x2e_package_x2d_symbols( interp, - "shen.package-symbols", - &[__t1932, __t1933, __t1934], + &[__t1861, __t1862, __t1863], )? }) }, @@ -11620,30 +11415,30 @@ pub fn aot_shen_x2e_package_x2d_symbols(interp: &mut Interp, args: &[Value]) -> interp, ) }; - let __t1936 = v_V2824.clone(); - rt::apply_direct(interp, "map", &[__t1935, __t1936])? + let __t1865 = v_V2824.clone(); + rt::apply_direct(interp, "map", &[__t1864, __t1865])? }); } else { { - let __t1930 = { - let __t1925 = v_V2824.clone(); - let __t1926 = v_V2822.clone(); - let __t1927 = v_V2823.clone(); - rt::apply_direct(interp, "shen.internal?", &[__t1925, __t1926, __t1927])? + let __t1859 = { + let __t1854 = v_V2824.clone(); + let __t1855 = v_V2822.clone(); + let __t1856 = v_V2823.clone(); + aot_shen_x2e_internal_x3f_(interp, &[__t1854, __t1855, __t1856])? }; - if match rt::is_truthy(interp, &__t1930) { + if match rt::is_truthy(interp, &__t1859) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1928 = v_V2822.clone(); - let __t1929 = v_V2824.clone(); - rt::apply_direct(interp, "shen.intern-in-package", &[__t1928, __t1929])? + let __t1857 = v_V2822.clone(); + let __t1858 = v_V2824.clone(); + aot_shen_x2e_intern_x2d_in_x2d_package(interp, &[__t1857, __t1858])? }); } else { { - let __t1924 = Value::bool(true); - if match rt::is_truthy(interp, &__t1924) { + let __t1853 = Value::bool(true); + if match rt::is_truthy(interp, &__t1853) { Ok(b) => b, Err(e) => break Err(e), } { @@ -11682,19 +11477,19 @@ pub fn aot_shen_x2e_intern_x2d_in_x2d_package( #[allow(clippy::never_loop)] loop { break Ok({ - let __t1943 = { - let __t1938 = v_V2826.clone(); - let __t1942 = { - let __t1939 = Value::str("."); - let __t1941 = { - let __t1940 = v_V2827.clone(); - rt::apply_direct(interp, "str", &[__t1940])? + let __t1872 = { + let __t1867 = v_V2826.clone(); + let __t1871 = { + let __t1868 = Value::str("."); + let __t1870 = { + let __t1869 = v_V2827.clone(); + rt::apply_direct(interp, "str", &[__t1869])? }; - rt::apply_direct(interp, "@s", &[__t1939, __t1941])? + rt::apply_direct(interp, "@s", &[__t1868, __t1870])? }; - rt::apply_direct(interp, "@s", &[__t1938, __t1942])? + rt::apply_direct(interp, "@s", &[__t1867, __t1871])? }; - rt::apply_direct(interp, "intern", &[__t1943])? + rt::intern(interp, &__t1872)? }); } } @@ -11728,121 +11523,109 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t1947 = { - let __t1946 = { - let __t1944 = v_V2828.clone(); - let __t1945 = v_V2830.clone(); - rt::apply_direct(interp, "element?", &[__t1944, __t1945])? + let __t1876 = { + let __t1875 = { + let __t1873 = v_V2828.clone(); + let __t1874 = v_V2830.clone(); + rt::apply_direct(interp, "element?", &[__t1873, __t1874])? }; - rt::apply_direct(interp, "not", &[__t1946])? + rt::not(interp, &__t1875)? }; - if !match rt::is_truthy(interp, &__t1947) { + if !match rt::is_truthy(interp, &__t1876) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1950 = { - let __t1949 = { - let __t1948 = v_V2828.clone(); - rt::apply_direct(interp, "shen.sng?", &[__t1948])? + let __t1879 = { + let __t1878 = { + let __t1877 = v_V2828.clone(); + rt::apply_direct(interp, "shen.sng?", &[__t1877])? }; - rt::apply_direct(interp, "not", &[__t1949])? + rt::not(interp, &__t1878)? }; - if !match rt::is_truthy(interp, &__t1950) { + if !match rt::is_truthy(interp, &__t1879) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1953 = { - let __t1952 = { - let __t1951 = v_V2828.clone(); - rt::apply_direct(interp, "shen.dbl?", &[__t1951])? + let __t1882 = { + let __t1881 = { + let __t1880 = v_V2828.clone(); + rt::apply_direct(interp, "shen.dbl?", &[__t1880])? }; - rt::apply_direct(interp, "not", &[__t1952])? + rt::not(interp, &__t1881)? }; - if !match rt::is_truthy(interp, &__t1953) { + if !match rt::is_truthy(interp, &__t1882) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1955 = { - let __t1954 = v_V2828.clone(); - rt::is_symbol(&__t1954) + let __t1884 = { + let __t1883 = v_V2828.clone(); + rt::apply_direct(interp, "symbol?", &[__t1883])? }; - if !match rt::is_truthy(interp, &__t1955) { + if !match rt::is_truthy(interp, &__t1884) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1958 = { - let __t1957 = { - let __t1956 = v_V2828.clone(); - rt::apply_direct( - interp, - "shen.sysfunc?", - &[__t1956], - )? + let __t1887 = { + let __t1886 = { + let __t1885 = v_V2828.clone(); + aot_shen_x2e_sysfunc_x3f_(interp, &[__t1885])? }; - rt::apply_direct(interp, "not", &[__t1957])? + rt::not(interp, &__t1886)? }; - if !match rt::is_truthy(interp, &__t1958) { + if !match rt::is_truthy(interp, &__t1887) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1961 = { - let __t1960 = { - let __t1959 = v_V2828.clone(); + let __t1890 = { + let __t1889 = { + let __t1888 = v_V2828.clone(); rt::apply_direct( interp, "variable?", - &[__t1959], + &[__t1888], )? }; - rt::apply_direct(interp, "not", &[__t1960])? + rt::not(interp, &__t1889)? }; - if !match rt::is_truthy(interp, &__t1961) { + if !match rt::is_truthy(interp, &__t1890) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1965 = { - let __t1964 = { - let __t1963 = { - let __t1962 = + let __t1894 = { + let __t1893 = { + let __t1892 = { + let __t1891 = v_V2828.clone(); rt::apply_direct( interp, "str", - &[__t1962], + &[__t1891], )? }; - rt::apply_direct( - interp, - "shen.internal-to-shen?", - &[__t1963], - )? + aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_(interp, &[__t1892])? }; - rt::apply_direct( - interp, - "not", - &[__t1964], - )? + rt::not(interp, &__t1893)? }; if !match rt::is_truthy( - interp, &__t1965, + interp, &__t1894, ) { Ok(b) => b, Err(e) => break Err(e), @@ -11850,29 +11633,21 @@ pub fn aot_shen_x2e_internal_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe break Ok(Value::bool(false)); } else { break Ok({ - let __t1969 = { - let __t1966 = + let __t1898 = { + let __t1895 = v_V2829.clone(); - let __t1968 = { - let __t1967 = + let __t1897 = { + let __t1896 = v_V2828.clone(); rt::apply_direct( interp, "str", - &[__t1967], + &[__t1896], )? }; - rt::apply_direct( - interp, - "shen.internal-to-P?", - &[__t1966, __t1968], - )? + aot_shen_x2e_internal_x2d_to_x2d_P_x3f_(interp, &[__t1895, __t1897])? }; - rt::apply_direct( - interp, - "not", - &[__t1969], - )? + rt::not(interp, &__t1898)? }); } } @@ -11912,252 +11687,187 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_( #[allow(clippy::never_loop)] loop { { - let __t2029 = { - let __t2027 = { - let __t1971 = v_V2835.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t1971])? + let __t1948 = { + let __t1946 = { + let __t1900 = v_V2835.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t1900])? }; - if !rt::is_truthy(interp, &__t2027)? { + if !rt::is_truthy(interp, &__t1946)? { Value::bool(false) } else { - let __t2028 = { - let __t2025 = { - let __t1972 = Value::str("s"); - let __t1974 = { - let __t1973 = v_V2835.clone(); - rt::apply_direct(interp, "hdstr", &[__t1973])? - }; - rt::eq(&__t1972, &__t1974) - }; - if !rt::is_truthy(interp, &__t2025)? { + let __t1947 = { + let __t1944 = Value::bool( + ({ + let __t1901 = v_V2835.clone(); + rt::hdstr(&__t1901)? + }) + .as_str() + == Some("s"), + ); + if !rt::is_truthy(interp, &__t1944)? { Value::bool(false) } else { - let __t2026 = { - let __t2023 = { - let __t1976 = { - let __t1975 = v_V2835.clone(); - rt::apply_direct(interp, "tlstr", &[__t1975])? + let __t1945 = { + let __t1942 = { + let __t1903 = { + let __t1902 = v_V2835.clone(); + rt::tlstr(&__t1902)? }; - rt::apply_direct(interp, "shen.+string?", &[__t1976])? + rt::apply_direct(interp, "shen.+string?", &[__t1903])? }; - if !rt::is_truthy(interp, &__t2023)? { + if !rt::is_truthy(interp, &__t1942)? { Value::bool(false) } else { - let __t2024 = { - let __t2021 = { - let __t1977 = Value::str("h"); - let __t1980 = { - let __t1979 = { - let __t1978 = v_V2835.clone(); - rt::apply_direct(interp, "tlstr", &[__t1978])? + let __t1943 = { + let __t1940 = Value::bool( + ({ + let __t1905 = { + let __t1904 = v_V2835.clone(); + rt::tlstr(&__t1904)? }; - rt::apply_direct(interp, "hdstr", &[__t1979])? - }; - rt::eq(&__t1977, &__t1980) - }; - if !rt::is_truthy(interp, &__t2021)? { + rt::hdstr(&__t1905)? + }) + .as_str() + == Some("h"), + ); + if !rt::is_truthy(interp, &__t1940)? { Value::bool(false) } else { - let __t2022 = { - let __t2019 = { - let __t1983 = { - let __t1982 = { - let __t1981 = v_V2835.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t1981], - )? + let __t1941 = { + let __t1938 = { + let __t1908 = { + let __t1907 = { + let __t1906 = v_V2835.clone(); + rt::tlstr(&__t1906)? }; - rt::apply_direct( - interp, - "tlstr", - &[__t1982], - )? + rt::tlstr(&__t1907)? }; rt::apply_direct( interp, "shen.+string?", - &[__t1983], + &[__t1908], )? }; - if !rt::is_truthy(interp, &__t2019)? { + if !rt::is_truthy(interp, &__t1938)? { Value::bool(false) } else { - let __t2020 = { - let __t2017 = { - let __t1984 = Value::str("e"); - let __t1988 = { - let __t1987 = { - let __t1986 = { - let __t1985 = + let __t1939 = { + let __t1936 = Value::bool( + ({ + let __t1911 = { + let __t1910 = { + let __t1909 = v_V2835.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t1985], - )? + rt::tlstr(&__t1909)? }; - rt::apply_direct( - interp, - "tlstr", - &[__t1986], - )? + rt::tlstr(&__t1910)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t1987], - )? - }; - rt::eq(&__t1984, &__t1988) - }; - if !rt::is_truthy(interp, &__t2017)? { + rt::hdstr(&__t1911)? + }) + .as_str() + == Some("e"), + ); + if !rt::is_truthy(interp, &__t1936)? { Value::bool(false) } else { - let __t2018 = { - let __t2015 = { - let __t1992 = { - let __t1991 = { - let __t1990 = { - let __t1989 = + let __t1937 = { + let __t1934 = { + let __t1915 = { + let __t1914 = { + let __t1913 = { + let __t1912 = v_V2835.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t1989], - )? + rt::tlstr(&__t1912)? }; - rt::apply_direct( - interp, - "tlstr", - &[__t1990], - )? + rt::tlstr(&__t1913)? }; - rt::apply_direct( - interp, - "tlstr", - &[__t1991], - )? + rt::tlstr(&__t1914)? }; rt::apply_direct( interp, "shen.+string?", - &[__t1992], + &[__t1915], )? }; - if !rt::is_truthy(interp, &__t2015)? + if !rt::is_truthy(interp, &__t1934)? { Value::bool(false) } else { - let __t2016 = { - let __t2013 = { - let __t1993 = - Value::str("n"); - let __t1998 = { - let __t1997 = { - let __t1996 = { - let __t1995 = { - let __t1994 = v_V2835.clone(); - rt::apply_direct(interp, "tlstr", &[__t1994])? - }; - rt::apply_direct(interp, "tlstr", &[__t1995])? - }; - rt::apply_direct(interp, "tlstr", &[__t1996])? - }; - rt::apply_direct( - interp, - "hdstr", - &[__t1997], - )? - }; - rt::eq( - &__t1993, &__t1998, - ) - }; + let __t1935 = { + let __t1932 = Value::bool(({ let __t1919 = { let __t1918 = { let __t1917 = { let __t1916 = v_V2835.clone(); rt::tlstr(&__t1916)? }; rt::tlstr(&__t1917)? }; rt::tlstr(&__t1918)? }; rt::hdstr(&__t1919)? }).as_str() == Some("n")); if !rt::is_truthy( - interp, &__t2013, + interp, &__t1932, )? { Value::bool(false) } else { - let __t2014 = { - let __t2011 = { - let __t2003 = { - let __t2002 = { - let __t2001 = { - let __t2000 = { let __t1999 = v_V2835.clone(); rt::apply_direct(interp, "tlstr", &[__t1999])? }; - rt::apply_direct(interp, "tlstr", &[__t2000])? + let __t1933 = { + let __t1930 = { + let __t1924 = { + let __t1923 = { + let __t1922 = { + let __t1921 = { let __t1920 = v_V2835.clone(); rt::tlstr(&__t1920)? }; + rt::tlstr(&__t1921)? }; - rt::apply_direct(interp, "tlstr", &[__t2001])? + rt::tlstr(&__t1922)? }; - rt::apply_direct(interp, "tlstr", &[__t2002])? + rt::tlstr(&__t1923)? }; - rt::apply_direct(interp, "shen.+string?", &[__t2003])? + rt::apply_direct(interp, "shen.+string?", &[__t1924])? }; if !rt::is_truthy( interp, - &__t2011, + &__t1930, )? { Value::bool( false, ) } else { - let __t2012 = { - let __t2004 = Value::str("."); - let __t2010 = { - let __t2009 = { - let __t2008 = { let __t2007 = { let __t2006 = { let __t2005 = v_V2835.clone(); rt::apply_direct(interp, "tlstr", &[__t2005])? }; rt::apply_direct(interp, "tlstr", &[__t2006])? }; rt::apply_direct(interp, "tlstr", &[__t2007])? }; - rt::apply_direct(interp, "tlstr", &[__t2008])? - }; - rt::apply_direct(interp, "hdstr", &[__t2009])? - }; - rt::eq(&__t2004, &__t2010) - }; - Value::bool(rt::is_truthy(interp, &__t2012)?) + let __t1931 = Value::bool(({ let __t1929 = { let __t1928 = { let __t1927 = { let __t1926 = { let __t1925 = v_V2835.clone(); rt::tlstr(&__t1925)? }; rt::tlstr(&__t1926)? }; rt::tlstr(&__t1927)? }; rt::tlstr(&__t1928)? }; rt::hdstr(&__t1929)? }).as_str() == Some(".")); + Value::bool(rt::is_truthy(interp, &__t1931)?) } }; Value::bool( rt::is_truthy( interp, - &__t2014, + &__t1933, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t2016, + interp, &__t1935, )?) } }; Value::bool(rt::is_truthy( - interp, &__t2018, + interp, &__t1937, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2020)?) + Value::bool(rt::is_truthy(interp, &__t1939)?) } }; - Value::bool(rt::is_truthy(interp, &__t2022)?) + Value::bool(rt::is_truthy(interp, &__t1941)?) } }; - Value::bool(rt::is_truthy(interp, &__t2024)?) + Value::bool(rt::is_truthy(interp, &__t1943)?) } }; - Value::bool(rt::is_truthy(interp, &__t2026)?) + Value::bool(rt::is_truthy(interp, &__t1945)?) } }; - Value::bool(rt::is_truthy(interp, &__t2028)?) + Value::bool(rt::is_truthy(interp, &__t1947)?) } }; - if match rt::is_truthy(interp, &__t2029) { + if match rt::is_truthy(interp, &__t1948) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1970 = Value::bool(true); - if match rt::is_truthy(interp, &__t1970) { + let __t1899 = Value::bool(true); + if match rt::is_truthy(interp, &__t1899) { Ok(b) => b, Err(e) => break Err(e), } { @@ -12196,17 +11906,14 @@ pub fn aot_shen_x2e_sysfunc_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { break Ok({ - let __t2030 = v_V2836.clone(); - let __t2035 = { - let __t2031 = Value::sym(interp.intern("shen")); - let __t2032 = Value::sym(interp.intern("shen.external-symbols")); - let __t2034 = { - let __t2033 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t2033])? - }; - rt::apply_direct(interp, "get", &[__t2031, __t2032, __t2034])? + let __t1949 = v_V2836.clone(); + let __t1953 = { + let __t1950 = Value::sym(interp.intern_static("shen")); + let __t1951 = Value::sym(interp.intern_static("shen.external-symbols")); + let __t1952 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t1950, __t1951, __t1952])? }; - rt::apply_direct(interp, "element?", &[__t2030, __t2035])? + rt::apply_direct(interp, "element?", &[__t1949, __t1953])? }); } } @@ -12234,98 +11941,94 @@ pub fn aot_shen_x2e_internal_x2d_to_x2d_P_x3f_( #[allow(clippy::never_loop)] loop { { - let __t2062 = { - let __t2060 = { - let __t2052 = Value::str(""); - let __t2053 = v_V2844.clone(); - rt::eq(&__t2052, &__t2053) - }; - if !rt::is_truthy(interp, &__t2060)? { + let __t1976 = { + let __t1974 = Value::bool((v_V2844.clone()).as_str() == Some("")); + if !rt::is_truthy(interp, &__t1974)? { Value::bool(false) } else { - let __t2061 = { - let __t2058 = { - let __t2054 = v_V2845.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t2054])? + let __t1975 = { + let __t1972 = { + let __t1970 = v_V2845.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t1970])? }; - if !rt::is_truthy(interp, &__t2058)? { + if !rt::is_truthy(interp, &__t1972)? { Value::bool(false) } else { - let __t2059 = { - let __t2055 = Value::str("."); - let __t2057 = { - let __t2056 = v_V2845.clone(); - rt::apply_direct(interp, "hdstr", &[__t2056])? - }; - rt::eq(&__t2055, &__t2057) - }; - Value::bool(rt::is_truthy(interp, &__t2059)?) + let __t1973 = Value::bool( + ({ + let __t1971 = v_V2845.clone(); + rt::hdstr(&__t1971)? + }) + .as_str() + == Some("."), + ); + Value::bool(rt::is_truthy(interp, &__t1973)?) } }; - Value::bool(rt::is_truthy(interp, &__t2061)?) + Value::bool(rt::is_truthy(interp, &__t1975)?) } }; - if match rt::is_truthy(interp, &__t2062) { + if match rt::is_truthy(interp, &__t1976) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2051 = { - let __t2045 = { - let __t2037 = v_V2844.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t2037])? + let __t1969 = { + let __t1963 = { + let __t1955 = v_V2844.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t1955])? }; - if !rt::is_truthy(interp, &__t2045)? { + if !rt::is_truthy(interp, &__t1963)? { Value::bool(false) } else { - let __t2046 = { - let __t2043 = { - let __t2038 = v_V2845.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t2038])? + let __t1964 = { + let __t1961 = { + let __t1956 = v_V2845.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t1956])? }; - if !rt::is_truthy(interp, &__t2043)? { + if !rt::is_truthy(interp, &__t1961)? { Value::bool(false) } else { - let __t2044 = { - let __t2040 = { - let __t2039 = v_V2844.clone(); - rt::apply_direct(interp, "hdstr", &[__t2039])? + let __t1962 = { + let __t1958 = { + let __t1957 = v_V2844.clone(); + rt::hdstr(&__t1957)? }; - let __t2042 = { - let __t2041 = v_V2845.clone(); - rt::apply_direct(interp, "hdstr", &[__t2041])? + let __t1960 = { + let __t1959 = v_V2845.clone(); + rt::hdstr(&__t1959)? }; - rt::eq(&__t2040, &__t2042) + rt::eq(&__t1958, &__t1960) }; - Value::bool(rt::is_truthy(interp, &__t2044)?) + Value::bool(rt::is_truthy(interp, &__t1962)?) } }; - Value::bool(rt::is_truthy(interp, &__t2046)?) + Value::bool(rt::is_truthy(interp, &__t1964)?) } }; - if match rt::is_truthy(interp, &__t2051) { + if match rt::is_truthy(interp, &__t1969) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2048 = { - let __t2047 = v_V2844.clone(); - rt::apply_direct(interp, "tlstr", &[__t2047])? + let __t1966 = { + let __t1965 = v_V2844.clone(); + rt::tlstr(&__t1965)? }; - let __t2050 = { - let __t2049 = v_V2845.clone(); - rt::apply_direct(interp, "tlstr", &[__t2049])? + let __t1968 = { + let __t1967 = v_V2845.clone(); + rt::tlstr(&__t1967)? }; - v_V2844 = __t2048; - v_V2845 = __t2050; + v_V2844 = __t1966; + v_V2845 = __t1968; continue; } } else { { - let __t2036 = Value::bool(true); - if match rt::is_truthy(interp, &__t2036) { + let __t1954 = Value::bool(true); + if match rt::is_truthy(interp, &__t1954) { Ok(b) => b, Err(e) => break Err(e), } { @@ -12371,66 +12074,62 @@ pub fn aot_shen_x2e_process_x2d_applications( #[allow(clippy::never_loop)] loop { { - let __t2084 = { - let __t2082 = v_V2848.clone(); - let __t2083 = v_V2849.clone(); - rt::apply_direct(interp, "element?", &[__t2082, __t2083])? + let __t1998 = { + let __t1996 = v_V2848.clone(); + let __t1997 = v_V2849.clone(); + rt::apply_direct(interp, "element?", &[__t1996, __t1997])? }; - if match rt::is_truthy(interp, &__t2084) { + if match rt::is_truthy(interp, &__t1998) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2848.clone()); } else { { - let __t2081 = { - let __t2075 = { - let __t2072 = v_V2848.clone(); - rt::is_cons(&__t2072) + let __t1995 = { + let __t1989 = { + let __t1986 = v_V2848.clone(); + rt::is_cons(&__t1986) }; - if !rt::is_truthy(interp, &__t2075)? { + if !rt::is_truthy(interp, &__t1989)? { Value::bool(false) } else { - let __t2076 = { - let __t2074 = { - let __t2073 = v_V2848.clone(); - rt::hd(&__t2073)? + let __t1990 = { + let __t1988 = { + let __t1987 = v_V2848.clone(); + rt::hd(&__t1987)? }; - rt::apply_direct(interp, "shen.non-application?", &[__t2074])? + aot_shen_x2e_non_x2d_application_x3f_(interp, &[__t1988])? }; - Value::bool(rt::is_truthy(interp, &__t2076)?) + Value::bool(rt::is_truthy(interp, &__t1990)?) } }; - if match rt::is_truthy(interp, &__t2081) { + if match rt::is_truthy(interp, &__t1995) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2078 = { - let __t2077 = v_V2848.clone(); - rt::hd(&__t2077)? + let __t1992 = { + let __t1991 = v_V2848.clone(); + rt::hd(&__t1991)? }; - let __t2079 = v_V2848.clone(); - let __t2080 = v_V2849.clone(); - rt::apply_direct( - interp, - "shen.special-case", - &[__t2078, __t2079, __t2080], - )? + let __t1993 = v_V2848.clone(); + let __t1994 = v_V2849.clone(); + aot_shen_x2e_special_x2d_case(interp, &[__t1992, __t1993, __t1994])? }); } else { { - let __t2071 = { - let __t2064 = v_V2848.clone(); - rt::is_cons(&__t2064) + let __t1985 = { + let __t1978 = v_V2848.clone(); + rt::is_cons(&__t1978) }; - if match rt::is_truthy(interp, &__t2071) { + if match rt::is_truthy(interp, &__t1985) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2069 = { - let __t2067 = { + let __t1983 = { + let __t1981 = { let v_V2849 = v_V2849.clone(); rt::make_aot_closure( "", @@ -12438,12 +12137,11 @@ pub fn aot_shen_x2e_process_x2d_applications( move |interp, args| { let v_Z2850 = args[0].clone(); Ok({ - let __t2065 = v_Z2850.clone(); - let __t2066 = v_V2849.clone(); - rt::apply_direct( + let __t1979 = v_Z2850.clone(); + let __t1980 = v_V2849.clone(); + aot_shen_x2e_process_x2d_applications( interp, - "shen.process-applications", - &[__t2065, __t2066], + &[__t1979, __t1980], )? }) }, @@ -12451,20 +12149,19 @@ pub fn aot_shen_x2e_process_x2d_applications( interp, ) }; - let __t2068 = v_V2848.clone(); - rt::apply_direct(interp, "map", &[__t2067, __t2068])? + let __t1982 = v_V2848.clone(); + rt::apply_direct(interp, "map", &[__t1981, __t1982])? }; - let __t2070 = v_V2849.clone(); - rt::apply_direct( + let __t1984 = v_V2849.clone(); + aot_shen_x2e_process_x2d_application( interp, - "shen.process-application", - &[__t2069, __t2070], + &[__t1983, __t1984], )? }); } else { { - let __t2063 = Value::bool(true); - if match rt::is_truthy(interp, &__t2063) { + let __t1977 = Value::bool(true); + if match rt::is_truthy(interp, &__t1977) { Ok(b) => b, Err(e) => break Err(e), } { @@ -12510,70 +12207,64 @@ pub fn aot_shen_x2e_non_x2d_application_x3f_( #[allow(clippy::never_loop)] loop { { - let __t2098 = { - let __t2096 = Value::sym(interp.intern("define")); - let __t2097 = v_V2853.clone(); - rt::eq(&__t2096, &__t2097) - }; - if match rt::is_truthy(interp, &__t2098) { + let __t2006 = + Value::bool((v_V2853.clone()).as_sym() == Some(interp.intern_static("define"))); + if match rt::is_truthy(interp, &__t2006) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2095 = { - let __t2093 = Value::sym(interp.intern("defun")); - let __t2094 = v_V2853.clone(); - rt::eq(&__t2093, &__t2094) - }; - if match rt::is_truthy(interp, &__t2095) { + let __t2005 = Value::bool( + (v_V2853.clone()).as_sym() == Some(interp.intern_static("defun")), + ); + if match rt::is_truthy(interp, &__t2005) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2092 = { - let __t2090 = Value::sym(interp.intern("synonyms")); - let __t2091 = v_V2853.clone(); - rt::eq(&__t2090, &__t2091) - }; - if match rt::is_truthy(interp, &__t2092) { + let __t2004 = Value::bool( + (v_V2853.clone()).as_sym() + == Some(interp.intern_static("synonyms")), + ); + if match rt::is_truthy(interp, &__t2004) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2089 = { - let __t2088 = v_V2853.clone(); - rt::apply_direct(interp, "shen.special?", &[__t2088])? + let __t2003 = { + let __t2002 = v_V2853.clone(); + rt::apply_direct(interp, "shen.special?", &[__t2002])? }; - if match rt::is_truthy(interp, &__t2089) { + if match rt::is_truthy(interp, &__t2003) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2087 = { - let __t2086 = v_V2853.clone(); + let __t2001 = { + let __t2000 = v_V2853.clone(); rt::apply_direct( interp, "shen.extraspecial?", - &[__t2086], + &[__t2000], )? }; - if match rt::is_truthy(interp, &__t2087) { + if match rt::is_truthy(interp, &__t2001) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2085 = Value::bool(true); - if match rt::is_truthy(interp, &__t2085) { + let __t1999 = Value::bool(true); + if match rt::is_truthy(interp, &__t1999) { Ok(b) => b, Err(e) => break Err(e), } { @@ -12626,680 +12317,603 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t2401 = { - let __t2386 = { - let __t2362 = Value::sym(interp.intern("lambda")); - let __t2363 = v_V2858.clone(); - rt::eq(&__t2362, &__t2363) - }; - if !rt::is_truthy(interp, &__t2386)? { + let __t2267 = { + let __t2252 = + Value::bool((v_V2858.clone()).as_sym() == Some(interp.intern_static("lambda"))); + if !rt::is_truthy(interp, &__t2252)? { Value::bool(false) } else { - let __t2387 = { - let __t2384 = { - let __t2364 = v_V2859.clone(); - rt::is_cons(&__t2364) + let __t2253 = { + let __t2250 = { + let __t2234 = v_V2859.clone(); + rt::is_cons(&__t2234) }; - if !rt::is_truthy(interp, &__t2384)? { + if !rt::is_truthy(interp, &__t2250)? { Value::bool(false) } else { - let __t2385 = { - let __t2382 = { - let __t2365 = Value::sym(interp.intern("lambda")); - let __t2367 = { - let __t2366 = v_V2859.clone(); - rt::hd(&__t2366)? - }; - rt::eq(&__t2365, &__t2367) - }; - if !rt::is_truthy(interp, &__t2382)? { + let __t2251 = { + let __t2248 = Value::bool( + ({ + let __t2235 = v_V2859.clone(); + rt::hd(&__t2235)? + }) + .as_sym() + == Some(interp.intern_static("lambda")), + ); + if !rt::is_truthy(interp, &__t2248)? { Value::bool(false) } else { - let __t2383 = { - let __t2380 = { - let __t2369 = { - let __t2368 = v_V2859.clone(); - rt::tl(&__t2368)? + let __t2249 = { + let __t2246 = { + let __t2237 = { + let __t2236 = v_V2859.clone(); + rt::tl(&__t2236)? }; - rt::is_cons(&__t2369) + rt::is_cons(&__t2237) }; - if !rt::is_truthy(interp, &__t2380)? { + if !rt::is_truthy(interp, &__t2246)? { Value::bool(false) } else { - let __t2381 = { - let __t2378 = { - let __t2372 = { - let __t2371 = { - let __t2370 = v_V2859.clone(); - rt::tl(&__t2370)? + let __t2247 = { + let __t2244 = { + let __t2240 = { + let __t2239 = { + let __t2238 = v_V2859.clone(); + rt::tl(&__t2238)? }; - rt::tl(&__t2371)? + rt::tl(&__t2239)? }; - rt::is_cons(&__t2372) + rt::is_cons(&__t2240) }; - if !rt::is_truthy(interp, &__t2378)? { + if !rt::is_truthy(interp, &__t2244)? { Value::bool(false) } else { - let __t2379 = { - let __t2373 = Value::nil(); - let __t2377 = { - let __t2376 = { - let __t2375 = { - let __t2374 = v_V2859.clone(); - rt::tl(&__t2374)? + let __t2245 = Value::bool( + ({ + let __t2243 = { + let __t2242 = { + let __t2241 = v_V2859.clone(); + rt::tl(&__t2241)? }; - rt::tl(&__t2375)? + rt::tl(&__t2242)? }; - rt::tl(&__t2376)? - }; - rt::eq(&__t2373, &__t2377) - }; - Value::bool(rt::is_truthy(interp, &__t2379)?) + rt::tl(&__t2243)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2245)?) } }; - Value::bool(rt::is_truthy(interp, &__t2381)?) + Value::bool(rt::is_truthy(interp, &__t2247)?) } }; - Value::bool(rt::is_truthy(interp, &__t2383)?) + Value::bool(rt::is_truthy(interp, &__t2249)?) } }; - Value::bool(rt::is_truthy(interp, &__t2385)?) + Value::bool(rt::is_truthy(interp, &__t2251)?) } }; - Value::bool(rt::is_truthy(interp, &__t2387)?) + Value::bool(rt::is_truthy(interp, &__t2253)?) } }; - if match rt::is_truthy(interp, &__t2401) { + if match rt::is_truthy(interp, &__t2267) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2388 = Value::sym(interp.intern("lambda")); - let __t2400 = { - let __t2391 = { - let __t2390 = { - let __t2389 = v_V2859.clone(); - rt::tl(&__t2389)? - }; - rt::hd(&__t2390)? + let __t2254 = Value::sym(interp.intern_static("lambda")); + let __t2266 = { + let __t2257 = { + let __t2256 = { + let __t2255 = v_V2859.clone(); + rt::tl(&__t2255)? + }; + rt::hd(&__t2256)? }; - let __t2399 = { - let __t2397 = { - let __t2395 = { - let __t2394 = { - let __t2393 = { - let __t2392 = v_V2859.clone(); - rt::tl(&__t2392)? + let __t2265 = { + let __t2263 = { + let __t2261 = { + let __t2260 = { + let __t2259 = { + let __t2258 = v_V2859.clone(); + rt::tl(&__t2258)? }; - rt::tl(&__t2393)? + rt::tl(&__t2259)? }; - rt::hd(&__t2394)? + rt::hd(&__t2260)? }; - let __t2396 = v_V2860.clone(); - rt::apply_direct( - interp, - "shen.process-applications", - &[__t2395, __t2396], - )? + let __t2262 = v_V2860.clone(); + aot_shen_x2e_process_x2d_applications(interp, &[__t2261, __t2262])? }; - let __t2398 = Value::nil(); - rt::cons(&__t2397, &__t2398) + let __t2264 = Value::nil(); + rt::cons(&__t2263, &__t2264) }; - rt::cons(&__t2391, &__t2399) + rt::cons(&__t2257, &__t2265) }; - rt::cons(&__t2388, &__t2400) + rt::cons(&__t2254, &__t2266) }); } else { { - let __t2361 = { - let __t2338 = { - let __t2307 = Value::sym(interp.intern("let")); - let __t2308 = v_V2858.clone(); - rt::eq(&__t2307, &__t2308) - }; - if !rt::is_truthy(interp, &__t2338)? { + let __t2233 = { + let __t2210 = Value::bool( + (v_V2858.clone()).as_sym() == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t2210)? { Value::bool(false) } else { - let __t2339 = { - let __t2336 = { - let __t2309 = v_V2859.clone(); - rt::is_cons(&__t2309) + let __t2211 = { + let __t2208 = { + let __t2185 = v_V2859.clone(); + rt::is_cons(&__t2185) }; - if !rt::is_truthy(interp, &__t2336)? { + if !rt::is_truthy(interp, &__t2208)? { Value::bool(false) } else { - let __t2337 = { - let __t2334 = { - let __t2310 = Value::sym(interp.intern("let")); - let __t2312 = { - let __t2311 = v_V2859.clone(); - rt::hd(&__t2311)? - }; - rt::eq(&__t2310, &__t2312) - }; - if !rt::is_truthy(interp, &__t2334)? { + let __t2209 = { + let __t2206 = Value::bool( + ({ + let __t2186 = v_V2859.clone(); + rt::hd(&__t2186)? + }) + .as_sym() + == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t2206)? { Value::bool(false) } else { - let __t2335 = { - let __t2332 = { - let __t2314 = { - let __t2313 = v_V2859.clone(); - rt::tl(&__t2313)? + let __t2207 = { + let __t2204 = { + let __t2188 = { + let __t2187 = v_V2859.clone(); + rt::tl(&__t2187)? }; - rt::is_cons(&__t2314) + rt::is_cons(&__t2188) }; - if !rt::is_truthy(interp, &__t2332)? { + if !rt::is_truthy(interp, &__t2204)? { Value::bool(false) } else { - let __t2333 = { - let __t2330 = { - let __t2317 = { - let __t2316 = { - let __t2315 = v_V2859.clone(); - rt::tl(&__t2315)? + let __t2205 = { + let __t2202 = { + let __t2191 = { + let __t2190 = { + let __t2189 = v_V2859.clone(); + rt::tl(&__t2189)? }; - rt::tl(&__t2316)? + rt::tl(&__t2190)? }; - rt::is_cons(&__t2317) + rt::is_cons(&__t2191) }; - if !rt::is_truthy(interp, &__t2330)? { + if !rt::is_truthy(interp, &__t2202)? { Value::bool(false) } else { - let __t2331 = { - let __t2328 = { - let __t2321 = { - let __t2320 = { - let __t2319 = { - let __t2318 = + let __t2203 = { + let __t2200 = { + let __t2195 = { + let __t2194 = { + let __t2193 = { + let __t2192 = v_V2859.clone(); - rt::tl(&__t2318)? + rt::tl(&__t2192)? }; - rt::tl(&__t2319)? + rt::tl(&__t2193)? }; - rt::tl(&__t2320)? + rt::tl(&__t2194)? }; - rt::is_cons(&__t2321) + rt::is_cons(&__t2195) }; - if !rt::is_truthy(interp, &__t2328)? + if !rt::is_truthy(interp, &__t2200)? { Value::bool(false) } else { - let __t2329 = { - let __t2322 = Value::nil(); - let __t2327 = { - let __t2326 = { - let __t2325 = { - let __t2324 = { - let __t2323 = v_V2859.clone(); - rt::tl(&__t2323)? - }; - rt::tl( - &__t2324, - )? - }; - rt::tl(&__t2325)? - }; - rt::tl(&__t2326)? - }; - rt::eq(&__t2322, &__t2327) - }; + let __t2201 = Value::bool(({ let __t2199 = { let __t2198 = { let __t2197 = { let __t2196 = v_V2859.clone(); rt::tl(&__t2196)? }; rt::tl(&__t2197)? }; rt::tl(&__t2198)? }; rt::tl(&__t2199)? }).is_nil()); Value::bool(rt::is_truthy( - interp, &__t2329, + interp, &__t2201, )?) } }; Value::bool(rt::is_truthy( - interp, &__t2331, + interp, &__t2203, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2333)?) + Value::bool(rt::is_truthy(interp, &__t2205)?) } }; - Value::bool(rt::is_truthy(interp, &__t2335)?) + Value::bool(rt::is_truthy(interp, &__t2207)?) } }; - Value::bool(rt::is_truthy(interp, &__t2337)?) + Value::bool(rt::is_truthy(interp, &__t2209)?) } }; - Value::bool(rt::is_truthy(interp, &__t2339)?) + Value::bool(rt::is_truthy(interp, &__t2211)?) } }; - if match rt::is_truthy(interp, &__t2361) { + if match rt::is_truthy(interp, &__t2233) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2340 = Value::sym(interp.intern("let")); - let __t2360 = { - let __t2343 = { - let __t2342 = { - let __t2341 = v_V2859.clone(); - rt::tl(&__t2341)? + let __t2212 = Value::sym(interp.intern_static("let")); + let __t2232 = { + let __t2215 = { + let __t2214 = { + let __t2213 = v_V2859.clone(); + rt::tl(&__t2213)? }; - rt::hd(&__t2342)? + rt::hd(&__t2214)? }; - let __t2359 = { - let __t2349 = { - let __t2347 = { - let __t2346 = { - let __t2345 = { - let __t2344 = v_V2859.clone(); - rt::tl(&__t2344)? + let __t2231 = { + let __t2221 = { + let __t2219 = { + let __t2218 = { + let __t2217 = { + let __t2216 = v_V2859.clone(); + rt::tl(&__t2216)? }; - rt::tl(&__t2345)? + rt::tl(&__t2217)? }; - rt::hd(&__t2346)? + rt::hd(&__t2218)? }; - let __t2348 = v_V2860.clone(); - rt::apply_direct( + let __t2220 = v_V2860.clone(); + aot_shen_x2e_process_x2d_applications( interp, - "shen.process-applications", - &[__t2347, __t2348], + &[__t2219, __t2220], )? }; - let __t2358 = { - let __t2356 = { - let __t2354 = { - let __t2353 = { - let __t2352 = { - let __t2351 = { - let __t2350 = v_V2859.clone(); - rt::tl(&__t2350)? + let __t2230 = { + let __t2228 = { + let __t2226 = { + let __t2225 = { + let __t2224 = { + let __t2223 = { + let __t2222 = v_V2859.clone(); + rt::tl(&__t2222)? }; - rt::tl(&__t2351)? + rt::tl(&__t2223)? }; - rt::tl(&__t2352)? + rt::tl(&__t2224)? }; - rt::hd(&__t2353)? + rt::hd(&__t2225)? }; - let __t2355 = v_V2860.clone(); - rt::apply_direct( + let __t2227 = v_V2860.clone(); + aot_shen_x2e_process_x2d_applications( interp, - "shen.process-applications", - &[__t2354, __t2355], + &[__t2226, __t2227], )? }; - let __t2357 = Value::nil(); - rt::cons(&__t2356, &__t2357) + let __t2229 = Value::nil(); + rt::cons(&__t2228, &__t2229) }; - rt::cons(&__t2349, &__t2358) + rt::cons(&__t2221, &__t2230) }; - rt::cons(&__t2343, &__t2359) + rt::cons(&__t2215, &__t2231) }; - rt::cons(&__t2340, &__t2360) + rt::cons(&__t2212, &__t2232) }); } else { { - let __t2306 = { - let __t2304 = { - let __t2273 = Value::sym(interp.intern("defun")); - let __t2274 = v_V2858.clone(); - rt::eq(&__t2273, &__t2274) - }; - if !rt::is_truthy(interp, &__t2304)? { + let __t2184 = { + let __t2182 = Value::bool( + (v_V2858.clone()).as_sym() + == Some(interp.intern_static("defun")), + ); + if !rt::is_truthy(interp, &__t2182)? { Value::bool(false) } else { - let __t2305 = { - let __t2302 = { - let __t2275 = v_V2859.clone(); - rt::is_cons(&__t2275) + let __t2183 = { + let __t2180 = { + let __t2157 = v_V2859.clone(); + rt::is_cons(&__t2157) }; - if !rt::is_truthy(interp, &__t2302)? { + if !rt::is_truthy(interp, &__t2180)? { Value::bool(false) } else { - let __t2303 = { - let __t2300 = { - let __t2276 = - Value::sym(interp.intern("defun")); - let __t2278 = { - let __t2277 = v_V2859.clone(); - rt::hd(&__t2277)? - }; - rt::eq(&__t2276, &__t2278) - }; - if !rt::is_truthy(interp, &__t2300)? { + let __t2181 = { + let __t2178 = Value::bool( + ({ + let __t2158 = v_V2859.clone(); + rt::hd(&__t2158)? + }) + .as_sym() + == Some(interp.intern_static("defun")), + ); + if !rt::is_truthy(interp, &__t2178)? { Value::bool(false) } else { - let __t2301 = { - let __t2298 = { - let __t2280 = { - let __t2279 = v_V2859.clone(); - rt::tl(&__t2279)? + let __t2179 = { + let __t2176 = { + let __t2160 = { + let __t2159 = v_V2859.clone(); + rt::tl(&__t2159)? }; - rt::is_cons(&__t2280) + rt::is_cons(&__t2160) }; - if !rt::is_truthy(interp, &__t2298)? { + if !rt::is_truthy(interp, &__t2176)? { Value::bool(false) } else { - let __t2299 = { - let __t2296 = { - let __t2283 = { - let __t2282 = { - let __t2281 = + let __t2177 = { + let __t2174 = { + let __t2163 = { + let __t2162 = { + let __t2161 = v_V2859.clone(); - rt::tl(&__t2281)? + rt::tl(&__t2161)? }; - rt::tl(&__t2282)? + rt::tl(&__t2162)? }; - rt::is_cons(&__t2283) + rt::is_cons(&__t2163) }; - if !rt::is_truthy(interp, &__t2296)? + if !rt::is_truthy(interp, &__t2174)? { Value::bool(false) } else { - let __t2297 = { - let __t2294 = { - let __t2287 = { - let __t2286 = { - let __t2285 = { - let __t2284 = v_V2859.clone(); - rt::tl(&__t2284)? + let __t2175 = { + let __t2172 = { + let __t2167 = { + let __t2166 = { + let __t2165 = { + let __t2164 = v_V2859.clone(); + rt::tl(&__t2164)? }; rt::tl( - &__t2285, + &__t2165, )? }; - rt::tl(&__t2286)? + rt::tl(&__t2166)? }; - rt::is_cons(&__t2287) + rt::is_cons(&__t2167) }; if !rt::is_truthy( - interp, &__t2294, + interp, &__t2172, )? { Value::bool(false) } else { - let __t2295 = { - let __t2288 = - Value::nil(); - let __t2293 = { - let __t2292 = { - let __t2291 = { - let __t2290 = { - let __t2289 = v_V2859.clone(); - rt::tl(&__t2289)? - }; - rt::tl(&__t2290)? - }; - rt::tl(&__t2291)? - }; - rt::tl( - &__t2292, - )? - }; - rt::eq( - &__t2288, - &__t2293, - ) - }; + let __t2173 = Value::bool(({ let __t2171 = { let __t2170 = { let __t2169 = { let __t2168 = v_V2859.clone(); rt::tl(&__t2168)? }; rt::tl(&__t2169)? }; rt::tl(&__t2170)? }; rt::tl(&__t2171)? }).is_nil()); Value::bool( rt::is_truthy( interp, - &__t2295, + &__t2173, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t2297, + interp, &__t2175, )?) } }; Value::bool(rt::is_truthy( - interp, &__t2299, + interp, &__t2177, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2301)?) + Value::bool(rt::is_truthy(interp, &__t2179)?) } }; - Value::bool(rt::is_truthy(interp, &__t2303)?) + Value::bool(rt::is_truthy(interp, &__t2181)?) } }; - Value::bool(rt::is_truthy(interp, &__t2305)?) + Value::bool(rt::is_truthy(interp, &__t2183)?) } }; - if match rt::is_truthy(interp, &__t2306) { + if match rt::is_truthy(interp, &__t2184) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2859.clone()); } else { { - let __t2272 = { - let __t2254 = { - let __t2230 = Value::sym(interp.intern("define")); - let __t2231 = v_V2858.clone(); - rt::eq(&__t2230, &__t2231) - }; - if !rt::is_truthy(interp, &__t2254)? { + let __t2156 = { + let __t2138 = Value::bool( + (v_V2858.clone()).as_sym() + == Some(interp.intern_static("define")), + ); + if !rt::is_truthy(interp, &__t2138)? { Value::bool(false) } else { - let __t2255 = { - let __t2252 = { - let __t2232 = v_V2859.clone(); - rt::is_cons(&__t2232) + let __t2139 = { + let __t2136 = { + let __t2120 = v_V2859.clone(); + rt::is_cons(&__t2120) }; - if !rt::is_truthy(interp, &__t2252)? { + if !rt::is_truthy(interp, &__t2136)? { Value::bool(false) } else { - let __t2253 = { - let __t2250 = { - let __t2233 = - Value::sym(interp.intern("define")); - let __t2235 = { - let __t2234 = v_V2859.clone(); - rt::hd(&__t2234)? - }; - rt::eq(&__t2233, &__t2235) - }; - if !rt::is_truthy(interp, &__t2250)? { + let __t2137 = { + let __t2134 = Value::bool( + ({ + let __t2121 = v_V2859.clone(); + rt::hd(&__t2121)? + }) + .as_sym() + == Some( + interp.intern_static("define"), + ), + ); + if !rt::is_truthy(interp, &__t2134)? { Value::bool(false) } else { - let __t2251 = { - let __t2248 = { - let __t2237 = { - let __t2236 = + let __t2135 = { + let __t2132 = { + let __t2123 = { + let __t2122 = v_V2859.clone(); - rt::tl(&__t2236)? + rt::tl(&__t2122)? }; - rt::is_cons(&__t2237) + rt::is_cons(&__t2123) }; - if !rt::is_truthy(interp, &__t2248)? + if !rt::is_truthy(interp, &__t2132)? { Value::bool(false) } else { - let __t2249 = { - let __t2246 = { - let __t2240 = { - let __t2239 = { - let __t2238 = + let __t2133 = { + let __t2130 = { + let __t2126 = { + let __t2125 = { + let __t2124 = v_V2859 .clone( ); rt::tl( - &__t2238, + &__t2124, )? }; - rt::tl(&__t2239)? + rt::tl(&__t2125)? }; - rt::is_cons(&__t2240) + rt::is_cons(&__t2126) }; if !rt::is_truthy( - interp, &__t2246, + interp, &__t2130, )? { Value::bool(false) } else { - let __t2247 = { - let __t2241 = - Value::sym( - interp - .intern( - "{", - ), - ); - let __t2245 = { - let __t2244 = { - let __t2243 = { - let __t2242 = v_V2859.clone(); - rt::tl(&__t2242)? - }; - rt::tl(&__t2243)? - }; - rt::hd( - &__t2244, - )? - }; - rt::eq( - &__t2241, - &__t2245, - ) - }; + let __t2131 = Value::bool(({ let __t2129 = { let __t2128 = { let __t2127 = v_V2859.clone(); rt::tl(&__t2127)? }; rt::tl(&__t2128)? }; rt::hd(&__t2129)? }).as_sym() == Some(interp.intern_static("{"))); Value::bool( rt::is_truthy( interp, - &__t2247, + &__t2131, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t2249, + interp, &__t2133, )?) } }; Value::bool(rt::is_truthy( - interp, &__t2251, + interp, &__t2135, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2253)?) + Value::bool(rt::is_truthy(interp, &__t2137)?) } }; - Value::bool(rt::is_truthy(interp, &__t2255)?) + Value::bool(rt::is_truthy(interp, &__t2139)?) } }; - if match rt::is_truthy(interp, &__t2272) { + if match rt::is_truthy(interp, &__t2156) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2256 = Value::sym(interp.intern("define")); - let __t2271 = { - let __t2259 = { - let __t2258 = { - let __t2257 = v_V2859.clone(); - rt::tl(&__t2257)? + let __t2140 = + Value::sym(interp.intern_static("define")); + let __t2155 = { + let __t2143 = { + let __t2142 = { + let __t2141 = v_V2859.clone(); + rt::tl(&__t2141)? }; - rt::hd(&__t2258)? + rt::hd(&__t2142)? }; - let __t2270 = { - let __t2260 = Value::sym(interp.intern("{")); - let __t2269 = { - let __t2263 = { - let __t2262 = { - let __t2261 = v_V2859.clone(); - rt::tl(&__t2261)? + let __t2154 = { + let __t2144 = + Value::sym(interp.intern_static("{")); + let __t2153 = { + let __t2147 = { + let __t2146 = { + let __t2145 = v_V2859.clone(); + rt::tl(&__t2145)? }; - rt::hd(&__t2262)? + rt::hd(&__t2146)? }; - let __t2267 = { - let __t2266 = { - let __t2265 = { - let __t2264 = v_V2859.clone(); - rt::tl(&__t2264)? + let __t2151 = { + let __t2150 = { + let __t2149 = { + let __t2148 = v_V2859.clone(); + rt::tl(&__t2148)? }; - rt::tl(&__t2265)? + rt::tl(&__t2149)? }; - rt::tl(&__t2266)? + rt::tl(&__t2150)? }; - let __t2268 = v_V2860.clone(); - rt::apply_direct( + let __t2152 = v_V2860.clone(); + aot_shen_x2e_process_x2d_after_x2d_type( interp, - "shen.process-after-type", - &[__t2263, __t2267, __t2268], + &[__t2147, __t2151, __t2152], )? }; - rt::cons(&__t2260, &__t2269) + rt::cons(&__t2144, &__t2153) }; - rt::cons(&__t2259, &__t2270) + rt::cons(&__t2143, &__t2154) }; - rt::cons(&__t2256, &__t2271) + rt::cons(&__t2140, &__t2155) }); } else { { - let __t2229 = { - let __t2215 = { - let __t2203 = - Value::sym(interp.intern("define")); - let __t2204 = v_V2858.clone(); - rt::eq(&__t2203, &__t2204) - }; - if !rt::is_truthy(interp, &__t2215)? { + let __t2119 = { + let __t2105 = Value::bool( + (v_V2858.clone()).as_sym() + == Some(interp.intern_static("define")), + ); + if !rt::is_truthy(interp, &__t2105)? { Value::bool(false) } else { - let __t2216 = { - let __t2213 = { - let __t2205 = v_V2859.clone(); - rt::is_cons(&__t2205) + let __t2106 = { + let __t2103 = { + let __t2097 = v_V2859.clone(); + rt::is_cons(&__t2097) }; - if !rt::is_truthy(interp, &__t2213)? { + if !rt::is_truthy(interp, &__t2103)? { Value::bool(false) } else { - let __t2214 = { - let __t2211 = { - let __t2206 = Value::sym( - interp.intern("define"), - ); - let __t2208 = { - let __t2207 = + let __t2104 = { + let __t2101 = Value::bool( + ({ + let __t2098 = v_V2859.clone(); - rt::hd(&__t2207)? - }; - rt::eq(&__t2206, &__t2208) - }; - if !rt::is_truthy(interp, &__t2211)? + rt::hd(&__t2098)? + }) + .as_sym() + == Some( + interp.intern_static( + "define", + ), + ), + ); + if !rt::is_truthy(interp, &__t2101)? { Value::bool(false) } else { - let __t2212 = { - let __t2210 = { - let __t2209 = + let __t2102 = { + let __t2100 = { + let __t2099 = v_V2859.clone(); - rt::tl(&__t2209)? + rt::tl(&__t2099)? }; - rt::is_cons(&__t2210) + rt::is_cons(&__t2100) }; Value::bool(rt::is_truthy( - interp, &__t2212, + interp, &__t2102, )?) } }; Value::bool(rt::is_truthy( - interp, &__t2214, + interp, &__t2104, )?) } }; - Value::bool(rt::is_truthy(interp, &__t2216)?) + Value::bool(rt::is_truthy(interp, &__t2106)?) } }; - if match rt::is_truthy(interp, &__t2229) { + if match rt::is_truthy(interp, &__t2119) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2217 = - Value::sym(interp.intern("define")); - let __t2228 = { - let __t2220 = { - let __t2219 = { - let __t2218 = v_V2859.clone(); - rt::tl(&__t2218)? + let __t2107 = + Value::sym(interp.intern_static("define")); + let __t2118 = { + let __t2110 = { + let __t2109 = { + let __t2108 = v_V2859.clone(); + rt::tl(&__t2108)? }; - rt::hd(&__t2219)? + rt::hd(&__t2109)? }; - let __t2227 = { - let __t2223 = { + let __t2117 = { + let __t2113 = { let v_V2860 = v_V2860.clone(); rt::make_aot_closure( "", @@ -13308,308 +12922,276 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She let v_Z2861 = args[0].clone(); Ok({ - let __t2221 = + let __t2111 = v_Z2861.clone(); - let __t2222 = + let __t2112 = v_V2860.clone(); - rt::apply_direct(interp, "shen.process-applications", &[__t2221, __t2222])? + aot_shen_x2e_process_x2d_applications(interp, &[__t2111, __t2112])? }) }, vec![v_V2860], interp, ) }; - let __t2226 = { - let __t2225 = { - let __t2224 = v_V2859.clone(); - rt::tl(&__t2224)? + let __t2116 = { + let __t2115 = { + let __t2114 = v_V2859.clone(); + rt::tl(&__t2114)? }; - rt::tl(&__t2225)? + rt::tl(&__t2115)? }; rt::apply_direct( interp, "map", - &[__t2223, __t2226], + &[__t2113, __t2116], )? }; - rt::cons(&__t2220, &__t2227) + rt::cons(&__t2110, &__t2117) }; - rt::cons(&__t2217, &__t2228) + rt::cons(&__t2107, &__t2118) }); } else { { - let __t2202 = { - let __t2198 = - Value::sym(interp.intern("synonyms")); - let __t2199 = v_V2858.clone(); - rt::eq(&__t2198, &__t2199) - }; - if match rt::is_truthy(interp, &__t2202) { + let __t2096 = Value::bool( + (v_V2858.clone()).as_sym() + == Some( + interp.intern_static("synonyms"), + ), + ); + if match rt::is_truthy(interp, &__t2096) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2200 = Value::sym( - interp.intern("synonyms"), + let __t2094 = Value::sym( + interp.intern_static("synonyms"), ); - let __t2201 = v_V2859.clone(); - rt::cons(&__t2200, &__t2201) + let __t2095 = v_V2859.clone(); + rt::cons(&__t2094, &__t2095) }); } else { { - let __t2197 = { - let __t2185 = { - let __t2161 = Value::sym( - interp.intern("type"), - ); - let __t2162 = v_V2858.clone(); - rt::eq(&__t2161, &__t2162) - }; - if !rt::is_truthy(interp, &__t2185)? + let __t2093 = { + let __t2081 = Value::bool( + (v_V2858.clone()).as_sym() + == Some( + interp.intern_static( + "type", + ), + ), + ); + if !rt::is_truthy(interp, &__t2081)? { Value::bool(false) } else { - let __t2186 = { - let __t2183 = { - let __t2163 = + let __t2082 = { + let __t2079 = { + let __t2063 = v_V2859.clone(); - rt::is_cons(&__t2163) + rt::is_cons(&__t2063) }; if !rt::is_truthy( - interp, &__t2183, + interp, &__t2079, )? { Value::bool(false) } else { - let __t2184 = { - let __t2181 = { - let __t2164 = Value::sym(interp.intern("type")); - let __t2166 = { - let __t2165 = v_V2859.clone(); - rt::hd(&__t2165)? - }; - rt::eq( - &__t2164, - &__t2166, - ) - }; + let __t2080 = { + let __t2077 = Value::bool(({ let __t2064 = v_V2859.clone(); rt::hd(&__t2064)? }).as_sym() == Some(interp.intern_static("type"))); if !rt::is_truthy( interp, - &__t2181, + &__t2077, )? { Value::bool( false, ) } else { - let __t2182 = { - let __t2179 = { - let __t2168 = { - let __t2167 = v_V2859.clone(); - rt::tl(&__t2167)? + let __t2078 = { + let __t2075 = { + let __t2066 = { + let __t2065 = v_V2859.clone(); + rt::tl(&__t2065)? }; - rt::is_cons(&__t2168) + rt::is_cons(&__t2066) }; - if !rt::is_truthy(interp, &__t2179)? { Value::bool(false) } else { let __t2180 = { let __t2177 = { let __t2171 = { let __t2170 = { let __t2169 = v_V2859.clone(); rt::tl(&__t2169)? }; rt::tl(&__t2170)? }; rt::is_cons(&__t2171) }; if !rt::is_truthy(interp, &__t2177)? { Value::bool(false) } else { let __t2178 = { let __t2172 = Value::nil(); let __t2176 = { let __t2175 = { let __t2174 = { let __t2173 = v_V2859.clone(); rt::tl(&__t2173)? }; rt::tl(&__t2174)? }; rt::tl(&__t2175)? }; rt::eq(&__t2172, &__t2176) }; Value::bool(rt::is_truthy(interp, &__t2178)?) } }; Value::bool(rt::is_truthy(interp, &__t2180)?) } + if !rt::is_truthy(interp, &__t2075)? { Value::bool(false) } else { let __t2076 = { let __t2073 = { let __t2069 = { let __t2068 = { let __t2067 = v_V2859.clone(); rt::tl(&__t2067)? }; rt::tl(&__t2068)? }; rt::is_cons(&__t2069) }; if !rt::is_truthy(interp, &__t2073)? { Value::bool(false) } else { let __t2074 = Value::bool(({ let __t2072 = { let __t2071 = { let __t2070 = v_V2859.clone(); rt::tl(&__t2070)? }; rt::tl(&__t2071)? }; rt::tl(&__t2072)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t2074)?) } }; Value::bool(rt::is_truthy(interp, &__t2076)?) } }; - Value::bool(rt::is_truthy(interp, &__t2182)?) + Value::bool(rt::is_truthy(interp, &__t2078)?) } }; Value::bool( rt::is_truthy( interp, - &__t2184, + &__t2080, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t2186, + interp, &__t2082, )?) } }; - if match rt::is_truthy(interp, &__t2197) + if match rt::is_truthy(interp, &__t2093) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2187 = Value::sym( - interp.intern("type"), + let __t2083 = Value::sym( + interp + .intern_static("type"), ); - let __t2196 = { - let __t2192 = { - let __t2190 = { - let __t2189 = { - let __t2188 = + let __t2092 = { + let __t2088 = { + let __t2086 = { + let __t2085 = { + let __t2084 = v_V2859 .clone( ); rt::tl( - &__t2188, + &__t2084, )? }; - rt::hd(&__t2189)? + rt::hd(&__t2085)? }; - let __t2191 = + let __t2087 = v_V2860.clone(); - rt::apply_direct(interp, "shen.process-applications", &[__t2190, __t2191])? + aot_shen_x2e_process_x2d_applications(interp, &[__t2086, __t2087])? }; - let __t2195 = { - let __t2194 = { - let __t2193 = + let __t2091 = { + let __t2090 = { + let __t2089 = v_V2859.clone(); - rt::tl(&__t2193)? + rt::tl(&__t2089)? }; - rt::tl(&__t2194)? + rt::tl(&__t2090)? }; - rt::cons(&__t2192, &__t2195) + rt::cons(&__t2088, &__t2091) }; - rt::cons(&__t2187, &__t2196) + rt::cons(&__t2083, &__t2092) }); } else { { - let __t2160 = { - let __t2145 = { - let __t2121 = - Value::sym( - interp.intern( - "input+", - ), - ); - let __t2122 = - v_V2858.clone(); - rt::eq( - &__t2121, &__t2122, - ) - }; + let __t2062 = { + let __t2047 = Value::bool((v_V2858.clone()).as_sym() == Some(interp.intern_static("input+"))); if !rt::is_truthy( - interp, &__t2145, + interp, &__t2047, )? { Value::bool(false) } else { - let __t2146 = { - let __t2143 = { - let __t2123 = + let __t2048 = { + let __t2045 = { + let __t2029 = v_V2859 .clone( ); rt::is_cons( - &__t2123, + &__t2029, ) }; if !rt::is_truthy( interp, - &__t2143, + &__t2045, )? { Value::bool( false, ) } else { - let __t2144 = { - let __t2141 = { - let __t2124 = Value::sym(interp.intern("input+")); - let __t2126 = { - let __t2125 = v_V2859.clone(); - rt::hd(&__t2125)? - }; - rt::eq(&__t2124, &__t2126) - }; - if !rt::is_truthy(interp, &__t2141)? { Value::bool(false) } else { let __t2142 = { let __t2139 = { let __t2128 = { let __t2127 = v_V2859.clone(); rt::tl(&__t2127)? }; rt::is_cons(&__t2128) }; if !rt::is_truthy(interp, &__t2139)? { Value::bool(false) } else { let __t2140 = { let __t2137 = { let __t2131 = { let __t2130 = { let __t2129 = v_V2859.clone(); rt::tl(&__t2129)? }; rt::tl(&__t2130)? }; rt::is_cons(&__t2131) }; if !rt::is_truthy(interp, &__t2137)? { Value::bool(false) } else { let __t2138 = { let __t2132 = Value::nil(); let __t2136 = { let __t2135 = { let __t2134 = { let __t2133 = v_V2859.clone(); rt::tl(&__t2133)? }; rt::tl(&__t2134)? }; rt::tl(&__t2135)? }; rt::eq(&__t2132, &__t2136) }; Value::bool(rt::is_truthy(interp, &__t2138)?) } }; Value::bool(rt::is_truthy(interp, &__t2140)?) } }; Value::bool(rt::is_truthy(interp, &__t2142)?) } + let __t2046 = { + let __t2043 = Value::bool(({ let __t2030 = v_V2859.clone(); rt::hd(&__t2030)? }).as_sym() == Some(interp.intern_static("input+"))); + if !rt::is_truthy(interp, &__t2043)? { Value::bool(false) } else { let __t2044 = { let __t2041 = { let __t2032 = { let __t2031 = v_V2859.clone(); rt::tl(&__t2031)? }; rt::is_cons(&__t2032) }; if !rt::is_truthy(interp, &__t2041)? { Value::bool(false) } else { let __t2042 = { let __t2039 = { let __t2035 = { let __t2034 = { let __t2033 = v_V2859.clone(); rt::tl(&__t2033)? }; rt::tl(&__t2034)? }; rt::is_cons(&__t2035) }; if !rt::is_truthy(interp, &__t2039)? { Value::bool(false) } else { let __t2040 = Value::bool(({ let __t2038 = { let __t2037 = { let __t2036 = v_V2859.clone(); rt::tl(&__t2036)? }; rt::tl(&__t2037)? }; rt::tl(&__t2038)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t2040)?) } }; Value::bool(rt::is_truthy(interp, &__t2042)?) } }; Value::bool(rt::is_truthy(interp, &__t2044)?) } }; - Value::bool(rt::is_truthy(interp, &__t2144)?) + Value::bool(rt::is_truthy(interp, &__t2046)?) } }; Value::bool( rt::is_truthy( interp, - &__t2146, + &__t2048, )?, ) } }; if match rt::is_truthy( - interp, &__t2160, + interp, &__t2062, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2147 = - Value::sym( - interp.intern( - "input+", - ), - ); - let __t2159 = { - let __t2150 = { - let __t2149 = { - let __t2148 = v_V2859.clone(); - rt::tl(&__t2148)? + let __t2049 = Value::sym(interp.intern_static("input+")); + let __t2061 = { + let __t2052 = { + let __t2051 = { + let __t2050 = v_V2859.clone(); + rt::tl(&__t2050)? }; rt::hd( - &__t2149, + &__t2051, )? }; - let __t2158 = { - let __t2156 = { - let __t2154 = { - let __t2153 = { - let __t2152 = { let __t2151 = v_V2859.clone(); rt::tl(&__t2151)? }; - rt::tl(&__t2152)? + let __t2060 = { + let __t2058 = { + let __t2056 = { + let __t2055 = { + let __t2054 = { let __t2053 = v_V2859.clone(); rt::tl(&__t2053)? }; + rt::tl(&__t2054)? }; - rt::hd(&__t2153)? + rt::hd(&__t2055)? }; - let __t2155 = v_V2860.clone(); - rt::apply_direct(interp, "shen.process-applications", &[__t2154, __t2155])? + let __t2057 = v_V2860.clone(); + aot_shen_x2e_process_x2d_applications(interp, &[__t2056, __t2057])? }; - let __t2157 = + let __t2059 = Value::nil( ); rt::cons( - &__t2156, - &__t2157, + &__t2058, + &__t2059, ) }; rt::cons( - &__t2150, - &__t2158, + &__t2052, + &__t2060, ) }; rt::cons( - &__t2147, &__t2159, + &__t2049, &__t2061, ) }); } else { { - let __t2120 = { - let __t2110 = { - let __t2107 = + let __t2028 = { + let __t2018 = { + let __t2015 = v_V2859 .clone( ); rt::is_cons( - &__t2107, + &__t2015, ) }; if !rt::is_truthy( interp, - &__t2110, + &__t2018, )? { Value::bool( false, ) } else { - let __t2111 = { - let __t2109 = { - let __t2108 = v_V2859.clone(); - rt::hd(&__t2108)? + let __t2019 = { + let __t2017 = { + let __t2016 = v_V2859.clone(); + rt::hd(&__t2016)? }; - rt::apply_direct(interp, "shen.special?", &[__t2109])? + rt::apply_direct(interp, "shen.special?", &[__t2017])? }; - Value::bool(rt::is_truthy(interp, &__t2111)?) + Value::bool(rt::is_truthy(interp, &__t2019)?) } }; if match rt::is_truthy( - interp, &__t2120, + interp, &__t2028, ) { Ok(b) => b, Err(e) => { @@ -13617,36 +13199,36 @@ pub fn aot_shen_x2e_special_x2d_case(interp: &mut Interp, args: &[Value]) -> She } } { break Ok({ - let __t2113 = { - let __t2112 = v_V2859.clone(); - rt::hd(&__t2112)? + let __t2021 = { + let __t2020 = v_V2859.clone(); + rt::hd(&__t2020)? }; - let __t2119 = { - let __t2116 = { + let __t2027 = { + let __t2024 = { let v_V2860 = v_V2860.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z2862 = args[0].clone(); Ok({ let __t2114 = v_Z2862.clone(); let __t2115 = v_V2860.clone(); rt::apply_direct(interp, "shen.process-applications", &[__t2114, __t2115])? }) }, vec![v_V2860], interp) + rt::make_aot_closure("", 1, move |interp, args| { let v_Z2862 = args[0].clone(); Ok({ let __t2022 = v_Z2862.clone(); let __t2023 = v_V2860.clone(); aot_shen_x2e_process_x2d_applications(interp, &[__t2022, __t2023])? }) }, vec![v_V2860], interp) }; - let __t2118 = { - let __t2117 = v_V2859.clone(); - rt::tl(&__t2117)? + let __t2026 = { + let __t2025 = v_V2859.clone(); + rt::tl(&__t2025)? }; - rt::apply_direct(interp, "map", &[__t2116, __t2118])? + rt::apply_direct(interp, "map", &[__t2024, __t2026])? }; rt::cons( - &__t2113, - &__t2119, + &__t2021, + &__t2027, ) }); } else { { - let __t2106 = { - let __t2104 = { - let __t2101 = v_V2859.clone(); - rt::is_cons(&__t2101) + let __t2014 = { + let __t2012 = { + let __t2009 = v_V2859.clone(); + rt::is_cons(&__t2009) }; - if !rt::is_truthy(interp, &__t2104)? { Value::bool(false) } else { let __t2105 = { let __t2103 = { let __t2102 = v_V2859.clone(); rt::hd(&__t2102)? }; rt::apply_direct(interp, "shen.extraspecial?", &[__t2103])? }; Value::bool(rt::is_truthy(interp, &__t2105)?) } + if !rt::is_truthy(interp, &__t2012)? { Value::bool(false) } else { let __t2013 = { let __t2011 = { let __t2010 = v_V2859.clone(); rt::hd(&__t2010)? }; rt::apply_direct(interp, "shen.extraspecial?", &[__t2011])? }; Value::bool(rt::is_truthy(interp, &__t2013)?) } }; - if match rt::is_truthy(interp, &__t2106) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2859.clone()); } else { { let __t2100 = Value::bool(true); if match rt::is_truthy(interp, &__t2100) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2099 = Value::str("partial function shen.special-case"); rt::apply_direct(interp, "simple-error", &[__t2099])? }); } else { break Err(ShenError::new("cond: no clause matched")); } } } + if match rt::is_truthy(interp, &__t2014) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2859.clone()); } else { { let __t2008 = Value::bool(true); if match rt::is_truthy(interp, &__t2008) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2007 = Value::str("partial function shen.special-case"); rt::apply_direct(interp, "simple-error", &[__t2007])? }); } else { break Err(ShenError::new("cond: no clause matched")); } } } } } } @@ -13694,33 +13276,33 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( #[allow(clippy::never_loop)] loop { { - let __t2431 = { - let __t2422 = { - let __t2418 = v_V2866.clone(); - rt::is_cons(&__t2418) + let __t2295 = { + let __t2286 = { + let __t2284 = v_V2866.clone(); + rt::is_cons(&__t2284) }; - if !rt::is_truthy(interp, &__t2422)? { + if !rt::is_truthy(interp, &__t2286)? { Value::bool(false) } else { - let __t2423 = { - let __t2419 = Value::sym(interp.intern("}")); - let __t2421 = { - let __t2420 = v_V2866.clone(); - rt::hd(&__t2420)? - }; - rt::eq(&__t2419, &__t2421) - }; - Value::bool(rt::is_truthy(interp, &__t2423)?) + let __t2287 = Value::bool( + ({ + let __t2285 = v_V2866.clone(); + rt::hd(&__t2285)? + }) + .as_sym() + == Some(interp.intern_static("}")), + ); + Value::bool(rt::is_truthy(interp, &__t2287)?) } }; - if match rt::is_truthy(interp, &__t2431) { + if match rt::is_truthy(interp, &__t2295) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2424 = Value::sym(interp.intern("}")); - let __t2430 = { - let __t2427 = { + let __t2288 = Value::sym(interp.intern_static("}")); + let __t2294 = { + let __t2291 = { let v_V2867 = v_V2867.clone(); rt::make_aot_closure( "", @@ -13728,12 +13310,11 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( move |interp, args| { let v_Z2868 = args[0].clone(); Ok({ - let __t2425 = v_Z2868.clone(); - let __t2426 = v_V2867.clone(); - rt::apply_direct( + let __t2289 = v_Z2868.clone(); + let __t2290 = v_V2867.clone(); + aot_shen_x2e_process_x2d_applications( interp, - "shen.process-applications", - &[__t2425, __t2426], + &[__t2289, __t2290], )? }) }, @@ -13741,67 +13322,67 @@ pub fn aot_shen_x2e_process_x2d_after_x2d_type( interp, ) }; - let __t2429 = { - let __t2428 = v_V2866.clone(); - rt::tl(&__t2428)? + let __t2293 = { + let __t2292 = v_V2866.clone(); + rt::tl(&__t2292)? }; - rt::apply_direct(interp, "map", &[__t2427, __t2429])? + rt::apply_direct(interp, "map", &[__t2291, __t2293])? }; - rt::cons(&__t2424, &__t2430) + rt::cons(&__t2288, &__t2294) }); } else { { - let __t2417 = { - let __t2409 = v_V2866.clone(); - rt::is_cons(&__t2409) + let __t2283 = { + let __t2275 = v_V2866.clone(); + rt::is_cons(&__t2275) }; - if match rt::is_truthy(interp, &__t2417) { + if match rt::is_truthy(interp, &__t2283) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2411 = { - let __t2410 = v_V2866.clone(); - rt::hd(&__t2410)? - }; - let __t2416 = { - let __t2412 = v_V2865.clone(); - let __t2414 = { - let __t2413 = v_V2866.clone(); - rt::tl(&__t2413)? + let __t2277 = { + let __t2276 = v_V2866.clone(); + rt::hd(&__t2276)? + }; + let __t2282 = { + let __t2278 = v_V2865.clone(); + let __t2280 = { + let __t2279 = v_V2866.clone(); + rt::tl(&__t2279)? }; - let __t2415 = v_V2867.clone(); - rt::apply_direct( + let __t2281 = v_V2867.clone(); + aot_shen_x2e_process_x2d_after_x2d_type( interp, - "shen.process-after-type", - &[__t2412, __t2414, __t2415], + &[__t2278, __t2280, __t2281], )? }; - rt::cons(&__t2411, &__t2416) + rt::cons(&__t2277, &__t2282) }); } else { { - let __t2408 = Value::bool(true); - if match rt::is_truthy(interp, &__t2408) { + let __t2274 = Value::bool(true); + if match rt::is_truthy(interp, &__t2274) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2407 = { - let __t2402 = Value::str("missing } in "); - let __t2406 = { - let __t2403 = v_V2865.clone(); - let __t2404 = Value::str("\n"); - let __t2405 = Value::sym(interp.intern("shen.a")); + let __t2273 = { + let __t2268 = Value::str("missing } in "); + let __t2272 = { + let __t2269 = v_V2865.clone(); + let __t2270 = Value::str("\n"); + let __t2271 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t2403, __t2404, __t2405], + &[__t2269, __t2270, __t2271], )? }; - rt::apply_direct(interp, "cn", &[__t2402, __t2406])? + rt::cn(&__t2268, &__t2272)? }; - rt::apply_direct(interp, "simple-error", &[__t2407])? + rt::apply_direct(interp, "simple-error", &[__t2273])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -13844,110 +13425,102 @@ pub fn aot_shen_x2e_process_x2d_application( #[allow(clippy::never_loop)] loop { { - let __t2497 = { - let __t2434 = v_V2869.clone(); - rt::is_cons(&__t2434) + let __t2361 = { + let __t2298 = v_V2869.clone(); + rt::is_cons(&__t2298) }; - if match rt::is_truthy(interp, &__t2497) { + if match rt::is_truthy(interp, &__t2361) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2871 = { - let __t2436 = { - let __t2435 = v_V2869.clone(); - rt::hd(&__t2435)? + let __t2300 = { + let __t2299 = v_V2869.clone(); + rt::hd(&__t2299)? }; - rt::apply_direct(interp, "arity", &[__t2436])? + rt::apply_direct(interp, "arity", &[__t2300])? }; { let v_W2872 = { - let __t2438 = { - let __t2437 = v_V2869.clone(); - rt::tl(&__t2437)? + let __t2302 = { + let __t2301 = v_V2869.clone(); + rt::tl(&__t2301)? }; - rt::apply_direct(interp, "length", &[__t2438])? + rt::apply_direct(interp, "length", &[__t2302])? }; { - let __t2441 = { - let __t2439 = v_V2869.clone(); - let __t2440 = v_V2870.clone(); - rt::apply_direct(interp, "element?", &[__t2439, __t2440])? + let __t2305 = { + let __t2303 = v_V2869.clone(); + let __t2304 = v_V2870.clone(); + rt::apply_direct(interp, "element?", &[__t2303, __t2304])? }; - if match rt::is_truthy(interp, &__t2441) { + if match rt::is_truthy(interp, &__t2305) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2869.clone()); } else { { - let __t2444 = { - let __t2443 = { - let __t2442 = v_V2869.clone(); - rt::hd(&__t2442)? + let __t2308 = { + let __t2307 = { + let __t2306 = v_V2869.clone(); + rt::hd(&__t2306)? }; - rt::apply_direct(interp, "shen.shen-call?", &[__t2443])? + aot_shen_x2e_shen_x2d_call_x3f_(interp, &[__t2307])? }; - if match rt::is_truthy(interp, &__t2444) { + if match rt::is_truthy(interp, &__t2308) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2869.clone()); } else { { - let __t2446 = { - let __t2445 = v_V2869.clone(); - rt::apply_direct( - interp, - "shen.foreign?", - &[__t2445], - )? + let __t2310 = { + let __t2309 = v_V2869.clone(); + aot_shen_x2e_foreign_x3f_(interp, &[__t2309])? }; - if match rt::is_truthy(interp, &__t2446) { + if match rt::is_truthy(interp, &__t2310) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2447 = v_V2869.clone(); - rt::apply_direct( + let __t2311 = v_V2869.clone(); + aot_shen_x2e_unpack_x2d_foreign( interp, - "shen.unpack-foreign", - &[__t2447], + &[__t2311], )? }); } else { { - let __t2449 = { - let __t2448 = v_V2869.clone(); - rt::apply_direct( + let __t2313 = { + let __t2312 = v_V2869.clone(); + aot_shen_x2e_fn_x2d_call_x3f_( interp, - "shen.fn-call?", - &[__t2448], + &[__t2312], )? }; - if match rt::is_truthy(interp, &__t2449) { + if match rt::is_truthy(interp, &__t2313) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2450 = v_V2869.clone(); - rt::apply_direct( + let __t2314 = v_V2869.clone(); + aot_shen_x2e_fn_x2d_call( interp, - "shen.fn-call", - &[__t2450], + &[__t2314], )? }); } else { { - let __t2452 = { - let __t2451 = v_V2869.clone(); - rt::apply_direct( + let __t2316 = { + let __t2315 = v_V2869.clone(); + aot_shen_x2e_zero_x2d_place_x3f_( interp, - "shen.zero-place?", - &[__t2451], + &[__t2315], )? }; - if match rt::is_truthy(interp, &__t2452) + if match rt::is_truthy(interp, &__t2316) { Ok(b) => b, Err(e) => break Err(e), @@ -13955,83 +13528,75 @@ pub fn aot_shen_x2e_process_x2d_application( break Ok(v_V2869.clone()); } else { { - let __t2456 = { - let __t2454 = { - let __t2453 = + let __t2320 = { + let __t2318 = { + let __t2317 = v_V2869.clone(); - rt::hd(&__t2453)? + rt::hd(&__t2317)? }; - let __t2455 = + let __t2319 = v_W2871.clone(); - rt::apply_direct( - interp, - "shen.undefined-f?", - &[__t2454, __t2455], - )? + aot_shen_x2e_undefined_x2d_f_x3f_(interp, &[__t2318, __t2319])? }; if match rt::is_truthy( - interp, &__t2456, + interp, &__t2320, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2465 = { - let __t2462 = { - let __t2457 = Value::sym(interp.intern("fn")); - let __t2461 = { - let __t2459 = { - let __t2458 = v_V2869.clone(); - rt::hd(&__t2458)? + let __t2329 = { + let __t2326 = { + let __t2321 = Value::sym(interp.intern_static("fn")); + let __t2325 = { + let __t2323 = { + let __t2322 = v_V2869.clone(); + rt::hd(&__t2322)? }; - let __t2460 = Value::nil(); - rt::cons(&__t2459, &__t2460) + let __t2324 = Value::nil(); + rt::cons(&__t2323, &__t2324) }; rt::cons( - &__t2457, - &__t2461, + &__t2321, + &__t2325, ) }; - let __t2464 = { - let __t2463 = + let __t2328 = { + let __t2327 = v_V2869 .clone( ); rt::tl( - &__t2463, + &__t2327, )? }; rt::cons( - &__t2462, - &__t2464, + &__t2326, + &__t2328, ) }; - rt::apply_direct( - interp, - "shen.simple-curry", - &[__t2465], - )? + aot_shen_x2e_simple_x2d_curry(interp, &[__t2329])? }); } else { { - let __t2468 = { - let __t2467 = { - let __t2466 = + let __t2332 = { + let __t2331 = { + let __t2330 = v_V2869 .clone( ); rt::hd( - &__t2466, + &__t2330, )? }; rt::apply_direct( interp, "variable?", - &[__t2467], + &[__t2331], )? }; if match rt::is_truthy( - interp, &__t2468, + interp, &__t2332, ) { Ok(b) => b, Err(e) => { @@ -14039,22 +13604,22 @@ pub fn aot_shen_x2e_process_x2d_application( } } { break Ok({ - let __t2469 = + let __t2333 = v_V2869 .clone( ); - rt::apply_direct(interp, "shen.simple-curry", &[__t2469])? + aot_shen_x2e_simple_x2d_curry(interp, &[__t2333])? }); } else { { - let __t2472 = { - let __t2471 = { - let __t2470 = v_V2869.clone(); - rt::hd(&__t2470)? + let __t2336 = { + let __t2335 = { + let __t2334 = v_V2869.clone(); + rt::hd(&__t2334)? }; - rt::apply_direct(interp, "shen.application?", &[__t2471])? + aot_shen_x2e_application_x3f_(interp, &[__t2335])? }; - if match rt::is_truthy(interp, &__t2472) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2473 = v_V2869.clone(); rt::apply_direct(interp, "shen.simple-curry", &[__t2473])? }); } else { { let __t2478 = { let __t2475 = { let __t2474 = v_V2869.clone(); rt::hd(&__t2474)? }; let __t2476 = v_W2871.clone(); let __t2477 = v_W2872.clone(); rt::apply_direct(interp, "shen.partial-application*?", &[__t2475, __t2476, __t2477])? }; if match rt::is_truthy(interp, &__t2478) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2479 = v_V2869.clone(); let __t2482 = { let __t2480 = v_W2871.clone(); let __t2481 = v_W2872.clone(); rt::sub(&__t2480, &__t2481)? }; rt::apply_direct(interp, "shen.lambda-function", &[__t2479, __t2482])? }); } else { { let __t2487 = { let __t2484 = { let __t2483 = v_V2869.clone(); rt::hd(&__t2483)? }; let __t2485 = v_W2871.clone(); let __t2486 = v_W2872.clone(); rt::apply_direct(interp, "shen.overapplication?", &[__t2484, __t2485, __t2486])? }; if match rt::is_truthy(interp, &__t2487) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2496 = { let __t2493 = { let __t2488 = Value::sym(interp.intern("fn")); let __t2492 = { let __t2490 = { let __t2489 = v_V2869.clone(); rt::hd(&__t2489)? }; let __t2491 = Value::nil(); rt::cons(&__t2490, &__t2491) }; rt::cons(&__t2488, &__t2492) }; let __t2495 = { let __t2494 = v_V2869.clone(); rt::tl(&__t2494)? }; rt::cons(&__t2493, &__t2495) }; rt::apply_direct(interp, "shen.simple-curry", &[__t2496])? }); } else { break Ok(v_V2869.clone()); } } } } } + if match rt::is_truthy(interp, &__t2336) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2337 = v_V2869.clone(); aot_shen_x2e_simple_x2d_curry(interp, &[__t2337])? }); } else { { let __t2342 = { let __t2339 = { let __t2338 = v_V2869.clone(); rt::hd(&__t2338)? }; let __t2340 = v_W2871.clone(); let __t2341 = v_W2872.clone(); aot_shen_x2e_partial_x2d_application_x2a__x3f_(interp, &[__t2339, __t2340, __t2341])? }; if match rt::is_truthy(interp, &__t2342) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2343 = v_V2869.clone(); let __t2346 = { let __t2344 = v_W2871.clone(); let __t2345 = v_W2872.clone(); rt::sub(&__t2344, &__t2345)? }; aot_shen_x2e_lambda_x2d_function(interp, &[__t2343, __t2346])? }); } else { { let __t2351 = { let __t2348 = { let __t2347 = v_V2869.clone(); rt::hd(&__t2347)? }; let __t2349 = v_W2871.clone(); let __t2350 = v_W2872.clone(); aot_shen_x2e_overapplication_x3f_(interp, &[__t2348, __t2349, __t2350])? }; if match rt::is_truthy(interp, &__t2351) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2360 = { let __t2357 = { let __t2352 = Value::sym(interp.intern_static("fn")); let __t2356 = { let __t2354 = { let __t2353 = v_V2869.clone(); rt::hd(&__t2353)? }; let __t2355 = Value::nil(); rt::cons(&__t2354, &__t2355) }; rt::cons(&__t2352, &__t2356) }; let __t2359 = { let __t2358 = v_V2869.clone(); rt::tl(&__t2358)? }; rt::cons(&__t2357, &__t2359) }; aot_shen_x2e_simple_x2d_curry(interp, &[__t2360])? }); } else { break Ok(v_V2869.clone()); } } } } } } } } @@ -14074,14 +13639,14 @@ pub fn aot_shen_x2e_process_x2d_application( } } else { { - let __t2433 = Value::bool(true); - if match rt::is_truthy(interp, &__t2433) { + let __t2297 = Value::bool(true); + if match rt::is_truthy(interp, &__t2297) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2432 = Value::str("partial function shen.process-application"); - rt::apply_direct(interp, "simple-error", &[__t2432])? + let __t2296 = Value::str("partial function shen.process-application"); + rt::apply_direct(interp, "simple-error", &[__t2296])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -14117,111 +13682,110 @@ pub fn aot_shen_x2e_unpack_x2d_foreign(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t2529 = { - let __t2521 = { - let __t2500 = v_V2873.clone(); - rt::is_cons(&__t2500) + let __t2389 = { + let __t2381 = { + let __t2364 = v_V2873.clone(); + rt::is_cons(&__t2364) }; - if !rt::is_truthy(interp, &__t2521)? { + if !rt::is_truthy(interp, &__t2381)? { Value::bool(false) } else { - let __t2522 = { - let __t2519 = { - let __t2502 = { - let __t2501 = v_V2873.clone(); - rt::hd(&__t2501)? + let __t2382 = { + let __t2379 = { + let __t2366 = { + let __t2365 = v_V2873.clone(); + rt::hd(&__t2365)? }; - rt::is_cons(&__t2502) + rt::is_cons(&__t2366) }; - if !rt::is_truthy(interp, &__t2519)? { + if !rt::is_truthy(interp, &__t2379)? { Value::bool(false) } else { - let __t2520 = { - let __t2517 = { - let __t2503 = Value::sym(interp.intern("foreign")); - let __t2506 = { - let __t2505 = { - let __t2504 = v_V2873.clone(); - rt::hd(&__t2504)? + let __t2380 = { + let __t2377 = Value::bool( + ({ + let __t2368 = { + let __t2367 = v_V2873.clone(); + rt::hd(&__t2367)? }; - rt::hd(&__t2505)? - }; - rt::eq(&__t2503, &__t2506) - }; - if !rt::is_truthy(interp, &__t2517)? { + rt::hd(&__t2368)? + }) + .as_sym() + == Some(interp.intern_static("foreign")), + ); + if !rt::is_truthy(interp, &__t2377)? { Value::bool(false) } else { - let __t2518 = { - let __t2515 = { - let __t2509 = { - let __t2508 = { - let __t2507 = v_V2873.clone(); - rt::hd(&__t2507)? + let __t2378 = { + let __t2375 = { + let __t2371 = { + let __t2370 = { + let __t2369 = v_V2873.clone(); + rt::hd(&__t2369)? }; - rt::tl(&__t2508)? + rt::tl(&__t2370)? }; - rt::is_cons(&__t2509) + rt::is_cons(&__t2371) }; - if !rt::is_truthy(interp, &__t2515)? { + if !rt::is_truthy(interp, &__t2375)? { Value::bool(false) } else { - let __t2516 = { - let __t2510 = Value::nil(); - let __t2514 = { - let __t2513 = { - let __t2512 = { - let __t2511 = v_V2873.clone(); - rt::hd(&__t2511)? + let __t2376 = Value::bool( + ({ + let __t2374 = { + let __t2373 = { + let __t2372 = v_V2873.clone(); + rt::hd(&__t2372)? }; - rt::tl(&__t2512)? + rt::tl(&__t2373)? }; - rt::tl(&__t2513)? - }; - rt::eq(&__t2510, &__t2514) - }; - Value::bool(rt::is_truthy(interp, &__t2516)?) + rt::tl(&__t2374)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2376)?) } }; - Value::bool(rt::is_truthy(interp, &__t2518)?) + Value::bool(rt::is_truthy(interp, &__t2378)?) } }; - Value::bool(rt::is_truthy(interp, &__t2520)?) + Value::bool(rt::is_truthy(interp, &__t2380)?) } }; - Value::bool(rt::is_truthy(interp, &__t2522)?) + Value::bool(rt::is_truthy(interp, &__t2382)?) } }; - if match rt::is_truthy(interp, &__t2529) { + if match rt::is_truthy(interp, &__t2389) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2526 = { - let __t2525 = { - let __t2524 = { - let __t2523 = v_V2873.clone(); - rt::hd(&__t2523)? + let __t2386 = { + let __t2385 = { + let __t2384 = { + let __t2383 = v_V2873.clone(); + rt::hd(&__t2383)? }; - rt::tl(&__t2524)? + rt::tl(&__t2384)? }; - rt::hd(&__t2525)? + rt::hd(&__t2385)? }; - let __t2528 = { - let __t2527 = v_V2873.clone(); - rt::tl(&__t2527)? + let __t2388 = { + let __t2387 = v_V2873.clone(); + rt::tl(&__t2387)? }; - rt::cons(&__t2526, &__t2528) + rt::cons(&__t2386, &__t2388) }); } else { { - let __t2499 = Value::bool(true); - if match rt::is_truthy(interp, &__t2499) { + let __t2363 = Value::bool(true); + if match rt::is_truthy(interp, &__t2363) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2498 = Value::str("partial function shen.unpack-foreign"); - rt::apply_direct(interp, "simple-error", &[__t2498])? + let __t2362 = Value::str("partial function shen.unpack-foreign"); + rt::apply_direct(interp, "simple-error", &[__t2362])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -14250,89 +13814,88 @@ pub fn aot_shen_x2e_foreign_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t2554 = { - let __t2552 = { - let __t2531 = v_V2876.clone(); - rt::is_cons(&__t2531) + let __t2410 = { + let __t2408 = { + let __t2391 = v_V2876.clone(); + rt::is_cons(&__t2391) }; - if !rt::is_truthy(interp, &__t2552)? { + if !rt::is_truthy(interp, &__t2408)? { Value::bool(false) } else { - let __t2553 = { - let __t2550 = { - let __t2533 = { - let __t2532 = v_V2876.clone(); - rt::hd(&__t2532)? + let __t2409 = { + let __t2406 = { + let __t2393 = { + let __t2392 = v_V2876.clone(); + rt::hd(&__t2392)? }; - rt::is_cons(&__t2533) + rt::is_cons(&__t2393) }; - if !rt::is_truthy(interp, &__t2550)? { + if !rt::is_truthy(interp, &__t2406)? { Value::bool(false) } else { - let __t2551 = { - let __t2548 = { - let __t2534 = Value::sym(interp.intern("foreign")); - let __t2537 = { - let __t2536 = { - let __t2535 = v_V2876.clone(); - rt::hd(&__t2535)? + let __t2407 = { + let __t2404 = Value::bool( + ({ + let __t2395 = { + let __t2394 = v_V2876.clone(); + rt::hd(&__t2394)? }; - rt::hd(&__t2536)? - }; - rt::eq(&__t2534, &__t2537) - }; - if !rt::is_truthy(interp, &__t2548)? { + rt::hd(&__t2395)? + }) + .as_sym() + == Some(interp.intern_static("foreign")), + ); + if !rt::is_truthy(interp, &__t2404)? { Value::bool(false) } else { - let __t2549 = { - let __t2546 = { - let __t2540 = { - let __t2539 = { - let __t2538 = v_V2876.clone(); - rt::hd(&__t2538)? + let __t2405 = { + let __t2402 = { + let __t2398 = { + let __t2397 = { + let __t2396 = v_V2876.clone(); + rt::hd(&__t2396)? }; - rt::tl(&__t2539)? + rt::tl(&__t2397)? }; - rt::is_cons(&__t2540) + rt::is_cons(&__t2398) }; - if !rt::is_truthy(interp, &__t2546)? { + if !rt::is_truthy(interp, &__t2402)? { Value::bool(false) } else { - let __t2547 = { - let __t2541 = Value::nil(); - let __t2545 = { - let __t2544 = { - let __t2543 = { - let __t2542 = v_V2876.clone(); - rt::hd(&__t2542)? + let __t2403 = Value::bool( + ({ + let __t2401 = { + let __t2400 = { + let __t2399 = v_V2876.clone(); + rt::hd(&__t2399)? }; - rt::tl(&__t2543)? + rt::tl(&__t2400)? }; - rt::tl(&__t2544)? - }; - rt::eq(&__t2541, &__t2545) - }; - Value::bool(rt::is_truthy(interp, &__t2547)?) + rt::tl(&__t2401)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2403)?) } }; - Value::bool(rt::is_truthy(interp, &__t2549)?) + Value::bool(rt::is_truthy(interp, &__t2405)?) } }; - Value::bool(rt::is_truthy(interp, &__t2551)?) + Value::bool(rt::is_truthy(interp, &__t2407)?) } }; - Value::bool(rt::is_truthy(interp, &__t2553)?) + Value::bool(rt::is_truthy(interp, &__t2409)?) } }; - if match rt::is_truthy(interp, &__t2554) { + if match rt::is_truthy(interp, &__t2410) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2530 = Value::bool(true); - if match rt::is_truthy(interp, &__t2530) { + let __t2390 = Value::bool(true); + if match rt::is_truthy(interp, &__t2390) { Ok(b) => b, Err(e) => break Err(e), } { @@ -14364,34 +13927,33 @@ pub fn aot_shen_x2e_zero_x2d_place_x3f_(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t2562 = { - let __t2560 = { - let __t2556 = v_V2879.clone(); - rt::is_cons(&__t2556) + let __t2416 = { + let __t2414 = { + let __t2412 = v_V2879.clone(); + rt::is_cons(&__t2412) }; - if !rt::is_truthy(interp, &__t2560)? { + if !rt::is_truthy(interp, &__t2414)? { Value::bool(false) } else { - let __t2561 = { - let __t2557 = Value::nil(); - let __t2559 = { - let __t2558 = v_V2879.clone(); - rt::tl(&__t2558)? - }; - rt::eq(&__t2557, &__t2559) - }; - Value::bool(rt::is_truthy(interp, &__t2561)?) + let __t2415 = Value::bool( + ({ + let __t2413 = v_V2879.clone(); + rt::tl(&__t2413)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2415)?) } }; - if match rt::is_truthy(interp, &__t2562) { + if match rt::is_truthy(interp, &__t2416) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2555 = Value::bool(true); - if match rt::is_truthy(interp, &__t2555) { + let __t2411 = Value::bool(true); + if match rt::is_truthy(interp, &__t2411) { Ok(b) => b, Err(e) => break Err(e), } { @@ -14423,22 +13985,22 @@ pub fn aot_shen_x2e_shen_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t2564 = { - let __t2563 = v_V2880.clone(); - rt::is_symbol(&__t2563) + let __t2418 = { + let __t2417 = v_V2880.clone(); + rt::apply_direct(interp, "symbol?", &[__t2417])? }; - if !match rt::is_truthy(interp, &__t2564) { + if !match rt::is_truthy(interp, &__t2418) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t2566 = { - let __t2565 = v_V2880.clone(); - rt::apply_direct(interp, "str", &[__t2565])? + let __t2420 = { + let __t2419 = v_V2880.clone(); + rt::apply_direct(interp, "str", &[__t2419])? }; - rt::apply_direct(interp, "shen.internal-to-shen?", &[__t2566])? + aot_shen_x2e_internal_x2d_to_x2d_shen_x3f_(interp, &[__t2420])? }); } } @@ -14463,130 +14025,128 @@ pub fn aot_shen_x2e_application_x3f_(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t2602 = { - let __t2600 = { - let __t2586 = v_V2885.clone(); - rt::is_cons(&__t2586) + let __t2448 = { + let __t2446 = { + let __t2436 = v_V2885.clone(); + rt::is_cons(&__t2436) }; - if !rt::is_truthy(interp, &__t2600)? { + if !rt::is_truthy(interp, &__t2446)? { Value::bool(false) } else { - let __t2601 = { - let __t2598 = { - let __t2587 = Value::sym(interp.intern("protect")); - let __t2589 = { - let __t2588 = v_V2885.clone(); - rt::hd(&__t2588)? - }; - rt::eq(&__t2587, &__t2589) - }; - if !rt::is_truthy(interp, &__t2598)? { + let __t2447 = { + let __t2444 = Value::bool( + ({ + let __t2437 = v_V2885.clone(); + rt::hd(&__t2437)? + }) + .as_sym() + == Some(interp.intern_static("protect")), + ); + if !rt::is_truthy(interp, &__t2444)? { Value::bool(false) } else { - let __t2599 = { - let __t2596 = { - let __t2591 = { - let __t2590 = v_V2885.clone(); - rt::tl(&__t2590)? + let __t2445 = { + let __t2442 = { + let __t2439 = { + let __t2438 = v_V2885.clone(); + rt::tl(&__t2438)? }; - rt::is_cons(&__t2591) + rt::is_cons(&__t2439) }; - if !rt::is_truthy(interp, &__t2596)? { + if !rt::is_truthy(interp, &__t2442)? { Value::bool(false) } else { - let __t2597 = { - let __t2592 = Value::nil(); - let __t2595 = { - let __t2594 = { - let __t2593 = v_V2885.clone(); - rt::tl(&__t2593)? + let __t2443 = Value::bool( + ({ + let __t2441 = { + let __t2440 = v_V2885.clone(); + rt::tl(&__t2440)? }; - rt::tl(&__t2594)? - }; - rt::eq(&__t2592, &__t2595) - }; - Value::bool(rt::is_truthy(interp, &__t2597)?) + rt::tl(&__t2441)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2443)?) } }; - Value::bool(rt::is_truthy(interp, &__t2599)?) + Value::bool(rt::is_truthy(interp, &__t2445)?) } }; - Value::bool(rt::is_truthy(interp, &__t2601)?) + Value::bool(rt::is_truthy(interp, &__t2447)?) } }; - if match rt::is_truthy(interp, &__t2602) { + if match rt::is_truthy(interp, &__t2448) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t2585 = { - let __t2583 = { - let __t2569 = v_V2885.clone(); - rt::is_cons(&__t2569) + let __t2435 = { + let __t2433 = { + let __t2423 = v_V2885.clone(); + rt::is_cons(&__t2423) }; - if !rt::is_truthy(interp, &__t2583)? { + if !rt::is_truthy(interp, &__t2433)? { Value::bool(false) } else { - let __t2584 = { - let __t2581 = { - let __t2570 = Value::sym(interp.intern("foreign")); - let __t2572 = { - let __t2571 = v_V2885.clone(); - rt::hd(&__t2571)? - }; - rt::eq(&__t2570, &__t2572) - }; - if !rt::is_truthy(interp, &__t2581)? { + let __t2434 = { + let __t2431 = Value::bool( + ({ + let __t2424 = v_V2885.clone(); + rt::hd(&__t2424)? + }) + .as_sym() + == Some(interp.intern_static("foreign")), + ); + if !rt::is_truthy(interp, &__t2431)? { Value::bool(false) } else { - let __t2582 = { - let __t2579 = { - let __t2574 = { - let __t2573 = v_V2885.clone(); - rt::tl(&__t2573)? + let __t2432 = { + let __t2429 = { + let __t2426 = { + let __t2425 = v_V2885.clone(); + rt::tl(&__t2425)? }; - rt::is_cons(&__t2574) + rt::is_cons(&__t2426) }; - if !rt::is_truthy(interp, &__t2579)? { + if !rt::is_truthy(interp, &__t2429)? { Value::bool(false) } else { - let __t2580 = { - let __t2575 = Value::nil(); - let __t2578 = { - let __t2577 = { - let __t2576 = v_V2885.clone(); - rt::tl(&__t2576)? + let __t2430 = Value::bool( + ({ + let __t2428 = { + let __t2427 = v_V2885.clone(); + rt::tl(&__t2427)? }; - rt::tl(&__t2577)? - }; - rt::eq(&__t2575, &__t2578) - }; - Value::bool(rt::is_truthy(interp, &__t2580)?) + rt::tl(&__t2428)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2430)?) } }; - Value::bool(rt::is_truthy(interp, &__t2582)?) + Value::bool(rt::is_truthy(interp, &__t2432)?) } }; - Value::bool(rt::is_truthy(interp, &__t2584)?) + Value::bool(rt::is_truthy(interp, &__t2434)?) } }; - if match rt::is_truthy(interp, &__t2585) { + if match rt::is_truthy(interp, &__t2435) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t2568 = Value::bool(true); - if match rt::is_truthy(interp, &__t2568) { + let __t2422 = Value::bool(true); + if match rt::is_truthy(interp, &__t2422) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2567 = v_V2885.clone(); - rt::is_cons(&__t2567) + let __t2421 = v_V2885.clone(); + rt::is_cons(&__t2421) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -14619,43 +14179,43 @@ pub fn aot_shen_x2e_undefined_x2d_f_x3f_(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t2612 = { - let __t2604 = Value::int(-1i64); - let __t2605 = v_V2891.clone(); - rt::eq(&__t2604, &__t2605) + let __t2458 = { + let __t2450 = Value::int(-1i64); + let __t2451 = v_V2891.clone(); + rt::eq(&__t2450, &__t2451) }; - if match rt::is_truthy(interp, &__t2612) { + if match rt::is_truthy(interp, &__t2458) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2607 = { - let __t2606 = v_V2890.clone(); - rt::apply_direct(interp, "shen.lowercase-symbol?", &[__t2606])? + let __t2453 = { + let __t2452 = v_V2890.clone(); + aot_shen_x2e_lowercase_x2d_symbol_x3f_(interp, &[__t2452])? }; - if !match rt::is_truthy(interp, &__t2607) { + if !match rt::is_truthy(interp, &__t2453) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t2611 = { - let __t2608 = v_V2890.clone(); - let __t2610 = { - let __t2609 = Value::sym(interp.intern("shen")); - rt::apply_direct(interp, "external", &[__t2609])? + let __t2457 = { + let __t2454 = v_V2890.clone(); + let __t2456 = { + let __t2455 = Value::sym(interp.intern_static("shen")); + rt::apply_direct(interp, "external", &[__t2455])? }; - rt::apply_direct(interp, "element?", &[__t2608, __t2610])? + rt::apply_direct(interp, "element?", &[__t2454, __t2456])? }; - rt::apply_direct(interp, "not", &[__t2611])? + rt::not(interp, &__t2457)? }); } } } else { { - let __t2603 = Value::bool(true); - if match rt::is_truthy(interp, &__t2603) { + let __t2449 = Value::bool(true); + if match rt::is_truthy(interp, &__t2449) { Ok(b) => b, Err(e) => break Err(e), } { @@ -14690,22 +14250,22 @@ pub fn aot_shen_x2e_lowercase_x2d_symbol_x3f_( #[allow(clippy::never_loop)] loop { { - let __t2614 = { - let __t2613 = v_V2892.clone(); - rt::is_symbol(&__t2613) + let __t2460 = { + let __t2459 = v_V2892.clone(); + rt::apply_direct(interp, "symbol?", &[__t2459])? }; - if !match rt::is_truthy(interp, &__t2614) { + if !match rt::is_truthy(interp, &__t2460) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t2616 = { - let __t2615 = v_V2892.clone(); - rt::apply_direct(interp, "variable?", &[__t2615])? + let __t2462 = { + let __t2461 = v_V2892.clone(); + rt::apply_direct(interp, "variable?", &[__t2461])? }; - rt::apply_direct(interp, "not", &[__t2616])? + rt::not(interp, &__t2462)? }); } } @@ -14737,124 +14297,123 @@ pub fn aot_shen_x2e_simple_x2d_curry(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t2652 = { - let __t2650 = { - let __t2641 = v_V2893.clone(); - rt::is_cons(&__t2641) + let __t2496 = { + let __t2494 = { + let __t2487 = v_V2893.clone(); + rt::is_cons(&__t2487) }; - if !rt::is_truthy(interp, &__t2650)? { + if !rt::is_truthy(interp, &__t2494)? { Value::bool(false) } else { - let __t2651 = { - let __t2648 = { - let __t2643 = { - let __t2642 = v_V2893.clone(); - rt::tl(&__t2642)? + let __t2495 = { + let __t2492 = { + let __t2489 = { + let __t2488 = v_V2893.clone(); + rt::tl(&__t2488)? }; - rt::is_cons(&__t2643) + rt::is_cons(&__t2489) }; - if !rt::is_truthy(interp, &__t2648)? { + if !rt::is_truthy(interp, &__t2492)? { Value::bool(false) } else { - let __t2649 = { - let __t2644 = Value::nil(); - let __t2647 = { - let __t2646 = { - let __t2645 = v_V2893.clone(); - rt::tl(&__t2645)? + let __t2493 = Value::bool( + ({ + let __t2491 = { + let __t2490 = v_V2893.clone(); + rt::tl(&__t2490)? }; - rt::tl(&__t2646)? - }; - rt::eq(&__t2644, &__t2647) - }; - Value::bool(rt::is_truthy(interp, &__t2649)?) + rt::tl(&__t2491)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2493)?) } }; - Value::bool(rt::is_truthy(interp, &__t2651)?) + Value::bool(rt::is_truthy(interp, &__t2495)?) } }; - if match rt::is_truthy(interp, &__t2652) { + if match rt::is_truthy(interp, &__t2496) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2893.clone()); } else { { - let __t2640 = { - let __t2626 = { - let __t2618 = v_V2893.clone(); - rt::is_cons(&__t2618) + let __t2486 = { + let __t2472 = { + let __t2464 = v_V2893.clone(); + rt::is_cons(&__t2464) }; - if !rt::is_truthy(interp, &__t2626)? { + if !rt::is_truthy(interp, &__t2472)? { Value::bool(false) } else { - let __t2627 = { - let __t2624 = { - let __t2620 = { - let __t2619 = v_V2893.clone(); - rt::tl(&__t2619)? + let __t2473 = { + let __t2470 = { + let __t2466 = { + let __t2465 = v_V2893.clone(); + rt::tl(&__t2465)? }; - rt::is_cons(&__t2620) + rt::is_cons(&__t2466) }; - if !rt::is_truthy(interp, &__t2624)? { + if !rt::is_truthy(interp, &__t2470)? { Value::bool(false) } else { - let __t2625 = { - let __t2623 = { - let __t2622 = { - let __t2621 = v_V2893.clone(); - rt::tl(&__t2621)? + let __t2471 = { + let __t2469 = { + let __t2468 = { + let __t2467 = v_V2893.clone(); + rt::tl(&__t2467)? }; - rt::tl(&__t2622)? + rt::tl(&__t2468)? }; - rt::is_cons(&__t2623) + rt::is_cons(&__t2469) }; - Value::bool(rt::is_truthy(interp, &__t2625)?) + Value::bool(rt::is_truthy(interp, &__t2471)?) } }; - Value::bool(rt::is_truthy(interp, &__t2627)?) + Value::bool(rt::is_truthy(interp, &__t2473)?) } }; - if match rt::is_truthy(interp, &__t2640) { + if match rt::is_truthy(interp, &__t2486) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2639 = { - let __t2635 = { - let __t2629 = { - let __t2628 = v_V2893.clone(); - rt::hd(&__t2628)? + let __t2485 = { + let __t2481 = { + let __t2475 = { + let __t2474 = v_V2893.clone(); + rt::hd(&__t2474)? }; - let __t2634 = { - let __t2632 = { - let __t2631 = { - let __t2630 = v_V2893.clone(); - rt::tl(&__t2630)? + let __t2480 = { + let __t2478 = { + let __t2477 = { + let __t2476 = v_V2893.clone(); + rt::tl(&__t2476)? }; - rt::hd(&__t2631)? + rt::hd(&__t2477)? }; - let __t2633 = Value::nil(); - rt::cons(&__t2632, &__t2633) + let __t2479 = Value::nil(); + rt::cons(&__t2478, &__t2479) }; - rt::cons(&__t2629, &__t2634) + rt::cons(&__t2475, &__t2480) }; - let __t2638 = { - let __t2637 = { - let __t2636 = v_V2893.clone(); - rt::tl(&__t2636)? + let __t2484 = { + let __t2483 = { + let __t2482 = v_V2893.clone(); + rt::tl(&__t2482)? }; - rt::tl(&__t2637)? + rt::tl(&__t2483)? }; - rt::cons(&__t2635, &__t2638) + rt::cons(&__t2481, &__t2484) }; - v_V2893 = __t2639; + v_V2893 = __t2485; continue; } } else { { - let __t2617 = Value::bool(true); - if match rt::is_truthy(interp, &__t2617) { + let __t2463 = Value::bool(true); + if match rt::is_truthy(interp, &__t2463) { Ok(b) => b, Err(e) => break Err(e), } { @@ -14888,8 +14447,8 @@ pub fn aot_function(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t2653 = v_V2894.clone(); - rt::apply_direct(interp, "fn", &[__t2653])? + let __t2497 = v_V2894.clone(); + aot_fn(interp, &[__t2497])? }); } } @@ -14912,65 +14471,63 @@ pub fn aot_fn(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t2670 = { - let __t2668 = { - let __t2667 = v_V2895.clone(); - rt::apply_direct(interp, "arity", &[__t2667])? + let __t2513 = { + let __t2511 = { + let __t2510 = v_V2895.clone(); + rt::apply_direct(interp, "arity", &[__t2510])? }; - let __t2669 = Value::int(0i64); - rt::eq(&__t2668, &__t2669) + let __t2512 = Value::int(0i64); + rt::eq(&__t2511, &__t2512) }; - if match rt::is_truthy(interp, &__t2670) { + if match rt::is_truthy(interp, &__t2513) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ rt::apply_value(interp, v_V2895.clone(), &[])? }); } else { { - let __t2666 = Value::bool(true); - if match rt::is_truthy(interp, &__t2666) { + let __t2509 = Value::bool(true); + if match rt::is_truthy(interp, &__t2509) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2896 = { - let __t2654 = v_V2895.clone(); - let __t2656 = { - let __t2655 = Value::sym(interp.intern("shen.*lambdatable*")); - rt::apply_direct(interp, "value", &[__t2655])? - }; - rt::apply_direct(interp, "assoc", &[__t2654, __t2656])? + let __t2498 = v_V2895.clone(); + let __t2499 = rt::global_value(interp, "shen.*lambdatable*")?; + rt::apply_direct(interp, "assoc", &[__t2498, __t2499])? }; { - let __t2658 = { - let __t2657 = v_W2896.clone(); - rt::apply_direct(interp, "empty?", &[__t2657])? + let __t2501 = { + let __t2500 = v_W2896.clone(); + rt::is_empty(&__t2500) }; - if match rt::is_truthy(interp, &__t2658) { + if match rt::is_truthy(interp, &__t2501) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2664 = { - let __t2659 = Value::str("fn: "); - let __t2663 = { - let __t2660 = v_V2895.clone(); - let __t2661 = Value::str(" is undefined\n"); - let __t2662 = Value::sym(interp.intern("shen.a")); + let __t2507 = { + let __t2502 = Value::str("fn: "); + let __t2506 = { + let __t2503 = v_V2895.clone(); + let __t2504 = Value::str(" is undefined\n"); + let __t2505 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t2660, __t2661, __t2662], + &[__t2503, __t2504, __t2505], )? }; - rt::apply_direct(interp, "cn", &[__t2659, __t2663])? + rt::cn(&__t2502, &__t2506)? }; - rt::apply_direct(interp, "simple-error", &[__t2664])? + rt::apply_direct(interp, "simple-error", &[__t2507])? }); } else { break Ok({ - let __t2665 = v_W2896.clone(); - rt::tl(&__t2665)? + let __t2508 = v_W2896.clone(); + rt::tl(&__t2508)? }); } } @@ -15002,124 +14559,122 @@ pub fn aot_shen_x2e_fn_x2d_call_x3f_(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t2705 = { - let __t2703 = { - let __t2689 = v_V2899.clone(); - rt::is_cons(&__t2689) + let __t2540 = { + let __t2538 = { + let __t2528 = v_V2899.clone(); + rt::is_cons(&__t2528) }; - if !rt::is_truthy(interp, &__t2703)? { + if !rt::is_truthy(interp, &__t2538)? { Value::bool(false) } else { - let __t2704 = { - let __t2701 = { - let __t2690 = Value::sym(interp.intern("fn")); - let __t2692 = { - let __t2691 = v_V2899.clone(); - rt::hd(&__t2691)? - }; - rt::eq(&__t2690, &__t2692) - }; - if !rt::is_truthy(interp, &__t2701)? { + let __t2539 = { + let __t2536 = Value::bool( + ({ + let __t2529 = v_V2899.clone(); + rt::hd(&__t2529)? + }) + .as_sym() + == Some(interp.intern_static("fn")), + ); + if !rt::is_truthy(interp, &__t2536)? { Value::bool(false) } else { - let __t2702 = { - let __t2699 = { - let __t2694 = { - let __t2693 = v_V2899.clone(); - rt::tl(&__t2693)? + let __t2537 = { + let __t2534 = { + let __t2531 = { + let __t2530 = v_V2899.clone(); + rt::tl(&__t2530)? }; - rt::is_cons(&__t2694) + rt::is_cons(&__t2531) }; - if !rt::is_truthy(interp, &__t2699)? { + if !rt::is_truthy(interp, &__t2534)? { Value::bool(false) } else { - let __t2700 = { - let __t2695 = Value::nil(); - let __t2698 = { - let __t2697 = { - let __t2696 = v_V2899.clone(); - rt::tl(&__t2696)? + let __t2535 = Value::bool( + ({ + let __t2533 = { + let __t2532 = v_V2899.clone(); + rt::tl(&__t2532)? }; - rt::tl(&__t2697)? - }; - rt::eq(&__t2695, &__t2698) - }; - Value::bool(rt::is_truthy(interp, &__t2700)?) + rt::tl(&__t2533)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2535)?) } }; - Value::bool(rt::is_truthy(interp, &__t2702)?) + Value::bool(rt::is_truthy(interp, &__t2537)?) } }; - Value::bool(rt::is_truthy(interp, &__t2704)?) + Value::bool(rt::is_truthy(interp, &__t2539)?) } }; - if match rt::is_truthy(interp, &__t2705) { + if match rt::is_truthy(interp, &__t2540) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2688 = { - let __t2686 = { - let __t2672 = v_V2899.clone(); - rt::is_cons(&__t2672) + let __t2527 = { + let __t2525 = { + let __t2515 = v_V2899.clone(); + rt::is_cons(&__t2515) }; - if !rt::is_truthy(interp, &__t2686)? { + if !rt::is_truthy(interp, &__t2525)? { Value::bool(false) } else { - let __t2687 = { - let __t2684 = { - let __t2673 = Value::sym(interp.intern("function")); - let __t2675 = { - let __t2674 = v_V2899.clone(); - rt::hd(&__t2674)? - }; - rt::eq(&__t2673, &__t2675) - }; - if !rt::is_truthy(interp, &__t2684)? { + let __t2526 = { + let __t2523 = Value::bool( + ({ + let __t2516 = v_V2899.clone(); + rt::hd(&__t2516)? + }) + .as_sym() + == Some(interp.intern_static("function")), + ); + if !rt::is_truthy(interp, &__t2523)? { Value::bool(false) } else { - let __t2685 = { - let __t2682 = { - let __t2677 = { - let __t2676 = v_V2899.clone(); - rt::tl(&__t2676)? + let __t2524 = { + let __t2521 = { + let __t2518 = { + let __t2517 = v_V2899.clone(); + rt::tl(&__t2517)? }; - rt::is_cons(&__t2677) + rt::is_cons(&__t2518) }; - if !rt::is_truthy(interp, &__t2682)? { + if !rt::is_truthy(interp, &__t2521)? { Value::bool(false) } else { - let __t2683 = { - let __t2678 = Value::nil(); - let __t2681 = { - let __t2680 = { - let __t2679 = v_V2899.clone(); - rt::tl(&__t2679)? + let __t2522 = Value::bool( + ({ + let __t2520 = { + let __t2519 = v_V2899.clone(); + rt::tl(&__t2519)? }; - rt::tl(&__t2680)? - }; - rt::eq(&__t2678, &__t2681) - }; - Value::bool(rt::is_truthy(interp, &__t2683)?) + rt::tl(&__t2520)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2522)?) } }; - Value::bool(rt::is_truthy(interp, &__t2685)?) + Value::bool(rt::is_truthy(interp, &__t2524)?) } }; - Value::bool(rt::is_truthy(interp, &__t2687)?) + Value::bool(rt::is_truthy(interp, &__t2526)?) } }; - if match rt::is_truthy(interp, &__t2688) { + if match rt::is_truthy(interp, &__t2527) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t2671 = Value::bool(true); - if match rt::is_truthy(interp, &__t2671) { + let __t2514 = Value::bool(true); + if match rt::is_truthy(interp, &__t2514) { Ok(b) => b, Err(e) => break Err(e), } { @@ -15153,178 +14708,175 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t2758 = { - let __t2752 = { - let __t2738 = v_V2900.clone(); - rt::is_cons(&__t2738) + let __t2585 = { + let __t2579 = { + let __t2569 = v_V2900.clone(); + rt::is_cons(&__t2569) }; - if !rt::is_truthy(interp, &__t2752)? { + if !rt::is_truthy(interp, &__t2579)? { Value::bool(false) } else { - let __t2753 = { - let __t2750 = { - let __t2739 = Value::sym(interp.intern("function")); - let __t2741 = { - let __t2740 = v_V2900.clone(); - rt::hd(&__t2740)? - }; - rt::eq(&__t2739, &__t2741) - }; - if !rt::is_truthy(interp, &__t2750)? { + let __t2580 = { + let __t2577 = Value::bool( + ({ + let __t2570 = v_V2900.clone(); + rt::hd(&__t2570)? + }) + .as_sym() + == Some(interp.intern_static("function")), + ); + if !rt::is_truthy(interp, &__t2577)? { Value::bool(false) } else { - let __t2751 = { - let __t2748 = { - let __t2743 = { - let __t2742 = v_V2900.clone(); - rt::tl(&__t2742)? + let __t2578 = { + let __t2575 = { + let __t2572 = { + let __t2571 = v_V2900.clone(); + rt::tl(&__t2571)? }; - rt::is_cons(&__t2743) + rt::is_cons(&__t2572) }; - if !rt::is_truthy(interp, &__t2748)? { + if !rt::is_truthy(interp, &__t2575)? { Value::bool(false) } else { - let __t2749 = { - let __t2744 = Value::nil(); - let __t2747 = { - let __t2746 = { - let __t2745 = v_V2900.clone(); - rt::tl(&__t2745)? + let __t2576 = Value::bool( + ({ + let __t2574 = { + let __t2573 = v_V2900.clone(); + rt::tl(&__t2573)? }; - rt::tl(&__t2746)? - }; - rt::eq(&__t2744, &__t2747) - }; - Value::bool(rt::is_truthy(interp, &__t2749)?) + rt::tl(&__t2574)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2576)?) } }; - Value::bool(rt::is_truthy(interp, &__t2751)?) + Value::bool(rt::is_truthy(interp, &__t2578)?) } }; - Value::bool(rt::is_truthy(interp, &__t2753)?) + Value::bool(rt::is_truthy(interp, &__t2580)?) } }; - if match rt::is_truthy(interp, &__t2758) { + if match rt::is_truthy(interp, &__t2585) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2757 = { - let __t2754 = Value::sym(interp.intern("fn")); - let __t2756 = { - let __t2755 = v_V2900.clone(); - rt::tl(&__t2755)? + let __t2584 = { + let __t2581 = Value::sym(interp.intern_static("fn")); + let __t2583 = { + let __t2582 = v_V2900.clone(); + rt::tl(&__t2582)? }; - rt::cons(&__t2754, &__t2756) + rt::cons(&__t2581, &__t2583) }; - v_V2900 = __t2757; + v_V2900 = __t2584; continue; } } else { { - let __t2737 = { - let __t2722 = { - let __t2708 = v_V2900.clone(); - rt::is_cons(&__t2708) + let __t2568 = { + let __t2553 = { + let __t2543 = v_V2900.clone(); + rt::is_cons(&__t2543) }; - if !rt::is_truthy(interp, &__t2722)? { + if !rt::is_truthy(interp, &__t2553)? { Value::bool(false) } else { - let __t2723 = { - let __t2720 = { - let __t2709 = Value::sym(interp.intern("fn")); - let __t2711 = { - let __t2710 = v_V2900.clone(); - rt::hd(&__t2710)? - }; - rt::eq(&__t2709, &__t2711) - }; - if !rt::is_truthy(interp, &__t2720)? { + let __t2554 = { + let __t2551 = Value::bool( + ({ + let __t2544 = v_V2900.clone(); + rt::hd(&__t2544)? + }) + .as_sym() + == Some(interp.intern_static("fn")), + ); + if !rt::is_truthy(interp, &__t2551)? { Value::bool(false) } else { - let __t2721 = { - let __t2718 = { - let __t2713 = { - let __t2712 = v_V2900.clone(); - rt::tl(&__t2712)? + let __t2552 = { + let __t2549 = { + let __t2546 = { + let __t2545 = v_V2900.clone(); + rt::tl(&__t2545)? }; - rt::is_cons(&__t2713) + rt::is_cons(&__t2546) }; - if !rt::is_truthy(interp, &__t2718)? { + if !rt::is_truthy(interp, &__t2549)? { Value::bool(false) } else { - let __t2719 = { - let __t2714 = Value::nil(); - let __t2717 = { - let __t2716 = { - let __t2715 = v_V2900.clone(); - rt::tl(&__t2715)? + let __t2550 = Value::bool( + ({ + let __t2548 = { + let __t2547 = v_V2900.clone(); + rt::tl(&__t2547)? }; - rt::tl(&__t2716)? - }; - rt::eq(&__t2714, &__t2717) - }; - Value::bool(rt::is_truthy(interp, &__t2719)?) + rt::tl(&__t2548)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t2550)?) } }; - Value::bool(rt::is_truthy(interp, &__t2721)?) + Value::bool(rt::is_truthy(interp, &__t2552)?) } }; - Value::bool(rt::is_truthy(interp, &__t2723)?) + Value::bool(rt::is_truthy(interp, &__t2554)?) } }; - if match rt::is_truthy(interp, &__t2737) { + if match rt::is_truthy(interp, &__t2568) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2901 = { - let __t2726 = { - let __t2725 = { - let __t2724 = v_V2900.clone(); - rt::tl(&__t2724)? + let __t2557 = { + let __t2556 = { + let __t2555 = v_V2900.clone(); + rt::tl(&__t2555)? }; - rt::hd(&__t2725)? + rt::hd(&__t2556)? }; - rt::apply_direct(interp, "arity", &[__t2726])? + rt::apply_direct(interp, "arity", &[__t2557])? }; { - let __t2729 = { - let __t2727 = v_W2901.clone(); - let __t2728 = Value::int(-1i64); - rt::eq(&__t2727, &__t2728) + let __t2560 = { + let __t2558 = v_W2901.clone(); + let __t2559 = Value::int(-1i64); + rt::eq(&__t2558, &__t2559) }; - if match rt::is_truthy(interp, &__t2729) { + if match rt::is_truthy(interp, &__t2560) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V2900.clone()); } else { { - let __t2732 = { - let __t2730 = v_W2901.clone(); - let __t2731 = Value::int(0i64); - rt::eq(&__t2730, &__t2731) + let __t2563 = { + let __t2561 = v_W2901.clone(); + let __t2562 = Value::int(0i64); + rt::eq(&__t2561, &__t2562) }; - if match rt::is_truthy(interp, &__t2732) { + if match rt::is_truthy(interp, &__t2563) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2733 = v_V2900.clone(); - rt::tl(&__t2733)? + let __t2564 = v_V2900.clone(); + rt::tl(&__t2564)? }); } else { break Ok({ - let __t2735 = { - let __t2734 = v_V2900.clone(); - rt::tl(&__t2734)? + let __t2566 = { + let __t2565 = v_V2900.clone(); + rt::tl(&__t2565)? }; - let __t2736 = v_W2901.clone(); - rt::apply_direct( + let __t2567 = v_W2901.clone(); + aot_shen_x2e_lambda_x2d_function( interp, - "shen.lambda-function", - &[__t2735, __t2736], + &[__t2566, __t2567], )? }); } @@ -15334,14 +14886,14 @@ pub fn aot_shen_x2e_fn_x2d_call(interp: &mut Interp, args: &[Value]) -> ShenResu } } else { { - let __t2707 = Value::bool(true); - if match rt::is_truthy(interp, &__t2707) { + let __t2542 = Value::bool(true); + if match rt::is_truthy(interp, &__t2542) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2706 = Value::str("partial function shen.fn-call"); - rt::apply_direct(interp, "simple-error", &[__t2706])? + let __t2541 = Value::str("partial function shen.fn-call"); + rt::apply_direct(interp, "simple-error", &[__t2541])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -15380,69 +14932,70 @@ pub fn aot_shen_x2e_partial_x2d_application_x2a__x3f_( loop { { let v_W2905 = { - let __t2759 = v_V2903.clone(); - let __t2760 = v_V2904.clone(); - rt::gt(&__t2759, &__t2760)? + let __t2586 = v_V2903.clone(); + let __t2587 = v_V2904.clone(); + rt::gt(&__t2586, &__t2587)? }; { let v_W2906 = { - let __t2779 = { - let __t2770 = v_W2905.clone(); - if !rt::is_truthy(interp, &__t2770)? { + let __t2606 = { + let __t2597 = v_W2905.clone(); + if !rt::is_truthy(interp, &__t2597)? { Value::bool(false) } else { - let __t2771 = { - let __t2768 = { rt::apply_direct(interp, "shen.loading?", &[])? }; - if !rt::is_truthy(interp, &__t2768)? { + let __t2598 = { + let __t2595 = { aot_shen_x2e_loading_x3f_(interp, &[])? }; + if !rt::is_truthy(interp, &__t2595)? { Value::bool(false) } else { - let __t2769 = { - let __t2767 = { - let __t2761 = v_V2902.clone(); - let __t2766 = { - let __t2762 = Value::sym(interp.intern("+")); - let __t2765 = { - let __t2763 = Value::sym(interp.intern("-")); - let __t2764 = Value::nil(); - rt::cons(&__t2763, &__t2764) + let __t2596 = { + let __t2594 = { + let __t2588 = v_V2902.clone(); + let __t2593 = { + let __t2589 = Value::sym(interp.intern_static("+")); + let __t2592 = { + let __t2590 = + Value::sym(interp.intern_static("-")); + let __t2591 = Value::nil(); + rt::cons(&__t2590, &__t2591) }; - rt::cons(&__t2762, &__t2765) + rt::cons(&__t2589, &__t2592) }; rt::apply_direct( interp, "element?", - &[__t2761, __t2766], + &[__t2588, __t2593], )? }; - rt::apply_direct(interp, "not", &[__t2767])? + rt::not(interp, &__t2594)? }; - Value::bool(rt::is_truthy(interp, &__t2769)?) + Value::bool(rt::is_truthy(interp, &__t2596)?) } }; - Value::bool(rt::is_truthy(interp, &__t2771)?) + Value::bool(rt::is_truthy(interp, &__t2598)?) } }; - if rt::is_truthy(interp, &__t2779)? { - { - let __t2777 = { - let __t2772 = Value::str("partial application of "); - let __t2776 = { - let __t2773 = v_V2902.clone(); - let __t2774 = Value::str("\n"); - let __t2775 = Value::sym(interp.intern("shen.a")); + if rt::is_truthy(interp, &__t2606)? { + { + let __t2604 = { + let __t2599 = Value::str("partial application of "); + let __t2603 = { + let __t2600 = v_V2902.clone(); + let __t2601 = Value::str("\n"); + let __t2602 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t2773, __t2774, __t2775], + &[__t2600, __t2601, __t2602], )? }; - rt::apply_direct(interp, "cn", &[__t2772, __t2776])? + rt::cn(&__t2599, &__t2603)? }; - let __t2778 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t2777, __t2778])? + let __t2605 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t2604, __t2605])? } } else { - Value::sym(interp.intern("shen.skip")) + Value::sym(interp.intern_static("shen.skip")) } }; break Ok(v_W2905.clone()); @@ -15473,10 +15026,7 @@ pub fn aot_shen_x2e_loading_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t2780 = Value::sym(interp.intern("shen.*loading?*")); - rt::apply_direct(interp, "value", &[__t2780])? - }); + break Ok(rt::global_value(interp, "shen.*loading?*")?); } } @@ -15502,111 +15052,105 @@ pub fn aot_shen_x2e_overapplication_x3f_(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t2807 = { - let __t2805 = Value::int(-1i64); - let __t2806 = v_V2912.clone(); - rt::eq(&__t2805, &__t2806) + let __t2633 = { + let __t2631 = Value::int(-1i64); + let __t2632 = v_V2912.clone(); + rt::eq(&__t2631, &__t2632) }; - if match rt::is_truthy(interp, &__t2807) { + if match rt::is_truthy(interp, &__t2633) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t2804 = Value::bool(true); - if match rt::is_truthy(interp, &__t2804) { + let __t2630 = Value::bool(true); + if match rt::is_truthy(interp, &__t2630) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W2914 = { - let __t2781 = v_V2912.clone(); - let __t2782 = v_V2913.clone(); - rt::lt(&__t2781, &__t2782)? + let __t2607 = v_V2912.clone(); + let __t2608 = v_V2913.clone(); + rt::lt(&__t2607, &__t2608)? }; { let v_W2915 = { - let __t2803 = { - let __t2783 = v_W2914.clone(); - if !rt::is_truthy(interp, &__t2783)? { + let __t2629 = { + let __t2609 = v_W2914.clone(); + if !rt::is_truthy(interp, &__t2609)? { Value::bool(false) } else { - let __t2784 = - { rt::apply_direct(interp, "shen.loading?", &[])? }; - Value::bool(rt::is_truthy(interp, &__t2784)?) + let __t2610 = + { aot_shen_x2e_loading_x3f_(interp, &[])? }; + Value::bool(rt::is_truthy(interp, &__t2610)?) } }; - if rt::is_truthy(interp, &__t2803)? { + if rt::is_truthy(interp, &__t2629)? { { - let __t2801 = { - let __t2785 = v_V2911.clone(); - let __t2799 = { - let __t2786 = Value::str(" might not like "); - let __t2798 = { - let __t2787 = v_V2913.clone(); - let __t2796 = { - let __t2788 = Value::str(" argument"); - let __t2795 = { - let __t2792 = { - let __t2791 = { - let __t2789 = + let __t2627 = { + let __t2611 = v_V2911.clone(); + let __t2625 = { + let __t2612 = Value::str(" might not like "); + let __t2624 = { + let __t2613 = v_V2913.clone(); + let __t2622 = { + let __t2614 = Value::str(" argument"); + let __t2621 = { + let __t2618 = { + let __t2617 = { + let __t2615 = v_V2913.clone(); - let __t2790 = + let __t2616 = Value::int(1i64); - rt::eq(&__t2789, &__t2790) + rt::eq(&__t2615, &__t2616) }; if rt::is_truthy( - interp, &__t2791, + interp, &__t2617, )? { Value::str("") } else { Value::str("s") } }; - let __t2793 = Value::str("\n"); - let __t2794 = Value::sym( - interp.intern("shen.a"), + let __t2619 = Value::str("\n"); + let __t2620 = Value::sym( + interp.intern_static("shen.a"), ); rt::apply_direct( interp, "shen.app", - &[__t2792, __t2793, __t2794], + &[__t2618, __t2619, __t2620], )? }; - rt::apply_direct( - interp, - "cn", - &[__t2788, __t2795], - )? + rt::cn(&__t2614, &__t2621)? }; - let __t2797 = - Value::sym(interp.intern("shen.a")); + let __t2623 = Value::sym( + interp.intern_static("shen.a"), + ); rt::apply_direct( interp, "shen.app", - &[__t2787, __t2796, __t2797], + &[__t2613, __t2622, __t2623], )? }; - rt::apply_direct( - interp, - "cn", - &[__t2786, __t2798], - )? + rt::cn(&__t2612, &__t2624)? }; - let __t2800 = Value::sym(interp.intern("shen.a")); + let __t2626 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t2785, __t2799, __t2800], + &[__t2611, __t2625, __t2626], )? }; - let __t2802 = + let __t2628 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t2801, __t2802])? + rt::apply_direct(interp, "pr", &[__t2627, __t2628])? } } else { - Value::sym(interp.intern("shen.skip")) + Value::sym(interp.intern_static("shen.skip")) } }; break Ok(v_W2914.clone()); diff --git a/crates/shen-rust/src/aot/kernel/sequent.rs b/crates/shen-rust/src/aot/kernel/sequent.rs index 8b78332..01ab06d 100644 --- a/crates/shen-rust/src/aot/kernel/sequent.rs +++ b/crates/shen-rust/src/aot/kernel/sequent.rs @@ -55,7 +55,7 @@ pub fn aot_shen_x2e__x3c_datatype_x3e_(interp: &mut Interp, args: &[Value]) -> S { let v_W3037 = { let __t3 = v_W3036.clone(); - rt::apply_direct(interp, "shen.", &[__t3])? + aot_shen_x2e__x3c_datatype_x2d_rules_x3e_(interp, &[__t3])? }; { let __t14 = { @@ -83,9 +83,8 @@ pub fn aot_shen_x2e__x3c_datatype_x3e_(interp: &mut Interp, args: &[Value]) -> S let v_W3040 = { let __t8 = v_W3035.clone(); let __t9 = v_W3038.clone(); - rt::apply_direct( + aot_shen_x2e_rules_x2d__x3e_prolog( interp, - "shen.rules->prolog", &[__t8, __t9], )? }; @@ -99,9 +98,8 @@ pub fn aot_shen_x2e__x3c_datatype_x3e_(interp: &mut Interp, args: &[Value]) -> S &[__t11], )? }; - rt::apply_direct( + aot_shen_x2e_remember_x2d_datatype( interp, - "shen.remember-datatype", &[__t10, __t12], )? } @@ -167,31 +165,23 @@ pub fn aot_shen_x2e_remember_x2d_datatype( loop { { let _ = { - let __t18 = Value::sym(interp.intern("shen.*datatypes*")); - let __t23 = { - let __t19 = v_V3041.clone(); - let __t20 = v_V3042.clone(); - let __t22 = { - let __t21 = Value::sym(interp.intern("shen.*datatypes*")); - rt::apply_direct(interp, "value", &[__t21])? - }; - rt::apply_direct(interp, "shen.assoc->", &[__t19, __t20, __t22])? + let __v = { + let __t18 = v_V3041.clone(); + let __t19 = v_V3042.clone(); + let __t20 = rt::global_value(interp, "shen.*datatypes*")?; + rt::apply_direct(interp, "shen.assoc->", &[__t18, __t19, __t20])? }; - rt::apply_direct(interp, "set", &[__t18, __t23])? + rt::set_global(interp, "shen.*datatypes*", __v) }; { let _ = { - let __t24 = Value::sym(interp.intern("shen.*alldatatypes*")); - let __t29 = { - let __t25 = v_V3041.clone(); - let __t26 = v_V3042.clone(); - let __t28 = { - let __t27 = Value::sym(interp.intern("shen.*alldatatypes*")); - rt::apply_direct(interp, "value", &[__t27])? - }; - rt::apply_direct(interp, "shen.assoc->", &[__t25, __t26, __t28])? + let __v = { + let __t21 = v_V3041.clone(); + let __t22 = v_V3042.clone(); + let __t23 = rt::global_value(interp, "shen.*alldatatypes*")?; + rt::apply_direct(interp, "shen.assoc->", &[__t21, __t22, __t23])? }; - rt::apply_direct(interp, "set", &[__t24, __t29])? + rt::set_global(interp, "shen.*alldatatypes*", __v) }; break Ok(v_V3041.clone()); } @@ -226,81 +216,81 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( { let v_W3044 = { let v_W3045 = { - let __t30 = v_V3043.clone(); - rt::apply_direct(interp, "shen.", &[__t30])? + let __t24 = v_V3043.clone(); + aot_shen_x2e__x3c_datatype_x2d_rule_x3e_(interp, &[__t24])? }; { - let __t43 = { - let __t31 = v_W3045.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t31])? + let __t37 = { + let __t25 = v_W3045.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t25])? }; - if rt::is_truthy(interp, &__t43)? { + if rt::is_truthy(interp, &__t37)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3046 = { - let __t32 = v_W3045.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t32])? + let __t26 = v_W3045.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t26])? }; { let v_W3047 = { - let __t33 = v_W3045.clone(); - rt::apply_direct(interp, "shen.in->", &[__t33])? + let __t27 = v_W3045.clone(); + rt::apply_direct(interp, "shen.in->", &[__t27])? }; { let v_W3048 = { - let __t34 = v_W3047.clone(); - rt::apply_direct(interp, "shen.", &[__t34])? + let __t28 = v_W3047.clone(); + aot_shen_x2e__x3c_datatype_x2d_rules_x3e_(interp, &[__t28])? }; { - let __t42 = { - let __t35 = v_W3048.clone(); + let __t36 = { + let __t29 = v_W3048.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t35], + &[__t29], )? }; - if rt::is_truthy(interp, &__t42)? { + if rt::is_truthy(interp, &__t36)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3049 = { - let __t36 = v_W3048.clone(); + let __t30 = v_W3048.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t36], + &[__t30], )? }; { let v_W3050 = { - let __t37 = v_W3048.clone(); + let __t31 = v_W3048.clone(); rt::apply_direct( interp, "shen.in->", - &[__t37], + &[__t31], )? }; { - let __t38 = v_W3050.clone(); - let __t41 = { - let __t39 = v_W3046.clone(); - let __t40 = v_W3049.clone(); + let __t32 = v_W3050.clone(); + let __t35 = { + let __t33 = v_W3046.clone(); + let __t34 = v_W3049.clone(); rt::apply_direct( interp, "append", - &[__t39, __t40], + &[__t33, __t34], )? }; rt::apply_direct( interp, "shen.comb", - &[__t38, __t41], + &[__t32, __t35], )? } } @@ -314,80 +304,74 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( } }; { - let __t45 = { - let __t44 = v_W3044.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t44])? + let __t39 = { + let __t38 = v_W3044.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t38])? }; - if match rt::is_truthy(interp, &__t45) { + if match rt::is_truthy(interp, &__t39) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3051 = { let v_W3052 = { - let __t46 = v_V3043.clone(); - rt::apply_direct(interp, "", &[__t46])? + let __t40 = v_V3043.clone(); + rt::apply_direct(interp, "", &[__t40])? }; { - let __t60 = { - let __t47 = v_W3052.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t47])? + let __t54 = { + let __t41 = v_W3052.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t41])? }; - if rt::is_truthy(interp, &__t60)? { + if rt::is_truthy(interp, &__t54)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3053 = { - let __t48 = v_W3052.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t48])? + let __t42 = v_W3052.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t42])? }; { let v_W3054 = { - let __t49 = v_W3052.clone(); - rt::apply_direct(interp, "shen.in->", &[__t49])? + let __t43 = v_W3052.clone(); + rt::apply_direct(interp, "shen.in->", &[__t43])? }; { - let __t50 = v_W3054.clone(); - let __t59 = { - let __t58 = { - let __t51 = v_W3053.clone(); - rt::apply_direct( - interp, - "empty?", - &[__t51], - )? + let __t44 = v_W3054.clone(); + let __t53 = { + let __t52 = { + let __t45 = v_W3053.clone(); + rt::is_empty(&__t45) }; - if rt::is_truthy(interp, &__t58)? { + if rt::is_truthy(interp, &__t52)? { Value::nil() } else { { - let __t57 = { - let __t52 = Value::str("datatype syntax error here:\n "); - let __t56 = { - let __t53 = v_W3053.clone(); - let __t54 = + let __t51 = { + let __t46 = Value::str("datatype syntax error here:\n "); + let __t50 = { + let __t47 = v_W3053.clone(); + let __t48 = Value::str("\n ..."); - let __t55 = Value::sym( - interp.intern("shen.r"), + let __t49 = Value::sym( + interp.intern_static( + "shen.r", + ), ); rt::apply_direct( interp, "shen.app", - &[__t53, __t54, __t55], + &[__t47, __t48, __t49], )? }; - rt::apply_direct( - interp, - "cn", - &[__t52, __t56], - )? + rt::cn(&__t46, &__t50)? }; rt::apply_direct( interp, "simple-error", - &[__t57], + &[__t51], )? } } @@ -395,7 +379,7 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( rt::apply_direct( interp, "shen.comb", - &[__t50, __t59], + &[__t44, __t53], )? } } @@ -404,11 +388,11 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rules_x3e_( } }; { - let __t62 = { - let __t61 = v_W3051.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t61])? + let __t56 = { + let __t55 = v_W3051.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t55])? }; - if match rt::is_truthy(interp, &__t62) { + if match rt::is_truthy(interp, &__t56) { Ok(b) => b, Err(e) => break Err(e), } { @@ -456,33 +440,33 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( { let v_W3056 = { let v_W3057 = { - let __t63 = v_V3055.clone(); - rt::apply_direct(interp, "shen.", &[__t63])? + let __t57 = v_V3055.clone(); + aot_shen_x2e__x3c_single_x3e_(interp, &[__t57])? }; { - let __t69 = { - let __t64 = v_W3057.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t64])? + let __t63 = { + let __t58 = v_W3057.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t58])? }; - if rt::is_truthy(interp, &__t69)? { + if rt::is_truthy(interp, &__t63)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3058 = { - let __t65 = v_W3057.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t65])? + let __t59 = v_W3057.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t59])? }; { let v_W3059 = { - let __t66 = v_W3057.clone(); - rt::apply_direct(interp, "shen.in->", &[__t66])? + let __t60 = v_W3057.clone(); + rt::apply_direct(interp, "shen.in->", &[__t60])? }; { - let __t67 = v_W3059.clone(); - let __t68 = v_W3058.clone(); - rt::apply_direct(interp, "shen.comb", &[__t67, __t68])? + let __t61 = v_W3059.clone(); + let __t62 = v_W3058.clone(); + rt::apply_direct(interp, "shen.comb", &[__t61, __t62])? } } } @@ -490,47 +474,47 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( } }; { - let __t71 = { - let __t70 = v_W3056.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t70])? + let __t65 = { + let __t64 = v_W3056.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t64])? }; - if match rt::is_truthy(interp, &__t71) { + if match rt::is_truthy(interp, &__t65) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3060 = { let v_W3061 = { - let __t72 = v_V3055.clone(); - rt::apply_direct(interp, "shen.", &[__t72])? + let __t66 = v_V3055.clone(); + aot_shen_x2e__x3c_double_x3e_(interp, &[__t66])? }; { - let __t78 = { - let __t73 = v_W3061.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t73])? + let __t72 = { + let __t67 = v_W3061.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t67])? }; - if rt::is_truthy(interp, &__t78)? { + if rt::is_truthy(interp, &__t72)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3062 = { - let __t74 = v_W3061.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t74])? + let __t68 = v_W3061.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t68])? }; { let v_W3063 = { - let __t75 = v_W3061.clone(); - rt::apply_direct(interp, "shen.in->", &[__t75])? + let __t69 = v_W3061.clone(); + rt::apply_direct(interp, "shen.in->", &[__t69])? }; { - let __t76 = v_W3063.clone(); - let __t77 = v_W3062.clone(); + let __t70 = v_W3063.clone(); + let __t71 = v_W3062.clone(); rt::apply_direct( interp, "shen.comb", - &[__t76, __t77], + &[__t70, __t71], )? } } @@ -539,11 +523,11 @@ pub fn aot_shen_x2e__x3c_datatype_x2d_rule_x3e_( } }; { - let __t80 = { - let __t79 = v_W3060.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t79])? + let __t74 = { + let __t73 = v_W3060.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t73])? }; - if match rt::is_truthy(interp, &__t80) { + if match rt::is_truthy(interp, &__t74) { Ok(b) => b, Err(e) => break Err(e), } { @@ -588,85 +572,84 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W3065 = { let v_W3066 = { - let __t81 = v_V3064.clone(); - rt::apply_direct(interp, "shen.", &[__t81])? + let __t75 = v_V3064.clone(); + aot_shen_x2e__x3c_sides_x3e_(interp, &[__t75])? }; { - let __t113 = { - let __t82 = v_W3066.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t82])? + let __t107 = { + let __t76 = v_W3066.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t76])? }; - if rt::is_truthy(interp, &__t113)? { + if rt::is_truthy(interp, &__t107)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3067 = { - let __t83 = v_W3066.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t83])? + let __t77 = v_W3066.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t77])? }; { let v_W3068 = { - let __t84 = v_W3066.clone(); - rt::apply_direct(interp, "shen.in->", &[__t84])? + let __t78 = v_W3066.clone(); + rt::apply_direct(interp, "shen.in->", &[__t78])? }; { let v_W3069 = { - let __t85 = v_W3068.clone(); - rt::apply_direct(interp, "shen.", &[__t85])? + let __t79 = v_W3068.clone(); + aot_shen_x2e__x3c_prems_x3e_(interp, &[__t79])? }; { - let __t112 = { - let __t86 = v_W3069.clone(); + let __t106 = { + let __t80 = v_W3069.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t86], + &[__t80], )? }; - if rt::is_truthy(interp, &__t112)? { + if rt::is_truthy(interp, &__t106)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3070 = { - let __t87 = v_W3069.clone(); + let __t81 = v_W3069.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t87], + &[__t81], )? }; { let v_W3071 = { - let __t88 = v_W3069.clone(); + let __t82 = v_W3069.clone(); rt::apply_direct( interp, "shen.in->", - &[__t88], + &[__t82], )? }; { let v_W3072 = { - let __t89 = v_W3071.clone(); - rt::apply_direct( + let __t83 = v_W3071.clone(); + aot_shen_x2e__x3c_sng_x3e_( interp, - "shen.", - &[__t89], + &[__t83], )? }; { - let __t111 = { - let __t90 = v_W3072.clone(); + let __t105 = { + let __t84 = v_W3072.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t90], + &[__t84], )? }; - if rt::is_truthy(interp, &__t111)? { + if rt::is_truthy(interp, &__t105)? { { rt::apply_direct( interp, @@ -677,31 +660,27 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W3073 = { - let __t91 = v_W3072.clone(); + let __t85 = v_W3072.clone(); rt::apply_direct( interp, "shen.in->", - &[__t91], + &[__t85], )? }; { let v_W3074 = { - let __t92 = + let __t86 = v_W3073.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t92], - )? + aot_shen_x2e__x3c_conc_x3e_(interp, &[__t86])? }; { - let __t110 = { - let __t93 = + let __t104 = { + let __t87 = v_W3074.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t93])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t87])? }; if rt::is_truthy( - interp, &__t110, + interp, &__t104, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -709,22 +688,22 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W3075 = { - let __t94 = v_W3074.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t94])? + let __t88 = v_W3074.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t88])? }; { let v_W3076 = { - let __t95 = v_W3074.clone(); - rt::apply_direct(interp, "shen.in->", &[__t95])? + let __t89 = v_W3074.clone(); + rt::apply_direct(interp, "shen.in->", &[__t89])? }; { let v_W3077 = { - let __t96 = v_W3076.clone(); - rt::apply_direct(interp, "shen.", &[__t96])? + let __t90 = v_W3076.clone(); + rt::apply_direct(interp, "shen.", &[__t90])? }; { - let __t109 = { let __t97 = v_W3077.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t97])? }; - if rt::is_truthy(interp, &__t109)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3078 = { let __t98 = v_W3077.clone(); rt::apply_direct(interp, "shen.in->", &[__t98])? }; { let __t99 = v_W3078.clone(); let __t108 = { let __t106 = { let __t100 = v_W3067.clone(); let __t105 = { let __t101 = v_W3070.clone(); let __t104 = { let __t102 = v_W3075.clone(); let __t103 = Value::nil(); rt::cons(&__t102, &__t103) }; rt::cons(&__t101, &__t104) }; rt::cons(&__t100, &__t105) }; let __t107 = Value::nil(); rt::cons(&__t106, &__t107) }; rt::apply_direct(interp, "shen.comb", &[__t99, __t108])? } } } + let __t103 = { let __t91 = v_W3077.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t91])? }; + if rt::is_truthy(interp, &__t103)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3078 = { let __t92 = v_W3077.clone(); rt::apply_direct(interp, "shen.in->", &[__t92])? }; { let __t93 = v_W3078.clone(); let __t102 = { let __t100 = { let __t94 = v_W3067.clone(); let __t99 = { let __t95 = v_W3070.clone(); let __t98 = { let __t96 = v_W3075.clone(); let __t97 = Value::nil(); rt::cons(&__t96, &__t97) }; rt::cons(&__t95, &__t98) }; rt::cons(&__t94, &__t99) }; let __t101 = Value::nil(); rt::cons(&__t100, &__t101) }; rt::apply_direct(interp, "shen.comb", &[__t93, __t102])? } } } } } } @@ -747,11 +726,11 @@ pub fn aot_shen_x2e__x3c_single_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t115 = { - let __t114 = v_W3065.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t114])? + let __t109 = { + let __t108 = v_W3065.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t108])? }; - if match rt::is_truthy(interp, &__t115) { + if match rt::is_truthy(interp, &__t109) { Ok(b) => b, Err(e) => break Err(e), } { @@ -784,85 +763,84 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W3080 = { let v_W3081 = { - let __t116 = v_V3079.clone(); - rt::apply_direct(interp, "shen.", &[__t116])? + let __t110 = v_V3079.clone(); + aot_shen_x2e__x3c_sides_x3e_(interp, &[__t110])? }; { - let __t147 = { - let __t117 = v_W3081.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t117])? + let __t141 = { + let __t111 = v_W3081.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t111])? }; - if rt::is_truthy(interp, &__t147)? { + if rt::is_truthy(interp, &__t141)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3082 = { - let __t118 = v_W3081.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t118])? + let __t112 = v_W3081.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t112])? }; { let v_W3083 = { - let __t119 = v_W3081.clone(); - rt::apply_direct(interp, "shen.in->", &[__t119])? + let __t113 = v_W3081.clone(); + rt::apply_direct(interp, "shen.in->", &[__t113])? }; { let v_W3084 = { - let __t120 = v_W3083.clone(); - rt::apply_direct(interp, "shen.", &[__t120])? + let __t114 = v_W3083.clone(); + aot_shen_x2e__x3c_formulae_x3e_(interp, &[__t114])? }; { - let __t146 = { - let __t121 = v_W3084.clone(); + let __t140 = { + let __t115 = v_W3084.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t121], + &[__t115], )? }; - if rt::is_truthy(interp, &__t146)? { + if rt::is_truthy(interp, &__t140)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3085 = { - let __t122 = v_W3084.clone(); + let __t116 = v_W3084.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t122], + &[__t116], )? }; { let v_W3086 = { - let __t123 = v_W3084.clone(); + let __t117 = v_W3084.clone(); rt::apply_direct( interp, "shen.in->", - &[__t123], + &[__t117], )? }; { let v_W3087 = { - let __t124 = v_W3086.clone(); - rt::apply_direct( + let __t118 = v_W3086.clone(); + aot_shen_x2e__x3c_dbl_x3e_( interp, - "shen.", - &[__t124], + &[__t118], )? }; { - let __t145 = { - let __t125 = v_W3087.clone(); + let __t139 = { + let __t119 = v_W3087.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t125], + &[__t119], )? }; - if rt::is_truthy(interp, &__t145)? { + if rt::is_truthy(interp, &__t139)? { { rt::apply_direct( interp, @@ -873,32 +851,28 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W3088 = { - let __t126 = + let __t120 = v_W3087.clone(); rt::apply_direct( interp, "shen.in->", - &[__t126], + &[__t120], )? }; { let v_W3089 = { - let __t127 = + let __t121 = v_W3088.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t127], - )? + aot_shen_x2e__x3c_formula_x3e_(interp, &[__t121])? }; { - let __t144 = { - let __t128 = + let __t138 = { + let __t122 = v_W3089.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t128])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t122])? }; if rt::is_truthy( - interp, &__t144, + interp, &__t138, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -906,22 +880,22 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She } else { { let v_W3090 = { - let __t129 = v_W3089.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t129])? + let __t123 = v_W3089.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t123])? }; { let v_W3091 = { - let __t130 = v_W3089.clone(); - rt::apply_direct(interp, "shen.in->", &[__t130])? + let __t124 = v_W3089.clone(); + rt::apply_direct(interp, "shen.in->", &[__t124])? }; { let v_W3092 = { - let __t131 = v_W3091.clone(); - rt::apply_direct(interp, "shen.", &[__t131])? + let __t125 = v_W3091.clone(); + rt::apply_direct(interp, "shen.", &[__t125])? }; { - let __t143 = { let __t132 = v_W3092.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t132])? }; - if rt::is_truthy(interp, &__t143)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3093 = { let __t133 = v_W3092.clone(); rt::apply_direct(interp, "shen.in->", &[__t133])? }; { let __t134 = v_W3093.clone(); let __t142 = { let __t135 = v_W3082.clone(); let __t136 = v_W3085.clone(); let __t141 = { let __t137 = Value::nil(); let __t140 = { let __t138 = v_W3090.clone(); let __t139 = Value::nil(); rt::cons(&__t138, &__t139) }; rt::cons(&__t137, &__t140) }; rt::apply_direct(interp, "shen.lr-rule", &[__t135, __t136, __t141])? }; rt::apply_direct(interp, "shen.comb", &[__t134, __t142])? } } } + let __t137 = { let __t126 = v_W3092.clone(); rt::apply_direct(interp, "shen.parse-failure?", &[__t126])? }; + if rt::is_truthy(interp, &__t137)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3093 = { let __t127 = v_W3092.clone(); rt::apply_direct(interp, "shen.in->", &[__t127])? }; { let __t128 = v_W3093.clone(); let __t136 = { let __t129 = v_W3082.clone(); let __t130 = v_W3085.clone(); let __t135 = { let __t131 = Value::nil(); let __t134 = { let __t132 = v_W3090.clone(); let __t133 = Value::nil(); rt::cons(&__t132, &__t133) }; rt::cons(&__t131, &__t134) }; aot_shen_x2e_lr_x2d_rule(interp, &[__t129, __t130, __t135])? }; rt::apply_direct(interp, "shen.comb", &[__t128, __t136])? } } } } } } @@ -944,11 +918,11 @@ pub fn aot_shen_x2e__x3c_double_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t149 = { - let __t148 = v_W3080.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t148])? + let __t143 = { + let __t142 = v_W3080.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t142])? }; - if match rt::is_truthy(interp, &__t149) { + if match rt::is_truthy(interp, &__t143) { Ok(b) => b, Err(e) => break Err(e), } { @@ -981,76 +955,75 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S { let v_W3095 = { let v_W3096 = { - let __t150 = v_V3094.clone(); - rt::apply_direct(interp, "shen.", &[__t150])? + let __t144 = v_V3094.clone(); + aot_shen_x2e__x3c_formula_x3e_(interp, &[__t144])? }; { - let __t171 = { - let __t151 = v_W3096.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t151])? + let __t165 = { + let __t145 = v_W3096.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t145])? }; - if rt::is_truthy(interp, &__t171)? { + if rt::is_truthy(interp, &__t165)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3097 = { - let __t152 = v_W3096.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t152])? + let __t146 = v_W3096.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t146])? }; { let v_W3098 = { - let __t153 = v_W3096.clone(); - rt::apply_direct(interp, "shen.in->", &[__t153])? + let __t147 = v_W3096.clone(); + rt::apply_direct(interp, "shen.in->", &[__t147])? }; { let v_W3099 = { - let __t154 = v_W3098.clone(); - rt::apply_direct(interp, "shen.", &[__t154])? + let __t148 = v_W3098.clone(); + rt::apply_direct(interp, "shen.", &[__t148])? }; { - let __t170 = { - let __t155 = v_W3099.clone(); + let __t164 = { + let __t149 = v_W3099.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t155], + &[__t149], )? }; - if rt::is_truthy(interp, &__t170)? { + if rt::is_truthy(interp, &__t164)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3100 = { - let __t156 = v_W3099.clone(); + let __t150 = v_W3099.clone(); rt::apply_direct( interp, "shen.in->", - &[__t156], + &[__t150], )? }; { let v_W3101 = { - let __t157 = v_W3100.clone(); - rt::apply_direct( + let __t151 = v_W3100.clone(); + aot_shen_x2e__x3c_formulae_x3e_( interp, - "shen.", - &[__t157], + &[__t151], )? }; { - let __t169 = { - let __t158 = v_W3101.clone(); + let __t163 = { + let __t152 = v_W3101.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t158], + &[__t152], )? }; - if rt::is_truthy(interp, &__t169)? { + if rt::is_truthy(interp, &__t163)? { { rt::apply_direct( interp, @@ -1061,58 +1034,58 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } else { { let v_W3102 = { - let __t159 = v_W3101.clone(); + let __t153 = v_W3101.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t159], + &[__t153], )? }; { let v_W3103 = { - let __t160 = + let __t154 = v_W3101.clone(); rt::apply_direct( interp, "shen.in->", - &[__t160], + &[__t154], )? }; { - let __t161 = + let __t155 = v_W3103.clone(); - let __t168 = { - let __t166 = { - let __t162 = + let __t162 = { + let __t160 = { + let __t156 = Value::nil(); - let __t165 = { - let __t163 = + let __t159 = { + let __t157 = v_W3097 .clone( ); - let __t164 = + let __t158 = Value::nil( ); rt::cons( - &__t163, - &__t164, + &__t157, + &__t158, ) }; rt::cons( - &__t162, - &__t165, + &__t156, + &__t159, ) }; - let __t167 = + let __t161 = v_W3102.clone(); rt::cons( - &__t166, &__t167, + &__t160, &__t161, ) }; rt::apply_direct( interp, "shen.comb", - &[__t161, __t168], + &[__t155, __t162], )? } } @@ -1130,59 +1103,59 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t173 = { - let __t172 = v_W3095.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t172])? + let __t167 = { + let __t166 = v_W3095.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t166])? }; - if match rt::is_truthy(interp, &__t173) { + if match rt::is_truthy(interp, &__t167) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3104 = { let v_W3105 = { - let __t174 = v_V3094.clone(); - rt::apply_direct(interp, "shen.", &[__t174])? + let __t168 = v_V3094.clone(); + aot_shen_x2e__x3c_formula_x3e_(interp, &[__t168])? }; { - let __t190 = { - let __t175 = v_W3105.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t175])? + let __t184 = { + let __t169 = v_W3105.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t169])? }; - if rt::is_truthy(interp, &__t190)? { + if rt::is_truthy(interp, &__t184)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3106 = { - let __t176 = v_W3105.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t176])? + let __t170 = v_W3105.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t170])? }; { let v_W3107 = { - let __t177 = v_W3105.clone(); - rt::apply_direct(interp, "shen.in->", &[__t177])? + let __t171 = v_W3105.clone(); + rt::apply_direct(interp, "shen.in->", &[__t171])? }; { let v_W3108 = { - let __t178 = v_W3107.clone(); + let __t172 = v_W3107.clone(); rt::apply_direct( interp, "shen.", - &[__t178], + &[__t172], )? }; { - let __t189 = { - let __t179 = v_W3108.clone(); + let __t183 = { + let __t173 = v_W3108.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t179], + &[__t173], )? }; - if rt::is_truthy(interp, &__t189)? { + if rt::is_truthy(interp, &__t183)? { { rt::apply_direct( interp, @@ -1193,36 +1166,36 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } else { { let v_W3109 = { - let __t180 = v_W3108.clone(); + let __t174 = v_W3108.clone(); rt::apply_direct( interp, "shen.in->", - &[__t180], + &[__t174], )? }; { - let __t181 = v_W3109.clone(); - let __t188 = { - let __t186 = { - let __t182 = Value::nil(); - let __t185 = { - let __t183 = + let __t175 = v_W3109.clone(); + let __t182 = { + let __t180 = { + let __t176 = Value::nil(); + let __t179 = { + let __t177 = v_W3106.clone(); - let __t184 = + let __t178 = Value::nil(); rt::cons( - &__t183, &__t184, + &__t177, &__t178, ) }; - rt::cons(&__t182, &__t185) + rt::cons(&__t176, &__t179) }; - let __t187 = Value::nil(); - rt::cons(&__t186, &__t187) + let __t181 = Value::nil(); + rt::cons(&__t180, &__t181) }; rt::apply_direct( interp, "shen.comb", - &[__t181, __t188], + &[__t175, __t182], )? } } @@ -1235,11 +1208,11 @@ pub fn aot_shen_x2e__x3c_formulae_x3e_(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t192 = { - let __t191 = v_W3104.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t191])? + let __t186 = { + let __t185 = v_W3104.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t185])? }; - if match rt::is_truthy(interp, &__t192) { + if match rt::is_truthy(interp, &__t186) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1277,60 +1250,59 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let v_W3111 = { let v_W3112 = { - let __t193 = v_V3110.clone(); - rt::apply_direct(interp, "shen.", &[__t193])? + let __t187 = v_V3110.clone(); + aot_shen_x2e__x3c_ass_x3e_(interp, &[__t187])? }; { - let __t212 = { - let __t194 = v_W3112.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t194])? + let __t206 = { + let __t188 = v_W3112.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t188])? }; - if rt::is_truthy(interp, &__t212)? { + if rt::is_truthy(interp, &__t206)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3113 = { - let __t195 = v_W3112.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t195])? + let __t189 = v_W3112.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t189])? }; { let v_W3114 = { - let __t196 = v_W3112.clone(); - rt::apply_direct(interp, "shen.in->", &[__t196])? + let __t190 = v_W3112.clone(); + rt::apply_direct(interp, "shen.in->", &[__t190])? }; { - let __t211 = { - let __t197 = v_W3114.clone(); - let __t198 = Value::sym(interp.intern(">>")); - rt::apply_direct(interp, "shen.hds=?", &[__t197, __t198])? + let __t205 = { + let __t191 = v_W3114.clone(); + let __t192 = Value::sym(interp.intern_static(">>")); + rt::apply_direct(interp, "shen.hds=?", &[__t191, __t192])? }; - if rt::is_truthy(interp, &__t211)? { + if rt::is_truthy(interp, &__t205)? { { let v_W3115 = { - let __t199 = v_W3114.clone(); - rt::apply_direct(interp, "tail", &[__t199])? + let __t193 = v_W3114.clone(); + rt::apply_direct(interp, "tail", &[__t193])? }; { let v_W3116 = { - let __t200 = v_W3115.clone(); - rt::apply_direct( + let __t194 = v_W3115.clone(); + aot_shen_x2e__x3c_formula_x3e_( interp, - "shen.", - &[__t200], + &[__t194], )? }; { - let __t210 = { - let __t201 = v_W3116.clone(); + let __t204 = { + let __t195 = v_W3116.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t201], + &[__t195], )? }; - if rt::is_truthy(interp, &__t210)? { + if rt::is_truthy(interp, &__t204)? { { rt::apply_direct( interp, @@ -1341,42 +1313,42 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let v_W3117 = { - let __t202 = v_W3116.clone(); + let __t196 = v_W3116.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t202], + &[__t196], )? }; { let v_W3118 = { - let __t203 = v_W3116.clone(); + let __t197 = v_W3116.clone(); rt::apply_direct( interp, "shen.in->", - &[__t203], + &[__t197], )? }; { - let __t204 = v_W3118.clone(); - let __t209 = { - let __t205 = + let __t198 = v_W3118.clone(); + let __t203 = { + let __t199 = v_W3113.clone(); - let __t208 = { - let __t206 = + let __t202 = { + let __t200 = v_W3117.clone(); - let __t207 = + let __t201 = Value::nil(); rt::cons( - &__t206, &__t207, + &__t200, &__t201, ) }; - rt::cons(&__t205, &__t208) + rt::cons(&__t199, &__t202) }; rt::apply_direct( interp, "shen.comb", - &[__t204, __t209], + &[__t198, __t203], )? } } @@ -1397,55 +1369,55 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t214 = { - let __t213 = v_W3111.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t213])? + let __t208 = { + let __t207 = v_W3111.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t207])? }; - if match rt::is_truthy(interp, &__t214) { + if match rt::is_truthy(interp, &__t208) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3119 = { let v_W3120 = { - let __t215 = v_V3110.clone(); - rt::apply_direct(interp, "shen.", &[__t215])? + let __t209 = v_V3110.clone(); + aot_shen_x2e__x3c_formula_x3e_(interp, &[__t209])? }; { - let __t225 = { - let __t216 = v_W3120.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t216])? + let __t219 = { + let __t210 = v_W3120.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t210])? }; - if rt::is_truthy(interp, &__t225)? { + if rt::is_truthy(interp, &__t219)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3121 = { - let __t217 = v_W3120.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t217])? + let __t211 = v_W3120.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t211])? }; { let v_W3122 = { - let __t218 = v_W3120.clone(); - rt::apply_direct(interp, "shen.in->", &[__t218])? + let __t212 = v_W3120.clone(); + rt::apply_direct(interp, "shen.in->", &[__t212])? }; { - let __t219 = v_W3122.clone(); - let __t224 = { - let __t220 = Value::nil(); - let __t223 = { - let __t221 = v_W3121.clone(); - let __t222 = Value::nil(); - rt::cons(&__t221, &__t222) + let __t213 = v_W3122.clone(); + let __t218 = { + let __t214 = Value::nil(); + let __t217 = { + let __t215 = v_W3121.clone(); + let __t216 = Value::nil(); + rt::cons(&__t215, &__t216) }; - rt::cons(&__t220, &__t223) + rt::cons(&__t214, &__t217) }; rt::apply_direct( interp, "shen.comb", - &[__t219, __t224], + &[__t213, __t218], )? } } @@ -1454,11 +1426,11 @@ pub fn aot_shen_x2e__x3c_conc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t227 = { - let __t226 = v_W3119.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t226])? + let __t221 = { + let __t220 = v_W3119.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t220])? }; - if match rt::is_truthy(interp, &__t227) { + if match rt::is_truthy(interp, &__t221) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1496,76 +1468,75 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let v_W3124 = { let v_W3125 = { - let __t228 = v_V3123.clone(); - rt::apply_direct(interp, "shen.", &[__t228])? + let __t222 = v_V3123.clone(); + aot_shen_x2e__x3c_prem_x3e_(interp, &[__t222])? }; { - let __t245 = { - let __t229 = v_W3125.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t229])? + let __t239 = { + let __t223 = v_W3125.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t223])? }; - if rt::is_truthy(interp, &__t245)? { + if rt::is_truthy(interp, &__t239)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3126 = { - let __t230 = v_W3125.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t230])? + let __t224 = v_W3125.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t224])? }; { let v_W3127 = { - let __t231 = v_W3125.clone(); - rt::apply_direct(interp, "shen.in->", &[__t231])? + let __t225 = v_W3125.clone(); + rt::apply_direct(interp, "shen.in->", &[__t225])? }; { let v_W3128 = { - let __t232 = v_W3127.clone(); - rt::apply_direct(interp, "shen.", &[__t232])? + let __t226 = v_W3127.clone(); + rt::apply_direct(interp, "shen.", &[__t226])? }; { - let __t244 = { - let __t233 = v_W3128.clone(); + let __t238 = { + let __t227 = v_W3128.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t233], + &[__t227], )? }; - if rt::is_truthy(interp, &__t244)? { + if rt::is_truthy(interp, &__t238)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3129 = { - let __t234 = v_W3128.clone(); + let __t228 = v_W3128.clone(); rt::apply_direct( interp, "shen.in->", - &[__t234], + &[__t228], )? }; { let v_W3130 = { - let __t235 = v_W3129.clone(); - rt::apply_direct( + let __t229 = v_W3129.clone(); + aot_shen_x2e__x3c_prems_x3e_( interp, - "shen.", - &[__t235], + &[__t229], )? }; { - let __t243 = { - let __t236 = v_W3130.clone(); + let __t237 = { + let __t230 = v_W3130.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t236], + &[__t230], )? }; - if rt::is_truthy(interp, &__t243)? { + if rt::is_truthy(interp, &__t237)? { { rt::apply_direct( interp, @@ -1576,39 +1547,39 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } else { { let v_W3131 = { - let __t237 = v_W3130.clone(); + let __t231 = v_W3130.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t237], + &[__t231], )? }; { let v_W3132 = { - let __t238 = + let __t232 = v_W3130.clone(); rt::apply_direct( interp, "shen.in->", - &[__t238], + &[__t232], )? }; { - let __t239 = + let __t233 = v_W3132.clone(); - let __t242 = { - let __t240 = + let __t236 = { + let __t234 = v_W3126.clone(); - let __t241 = + let __t235 = v_W3131.clone(); rt::cons( - &__t240, &__t241, + &__t234, &__t235, ) }; rt::apply_direct( interp, "shen.comb", - &[__t239, __t242], + &[__t233, __t236], )? } } @@ -1626,42 +1597,42 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t247 = { - let __t246 = v_W3124.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t246])? + let __t241 = { + let __t240 = v_W3124.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t240])? }; - if match rt::is_truthy(interp, &__t247) { + if match rt::is_truthy(interp, &__t241) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3133 = { let v_W3134 = { - let __t248 = v_V3123.clone(); - rt::apply_direct(interp, "", &[__t248])? + let __t242 = v_V3123.clone(); + rt::apply_direct(interp, "", &[__t242])? }; { - let __t253 = { - let __t249 = v_W3134.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t249])? + let __t247 = { + let __t243 = v_W3134.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t243])? }; - if rt::is_truthy(interp, &__t253)? { + if rt::is_truthy(interp, &__t247)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3135 = { - let __t250 = v_W3134.clone(); - rt::apply_direct(interp, "shen.in->", &[__t250])? + let __t244 = v_W3134.clone(); + rt::apply_direct(interp, "shen.in->", &[__t244])? }; { - let __t251 = v_W3135.clone(); - let __t252 = Value::nil(); + let __t245 = v_W3135.clone(); + let __t246 = Value::nil(); rt::apply_direct( interp, "shen.comb", - &[__t251, __t252], + &[__t245, __t246], )? } } @@ -1669,11 +1640,11 @@ pub fn aot_shen_x2e__x3c_prems_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t255 = { - let __t254 = v_W3133.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t254])? + let __t249 = { + let __t248 = v_W3133.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t248])? }; - if match rt::is_truthy(interp, &__t255) { + if match rt::is_truthy(interp, &__t249) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1710,21 +1681,21 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W3137 = { - let __t261 = { - let __t256 = v_V3136.clone(); - let __t257 = Value::sym(interp.intern("!")); - rt::apply_direct(interp, "shen.hds=?", &[__t256, __t257])? + let __t255 = { + let __t250 = v_V3136.clone(); + let __t251 = Value::sym(interp.intern_static("!")); + rt::apply_direct(interp, "shen.hds=?", &[__t250, __t251])? }; - if rt::is_truthy(interp, &__t261)? { + if rt::is_truthy(interp, &__t255)? { { let v_W3138 = { - let __t258 = v_V3136.clone(); - rt::apply_direct(interp, "tail", &[__t258])? + let __t252 = v_V3136.clone(); + rt::apply_direct(interp, "tail", &[__t252])? }; { - let __t259 = v_W3138.clone(); - let __t260 = Value::sym(interp.intern("!")); - rt::apply_direct(interp, "shen.comb", &[__t259, __t260])? + let __t253 = v_W3138.clone(); + let __t254 = Value::sym(interp.intern_static("!")); + rt::apply_direct(interp, "shen.comb", &[__t253, __t254])? } } } else { @@ -1734,79 +1705,79 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t263 = { - let __t262 = v_W3137.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t262])? + let __t257 = { + let __t256 = v_W3137.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t256])? }; - if match rt::is_truthy(interp, &__t263) { + if match rt::is_truthy(interp, &__t257) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3139 = { let v_W3140 = { - let __t264 = v_V3136.clone(); - rt::apply_direct(interp, "shen.", &[__t264])? + let __t258 = v_V3136.clone(); + aot_shen_x2e__x3c_ass_x3e_(interp, &[__t258])? }; { - let __t283 = { - let __t265 = v_W3140.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t265])? + let __t277 = { + let __t259 = v_W3140.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t259])? }; - if rt::is_truthy(interp, &__t283)? { + if rt::is_truthy(interp, &__t277)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3141 = { - let __t266 = v_W3140.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t266])? + let __t260 = v_W3140.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t260])? }; { let v_W3142 = { - let __t267 = v_W3140.clone(); - rt::apply_direct(interp, "shen.in->", &[__t267])? + let __t261 = v_W3140.clone(); + rt::apply_direct(interp, "shen.in->", &[__t261])? }; { - let __t282 = { - let __t268 = v_W3142.clone(); - let __t269 = Value::sym(interp.intern(">>")); + let __t276 = { + let __t262 = v_W3142.clone(); + let __t263 = + Value::sym(interp.intern_static(">>")); rt::apply_direct( interp, "shen.hds=?", - &[__t268, __t269], + &[__t262, __t263], )? }; - if rt::is_truthy(interp, &__t282)? { + if rt::is_truthy(interp, &__t276)? { { let v_W3143 = { - let __t270 = v_W3142.clone(); + let __t264 = v_W3142.clone(); rt::apply_direct( interp, "tail", - &[__t270], + &[__t264], )? }; { let v_W3144 = { - let __t271 = v_W3143.clone(); - rt::apply_direct( + let __t265 = v_W3143.clone(); + aot_shen_x2e__x3c_formula_x3e_( interp, - "shen.", - &[__t271], + &[__t265], )? }; { - let __t281 = { - let __t272 = v_W3144.clone(); + let __t275 = { + let __t266 = v_W3144.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t272], + &[__t266], )? }; - if rt::is_truthy(interp, &__t281)? { + if rt::is_truthy(interp, &__t275)? { { rt::apply_direct( interp, @@ -1817,51 +1788,51 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let v_W3145 = { - let __t273 = + let __t267 = v_W3144.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t273], + &[__t267], )? }; { let v_W3146 = { - let __t274 = + let __t268 = v_W3144.clone(); rt::apply_direct( interp, "shen.in->", - &[__t274], + &[__t268], )? }; { - let __t275 = + let __t269 = v_W3146.clone(); - let __t280 = { - let __t276 = + let __t274 = { + let __t270 = v_W3141 .clone( ); - let __t279 = { - let __t277 = v_W3145.clone(); - let __t278 = Value::nil(); + let __t273 = { + let __t271 = v_W3145.clone(); + let __t272 = Value::nil(); rt::cons( - &__t277, - &__t278, + &__t271, + &__t272, ) }; rt::cons( - &__t276, - &__t279, + &__t270, + &__t273, ) }; rt::apply_direct( interp, "shen.comb", &[ - __t275, - __t280, + __t269, + __t274, ], )? } @@ -1887,30 +1858,30 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t285 = { - let __t284 = v_W3139.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t284])? + let __t279 = { + let __t278 = v_W3139.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t278])? }; - if match rt::is_truthy(interp, &__t285) { + if match rt::is_truthy(interp, &__t279) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3147 = { let v_W3148 = { - let __t286 = v_V3136.clone(); - rt::apply_direct(interp, "shen.", &[__t286])? + let __t280 = v_V3136.clone(); + aot_shen_x2e__x3c_formula_x3e_(interp, &[__t280])? }; { - let __t296 = { - let __t287 = v_W3148.clone(); + let __t290 = { + let __t281 = v_W3148.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t287], + &[__t281], )? }; - if rt::is_truthy(interp, &__t296)? { + if rt::is_truthy(interp, &__t290)? { { rt::apply_direct( interp, @@ -1921,37 +1892,37 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } else { { let v_W3149 = { - let __t288 = v_W3148.clone(); + let __t282 = v_W3148.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t288], + &[__t282], )? }; { let v_W3150 = { - let __t289 = v_W3148.clone(); + let __t283 = v_W3148.clone(); rt::apply_direct( interp, "shen.in->", - &[__t289], + &[__t283], )? }; { - let __t290 = v_W3150.clone(); - let __t295 = { - let __t291 = Value::nil(); - let __t294 = { - let __t292 = v_W3149.clone(); - let __t293 = Value::nil(); - rt::cons(&__t292, &__t293) + let __t284 = v_W3150.clone(); + let __t289 = { + let __t285 = Value::nil(); + let __t288 = { + let __t286 = v_W3149.clone(); + let __t287 = Value::nil(); + rt::cons(&__t286, &__t287) }; - rt::cons(&__t291, &__t294) + rt::cons(&__t285, &__t288) }; rt::apply_direct( interp, "shen.comb", - &[__t290, __t295], + &[__t284, __t289], )? } } @@ -1960,15 +1931,15 @@ pub fn aot_shen_x2e__x3c_prem_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t298 = { - let __t297 = v_W3147.clone(); + let __t292 = { + let __t291 = v_W3147.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t297], + &[__t291], )? }; - if match rt::is_truthy(interp, &__t298) { + if match rt::is_truthy(interp, &__t292) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2013,76 +1984,75 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe { let v_W3152 = { let v_W3153 = { - let __t299 = v_V3151.clone(); - rt::apply_direct(interp, "shen.", &[__t299])? + let __t293 = v_V3151.clone(); + aot_shen_x2e__x3c_formula_x3e_(interp, &[__t293])? }; { - let __t316 = { - let __t300 = v_W3153.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t300])? + let __t310 = { + let __t294 = v_W3153.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t294])? }; - if rt::is_truthy(interp, &__t316)? { + if rt::is_truthy(interp, &__t310)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3154 = { - let __t301 = v_W3153.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t301])? + let __t295 = v_W3153.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t295])? }; { let v_W3155 = { - let __t302 = v_W3153.clone(); - rt::apply_direct(interp, "shen.in->", &[__t302])? + let __t296 = v_W3153.clone(); + rt::apply_direct(interp, "shen.in->", &[__t296])? }; { let v_W3156 = { - let __t303 = v_W3155.clone(); - rt::apply_direct(interp, "shen.", &[__t303])? + let __t297 = v_W3155.clone(); + aot_shen_x2e__x3c_iscomma_x3e_(interp, &[__t297])? }; { - let __t315 = { - let __t304 = v_W3156.clone(); + let __t309 = { + let __t298 = v_W3156.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t304], + &[__t298], )? }; - if rt::is_truthy(interp, &__t315)? { + if rt::is_truthy(interp, &__t309)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3157 = { - let __t305 = v_W3156.clone(); + let __t299 = v_W3156.clone(); rt::apply_direct( interp, "shen.in->", - &[__t305], + &[__t299], )? }; { let v_W3158 = { - let __t306 = v_W3157.clone(); - rt::apply_direct( + let __t300 = v_W3157.clone(); + aot_shen_x2e__x3c_ass_x3e_( interp, - "shen.", - &[__t306], + &[__t300], )? }; { - let __t314 = { - let __t307 = v_W3158.clone(); + let __t308 = { + let __t301 = v_W3158.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t307], + &[__t301], )? }; - if rt::is_truthy(interp, &__t314)? { + if rt::is_truthy(interp, &__t308)? { { rt::apply_direct( interp, @@ -2093,39 +2063,39 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } else { { let v_W3159 = { - let __t308 = v_W3158.clone(); + let __t302 = v_W3158.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t308], + &[__t302], )? }; { let v_W3160 = { - let __t309 = + let __t303 = v_W3158.clone(); rt::apply_direct( interp, "shen.in->", - &[__t309], + &[__t303], )? }; { - let __t310 = + let __t304 = v_W3160.clone(); - let __t313 = { - let __t311 = + let __t307 = { + let __t305 = v_W3154.clone(); - let __t312 = + let __t306 = v_W3159.clone(); rt::cons( - &__t311, &__t312, + &__t305, &__t306, ) }; rt::apply_direct( interp, "shen.comb", - &[__t310, __t313], + &[__t304, __t307], )? } } @@ -2143,51 +2113,51 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t318 = { - let __t317 = v_W3152.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t317])? + let __t312 = { + let __t311 = v_W3152.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t311])? }; - if match rt::is_truthy(interp, &__t318) { + if match rt::is_truthy(interp, &__t312) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3161 = { let v_W3162 = { - let __t319 = v_V3151.clone(); - rt::apply_direct(interp, "shen.", &[__t319])? + let __t313 = v_V3151.clone(); + aot_shen_x2e__x3c_formula_x3e_(interp, &[__t313])? }; { - let __t327 = { - let __t320 = v_W3162.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t320])? + let __t321 = { + let __t314 = v_W3162.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t314])? }; - if rt::is_truthy(interp, &__t327)? { + if rt::is_truthy(interp, &__t321)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3163 = { - let __t321 = v_W3162.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t321])? + let __t315 = v_W3162.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t315])? }; { let v_W3164 = { - let __t322 = v_W3162.clone(); - rt::apply_direct(interp, "shen.in->", &[__t322])? + let __t316 = v_W3162.clone(); + rt::apply_direct(interp, "shen.in->", &[__t316])? }; { - let __t323 = v_W3164.clone(); - let __t326 = { - let __t324 = v_W3163.clone(); - let __t325 = Value::nil(); - rt::cons(&__t324, &__t325) + let __t317 = v_W3164.clone(); + let __t320 = { + let __t318 = v_W3163.clone(); + let __t319 = Value::nil(); + rt::cons(&__t318, &__t319) }; rt::apply_direct( interp, "shen.comb", - &[__t323, __t326], + &[__t317, __t320], )? } } @@ -2196,30 +2166,30 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t329 = { - let __t328 = v_W3161.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t328])? + let __t323 = { + let __t322 = v_W3161.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t322])? }; - if match rt::is_truthy(interp, &__t329) { + if match rt::is_truthy(interp, &__t323) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3165 = { let v_W3166 = { - let __t330 = v_V3151.clone(); - rt::apply_direct(interp, "", &[__t330])? + let __t324 = v_V3151.clone(); + rt::apply_direct(interp, "", &[__t324])? }; { - let __t335 = { - let __t331 = v_W3166.clone(); + let __t329 = { + let __t325 = v_W3166.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t331], + &[__t325], )? }; - if rt::is_truthy(interp, &__t335)? { + if rt::is_truthy(interp, &__t329)? { { rt::apply_direct( interp, @@ -2230,20 +2200,20 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } else { { let v_W3167 = { - let __t332 = v_W3166.clone(); + let __t326 = v_W3166.clone(); rt::apply_direct( interp, "shen.in->", - &[__t332], + &[__t326], )? }; { - let __t333 = v_W3167.clone(); - let __t334 = Value::nil(); + let __t327 = v_W3167.clone(); + let __t328 = Value::nil(); rt::apply_direct( interp, "shen.comb", - &[__t333, __t334], + &[__t327, __t328], )? } } @@ -2251,15 +2221,15 @@ pub fn aot_shen_x2e__x3c_ass_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t337 = { - let __t336 = v_W3165.clone(); + let __t331 = { + let __t330 = v_W3165.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t336], + &[__t330], )? }; - if match rt::is_truthy(interp, &__t337) { + if match rt::is_truthy(interp, &__t331) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2303,35 +2273,32 @@ pub fn aot_shen_x2e__x3c_iscomma_x3e_(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W3169 = { - let __t347 = { - let __t338 = v_V3168.clone(); - rt::is_cons(&__t338) + let __t340 = { + let __t332 = v_V3168.clone(); + rt::is_cons(&__t332) }; - if rt::is_truthy(interp, &__t347)? { + if rt::is_truthy(interp, &__t340)? { { let v_W3170 = { - let __t339 = v_V3168.clone(); - rt::apply_direct(interp, "head", &[__t339])? + let __t333 = v_V3168.clone(); + rt::apply_direct(interp, "head", &[__t333])? }; { let v_W3171 = { - let __t340 = v_V3168.clone(); - rt::apply_direct(interp, "tail", &[__t340])? + let __t334 = v_V3168.clone(); + rt::apply_direct(interp, "tail", &[__t334])? }; { - let __t346 = { - let __t341 = v_W3170.clone(); - let __t343 = { - let __t342 = Value::str(","); - rt::apply_direct(interp, "intern", &[__t342])? - }; - rt::eq(&__t341, &__t343) + let __t339 = { + let __t335 = v_W3170.clone(); + let __t336 = Value::sym(interp.intern_static(",")); + rt::eq(&__t335, &__t336) }; - if rt::is_truthy(interp, &__t346)? { + if rt::is_truthy(interp, &__t339)? { { - let __t344 = v_W3171.clone(); - let __t345 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t344, __t345])? + let __t337 = v_W3171.clone(); + let __t338 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t337, __t338])? } } else { { @@ -2348,11 +2315,11 @@ pub fn aot_shen_x2e__x3c_iscomma_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t349 = { - let __t348 = v_W3169.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t348])? + let __t342 = { + let __t341 = v_W3169.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t341])? }; - if match rt::is_truthy(interp, &__t349) { + if match rt::is_truthy(interp, &__t342) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2385,76 +2352,75 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh { let v_W3173 = { let v_W3174 = { - let __t350 = v_V3172.clone(); - rt::apply_direct(interp, "shen.", &[__t350])? + let __t343 = v_V3172.clone(); + aot_shen_x2e__x3c_expr_x3e_(interp, &[__t343])? }; { - let __t374 = { - let __t351 = v_W3174.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t351])? + let __t366 = { + let __t344 = v_W3174.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t344])? }; - if rt::is_truthy(interp, &__t374)? { + if rt::is_truthy(interp, &__t366)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3175 = { - let __t352 = v_W3174.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t352])? + let __t345 = v_W3174.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t345])? }; { let v_W3176 = { - let __t353 = v_W3174.clone(); - rt::apply_direct(interp, "shen.in->", &[__t353])? + let __t346 = v_W3174.clone(); + rt::apply_direct(interp, "shen.in->", &[__t346])? }; { let v_W3177 = { - let __t354 = v_W3176.clone(); - rt::apply_direct(interp, "shen.", &[__t354])? + let __t347 = v_W3176.clone(); + aot_shen_x2e__x3c_iscolon_x3e_(interp, &[__t347])? }; { - let __t373 = { - let __t355 = v_W3177.clone(); + let __t365 = { + let __t348 = v_W3177.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t355], + &[__t348], )? }; - if rt::is_truthy(interp, &__t373)? { + if rt::is_truthy(interp, &__t365)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3178 = { - let __t356 = v_W3177.clone(); + let __t349 = v_W3177.clone(); rt::apply_direct( interp, "shen.in->", - &[__t356], + &[__t349], )? }; { let v_W3179 = { - let __t357 = v_W3178.clone(); - rt::apply_direct( + let __t350 = v_W3178.clone(); + aot_shen_x2e__x3c_type_x3e_( interp, - "shen.", - &[__t357], + &[__t350], )? }; { - let __t372 = { - let __t358 = v_W3179.clone(); + let __t364 = { + let __t351 = v_W3179.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t358], + &[__t351], )? }; - if rt::is_truthy(interp, &__t372)? { + if rt::is_truthy(interp, &__t364)? { { rt::apply_direct( interp, @@ -2465,70 +2431,64 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } else { { let v_W3180 = { - let __t359 = v_W3179.clone(); + let __t352 = v_W3179.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t359], + &[__t352], )? }; { let v_W3181 = { - let __t360 = + let __t353 = v_W3179.clone(); rt::apply_direct( interp, "shen.in->", - &[__t360], + &[__t353], )? }; { - let __t361 = + let __t354 = v_W3181.clone(); - let __t371 = { - let __t363 = { - let __t362 = + let __t363 = { + let __t356 = { + let __t355 = v_W3175.clone(); rt::apply_direct( interp, "shen.curry", - &[__t362], + &[__t355], )? }; - let __t370 = { - let __t365 = { - let __t364 = - Value::str( - ":", - ); - rt::apply_direct(interp, "intern", &[__t364])? - }; - let __t369 = { - let __t367 = { - let __t366 = v_W3180.clone(); - rt::apply_direct(interp, "shen.rectify-type", &[__t366])? + let __t362 = { + let __t357 = Value::sym(interp.intern_static(":")); + let __t361 = { + let __t359 = { + let __t358 = v_W3180.clone(); + rt::apply_direct(interp, "shen.rectify-type", &[__t358])? }; - let __t368 = + let __t360 = Value::nil( ); rt::cons( - &__t367, - &__t368, + &__t359, + &__t360, ) }; rt::cons( - &__t365, - &__t369, + &__t357, + &__t361, ) }; rt::cons( - &__t363, &__t370, + &__t356, &__t362, ) }; rt::apply_direct( interp, "shen.comb", - &[__t361, __t371], + &[__t354, __t363], )? } } @@ -2546,47 +2506,47 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t376 = { - let __t375 = v_W3173.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t375])? + let __t368 = { + let __t367 = v_W3173.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t367])? }; - if match rt::is_truthy(interp, &__t376) { + if match rt::is_truthy(interp, &__t368) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3182 = { let v_W3183 = { - let __t377 = v_V3172.clone(); - rt::apply_direct(interp, "shen.", &[__t377])? + let __t369 = v_V3172.clone(); + aot_shen_x2e__x3c_expr_x3e_(interp, &[__t369])? }; { - let __t383 = { - let __t378 = v_W3183.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t378])? + let __t375 = { + let __t370 = v_W3183.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t370])? }; - if rt::is_truthy(interp, &__t383)? { + if rt::is_truthy(interp, &__t375)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3184 = { - let __t379 = v_W3183.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t379])? + let __t371 = v_W3183.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t371])? }; { let v_W3185 = { - let __t380 = v_W3183.clone(); - rt::apply_direct(interp, "shen.in->", &[__t380])? + let __t372 = v_W3183.clone(); + rt::apply_direct(interp, "shen.in->", &[__t372])? }; { - let __t381 = v_W3185.clone(); - let __t382 = v_W3184.clone(); + let __t373 = v_W3185.clone(); + let __t374 = v_W3184.clone(); rt::apply_direct( interp, "shen.comb", - &[__t381, __t382], + &[__t373, __t374], )? } } @@ -2595,11 +2555,11 @@ pub fn aot_shen_x2e__x3c_formula_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t385 = { - let __t384 = v_W3182.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t384])? + let __t377 = { + let __t376 = v_W3182.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t376])? }; - if match rt::is_truthy(interp, &__t385) { + if match rt::is_truthy(interp, &__t377) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2636,35 +2596,32 @@ pub fn aot_shen_x2e__x3c_iscolon_x3e_(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W3187 = { - let __t395 = { - let __t386 = v_V3186.clone(); - rt::is_cons(&__t386) + let __t386 = { + let __t378 = v_V3186.clone(); + rt::is_cons(&__t378) }; - if rt::is_truthy(interp, &__t395)? { + if rt::is_truthy(interp, &__t386)? { { let v_W3188 = { - let __t387 = v_V3186.clone(); - rt::apply_direct(interp, "head", &[__t387])? + let __t379 = v_V3186.clone(); + rt::apply_direct(interp, "head", &[__t379])? }; { let v_W3189 = { - let __t388 = v_V3186.clone(); - rt::apply_direct(interp, "tail", &[__t388])? + let __t380 = v_V3186.clone(); + rt::apply_direct(interp, "tail", &[__t380])? }; { - let __t394 = { - let __t389 = v_W3188.clone(); - let __t391 = { - let __t390 = Value::str(":"); - rt::apply_direct(interp, "intern", &[__t390])? - }; - rt::eq(&__t389, &__t391) + let __t385 = { + let __t381 = v_W3188.clone(); + let __t382 = Value::sym(interp.intern_static(":")); + rt::eq(&__t381, &__t382) }; - if rt::is_truthy(interp, &__t394)? { + if rt::is_truthy(interp, &__t385)? { { - let __t392 = v_W3189.clone(); - let __t393 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t392, __t393])? + let __t383 = v_W3189.clone(); + let __t384 = Value::sym(interp.intern_static("shen.skip")); + rt::apply_direct(interp, "shen.comb", &[__t383, __t384])? } } else { { @@ -2681,11 +2638,11 @@ pub fn aot_shen_x2e__x3c_iscolon_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t397 = { - let __t396 = v_W3187.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t396])? + let __t388 = { + let __t387 = v_W3187.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t387])? }; - if match rt::is_truthy(interp, &__t397) { + if match rt::is_truthy(interp, &__t388) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2718,77 +2675,77 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen { let v_W3191 = { let v_W3192 = { - let __t398 = v_V3190.clone(); - rt::apply_direct(interp, "shen.", &[__t398])? + let __t389 = v_V3190.clone(); + aot_shen_x2e__x3c_side_x3e_(interp, &[__t389])? }; { - let __t411 = { - let __t399 = v_W3192.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t399])? + let __t402 = { + let __t390 = v_W3192.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t390])? }; - if rt::is_truthy(interp, &__t411)? { + if rt::is_truthy(interp, &__t402)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3193 = { - let __t400 = v_W3192.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t400])? + let __t391 = v_W3192.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t391])? }; { let v_W3194 = { - let __t401 = v_W3192.clone(); - rt::apply_direct(interp, "shen.in->", &[__t401])? + let __t392 = v_W3192.clone(); + rt::apply_direct(interp, "shen.in->", &[__t392])? }; { let v_W3195 = { - let __t402 = v_W3194.clone(); - rt::apply_direct(interp, "shen.", &[__t402])? + let __t393 = v_W3194.clone(); + aot_shen_x2e__x3c_sides_x3e_(interp, &[__t393])? }; { - let __t410 = { - let __t403 = v_W3195.clone(); + let __t401 = { + let __t394 = v_W3195.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t403], + &[__t394], )? }; - if rt::is_truthy(interp, &__t410)? { + if rt::is_truthy(interp, &__t401)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3196 = { - let __t404 = v_W3195.clone(); + let __t395 = v_W3195.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t404], + &[__t395], )? }; { let v_W3197 = { - let __t405 = v_W3195.clone(); + let __t396 = v_W3195.clone(); rt::apply_direct( interp, "shen.in->", - &[__t405], + &[__t396], )? }; { - let __t406 = v_W3197.clone(); - let __t409 = { - let __t407 = v_W3193.clone(); - let __t408 = v_W3196.clone(); - rt::cons(&__t407, &__t408) + let __t397 = v_W3197.clone(); + let __t400 = { + let __t398 = v_W3193.clone(); + let __t399 = v_W3196.clone(); + rt::cons(&__t398, &__t399) }; rt::apply_direct( interp, "shen.comb", - &[__t406, __t409], + &[__t397, __t400], )? } } @@ -2802,42 +2759,42 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t413 = { - let __t412 = v_W3191.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t412])? + let __t404 = { + let __t403 = v_W3191.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t403])? }; - if match rt::is_truthy(interp, &__t413) { + if match rt::is_truthy(interp, &__t404) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3198 = { let v_W3199 = { - let __t414 = v_V3190.clone(); - rt::apply_direct(interp, "", &[__t414])? + let __t405 = v_V3190.clone(); + rt::apply_direct(interp, "", &[__t405])? }; { - let __t419 = { - let __t415 = v_W3199.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t415])? + let __t410 = { + let __t406 = v_W3199.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t406])? }; - if rt::is_truthy(interp, &__t419)? { + if rt::is_truthy(interp, &__t410)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3200 = { - let __t416 = v_W3199.clone(); - rt::apply_direct(interp, "shen.in->", &[__t416])? + let __t407 = v_W3199.clone(); + rt::apply_direct(interp, "shen.in->", &[__t407])? }; { - let __t417 = v_W3200.clone(); - let __t418 = Value::nil(); + let __t408 = v_W3200.clone(); + let __t409 = Value::nil(); rt::apply_direct( interp, "shen.comb", - &[__t417, __t418], + &[__t408, __t409], )? } } @@ -2845,11 +2802,11 @@ pub fn aot_shen_x2e__x3c_sides_x3e_(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t421 = { - let __t420 = v_W3198.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t420])? + let __t412 = { + let __t411 = v_W3198.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t411])? }; - if match rt::is_truthy(interp, &__t421) { + if match rt::is_truthy(interp, &__t412) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2886,48 +2843,48 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W3202 = { - let __t435 = { - let __t422 = v_V3201.clone(); - let __t423 = Value::sym(interp.intern("if")); - rt::apply_direct(interp, "shen.hds=?", &[__t422, __t423])? + let __t426 = { + let __t413 = v_V3201.clone(); + let __t414 = Value::sym(interp.intern_static("if")); + rt::apply_direct(interp, "shen.hds=?", &[__t413, __t414])? }; - if rt::is_truthy(interp, &__t435)? { + if rt::is_truthy(interp, &__t426)? { { let v_W3203 = { - let __t424 = v_V3201.clone(); - rt::apply_direct(interp, "tail", &[__t424])? + let __t415 = v_V3201.clone(); + rt::apply_direct(interp, "tail", &[__t415])? }; { - let __t434 = { - let __t425 = v_W3203.clone(); - rt::is_cons(&__t425) + let __t425 = { + let __t416 = v_W3203.clone(); + rt::is_cons(&__t416) }; - if rt::is_truthy(interp, &__t434)? { + if rt::is_truthy(interp, &__t425)? { { let v_W3204 = { - let __t426 = v_W3203.clone(); - rt::apply_direct(interp, "head", &[__t426])? + let __t417 = v_W3203.clone(); + rt::apply_direct(interp, "head", &[__t417])? }; { let v_W3205 = { - let __t427 = v_W3203.clone(); - rt::apply_direct(interp, "tail", &[__t427])? + let __t418 = v_W3203.clone(); + rt::apply_direct(interp, "tail", &[__t418])? }; { - let __t428 = v_W3205.clone(); - let __t433 = { - let __t429 = Value::sym(interp.intern("if")); - let __t432 = { - let __t430 = v_W3204.clone(); - let __t431 = Value::nil(); - rt::cons(&__t430, &__t431) + let __t419 = v_W3205.clone(); + let __t424 = { + let __t420 = Value::sym(interp.intern_static("if")); + let __t423 = { + let __t421 = v_W3204.clone(); + let __t422 = Value::nil(); + rt::cons(&__t421, &__t422) }; - rt::cons(&__t429, &__t432) + rt::cons(&__t420, &__t423) }; rt::apply_direct( interp, "shen.comb", - &[__t428, __t433], + &[__t419, __t424], )? } } @@ -2946,105 +2903,107 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t437 = { - let __t436 = v_W3202.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t436])? + let __t428 = { + let __t427 = v_W3202.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t427])? }; - if match rt::is_truthy(interp, &__t437) { + if match rt::is_truthy(interp, &__t428) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3206 = { - let __t457 = { - let __t438 = v_V3201.clone(); - let __t439 = Value::sym(interp.intern("let")); - rt::apply_direct(interp, "shen.hds=?", &[__t438, __t439])? + let __t448 = { + let __t429 = v_V3201.clone(); + let __t430 = Value::sym(interp.intern_static("let")); + rt::apply_direct(interp, "shen.hds=?", &[__t429, __t430])? }; - if rt::is_truthy(interp, &__t457)? { + if rt::is_truthy(interp, &__t448)? { { let v_W3207 = { - let __t440 = v_V3201.clone(); - rt::apply_direct(interp, "tail", &[__t440])? + let __t431 = v_V3201.clone(); + rt::apply_direct(interp, "tail", &[__t431])? }; { - let __t456 = { - let __t441 = v_W3207.clone(); - rt::is_cons(&__t441) + let __t447 = { + let __t432 = v_W3207.clone(); + rt::is_cons(&__t432) }; - if rt::is_truthy(interp, &__t456)? { + if rt::is_truthy(interp, &__t447)? { { let v_W3208 = { - let __t442 = v_W3207.clone(); - rt::apply_direct(interp, "head", &[__t442])? + let __t433 = v_W3207.clone(); + rt::apply_direct(interp, "head", &[__t433])? }; { let v_W3209 = { - let __t443 = v_W3207.clone(); - rt::apply_direct(interp, "tail", &[__t443])? + let __t434 = v_W3207.clone(); + rt::apply_direct(interp, "tail", &[__t434])? }; { - let __t455 = { - let __t444 = v_W3209.clone(); - rt::is_cons(&__t444) + let __t446 = { + let __t435 = v_W3209.clone(); + rt::is_cons(&__t435) }; - if rt::is_truthy(interp, &__t455)? { + if rt::is_truthy(interp, &__t446)? { { let v_W3210 = { - let __t445 = v_W3209.clone(); + let __t436 = v_W3209.clone(); rt::apply_direct( interp, "head", - &[__t445], + &[__t436], )? }; { let v_W3211 = { - let __t446 = + let __t437 = v_W3209.clone(); rt::apply_direct( interp, "tail", - &[__t446], + &[__t437], )? }; { - let __t447 = + let __t438 = v_W3211.clone(); - let __t454 = { - let __t448 = Value::sym( + let __t445 = { + let __t439 = Value::sym( interp - .intern("let"), + .intern_static( + "let", + ), ); - let __t453 = { - let __t449 = + let __t444 = { + let __t440 = v_W3208.clone(); - let __t452 = { - let __t450 = + let __t443 = { + let __t441 = v_W3210 .clone( ); - let __t451 = + let __t442 = Value::nil( ); rt::cons( - &__t450, - &__t451, + &__t441, + &__t442, ) }; rt::cons( - &__t449, - &__t452, + &__t440, + &__t443, ) }; rt::cons( - &__t448, &__t453, + &__t439, &__t444, ) }; rt::apply_direct( interp, "shen.comb", - &[__t447, __t454], + &[__t438, __t445], )? } } @@ -3075,101 +3034,95 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t459 = { - let __t458 = v_W3206.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t458])? + let __t450 = { + let __t449 = v_W3206.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t449])? }; - if match rt::is_truthy(interp, &__t459) { + if match rt::is_truthy(interp, &__t450) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3212 = { - let __t475 = { - let __t460 = v_V3201.clone(); - let __t461 = Value::sym(interp.intern("ctxt")); + let __t466 = { + let __t451 = v_V3201.clone(); + let __t452 = Value::sym(interp.intern_static("ctxt")); rt::apply_direct( interp, "shen.hds=?", - &[__t460, __t461], + &[__t451, __t452], )? }; - if rt::is_truthy(interp, &__t475)? { + if rt::is_truthy(interp, &__t466)? { { let v_W3213 = { - let __t462 = v_V3201.clone(); - rt::apply_direct(interp, "tail", &[__t462])? + let __t453 = v_V3201.clone(); + rt::apply_direct(interp, "tail", &[__t453])? }; { - let __t474 = { - let __t463 = v_W3213.clone(); - rt::is_cons(&__t463) + let __t465 = { + let __t454 = v_W3213.clone(); + rt::is_cons(&__t454) }; - if rt::is_truthy(interp, &__t474)? { + if rt::is_truthy(interp, &__t465)? { { let v_W3214 = { - let __t464 = v_W3213.clone(); + let __t455 = v_W3213.clone(); rt::apply_direct( interp, "head", - &[__t464], + &[__t455], )? }; { let v_W3215 = { - let __t465 = v_W3213.clone(); + let __t456 = v_W3213.clone(); rt::apply_direct( interp, "tail", - &[__t465], + &[__t456], )? }; { - let __t473 = { - let __t466 = + let __t464 = { + let __t457 = v_W3214.clone(); rt::apply_direct( interp, "variable?", - &[__t466], + &[__t457], )? }; if rt::is_truthy( - interp, &__t473, + interp, &__t464, )? { { - let __t467 = + let __t458 = v_W3215.clone(); - let __t472 = { - let __t468 = - Value::sym( - interp - .intern( - "ctxt", - ), - ); - let __t471 = { - let __t469 = + let __t463 = { + let __t459 = Value::sym(interp.intern_static("ctxt")); + let __t462 = { + let __t460 = v_W3214 .clone( ); - let __t470 = + let __t461 = Value::nil( ); rt::cons( - &__t469, - &__t470, + &__t460, + &__t461, ) }; rt::cons( - &__t468, - &__t471, + &__t459, + &__t462, ) }; rt::apply_direct( interp, "shen.comb", - &[__t467, __t472], + &[__t458, __t463], )? } } else { @@ -3198,89 +3151,90 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t477 = { - let __t476 = v_W3212.clone(); + let __t468 = { + let __t467 = v_W3212.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t476], + &[__t467], )? }; - if match rt::is_truthy(interp, &__t477) { + if match rt::is_truthy(interp, &__t468) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3216 = { - let __t493 = { - let __t478 = v_V3201.clone(); - let __t479 = - Value::sym(interp.intern("sqts")); + let __t484 = { + let __t469 = v_V3201.clone(); + let __t470 = Value::sym( + interp.intern_static("sqts"), + ); rt::apply_direct( interp, "shen.hds=?", - &[__t478, __t479], + &[__t469, __t470], )? }; - if rt::is_truthy(interp, &__t493)? { + if rt::is_truthy(interp, &__t484)? { { let v_W3217 = { - let __t480 = v_V3201.clone(); + let __t471 = v_V3201.clone(); rt::apply_direct( interp, "tail", - &[__t480], + &[__t471], )? }; { - let __t492 = { - let __t481 = v_W3217.clone(); - rt::is_cons(&__t481) + let __t483 = { + let __t472 = v_W3217.clone(); + rt::is_cons(&__t472) }; - if rt::is_truthy(interp, &__t492)? { + if rt::is_truthy(interp, &__t483)? { { let v_W3218 = { - let __t482 = + let __t473 = v_W3217.clone(); rt::apply_direct( interp, "head", - &[__t482], + &[__t473], )? }; { let v_W3219 = { - let __t483 = + let __t474 = v_W3217.clone(); rt::apply_direct( interp, "tail", - &[__t483], + &[__t474], )? }; { - let __t491 = { - let __t484 = + let __t482 = { + let __t475 = v_W3218 .clone( ); - rt::apply_direct(interp, "variable?", &[__t484])? + rt::apply_direct(interp, "variable?", &[__t475])? }; if rt::is_truthy( - interp, &__t491, + interp, &__t482, )? { { - let __t485 = v_W3219.clone(); - let __t490 = { - let __t486 = Value::sym(interp.intern("sqts")); - let __t489 = { - let __t487 = v_W3218.clone(); - let __t488 = Value::nil(); - rt::cons(&__t487, &__t488) + let __t476 = v_W3219.clone(); + let __t481 = { + let __t477 = Value::sym(interp.intern_static("sqts")); + let __t480 = { + let __t478 = v_W3218.clone(); + let __t479 = Value::nil(); + rt::cons(&__t478, &__t479) }; - rt::cons(&__t486, &__t489) + rt::cons(&__t477, &__t480) }; - rt::apply_direct(interp, "shen.comb", &[__t485, __t490])? + rt::apply_direct(interp, "shen.comb", &[__t476, __t481])? } } else { { @@ -3312,15 +3266,15 @@ pub fn aot_shen_x2e__x3c_side_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t495 = { - let __t494 = v_W3216.clone(); + let __t486 = { + let __t485 = v_W3216.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t494], + &[__t485], )? }; - if match rt::is_truthy(interp, &__t495) { + if match rt::is_truthy(interp, &__t486) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3376,132 +3330,130 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t543 = { - let __t512 = { - let __t498 = v_V3228.clone(); - rt::is_cons(&__t498) + let __t530 = { + let __t499 = { + let __t489 = v_V3228.clone(); + rt::is_cons(&__t489) }; - if !rt::is_truthy(interp, &__t512)? { + if !rt::is_truthy(interp, &__t499)? { Value::bool(false) } else { - let __t513 = { - let __t510 = { - let __t499 = Value::nil(); - let __t501 = { - let __t500 = v_V3228.clone(); - rt::hd(&__t500)? - }; - rt::eq(&__t499, &__t501) - }; - if !rt::is_truthy(interp, &__t510)? { + let __t500 = { + let __t497 = Value::bool( + ({ + let __t490 = v_V3228.clone(); + rt::hd(&__t490)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t497)? { Value::bool(false) } else { - let __t511 = { - let __t508 = { - let __t503 = { - let __t502 = v_V3228.clone(); - rt::tl(&__t502)? + let __t498 = { + let __t495 = { + let __t492 = { + let __t491 = v_V3228.clone(); + rt::tl(&__t491)? }; - rt::is_cons(&__t503) + rt::is_cons(&__t492) }; - if !rt::is_truthy(interp, &__t508)? { + if !rt::is_truthy(interp, &__t495)? { Value::bool(false) } else { - let __t509 = { - let __t504 = Value::nil(); - let __t507 = { - let __t506 = { - let __t505 = v_V3228.clone(); - rt::tl(&__t505)? + let __t496 = Value::bool( + ({ + let __t494 = { + let __t493 = v_V3228.clone(); + rt::tl(&__t493)? }; - rt::tl(&__t506)? - }; - rt::eq(&__t504, &__t507) - }; - Value::bool(rt::is_truthy(interp, &__t509)?) + rt::tl(&__t494)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t496)?) } }; - Value::bool(rt::is_truthy(interp, &__t511)?) + Value::bool(rt::is_truthy(interp, &__t498)?) } }; - Value::bool(rt::is_truthy(interp, &__t513)?) + Value::bool(rt::is_truthy(interp, &__t500)?) } }; - if match rt::is_truthy(interp, &__t543) { + if match rt::is_truthy(interp, &__t530) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3229 = { - let __t514 = Value::sym(interp.intern("P")); - rt::apply_direct(interp, "gensym", &[__t514])? + let __t501 = Value::sym(interp.intern_static("P")); + rt::apply_direct(interp, "gensym", &[__t501])? }; { let v_W3230 = { - let __t516 = { - let __t515 = v_V3228.clone(); - rt::tl(&__t515)? + let __t503 = { + let __t502 = v_V3228.clone(); + rt::tl(&__t502)? }; - let __t519 = { - let __t517 = v_W3229.clone(); - let __t518 = Value::nil(); - rt::cons(&__t517, &__t518) + let __t506 = { + let __t504 = v_W3229.clone(); + let __t505 = Value::nil(); + rt::cons(&__t504, &__t505) }; - rt::cons(&__t516, &__t519) + rt::cons(&__t503, &__t506) }; { let v_W3231 = { - let __t521 = { - let __t520 = v_V3227.clone(); - rt::apply_direct(interp, "shen.coll-formulae", &[__t520])? + let __t508 = { + let __t507 = v_V3227.clone(); + aot_shen_x2e_coll_x2d_formulae(interp, &[__t507])? }; - let __t524 = { - let __t522 = v_W3229.clone(); - let __t523 = Value::nil(); - rt::cons(&__t522, &__t523) + let __t511 = { + let __t509 = v_W3229.clone(); + let __t510 = Value::nil(); + rt::cons(&__t509, &__t510) }; - rt::cons(&__t521, &__t524) + rt::cons(&__t508, &__t511) }; { let v_W3232 = { - let __t525 = v_V3226.clone(); - let __t532 = { - let __t528 = { - let __t526 = v_W3231.clone(); - let __t527 = Value::nil(); - rt::cons(&__t526, &__t527) + let __t512 = v_V3226.clone(); + let __t519 = { + let __t515 = { + let __t513 = v_W3231.clone(); + let __t514 = Value::nil(); + rt::cons(&__t513, &__t514) }; - let __t531 = { - let __t529 = v_W3230.clone(); - let __t530 = Value::nil(); - rt::cons(&__t529, &__t530) + let __t518 = { + let __t516 = v_W3230.clone(); + let __t517 = Value::nil(); + rt::cons(&__t516, &__t517) }; - rt::cons(&__t528, &__t531) + rt::cons(&__t515, &__t518) }; - rt::cons(&__t525, &__t532) + rt::cons(&__t512, &__t519) }; { let v_W3233 = { - let __t533 = v_V3226.clone(); - let __t538 = { - let __t534 = v_V3227.clone(); - let __t537 = { - let __t535 = v_V3228.clone(); - let __t536 = Value::nil(); - rt::cons(&__t535, &__t536) + let __t520 = v_V3226.clone(); + let __t525 = { + let __t521 = v_V3227.clone(); + let __t524 = { + let __t522 = v_V3228.clone(); + let __t523 = Value::nil(); + rt::cons(&__t522, &__t523) }; - rt::cons(&__t534, &__t537) + rt::cons(&__t521, &__t524) }; - rt::cons(&__t533, &__t538) + rt::cons(&__t520, &__t525) }; break Ok({ - let __t539 = v_W3233.clone(); - let __t542 = { - let __t540 = v_W3232.clone(); - let __t541 = Value::nil(); - rt::cons(&__t540, &__t541) + let __t526 = v_W3233.clone(); + let __t529 = { + let __t527 = v_W3232.clone(); + let __t528 = Value::nil(); + rt::cons(&__t527, &__t528) }; - rt::cons(&__t539, &__t542) + rt::cons(&__t526, &__t529) }); } } @@ -3510,14 +3462,14 @@ pub fn aot_shen_x2e_lr_x2d_rule(interp: &mut Interp, args: &[Value]) -> ShenResu } } else { { - let __t497 = Value::bool(true); - if match rt::is_truthy(interp, &__t497) { + let __t488 = Value::bool(true); + if match rt::is_truthy(interp, &__t488) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t496 = Value::str("implementation error in shen.lr-rule"); - rt::apply_direct(interp, "simple-error", &[__t496])? + let __t487 = Value::str("implementation error in shen.lr-rule"); + rt::apply_direct(interp, "simple-error", &[__t487])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3546,127 +3498,121 @@ pub fn aot_shen_x2e_coll_x2d_formulae(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let __t579 = { - let __t577 = Value::nil(); - let __t578 = v_V3236.clone(); - rt::eq(&__t577, &__t578) - }; - if match rt::is_truthy(interp, &__t579) { + let __t560 = Value::bool((v_V3236.clone()).is_nil()); + if match rt::is_truthy(interp, &__t560) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t576 = { - let __t567 = { - let __t546 = v_V3236.clone(); - rt::is_cons(&__t546) + let __t559 = { + let __t550 = { + let __t533 = v_V3236.clone(); + rt::is_cons(&__t533) }; - if !rt::is_truthy(interp, &__t567)? { + if !rt::is_truthy(interp, &__t550)? { Value::bool(false) } else { - let __t568 = { - let __t565 = { - let __t548 = { - let __t547 = v_V3236.clone(); - rt::hd(&__t547)? + let __t551 = { + let __t548 = { + let __t535 = { + let __t534 = v_V3236.clone(); + rt::hd(&__t534)? }; - rt::is_cons(&__t548) + rt::is_cons(&__t535) }; - if !rt::is_truthy(interp, &__t565)? { + if !rt::is_truthy(interp, &__t548)? { Value::bool(false) } else { - let __t566 = { - let __t563 = { - let __t549 = Value::nil(); - let __t552 = { - let __t551 = { - let __t550 = v_V3236.clone(); - rt::hd(&__t550)? + let __t549 = { + let __t546 = Value::bool( + ({ + let __t537 = { + let __t536 = v_V3236.clone(); + rt::hd(&__t536)? }; - rt::hd(&__t551)? - }; - rt::eq(&__t549, &__t552) - }; - if !rt::is_truthy(interp, &__t563)? { + rt::hd(&__t537)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t546)? { Value::bool(false) } else { - let __t564 = { - let __t561 = { - let __t555 = { - let __t554 = { - let __t553 = v_V3236.clone(); - rt::hd(&__t553)? + let __t547 = { + let __t544 = { + let __t540 = { + let __t539 = { + let __t538 = v_V3236.clone(); + rt::hd(&__t538)? }; - rt::tl(&__t554)? + rt::tl(&__t539)? }; - rt::is_cons(&__t555) + rt::is_cons(&__t540) }; - if !rt::is_truthy(interp, &__t561)? { + if !rt::is_truthy(interp, &__t544)? { Value::bool(false) } else { - let __t562 = { - let __t556 = Value::nil(); - let __t560 = { - let __t559 = { - let __t558 = { - let __t557 = v_V3236.clone(); - rt::hd(&__t557)? + let __t545 = Value::bool( + ({ + let __t543 = { + let __t542 = { + let __t541 = v_V3236.clone(); + rt::hd(&__t541)? }; - rt::tl(&__t558)? + rt::tl(&__t542)? }; - rt::tl(&__t559)? - }; - rt::eq(&__t556, &__t560) - }; - Value::bool(rt::is_truthy(interp, &__t562)?) + rt::tl(&__t543)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t545)?) } }; - Value::bool(rt::is_truthy(interp, &__t564)?) + Value::bool(rt::is_truthy(interp, &__t547)?) } }; - Value::bool(rt::is_truthy(interp, &__t566)?) + Value::bool(rt::is_truthy(interp, &__t549)?) } }; - Value::bool(rt::is_truthy(interp, &__t568)?) + Value::bool(rt::is_truthy(interp, &__t551)?) } }; - if match rt::is_truthy(interp, &__t576) { + if match rt::is_truthy(interp, &__t559) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t572 = { - let __t571 = { - let __t570 = { - let __t569 = v_V3236.clone(); - rt::hd(&__t569)? + let __t555 = { + let __t554 = { + let __t553 = { + let __t552 = v_V3236.clone(); + rt::hd(&__t552)? }; - rt::tl(&__t570)? + rt::tl(&__t553)? }; - rt::hd(&__t571)? + rt::hd(&__t554)? }; - let __t575 = { - let __t574 = { - let __t573 = v_V3236.clone(); - rt::tl(&__t573)? + let __t558 = { + let __t557 = { + let __t556 = v_V3236.clone(); + rt::tl(&__t556)? }; - rt::apply_direct(interp, "shen.coll-formulae", &[__t574])? + aot_shen_x2e_coll_x2d_formulae(interp, &[__t557])? }; - rt::cons(&__t572, &__t575) + rt::cons(&__t555, &__t558) }); } else { { - let __t545 = Value::bool(true); - if match rt::is_truthy(interp, &__t545) { + let __t532 = Value::bool(true); + if match rt::is_truthy(interp, &__t532) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t544 = + let __t531 = Value::str("implementation error in shen.coll-formulae"); - rt::apply_direct(interp, "simple-error", &[__t544])? + rt::apply_direct(interp, "simple-error", &[__t531])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3698,41 +3644,40 @@ pub fn aot_shen_x2e__x3c_expr_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W3238 = { - let __t589 = { - let __t580 = v_V3237.clone(); - rt::is_cons(&__t580) + let __t570 = { + let __t561 = v_V3237.clone(); + rt::is_cons(&__t561) }; - if rt::is_truthy(interp, &__t589)? { + if rt::is_truthy(interp, &__t570)? { { let v_W3239 = { - let __t581 = v_V3237.clone(); - rt::apply_direct(interp, "head", &[__t581])? + let __t562 = v_V3237.clone(); + rt::apply_direct(interp, "head", &[__t562])? }; { let v_W3240 = { - let __t582 = v_V3237.clone(); - rt::apply_direct(interp, "tail", &[__t582])? + let __t563 = v_V3237.clone(); + rt::apply_direct(interp, "tail", &[__t563])? }; { - let __t588 = { - let __t584 = { - let __t583 = v_W3239.clone(); - rt::apply_direct( + let __t569 = { + let __t565 = { + let __t564 = v_W3239.clone(); + aot_shen_x2e_key_x2d_in_x2d_sequent_x2d_calculus_x3f_( interp, - "shen.key-in-sequent-calculus?", - &[__t583], + &[__t564], )? }; - rt::apply_direct(interp, "not", &[__t584])? + rt::not(interp, &__t565)? }; - if rt::is_truthy(interp, &__t588)? { + if rt::is_truthy(interp, &__t569)? { { - let __t585 = v_W3240.clone(); - let __t587 = { - let __t586 = v_W3239.clone(); - rt::apply_direct(interp, "macroexpand", &[__t586])? + let __t566 = v_W3240.clone(); + let __t568 = { + let __t567 = v_W3239.clone(); + rt::apply_direct(interp, "macroexpand", &[__t567])? }; - rt::apply_direct(interp, "shen.comb", &[__t585, __t587])? + rt::apply_direct(interp, "shen.comb", &[__t566, __t568])? } } else { { @@ -3749,11 +3694,11 @@ pub fn aot_shen_x2e__x3c_expr_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t591 = { - let __t590 = v_W3238.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t590])? + let __t572 = { + let __t571 = v_W3238.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t571])? }; - if match rt::is_truthy(interp, &__t591) { + if match rt::is_truthy(interp, &__t572) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3787,60 +3732,51 @@ pub fn aot_shen_x2e_key_x2d_in_x2d_sequent_x2d_calculus_x3f_( #[allow(clippy::never_loop)] loop { { - let __t607 = { - let __t592 = v_V3241.clone(); - let __t606 = { - let __t593 = Value::sym(interp.intern(">>")); - let __t605 = { - let __t595 = { - let __t594 = Value::str(";"); - rt::apply_direct(interp, "intern", &[__t594])? - }; - let __t604 = { - let __t597 = { - let __t596 = Value::str(","); - rt::apply_direct(interp, "intern", &[__t596])? - }; - let __t603 = { - let __t599 = { - let __t598 = Value::str(":"); - rt::apply_direct(interp, "intern", &[__t598])? - }; - let __t602 = { - let __t600 = Value::sym(interp.intern("<--")); - let __t601 = Value::nil(); - rt::cons(&__t600, &__t601) + let __t585 = { + let __t573 = v_V3241.clone(); + let __t584 = { + let __t574 = Value::sym(interp.intern_static(">>")); + let __t583 = { + let __t575 = Value::sym(interp.intern_static(";")); + let __t582 = { + let __t576 = Value::sym(interp.intern_static(",")); + let __t581 = { + let __t577 = Value::sym(interp.intern_static(":")); + let __t580 = { + let __t578 = Value::sym(interp.intern_static("<--")); + let __t579 = Value::nil(); + rt::cons(&__t578, &__t579) }; - rt::cons(&__t599, &__t602) + rt::cons(&__t577, &__t580) }; - rt::cons(&__t597, &__t603) + rt::cons(&__t576, &__t581) }; - rt::cons(&__t595, &__t604) + rt::cons(&__t575, &__t582) }; - rt::cons(&__t593, &__t605) + rt::cons(&__t574, &__t583) }; - rt::apply_direct(interp, "element?", &[__t592, __t606])? + rt::apply_direct(interp, "element?", &[__t573, __t584])? }; - if match rt::is_truthy(interp, &__t607) { + if match rt::is_truthy(interp, &__t585) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t609 = { - let __t608 = v_V3241.clone(); - rt::apply_direct(interp, "shen.sng?", &[__t608])? + let __t587 = { + let __t586 = v_V3241.clone(); + aot_shen_x2e_sng_x3f_(interp, &[__t586])? }; - if match rt::is_truthy(interp, &__t609) { + if match rt::is_truthy(interp, &__t587) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { break Ok({ - let __t610 = v_V3241.clone(); - rt::apply_direct(interp, "shen.dbl?", &[__t610])? + let __t588 = v_V3241.clone(); + aot_shen_x2e_dbl_x3f_(interp, &[__t588])? }); } } @@ -3876,33 +3812,33 @@ pub fn aot_shen_x2e__x3c_type_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR { let v_W3243 = { let v_W3244 = { - let __t611 = v_V3242.clone(); - rt::apply_direct(interp, "shen.", &[__t611])? + let __t589 = v_V3242.clone(); + aot_shen_x2e__x3c_expr_x3e_(interp, &[__t589])? }; { - let __t617 = { - let __t612 = v_W3244.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t612])? + let __t595 = { + let __t590 = v_W3244.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t590])? }; - if rt::is_truthy(interp, &__t617)? { + if rt::is_truthy(interp, &__t595)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W3245 = { - let __t613 = v_W3244.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t613])? + let __t591 = v_W3244.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t591])? }; { let v_W3246 = { - let __t614 = v_W3244.clone(); - rt::apply_direct(interp, "shen.in->", &[__t614])? + let __t592 = v_W3244.clone(); + rt::apply_direct(interp, "shen.in->", &[__t592])? }; { - let __t615 = v_W3246.clone(); - let __t616 = v_W3245.clone(); - rt::apply_direct(interp, "shen.comb", &[__t615, __t616])? + let __t593 = v_W3246.clone(); + let __t594 = v_W3245.clone(); + rt::apply_direct(interp, "shen.comb", &[__t593, __t594])? } } } @@ -3910,11 +3846,11 @@ pub fn aot_shen_x2e__x3c_type_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t619 = { - let __t618 = v_W3243.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t618])? + let __t597 = { + let __t596 = v_W3243.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t596])? }; - if match rt::is_truthy(interp, &__t619) { + if match rt::is_truthy(interp, &__t597) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3946,31 +3882,31 @@ pub fn aot_shen_x2e__x3c_dbl_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W3248 = { - let __t627 = { - let __t620 = v_V3247.clone(); - rt::is_cons(&__t620) + let __t605 = { + let __t598 = v_V3247.clone(); + rt::is_cons(&__t598) }; - if rt::is_truthy(interp, &__t627)? { + if rt::is_truthy(interp, &__t605)? { { let v_W3249 = { - let __t621 = v_V3247.clone(); - rt::apply_direct(interp, "head", &[__t621])? + let __t599 = v_V3247.clone(); + rt::apply_direct(interp, "head", &[__t599])? }; { let v_W3250 = { - let __t622 = v_V3247.clone(); - rt::apply_direct(interp, "tail", &[__t622])? + let __t600 = v_V3247.clone(); + rt::apply_direct(interp, "tail", &[__t600])? }; { - let __t626 = { - let __t623 = v_W3249.clone(); - rt::apply_direct(interp, "shen.dbl?", &[__t623])? + let __t604 = { + let __t601 = v_W3249.clone(); + aot_shen_x2e_dbl_x3f_(interp, &[__t601])? }; - if rt::is_truthy(interp, &__t626)? { + if rt::is_truthy(interp, &__t604)? { { - let __t624 = v_W3250.clone(); - let __t625 = v_W3249.clone(); - rt::apply_direct(interp, "shen.comb", &[__t624, __t625])? + let __t602 = v_W3250.clone(); + let __t603 = v_W3249.clone(); + rt::apply_direct(interp, "shen.comb", &[__t602, __t603])? } } else { { @@ -3987,11 +3923,11 @@ pub fn aot_shen_x2e__x3c_dbl_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t629 = { - let __t628 = v_W3248.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t628])? + let __t607 = { + let __t606 = v_W3248.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t606])? }; - if match rt::is_truthy(interp, &__t629) { + if match rt::is_truthy(interp, &__t607) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4023,31 +3959,31 @@ pub fn aot_shen_x2e__x3c_sng_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W3252 = { - let __t637 = { - let __t630 = v_V3251.clone(); - rt::is_cons(&__t630) + let __t615 = { + let __t608 = v_V3251.clone(); + rt::is_cons(&__t608) }; - if rt::is_truthy(interp, &__t637)? { + if rt::is_truthy(interp, &__t615)? { { let v_W3253 = { - let __t631 = v_V3251.clone(); - rt::apply_direct(interp, "head", &[__t631])? + let __t609 = v_V3251.clone(); + rt::apply_direct(interp, "head", &[__t609])? }; { let v_W3254 = { - let __t632 = v_V3251.clone(); - rt::apply_direct(interp, "tail", &[__t632])? + let __t610 = v_V3251.clone(); + rt::apply_direct(interp, "tail", &[__t610])? }; { - let __t636 = { - let __t633 = v_W3253.clone(); - rt::apply_direct(interp, "shen.sng?", &[__t633])? + let __t614 = { + let __t611 = v_W3253.clone(); + aot_shen_x2e_sng_x3f_(interp, &[__t611])? }; - if rt::is_truthy(interp, &__t636)? { + if rt::is_truthy(interp, &__t614)? { { - let __t634 = v_W3254.clone(); - let __t635 = v_W3253.clone(); - rt::apply_direct(interp, "shen.comb", &[__t634, __t635])? + let __t612 = v_W3254.clone(); + let __t613 = v_W3253.clone(); + rt::apply_direct(interp, "shen.comb", &[__t612, __t613])? } } else { { @@ -4064,11 +4000,11 @@ pub fn aot_shen_x2e__x3c_sng_x3e_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t639 = { - let __t638 = v_W3252.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t638])? + let __t617 = { + let __t616 = v_W3252.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t616])? }; - if match rt::is_truthy(interp, &__t639) { + if match rt::is_truthy(interp, &__t617) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4099,22 +4035,22 @@ pub fn aot_shen_x2e_sng_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let __t641 = { - let __t640 = v_V3255.clone(); - rt::is_symbol(&__t640) + let __t619 = { + let __t618 = v_V3255.clone(); + rt::apply_direct(interp, "symbol?", &[__t618])? }; - if !match rt::is_truthy(interp, &__t641) { + if !match rt::is_truthy(interp, &__t619) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t643 = { - let __t642 = v_V3255.clone(); - rt::apply_direct(interp, "str", &[__t642])? + let __t621 = { + let __t620 = v_V3255.clone(); + rt::apply_direct(interp, "str", &[__t620])? }; - rt::apply_direct(interp, "shen.sng-h?", &[__t643])? + aot_shen_x2e_sng_x2d_h_x3f_(interp, &[__t621])? }); } } @@ -4139,53 +4075,49 @@ pub fn aot_shen_x2e_sng_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t656 = { - let __t654 = Value::str("___"); - let __t655 = v_V3258.clone(); - rt::eq(&__t654, &__t655) - }; - if match rt::is_truthy(interp, &__t656) { + let __t630 = Value::bool((v_V3258.clone()).as_str() == Some("___")); + if match rt::is_truthy(interp, &__t630) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t653 = { - let __t649 = { - let __t645 = v_V3258.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t645])? + let __t629 = { + let __t625 = { + let __t623 = v_V3258.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t623])? }; - if !rt::is_truthy(interp, &__t649)? { + if !rt::is_truthy(interp, &__t625)? { Value::bool(false) } else { - let __t650 = { - let __t646 = Value::str("_"); - let __t648 = { - let __t647 = v_V3258.clone(); - rt::apply_direct(interp, "hdstr", &[__t647])? - }; - rt::eq(&__t646, &__t648) - }; - Value::bool(rt::is_truthy(interp, &__t650)?) + let __t626 = Value::bool( + ({ + let __t624 = v_V3258.clone(); + rt::hdstr(&__t624)? + }) + .as_str() + == Some("_"), + ); + Value::bool(rt::is_truthy(interp, &__t626)?) } }; - if match rt::is_truthy(interp, &__t653) { + if match rt::is_truthy(interp, &__t629) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t652 = { - let __t651 = v_V3258.clone(); - rt::apply_direct(interp, "tlstr", &[__t651])? + let __t628 = { + let __t627 = v_V3258.clone(); + rt::tlstr(&__t627)? }; - v_V3258 = __t652; + v_V3258 = __t628; continue; } } else { { - let __t644 = Value::bool(true); - if match rt::is_truthy(interp, &__t644) { + let __t622 = Value::bool(true); + if match rt::is_truthy(interp, &__t622) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4219,22 +4151,22 @@ pub fn aot_shen_x2e_dbl_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult< #[allow(clippy::never_loop)] loop { { - let __t658 = { - let __t657 = v_V3259.clone(); - rt::is_symbol(&__t657) + let __t632 = { + let __t631 = v_V3259.clone(); + rt::apply_direct(interp, "symbol?", &[__t631])? }; - if !match rt::is_truthy(interp, &__t658) { + if !match rt::is_truthy(interp, &__t632) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t660 = { - let __t659 = v_V3259.clone(); - rt::apply_direct(interp, "str", &[__t659])? + let __t634 = { + let __t633 = v_V3259.clone(); + rt::apply_direct(interp, "str", &[__t633])? }; - rt::apply_direct(interp, "shen.dbl-h?", &[__t660])? + aot_shen_x2e_dbl_x2d_h_x3f_(interp, &[__t634])? }); } } @@ -4259,53 +4191,49 @@ pub fn aot_shen_x2e_dbl_x2d_h_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t673 = { - let __t671 = Value::str("==="); - let __t672 = v_V3262.clone(); - rt::eq(&__t671, &__t672) - }; - if match rt::is_truthy(interp, &__t673) { + let __t643 = Value::bool((v_V3262.clone()).as_str() == Some("===")); + if match rt::is_truthy(interp, &__t643) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t670 = { - let __t666 = { - let __t662 = v_V3262.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t662])? + let __t642 = { + let __t638 = { + let __t636 = v_V3262.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t636])? }; - if !rt::is_truthy(interp, &__t666)? { + if !rt::is_truthy(interp, &__t638)? { Value::bool(false) } else { - let __t667 = { - let __t663 = Value::str("="); - let __t665 = { - let __t664 = v_V3262.clone(); - rt::apply_direct(interp, "hdstr", &[__t664])? - }; - rt::eq(&__t663, &__t665) - }; - Value::bool(rt::is_truthy(interp, &__t667)?) + let __t639 = Value::bool( + ({ + let __t637 = v_V3262.clone(); + rt::hdstr(&__t637)? + }) + .as_str() + == Some("="), + ); + Value::bool(rt::is_truthy(interp, &__t639)?) } }; - if match rt::is_truthy(interp, &__t670) { + if match rt::is_truthy(interp, &__t642) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t669 = { - let __t668 = v_V3262.clone(); - rt::apply_direct(interp, "tlstr", &[__t668])? + let __t641 = { + let __t640 = v_V3262.clone(); + rt::tlstr(&__t640)? }; - v_V3262 = __t669; + v_V3262 = __t641; continue; } } else { { - let __t661 = Value::bool(true); - if match rt::is_truthy(interp, &__t661) { + let __t635 = Value::bool(true); + if match rt::is_truthy(interp, &__t635) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4345,37 +4273,37 @@ pub fn aot_shen_x2e_rules_x2d__x3e_prolog( loop { { let v_W3265 = { - let __t675 = { + let __t645 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z3266 = args[0].clone(); Ok({ - let __t674 = v_Z3266.clone(); - rt::apply_direct(interp, "shen.rule->clause", &[__t674])? + let __t644 = v_Z3266.clone(); + aot_shen_x2e_rule_x2d__x3e_clause(interp, &[__t644])? }) }, Vec::new(), interp, ) }; - let __t676 = v_V3264.clone(); - rt::apply_direct(interp, "mapcan", &[__t675, __t676])? + let __t646 = v_V3264.clone(); + rt::apply_direct(interp, "mapcan", &[__t645, __t646])? }; { let v_W3267 = { - let __t677 = Value::sym(interp.intern("defprolog")); - let __t680 = { - let __t678 = v_V3263.clone(); - let __t679 = v_W3265.clone(); - rt::cons(&__t678, &__t679) + let __t647 = Value::sym(interp.intern_static("defprolog")); + let __t650 = { + let __t648 = v_V3263.clone(); + let __t649 = v_W3265.clone(); + rt::cons(&__t648, &__t649) }; - rt::cons(&__t677, &__t680) + rt::cons(&__t647, &__t650) }; break Ok({ - let __t681 = v_W3267.clone(); - rt::apply_direct(interp, "eval", &[__t681])? + let __t651 = v_W3267.clone(); + rt::apply_direct(interp, "eval", &[__t651])? }); } } @@ -4400,234 +4328,231 @@ pub fn aot_shen_x2e_rule_x2d__x3e_clause(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t753 = { - let __t721 = { - let __t684 = v_V3268.clone(); - rt::is_cons(&__t684) + let __t719 = { + let __t687 = { + let __t654 = v_V3268.clone(); + rt::is_cons(&__t654) }; - if !rt::is_truthy(interp, &__t721)? { + if !rt::is_truthy(interp, &__t687)? { Value::bool(false) } else { - let __t722 = { - let __t719 = { - let __t686 = { - let __t685 = v_V3268.clone(); - rt::tl(&__t685)? + let __t688 = { + let __t685 = { + let __t656 = { + let __t655 = v_V3268.clone(); + rt::tl(&__t655)? }; - rt::is_cons(&__t686) + rt::is_cons(&__t656) }; - if !rt::is_truthy(interp, &__t719)? { + if !rt::is_truthy(interp, &__t685)? { Value::bool(false) } else { - let __t720 = { - let __t717 = { - let __t689 = { - let __t688 = { - let __t687 = v_V3268.clone(); - rt::tl(&__t687)? + let __t686 = { + let __t683 = { + let __t659 = { + let __t658 = { + let __t657 = v_V3268.clone(); + rt::tl(&__t657)? }; - rt::tl(&__t688)? + rt::tl(&__t658)? }; - rt::is_cons(&__t689) + rt::is_cons(&__t659) }; - if !rt::is_truthy(interp, &__t717)? { + if !rt::is_truthy(interp, &__t683)? { Value::bool(false) } else { - let __t718 = { - let __t715 = { - let __t693 = { - let __t692 = { - let __t691 = { - let __t690 = v_V3268.clone(); - rt::tl(&__t690)? + let __t684 = { + let __t681 = { + let __t663 = { + let __t662 = { + let __t661 = { + let __t660 = v_V3268.clone(); + rt::tl(&__t660)? }; - rt::tl(&__t691)? + rt::tl(&__t661)? }; - rt::hd(&__t692)? + rt::hd(&__t662)? }; - rt::is_cons(&__t693) + rt::is_cons(&__t663) }; - if !rt::is_truthy(interp, &__t715)? { + if !rt::is_truthy(interp, &__t681)? { Value::bool(false) } else { - let __t716 = { - let __t713 = { - let __t698 = { - let __t697 = { - let __t696 = { - let __t695 = { - let __t694 = v_V3268.clone(); - rt::tl(&__t694)? + let __t682 = { + let __t679 = { + let __t668 = { + let __t667 = { + let __t666 = { + let __t665 = { + let __t664 = v_V3268.clone(); + rt::tl(&__t664)? }; - rt::tl(&__t695)? + rt::tl(&__t665)? }; - rt::hd(&__t696)? + rt::hd(&__t666)? }; - rt::tl(&__t697)? + rt::tl(&__t667)? }; - rt::is_cons(&__t698) + rt::is_cons(&__t668) }; - if !rt::is_truthy(interp, &__t713)? { + if !rt::is_truthy(interp, &__t679)? { Value::bool(false) } else { - let __t714 = { - let __t711 = { - let __t699 = Value::nil(); - let __t705 = { - let __t704 = { - let __t703 = { - let __t702 = { - let __t701 = { - let __t700 = + let __t680 = { + let __t677 = Value::bool( + ({ + let __t673 = { + let __t672 = { + let __t671 = { + let __t670 = { + let __t669 = v_V3268.clone(); - rt::tl(&__t700)? + rt::tl(&__t669)? }; - rt::tl(&__t701)? + rt::tl(&__t670)? }; - rt::hd(&__t702)? + rt::hd(&__t671)? }; - rt::tl(&__t703)? + rt::tl(&__t672)? }; - rt::tl(&__t704)? - }; - rt::eq(&__t699, &__t705) - }; - if !rt::is_truthy(interp, &__t711)? { + rt::tl(&__t673)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t677)? { Value::bool(false) } else { - let __t712 = { - let __t706 = Value::nil(); - let __t710 = { - let __t709 = { - let __t708 = { - let __t707 = + let __t678 = Value::bool( + ({ + let __t676 = { + let __t675 = { + let __t674 = v_V3268.clone(); - rt::tl(&__t707)? + rt::tl(&__t674)? }; - rt::tl(&__t708)? + rt::tl(&__t675)? }; - rt::tl(&__t709)? - }; - rt::eq(&__t706, &__t710) - }; + rt::tl(&__t676)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t712, + interp, &__t678, )?) } }; - Value::bool(rt::is_truthy(interp, &__t714)?) + Value::bool(rt::is_truthy(interp, &__t680)?) } }; - Value::bool(rt::is_truthy(interp, &__t716)?) + Value::bool(rt::is_truthy(interp, &__t682)?) } }; - Value::bool(rt::is_truthy(interp, &__t718)?) + Value::bool(rt::is_truthy(interp, &__t684)?) } }; - Value::bool(rt::is_truthy(interp, &__t720)?) + Value::bool(rt::is_truthy(interp, &__t686)?) } }; - Value::bool(rt::is_truthy(interp, &__t722)?) + Value::bool(rt::is_truthy(interp, &__t688)?) } }; - if match rt::is_truthy(interp, &__t753) { + if match rt::is_truthy(interp, &__t719) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3269 = { - let __t728 = { - let __t727 = { - let __t726 = { - let __t725 = { - let __t724 = { - let __t723 = v_V3268.clone(); - rt::tl(&__t723)? + let __t694 = { + let __t693 = { + let __t692 = { + let __t691 = { + let __t690 = { + let __t689 = v_V3268.clone(); + rt::tl(&__t689)? }; - rt::tl(&__t724)? + rt::tl(&__t690)? }; - rt::hd(&__t725)? + rt::hd(&__t691)? }; - rt::tl(&__t726)? + rt::tl(&__t692)? }; - rt::hd(&__t727)? + rt::hd(&__t693)? }; - rt::apply_direct(interp, "shen.extract-vars", &[__t728])? + rt::apply_direct(interp, "shen.extract-vars", &[__t694])? }; break Ok({ - let __t735 = { - let __t734 = { - let __t733 = { - let __t732 = { - let __t731 = { - let __t730 = { - let __t729 = v_V3268.clone(); - rt::tl(&__t729)? + let __t701 = { + let __t700 = { + let __t699 = { + let __t698 = { + let __t697 = { + let __t696 = { + let __t695 = v_V3268.clone(); + rt::tl(&__t695)? }; - rt::tl(&__t730)? + rt::tl(&__t696)? }; - rt::hd(&__t731)? + rt::hd(&__t697)? }; - rt::tl(&__t732)? + rt::tl(&__t698)? }; - rt::hd(&__t733)? + rt::hd(&__t699)? }; - rt::apply_direct(interp, "shen.rule->head", &[__t734])? + aot_shen_x2e_rule_x2d__x3e_head(interp, &[__t700])? }; - let __t752 = { - let __t738 = { - let __t736 = Value::sym(interp.intern("<--")); - let __t737 = Value::nil(); - rt::cons(&__t736, &__t737) + let __t718 = { + let __t704 = { + let __t702 = Value::sym(interp.intern_static("<--")); + let __t703 = Value::nil(); + rt::cons(&__t702, &__t703) }; - let __t751 = { - let __t739 = v_W3269.clone(); - let __t740 = Value::sym(interp.intern("Assumptions")); - let __t742 = { - let __t741 = v_V3268.clone(); - rt::hd(&__t741)? + let __t717 = { + let __t705 = v_W3269.clone(); + let __t706 = Value::sym(interp.intern_static("Assumptions")); + let __t708 = { + let __t707 = v_V3268.clone(); + rt::hd(&__t707)? }; - let __t745 = { - let __t744 = { - let __t743 = v_V3268.clone(); - rt::tl(&__t743)? + let __t711 = { + let __t710 = { + let __t709 = v_V3268.clone(); + rt::tl(&__t709)? }; - rt::hd(&__t744)? + rt::hd(&__t710)? }; - let __t750 = { - let __t749 = { - let __t748 = { - let __t747 = { - let __t746 = v_V3268.clone(); - rt::tl(&__t746)? + let __t716 = { + let __t715 = { + let __t714 = { + let __t713 = { + let __t712 = v_V3268.clone(); + rt::tl(&__t712)? }; - rt::tl(&__t747)? + rt::tl(&__t713)? }; - rt::hd(&__t748)? + rt::hd(&__t714)? }; - rt::hd(&__t749)? + rt::hd(&__t715)? }; - rt::apply_direct( + aot_shen_x2e_rule_x2d__x3e_body( interp, - "shen.rule->body", - &[__t739, __t740, __t742, __t745, __t750], + &[__t705, __t706, __t708, __t711, __t716], )? }; - rt::apply_direct(interp, "append", &[__t738, __t751])? + rt::apply_direct(interp, "append", &[__t704, __t717])? }; - rt::apply_direct(interp, "append", &[__t735, __t752])? + rt::apply_direct(interp, "append", &[__t701, __t718])? }); } } else { { - let __t683 = Value::bool(true); - if match rt::is_truthy(interp, &__t683) { + let __t653 = Value::bool(true); + if match rt::is_truthy(interp, &__t653) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t682 = Value::str("partial function shen.rule->clause"); - rt::apply_direct(interp, "simple-error", &[__t682])? + let __t652 = Value::str("partial function shen.rule->clause"); + rt::apply_direct(interp, "simple-error", &[__t652])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4656,16 +4581,16 @@ pub fn aot_shen_x2e_rule_x2d__x3e_head(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { break Ok({ - let __t755 = { - let __t754 = v_V3270.clone(); - rt::apply_direct(interp, "shen.macro-@ch", &[__t754])? + let __t721 = { + let __t720 = v_V3270.clone(); + aot_shen_x2e_macro_x2d__x40_ch(interp, &[__t720])? }; - let __t758 = { - let __t756 = Value::sym(interp.intern("Assumptions")); - let __t757 = Value::nil(); - rt::cons(&__t756, &__t757) + let __t724 = { + let __t722 = Value::sym(interp.intern_static("Assumptions")); + let __t723 = Value::nil(); + rt::cons(&__t722, &__t723) }; - rt::cons(&__t755, &__t758) + rt::cons(&__t721, &__t724) }); } } @@ -4688,13 +4613,13 @@ pub fn aot_shen_x2e_macro_x2d__x40_ch(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { break Ok({ - let __t759 = Value::sym(interp.intern("shen.@ch")); - let __t762 = { - let __t760 = v_V3271.clone(); - let __t761 = Value::nil(); - rt::cons(&__t760, &__t761) + let __t725 = Value::sym(interp.intern_static("shen.@ch")); + let __t728 = { + let __t726 = v_V3271.clone(); + let __t727 = Value::nil(); + rt::cons(&__t726, &__t727) }; - rt::cons(&__t759, &__t762) + rt::cons(&__t725, &__t728) }); } } @@ -4717,13 +4642,13 @@ pub fn aot_shen_x2e_macro_x2d__x40_c(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { break Ok({ - let __t763 = Value::sym(interp.intern("shen.@c")); - let __t766 = { - let __t764 = v_V3272.clone(); - let __t765 = Value::nil(); - rt::cons(&__t764, &__t765) + let __t729 = Value::sym(interp.intern_static("shen.@c")); + let __t732 = { + let __t730 = v_V3272.clone(); + let __t731 = Value::nil(); + rt::cons(&__t730, &__t731) }; - rt::cons(&__t763, &__t766) + rt::cons(&__t729, &__t732) }); } } @@ -4754,217 +4679,194 @@ pub fn aot_shen_x2e_rule_x2d__x3e_body(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t830 = { - let __t823 = Value::nil(); - let __t824 = v_V3277.clone(); - rt::eq(&__t823, &__t824) - }; - if match rt::is_truthy(interp, &__t830) { + let __t790 = Value::bool((v_V3277.clone()).is_nil()); + if match rt::is_truthy(interp, &__t790) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t825 = Value::nil(); - let __t826 = v_V3273.clone(); - let __t827 = v_V3274.clone(); - let __t828 = v_V3275.clone(); - let __t829 = v_V3276.clone(); - rt::apply_direct( + let __t785 = Value::nil(); + let __t786 = v_V3273.clone(); + let __t787 = v_V3274.clone(); + let __t788 = v_V3275.clone(); + let __t789 = v_V3276.clone(); + aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( interp, - "shen.side-conditions->goals", - &[__t825, __t826, __t827, __t828, __t829], + &[__t785, __t786, __t787, __t788, __t789], )? }); } else { { - let __t822 = { - let __t802 = { - let __t794 = Value::nil(); - let __t795 = v_V3276.clone(); - rt::eq(&__t794, &__t795) - }; - if !rt::is_truthy(interp, &__t802)? { + let __t784 = { + let __t764 = Value::bool((v_V3276.clone()).is_nil()); + if !rt::is_truthy(interp, &__t764)? { Value::bool(false) } else { - let __t803 = { - let __t800 = { - let __t796 = v_V3277.clone(); - rt::is_cons(&__t796) + let __t765 = { + let __t762 = { + let __t760 = v_V3277.clone(); + rt::is_cons(&__t760) }; - if !rt::is_truthy(interp, &__t800)? { + if !rt::is_truthy(interp, &__t762)? { Value::bool(false) } else { - let __t801 = { - let __t797 = Value::nil(); - let __t799 = { - let __t798 = v_V3277.clone(); - rt::tl(&__t798)? - }; - rt::eq(&__t797, &__t799) - }; - Value::bool(rt::is_truthy(interp, &__t801)?) + let __t763 = Value::bool( + ({ + let __t761 = v_V3277.clone(); + rt::tl(&__t761)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t763)?) } }; - Value::bool(rt::is_truthy(interp, &__t803)?) + Value::bool(rt::is_truthy(interp, &__t765)?) } }; - if match rt::is_truthy(interp, &__t822) { + if match rt::is_truthy(interp, &__t784) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3278 = { - let __t805 = { - let __t804 = v_V3277.clone(); - rt::hd(&__t804)? + let __t767 = { + let __t766 = v_V3277.clone(); + rt::hd(&__t766)? }; - let __t806 = v_V3273.clone(); - rt::apply_direct( - interp, - "shen.passive-variables", - &[__t805, __t806], - )? + let __t768 = v_V3273.clone(); + aot_shen_x2e_passive_x2d_variables(interp, &[__t767, __t768])? }; { let v_W3279 = { - let __t807 = v_V3273.clone(); - let __t809 = { - let __t808 = v_V3277.clone(); - rt::hd(&__t808)? + let __t769 = v_V3273.clone(); + let __t771 = { + let __t770 = v_V3277.clone(); + rt::hd(&__t770)? }; - rt::apply_direct( - interp, - "shen.remove-bystanders", - &[__t807, __t809], - )? + aot_shen_x2e_remove_x2d_bystanders(interp, &[__t769, __t771])? }; break Ok({ - let __t815 = { - let __t811 = { - let __t810 = v_V3277.clone(); - rt::hd(&__t810)? + let __t777 = { + let __t773 = { + let __t772 = v_V3277.clone(); + rt::hd(&__t772)? }; - let __t812 = v_V3274.clone(); - let __t813 = v_W3279.clone(); - let __t814 = v_W3278.clone(); - rt::apply_direct( + let __t774 = v_V3274.clone(); + let __t775 = v_W3279.clone(); + let __t776 = v_W3278.clone(); + aot_shen_x2e_specialise_x2d_member( interp, - "shen.specialise-member", - &[__t811, __t812, __t813, __t814], + &[__t773, __t774, __t775, __t776], )? }; - let __t821 = { - let __t816 = Value::nil(); - let __t817 = v_V3273.clone(); - let __t818 = v_V3274.clone(); - let __t819 = v_V3275.clone(); - let __t820 = Value::nil(); - rt::apply_direct( + let __t783 = { + let __t778 = Value::nil(); + let __t779 = v_V3273.clone(); + let __t780 = v_V3274.clone(); + let __t781 = v_V3275.clone(); + let __t782 = Value::nil(); + aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( interp, - "shen.side-conditions->goals", - &[__t816, __t817, __t818, __t819, __t820], + &[__t778, __t779, __t780, __t781, __t782], )? }; - rt::cons(&__t815, &__t821) + rt::cons(&__t777, &__t783) }); } } } else { { - let __t793 = { - let __t769 = v_V3277.clone(); - rt::is_cons(&__t769) + let __t759 = { + let __t735 = v_V3277.clone(); + rt::is_cons(&__t735) }; - if match rt::is_truthy(interp, &__t793) { + if match rt::is_truthy(interp, &__t759) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3280 = { - let __t770 = Value::sym(interp.intern("NewAssumptions")); - rt::apply_direct(interp, "gensym", &[__t770])? + let __t736 = + Value::sym(interp.intern_static("NewAssumptions")); + rt::apply_direct(interp, "gensym", &[__t736])? }; { let v_W3281 = { - let __t772 = { - let __t771 = v_V3277.clone(); - rt::hd(&__t771)? + let __t738 = { + let __t737 = v_V3277.clone(); + rt::hd(&__t737)? }; - let __t773 = v_V3273.clone(); - rt::apply_direct( + let __t739 = v_V3273.clone(); + aot_shen_x2e_passive_x2d_variables( interp, - "shen.passive-variables", - &[__t772, __t773], + &[__t738, __t739], )? }; { let v_W3282 = { - let __t774 = v_V3273.clone(); - let __t776 = { - let __t775 = v_V3277.clone(); - rt::hd(&__t775)? + let __t740 = v_V3273.clone(); + let __t742 = { + let __t741 = v_V3277.clone(); + rt::hd(&__t741)? }; - rt::apply_direct( + aot_shen_x2e_remove_x2d_bystanders( interp, - "shen.remove-bystanders", - &[__t774, __t776], + &[__t740, __t742], )? }; break Ok({ - let __t783 = { - let __t778 = { - let __t777 = v_V3277.clone(); - rt::hd(&__t777)? + let __t749 = { + let __t744 = { + let __t743 = v_V3277.clone(); + rt::hd(&__t743)? }; - let __t779 = v_V3274.clone(); - let __t780 = v_W3282.clone(); - let __t781 = v_W3281.clone(); - let __t782 = v_W3280.clone(); - rt::apply_direct( + let __t745 = v_V3274.clone(); + let __t746 = v_W3282.clone(); + let __t747 = v_W3281.clone(); + let __t748 = v_W3280.clone(); + aot_shen_x2e_specialise_x2d_consume( interp, - "shen.specialise-consume", - &[__t778, __t779, __t780, __t781, __t782], + &[__t744, __t745, __t746, __t747, __t748], )? }; - let __t792 = { - let __t786 = { - let __t784 = v_V3273.clone(); - let __t785 = v_W3281.clone(); + let __t758 = { + let __t752 = { + let __t750 = v_V3273.clone(); + let __t751 = v_W3281.clone(); rt::apply_direct( interp, "append", - &[__t784, __t785], + &[__t750, __t751], )? }; - let __t787 = v_W3280.clone(); - let __t788 = v_V3275.clone(); - let __t789 = v_V3276.clone(); - let __t791 = { - let __t790 = v_V3277.clone(); - rt::tl(&__t790)? + let __t753 = v_W3280.clone(); + let __t754 = v_V3275.clone(); + let __t755 = v_V3276.clone(); + let __t757 = { + let __t756 = v_V3277.clone(); + rt::tl(&__t756)? }; - rt::apply_direct( + aot_shen_x2e_rule_x2d__x3e_body( interp, - "shen.rule->body", - &[__t786, __t787, __t788, __t789, __t791], + &[__t752, __t753, __t754, __t755, __t757], )? }; - rt::cons(&__t783, &__t792) + rt::cons(&__t749, &__t758) }); } } } } else { { - let __t768 = Value::bool(true); - if match rt::is_truthy(interp, &__t768) { + let __t734 = Value::bool(true); + if match rt::is_truthy(interp, &__t734) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t767 = + let __t733 = Value::str("partial function shen.rule->body"); - rt::apply_direct(interp, "simple-error", &[__t767])? + rt::apply_direct(interp, "simple-error", &[__t733])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5007,33 +4909,29 @@ pub fn aot_shen_x2e_specialise_x2d_member( loop { { let v_W3287 = { - let __t831 = Value::sym(interp.intern("shen.member")); - rt::apply_direct(interp, "gensym", &[__t831])? + let __t791 = Value::sym(interp.intern_static("shen.member")); + rt::apply_direct(interp, "gensym", &[__t791])? }; { let v_W3288 = { - let __t832 = v_W3287.clone(); - let __t833 = v_V3283.clone(); - let __t834 = v_V3285.clone(); - let __t835 = v_V3286.clone(); - rt::apply_direct( - interp, - "shen.member-clause", - &[__t832, __t833, __t834, __t835], - )? + let __t792 = v_W3287.clone(); + let __t793 = v_V3283.clone(); + let __t794 = v_V3285.clone(); + let __t795 = v_V3286.clone(); + aot_shen_x2e_member_x2d_clause(interp, &[__t792, __t793, __t794, __t795])? }; break Ok({ - let __t836 = v_W3287.clone(); - let __t841 = { - let __t837 = v_V3284.clone(); - let __t840 = { - let __t838 = v_V3285.clone(); - let __t839 = v_V3286.clone(); - rt::apply_direct(interp, "append", &[__t838, __t839])? + let __t796 = v_W3287.clone(); + let __t801 = { + let __t797 = v_V3284.clone(); + let __t800 = { + let __t798 = v_V3285.clone(); + let __t799 = v_V3286.clone(); + rt::apply_direct(interp, "append", &[__t798, __t799])? }; - rt::cons(&__t837, &__t840) + rt::cons(&__t797, &__t800) }; - rt::cons(&__t836, &__t841) + rt::cons(&__t796, &__t801) }); } } @@ -5067,92 +4965,84 @@ pub fn aot_shen_x2e_remove_x2d_bystanders( #[allow(clippy::never_loop)] loop { { - let __t864 = { - let __t862 = Value::nil(); - let __t863 = v_V3291.clone(); - rt::eq(&__t862, &__t863) - }; - if match rt::is_truthy(interp, &__t864) { + let __t822 = Value::bool((v_V3291.clone()).is_nil()); + if match rt::is_truthy(interp, &__t822) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t861 = { - let __t853 = { - let __t849 = v_V3291.clone(); - rt::is_cons(&__t849) + let __t821 = { + let __t813 = { + let __t809 = v_V3291.clone(); + rt::is_cons(&__t809) }; - if !rt::is_truthy(interp, &__t853)? { + if !rt::is_truthy(interp, &__t813)? { Value::bool(false) } else { - let __t854 = { - let __t851 = { - let __t850 = v_V3291.clone(); - rt::hd(&__t850)? + let __t814 = { + let __t811 = { + let __t810 = v_V3291.clone(); + rt::hd(&__t810)? }; - let __t852 = v_V3292.clone(); - rt::apply_direct(interp, "shen.occurs-check?", &[__t851, __t852])? + let __t812 = v_V3292.clone(); + rt::apply_direct(interp, "shen.occurs-check?", &[__t811, __t812])? }; - Value::bool(rt::is_truthy(interp, &__t854)?) + Value::bool(rt::is_truthy(interp, &__t814)?) } }; - if match rt::is_truthy(interp, &__t861) { + if match rt::is_truthy(interp, &__t821) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t856 = { - let __t855 = v_V3291.clone(); - rt::hd(&__t855)? + let __t816 = { + let __t815 = v_V3291.clone(); + rt::hd(&__t815)? }; - let __t860 = { - let __t858 = { - let __t857 = v_V3291.clone(); - rt::tl(&__t857)? + let __t820 = { + let __t818 = { + let __t817 = v_V3291.clone(); + rt::tl(&__t817)? }; - let __t859 = v_V3292.clone(); - rt::apply_direct( - interp, - "shen.remove-bystanders", - &[__t858, __t859], - )? + let __t819 = v_V3292.clone(); + aot_shen_x2e_remove_x2d_bystanders(interp, &[__t818, __t819])? }; - rt::cons(&__t856, &__t860) + rt::cons(&__t816, &__t820) }); } else { { - let __t848 = { - let __t844 = v_V3291.clone(); - rt::is_cons(&__t844) + let __t808 = { + let __t804 = v_V3291.clone(); + rt::is_cons(&__t804) }; - if match rt::is_truthy(interp, &__t848) { + if match rt::is_truthy(interp, &__t808) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t846 = { - let __t845 = v_V3291.clone(); - rt::tl(&__t845)? + let __t806 = { + let __t805 = v_V3291.clone(); + rt::tl(&__t805)? }; - let __t847 = v_V3292.clone(); - v_V3291 = __t846; - v_V3292 = __t847; + let __t807 = v_V3292.clone(); + v_V3291 = __t806; + v_V3292 = __t807; continue; } } else { { - let __t843 = Value::bool(true); - if match rt::is_truthy(interp, &__t843) { + let __t803 = Value::bool(true); + if match rt::is_truthy(interp, &__t803) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t842 = Value::str( + let __t802 = Value::str( "partial function shen.remove-bystanders", ); - rt::apply_direct(interp, "simple-error", &[__t842])? + rt::apply_direct(interp, "simple-error", &[__t802])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5196,167 +5086,157 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W3297 = { - let __t866 = { - let __t865 = v_V3296.clone(); - rt::apply_direct(interp, "length", &[__t865])? + let __t824 = { + let __t823 = v_V3296.clone(); + rt::apply_direct(interp, "length", &[__t823])? }; - rt::apply_direct(interp, "shen.nvars", &[__t866])? + aot_shen_x2e_nvars(interp, &[__t824])? }; { let v_W3298 = { - let __t880 = { - let __t878 = { - let __t867 = Value::sym(interp.intern("-")); - let __t877 = { - let __t875 = { - let __t868 = Value::sym(interp.intern("cons")); - let __t874 = { - let __t870 = { - let __t869 = v_V3294.clone(); - rt::apply_direct(interp, "shen.macro-@ch", &[__t869])? + let __t838 = { + let __t836 = { + let __t825 = Value::sym(interp.intern_static("-")); + let __t835 = { + let __t833 = { + let __t826 = Value::sym(interp.intern_static("cons")); + let __t832 = { + let __t828 = { + let __t827 = v_V3294.clone(); + aot_shen_x2e_macro_x2d__x40_ch(interp, &[__t827])? }; - let __t873 = { - let __t871 = Value::sym(interp.intern("_")); - let __t872 = Value::nil(); - rt::cons(&__t871, &__t872) + let __t831 = { + let __t829 = Value::sym(interp.intern_static("_")); + let __t830 = Value::nil(); + rt::cons(&__t829, &__t830) }; - rt::cons(&__t870, &__t873) + rt::cons(&__t828, &__t831) }; - rt::cons(&__t868, &__t874) + rt::cons(&__t826, &__t832) }; - let __t876 = Value::nil(); - rt::cons(&__t875, &__t876) + let __t834 = Value::nil(); + rt::cons(&__t833, &__t834) }; - rt::cons(&__t867, &__t877) + rt::cons(&__t825, &__t835) }; - let __t879 = Value::nil(); - rt::cons(&__t878, &__t879) + let __t837 = Value::nil(); + rt::cons(&__t836, &__t837) }; - let __t896 = { - let __t881 = v_V3295.clone(); - let __t895 = { - let __t882 = v_W3297.clone(); - let __t894 = { - let __t885 = { - let __t883 = Value::sym(interp.intern("<--")); - let __t884 = Value::nil(); - rt::cons(&__t883, &__t884) + let __t853 = { + let __t839 = v_V3295.clone(); + let __t852 = { + let __t840 = v_W3297.clone(); + let __t851 = { + let __t843 = { + let __t841 = Value::sym(interp.intern_static("<--")); + let __t842 = Value::nil(); + rt::cons(&__t841, &__t842) }; - let __t893 = { - let __t888 = { - let __t886 = v_V3296.clone(); - let __t887 = v_W3297.clone(); - rt::apply_direct( - interp, - "shen.passive-bind", - &[__t886, __t887], - )? + let __t850 = { + let __t846 = { + let __t844 = v_V3296.clone(); + let __t845 = v_W3297.clone(); + aot_shen_x2e_passive_x2d_bind(interp, &[__t844, __t845])? }; - let __t892 = { - let __t890 = { - let __t889 = Value::str(";"); - rt::apply_direct(interp, "intern", &[__t889])? - }; - let __t891 = Value::nil(); - rt::cons(&__t890, &__t891) + let __t849 = { + let __t847 = Value::sym(interp.intern_static(";")); + let __t848 = Value::nil(); + rt::cons(&__t847, &__t848) }; - rt::apply_direct(interp, "append", &[__t888, __t892])? + rt::apply_direct(interp, "append", &[__t846, __t849])? }; - rt::apply_direct(interp, "append", &[__t885, __t893])? + rt::apply_direct(interp, "append", &[__t843, __t850])? }; - rt::apply_direct(interp, "append", &[__t882, __t894])? + rt::apply_direct(interp, "append", &[__t840, __t851])? }; - rt::apply_direct(interp, "append", &[__t881, __t895])? + rt::apply_direct(interp, "append", &[__t839, __t852])? }; - rt::apply_direct(interp, "append", &[__t880, __t896])? + rt::apply_direct(interp, "append", &[__t838, __t853])? }; { let v_W3299 = { let v_W3300 = { - let __t897 = Value::sym(interp.intern("Hypotheses")); - rt::apply_direct(interp, "gensym", &[__t897])? + let __t854 = Value::sym(interp.intern_static("Hypotheses")); + rt::apply_direct(interp, "gensym", &[__t854])? }; { let v_W3301 = { - let __t898 = v_V3295.clone(); - let __t899 = v_V3296.clone(); - rt::apply_direct(interp, "append", &[__t898, __t899])? + let __t855 = v_V3295.clone(); + let __t856 = v_V3296.clone(); + rt::apply_direct(interp, "append", &[__t855, __t856])? }; { let v_W3302 = { - let __t912 = { - let __t910 = { - let __t900 = Value::sym(interp.intern("-")); - let __t909 = { - let __t907 = { - let __t901 = Value::sym(interp.intern("cons")); - let __t906 = { - let __t902 = Value::sym(interp.intern("_")); - let __t905 = { - let __t903 = v_W3300.clone(); - let __t904 = Value::nil(); - rt::cons(&__t903, &__t904) + let __t869 = { + let __t867 = { + let __t857 = Value::sym(interp.intern_static("-")); + let __t866 = { + let __t864 = { + let __t858 = + Value::sym(interp.intern_static("cons")); + let __t863 = { + let __t859 = + Value::sym(interp.intern_static("_")); + let __t862 = { + let __t860 = v_W3300.clone(); + let __t861 = Value::nil(); + rt::cons(&__t860, &__t861) }; - rt::cons(&__t902, &__t905) + rt::cons(&__t859, &__t862) }; - rt::cons(&__t901, &__t906) + rt::cons(&__t858, &__t863) }; - let __t908 = Value::nil(); - rt::cons(&__t907, &__t908) + let __t865 = Value::nil(); + rt::cons(&__t864, &__t865) }; - rt::cons(&__t900, &__t909) + rt::cons(&__t857, &__t866) }; - let __t911 = Value::nil(); - rt::cons(&__t910, &__t911) + let __t868 = Value::nil(); + rt::cons(&__t867, &__t868) }; - let __t913 = v_W3301.clone(); - rt::apply_direct(interp, "append", &[__t912, __t913])? + let __t870 = v_W3301.clone(); + rt::apply_direct(interp, "append", &[__t869, __t870])? }; { let v_W3303 = { - let __t918 = { - let __t914 = v_V3293.clone(); - let __t917 = { - let __t915 = v_W3300.clone(); - let __t916 = v_W3301.clone(); - rt::cons(&__t915, &__t916) + let __t875 = { + let __t871 = v_V3293.clone(); + let __t874 = { + let __t872 = v_W3300.clone(); + let __t873 = v_W3301.clone(); + rt::cons(&__t872, &__t873) }; - rt::cons(&__t914, &__t917) + rt::cons(&__t871, &__t874) }; - let __t919 = Value::nil(); - rt::cons(&__t918, &__t919) + let __t876 = Value::nil(); + rt::cons(&__t875, &__t876) }; { - let __t920 = v_W3302.clone(); - let __t930 = { - let __t923 = { - let __t921 = Value::sym(interp.intern("<--")); - let __t922 = Value::nil(); - rt::cons(&__t921, &__t922) + let __t877 = v_W3302.clone(); + let __t886 = { + let __t880 = { + let __t878 = + Value::sym(interp.intern_static("<--")); + let __t879 = Value::nil(); + rt::cons(&__t878, &__t879) }; - let __t929 = { - let __t924 = v_W3303.clone(); - let __t928 = { - let __t926 = { - let __t925 = Value::str(";"); - rt::apply_direct( - interp, - "intern", - &[__t925], - )? - }; - let __t927 = Value::nil(); - rt::cons(&__t926, &__t927) + let __t885 = { + let __t881 = v_W3303.clone(); + let __t884 = { + let __t882 = + Value::sym(interp.intern_static(";")); + let __t883 = Value::nil(); + rt::cons(&__t882, &__t883) }; rt::apply_direct( interp, "append", - &[__t924, __t928], + &[__t881, __t884], )? }; - rt::apply_direct(interp, "append", &[__t923, __t929])? + rt::apply_direct(interp, "append", &[__t880, __t885])? }; - rt::apply_direct(interp, "append", &[__t920, __t930])? + rt::apply_direct(interp, "append", &[__t877, __t886])? } } } @@ -5364,21 +5244,21 @@ pub fn aot_shen_x2e_member_x2d_clause(interp: &mut Interp, args: &[Value]) -> Sh }; { let v_W3304 = { - let __t931 = Value::sym(interp.intern("defprolog")); - let __t936 = { - let __t932 = v_V3293.clone(); - let __t935 = { - let __t933 = v_W3298.clone(); - let __t934 = v_W3299.clone(); - rt::apply_direct(interp, "append", &[__t933, __t934])? + let __t887 = Value::sym(interp.intern_static("defprolog")); + let __t892 = { + let __t888 = v_V3293.clone(); + let __t891 = { + let __t889 = v_W3298.clone(); + let __t890 = v_W3299.clone(); + rt::apply_direct(interp, "append", &[__t889, __t890])? }; - rt::cons(&__t932, &__t935) + rt::cons(&__t888, &__t891) }; - rt::cons(&__t931, &__t936) + rt::cons(&__t887, &__t892) }; break Ok({ - let __t937 = v_W3304.clone(); - rt::apply_direct(interp, "eval", &[__t937])? + let __t893 = v_W3304.clone(); + rt::apply_direct(interp, "eval", &[__t893])? }); } } @@ -5405,37 +5285,37 @@ pub fn aot_shen_x2e_nvars(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t944 = Value::bool(true); - if match rt::is_truthy(interp, &__t944) { + let __t900 = Value::bool(true); + if match rt::is_truthy(interp, &__t900) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t939 = { - let __t938 = Value::sym(interp.intern("NewV")); - rt::apply_direct(interp, "gensym", &[__t938])? + let __t895 = { + let __t894 = Value::sym(interp.intern_static("NewV")); + rt::apply_direct(interp, "gensym", &[__t894])? }; - let __t943 = { - let __t942 = { - let __t940 = v_V3305.clone(); - let __t941 = Value::int(1i64); - rt::sub(&__t940, &__t941)? + let __t899 = { + let __t898 = { + let __t896 = v_V3305.clone(); + let __t897 = Value::int(1i64); + rt::sub(&__t896, &__t897)? }; - rt::apply_direct(interp, "shen.nvars", &[__t942])? + aot_shen_x2e_nvars(interp, &[__t898])? }; - rt::cons(&__t939, &__t943) + rt::cons(&__t895, &__t899) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5466,92 +5346,84 @@ pub fn aot_shen_x2e_passive_x2d_bind(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t975 = { - let __t973 = { - let __t969 = Value::nil(); - let __t970 = v_V3306.clone(); - rt::eq(&__t969, &__t970) - }; - if !rt::is_truthy(interp, &__t973)? { + let __t927 = { + let __t925 = Value::bool((v_V3306.clone()).is_nil()); + if !rt::is_truthy(interp, &__t925)? { Value::bool(false) } else { - let __t974 = { - let __t971 = Value::nil(); - let __t972 = v_V3307.clone(); - rt::eq(&__t971, &__t972) - }; - Value::bool(rt::is_truthy(interp, &__t974)?) + let __t926 = Value::bool((v_V3307.clone()).is_nil()); + Value::bool(rt::is_truthy(interp, &__t926)?) } }; - if match rt::is_truthy(interp, &__t975) { + if match rt::is_truthy(interp, &__t927) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t968 = { - let __t952 = { - let __t950 = v_V3306.clone(); - rt::is_cons(&__t950) + let __t924 = { + let __t908 = { + let __t906 = v_V3306.clone(); + rt::is_cons(&__t906) }; - if !rt::is_truthy(interp, &__t952)? { + if !rt::is_truthy(interp, &__t908)? { Value::bool(false) } else { - let __t953 = { - let __t951 = v_V3307.clone(); - rt::is_cons(&__t951) + let __t909 = { + let __t907 = v_V3307.clone(); + rt::is_cons(&__t907) }; - Value::bool(rt::is_truthy(interp, &__t953)?) + Value::bool(rt::is_truthy(interp, &__t909)?) } }; - if match rt::is_truthy(interp, &__t968) { + if match rt::is_truthy(interp, &__t924) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t962 = { - let __t954 = Value::sym(interp.intern("bind")); - let __t961 = { - let __t956 = { - let __t955 = v_V3307.clone(); - rt::hd(&__t955)? + let __t918 = { + let __t910 = Value::sym(interp.intern_static("bind")); + let __t917 = { + let __t912 = { + let __t911 = v_V3307.clone(); + rt::hd(&__t911)? }; - let __t960 = { - let __t958 = { - let __t957 = v_V3306.clone(); - rt::hd(&__t957)? + let __t916 = { + let __t914 = { + let __t913 = v_V3306.clone(); + rt::hd(&__t913)? }; - let __t959 = Value::nil(); - rt::cons(&__t958, &__t959) + let __t915 = Value::nil(); + rt::cons(&__t914, &__t915) }; - rt::cons(&__t956, &__t960) + rt::cons(&__t912, &__t916) }; - rt::cons(&__t954, &__t961) + rt::cons(&__t910, &__t917) }; - let __t967 = { - let __t964 = { - let __t963 = v_V3306.clone(); - rt::tl(&__t963)? + let __t923 = { + let __t920 = { + let __t919 = v_V3306.clone(); + rt::tl(&__t919)? }; - let __t966 = { - let __t965 = v_V3307.clone(); - rt::tl(&__t965)? + let __t922 = { + let __t921 = v_V3307.clone(); + rt::tl(&__t921)? }; - rt::apply_direct(interp, "shen.passive-bind", &[__t964, __t966])? + aot_shen_x2e_passive_x2d_bind(interp, &[__t920, __t922])? }; - rt::cons(&__t962, &__t967) + rt::cons(&__t918, &__t923) }); } else { { - let __t949 = Value::bool(true); - if match rt::is_truthy(interp, &__t949) { + let __t905 = Value::bool(true); + if match rt::is_truthy(interp, &__t905) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t948 = Value::str("partial function shen.passive-bind"); - rt::apply_direct(interp, "simple-error", &[__t948])? + let __t904 = Value::str("partial function shen.passive-bind"); + rt::apply_direct(interp, "simple-error", &[__t904])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5594,38 +5466,37 @@ pub fn aot_shen_x2e_specialise_x2d_consume( loop { { let v_W3313 = { - let __t976 = Value::sym(interp.intern("shen.consume")); - rt::apply_direct(interp, "gensym", &[__t976])? + let __t928 = Value::sym(interp.intern_static("shen.consume")); + rt::apply_direct(interp, "gensym", &[__t928])? }; { let v_W3314 = { - let __t977 = v_W3313.clone(); - let __t978 = v_V3308.clone(); - let __t979 = v_V3310.clone(); - let __t980 = v_V3311.clone(); - let __t981 = v_V3312.clone(); - rt::apply_direct( + let __t929 = v_W3313.clone(); + let __t930 = v_V3308.clone(); + let __t931 = v_V3310.clone(); + let __t932 = v_V3311.clone(); + let __t933 = v_V3312.clone(); + aot_shen_x2e_consume_x2d_clause( interp, - "shen.consume-clause", - &[__t977, __t978, __t979, __t980, __t981], + &[__t929, __t930, __t931, __t932, __t933], )? }; break Ok({ - let __t982 = v_W3313.clone(); - let __t989 = { - let __t983 = v_V3309.clone(); - let __t988 = { - let __t984 = v_V3312.clone(); - let __t987 = { - let __t985 = v_V3310.clone(); - let __t986 = v_V3311.clone(); - rt::apply_direct(interp, "append", &[__t985, __t986])? + let __t934 = v_W3313.clone(); + let __t941 = { + let __t935 = v_V3309.clone(); + let __t940 = { + let __t936 = v_V3312.clone(); + let __t939 = { + let __t937 = v_V3310.clone(); + let __t938 = v_V3311.clone(); + rt::apply_direct(interp, "append", &[__t937, __t938])? }; - rt::cons(&__t984, &__t987) + rt::cons(&__t936, &__t939) }; - rt::cons(&__t983, &__t988) + rt::cons(&__t935, &__t940) }; - rt::cons(&__t982, &__t989) + rt::cons(&__t934, &__t941) }); } } @@ -5666,238 +5537,231 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S loop { { let v_W3320 = { - let __t991 = { - let __t990 = v_V3318.clone(); - rt::apply_direct(interp, "length", &[__t990])? + let __t943 = { + let __t942 = v_V3318.clone(); + rt::apply_direct(interp, "length", &[__t942])? }; - rt::apply_direct(interp, "shen.nvars", &[__t991])? + aot_shen_x2e_nvars(interp, &[__t943])? }; { let v_W3321 = { - let __t992 = Value::sym(interp.intern("Assumption")); - rt::apply_direct(interp, "gensym", &[__t992])? + let __t944 = Value::sym(interp.intern_static("Assumption")); + rt::apply_direct(interp, "gensym", &[__t944])? }; { let v_W3322 = { - let __t1004 = { - let __t993 = Value::sym(interp.intern("-")); - let __t1003 = { - let __t1001 = { - let __t994 = Value::sym(interp.intern("cons")); - let __t1000 = { - let __t996 = { - let __t995 = v_V3316.clone(); - rt::apply_direct(interp, "shen.macro-@ch", &[__t995])? + let __t956 = { + let __t945 = Value::sym(interp.intern_static("-")); + let __t955 = { + let __t953 = { + let __t946 = Value::sym(interp.intern_static("cons")); + let __t952 = { + let __t948 = { + let __t947 = v_V3316.clone(); + aot_shen_x2e_macro_x2d__x40_ch(interp, &[__t947])? }; - let __t999 = { - let __t997 = v_W3321.clone(); - let __t998 = Value::nil(); - rt::cons(&__t997, &__t998) + let __t951 = { + let __t949 = v_W3321.clone(); + let __t950 = Value::nil(); + rt::cons(&__t949, &__t950) }; - rt::cons(&__t996, &__t999) + rt::cons(&__t948, &__t951) }; - rt::cons(&__t994, &__t1000) + rt::cons(&__t946, &__t952) }; - let __t1002 = Value::nil(); - rt::cons(&__t1001, &__t1002) + let __t954 = Value::nil(); + rt::cons(&__t953, &__t954) }; - rt::cons(&__t993, &__t1003) + rt::cons(&__t945, &__t955) }; - let __t1030 = { - let __t1005 = v_V3319.clone(); - let __t1029 = { - let __t1006 = v_V3317.clone(); - let __t1028 = { - let __t1007 = v_W3320.clone(); - let __t1027 = { - let __t1010 = { - let __t1008 = Value::sym(interp.intern("<--")); - let __t1009 = Value::nil(); - rt::cons(&__t1008, &__t1009) + let __t981 = { + let __t957 = v_V3319.clone(); + let __t980 = { + let __t958 = v_V3317.clone(); + let __t979 = { + let __t959 = v_W3320.clone(); + let __t978 = { + let __t962 = { + let __t960 = Value::sym(interp.intern_static("<--")); + let __t961 = Value::nil(); + rt::cons(&__t960, &__t961) }; - let __t1026 = { - let __t1013 = { - let __t1011 = v_V3318.clone(); - let __t1012 = v_W3320.clone(); - rt::apply_direct( + let __t977 = { + let __t965 = { + let __t963 = v_V3318.clone(); + let __t964 = v_W3320.clone(); + aot_shen_x2e_passive_x2d_bind( interp, - "shen.passive-bind", - &[__t1011, __t1012], + &[__t963, __t964], )? }; - let __t1025 = { - let __t1020 = { - let __t1014 = Value::sym(interp.intern("bind")); - let __t1019 = { - let __t1015 = v_V3319.clone(); - let __t1018 = { - let __t1016 = v_W3321.clone(); - let __t1017 = Value::nil(); - rt::cons(&__t1016, &__t1017) + let __t976 = { + let __t972 = { + let __t966 = + Value::sym(interp.intern_static("bind")); + let __t971 = { + let __t967 = v_V3319.clone(); + let __t970 = { + let __t968 = v_W3321.clone(); + let __t969 = Value::nil(); + rt::cons(&__t968, &__t969) }; - rt::cons(&__t1015, &__t1018) + rt::cons(&__t967, &__t970) }; - rt::cons(&__t1014, &__t1019) + rt::cons(&__t966, &__t971) }; - let __t1024 = { - let __t1022 = { - let __t1021 = Value::str(";"); - rt::apply_direct( - interp, - "intern", - &[__t1021], - )? - }; - let __t1023 = Value::nil(); - rt::cons(&__t1022, &__t1023) + let __t975 = { + let __t973 = + Value::sym(interp.intern_static(";")); + let __t974 = Value::nil(); + rt::cons(&__t973, &__t974) }; - rt::cons(&__t1020, &__t1024) + rt::cons(&__t972, &__t975) }; - rt::apply_direct(interp, "append", &[__t1013, __t1025])? + rt::apply_direct(interp, "append", &[__t965, __t976])? }; - rt::apply_direct(interp, "append", &[__t1010, __t1026])? + rt::apply_direct(interp, "append", &[__t962, __t977])? }; - rt::apply_direct(interp, "append", &[__t1007, __t1027])? + rt::apply_direct(interp, "append", &[__t959, __t978])? }; - rt::apply_direct(interp, "append", &[__t1006, __t1028])? + rt::apply_direct(interp, "append", &[__t958, __t979])? }; - rt::cons(&__t1005, &__t1029) + rt::cons(&__t957, &__t980) }; - rt::cons(&__t1004, &__t1030) + rt::cons(&__t956, &__t981) }; { let v_W3323 = { let v_W3324 = { - let __t1031 = Value::sym(interp.intern("Hypotheses")); - rt::apply_direct(interp, "gensym", &[__t1031])? + let __t982 = Value::sym(interp.intern_static("Hypotheses")); + rt::apply_direct(interp, "gensym", &[__t982])? }; { let v_W3325 = { - let __t1032 = v_V3317.clone(); - let __t1033 = v_V3318.clone(); - rt::apply_direct(interp, "append", &[__t1032, __t1033])? + let __t983 = v_V3317.clone(); + let __t984 = v_V3318.clone(); + rt::apply_direct(interp, "append", &[__t983, __t984])? }; { let v_W3326 = { - let __t1034 = Value::sym(interp.intern("Assumptions")); - rt::apply_direct(interp, "gensym", &[__t1034])? + let __t985 = + Value::sym(interp.intern_static("Assumptions")); + rt::apply_direct(interp, "gensym", &[__t985])? }; { let v_W3327 = { - let __t1045 = { - let __t1035 = Value::sym(interp.intern("-")); - let __t1044 = { - let __t1042 = { - let __t1036 = - Value::sym(interp.intern("cons")); - let __t1041 = { - let __t1037 = v_W3321.clone(); - let __t1040 = { - let __t1038 = v_W3324.clone(); - let __t1039 = Value::nil(); - rt::cons(&__t1038, &__t1039) + let __t996 = { + let __t986 = Value::sym(interp.intern_static("-")); + let __t995 = { + let __t993 = { + let __t987 = Value::sym( + interp.intern_static("cons"), + ); + let __t992 = { + let __t988 = v_W3321.clone(); + let __t991 = { + let __t989 = v_W3324.clone(); + let __t990 = Value::nil(); + rt::cons(&__t989, &__t990) }; - rt::cons(&__t1037, &__t1040) + rt::cons(&__t988, &__t991) }; - rt::cons(&__t1036, &__t1041) + rt::cons(&__t987, &__t992) }; - let __t1043 = Value::nil(); - rt::cons(&__t1042, &__t1043) + let __t994 = Value::nil(); + rt::cons(&__t993, &__t994) }; - rt::cons(&__t1035, &__t1044) + rt::cons(&__t986, &__t995) }; - let __t1054 = { - let __t1052 = { - let __t1046 = Value::sym(interp.intern("cons")); - let __t1051 = { - let __t1047 = v_W3326.clone(); - let __t1050 = { - let __t1048 = v_V3319.clone(); - let __t1049 = Value::nil(); - rt::cons(&__t1048, &__t1049) + let __t1005 = { + let __t1003 = { + let __t997 = + Value::sym(interp.intern_static("cons")); + let __t1002 = { + let __t998 = v_W3326.clone(); + let __t1001 = { + let __t999 = v_V3319.clone(); + let __t1000 = Value::nil(); + rt::cons(&__t999, &__t1000) }; - rt::cons(&__t1047, &__t1050) + rt::cons(&__t998, &__t1001) }; - rt::cons(&__t1046, &__t1051) + rt::cons(&__t997, &__t1002) }; - let __t1053 = v_W3325.clone(); - rt::cons(&__t1052, &__t1053) + let __t1004 = v_W3325.clone(); + rt::cons(&__t1003, &__t1004) }; - rt::cons(&__t1045, &__t1054) + rt::cons(&__t996, &__t1005) }; { let v_W3328 = { - let __t1061 = { - let __t1055 = Value::sym(interp.intern("bind")); - let __t1060 = { - let __t1056 = v_W3326.clone(); - let __t1059 = { - let __t1057 = v_W3321.clone(); - let __t1058 = Value::nil(); - rt::cons(&__t1057, &__t1058) + let __t1012 = { + let __t1006 = + Value::sym(interp.intern_static("bind")); + let __t1011 = { + let __t1007 = v_W3326.clone(); + let __t1010 = { + let __t1008 = v_W3321.clone(); + let __t1009 = Value::nil(); + rt::cons(&__t1008, &__t1009) }; - rt::cons(&__t1056, &__t1059) + rt::cons(&__t1007, &__t1010) }; - rt::cons(&__t1055, &__t1060) + rt::cons(&__t1006, &__t1011) }; - let __t1070 = { - let __t1068 = { - let __t1062 = v_V3315.clone(); - let __t1067 = { - let __t1063 = v_W3324.clone(); - let __t1066 = { - let __t1064 = v_V3319.clone(); - let __t1065 = v_W3325.clone(); - rt::cons(&__t1064, &__t1065) + let __t1021 = { + let __t1019 = { + let __t1013 = v_V3315.clone(); + let __t1018 = { + let __t1014 = v_W3324.clone(); + let __t1017 = { + let __t1015 = v_V3319.clone(); + let __t1016 = v_W3325.clone(); + rt::cons(&__t1015, &__t1016) }; - rt::cons(&__t1063, &__t1066) + rt::cons(&__t1014, &__t1017) }; - rt::cons(&__t1062, &__t1067) + rt::cons(&__t1013, &__t1018) }; - let __t1069 = Value::nil(); - rt::cons(&__t1068, &__t1069) + let __t1020 = Value::nil(); + rt::cons(&__t1019, &__t1020) }; - rt::cons(&__t1061, &__t1070) + rt::cons(&__t1012, &__t1021) }; { - let __t1071 = v_W3327.clone(); - let __t1081 = { - let __t1074 = { - let __t1072 = - Value::sym(interp.intern("<--")); - let __t1073 = Value::nil(); - rt::cons(&__t1072, &__t1073) + let __t1022 = v_W3327.clone(); + let __t1031 = { + let __t1025 = { + let __t1023 = + Value::sym(interp.intern_static("<--")); + let __t1024 = Value::nil(); + rt::cons(&__t1023, &__t1024) }; - let __t1080 = { - let __t1075 = v_W3328.clone(); - let __t1079 = { - let __t1077 = { - let __t1076 = Value::str(";"); - rt::apply_direct( - interp, - "intern", - &[__t1076], - )? - }; - let __t1078 = Value::nil(); - rt::cons(&__t1077, &__t1078) + let __t1030 = { + let __t1026 = v_W3328.clone(); + let __t1029 = { + let __t1027 = Value::sym( + interp.intern_static(";"), + ); + let __t1028 = Value::nil(); + rt::cons(&__t1027, &__t1028) }; rt::apply_direct( interp, "append", - &[__t1075, __t1079], + &[__t1026, __t1029], )? }; rt::apply_direct( interp, "append", - &[__t1074, __t1080], + &[__t1025, __t1030], )? }; rt::apply_direct( interp, "append", - &[__t1071, __t1081], + &[__t1022, __t1031], )? } } @@ -5907,21 +5771,21 @@ pub fn aot_shen_x2e_consume_x2d_clause(interp: &mut Interp, args: &[Value]) -> S }; { let v_W3329 = { - let __t1082 = Value::sym(interp.intern("defprolog")); - let __t1087 = { - let __t1083 = v_V3315.clone(); - let __t1086 = { - let __t1084 = v_W3322.clone(); - let __t1085 = v_W3323.clone(); - rt::apply_direct(interp, "append", &[__t1084, __t1085])? + let __t1032 = Value::sym(interp.intern_static("defprolog")); + let __t1037 = { + let __t1033 = v_V3315.clone(); + let __t1036 = { + let __t1034 = v_W3322.clone(); + let __t1035 = v_W3323.clone(); + rt::apply_direct(interp, "append", &[__t1034, __t1035])? }; - rt::cons(&__t1083, &__t1086) + rt::cons(&__t1033, &__t1036) }; - rt::cons(&__t1082, &__t1087) + rt::cons(&__t1032, &__t1037) }; break Ok({ - let __t1088 = v_W3329.clone(); - rt::apply_direct(interp, "eval", &[__t1088])? + let __t1038 = v_W3329.clone(); + rt::apply_direct(interp, "eval", &[__t1038])? }); } } @@ -5954,12 +5818,12 @@ pub fn aot_shen_x2e_passive_x2d_variables( #[allow(clippy::never_loop)] loop { break Ok({ - let __t1090 = { - let __t1089 = v_V3330.clone(); - rt::apply_direct(interp, "shen.extract-vars", &[__t1089])? + let __t1040 = { + let __t1039 = v_V3330.clone(); + rt::apply_direct(interp, "shen.extract-vars", &[__t1039])? }; - let __t1091 = v_V3331.clone(); - rt::apply_direct(interp, "difference", &[__t1090, __t1091])? + let __t1041 = v_V3331.clone(); + rt::apply_direct(interp, "difference", &[__t1040, __t1041])? }); } } @@ -5997,698 +5861,651 @@ pub fn aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( #[allow(clippy::never_loop)] loop { { - let __t1302 = { - let __t1297 = Value::nil(); - let __t1298 = v_V3339.clone(); - rt::eq(&__t1297, &__t1298) - }; - if match rt::is_truthy(interp, &__t1302) { + let __t1234 = Value::bool((v_V3339.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1234) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1299 = v_V3336.clone(); - let __t1300 = v_V3338.clone(); - let __t1301 = v_V3340.clone(); - rt::apply_direct(interp, "shen.premises->goals", &[__t1299, __t1300, __t1301])? + let __t1231 = v_V3336.clone(); + let __t1232 = v_V3338.clone(); + let __t1233 = v_V3340.clone(); + aot_shen_x2e_premises_x2d__x3e_goals(interp, &[__t1231, __t1232, __t1233])? }); } else { { - let __t1296 = { - let __t1282 = { - let __t1261 = v_V3339.clone(); - rt::is_cons(&__t1261) + let __t1230 = { + let __t1216 = { + let __t1199 = v_V3339.clone(); + rt::is_cons(&__t1199) }; - if !rt::is_truthy(interp, &__t1282)? { + if !rt::is_truthy(interp, &__t1216)? { Value::bool(false) } else { - let __t1283 = { - let __t1280 = { - let __t1263 = { - let __t1262 = v_V3339.clone(); - rt::hd(&__t1262)? + let __t1217 = { + let __t1214 = { + let __t1201 = { + let __t1200 = v_V3339.clone(); + rt::hd(&__t1200)? }; - rt::is_cons(&__t1263) + rt::is_cons(&__t1201) }; - if !rt::is_truthy(interp, &__t1280)? { + if !rt::is_truthy(interp, &__t1214)? { Value::bool(false) } else { - let __t1281 = { - let __t1278 = { - let __t1264 = Value::sym(interp.intern("if")); - let __t1267 = { - let __t1266 = { - let __t1265 = v_V3339.clone(); - rt::hd(&__t1265)? + let __t1215 = { + let __t1212 = Value::bool( + ({ + let __t1203 = { + let __t1202 = v_V3339.clone(); + rt::hd(&__t1202)? }; - rt::hd(&__t1266)? - }; - rt::eq(&__t1264, &__t1267) - }; - if !rt::is_truthy(interp, &__t1278)? { + rt::hd(&__t1203)? + }) + .as_sym() + == Some(interp.intern_static("if")), + ); + if !rt::is_truthy(interp, &__t1212)? { Value::bool(false) } else { - let __t1279 = { - let __t1276 = { - let __t1270 = { - let __t1269 = { - let __t1268 = v_V3339.clone(); - rt::hd(&__t1268)? + let __t1213 = { + let __t1210 = { + let __t1206 = { + let __t1205 = { + let __t1204 = v_V3339.clone(); + rt::hd(&__t1204)? }; - rt::tl(&__t1269)? + rt::tl(&__t1205)? }; - rt::is_cons(&__t1270) + rt::is_cons(&__t1206) }; - if !rt::is_truthy(interp, &__t1276)? { + if !rt::is_truthy(interp, &__t1210)? { Value::bool(false) } else { - let __t1277 = { - let __t1271 = Value::nil(); - let __t1275 = { - let __t1274 = { - let __t1273 = { - let __t1272 = v_V3339.clone(); - rt::hd(&__t1272)? + let __t1211 = Value::bool( + ({ + let __t1209 = { + let __t1208 = { + let __t1207 = v_V3339.clone(); + rt::hd(&__t1207)? }; - rt::tl(&__t1273)? + rt::tl(&__t1208)? }; - rt::tl(&__t1274)? - }; - rt::eq(&__t1271, &__t1275) - }; - Value::bool(rt::is_truthy(interp, &__t1277)?) + rt::tl(&__t1209)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t1211)?) } }; - Value::bool(rt::is_truthy(interp, &__t1279)?) + Value::bool(rt::is_truthy(interp, &__t1213)?) } }; - Value::bool(rt::is_truthy(interp, &__t1281)?) + Value::bool(rt::is_truthy(interp, &__t1215)?) } }; - Value::bool(rt::is_truthy(interp, &__t1283)?) + Value::bool(rt::is_truthy(interp, &__t1217)?) } }; - if match rt::is_truthy(interp, &__t1296) { + if match rt::is_truthy(interp, &__t1230) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1288 = { - let __t1284 = Value::sym(interp.intern("when")); - let __t1287 = { - let __t1286 = { - let __t1285 = v_V3339.clone(); - rt::hd(&__t1285)? + let __t1222 = { + let __t1218 = Value::sym(interp.intern_static("when")); + let __t1221 = { + let __t1220 = { + let __t1219 = v_V3339.clone(); + rt::hd(&__t1219)? }; - rt::tl(&__t1286)? + rt::tl(&__t1220)? }; - rt::cons(&__t1284, &__t1287) + rt::cons(&__t1218, &__t1221) }; - let __t1295 = { - let __t1289 = v_V3336.clone(); - let __t1290 = v_V3337.clone(); - let __t1291 = v_V3338.clone(); - let __t1293 = { - let __t1292 = v_V3339.clone(); - rt::tl(&__t1292)? + let __t1229 = { + let __t1223 = v_V3336.clone(); + let __t1224 = v_V3337.clone(); + let __t1225 = v_V3338.clone(); + let __t1227 = { + let __t1226 = v_V3339.clone(); + rt::tl(&__t1226)? }; - let __t1294 = v_V3340.clone(); - rt::apply_direct( + let __t1228 = v_V3340.clone(); + aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( interp, - "shen.side-conditions->goals", - &[__t1289, __t1290, __t1291, __t1293, __t1294], + &[__t1223, __t1224, __t1225, __t1227, __t1228], )? }; - rt::cons(&__t1288, &__t1295) + rt::cons(&__t1222, &__t1229) }); } else { { - let __t1260 = { - let __t1223 = { - let __t1195 = v_V3339.clone(); - rt::is_cons(&__t1195) + let __t1198 = { + let __t1161 = { + let __t1137 = v_V3339.clone(); + rt::is_cons(&__t1137) }; - if !rt::is_truthy(interp, &__t1223)? { + if !rt::is_truthy(interp, &__t1161)? { Value::bool(false) } else { - let __t1224 = { - let __t1221 = { - let __t1197 = { - let __t1196 = v_V3339.clone(); - rt::hd(&__t1196)? + let __t1162 = { + let __t1159 = { + let __t1139 = { + let __t1138 = v_V3339.clone(); + rt::hd(&__t1138)? }; - rt::is_cons(&__t1197) + rt::is_cons(&__t1139) }; - if !rt::is_truthy(interp, &__t1221)? { + if !rt::is_truthy(interp, &__t1159)? { Value::bool(false) } else { - let __t1222 = { - let __t1219 = { - let __t1198 = Value::sym(interp.intern("let")); - let __t1201 = { - let __t1200 = { - let __t1199 = v_V3339.clone(); - rt::hd(&__t1199)? + let __t1160 = { + let __t1157 = Value::bool( + ({ + let __t1141 = { + let __t1140 = v_V3339.clone(); + rt::hd(&__t1140)? }; - rt::hd(&__t1200)? - }; - rt::eq(&__t1198, &__t1201) - }; - if !rt::is_truthy(interp, &__t1219)? { + rt::hd(&__t1141)? + }) + .as_sym() + == Some(interp.intern_static("let")), + ); + if !rt::is_truthy(interp, &__t1157)? { Value::bool(false) } else { - let __t1220 = { - let __t1217 = { - let __t1204 = { - let __t1203 = { - let __t1202 = v_V3339.clone(); - rt::hd(&__t1202)? + let __t1158 = { + let __t1155 = { + let __t1144 = { + let __t1143 = { + let __t1142 = v_V3339.clone(); + rt::hd(&__t1142)? }; - rt::tl(&__t1203)? + rt::tl(&__t1143)? }; - rt::is_cons(&__t1204) + rt::is_cons(&__t1144) }; - if !rt::is_truthy(interp, &__t1217)? { + if !rt::is_truthy(interp, &__t1155)? { Value::bool(false) } else { - let __t1218 = { - let __t1215 = { - let __t1208 = { - let __t1207 = { - let __t1206 = { - let __t1205 = + let __t1156 = { + let __t1153 = { + let __t1148 = { + let __t1147 = { + let __t1146 = { + let __t1145 = v_V3339.clone(); - rt::hd(&__t1205)? + rt::hd(&__t1145)? }; - rt::tl(&__t1206)? + rt::tl(&__t1146)? }; - rt::tl(&__t1207)? + rt::tl(&__t1147)? }; - rt::is_cons(&__t1208) + rt::is_cons(&__t1148) }; - if !rt::is_truthy(interp, &__t1215)? + if !rt::is_truthy(interp, &__t1153)? { Value::bool(false) } else { - let __t1216 = { - let __t1209 = Value::nil(); - let __t1214 = { - let __t1213 = { - let __t1212 = { - let __t1211 = { - let __t1210 = v_V3339.clone(); - rt::hd(&__t1210)? - }; - rt::tl( - &__t1211, - )? - }; - rt::tl(&__t1212)? - }; - rt::tl(&__t1213)? - }; - rt::eq(&__t1209, &__t1214) - }; + let __t1154 = Value::bool(({ let __t1152 = { let __t1151 = { let __t1150 = { let __t1149 = v_V3339.clone(); rt::hd(&__t1149)? }; rt::tl(&__t1150)? }; rt::tl(&__t1151)? }; rt::tl(&__t1152)? }).is_nil()); Value::bool(rt::is_truthy( - interp, &__t1216, + interp, &__t1154, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1218, + interp, &__t1156, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1220)?) + Value::bool(rt::is_truthy(interp, &__t1158)?) } }; - Value::bool(rt::is_truthy(interp, &__t1222)?) + Value::bool(rt::is_truthy(interp, &__t1160)?) } }; - Value::bool(rt::is_truthy(interp, &__t1224)?) + Value::bool(rt::is_truthy(interp, &__t1162)?) } }; - if match rt::is_truthy(interp, &__t1260) { + if match rt::is_truthy(interp, &__t1198) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1230 = { - let __t1228 = { - let __t1227 = { - let __t1226 = { - let __t1225 = v_V3339.clone(); - rt::hd(&__t1225)? + let __t1168 = { + let __t1166 = { + let __t1165 = { + let __t1164 = { + let __t1163 = v_V3339.clone(); + rt::hd(&__t1163)? }; - rt::tl(&__t1226)? + rt::tl(&__t1164)? }; - rt::hd(&__t1227)? + rt::hd(&__t1165)? }; - let __t1229 = v_V3337.clone(); - rt::apply_direct(interp, "element?", &[__t1228, __t1229])? + let __t1167 = v_V3337.clone(); + rt::apply_direct(interp, "element?", &[__t1166, __t1167])? }; - if match rt::is_truthy(interp, &__t1230) { + if match rt::is_truthy(interp, &__t1168) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1235 = { - let __t1231 = Value::sym(interp.intern("is!")); - let __t1234 = { - let __t1233 = { - let __t1232 = v_V3339.clone(); - rt::hd(&__t1232)? + let __t1173 = { + let __t1169 = + Value::sym(interp.intern_static("is!")); + let __t1172 = { + let __t1171 = { + let __t1170 = v_V3339.clone(); + rt::hd(&__t1170)? }; - rt::tl(&__t1233)? + rt::tl(&__t1171)? }; - rt::cons(&__t1231, &__t1234) + rt::cons(&__t1169, &__t1172) }; - let __t1242 = { - let __t1236 = v_V3336.clone(); - let __t1237 = v_V3337.clone(); - let __t1238 = v_V3338.clone(); - let __t1240 = { - let __t1239 = v_V3339.clone(); - rt::tl(&__t1239)? + let __t1180 = { + let __t1174 = v_V3336.clone(); + let __t1175 = v_V3337.clone(); + let __t1176 = v_V3338.clone(); + let __t1178 = { + let __t1177 = v_V3339.clone(); + rt::tl(&__t1177)? }; - let __t1241 = v_V3340.clone(); - rt::apply_direct( + let __t1179 = v_V3340.clone(); + aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( interp, - "shen.side-conditions->goals", - &[__t1236, __t1237, __t1238, __t1240, __t1241], + &[__t1174, __t1175, __t1176, __t1178, __t1179], )? }; - rt::cons(&__t1235, &__t1242) + rt::cons(&__t1173, &__t1180) }); } else { break Ok({ - let __t1247 = { - let __t1243 = Value::sym(interp.intern("bind")); - let __t1246 = { - let __t1245 = { - let __t1244 = v_V3339.clone(); - rt::hd(&__t1244)? + let __t1185 = { + let __t1181 = + Value::sym(interp.intern_static("bind")); + let __t1184 = { + let __t1183 = { + let __t1182 = v_V3339.clone(); + rt::hd(&__t1182)? }; - rt::tl(&__t1245)? + rt::tl(&__t1183)? }; - rt::cons(&__t1243, &__t1246) + rt::cons(&__t1181, &__t1184) }; - let __t1259 = { - let __t1248 = v_V3336.clone(); - let __t1254 = { - let __t1252 = { - let __t1251 = { - let __t1250 = { - let __t1249 = v_V3339.clone(); - rt::hd(&__t1249)? + let __t1197 = { + let __t1186 = v_V3336.clone(); + let __t1192 = { + let __t1190 = { + let __t1189 = { + let __t1188 = { + let __t1187 = v_V3339.clone(); + rt::hd(&__t1187)? }; - rt::tl(&__t1250)? + rt::tl(&__t1188)? }; - rt::hd(&__t1251)? + rt::hd(&__t1189)? }; - let __t1253 = v_V3337.clone(); - rt::cons(&__t1252, &__t1253) + let __t1191 = v_V3337.clone(); + rt::cons(&__t1190, &__t1191) }; - let __t1255 = v_V3338.clone(); - let __t1257 = { - let __t1256 = v_V3339.clone(); - rt::tl(&__t1256)? + let __t1193 = v_V3338.clone(); + let __t1195 = { + let __t1194 = v_V3339.clone(); + rt::tl(&__t1194)? }; - let __t1258 = v_V3340.clone(); - rt::apply_direct( + let __t1196 = v_V3340.clone(); + aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals( interp, - "shen.side-conditions->goals", - &[__t1248, __t1254, __t1255, __t1257, __t1258], + &[__t1186, __t1192, __t1193, __t1195, __t1196], )? }; - rt::cons(&__t1247, &__t1259) + rt::cons(&__t1185, &__t1197) }); } } } else { { - let __t1194 = { - let __t1145 = { - let __t1124 = v_V3339.clone(); - rt::is_cons(&__t1124) + let __t1136 = { + let __t1087 = { + let __t1070 = v_V3339.clone(); + rt::is_cons(&__t1070) }; - if !rt::is_truthy(interp, &__t1145)? { + if !rt::is_truthy(interp, &__t1087)? { Value::bool(false) } else { - let __t1146 = { - let __t1143 = { - let __t1126 = { - let __t1125 = v_V3339.clone(); - rt::hd(&__t1125)? + let __t1088 = { + let __t1085 = { + let __t1072 = { + let __t1071 = v_V3339.clone(); + rt::hd(&__t1071)? }; - rt::is_cons(&__t1126) + rt::is_cons(&__t1072) }; - if !rt::is_truthy(interp, &__t1143)? { + if !rt::is_truthy(interp, &__t1085)? { Value::bool(false) } else { - let __t1144 = { - let __t1141 = { - let __t1127 = - Value::sym(interp.intern("ctxt")); - let __t1130 = { - let __t1129 = { - let __t1128 = v_V3339.clone(); - rt::hd(&__t1128)? + let __t1086 = { + let __t1083 = Value::bool( + ({ + let __t1074 = { + let __t1073 = v_V3339.clone(); + rt::hd(&__t1073)? }; - rt::hd(&__t1129)? - }; - rt::eq(&__t1127, &__t1130) - }; - if !rt::is_truthy(interp, &__t1141)? { + rt::hd(&__t1074)? + }) + .as_sym() + == Some( + interp.intern_static("ctxt"), + ), + ); + if !rt::is_truthy(interp, &__t1083)? { Value::bool(false) } else { - let __t1142 = { - let __t1139 = { - let __t1133 = { - let __t1132 = { - let __t1131 = + let __t1084 = { + let __t1081 = { + let __t1077 = { + let __t1076 = { + let __t1075 = v_V3339.clone(); - rt::hd(&__t1131)? + rt::hd(&__t1075)? }; - rt::tl(&__t1132)? + rt::tl(&__t1076)? }; - rt::is_cons(&__t1133) + rt::is_cons(&__t1077) }; - if !rt::is_truthy(interp, &__t1139)? + if !rt::is_truthy(interp, &__t1081)? { Value::bool(false) } else { - let __t1140 = { - let __t1134 = Value::nil(); - let __t1138 = { - let __t1137 = { - let __t1136 = { - let __t1135 = + let __t1082 = Value::bool( + ({ + let __t1080 = { + let __t1079 = { + let __t1078 = v_V3339 .clone( ); rt::hd( - &__t1135, + &__t1078, )? }; - rt::tl(&__t1136)? + rt::tl(&__t1079)? }; - rt::tl(&__t1137)? - }; - rt::eq(&__t1134, &__t1138) - }; + rt::tl(&__t1080)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1140, + interp, &__t1082, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1142, + interp, &__t1084, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1144)?) + Value::bool(rt::is_truthy(interp, &__t1086)?) } }; - Value::bool(rt::is_truthy(interp, &__t1146)?) + Value::bool(rt::is_truthy(interp, &__t1088)?) } }; - if match rt::is_truthy(interp, &__t1194) { + if match rt::is_truthy(interp, &__t1136) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1152 = { - let __t1150 = { - let __t1149 = { - let __t1148 = { - let __t1147 = v_V3339.clone(); - rt::hd(&__t1147)? + let __t1094 = { + let __t1092 = { + let __t1091 = { + let __t1090 = { + let __t1089 = v_V3339.clone(); + rt::hd(&__t1089)? }; - rt::tl(&__t1148)? + rt::tl(&__t1090)? }; - rt::hd(&__t1149)? + rt::hd(&__t1091)? }; - let __t1151 = v_V3337.clone(); + let __t1093 = v_V3337.clone(); rt::apply_direct( interp, "element?", - &[__t1150, __t1151], + &[__t1092, __t1093], )? }; - if match rt::is_truthy(interp, &__t1152) { + if match rt::is_truthy(interp, &__t1094) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1158 = { - let __t1156 = { - let __t1155 = { - let __t1154 = { - let __t1153 = v_V3339.clone(); - rt::hd(&__t1153)? + let __t1100 = { + let __t1098 = { + let __t1097 = { + let __t1096 = { + let __t1095 = v_V3339.clone(); + rt::hd(&__t1095)? }; - rt::tl(&__t1154)? + rt::tl(&__t1096)? }; - rt::hd(&__t1155)? + rt::hd(&__t1097)? }; - let __t1157 = v_V3336.clone(); - rt::cons(&__t1156, &__t1157) + let __t1099 = v_V3336.clone(); + rt::cons(&__t1098, &__t1099) }; - let __t1159 = v_V3337.clone(); - let __t1160 = v_V3338.clone(); - let __t1162 = { - let __t1161 = v_V3339.clone(); - rt::tl(&__t1161)? + let __t1101 = v_V3337.clone(); + let __t1102 = v_V3338.clone(); + let __t1104 = { + let __t1103 = v_V3339.clone(); + rt::tl(&__t1103)? }; - let __t1163 = v_V3340.clone(); - v_V3336 = __t1158; - v_V3337 = __t1159; - v_V3338 = __t1160; - v_V3339 = __t1162; - v_V3340 = __t1163; + let __t1105 = v_V3340.clone(); + v_V3336 = __t1100; + v_V3337 = __t1101; + v_V3338 = __t1102; + v_V3339 = __t1104; + v_V3340 = __t1105; continue; } } else { break Ok({ - let __t1173 = { - let __t1164 = - Value::sym(interp.intern("bind")); - let __t1172 = { - let __t1168 = { - let __t1167 = { - let __t1166 = { - let __t1165 = + let __t1115 = { + let __t1106 = Value::sym( + interp.intern_static("bind"), + ); + let __t1114 = { + let __t1110 = { + let __t1109 = { + let __t1108 = { + let __t1107 = v_V3339.clone(); - rt::hd(&__t1165)? + rt::hd(&__t1107)? }; - rt::tl(&__t1166)? + rt::tl(&__t1108)? }; - rt::hd(&__t1167)? + rt::hd(&__t1109)? }; - let __t1171 = { - let __t1169 = v_V3338.clone(); - let __t1170 = Value::nil(); - rt::cons(&__t1169, &__t1170) + let __t1113 = { + let __t1111 = v_V3338.clone(); + let __t1112 = Value::nil(); + rt::cons(&__t1111, &__t1112) }; - rt::cons(&__t1168, &__t1171) + rt::cons(&__t1110, &__t1113) }; - rt::cons(&__t1164, &__t1172) + rt::cons(&__t1106, &__t1114) }; - let __t1193 = { - let __t1179 = { - let __t1177 = { - let __t1176 = { - let __t1175 = { - let __t1174 = + let __t1135 = { + let __t1121 = { + let __t1119 = { + let __t1118 = { + let __t1117 = { + let __t1116 = v_V3339.clone(); - rt::hd(&__t1174)? + rt::hd(&__t1116)? }; - rt::tl(&__t1175)? + rt::tl(&__t1117)? }; - rt::hd(&__t1176)? + rt::hd(&__t1118)? }; - let __t1178 = v_V3336.clone(); - rt::cons(&__t1177, &__t1178) + let __t1120 = v_V3336.clone(); + rt::cons(&__t1119, &__t1120) }; - let __t1185 = { - let __t1183 = { - let __t1182 = { - let __t1181 = { - let __t1180 = + let __t1127 = { + let __t1125 = { + let __t1124 = { + let __t1123 = { + let __t1122 = v_V3339.clone(); - rt::hd(&__t1180)? + rt::hd(&__t1122)? }; - rt::tl(&__t1181)? + rt::tl(&__t1123)? }; - rt::hd(&__t1182)? + rt::hd(&__t1124)? }; - let __t1184 = v_V3337.clone(); - rt::cons(&__t1183, &__t1184) + let __t1126 = v_V3337.clone(); + rt::cons(&__t1125, &__t1126) }; - let __t1189 = { - let __t1188 = { - let __t1187 = { - let __t1186 = v_V3339.clone(); - rt::hd(&__t1186)? + let __t1131 = { + let __t1130 = { + let __t1129 = { + let __t1128 = v_V3339.clone(); + rt::hd(&__t1128)? }; - rt::tl(&__t1187)? + rt::tl(&__t1129)? }; - rt::hd(&__t1188)? + rt::hd(&__t1130)? }; - let __t1191 = { - let __t1190 = v_V3339.clone(); - rt::tl(&__t1190)? + let __t1133 = { + let __t1132 = v_V3339.clone(); + rt::tl(&__t1132)? }; - let __t1192 = v_V3340.clone(); - rt::apply_direct( - interp, - "shen.side-conditions->goals", - &[ - __t1179, __t1185, __t1189, __t1191, - __t1192, - ], - )? + let __t1134 = v_V3340.clone(); + aot_shen_x2e_side_x2d_conditions_x2d__x3e_goals(interp, &[__t1121, __t1127, __t1131, __t1133, __t1134])? }; - rt::cons(&__t1173, &__t1193) + rt::cons(&__t1115, &__t1135) }); } } } else { { - let __t1123 = { - let __t1115 = { - let __t1094 = v_V3339.clone(); - rt::is_cons(&__t1094) + let __t1069 = { + let __t1061 = { + let __t1044 = v_V3339.clone(); + rt::is_cons(&__t1044) }; - if !rt::is_truthy(interp, &__t1115)? { + if !rt::is_truthy(interp, &__t1061)? { Value::bool(false) } else { - let __t1116 = { - let __t1113 = { - let __t1096 = { - let __t1095 = v_V3339.clone(); - rt::hd(&__t1095)? + let __t1062 = { + let __t1059 = { + let __t1046 = { + let __t1045 = v_V3339.clone(); + rt::hd(&__t1045)? }; - rt::is_cons(&__t1096) + rt::is_cons(&__t1046) }; - if !rt::is_truthy(interp, &__t1113)? { + if !rt::is_truthy(interp, &__t1059)? { Value::bool(false) } else { - let __t1114 = { - let __t1111 = { - let __t1097 = Value::sym( - interp.intern("sqts"), - ); - let __t1100 = { - let __t1099 = { - let __t1098 = + let __t1060 = { + let __t1057 = Value::bool( + ({ + let __t1048 = { + let __t1047 = v_V3339.clone(); - rt::hd(&__t1098)? + rt::hd(&__t1047)? }; - rt::hd(&__t1099)? - }; - rt::eq(&__t1097, &__t1100) - }; - if !rt::is_truthy(interp, &__t1111)? + rt::hd(&__t1048)? + }) + .as_sym() + == Some( + interp.intern_static( + "sqts", + ), + ), + ); + if !rt::is_truthy(interp, &__t1057)? { Value::bool(false) } else { - let __t1112 = { - let __t1109 = { - let __t1103 = { - let __t1102 = { - let __t1101 = + let __t1058 = { + let __t1055 = { + let __t1051 = { + let __t1050 = { + let __t1049 = v_V3339 .clone( ); rt::hd( - &__t1101, + &__t1049, )? }; - rt::tl(&__t1102)? + rt::tl(&__t1050)? }; - rt::is_cons(&__t1103) + rt::is_cons(&__t1051) }; if !rt::is_truthy( - interp, &__t1109, + interp, &__t1055, )? { Value::bool(false) } else { - let __t1110 = { - let __t1104 = - Value::nil(); - let __t1108 = { - let __t1107 = { - let __t1106 = { - let __t1105 = v_V3339.clone(); - rt::hd(&__t1105)? - }; - rt::tl(&__t1106)? - }; - rt::tl( - &__t1107, - )? - }; - rt::eq( - &__t1104, - &__t1108, - ) - }; + let __t1056 = Value::bool(({ let __t1054 = { let __t1053 = { let __t1052 = v_V3339.clone(); rt::hd(&__t1052)? }; rt::tl(&__t1053)? }; rt::tl(&__t1054)? }).is_nil()); Value::bool( rt::is_truthy( interp, - &__t1110, + &__t1056, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t1112, + interp, &__t1058, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1114, + interp, &__t1060, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1116)?) + Value::bool(rt::is_truthy(interp, &__t1062)?) } }; - if match rt::is_truthy(interp, &__t1123) { + if match rt::is_truthy(interp, &__t1069) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1117 = v_V3336.clone(); - let __t1118 = v_V3337.clone(); - let __t1119 = v_V3338.clone(); - let __t1121 = { - let __t1120 = v_V3339.clone(); - rt::tl(&__t1120)? + let __t1063 = v_V3336.clone(); + let __t1064 = v_V3337.clone(); + let __t1065 = v_V3338.clone(); + let __t1067 = { + let __t1066 = v_V3339.clone(); + rt::tl(&__t1066)? }; - let __t1122 = v_V3340.clone(); - v_V3336 = __t1117; - v_V3337 = __t1118; - v_V3338 = __t1119; - v_V3339 = __t1121; - v_V3340 = __t1122; + let __t1068 = v_V3340.clone(); + v_V3336 = __t1063; + v_V3337 = __t1064; + v_V3338 = __t1065; + v_V3339 = __t1067; + v_V3340 = __t1068; continue; } } else { { - let __t1093 = Value::bool(true); - if match rt::is_truthy(interp, &__t1093) { + let __t1043 = Value::bool(true); + if match rt::is_truthy(interp, &__t1043) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1092 = Value::str("partial function shen.side-conditions->goals"); + let __t1042 = Value::str("partial function shen.side-conditions->goals"); rt::apply_direct( interp, "simple-error", - &[__t1092], + &[__t1042], )? }); } else { @@ -6742,256 +6559,244 @@ pub fn aot_shen_x2e_premises_x2d__x3e_goals( #[allow(clippy::never_loop)] loop { { - let __t1379 = { - let __t1374 = Value::nil(); - let __t1375 = v_V3347.clone(); - rt::eq(&__t1374, &__t1375) - }; - if match rt::is_truthy(interp, &__t1379) { + let __t1302 = Value::bool((v_V3347.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1302) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1377 = { - let __t1376 = Value::str(";"); - rt::apply_direct(interp, "intern", &[__t1376])? - }; - let __t1378 = Value::nil(); - rt::cons(&__t1377, &__t1378) + let __t1300 = Value::sym(interp.intern_static(";")); + let __t1301 = Value::nil(); + rt::cons(&__t1300, &__t1301) }); } else { { - let __t1373 = { - let __t1365 = { - let __t1361 = v_V3347.clone(); - rt::is_cons(&__t1361) + let __t1299 = { + let __t1291 = { + let __t1289 = v_V3347.clone(); + rt::is_cons(&__t1289) }; - if !rt::is_truthy(interp, &__t1365)? { + if !rt::is_truthy(interp, &__t1291)? { Value::bool(false) } else { - let __t1366 = { - let __t1362 = Value::sym(interp.intern("!")); - let __t1364 = { - let __t1363 = v_V3347.clone(); - rt::hd(&__t1363)? - }; - rt::eq(&__t1362, &__t1364) - }; - Value::bool(rt::is_truthy(interp, &__t1366)?) + let __t1292 = Value::bool( + ({ + let __t1290 = v_V3347.clone(); + rt::hd(&__t1290)? + }) + .as_sym() + == Some(interp.intern_static("!")), + ); + Value::bool(rt::is_truthy(interp, &__t1292)?) } }; - if match rt::is_truthy(interp, &__t1373) { + if match rt::is_truthy(interp, &__t1299) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1367 = Value::sym(interp.intern("!")); - let __t1372 = { - let __t1368 = v_V3345.clone(); - let __t1369 = v_V3346.clone(); - let __t1371 = { - let __t1370 = v_V3347.clone(); - rt::tl(&__t1370)? + let __t1293 = Value::sym(interp.intern_static("!")); + let __t1298 = { + let __t1294 = v_V3345.clone(); + let __t1295 = v_V3346.clone(); + let __t1297 = { + let __t1296 = v_V3347.clone(); + rt::tl(&__t1296)? }; - rt::apply_direct( + aot_shen_x2e_premises_x2d__x3e_goals( interp, - "shen.premises->goals", - &[__t1368, __t1369, __t1371], + &[__t1294, __t1295, __t1297], )? }; - rt::cons(&__t1367, &__t1372) + rt::cons(&__t1293, &__t1298) }); } else { { - let __t1360 = { - let __t1348 = { - let __t1344 = v_V3347.clone(); - rt::is_cons(&__t1344) + let __t1288 = { + let __t1276 = { + let __t1274 = v_V3347.clone(); + rt::is_cons(&__t1274) }; - if !rt::is_truthy(interp, &__t1348)? { + if !rt::is_truthy(interp, &__t1276)? { Value::bool(false) } else { - let __t1349 = { - let __t1345 = Value::sym(interp.intern("fail")); - let __t1347 = { - let __t1346 = v_V3347.clone(); - rt::hd(&__t1346)? - }; - rt::eq(&__t1345, &__t1347) - }; - Value::bool(rt::is_truthy(interp, &__t1349)?) + let __t1277 = Value::bool( + ({ + let __t1275 = v_V3347.clone(); + rt::hd(&__t1275)? + }) + .as_sym() + == Some(interp.intern_static("fail")), + ); + Value::bool(rt::is_truthy(interp, &__t1277)?) } }; - if match rt::is_truthy(interp, &__t1360) { + if match rt::is_truthy(interp, &__t1288) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1354 = { - let __t1350 = Value::sym(interp.intern("when")); - let __t1353 = { - let __t1351 = Value::bool(false); - let __t1352 = Value::nil(); - rt::cons(&__t1351, &__t1352) + let __t1282 = { + let __t1278 = Value::sym(interp.intern_static("when")); + let __t1281 = { + let __t1279 = Value::bool(false); + let __t1280 = Value::nil(); + rt::cons(&__t1279, &__t1280) }; - rt::cons(&__t1350, &__t1353) + rt::cons(&__t1278, &__t1281) }; - let __t1359 = { - let __t1355 = v_V3345.clone(); - let __t1356 = v_V3346.clone(); - let __t1358 = { - let __t1357 = v_V3347.clone(); - rt::tl(&__t1357)? + let __t1287 = { + let __t1283 = v_V3345.clone(); + let __t1284 = v_V3346.clone(); + let __t1286 = { + let __t1285 = v_V3347.clone(); + rt::tl(&__t1285)? }; - rt::apply_direct( + aot_shen_x2e_premises_x2d__x3e_goals( interp, - "shen.premises->goals", - &[__t1355, __t1356, __t1358], + &[__t1283, __t1284, __t1286], )? }; - rt::cons(&__t1354, &__t1359) + rt::cons(&__t1282, &__t1287) }); } else { { - let __t1343 = { - let __t1320 = { - let __t1305 = v_V3347.clone(); - rt::is_cons(&__t1305) + let __t1273 = { + let __t1250 = { + let __t1237 = v_V3347.clone(); + rt::is_cons(&__t1237) }; - if !rt::is_truthy(interp, &__t1320)? { + if !rt::is_truthy(interp, &__t1250)? { Value::bool(false) } else { - let __t1321 = { - let __t1318 = { - let __t1307 = { - let __t1306 = v_V3347.clone(); - rt::hd(&__t1306)? + let __t1251 = { + let __t1248 = { + let __t1239 = { + let __t1238 = v_V3347.clone(); + rt::hd(&__t1238)? }; - rt::is_cons(&__t1307) + rt::is_cons(&__t1239) }; - if !rt::is_truthy(interp, &__t1318)? { + if !rt::is_truthy(interp, &__t1248)? { Value::bool(false) } else { - let __t1319 = { - let __t1316 = { - let __t1310 = { - let __t1309 = { - let __t1308 = v_V3347.clone(); - rt::hd(&__t1308)? + let __t1249 = { + let __t1246 = { + let __t1242 = { + let __t1241 = { + let __t1240 = v_V3347.clone(); + rt::hd(&__t1240)? }; - rt::tl(&__t1309)? + rt::tl(&__t1241)? }; - rt::is_cons(&__t1310) + rt::is_cons(&__t1242) }; - if !rt::is_truthy(interp, &__t1316)? { + if !rt::is_truthy(interp, &__t1246)? { Value::bool(false) } else { - let __t1317 = { - let __t1311 = Value::nil(); - let __t1315 = { - let __t1314 = { - let __t1313 = { - let __t1312 = + let __t1247 = Value::bool( + ({ + let __t1245 = { + let __t1244 = { + let __t1243 = v_V3347.clone(); - rt::hd(&__t1312)? + rt::hd(&__t1243)? }; - rt::tl(&__t1313)? + rt::tl(&__t1244)? }; - rt::tl(&__t1314)? - }; - rt::eq(&__t1311, &__t1315) - }; + rt::tl(&__t1245)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t1317, + interp, &__t1247, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1319)?) + Value::bool(rt::is_truthy(interp, &__t1249)?) } }; - Value::bool(rt::is_truthy(interp, &__t1321)?) + Value::bool(rt::is_truthy(interp, &__t1251)?) } }; - if match rt::is_truthy(interp, &__t1343) { + if match rt::is_truthy(interp, &__t1273) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1337 = { - let __t1322 = - Value::sym(interp.intern("shen.system-S")); - let __t1336 = { - let __t1327 = { - let __t1326 = { - let __t1325 = { - let __t1324 = { - let __t1323 = v_V3347.clone(); - rt::hd(&__t1323)? + let __t1267 = { + let __t1252 = Value::sym( + interp.intern_static("shen.system-S"), + ); + let __t1266 = { + let __t1257 = { + let __t1256 = { + let __t1255 = { + let __t1254 = { + let __t1253 = v_V3347.clone(); + rt::hd(&__t1253)? }; - rt::tl(&__t1324)? + rt::tl(&__t1254)? }; - rt::hd(&__t1325)? + rt::hd(&__t1255)? }; - rt::apply_direct( + aot_shen_x2e_macro_x2d__x40_c( interp, - "shen.macro-@c", - &[__t1326], + &[__t1256], )? }; - let __t1335 = { - let __t1333 = { - let __t1328 = v_V3345.clone(); - let __t1331 = { - let __t1330 = { - let __t1329 = v_V3347.clone(); - rt::hd(&__t1329)? + let __t1265 = { + let __t1263 = { + let __t1258 = v_V3345.clone(); + let __t1261 = { + let __t1260 = { + let __t1259 = v_V3347.clone(); + rt::hd(&__t1259)? }; - rt::hd(&__t1330)? + rt::hd(&__t1260)? }; - let __t1332 = v_V3346.clone(); - rt::apply_direct( + let __t1262 = v_V3346.clone(); + aot_shen_x2e_construct_x2d_context( interp, - "shen.construct-context", - &[__t1328, __t1331, __t1332], + &[__t1258, __t1261, __t1262], )? }; - let __t1334 = Value::nil(); - rt::cons(&__t1333, &__t1334) + let __t1264 = Value::nil(); + rt::cons(&__t1263, &__t1264) }; - rt::cons(&__t1327, &__t1335) + rt::cons(&__t1257, &__t1265) }; - rt::cons(&__t1322, &__t1336) + rt::cons(&__t1252, &__t1266) }; - let __t1342 = { - let __t1338 = v_V3345.clone(); - let __t1339 = v_V3346.clone(); - let __t1341 = { - let __t1340 = v_V3347.clone(); - rt::tl(&__t1340)? + let __t1272 = { + let __t1268 = v_V3345.clone(); + let __t1269 = v_V3346.clone(); + let __t1271 = { + let __t1270 = v_V3347.clone(); + rt::tl(&__t1270)? }; - rt::apply_direct( + aot_shen_x2e_premises_x2d__x3e_goals( interp, - "shen.premises->goals", - &[__t1338, __t1339, __t1341], + &[__t1268, __t1269, __t1271], )? }; - rt::cons(&__t1337, &__t1342) + rt::cons(&__t1267, &__t1272) }); } else { { - let __t1304 = Value::bool(true); - if match rt::is_truthy(interp, &__t1304) { + let __t1236 = Value::bool(true); + if match rt::is_truthy(interp, &__t1236) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1303 = Value::str( + let __t1235 = Value::str( "partial function shen.premises->goals", ); rt::apply_direct( interp, "simple-error", - &[__t1303], + &[__t1235], )? }); } else { @@ -7040,113 +6845,107 @@ pub fn aot_shen_x2e_construct_x2d_context( #[allow(clippy::never_loop)] loop { { - let __t1411 = { - let __t1409 = Value::nil(); - let __t1410 = v_V3352.clone(); - rt::eq(&__t1409, &__t1410) - }; - if match rt::is_truthy(interp, &__t1411) { + let __t1330 = Value::bool((v_V3352.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1330) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3353.clone()); } else { { - let __t1408 = { - let __t1405 = { - let __t1396 = v_V3352.clone(); - rt::is_cons(&__t1396) + let __t1329 = { + let __t1326 = { + let __t1319 = v_V3352.clone(); + rt::is_cons(&__t1319) }; - if !rt::is_truthy(interp, &__t1405)? { + if !rt::is_truthy(interp, &__t1326)? { Value::bool(false) } else { - let __t1406 = { - let __t1403 = { - let __t1397 = Value::nil(); - let __t1399 = { - let __t1398 = v_V3352.clone(); - rt::tl(&__t1398)? - }; - rt::eq(&__t1397, &__t1399) - }; - if !rt::is_truthy(interp, &__t1403)? { + let __t1327 = { + let __t1324 = Value::bool( + ({ + let __t1320 = v_V3352.clone(); + rt::tl(&__t1320)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1324)? { Value::bool(false) } else { - let __t1404 = { - let __t1401 = { - let __t1400 = v_V3352.clone(); - rt::hd(&__t1400)? + let __t1325 = { + let __t1322 = { + let __t1321 = v_V3352.clone(); + rt::hd(&__t1321)? }; - let __t1402 = v_V3351.clone(); - rt::apply_direct(interp, "element?", &[__t1401, __t1402])? + let __t1323 = v_V3351.clone(); + rt::apply_direct(interp, "element?", &[__t1322, __t1323])? }; - Value::bool(rt::is_truthy(interp, &__t1404)?) + Value::bool(rt::is_truthy(interp, &__t1325)?) } }; - Value::bool(rt::is_truthy(interp, &__t1406)?) + Value::bool(rt::is_truthy(interp, &__t1327)?) } }; - if match rt::is_truthy(interp, &__t1408) { + if match rt::is_truthy(interp, &__t1329) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1407 = v_V3352.clone(); - rt::hd(&__t1407)? + let __t1328 = v_V3352.clone(); + rt::hd(&__t1328)? }); } else { { - let __t1395 = { - let __t1382 = v_V3352.clone(); - rt::is_cons(&__t1382) + let __t1318 = { + let __t1305 = v_V3352.clone(); + rt::is_cons(&__t1305) }; - if match rt::is_truthy(interp, &__t1395) { + if match rt::is_truthy(interp, &__t1318) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1383 = Value::sym(interp.intern("cons")); - let __t1394 = { - let __t1386 = { - let __t1385 = { - let __t1384 = v_V3352.clone(); - rt::hd(&__t1384)? + let __t1306 = Value::sym(interp.intern_static("cons")); + let __t1317 = { + let __t1309 = { + let __t1308 = { + let __t1307 = v_V3352.clone(); + rt::hd(&__t1307)? }; - rt::apply_direct(interp, "shen.macro-@c", &[__t1385])? + aot_shen_x2e_macro_x2d__x40_c(interp, &[__t1308])? }; - let __t1393 = { - let __t1391 = { - let __t1387 = v_V3351.clone(); - let __t1389 = { - let __t1388 = v_V3352.clone(); - rt::tl(&__t1388)? + let __t1316 = { + let __t1314 = { + let __t1310 = v_V3351.clone(); + let __t1312 = { + let __t1311 = v_V3352.clone(); + rt::tl(&__t1311)? }; - let __t1390 = v_V3353.clone(); - rt::apply_direct( + let __t1313 = v_V3353.clone(); + aot_shen_x2e_construct_x2d_context( interp, - "shen.construct-context", - &[__t1387, __t1389, __t1390], + &[__t1310, __t1312, __t1313], )? }; - let __t1392 = Value::nil(); - rt::cons(&__t1391, &__t1392) + let __t1315 = Value::nil(); + rt::cons(&__t1314, &__t1315) }; - rt::cons(&__t1386, &__t1393) + rt::cons(&__t1309, &__t1316) }; - rt::cons(&__t1383, &__t1394) + rt::cons(&__t1306, &__t1317) }); } else { { - let __t1381 = Value::bool(true); - if match rt::is_truthy(interp, &__t1381) { + let __t1304 = Value::bool(true); + if match rt::is_truthy(interp, &__t1304) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1380 = Value::str( + let __t1303 = Value::str( "partial function shen.construct-context", ); - rt::apply_direct(interp, "simple-error", &[__t1380])? + rt::apply_direct(interp, "simple-error", &[__t1303])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -7184,44 +6983,40 @@ pub fn aot_preclude(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3355 = { - let __t1413 = { + let __t1332 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z3356 = args[0].clone(); Ok({ - let __t1412 = v_Z3356.clone(); - rt::apply_direct(interp, "shen.intern-type", &[__t1412])? + let __t1331 = v_Z3356.clone(); + rt::apply_direct(interp, "shen.intern-type", &[__t1331])? }) }, Vec::new(), interp, ) }; - let __t1414 = v_V3354.clone(); - rt::apply_direct(interp, "map", &[__t1413, __t1414])? + let __t1333 = v_V3354.clone(); + rt::apply_direct(interp, "map", &[__t1332, __t1333])? }; { - let v_W3357 = { - let __t1415 = Value::sym(interp.intern("shen.*datatypes*")); - rt::apply_direct(interp, "value", &[__t1415])? - }; + let v_W3357 = rt::global_value(interp, "shen.*datatypes*")?; { let v_W3358 = { - let __t1416 = v_W3355.clone(); - let __t1417 = v_W3357.clone(); - rt::apply_direct(interp, "shen.remove-datatypes", &[__t1416, __t1417])? + let __t1334 = v_W3355.clone(); + let __t1335 = v_W3357.clone(); + aot_shen_x2e_remove_x2d_datatypes(interp, &[__t1334, __t1335])? }; { let v_W3359 = { - let __t1418 = Value::sym(interp.intern("shen.*datatypes*")); - let __t1419 = v_W3358.clone(); - rt::apply_direct(interp, "set", &[__t1418, __t1419])? + let __v = v_W3358.clone(); + rt::set_global(interp, "shen.*datatypes*", __v) }; break Ok({ - let __t1420 = v_W3359.clone(); - rt::apply_direct(interp, "shen.show-datatypes", &[__t1420])? + let __t1336 = v_W3359.clone(); + aot_shen_x2e_show_x2d_datatypes(interp, &[__t1336])? }); } } @@ -7250,54 +7045,50 @@ pub fn aot_shen_x2e_remove_x2d_datatypes(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t1433 = { - let __t1431 = Value::nil(); - let __t1432 = v_V3364.clone(); - rt::eq(&__t1431, &__t1432) - }; - if match rt::is_truthy(interp, &__t1433) { + let __t1347 = Value::bool((v_V3364.clone()).is_nil()); + if match rt::is_truthy(interp, &__t1347) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3365.clone()); } else { { - let __t1430 = { - let __t1423 = v_V3364.clone(); - rt::is_cons(&__t1423) + let __t1346 = { + let __t1339 = v_V3364.clone(); + rt::is_cons(&__t1339) }; - if match rt::is_truthy(interp, &__t1430) { + if match rt::is_truthy(interp, &__t1346) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1425 = { - let __t1424 = v_V3364.clone(); - rt::tl(&__t1424)? + let __t1341 = { + let __t1340 = v_V3364.clone(); + rt::tl(&__t1340)? }; - let __t1429 = { - let __t1427 = { - let __t1426 = v_V3364.clone(); - rt::hd(&__t1426)? + let __t1345 = { + let __t1343 = { + let __t1342 = v_V3364.clone(); + rt::hd(&__t1342)? }; - let __t1428 = v_V3365.clone(); - rt::apply_direct(interp, "shen.unassoc", &[__t1427, __t1428])? + let __t1344 = v_V3365.clone(); + rt::apply_direct(interp, "shen.unassoc", &[__t1343, __t1344])? }; - v_V3364 = __t1425; - v_V3365 = __t1429; + v_V3364 = __t1341; + v_V3365 = __t1345; continue; } } else { { - let __t1422 = Value::bool(true); - if match rt::is_truthy(interp, &__t1422) { + let __t1338 = Value::bool(true); + if match rt::is_truthy(interp, &__t1338) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1421 = + let __t1337 = Value::str("implementation error in shen.remove-datatypes"); - rt::apply_direct(interp, "simple-error", &[__t1421])? + rt::apply_direct(interp, "simple-error", &[__t1337])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -7332,23 +7123,23 @@ pub fn aot_shen_x2e_show_x2d_datatypes(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { break Ok({ - let __t1435 = { + let __t1349 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z3367 = args[0].clone(); Ok({ - let __t1434 = v_Z3367.clone(); - rt::hd(&__t1434)? + let __t1348 = v_Z3367.clone(); + rt::hd(&__t1348)? }) }, Vec::new(), interp, ) }; - let __t1436 = v_V3366.clone(); - rt::apply_direct(interp, "map", &[__t1435, __t1436])? + let __t1350 = v_V3366.clone(); + rt::apply_direct(interp, "map", &[__t1349, __t1350])? }); } } @@ -7372,60 +7163,53 @@ pub fn aot_include(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3369 = { - let __t1438 = { + let __t1352 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z3370 = args[0].clone(); Ok({ - let __t1437 = v_Z3370.clone(); - rt::apply_direct(interp, "shen.intern-type", &[__t1437])? + let __t1351 = v_Z3370.clone(); + rt::apply_direct(interp, "shen.intern-type", &[__t1351])? }) }, Vec::new(), interp, ) }; - let __t1439 = v_V3368.clone(); - rt::apply_direct(interp, "map", &[__t1438, __t1439])? + let __t1353 = v_V3368.clone(); + rt::apply_direct(interp, "map", &[__t1352, __t1353])? }; { let v_W3371 = { - let __t1443 = { + let __t1357 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z3372 = args[0].clone(); Ok({ - let __t1440 = v_Z3372.clone(); - let __t1442 = { - let __t1441 = v_Z3372.clone(); - rt::apply_direct(interp, "fn", &[__t1441])? + let __t1354 = v_Z3372.clone(); + let __t1356 = { + let __t1355 = v_Z3372.clone(); + rt::apply_direct(interp, "fn", &[__t1355])? }; - rt::apply_direct( - interp, - "shen.remember-datatype", - &[__t1440, __t1442], - )? + aot_shen_x2e_remember_x2d_datatype(interp, &[__t1354, __t1356])? }) }, Vec::new(), interp, ) }; - let __t1444 = v_W3369.clone(); - rt::apply_direct(interp, "map", &[__t1443, __t1444])? + let __t1358 = v_W3369.clone(); + rt::apply_direct(interp, "map", &[__t1357, __t1358])? }; { - let v_W3373 = { - let __t1445 = Value::sym(interp.intern("shen.*datatypes*")); - rt::apply_direct(interp, "value", &[__t1445])? - }; + let v_W3373 = rt::global_value(interp, "shen.*datatypes*")?; break Ok({ - let __t1446 = v_W3373.clone(); - rt::apply_direct(interp, "shen.show-datatypes", &[__t1446])? + let __t1359 = v_W3373.clone(); + aot_shen_x2e_show_x2d_datatypes(interp, &[__t1359])? }); } } @@ -7452,48 +7236,46 @@ pub fn aot_preclude_x2d_all_x2d_but(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W3375 = { - let __t1447 = Value::sym(interp.intern("shen.*datatypes*")); - let __t1448 = Value::nil(); - rt::apply_direct(interp, "set", &[__t1447, __t1448])? + let __v = Value::nil(); + rt::set_global(interp, "shen.*datatypes*", __v) }; { let v_W3376 = { - let __t1450 = { + let __t1361 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z3377 = args[0].clone(); Ok({ - let __t1449 = v_Z3377.clone(); - rt::apply_direct(interp, "shen.intern-type", &[__t1449])? + let __t1360 = v_Z3377.clone(); + rt::apply_direct(interp, "shen.intern-type", &[__t1360])? }) }, Vec::new(), interp, ) }; - let __t1451 = v_V3374.clone(); - rt::apply_direct(interp, "map", &[__t1450, __t1451])? + let __t1362 = v_V3374.clone(); + rt::apply_direct(interp, "map", &[__t1361, __t1362])? }; { let v_W3378 = { - let __t1455 = { + let __t1366 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z3379 = args[0].clone(); Ok({ - let __t1452 = v_Z3379.clone(); - let __t1454 = { - let __t1453 = v_Z3379.clone(); - rt::apply_direct(interp, "fn", &[__t1453])? + let __t1363 = v_Z3379.clone(); + let __t1365 = { + let __t1364 = v_Z3379.clone(); + rt::apply_direct(interp, "fn", &[__t1364])? }; - rt::apply_direct( + aot_shen_x2e_remember_x2d_datatype( interp, - "shen.remember-datatype", - &[__t1452, __t1454], + &[__t1363, __t1365], )? }) }, @@ -7501,15 +7283,12 @@ pub fn aot_preclude_x2d_all_x2d_but(interp: &mut Interp, args: &[Value]) -> Shen interp, ) }; - let __t1456 = v_W3376.clone(); - rt::apply_direct(interp, "map", &[__t1455, __t1456])? + let __t1367 = v_W3376.clone(); + rt::apply_direct(interp, "map", &[__t1366, __t1367])? }; break Ok({ - let __t1458 = { - let __t1457 = Value::sym(interp.intern("shen.*datatypes*")); - rt::apply_direct(interp, "value", &[__t1457])? - }; - rt::apply_direct(interp, "shen.show-datatypes", &[__t1458])? + let __t1368 = rt::global_value(interp, "shen.*datatypes*")?; + aot_shen_x2e_show_x2d_datatypes(interp, &[__t1368])? }); } } @@ -7536,42 +7315,38 @@ pub fn aot_include_x2d_all_x2d_but(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W3381 = { - let __t1460 = { + let __t1370 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z3382 = args[0].clone(); Ok({ - let __t1459 = v_Z3382.clone(); - rt::apply_direct(interp, "shen.intern-type", &[__t1459])? + let __t1369 = v_Z3382.clone(); + rt::apply_direct(interp, "shen.intern-type", &[__t1369])? }) }, Vec::new(), interp, ) }; - let __t1461 = v_V3380.clone(); - rt::apply_direct(interp, "map", &[__t1460, __t1461])? + let __t1371 = v_V3380.clone(); + rt::apply_direct(interp, "map", &[__t1370, __t1371])? }; { - let v_W3383 = { - let __t1462 = Value::sym(interp.intern("shen.*alldatatypes*")); - rt::apply_direct(interp, "value", &[__t1462])? - }; + let v_W3383 = rt::global_value(interp, "shen.*alldatatypes*")?; { let v_W3384 = { - let __t1463 = Value::sym(interp.intern("shen.*datatypes*")); - let __t1466 = { - let __t1464 = v_W3381.clone(); - let __t1465 = v_W3383.clone(); - rt::apply_direct(interp, "shen.remove-datatypes", &[__t1464, __t1465])? + let __v = { + let __t1372 = v_W3381.clone(); + let __t1373 = v_W3383.clone(); + aot_shen_x2e_remove_x2d_datatypes(interp, &[__t1372, __t1373])? }; - rt::apply_direct(interp, "set", &[__t1463, __t1466])? + rt::set_global(interp, "shen.*datatypes*", __v) }; break Ok({ - let __t1467 = v_W3384.clone(); - rt::apply_direct(interp, "shen.show-datatypes", &[__t1467])? + let __t1374 = v_W3384.clone(); + aot_shen_x2e_show_x2d_datatypes(interp, &[__t1374])? }); } } diff --git a/crates/shen-rust/src/aot/kernel/sys.rs b/crates/shen-rust/src/aot/kernel/sys.rs index 5192e48..a0b740f 100644 --- a/crates/shen-rust/src/aot/kernel/sys.rs +++ b/crates/shen-rust/src/aot/kernel/sys.rs @@ -94,20 +94,17 @@ pub fn aot_external(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t19 = { - let __t17 = Value::sym(interp.intern("null")); - let __t18 = v_V3446.clone(); - rt::eq(&__t17, &__t18) - }; - if match rt::is_truthy(interp, &__t19) { + let __t16 = + Value::bool((v_V3446.clone()).as_sym() == Some(interp.intern_static("null"))); + if match rt::is_truthy(interp, &__t16) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t16 = Value::bool(true); - if match rt::is_truthy(interp, &__t16) { + let __t15 = Value::bool(true); + if match rt::is_truthy(interp, &__t15) { Ok(b) => b, Err(e) => break Err(e), } { @@ -115,12 +112,10 @@ pub fn aot_external(interp: &mut Interp, args: &[Value]) -> ShenResult { match (|| -> ShenResult { Ok({ let __t6 = v_V3446.clone(); - let __t7 = Value::sym(interp.intern("shen.external-symbols")); - let __t9 = { - let __t8 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t8])? - }; - rt::apply_direct(interp, "get", &[__t6, __t7, __t9])? + let __t7 = + Value::sym(interp.intern_static("shen.external-symbols")); + let __t8 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t6, __t7, __t8])? }) })() { Ok(v) => v, @@ -133,30 +128,27 @@ pub fn aot_external(interp: &mut Interp, args: &[Value]) -> ShenResult { move |interp, args| { let v_Z3447 = args[0].clone(); Ok({ - let __t15 = { - let __t10 = Value::str("package "); - let __t14 = { - let __t11 = v_V3446.clone(); - let __t12 = + let __t14 = { + let __t9 = Value::str("package "); + let __t13 = { + let __t10 = v_V3446.clone(); + let __t11 = Value::str(" does not exist.\n;"); - let __t13 = - Value::sym(interp.intern("shen.a")); + let __t12 = Value::sym( + interp.intern_static("shen.a"), + ); rt::apply_direct( interp, "shen.app", - &[__t11, __t12, __t13], + &[__t10, __t11, __t12], )? }; - rt::apply_direct( - interp, - "cn", - &[__t10, __t14], - )? + rt::cn(&__t9, &__t13)? }; rt::apply_direct( interp, "simple-error", - &[__t15], + &[__t14], )? }) }, @@ -196,33 +188,28 @@ pub fn aot_internal(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t33 = { - let __t31 = Value::sym(interp.intern("null")); - let __t32 = v_V3448.clone(); - rt::eq(&__t31, &__t32) - }; - if match rt::is_truthy(interp, &__t33) { + let __t27 = + Value::bool((v_V3448.clone()).as_sym() == Some(interp.intern_static("null"))); + if match rt::is_truthy(interp, &__t27) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t30 = Value::bool(true); - if match rt::is_truthy(interp, &__t30) { + let __t26 = Value::bool(true); + if match rt::is_truthy(interp, &__t26) { Ok(b) => b, Err(e) => break Err(e), } { break Ok( match (|| -> ShenResult { Ok({ - let __t20 = v_V3448.clone(); - let __t21 = Value::sym(interp.intern("shen.internal-symbols")); - let __t23 = { - let __t22 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t22])? - }; - rt::apply_direct(interp, "get", &[__t20, __t21, __t23])? + let __t17 = v_V3448.clone(); + let __t18 = + Value::sym(interp.intern_static("shen.internal-symbols")); + let __t19 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t17, __t18, __t19])? }) })() { Ok(v) => v, @@ -235,30 +222,27 @@ pub fn aot_internal(interp: &mut Interp, args: &[Value]) -> ShenResult { move |interp, args| { let v_Z3449 = args[0].clone(); Ok({ - let __t29 = { - let __t24 = Value::str("package "); - let __t28 = { - let __t25 = v_V3448.clone(); - let __t26 = + let __t25 = { + let __t20 = Value::str("package "); + let __t24 = { + let __t21 = v_V3448.clone(); + let __t22 = Value::str(" does not exist.\n;"); - let __t27 = - Value::sym(interp.intern("shen.a")); + let __t23 = Value::sym( + interp.intern_static("shen.a"), + ); rt::apply_direct( interp, "shen.app", - &[__t25, __t26, __t27], + &[__t21, __t22, __t23], )? }; - rt::apply_direct( - interp, - "cn", - &[__t24, __t28], - )? + rt::cn(&__t20, &__t24)? }; rt::apply_direct( interp, "simple-error", - &[__t29], + &[__t25], )? }) }, @@ -300,15 +284,15 @@ pub fn aot_fail_x2d_if(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t35 = { - let __t34 = v_V3451.clone(); - rt::apply_value(interp, v_V3450.clone(), &[__t34])? + let __t29 = { + let __t28 = v_V3451.clone(); + rt::apply_value(interp, v_V3450.clone(), &[__t28])? }; - if match rt::is_truthy(interp, &__t35) { + if match rt::is_truthy(interp, &__t29) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "fail", &[])? }); + break Ok({ rt::fail(interp) }); } else { break Ok(v_V3451.clone()); } @@ -336,9 +320,9 @@ pub fn aot__x40_s(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t36 = v_V3452.clone(); - let __t37 = v_V3453.clone(); - rt::apply_direct(interp, "cn", &[__t36, __t37])? + let __t30 = v_V3452.clone(); + let __t31 = v_V3453.clone(); + rt::cn(&__t30, &__t31)? }); } } @@ -358,10 +342,7 @@ pub fn aot_tc_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t38 = Value::sym(interp.intern("shen.*tc*")); - rt::apply_direct(interp, "value", &[__t38])? - }); + break Ok(rt::global_value(interp, "shen.*tc*")?); } } @@ -380,10 +361,7 @@ pub fn aot_occurs_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t39 = Value::sym(interp.intern("shen.*occurs*")); - rt::apply_direct(interp, "value", &[__t39])? - }); + break Ok(rt::global_value(interp, "shen.*occurs*")?); } } @@ -402,10 +380,7 @@ pub fn aot_factorise_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t41 = Value::sym(interp.intern("shen.*tracking*")); - rt::apply_direct(interp, "value", &[__t41])? - }); + break Ok(rt::global_value(interp, "shen.*tracking*")?); } } @@ -451,13 +423,10 @@ pub fn aot_ps(interp: &mut Interp, args: &[Value]) -> ShenResult { break Ok( match (|| -> ShenResult { Ok({ - let __t42 = v_V3454.clone(); - let __t43 = Value::sym(interp.intern("shen.source")); - let __t45 = { - let __t44 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t44])? - }; - rt::apply_direct(interp, "get", &[__t42, __t43, __t45])? + let __t32 = v_V3454.clone(); + let __t33 = Value::sym(interp.intern_static("shen.source")); + let __t34 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t32, __t33, __t34])? }) })() { Ok(v) => v, @@ -470,17 +439,17 @@ pub fn aot_ps(interp: &mut Interp, args: &[Value]) -> ShenResult { move |interp, args| { let v_Z3455 = args[0].clone(); Ok({ - let __t49 = { - let __t46 = v_V3454.clone(); - let __t47 = Value::str(" not found.\n"); - let __t48 = Value::sym(interp.intern("shen.a")); + let __t38 = { + let __t35 = v_V3454.clone(); + let __t36 = Value::str(" not found.\n"); + let __t37 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t46, __t47, __t48], + &[__t35, __t36, __t37], )? }; - rt::apply_direct(interp, "simple-error", &[__t49])? + rt::apply_direct(interp, "simple-error", &[__t38])? }) }, vec![v_V3454], @@ -510,10 +479,7 @@ pub fn aot_stinput(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t50 = Value::sym(interp.intern("*stinput*")); - rt::apply_direct(interp, "value", &[__t50])? - }); + break Ok(rt::global_value(interp, "*stinput*")?); } } @@ -536,40 +502,36 @@ pub fn aot_vector(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3457 = { - let __t53 = { - let __t51 = v_V3456.clone(); - let __t52 = Value::int(1i64); - rt::add(&__t51, &__t52)? + let __t41 = { + let __t39 = v_V3456.clone(); + let __t40 = Value::int(1i64); + rt::add(&__t39, &__t40)? }; - rt::apply_direct(interp, "absvector", &[__t53])? + rt::apply_direct(interp, "absvector", &[__t41])? }; { let v_W3458 = { - let __t54 = v_W3457.clone(); - let __t55 = Value::int(0i64); - let __t56 = v_V3456.clone(); - rt::apply_direct(interp, "address->", &[__t54, __t55, __t56])? + let __t42 = v_W3457.clone(); + let __t43 = Value::int(0i64); + let __t44 = v_V3456.clone(); + rt::address_set(&__t42, &__t43, &__t44)? }; { let v_W3459 = { - let __t63 = { - let __t57 = v_V3456.clone(); - let __t58 = Value::int(0i64); - rt::eq(&__t57, &__t58) + let __t51 = { + let __t45 = v_V3456.clone(); + let __t46 = Value::int(0i64); + rt::eq(&__t45, &__t46) }; - if rt::is_truthy(interp, &__t63)? { + if rt::is_truthy(interp, &__t51)? { v_W3458.clone() } else { { - let __t59 = v_W3458.clone(); - let __t60 = Value::int(1i64); - let __t61 = v_V3456.clone(); - let __t62 = { rt::apply_direct(interp, "fail", &[])? }; - rt::apply_direct( - interp, - "shen.fillvector", - &[__t59, __t60, __t61, __t62], - )? + let __t47 = v_W3458.clone(); + let __t48 = Value::int(1i64); + let __t49 = v_V3456.clone(); + let __t50 = { rt::fail(interp) }; + aot_shen_x2e_fillvector(interp, &[__t47, __t48, __t49, __t50])? } } }; @@ -604,46 +566,46 @@ pub fn aot_shen_x2e_fillvector(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t79 = { - let __t74 = v_V3462.clone(); - let __t75 = v_V3463.clone(); - rt::eq(&__t74, &__t75) + let __t67 = { + let __t62 = v_V3462.clone(); + let __t63 = v_V3463.clone(); + rt::eq(&__t62, &__t63) }; - if match rt::is_truthy(interp, &__t79) { + if match rt::is_truthy(interp, &__t67) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t76 = v_V3461.clone(); - let __t77 = v_V3463.clone(); - let __t78 = v_V3464.clone(); - rt::apply_direct(interp, "address->", &[__t76, __t77, __t78])? + let __t64 = v_V3461.clone(); + let __t65 = v_V3463.clone(); + let __t66 = v_V3464.clone(); + rt::address_set(&__t64, &__t65, &__t66)? }); } else { { - let __t73 = Value::bool(true); - if match rt::is_truthy(interp, &__t73) { + let __t61 = Value::bool(true); + if match rt::is_truthy(interp, &__t61) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t67 = { - let __t64 = v_V3461.clone(); - let __t65 = v_V3462.clone(); - let __t66 = v_V3464.clone(); - rt::apply_direct(interp, "address->", &[__t64, __t65, __t66])? + let __t55 = { + let __t52 = v_V3461.clone(); + let __t53 = v_V3462.clone(); + let __t54 = v_V3464.clone(); + rt::address_set(&__t52, &__t53, &__t54)? }; - let __t70 = { - let __t68 = Value::int(1i64); - let __t69 = v_V3462.clone(); - rt::add(&__t68, &__t69)? + let __t58 = { + let __t56 = Value::int(1i64); + let __t57 = v_V3462.clone(); + rt::add(&__t56, &__t57)? }; - let __t71 = v_V3463.clone(); - let __t72 = v_V3464.clone(); - v_V3461 = __t67; - v_V3462 = __t70; - v_V3463 = __t71; - v_V3464 = __t72; + let __t59 = v_V3463.clone(); + let __t60 = v_V3464.clone(); + v_V3461 = __t55; + v_V3462 = __t58; + v_V3463 = __t59; + v_V3464 = __t60; continue; } } else { @@ -673,11 +635,11 @@ pub fn aot_vector_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t81 = { - let __t80 = v_V3465.clone(); - rt::is_absvector(&__t80) + let __t69 = { + let __t68 = v_V3465.clone(); + rt::is_absvector(&__t68) }; - if !match rt::is_truthy(interp, &__t81) { + if !match rt::is_truthy(interp, &__t69) { Ok(b) => b, Err(e) => break Err(e), } { @@ -686,13 +648,13 @@ pub fn aot_vector_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok( match (|| -> ShenResult { Ok({ - let __t84 = { - let __t82 = v_V3465.clone(); - let __t83 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t82, __t83])? + let __t72 = { + let __t70 = v_V3465.clone(); + let __t71 = Value::int(0i64); + rt::address_ref(&__t70, &__t71)? }; - let __t85 = Value::int(0i64); - rt::gte(&__t84, &__t85)? + let __t73 = Value::int(0i64); + rt::gte(&__t72, &__t73)? }) })() { Ok(v) => v, @@ -741,25 +703,25 @@ pub fn aot_vector_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t89 = Value::str("cannot access 0th element of a vector\n"); - rt::apply_direct(interp, "simple-error", &[__t89])? + let __t77 = Value::str("cannot access 0th element of a vector\n"); + rt::apply_direct(interp, "simple-error", &[__t77])? }); } else { break Ok({ - let __t90 = v_V3467.clone(); - let __t91 = v_V3468.clone(); - let __t92 = v_V3469.clone(); - rt::apply_direct(interp, "address->", &[__t90, __t91, __t92])? + let __t78 = v_V3467.clone(); + let __t79 = v_V3468.clone(); + let __t80 = v_V3469.clone(); + rt::address_set(&__t78, &__t79, &__t80)? }); } } @@ -786,39 +748,37 @@ pub fn aot__x3c__x2d_vector(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t96 = Value::str("cannot access 0th element of a vector\n"); - rt::apply_direct(interp, "simple-error", &[__t96])? + let __t84 = Value::str("cannot access 0th element of a vector\n"); + rt::apply_direct(interp, "simple-error", &[__t84])? }); } else { { let v_W3472 = { - let __t97 = v_V3470.clone(); - let __t98 = v_V3471.clone(); - rt::apply_direct(interp, "<-address", &[__t97, __t98])? + let __t85 = v_V3470.clone(); + let __t86 = v_V3471.clone(); + rt::address_ref(&__t85, &__t86)? }; { - let __t101 = { - let __t99 = v_W3472.clone(); - let __t100 = { rt::apply_direct(interp, "fail", &[])? }; - rt::eq(&__t99, &__t100) - }; - if match rt::is_truthy(interp, &__t101) { + let __t87 = Value::bool( + (v_W3472.clone()).as_sym() == Some(interp.well_known.k_shen_fail), + ); + if match rt::is_truthy(interp, &__t87) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t102 = Value::str("vector element not found\n"); - rt::apply_direct(interp, "simple-error", &[__t102])? + let __t88 = Value::str("vector element not found\n"); + rt::apply_direct(interp, "simple-error", &[__t88])? }); } else { break Ok(v_W3472.clone()); @@ -848,20 +808,20 @@ pub fn aot_shen_x2e_posint_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t104 = { - let __t103 = v_V3473.clone(); - rt::apply_direct(interp, "integer?", &[__t103])? + let __t90 = { + let __t89 = v_V3473.clone(); + rt::apply_direct(interp, "integer?", &[__t89])? }; - if !match rt::is_truthy(interp, &__t104) { + if !match rt::is_truthy(interp, &__t90) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t105 = v_V3473.clone(); - let __t106 = Value::int(0i64); - rt::gte(&__t105, &__t106)? + let __t91 = v_V3473.clone(); + let __t92 = Value::int(0i64); + rt::gte(&__t91, &__t92)? }); } } @@ -886,9 +846,9 @@ pub fn aot_limit(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t107 = v_V3474.clone(); - let __t108 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t107, __t108])? + let __t93 = v_V3474.clone(); + let __t94 = Value::int(0i64); + rt::address_ref(&__t93, &__t94)? }); } } @@ -911,115 +871,106 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t144 = { - let __t142 = { - let __t128 = v_V3475.clone(); - rt::apply_direct(interp, "boolean?", &[__t128])? + let __t127 = { + let __t125 = { + let __t111 = v_V3475.clone(); + rt::is_boolean(interp, &__t111) }; - if rt::is_truthy(interp, &__t142)? { + if rt::is_truthy(interp, &__t125)? { Value::bool(true) } else { - let __t143 = { - let __t140 = { - let __t129 = v_V3475.clone(); - rt::is_number(&__t129) + let __t126 = { + let __t123 = { + let __t112 = v_V3475.clone(); + rt::is_number(&__t112) }; - if rt::is_truthy(interp, &__t140)? { + if rt::is_truthy(interp, &__t123)? { Value::bool(true) } else { - let __t141 = { - let __t138 = { - let __t130 = v_V3475.clone(); - rt::is_string(&__t130) + let __t124 = { + let __t121 = { + let __t113 = v_V3475.clone(); + rt::is_string(&__t113) }; - if rt::is_truthy(interp, &__t138)? { + if rt::is_truthy(interp, &__t121)? { Value::bool(true) } else { - let __t139 = { - let __t136 = { - let __t131 = v_V3475.clone(); - rt::is_cons(&__t131) + let __t122 = { + let __t119 = { + let __t114 = v_V3475.clone(); + rt::is_cons(&__t114) }; - if rt::is_truthy(interp, &__t136)? { + if rt::is_truthy(interp, &__t119)? { Value::bool(true) } else { - let __t137 = { - let __t134 = { - let __t132 = v_V3475.clone(); - rt::apply_direct(interp, "empty?", &[__t132])? + let __t120 = { + let __t117 = { + let __t115 = v_V3475.clone(); + rt::is_empty(&__t115) }; - if rt::is_truthy(interp, &__t134)? { + if rt::is_truthy(interp, &__t117)? { Value::bool(true) } else { - let __t135 = { - let __t133 = v_V3475.clone(); - rt::is_absvector(&__t133) + let __t118 = { + let __t116 = v_V3475.clone(); + aot_vector_x3f_(interp, &[__t116])? }; - Value::bool(rt::is_truthy(interp, &__t135)?) + Value::bool(rt::is_truthy(interp, &__t118)?) } }; - Value::bool(rt::is_truthy(interp, &__t137)?) + Value::bool(rt::is_truthy(interp, &__t120)?) } }; - Value::bool(rt::is_truthy(interp, &__t139)?) + Value::bool(rt::is_truthy(interp, &__t122)?) } }; - Value::bool(rt::is_truthy(interp, &__t141)?) + Value::bool(rt::is_truthy(interp, &__t124)?) } }; - Value::bool(rt::is_truthy(interp, &__t143)?) + Value::bool(rt::is_truthy(interp, &__t126)?) } }; - if match rt::is_truthy(interp, &__t144) { + if match rt::is_truthy(interp, &__t127) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t127 = { - let __t112 = v_V3475.clone(); - let __t126 = { - let __t113 = Value::sym(interp.intern("{")); - let __t125 = { - let __t114 = Value::sym(interp.intern("}")); - let __t124 = { - let __t116 = { - let __t115 = Value::str(":"); - rt::apply_direct(interp, "intern", &[__t115])? - }; - let __t123 = { - let __t118 = { - let __t117 = Value::str(";"); - rt::apply_direct(interp, "intern", &[__t117])? + let __t110 = { + let __t98 = v_V3475.clone(); + let __t109 = { + let __t99 = Value::sym(interp.intern_static("{")); + let __t108 = { + let __t100 = Value::sym(interp.intern_static("}")); + let __t107 = { + let __t101 = Value::sym(interp.intern_static(":")); + let __t106 = { + let __t102 = Value::sym(interp.intern_static(";")); + let __t105 = { + let __t103 = Value::sym(interp.intern_static(",")); + let __t104 = Value::nil(); + rt::cons(&__t103, &__t104) }; - let __t122 = { - let __t120 = { - let __t119 = Value::str(","); - rt::apply_direct(interp, "intern", &[__t119])? - }; - let __t121 = Value::nil(); - rt::cons(&__t120, &__t121) - }; - rt::cons(&__t118, &__t122) + rt::cons(&__t102, &__t105) }; - rt::cons(&__t116, &__t123) + rt::cons(&__t101, &__t106) }; - rt::cons(&__t114, &__t124) + rt::cons(&__t100, &__t107) }; - rt::cons(&__t113, &__t125) + rt::cons(&__t99, &__t108) }; - rt::apply_direct(interp, "element?", &[__t112, __t126])? + rt::apply_direct(interp, "element?", &[__t98, __t109])? }; - if match rt::is_truthy(interp, &__t127) { + if match rt::is_truthy(interp, &__t110) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t111 = Value::bool(true); - if match rt::is_truthy(interp, &__t111) { + let __t97 = Value::bool(true); + if match rt::is_truthy(interp, &__t97) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1027,15 +978,15 @@ pub fn aot_symbol_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult match (|| -> ShenResult { Ok({ let v_W3476 = { - let __t109 = v_V3475.clone(); - rt::apply_direct(interp, "str", &[__t109])? + let __t95 = v_V3475.clone(); + rt::apply_direct(interp, "str", &[__t95])? }; { - let __t110 = v_W3476.clone(); + let __t96 = v_W3476.clone(); rt::apply_direct( interp, "shen.analyse-symbol?", - &[__t110], + &[__t96], )? } }) @@ -1091,50 +1042,50 @@ pub fn aot_shen_x2e_analyse_x2d_symbol_x3f_( #[allow(clippy::never_loop)] loop { { - let __t154 = { - let __t147 = v_V3480.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t147])? + let __t137 = { + let __t130 = v_V3480.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t130])? }; - if match rt::is_truthy(interp, &__t154) { + if match rt::is_truthy(interp, &__t137) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t151 = { - let __t150 = { - let __t149 = { - let __t148 = v_V3480.clone(); - rt::apply_direct(interp, "hdstr", &[__t148])? + let __t134 = { + let __t133 = { + let __t132 = { + let __t131 = v_V3480.clone(); + rt::hdstr(&__t131)? }; - rt::apply_direct(interp, "string->n", &[__t149])? + rt::string_to_n(&__t132)? }; - rt::apply_direct(interp, "shen.alpha?", &[__t150])? + rt::apply_direct(interp, "shen.alpha?", &[__t133])? }; - if !match rt::is_truthy(interp, &__t151) { + if !match rt::is_truthy(interp, &__t134) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t153 = { - let __t152 = v_V3480.clone(); - rt::apply_direct(interp, "tlstr", &[__t152])? + let __t136 = { + let __t135 = v_V3480.clone(); + rt::tlstr(&__t135)? }; - rt::apply_direct(interp, "shen.alphanums?", &[__t153])? + aot_shen_x2e_alphanums_x3f_(interp, &[__t136])? }); } } } else { { - let __t146 = Value::bool(true); - if match rt::is_truthy(interp, &__t146) { + let __t129 = Value::bool(true); + if match rt::is_truthy(interp, &__t129) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t145 = Value::str("implementation error in shen.analyse-symbol?"); - rt::apply_direct(interp, "simple-error", &[__t145])? + let __t128 = Value::str("implementation error in shen.analyse-symbol?"); + rt::apply_direct(interp, "simple-error", &[__t128])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1167,62 +1118,58 @@ pub fn aot_shen_x2e_alphanums_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t170 = { - let __t168 = Value::str(""); - let __t169 = v_V3483.clone(); - rt::eq(&__t168, &__t169) - }; - if match rt::is_truthy(interp, &__t170) { + let __t151 = Value::bool((v_V3483.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t151) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t167 = { - let __t157 = v_V3483.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t157])? + let __t150 = { + let __t140 = v_V3483.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t140])? }; - if match rt::is_truthy(interp, &__t167) { + if match rt::is_truthy(interp, &__t150) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3484 = { - let __t159 = { - let __t158 = v_V3483.clone(); - rt::apply_direct(interp, "hdstr", &[__t158])? + let __t142 = { + let __t141 = v_V3483.clone(); + rt::hdstr(&__t141)? }; - rt::apply_direct(interp, "string->n", &[__t159])? + rt::string_to_n(&__t142)? }; { - let __t164 = { - let __t162 = { - let __t160 = v_W3484.clone(); - rt::apply_direct(interp, "shen.alpha?", &[__t160])? + let __t147 = { + let __t145 = { + let __t143 = v_W3484.clone(); + rt::apply_direct(interp, "shen.alpha?", &[__t143])? }; - if rt::is_truthy(interp, &__t162)? { + if rt::is_truthy(interp, &__t145)? { Value::bool(true) } else { - let __t163 = { - let __t161 = v_W3484.clone(); - rt::apply_direct(interp, "shen.digit?", &[__t161])? + let __t146 = { + let __t144 = v_W3484.clone(); + rt::apply_direct(interp, "shen.digit?", &[__t144])? }; - Value::bool(rt::is_truthy(interp, &__t163)?) + Value::bool(rt::is_truthy(interp, &__t146)?) } }; - if !match rt::is_truthy(interp, &__t164) { + if !match rt::is_truthy(interp, &__t147) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t166 = { - let __t165 = v_V3483.clone(); - rt::apply_direct(interp, "tlstr", &[__t165])? + let __t149 = { + let __t148 = v_V3483.clone(); + rt::tlstr(&__t148)? }; - v_V3483 = __t166; + v_V3483 = __t149; continue; } } @@ -1230,15 +1177,15 @@ pub fn aot_shen_x2e_alphanums_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - let __t156 = Value::bool(true); - if match rt::is_truthy(interp, &__t156) { + let __t139 = Value::bool(true); + if match rt::is_truthy(interp, &__t139) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t155 = + let __t138 = Value::str("implementation error in shen.alphanums?"); - rt::apply_direct(interp, "simple-error", &[__t155])? + rt::apply_direct(interp, "simple-error", &[__t138])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1269,41 +1216,41 @@ pub fn aot_variable_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t173 = Value::bool(true); - if match rt::is_truthy(interp, &__t173) { + let __t154 = Value::bool(true); + if match rt::is_truthy(interp, &__t154) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1311,16 +1258,12 @@ pub fn aot_variable_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult { Ok({ let v_W3486 = { - let __t171 = v_V3485.clone(); - rt::apply_direct(interp, "str", &[__t171])? + let __t152 = v_V3485.clone(); + rt::apply_direct(interp, "str", &[__t152])? }; { - let __t172 = v_W3486.clone(); - rt::apply_direct( - interp, - "shen.analyse-variable?", - &[__t172], - )? + let __t153 = v_W3486.clone(); + aot_shen_x2e_analyse_x2d_variable_x3f_(interp, &[__t153])? } }) })() { @@ -1373,51 +1316,51 @@ pub fn aot_shen_x2e_analyse_x2d_variable_x3f_( #[allow(clippy::never_loop)] loop { { - let __t191 = { - let __t184 = v_V3490.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t184])? + let __t172 = { + let __t165 = v_V3490.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t165])? }; - if match rt::is_truthy(interp, &__t191) { + if match rt::is_truthy(interp, &__t172) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t188 = { - let __t187 = { - let __t186 = { - let __t185 = v_V3490.clone(); - rt::apply_direct(interp, "hdstr", &[__t185])? + let __t169 = { + let __t168 = { + let __t167 = { + let __t166 = v_V3490.clone(); + rt::hdstr(&__t166)? }; - rt::apply_direct(interp, "string->n", &[__t186])? + rt::string_to_n(&__t167)? }; - rt::apply_direct(interp, "shen.uppercase?", &[__t187])? + rt::apply_direct(interp, "shen.uppercase?", &[__t168])? }; - if !match rt::is_truthy(interp, &__t188) { + if !match rt::is_truthy(interp, &__t169) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { break Ok({ - let __t190 = { - let __t189 = v_V3490.clone(); - rt::apply_direct(interp, "tlstr", &[__t189])? + let __t171 = { + let __t170 = v_V3490.clone(); + rt::tlstr(&__t170)? }; - rt::apply_direct(interp, "shen.alphanums?", &[__t190])? + aot_shen_x2e_alphanums_x3f_(interp, &[__t171])? }); } } } else { { - let __t183 = Value::bool(true); - if match rt::is_truthy(interp, &__t183) { + let __t164 = Value::bool(true); + if match rt::is_truthy(interp, &__t164) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t182 = + let __t163 = Value::str("implementation error in shen.analyse-variable?"); - rt::apply_direct(interp, "simple-error", &[__t182])? + rt::apply_direct(interp, "simple-error", &[__t163])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1453,20 +1396,16 @@ pub fn aot_gensym(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t192 = v_V3491.clone(); - let __t198 = { - let __t193 = Value::sym(interp.intern("shen.*gensym*")); - let __t197 = { - let __t194 = Value::int(1i64); - let __t196 = { - let __t195 = Value::sym(interp.intern("shen.*gensym*")); - rt::apply_direct(interp, "value", &[__t195])? - }; - rt::add(&__t194, &__t196)? + let __t173 = v_V3491.clone(); + let __t176 = { + let __v = { + let __t174 = Value::int(1i64); + let __t175 = rt::global_value(interp, "shen.*gensym*")?; + rt::add(&__t174, &__t175)? }; - rt::apply_direct(interp, "set", &[__t193, __t197])? + rt::set_global(interp, "shen.*gensym*", __v) }; - rt::apply_direct(interp, "concat", &[__t192, __t198])? + aot_concat(interp, &[__t173, __t176])? }); } } @@ -1491,18 +1430,18 @@ pub fn aot_concat(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t203 = { - let __t200 = { - let __t199 = v_V3492.clone(); - rt::apply_direct(interp, "str", &[__t199])? + let __t181 = { + let __t178 = { + let __t177 = v_V3492.clone(); + rt::apply_direct(interp, "str", &[__t177])? }; - let __t202 = { - let __t201 = v_V3493.clone(); - rt::apply_direct(interp, "str", &[__t201])? + let __t180 = { + let __t179 = v_V3493.clone(); + rt::apply_direct(interp, "str", &[__t179])? }; - rt::apply_direct(interp, "cn", &[__t200, __t202])? + rt::cn(&__t178, &__t180)? }; - rt::apply_direct(interp, "intern", &[__t203])? + rt::intern(interp, &__t181)? }); } } @@ -1528,29 +1467,29 @@ pub fn aot__x40_p(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3496 = { - let __t204 = Value::int(3i64); - rt::apply_direct(interp, "absvector", &[__t204])? + let __t182 = Value::int(3i64); + rt::apply_direct(interp, "absvector", &[__t182])? }; { let v_W3497 = { - let __t205 = v_W3496.clone(); - let __t206 = Value::int(0i64); - let __t207 = Value::sym(interp.intern("shen.tuple")); - rt::apply_direct(interp, "address->", &[__t205, __t206, __t207])? + let __t183 = v_W3496.clone(); + let __t184 = Value::int(0i64); + let __t185 = Value::sym(interp.intern_static("shen.tuple")); + rt::address_set(&__t183, &__t184, &__t185)? }; { let v_W3498 = { - let __t208 = v_W3496.clone(); - let __t209 = Value::int(1i64); - let __t210 = v_V3494.clone(); - rt::apply_direct(interp, "address->", &[__t208, __t209, __t210])? + let __t186 = v_W3496.clone(); + let __t187 = Value::int(1i64); + let __t188 = v_V3494.clone(); + rt::address_set(&__t186, &__t187, &__t188)? }; { let v_W3499 = { - let __t211 = v_W3496.clone(); - let __t212 = Value::int(2i64); - let __t213 = v_V3495.clone(); - rt::apply_direct(interp, "address->", &[__t211, __t212, __t213])? + let __t189 = v_W3496.clone(); + let __t190 = Value::int(2i64); + let __t191 = v_V3495.clone(); + rt::address_set(&__t189, &__t190, &__t191)? }; break Ok(v_W3496.clone()); } @@ -1578,9 +1517,9 @@ pub fn aot_fst(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t214 = v_V3500.clone(); - let __t215 = Value::int(1i64); - rt::apply_direct(interp, "<-address", &[__t214, __t215])? + let __t192 = v_V3500.clone(); + let __t193 = Value::int(1i64); + rt::address_ref(&__t192, &__t193)? }); } } @@ -1603,9 +1542,9 @@ pub fn aot_snd(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t216 = v_V3501.clone(); - let __t217 = Value::int(2i64); - rt::apply_direct(interp, "<-address", &[__t216, __t217])? + let __t194 = v_V3501.clone(); + let __t195 = Value::int(2i64); + rt::address_ref(&__t194, &__t195)? }); } } @@ -1630,23 +1569,23 @@ pub fn aot_tuple_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult break Ok( match (|| -> ShenResult { Ok({ - let __t223 = { - let __t218 = v_V3502.clone(); - rt::is_absvector(&__t218) + let __t199 = { + let __t196 = v_V3502.clone(); + rt::is_absvector(&__t196) }; - if !rt::is_truthy(interp, &__t223)? { + if !rt::is_truthy(interp, &__t199)? { Value::bool(false) } else { - let __t224 = { - let __t219 = Value::sym(interp.intern("shen.tuple")); - let __t222 = { - let __t220 = v_V3502.clone(); - let __t221 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t220, __t221])? - }; - rt::eq(&__t219, &__t222) - }; - Value::bool(rt::is_truthy(interp, &__t224)?) + let __t200 = Value::bool( + ({ + let __t197 = v_V3502.clone(); + let __t198 = Value::int(0i64); + rt::address_ref(&__t197, &__t198)? + }) + .as_sym() + == Some(interp.intern_static("shen.tuple")), + ); + Value::bool(rt::is_truthy(interp, &__t200)?) } }) })() { @@ -1692,51 +1631,47 @@ pub fn aot_append(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t237 = { - let __t235 = Value::nil(); - let __t236 = v_V3508.clone(); - rt::eq(&__t235, &__t236) - }; - if match rt::is_truthy(interp, &__t237) { + let __t211 = Value::bool((v_V3508.clone()).is_nil()); + if match rt::is_truthy(interp, &__t211) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3509.clone()); } else { { - let __t234 = { - let __t227 = v_V3508.clone(); - rt::is_cons(&__t227) + let __t210 = { + let __t203 = v_V3508.clone(); + rt::is_cons(&__t203) }; - if match rt::is_truthy(interp, &__t234) { + if match rt::is_truthy(interp, &__t210) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t229 = { - let __t228 = v_V3508.clone(); - rt::hd(&__t228)? + let __t205 = { + let __t204 = v_V3508.clone(); + rt::hd(&__t204)? }; - let __t233 = { - let __t231 = { - let __t230 = v_V3508.clone(); - rt::tl(&__t230)? + let __t209 = { + let __t207 = { + let __t206 = v_V3508.clone(); + rt::tl(&__t206)? }; - let __t232 = v_V3509.clone(); - rt::apply_direct(interp, "append", &[__t231, __t232])? + let __t208 = v_V3509.clone(); + aot_append(interp, &[__t207, __t208])? }; - rt::cons(&__t229, &__t233) + rt::cons(&__t205, &__t209) }); } else { { - let __t226 = Value::bool(true); - if match rt::is_truthy(interp, &__t226) { + let __t202 = Value::bool(true); + if match rt::is_truthy(interp, &__t202) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t225 = Value::str("attempt to append a non-list"); - rt::apply_direct(interp, "simple-error", &[__t225])? + let __t201 = Value::str("attempt to append a non-list"); + rt::apply_direct(interp, "simple-error", &[__t201])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1770,46 +1705,45 @@ pub fn aot__x40_v(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3512 = { - let __t238 = v_V3511.clone(); - rt::apply_direct(interp, "limit", &[__t238])? + let __t212 = v_V3511.clone(); + rt::apply_direct(interp, "limit", &[__t212])? }; { let v_W3513 = { - let __t241 = { - let __t239 = v_W3512.clone(); - let __t240 = Value::int(1i64); - rt::add(&__t239, &__t240)? + let __t215 = { + let __t213 = v_W3512.clone(); + let __t214 = Value::int(1i64); + rt::add(&__t213, &__t214)? }; - rt::apply_direct(interp, "vector", &[__t241])? + rt::apply_direct(interp, "vector", &[__t215])? }; { let v_W3514 = { - let __t242 = v_W3513.clone(); - let __t243 = Value::int(1i64); - let __t244 = v_V3510.clone(); - rt::apply_direct(interp, "vector->", &[__t242, __t243, __t244])? + let __t216 = v_W3513.clone(); + let __t217 = Value::int(1i64); + let __t218 = v_V3510.clone(); + rt::apply_direct(interp, "vector->", &[__t216, __t217, __t218])? }; { - let __t247 = { - let __t245 = v_W3512.clone(); - let __t246 = Value::int(0i64); - rt::eq(&__t245, &__t246) + let __t221 = { + let __t219 = v_W3512.clone(); + let __t220 = Value::int(0i64); + rt::eq(&__t219, &__t220) }; - if match rt::is_truthy(interp, &__t247) { + if match rt::is_truthy(interp, &__t221) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_W3514.clone()); } else { break Ok({ - let __t248 = v_V3511.clone(); - let __t249 = Value::int(1i64); - let __t250 = v_W3512.clone(); - let __t251 = v_W3514.clone(); - rt::apply_direct( + let __t222 = v_V3511.clone(); + let __t223 = Value::int(1i64); + let __t224 = v_W3512.clone(); + let __t225 = v_W3514.clone(); + aot_shen_x2e__x40_v_x2d_help( interp, - "shen.@v-help", - &[__t248, __t249, __t250, __t251], + &[__t222, __t223, __t224, __t225], )? }); } @@ -1844,64 +1778,59 @@ pub fn aot_shen_x2e__x40_v_x2d_help(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t273 = { - let __t265 = v_V3517.clone(); - let __t266 = v_V3518.clone(); - rt::eq(&__t265, &__t266) + let __t247 = { + let __t239 = v_V3517.clone(); + let __t240 = v_V3518.clone(); + rt::eq(&__t239, &__t240) }; - if match rt::is_truthy(interp, &__t273) { + if match rt::is_truthy(interp, &__t247) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t267 = v_V3516.clone(); - let __t268 = v_V3519.clone(); - let __t269 = v_V3518.clone(); - let __t272 = { - let __t270 = v_V3518.clone(); - let __t271 = Value::int(1i64); - rt::add(&__t270, &__t271)? + let __t241 = v_V3516.clone(); + let __t242 = v_V3519.clone(); + let __t243 = v_V3518.clone(); + let __t246 = { + let __t244 = v_V3518.clone(); + let __t245 = Value::int(1i64); + rt::add(&__t244, &__t245)? }; - rt::apply_direct( - interp, - "shen.copyfromvector", - &[__t267, __t268, __t269, __t272], - )? + aot_shen_x2e_copyfromvector(interp, &[__t241, __t242, __t243, __t246])? }); } else { { - let __t264 = Value::bool(true); - if match rt::is_truthy(interp, &__t264) { + let __t238 = Value::bool(true); + if match rt::is_truthy(interp, &__t238) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t252 = v_V3516.clone(); - let __t255 = { - let __t253 = v_V3517.clone(); - let __t254 = Value::int(1i64); - rt::add(&__t253, &__t254)? + let __t226 = v_V3516.clone(); + let __t229 = { + let __t227 = v_V3517.clone(); + let __t228 = Value::int(1i64); + rt::add(&__t227, &__t228)? }; - let __t256 = v_V3518.clone(); - let __t263 = { - let __t257 = v_V3516.clone(); - let __t258 = v_V3519.clone(); - let __t259 = v_V3517.clone(); - let __t262 = { - let __t260 = v_V3517.clone(); - let __t261 = Value::int(1i64); - rt::add(&__t260, &__t261)? + let __t230 = v_V3518.clone(); + let __t237 = { + let __t231 = v_V3516.clone(); + let __t232 = v_V3519.clone(); + let __t233 = v_V3517.clone(); + let __t236 = { + let __t234 = v_V3517.clone(); + let __t235 = Value::int(1i64); + rt::add(&__t234, &__t235)? }; - rt::apply_direct( + aot_shen_x2e_copyfromvector( interp, - "shen.copyfromvector", - &[__t257, __t258, __t259, __t262], + &[__t231, __t232, __t233, __t236], )? }; - v_V3516 = __t252; - v_V3517 = __t255; - v_V3518 = __t256; - v_V3519 = __t263; + v_V3516 = __t226; + v_V3517 = __t229; + v_V3518 = __t230; + v_V3519 = __t237; continue; } } else { @@ -1939,14 +1868,14 @@ pub fn aot_shen_x2e_copyfromvector(interp: &mut Interp, args: &[Value]) -> ShenR break Ok( match (|| -> ShenResult { Ok({ - let __t274 = v_V3521.clone(); - let __t275 = v_V3523.clone(); - let __t278 = { - let __t276 = v_V3520.clone(); - let __t277 = v_V3522.clone(); - rt::apply_direct(interp, "<-vector", &[__t276, __t277])? + let __t248 = v_V3521.clone(); + let __t249 = v_V3523.clone(); + let __t252 = { + let __t250 = v_V3520.clone(); + let __t251 = v_V3522.clone(); + rt::apply_direct(interp, "<-vector", &[__t250, __t251])? }; - rt::apply_direct(interp, "vector->", &[__t274, __t275, __t278])? + rt::apply_direct(interp, "vector->", &[__t248, __t249, __t252])? }) })() { Ok(v) => v, @@ -1989,37 +1918,26 @@ pub fn aot_hdv(interp: &mut Interp, args: &[Value]) -> ShenResult { let mut v_V3525 = args[0].clone(); #[allow(clippy::never_loop)] loop { - break Ok( - match (|| -> ShenResult { - Ok({ - let __t279 = v_V3525.clone(); - let __t280 = Value::int(1i64); - rt::apply_direct(interp, "<-vector", &[__t279, __t280])? - }) - })() { - Ok(v) => v, - Err(e) => { - let __h = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z3526 = args[0].clone(); - Ok({ - let __t281 = - Value::str("hdv needs a non-empty vector as an argument\n"); - rt::apply_direct(interp, "simple-error", &[__t281])? - }) - }, - Vec::new(), - interp, - ) - }; - let __err = Value::err(e.message.clone()); - rt::apply_value(interp, __h, &[__err])? - } - }, - ); + break Ok({ + let __x = v_V3525.clone(); + let __n = Value::int(1i64); + let __h = { + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok({ + let __t253 = + Value::str("hdv needs a non-empty vector as an argument\n"); + rt::apply_direct(interp, "simple-error", &[__t253])? + }) + }, + Vec::new(), + interp, + ) + }; + rt::apply_direct(interp, "<-vector/or", &[__x, __n, __h])? + }); } } @@ -2042,64 +1960,63 @@ pub fn aot_tlv(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3528 = { - let __t282 = v_V3527.clone(); - rt::apply_direct(interp, "limit", &[__t282])? + let __t254 = v_V3527.clone(); + rt::apply_direct(interp, "limit", &[__t254])? }; { - let __t285 = { - let __t283 = v_W3528.clone(); - let __t284 = Value::int(0i64); - rt::eq(&__t283, &__t284) + let __t257 = { + let __t255 = v_W3528.clone(); + let __t256 = Value::int(0i64); + rt::eq(&__t255, &__t256) }; - if match rt::is_truthy(interp, &__t285) { + if match rt::is_truthy(interp, &__t257) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t286 = Value::str("cannot take the tail of the empty vector\n"); - rt::apply_direct(interp, "simple-error", &[__t286])? + let __t258 = Value::str("cannot take the tail of the empty vector\n"); + rt::apply_direct(interp, "simple-error", &[__t258])? }); } else { { - let __t289 = { - let __t287 = v_W3528.clone(); - let __t288 = Value::int(1i64); - rt::eq(&__t287, &__t288) + let __t261 = { + let __t259 = v_W3528.clone(); + let __t260 = Value::int(1i64); + rt::eq(&__t259, &__t260) }; - if match rt::is_truthy(interp, &__t289) { + if match rt::is_truthy(interp, &__t261) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t290 = Value::int(0i64); - rt::apply_direct(interp, "vector", &[__t290])? + let __t262 = Value::int(0i64); + rt::apply_direct(interp, "vector", &[__t262])? }); } else { { let v_W3529 = { - let __t293 = { - let __t291 = v_W3528.clone(); - let __t292 = Value::int(1i64); - rt::sub(&__t291, &__t292)? + let __t265 = { + let __t263 = v_W3528.clone(); + let __t264 = Value::int(1i64); + rt::sub(&__t263, &__t264)? }; - rt::apply_direct(interp, "vector", &[__t293])? + rt::apply_direct(interp, "vector", &[__t265])? }; break Ok({ - let __t294 = v_V3527.clone(); - let __t295 = Value::int(2i64); - let __t296 = v_W3528.clone(); - let __t300 = { - let __t299 = { - let __t297 = v_W3528.clone(); - let __t298 = Value::int(1i64); - rt::sub(&__t297, &__t298)? + let __t266 = v_V3527.clone(); + let __t267 = Value::int(2i64); + let __t268 = v_W3528.clone(); + let __t272 = { + let __t271 = { + let __t269 = v_W3528.clone(); + let __t270 = Value::int(1i64); + rt::sub(&__t269, &__t270)? }; - rt::apply_direct(interp, "vector", &[__t299])? + rt::apply_direct(interp, "vector", &[__t271])? }; - rt::apply_direct( + aot_shen_x2e_tlv_x2d_help( interp, - "shen.tlv-help", - &[__t294, __t295, __t296, __t300], + &[__t266, __t267, __t268, __t272], )? }); } @@ -2135,64 +2052,59 @@ pub fn aot_shen_x2e_tlv_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t322 = { - let __t314 = v_V3532.clone(); - let __t315 = v_V3533.clone(); - rt::eq(&__t314, &__t315) + let __t294 = { + let __t286 = v_V3532.clone(); + let __t287 = v_V3533.clone(); + rt::eq(&__t286, &__t287) }; - if match rt::is_truthy(interp, &__t322) { + if match rt::is_truthy(interp, &__t294) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t316 = v_V3531.clone(); - let __t317 = v_V3534.clone(); - let __t318 = v_V3533.clone(); - let __t321 = { - let __t319 = v_V3533.clone(); - let __t320 = Value::int(1i64); - rt::sub(&__t319, &__t320)? + let __t288 = v_V3531.clone(); + let __t289 = v_V3534.clone(); + let __t290 = v_V3533.clone(); + let __t293 = { + let __t291 = v_V3533.clone(); + let __t292 = Value::int(1i64); + rt::sub(&__t291, &__t292)? }; - rt::apply_direct( - interp, - "shen.copyfromvector", - &[__t316, __t317, __t318, __t321], - )? + aot_shen_x2e_copyfromvector(interp, &[__t288, __t289, __t290, __t293])? }); } else { { - let __t313 = Value::bool(true); - if match rt::is_truthy(interp, &__t313) { + let __t285 = Value::bool(true); + if match rt::is_truthy(interp, &__t285) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t301 = v_V3531.clone(); - let __t304 = { - let __t302 = v_V3532.clone(); - let __t303 = Value::int(1i64); - rt::add(&__t302, &__t303)? + let __t273 = v_V3531.clone(); + let __t276 = { + let __t274 = v_V3532.clone(); + let __t275 = Value::int(1i64); + rt::add(&__t274, &__t275)? }; - let __t305 = v_V3533.clone(); - let __t312 = { - let __t306 = v_V3531.clone(); - let __t307 = v_V3534.clone(); - let __t308 = v_V3532.clone(); - let __t311 = { - let __t309 = v_V3532.clone(); - let __t310 = Value::int(1i64); - rt::sub(&__t309, &__t310)? + let __t277 = v_V3533.clone(); + let __t284 = { + let __t278 = v_V3531.clone(); + let __t279 = v_V3534.clone(); + let __t280 = v_V3532.clone(); + let __t283 = { + let __t281 = v_V3532.clone(); + let __t282 = Value::int(1i64); + rt::sub(&__t281, &__t282)? }; - rt::apply_direct( + aot_shen_x2e_copyfromvector( interp, - "shen.copyfromvector", - &[__t306, __t307, __t308, __t311], + &[__t278, __t279, __t280, __t283], )? }; - v_V3531 = __t301; - v_V3532 = __t304; - v_V3533 = __t305; - v_V3534 = __t312; + v_V3531 = __t273; + v_V3532 = __t276; + v_V3533 = __t277; + v_V3534 = __t284; continue; } } else { @@ -2224,94 +2136,90 @@ pub fn aot_assoc(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t345 = { - let __t343 = Value::nil(); - let __t344 = v_V3547.clone(); - rt::eq(&__t343, &__t344) - }; - if match rt::is_truthy(interp, &__t345) { + let __t315 = Value::bool((v_V3547.clone()).is_nil()); + if match rt::is_truthy(interp, &__t315) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t342 = { - let __t339 = { - let __t330 = v_V3547.clone(); - rt::is_cons(&__t330) + let __t314 = { + let __t311 = { + let __t302 = v_V3547.clone(); + rt::is_cons(&__t302) }; - if !rt::is_truthy(interp, &__t339)? { + if !rt::is_truthy(interp, &__t311)? { Value::bool(false) } else { - let __t340 = { - let __t337 = { - let __t332 = { - let __t331 = v_V3547.clone(); - rt::hd(&__t331)? + let __t312 = { + let __t309 = { + let __t304 = { + let __t303 = v_V3547.clone(); + rt::hd(&__t303)? }; - rt::is_cons(&__t332) + rt::is_cons(&__t304) }; - if !rt::is_truthy(interp, &__t337)? { + if !rt::is_truthy(interp, &__t309)? { Value::bool(false) } else { - let __t338 = { - let __t333 = v_V3546.clone(); - let __t336 = { - let __t335 = { - let __t334 = v_V3547.clone(); - rt::hd(&__t334)? + let __t310 = { + let __t305 = v_V3546.clone(); + let __t308 = { + let __t307 = { + let __t306 = v_V3547.clone(); + rt::hd(&__t306)? }; - rt::hd(&__t335)? + rt::hd(&__t307)? }; - rt::eq(&__t333, &__t336) + rt::eq(&__t305, &__t308) }; - Value::bool(rt::is_truthy(interp, &__t338)?) + Value::bool(rt::is_truthy(interp, &__t310)?) } }; - Value::bool(rt::is_truthy(interp, &__t340)?) + Value::bool(rt::is_truthy(interp, &__t312)?) } }; - if match rt::is_truthy(interp, &__t342) { + if match rt::is_truthy(interp, &__t314) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t341 = v_V3547.clone(); - rt::hd(&__t341)? + let __t313 = v_V3547.clone(); + rt::hd(&__t313)? }); } else { { - let __t329 = { - let __t325 = v_V3547.clone(); - rt::is_cons(&__t325) + let __t301 = { + let __t297 = v_V3547.clone(); + rt::is_cons(&__t297) }; - if match rt::is_truthy(interp, &__t329) { + if match rt::is_truthy(interp, &__t301) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t326 = v_V3546.clone(); - let __t328 = { - let __t327 = v_V3547.clone(); - rt::tl(&__t327)? + let __t298 = v_V3546.clone(); + let __t300 = { + let __t299 = v_V3547.clone(); + rt::tl(&__t299)? }; - v_V3546 = __t326; - v_V3547 = __t328; + v_V3546 = __t298; + v_V3547 = __t300; continue; } } else { { - let __t324 = Value::bool(true); - if match rt::is_truthy(interp, &__t324) { + let __t296 = Value::bool(true); + if match rt::is_truthy(interp, &__t296) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t323 = Value::str( + let __t295 = Value::str( "attempt to search a non-list with assoc\n", ); - rt::apply_direct(interp, "simple-error", &[__t323])? + rt::apply_direct(interp, "simple-error", &[__t295])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2344,32 +2252,32 @@ pub fn aot_boolean_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t349 = { - let __t347 = Value::bool(false); - let __t348 = v_V3550.clone(); - rt::eq(&__t347, &__t348) + let __t319 = { + let __t317 = Value::bool(false); + let __t318 = v_V3550.clone(); + rt::eq(&__t317, &__t318) }; - if match rt::is_truthy(interp, &__t349) { + if match rt::is_truthy(interp, &__t319) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t346 = Value::bool(true); - if match rt::is_truthy(interp, &__t346) { + let __t316 = Value::bool(true); + if match rt::is_truthy(interp, &__t316) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2403,36 +2311,36 @@ pub fn aot_nl(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t361 = { - let __t359 = Value::int(0i64); - let __t360 = v_V3551.clone(); - rt::eq(&__t359, &__t360) + let __t331 = { + let __t329 = Value::int(0i64); + let __t330 = v_V3551.clone(); + rt::eq(&__t329, &__t330) }; - if match rt::is_truthy(interp, &__t361) { + if match rt::is_truthy(interp, &__t331) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::int(0i64)); } else { { - let __t358 = Value::bool(true); - if match rt::is_truthy(interp, &__t358) { + let __t328 = Value::bool(true); + if match rt::is_truthy(interp, &__t328) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t353 = Value::str("\n"); - let __t354 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t353, __t354])? + let __t323 = Value::str("\n"); + let __t324 = { aot_stoutput(interp, &[])? }; + rt::apply_direct(interp, "pr", &[__t323, __t324])? }; { - let __t357 = { - let __t355 = v_V3551.clone(); - let __t356 = Value::int(1i64); - rt::sub(&__t355, &__t356)? + let __t327 = { + let __t325 = v_V3551.clone(); + let __t326 = Value::int(1i64); + rt::sub(&__t325, &__t326)? }; - v_V3551 = __t357; + v_V3551 = __t327; continue; } } @@ -2465,79 +2373,75 @@ pub fn aot_difference(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t381 = { - let __t379 = Value::nil(); - let __t380 = v_V3558.clone(); - rt::eq(&__t379, &__t380) - }; - if match rt::is_truthy(interp, &__t381) { + let __t349 = Value::bool((v_V3558.clone()).is_nil()); + if match rt::is_truthy(interp, &__t349) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t378 = { - let __t364 = v_V3558.clone(); - rt::is_cons(&__t364) + let __t348 = { + let __t334 = v_V3558.clone(); + rt::is_cons(&__t334) }; - if match rt::is_truthy(interp, &__t378) { + if match rt::is_truthy(interp, &__t348) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t368 = { - let __t366 = { - let __t365 = v_V3558.clone(); - rt::hd(&__t365)? + let __t338 = { + let __t336 = { + let __t335 = v_V3558.clone(); + rt::hd(&__t335)? }; - let __t367 = v_V3559.clone(); - rt::apply_direct(interp, "element?", &[__t366, __t367])? + let __t337 = v_V3559.clone(); + rt::apply_direct(interp, "element?", &[__t336, __t337])? }; - if match rt::is_truthy(interp, &__t368) { + if match rt::is_truthy(interp, &__t338) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t370 = { - let __t369 = v_V3558.clone(); - rt::tl(&__t369)? + let __t340 = { + let __t339 = v_V3558.clone(); + rt::tl(&__t339)? }; - let __t371 = v_V3559.clone(); - v_V3558 = __t370; - v_V3559 = __t371; + let __t341 = v_V3559.clone(); + v_V3558 = __t340; + v_V3559 = __t341; continue; } } else { break Ok({ - let __t373 = { - let __t372 = v_V3558.clone(); - rt::hd(&__t372)? + let __t343 = { + let __t342 = v_V3558.clone(); + rt::hd(&__t342)? }; - let __t377 = { - let __t375 = { - let __t374 = v_V3558.clone(); - rt::tl(&__t374)? + let __t347 = { + let __t345 = { + let __t344 = v_V3558.clone(); + rt::tl(&__t344)? }; - let __t376 = v_V3559.clone(); - rt::apply_direct(interp, "difference", &[__t375, __t376])? + let __t346 = v_V3559.clone(); + aot_difference(interp, &[__t345, __t346])? }; - rt::cons(&__t373, &__t377) + rt::cons(&__t343, &__t347) }); } } } else { { - let __t363 = Value::bool(true); - if match rt::is_truthy(interp, &__t363) { + let __t333 = Value::bool(true); + if match rt::is_truthy(interp, &__t333) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t362 = Value::str( + let __t332 = Value::str( "attempt to find the difference with a non-list\n", ); - rt::apply_direct(interp, "simple-error", &[__t362])? + rt::apply_direct(interp, "simple-error", &[__t332])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2593,74 +2497,70 @@ pub fn aot_element_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t395 = { - let __t393 = { - let __t389 = v_V3574.clone(); - rt::is_cons(&__t389) + let __t363 = { + let __t361 = { + let __t357 = v_V3574.clone(); + rt::is_cons(&__t357) }; - if !rt::is_truthy(interp, &__t393)? { + if !rt::is_truthy(interp, &__t361)? { Value::bool(false) } else { - let __t394 = { - let __t390 = v_V3573.clone(); - let __t392 = { - let __t391 = v_V3574.clone(); - rt::hd(&__t391)? + let __t362 = { + let __t358 = v_V3573.clone(); + let __t360 = { + let __t359 = v_V3574.clone(); + rt::hd(&__t359)? }; - rt::eq(&__t390, &__t392) + rt::eq(&__t358, &__t360) }; - Value::bool(rt::is_truthy(interp, &__t394)?) + Value::bool(rt::is_truthy(interp, &__t362)?) } }; - if match rt::is_truthy(interp, &__t395) { + if match rt::is_truthy(interp, &__t363) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t388 = { - let __t384 = v_V3574.clone(); - rt::is_cons(&__t384) + let __t356 = { + let __t352 = v_V3574.clone(); + rt::is_cons(&__t352) }; - if match rt::is_truthy(interp, &__t388) { + if match rt::is_truthy(interp, &__t356) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t385 = v_V3573.clone(); - let __t387 = { - let __t386 = v_V3574.clone(); - rt::tl(&__t386)? + let __t353 = v_V3573.clone(); + let __t355 = { + let __t354 = v_V3574.clone(); + rt::tl(&__t354)? }; - v_V3573 = __t385; - v_V3574 = __t387; + v_V3573 = __t353; + v_V3574 = __t355; continue; } } else { { - let __t383 = Value::bool(true); - if match rt::is_truthy(interp, &__t383) { + let __t351 = Value::bool(true); + if match rt::is_truthy(interp, &__t351) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t382 = Value::str( + let __t350 = Value::str( "attempt to find an element in a non-list\n", ); - rt::apply_direct(interp, "simple-error", &[__t382])? + rt::apply_direct(interp, "simple-error", &[__t350])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2693,20 +2593,16 @@ pub fn aot_empty_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t402 = { - let __t400 = Value::nil(); - let __t401 = v_V3577.clone(); - rt::eq(&__t400, &__t401) - }; - if match rt::is_truthy(interp, &__t402) { + let __t366 = Value::bool((v_V3577.clone()).is_nil()); + if match rt::is_truthy(interp, &__t366) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t399 = Value::bool(true); - if match rt::is_truthy(interp, &__t399) { + let __t365 = Value::bool(true); + if match rt::is_truthy(interp, &__t365) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2740,13 +2636,13 @@ pub fn aot_fix(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t403 = v_V3578.clone(); - let __t404 = v_V3579.clone(); - let __t406 = { - let __t405 = v_V3579.clone(); - rt::apply_value(interp, v_V3578.clone(), &[__t405])? + let __t367 = v_V3578.clone(); + let __t368 = v_V3579.clone(); + let __t370 = { + let __t369 = v_V3579.clone(); + rt::apply_value(interp, v_V3578.clone(), &[__t369])? }; - rt::apply_direct(interp, "shen.fix-help", &[__t403, __t404, __t406])? + aot_shen_x2e_fix_x2d_help(interp, &[__t367, __t368, __t370])? }); } } @@ -2773,33 +2669,33 @@ pub fn aot_shen_x2e_fix_x2d_help(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t414 = { - let __t412 = v_V3586.clone(); - let __t413 = v_V3587.clone(); - rt::eq(&__t412, &__t413) + let __t378 = { + let __t376 = v_V3586.clone(); + let __t377 = v_V3587.clone(); + rt::eq(&__t376, &__t377) }; - if match rt::is_truthy(interp, &__t414) { + if match rt::is_truthy(interp, &__t378) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3587.clone()); } else { { - let __t411 = Value::bool(true); - if match rt::is_truthy(interp, &__t411) { + let __t375 = Value::bool(true); + if match rt::is_truthy(interp, &__t375) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t407 = v_V3585.clone(); - let __t408 = v_V3587.clone(); - let __t410 = { - let __t409 = v_V3587.clone(); - rt::apply_value(interp, v_V3585.clone(), &[__t409])? + let __t371 = v_V3585.clone(); + let __t372 = v_V3587.clone(); + let __t374 = { + let __t373 = v_V3587.clone(); + rt::apply_value(interp, v_V3585.clone(), &[__t373])? }; - v_V3585 = __t407; - v_V3586 = __t408; - v_V3587 = __t410; + v_V3585 = __t371; + v_V3586 = __t372; + v_V3587 = __t374; continue; } } else { @@ -2836,55 +2732,43 @@ pub fn aot_put(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3592 = { - let __t415 = v_V3588.clone(); - let __t417 = { - let __t416 = v_V3591.clone(); - rt::apply_direct(interp, "limit", &[__t416])? + let __t379 = v_V3588.clone(); + let __t381 = { + let __t380 = v_V3591.clone(); + rt::apply_direct(interp, "limit", &[__t380])? }; - rt::apply_direct(interp, "hash", &[__t415, __t417])? + rt::apply_direct(interp, "hash", &[__t379, __t381])? }; { - let v_W3593 = match (|| -> ShenResult { - Ok({ - let __t418 = v_V3591.clone(); - let __t419 = v_W3592.clone(); - rt::apply_direct(interp, "<-vector", &[__t418, __t419])? - }) - })() { - Ok(v) => v, - Err(e) => { - let __h = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z3594 = args[0].clone(); - Ok(Value::nil()) - }, - Vec::new(), - interp, - ) - }; - let __err = Value::err(e.message.clone()); - rt::apply_value(interp, __h, &[__err])? - } + let v_W3593 = { + let __x = v_V3591.clone(); + let __n = v_W3592.clone(); + let __h = { + rt::make_aot_closure( + "", + 0, + move |interp, _args| Ok(Value::nil()), + Vec::new(), + interp, + ) + }; + rt::apply_direct(interp, "<-vector/or", &[__x, __n, __h])? }; { let v_W3595 = { - let __t420 = v_V3591.clone(); - let __t421 = v_W3592.clone(); - let __t426 = { - let __t422 = v_V3588.clone(); - let __t423 = v_V3589.clone(); - let __t424 = v_V3590.clone(); - let __t425 = v_W3593.clone(); - rt::apply_direct( + let __t382 = v_V3591.clone(); + let __t383 = v_W3592.clone(); + let __t388 = { + let __t384 = v_V3588.clone(); + let __t385 = v_V3589.clone(); + let __t386 = v_V3590.clone(); + let __t387 = v_W3593.clone(); + aot_shen_x2e_change_x2d_pointer_x2d_value( interp, - "shen.change-pointer-value", - &[__t422, __t423, __t424, __t425], + &[__t384, __t385, __t386, __t387], )? }; - rt::apply_direct(interp, "vector->", &[__t420, __t421, __t426])? + rt::apply_direct(interp, "vector->", &[__t382, __t383, __t388])? }; break Ok(v_V3590.clone()); } @@ -2916,54 +2800,39 @@ pub fn aot_unput(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3599 = { - let __t427 = v_V3596.clone(); - let __t429 = { - let __t428 = v_V3598.clone(); - rt::apply_direct(interp, "limit", &[__t428])? + let __t389 = v_V3596.clone(); + let __t391 = { + let __t390 = v_V3598.clone(); + rt::apply_direct(interp, "limit", &[__t390])? }; - rt::apply_direct(interp, "hash", &[__t427, __t429])? + rt::apply_direct(interp, "hash", &[__t389, __t391])? }; { - let v_W3600 = match (|| -> ShenResult { - Ok({ - let __t430 = v_V3598.clone(); - let __t431 = v_W3599.clone(); - rt::apply_direct(interp, "<-vector", &[__t430, __t431])? - }) - })() { - Ok(v) => v, - Err(e) => { - let __h = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z3601 = args[0].clone(); - Ok(Value::nil()) - }, - Vec::new(), - interp, - ) - }; - let __err = Value::err(e.message.clone()); - rt::apply_value(interp, __h, &[__err])? - } + let v_W3600 = { + let __x = v_V3598.clone(); + let __n = v_W3599.clone(); + let __h = { + rt::make_aot_closure( + "", + 0, + move |interp, _args| Ok(Value::nil()), + Vec::new(), + interp, + ) + }; + rt::apply_direct(interp, "<-vector/or", &[__x, __n, __h])? }; { let v_W3602 = { - let __t432 = v_V3598.clone(); - let __t433 = v_W3599.clone(); - let __t437 = { - let __t434 = v_V3596.clone(); - let __t435 = v_V3597.clone(); - let __t436 = v_W3600.clone(); - rt::apply_direct( - interp, - "shen.remove-pointer", - &[__t434, __t435, __t436], - )? + let __t392 = v_V3598.clone(); + let __t393 = v_W3599.clone(); + let __t397 = { + let __t394 = v_V3596.clone(); + let __t395 = v_V3597.clone(); + let __t396 = v_W3600.clone(); + aot_shen_x2e_remove_x2d_pointer(interp, &[__t394, __t395, __t396])? }; - rt::apply_direct(interp, "vector->", &[__t432, __t433, __t437])? + rt::apply_direct(interp, "vector->", &[__t392, __t393, __t397])? }; break Ok(v_V3596.clone()); } @@ -2994,205 +2863,199 @@ pub fn aot_shen_x2e_remove_x2d_pointer(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t492 = { - let __t490 = Value::nil(); - let __t491 = v_V3615.clone(); - rt::eq(&__t490, &__t491) - }; - if match rt::is_truthy(interp, &__t492) { + let __t448 = Value::bool((v_V3615.clone()).is_nil()); + if match rt::is_truthy(interp, &__t448) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t489 = { - let __t486 = { - let __t449 = v_V3615.clone(); - rt::is_cons(&__t449) + let __t447 = { + let __t444 = { + let __t409 = v_V3615.clone(); + rt::is_cons(&__t409) }; - if !rt::is_truthy(interp, &__t486)? { + if !rt::is_truthy(interp, &__t444)? { Value::bool(false) } else { - let __t487 = { - let __t484 = { - let __t451 = { - let __t450 = v_V3615.clone(); - rt::hd(&__t450)? + let __t445 = { + let __t442 = { + let __t411 = { + let __t410 = v_V3615.clone(); + rt::hd(&__t410)? }; - rt::is_cons(&__t451) + rt::is_cons(&__t411) }; - if !rt::is_truthy(interp, &__t484)? { + if !rt::is_truthy(interp, &__t442)? { Value::bool(false) } else { - let __t485 = { - let __t482 = { - let __t454 = { - let __t453 = { - let __t452 = v_V3615.clone(); - rt::hd(&__t452)? + let __t443 = { + let __t440 = { + let __t414 = { + let __t413 = { + let __t412 = v_V3615.clone(); + rt::hd(&__t412)? }; - rt::hd(&__t453)? + rt::hd(&__t413)? }; - rt::is_cons(&__t454) + rt::is_cons(&__t414) }; - if !rt::is_truthy(interp, &__t482)? { + if !rt::is_truthy(interp, &__t440)? { Value::bool(false) } else { - let __t483 = { - let __t480 = { - let __t458 = { - let __t457 = { - let __t456 = { - let __t455 = v_V3615.clone(); - rt::hd(&__t455)? + let __t441 = { + let __t438 = { + let __t418 = { + let __t417 = { + let __t416 = { + let __t415 = v_V3615.clone(); + rt::hd(&__t415)? }; - rt::hd(&__t456)? + rt::hd(&__t416)? }; - rt::tl(&__t457)? + rt::tl(&__t417)? }; - rt::is_cons(&__t458) + rt::is_cons(&__t418) }; - if !rt::is_truthy(interp, &__t480)? { + if !rt::is_truthy(interp, &__t438)? { Value::bool(false) } else { - let __t481 = { - let __t478 = { - let __t459 = Value::nil(); - let __t464 = { - let __t463 = { - let __t462 = { - let __t461 = { - let __t460 = + let __t439 = { + let __t436 = Value::bool( + ({ + let __t422 = { + let __t421 = { + let __t420 = { + let __t419 = v_V3615.clone(); - rt::hd(&__t460)? + rt::hd(&__t419)? }; - rt::hd(&__t461)? + rt::hd(&__t420)? }; - rt::tl(&__t462)? + rt::tl(&__t421)? }; - rt::tl(&__t463)? - }; - rt::eq(&__t459, &__t464) - }; - if !rt::is_truthy(interp, &__t478)? { + rt::tl(&__t422)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t436)? { Value::bool(false) } else { - let __t479 = { - let __t476 = { - let __t465 = v_V3614.clone(); - let __t470 = { - let __t469 = { - let __t468 = { - let __t467 = { - let __t466 = + let __t437 = { + let __t434 = { + let __t423 = v_V3614.clone(); + let __t428 = { + let __t427 = { + let __t426 = { + let __t425 = { + let __t424 = v_V3615 .clone( ); - rt::hd(&__t466)? + rt::hd(&__t424)? }; - rt::hd(&__t467)? + rt::hd(&__t425)? }; - rt::tl(&__t468)? + rt::tl(&__t426)? }; - rt::hd(&__t469)? + rt::hd(&__t427)? }; - rt::eq(&__t465, &__t470) + rt::eq(&__t423, &__t428) }; - if !rt::is_truthy(interp, &__t476)? + if !rt::is_truthy(interp, &__t434)? { Value::bool(false) } else { - let __t477 = { - let __t471 = + let __t435 = { + let __t429 = v_V3613.clone(); - let __t475 = { - let __t474 = { - let __t473 = { - let __t472 = + let __t433 = { + let __t432 = { + let __t431 = { + let __t430 = v_V3615 .clone( ); - rt::hd(&__t472)? + rt::hd(&__t430)? }; - rt::hd(&__t473)? + rt::hd(&__t431)? }; - rt::hd(&__t474)? + rt::hd(&__t432)? }; - rt::eq(&__t471, &__t475) + rt::eq(&__t429, &__t433) }; Value::bool(rt::is_truthy( - interp, &__t477, + interp, &__t435, )?) } }; Value::bool(rt::is_truthy( - interp, &__t479, + interp, &__t437, )?) } }; - Value::bool(rt::is_truthy(interp, &__t481)?) + Value::bool(rt::is_truthy(interp, &__t439)?) } }; - Value::bool(rt::is_truthy(interp, &__t483)?) + Value::bool(rt::is_truthy(interp, &__t441)?) } }; - Value::bool(rt::is_truthy(interp, &__t485)?) + Value::bool(rt::is_truthy(interp, &__t443)?) } }; - Value::bool(rt::is_truthy(interp, &__t487)?) + Value::bool(rt::is_truthy(interp, &__t445)?) } }; - if match rt::is_truthy(interp, &__t489) { + if match rt::is_truthy(interp, &__t447) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t488 = v_V3615.clone(); - rt::tl(&__t488)? + let __t446 = v_V3615.clone(); + rt::tl(&__t446)? }); } else { { - let __t448 = { - let __t440 = v_V3615.clone(); - rt::is_cons(&__t440) + let __t408 = { + let __t400 = v_V3615.clone(); + rt::is_cons(&__t400) }; - if match rt::is_truthy(interp, &__t448) { + if match rt::is_truthy(interp, &__t408) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t442 = { - let __t441 = v_V3615.clone(); - rt::hd(&__t441)? + let __t402 = { + let __t401 = v_V3615.clone(); + rt::hd(&__t401)? }; - let __t447 = { - let __t443 = v_V3613.clone(); - let __t444 = v_V3614.clone(); - let __t446 = { - let __t445 = v_V3615.clone(); - rt::tl(&__t445)? + let __t407 = { + let __t403 = v_V3613.clone(); + let __t404 = v_V3614.clone(); + let __t406 = { + let __t405 = v_V3615.clone(); + rt::tl(&__t405)? }; - rt::apply_direct( + aot_shen_x2e_remove_x2d_pointer( interp, - "shen.remove-pointer", - &[__t443, __t444, __t446], + &[__t403, __t404, __t406], )? }; - rt::cons(&__t442, &__t447) + rt::cons(&__t402, &__t407) }); } else { { - let __t439 = Value::bool(true); - if match rt::is_truthy(interp, &__t439) { + let __t399 = Value::bool(true); + if match rt::is_truthy(interp, &__t399) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t438 = Value::str( + let __t398 = Value::str( "implementation error in shen.remove-pointer", ); - rt::apply_direct(interp, "simple-error", &[__t438])? + rt::apply_direct(interp, "simple-error", &[__t398])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3234,236 +3097,230 @@ pub fn aot_shen_x2e_change_x2d_pointer_x2d_value( #[allow(clippy::never_loop)] loop { { - let __t562 = { - let __t552 = Value::nil(); - let __t553 = v_V3631.clone(); - rt::eq(&__t552, &__t553) - }; - if match rt::is_truthy(interp, &__t562) { + let __t514 = Value::bool((v_V3631.clone()).is_nil()); + if match rt::is_truthy(interp, &__t514) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t560 = { - let __t558 = { - let __t554 = v_V3628.clone(); - let __t557 = { - let __t555 = v_V3629.clone(); - let __t556 = Value::nil(); - rt::cons(&__t555, &__t556) + let __t512 = { + let __t510 = { + let __t506 = v_V3628.clone(); + let __t509 = { + let __t507 = v_V3629.clone(); + let __t508 = Value::nil(); + rt::cons(&__t507, &__t508) }; - rt::cons(&__t554, &__t557) + rt::cons(&__t506, &__t509) }; - let __t559 = v_V3630.clone(); - rt::cons(&__t558, &__t559) + let __t511 = v_V3630.clone(); + rt::cons(&__t510, &__t511) }; - let __t561 = Value::nil(); - rt::cons(&__t560, &__t561) + let __t513 = Value::nil(); + rt::cons(&__t512, &__t513) }); } else { { - let __t551 = { - let __t542 = { - let __t505 = v_V3631.clone(); - rt::is_cons(&__t505) + let __t505 = { + let __t496 = { + let __t461 = v_V3631.clone(); + rt::is_cons(&__t461) }; - if !rt::is_truthy(interp, &__t542)? { + if !rt::is_truthy(interp, &__t496)? { Value::bool(false) } else { - let __t543 = { - let __t540 = { - let __t507 = { - let __t506 = v_V3631.clone(); - rt::hd(&__t506)? + let __t497 = { + let __t494 = { + let __t463 = { + let __t462 = v_V3631.clone(); + rt::hd(&__t462)? }; - rt::is_cons(&__t507) + rt::is_cons(&__t463) }; - if !rt::is_truthy(interp, &__t540)? { + if !rt::is_truthy(interp, &__t494)? { Value::bool(false) } else { - let __t541 = { - let __t538 = { - let __t510 = { - let __t509 = { - let __t508 = v_V3631.clone(); - rt::hd(&__t508)? + let __t495 = { + let __t492 = { + let __t466 = { + let __t465 = { + let __t464 = v_V3631.clone(); + rt::hd(&__t464)? }; - rt::hd(&__t509)? + rt::hd(&__t465)? }; - rt::is_cons(&__t510) + rt::is_cons(&__t466) }; - if !rt::is_truthy(interp, &__t538)? { + if !rt::is_truthy(interp, &__t492)? { Value::bool(false) } else { - let __t539 = { - let __t536 = { - let __t514 = { - let __t513 = { - let __t512 = { - let __t511 = v_V3631.clone(); - rt::hd(&__t511)? + let __t493 = { + let __t490 = { + let __t470 = { + let __t469 = { + let __t468 = { + let __t467 = v_V3631.clone(); + rt::hd(&__t467)? }; - rt::hd(&__t512)? + rt::hd(&__t468)? }; - rt::tl(&__t513)? + rt::tl(&__t469)? }; - rt::is_cons(&__t514) + rt::is_cons(&__t470) }; - if !rt::is_truthy(interp, &__t536)? { + if !rt::is_truthy(interp, &__t490)? { Value::bool(false) } else { - let __t537 = { - let __t534 = { - let __t515 = Value::nil(); - let __t520 = { - let __t519 = { - let __t518 = { - let __t517 = { - let __t516 = + let __t491 = { + let __t488 = Value::bool( + ({ + let __t474 = { + let __t473 = { + let __t472 = { + let __t471 = v_V3631.clone(); - rt::hd(&__t516)? + rt::hd(&__t471)? }; - rt::hd(&__t517)? + rt::hd(&__t472)? }; - rt::tl(&__t518)? + rt::tl(&__t473)? }; - rt::tl(&__t519)? - }; - rt::eq(&__t515, &__t520) - }; - if !rt::is_truthy(interp, &__t534)? { + rt::tl(&__t474)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t488)? { Value::bool(false) } else { - let __t535 = { - let __t532 = { - let __t521 = v_V3629.clone(); - let __t526 = { - let __t525 = { - let __t524 = { - let __t523 = { - let __t522 = + let __t489 = { + let __t486 = { + let __t475 = v_V3629.clone(); + let __t480 = { + let __t479 = { + let __t478 = { + let __t477 = { + let __t476 = v_V3631 .clone( ); - rt::hd(&__t522)? + rt::hd(&__t476)? }; - rt::hd(&__t523)? + rt::hd(&__t477)? }; - rt::tl(&__t524)? + rt::tl(&__t478)? }; - rt::hd(&__t525)? + rt::hd(&__t479)? }; - rt::eq(&__t521, &__t526) + rt::eq(&__t475, &__t480) }; - if !rt::is_truthy(interp, &__t532)? + if !rt::is_truthy(interp, &__t486)? { Value::bool(false) } else { - let __t533 = { - let __t527 = + let __t487 = { + let __t481 = v_V3628.clone(); - let __t531 = { - let __t530 = { - let __t529 = { - let __t528 = + let __t485 = { + let __t484 = { + let __t483 = { + let __t482 = v_V3631 .clone( ); - rt::hd(&__t528)? + rt::hd(&__t482)? }; - rt::hd(&__t529)? + rt::hd(&__t483)? }; - rt::hd(&__t530)? + rt::hd(&__t484)? }; - rt::eq(&__t527, &__t531) + rt::eq(&__t481, &__t485) }; Value::bool(rt::is_truthy( - interp, &__t533, + interp, &__t487, )?) } }; Value::bool(rt::is_truthy( - interp, &__t535, + interp, &__t489, )?) } }; - Value::bool(rt::is_truthy(interp, &__t537)?) + Value::bool(rt::is_truthy(interp, &__t491)?) } }; - Value::bool(rt::is_truthy(interp, &__t539)?) + Value::bool(rt::is_truthy(interp, &__t493)?) } }; - Value::bool(rt::is_truthy(interp, &__t541)?) + Value::bool(rt::is_truthy(interp, &__t495)?) } }; - Value::bool(rt::is_truthy(interp, &__t543)?) + Value::bool(rt::is_truthy(interp, &__t497)?) } }; - if match rt::is_truthy(interp, &__t551) { + if match rt::is_truthy(interp, &__t505) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t548 = { - let __t546 = { - let __t545 = { - let __t544 = v_V3631.clone(); - rt::hd(&__t544)? + let __t502 = { + let __t500 = { + let __t499 = { + let __t498 = v_V3631.clone(); + rt::hd(&__t498)? }; - rt::hd(&__t545)? + rt::hd(&__t499)? }; - let __t547 = v_V3630.clone(); - rt::cons(&__t546, &__t547) + let __t501 = v_V3630.clone(); + rt::cons(&__t500, &__t501) }; - let __t550 = { - let __t549 = v_V3631.clone(); - rt::tl(&__t549)? + let __t504 = { + let __t503 = v_V3631.clone(); + rt::tl(&__t503)? }; - rt::cons(&__t548, &__t550) + rt::cons(&__t502, &__t504) }); } else { { - let __t504 = { - let __t495 = v_V3631.clone(); - rt::is_cons(&__t495) + let __t460 = { + let __t451 = v_V3631.clone(); + rt::is_cons(&__t451) }; - if match rt::is_truthy(interp, &__t504) { + if match rt::is_truthy(interp, &__t460) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t497 = { - let __t496 = v_V3631.clone(); - rt::hd(&__t496)? + let __t453 = { + let __t452 = v_V3631.clone(); + rt::hd(&__t452)? }; - let __t503 = { - let __t498 = v_V3628.clone(); - let __t499 = v_V3629.clone(); - let __t500 = v_V3630.clone(); - let __t502 = { - let __t501 = v_V3631.clone(); - rt::tl(&__t501)? + let __t459 = { + let __t454 = v_V3628.clone(); + let __t455 = v_V3629.clone(); + let __t456 = v_V3630.clone(); + let __t458 = { + let __t457 = v_V3631.clone(); + rt::tl(&__t457)? }; - rt::apply_direct( + aot_shen_x2e_change_x2d_pointer_x2d_value( interp, - "shen.change-pointer-value", - &[__t498, __t499, __t500, __t502], + &[__t454, __t455, __t456, __t458], )? }; - rt::cons(&__t497, &__t503) + rt::cons(&__t453, &__t459) }); } else { { - let __t494 = Value::bool(true); - if match rt::is_truthy(interp, &__t494) { + let __t450 = Value::bool(true); + if match rt::is_truthy(interp, &__t450) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t493 = Value::str( + let __t449 = Value::str( "implementation error in shen.change-pointer-value", ); - rt::apply_direct(interp, "simple-error", &[__t493])? + rt::apply_direct(interp, "simple-error", &[__t449])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3508,124 +3365,116 @@ pub fn aot_get(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3635 = { - let __t563 = v_V3632.clone(); - let __t565 = { - let __t564 = v_V3634.clone(); - rt::apply_direct(interp, "limit", &[__t564])? + let __t515 = v_V3632.clone(); + let __t517 = { + let __t516 = v_V3634.clone(); + rt::apply_direct(interp, "limit", &[__t516])? }; - rt::apply_direct(interp, "hash", &[__t563, __t565])? + rt::apply_direct(interp, "hash", &[__t515, __t517])? }; { - let v_W3636 = match (|| -> ShenResult { - Ok({ - let __t566 = v_V3634.clone(); - let __t567 = v_W3635.clone(); - rt::apply_direct(interp, "<-vector", &[__t566, __t567])? - }) - })() { - Ok(v) => v, - Err(e) => { - let __h = { - let v_V3632 = v_V3632.clone(); - let v_V3633 = v_V3633.clone(); - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z3637 = args[0].clone(); - Ok({ - let __t576 = { - let __t568 = v_V3632.clone(); - let __t574 = { - let __t569 = Value::str(" has no attributes: "); - let __t573 = { - let __t570 = v_V3633.clone(); - let __t571 = Value::str("\n"); - let __t572 = - Value::sym(interp.intern("shen.s")); - rt::apply_direct( - interp, - "shen.app", - &[__t570, __t571, __t572], - )? - }; - rt::apply_direct(interp, "cn", &[__t569, __t573])? + let v_W3636 = { + let __x = v_V3634.clone(); + let __n = v_W3635.clone(); + let __h = { + let v_V3632 = v_V3632.clone(); + let v_V3633 = v_V3633.clone(); + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok({ + let __t526 = { + let __t518 = v_V3632.clone(); + let __t524 = { + let __t519 = Value::str(" has no attributes: "); + let __t523 = { + let __t520 = v_V3633.clone(); + let __t521 = Value::str("\n"); + let __t522 = + Value::sym(interp.intern_static("shen.s")); + rt::apply_direct( + interp, + "shen.app", + &[__t520, __t521, __t522], + )? }; - let __t575 = Value::sym(interp.intern("shen.a")); - rt::apply_direct( - interp, - "shen.app", - &[__t568, __t574, __t575], - )? + rt::cn(&__t519, &__t523)? }; - rt::apply_direct(interp, "simple-error", &[__t576])? - }) - }, - vec![v_V3632, v_V3633], - interp, - ) - }; - let __err = Value::err(e.message.clone()); - rt::apply_value(interp, __h, &[__err])? - } + let __t525 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct( + interp, + "shen.app", + &[__t518, __t524, __t525], + )? + }; + rt::apply_direct(interp, "simple-error", &[__t526])? + }) + }, + vec![v_V3632, v_V3633], + interp, + ) + }; + rt::apply_direct(interp, "<-vector/or", &[__x, __n, __h])? }; { let v_W3638 = { - let __t581 = { - let __t577 = v_V3632.clone(); - let __t580 = { - let __t578 = v_V3633.clone(); - let __t579 = Value::nil(); - rt::cons(&__t578, &__t579) + let __t531 = { + let __t527 = v_V3632.clone(); + let __t530 = { + let __t528 = v_V3633.clone(); + let __t529 = Value::nil(); + rt::cons(&__t528, &__t529) }; - rt::cons(&__t577, &__t580) + rt::cons(&__t527, &__t530) }; - let __t582 = v_W3636.clone(); - rt::apply_direct(interp, "assoc", &[__t581, __t582])? + let __t532 = v_W3636.clone(); + aot_assoc(interp, &[__t531, __t532])? }; { - let __t584 = { - let __t583 = v_W3638.clone(); - rt::apply_direct(interp, "empty?", &[__t583])? + let __t534 = { + let __t533 = v_W3638.clone(); + rt::is_empty(&__t533) }; - if match rt::is_truthy(interp, &__t584) { + if match rt::is_truthy(interp, &__t534) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t595 = { - let __t585 = Value::str("attribute "); - let __t594 = { - let __t586 = v_V3633.clone(); - let __t592 = { - let __t587 = Value::str(" not found for "); - let __t591 = { - let __t588 = v_V3632.clone(); - let __t589 = Value::str("\n"); - let __t590 = Value::sym(interp.intern("shen.s")); + let __t545 = { + let __t535 = Value::str("attribute "); + let __t544 = { + let __t536 = v_V3633.clone(); + let __t542 = { + let __t537 = Value::str(" not found for "); + let __t541 = { + let __t538 = v_V3632.clone(); + let __t539 = Value::str("\n"); + let __t540 = + Value::sym(interp.intern_static("shen.s")); rt::apply_direct( interp, "shen.app", - &[__t588, __t589, __t590], + &[__t538, __t539, __t540], )? }; - rt::apply_direct(interp, "cn", &[__t587, __t591])? + rt::cn(&__t537, &__t541)? }; - let __t593 = Value::sym(interp.intern("shen.s")); + let __t543 = Value::sym(interp.intern_static("shen.s")); rt::apply_direct( interp, "shen.app", - &[__t586, __t592, __t593], + &[__t536, __t542, __t543], )? }; - rt::apply_direct(interp, "cn", &[__t585, __t594])? + rt::cn(&__t535, &__t544)? }; - rt::apply_direct(interp, "simple-error", &[__t595])? + rt::apply_direct(interp, "simple-error", &[__t545])? }); } else { break Ok({ - let __t596 = v_W3638.clone(); - rt::tl(&__t596)? + let __t546 = v_W3638.clone(); + rt::tl(&__t546)? }); } } @@ -3656,20 +3505,20 @@ pub fn aot_hash(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W3641 = { - let __t598 = { - let __t597 = v_V3639.clone(); - rt::apply_direct(interp, "shen.hashkey", &[__t597])? + let __t548 = { + let __t547 = v_V3639.clone(); + aot_shen_x2e_hashkey(interp, &[__t547])? }; - let __t599 = v_V3640.clone(); - rt::apply_direct(interp, "shen.mod", &[__t598, __t599])? + let __t549 = v_V3640.clone(); + aot_shen_x2e_mod(interp, &[__t548, __t549])? }; { - let __t602 = { - let __t600 = v_W3641.clone(); - let __t601 = Value::int(0i64); - rt::eq(&__t600, &__t601) + let __t552 = { + let __t550 = v_W3641.clone(); + let __t551 = Value::int(0i64); + rt::eq(&__t550, &__t551) }; - if match rt::is_truthy(interp, &__t602) { + if match rt::is_truthy(interp, &__t552) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3701,31 +3550,31 @@ pub fn aot_shen_x2e_hashkey(interp: &mut Interp, args: &[Value]) -> ShenResult", 1, move |interp, args| { let v_Z3644 = args[0].clone(); Ok({ - let __t603 = v_Z3644.clone(); - rt::apply_direct(interp, "string->n", &[__t603])? + let __t553 = v_Z3644.clone(); + rt::string_to_n(&__t553)? }) }, Vec::new(), interp, ) }; - let __t606 = { - let __t605 = v_V3642.clone(); - rt::apply_direct(interp, "explode", &[__t605])? + let __t556 = { + let __t555 = v_V3642.clone(); + aot_explode(interp, &[__t555])? }; - rt::apply_direct(interp, "map", &[__t604, __t606])? + aot_map(interp, &[__t554, __t556])? }; break Ok({ - let __t607 = v_W3643.clone(); - let __t608 = Value::int(1i64); - rt::apply_direct(interp, "shen.prodbutzero", &[__t607, __t608])? + let __t557 = v_W3643.clone(); + let __t558 = Value::int(1i64); + aot_shen_x2e_prodbutzero(interp, &[__t557, __t558])? }); } } @@ -3751,119 +3600,115 @@ pub fn aot_shen_x2e_prodbutzero(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t640 = { - let __t638 = Value::nil(); - let __t639 = v_V3645.clone(); - rt::eq(&__t638, &__t639) - }; - if match rt::is_truthy(interp, &__t640) { + let __t588 = Value::bool((v_V3645.clone()).is_nil()); + if match rt::is_truthy(interp, &__t588) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3646.clone()); } else { { - let __t637 = { - let __t632 = { - let __t628 = v_V3645.clone(); - rt::is_cons(&__t628) + let __t587 = { + let __t582 = { + let __t578 = v_V3645.clone(); + rt::is_cons(&__t578) }; - if !rt::is_truthy(interp, &__t632)? { + if !rt::is_truthy(interp, &__t582)? { Value::bool(false) } else { - let __t633 = { - let __t629 = Value::int(0i64); - let __t631 = { - let __t630 = v_V3645.clone(); - rt::hd(&__t630)? + let __t583 = { + let __t579 = Value::int(0i64); + let __t581 = { + let __t580 = v_V3645.clone(); + rt::hd(&__t580)? }; - rt::eq(&__t629, &__t631) + rt::eq(&__t579, &__t581) }; - Value::bool(rt::is_truthy(interp, &__t633)?) + Value::bool(rt::is_truthy(interp, &__t583)?) } }; - if match rt::is_truthy(interp, &__t637) { + if match rt::is_truthy(interp, &__t587) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t635 = { - let __t634 = v_V3645.clone(); - rt::tl(&__t634)? + let __t585 = { + let __t584 = v_V3645.clone(); + rt::tl(&__t584)? }; - let __t636 = v_V3646.clone(); - v_V3645 = __t635; - v_V3646 = __t636; + let __t586 = v_V3646.clone(); + v_V3645 = __t585; + v_V3646 = __t586; continue; } } else { { - let __t627 = { - let __t611 = v_V3645.clone(); - rt::is_cons(&__t611) + let __t577 = { + let __t561 = v_V3645.clone(); + rt::is_cons(&__t561) }; - if match rt::is_truthy(interp, &__t627) { + if match rt::is_truthy(interp, &__t577) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t614 = { - let __t612 = v_V3646.clone(); - let __t613 = Value::int(10000000000i64); - rt::gt(&__t612, &__t613)? + let __t564 = { + let __t562 = v_V3646.clone(); + let __t563 = Value::int(10000000000i64); + rt::gt(&__t562, &__t563)? }; - if match rt::is_truthy(interp, &__t614) { + if match rt::is_truthy(interp, &__t564) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t616 = { - let __t615 = v_V3645.clone(); - rt::tl(&__t615)? + let __t566 = { + let __t565 = v_V3645.clone(); + rt::tl(&__t565)? }; - let __t620 = { - let __t617 = v_V3646.clone(); - let __t619 = { - let __t618 = v_V3645.clone(); - rt::hd(&__t618)? + let __t570 = { + let __t567 = v_V3646.clone(); + let __t569 = { + let __t568 = v_V3645.clone(); + rt::hd(&__t568)? }; - rt::add(&__t617, &__t619)? + rt::add(&__t567, &__t569)? }; - v_V3645 = __t616; - v_V3646 = __t620; + v_V3645 = __t566; + v_V3646 = __t570; continue; } } else { { - let __t622 = { - let __t621 = v_V3645.clone(); - rt::tl(&__t621)? + let __t572 = { + let __t571 = v_V3645.clone(); + rt::tl(&__t571)? }; - let __t626 = { - let __t623 = v_V3646.clone(); - let __t625 = { - let __t624 = v_V3645.clone(); - rt::hd(&__t624)? + let __t576 = { + let __t573 = v_V3646.clone(); + let __t575 = { + let __t574 = v_V3645.clone(); + rt::hd(&__t574)? }; - rt::mul(&__t623, &__t625)? + rt::mul(&__t573, &__t575)? }; - v_V3645 = __t622; - v_V3646 = __t626; + v_V3645 = __t572; + v_V3646 = __t576; continue; } } } } else { { - let __t610 = Value::bool(true); - if match rt::is_truthy(interp, &__t610) { + let __t560 = Value::bool(true); + if match rt::is_truthy(interp, &__t560) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t609 = + let __t559 = Value::str("partial function shen.prodbutzero"); - rt::apply_direct(interp, "simple-error", &[__t609])? + rt::apply_direct(interp, "simple-error", &[__t559])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3898,17 +3743,17 @@ pub fn aot_shen_x2e_mod(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult #[allow(clippy::never_loop)] loop { { - let __t665 = { - let __t662 = { - let __t658 = v_V3654.clone(); - rt::is_cons(&__t658) + let __t613 = { + let __t610 = { + let __t606 = v_V3654.clone(); + rt::is_cons(&__t606) }; - if !rt::is_truthy(interp, &__t662)? { + if !rt::is_truthy(interp, &__t610)? { Value::bool(false) } else { - let __t663 = { - let __t660 = { - let __t659 = v_V3654.clone(); - rt::hd(&__t659)? + let __t611 = { + let __t608 = { + let __t607 = v_V3654.clone(); + rt::hd(&__t607)? }; - let __t661 = v_V3653.clone(); - rt::gt(&__t660, &__t661)? + let __t609 = v_V3653.clone(); + rt::gt(&__t608, &__t609)? }; - Value::bool(rt::is_truthy(interp, &__t663)?) + Value::bool(rt::is_truthy(interp, &__t611)?) } }; - if match rt::is_truthy(interp, &__t665) { + if match rt::is_truthy(interp, &__t613) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t664 = v_V3654.clone(); - rt::tl(&__t664)? + let __t612 = v_V3654.clone(); + rt::tl(&__t612)? }); } else { { - let __t657 = { - let __t649 = v_V3654.clone(); - rt::is_cons(&__t649) + let __t605 = { + let __t597 = v_V3654.clone(); + rt::is_cons(&__t597) }; - if match rt::is_truthy(interp, &__t657) { + if match rt::is_truthy(interp, &__t605) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t650 = v_V3653.clone(); - let __t656 = { - let __t654 = { - let __t651 = Value::int(2i64); - let __t653 = { - let __t652 = v_V3654.clone(); - rt::hd(&__t652)? + let __t598 = v_V3653.clone(); + let __t604 = { + let __t602 = { + let __t599 = Value::int(2i64); + let __t601 = { + let __t600 = v_V3654.clone(); + rt::hd(&__t600)? }; - rt::mul(&__t651, &__t653)? + rt::mul(&__t599, &__t601)? }; - let __t655 = v_V3654.clone(); - rt::cons(&__t654, &__t655) + let __t603 = v_V3654.clone(); + rt::cons(&__t602, &__t603) }; - v_V3653 = __t650; - v_V3654 = __t656; + v_V3653 = __t598; + v_V3654 = __t604; continue; } } else { { - let __t648 = Value::bool(true); - if match rt::is_truthy(interp, &__t648) { + let __t596 = Value::bool(true); + if match rt::is_truthy(interp, &__t596) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t647 = + let __t595 = Value::str("implementation error in shen.multiples"); - rt::apply_direct(interp, "simple-error", &[__t647])? + rt::apply_direct(interp, "simple-error", &[__t595])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4031,118 +3876,114 @@ pub fn aot_shen_x2e_modh(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::int(0i64)); } else { { - let __t690 = { - let __t688 = Value::nil(); - let __t689 = v_V3662.clone(); - rt::eq(&__t688, &__t689) - }; - if match rt::is_truthy(interp, &__t690) { + let __t636 = Value::bool((v_V3662.clone()).is_nil()); + if match rt::is_truthy(interp, &__t636) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3661.clone()); } else { { - let __t687 = { - let __t679 = { - let __t675 = v_V3662.clone(); - rt::is_cons(&__t675) + let __t635 = { + let __t627 = { + let __t623 = v_V3662.clone(); + rt::is_cons(&__t623) }; - if !rt::is_truthy(interp, &__t679)? { + if !rt::is_truthy(interp, &__t627)? { Value::bool(false) } else { - let __t680 = { - let __t677 = { - let __t676 = v_V3662.clone(); - rt::hd(&__t676)? + let __t628 = { + let __t625 = { + let __t624 = v_V3662.clone(); + rt::hd(&__t624)? }; - let __t678 = v_V3661.clone(); - rt::gt(&__t677, &__t678)? + let __t626 = v_V3661.clone(); + rt::gt(&__t625, &__t626)? }; - Value::bool(rt::is_truthy(interp, &__t680)?) + Value::bool(rt::is_truthy(interp, &__t628)?) } }; - if match rt::is_truthy(interp, &__t687) { + if match rt::is_truthy(interp, &__t635) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t683 = { - let __t682 = { - let __t681 = v_V3662.clone(); - rt::tl(&__t681)? + let __t631 = { + let __t630 = { + let __t629 = v_V3662.clone(); + rt::tl(&__t629)? }; - rt::apply_direct(interp, "empty?", &[__t682])? + rt::is_empty(&__t630) }; - if match rt::is_truthy(interp, &__t683) { + if match rt::is_truthy(interp, &__t631) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3661.clone()); } else { { - let __t684 = v_V3661.clone(); - let __t686 = { - let __t685 = v_V3662.clone(); - rt::tl(&__t685)? + let __t632 = v_V3661.clone(); + let __t634 = { + let __t633 = v_V3662.clone(); + rt::tl(&__t633)? }; - v_V3661 = __t684; - v_V3662 = __t686; + v_V3661 = __t632; + v_V3662 = __t634; continue; } } } } else { { - let __t674 = { - let __t668 = v_V3662.clone(); - rt::is_cons(&__t668) + let __t622 = { + let __t616 = v_V3662.clone(); + rt::is_cons(&__t616) }; - if match rt::is_truthy(interp, &__t674) { + if match rt::is_truthy(interp, &__t622) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t672 = { - let __t669 = v_V3661.clone(); - let __t671 = { - let __t670 = v_V3662.clone(); - rt::hd(&__t670)? + let __t620 = { + let __t617 = v_V3661.clone(); + let __t619 = { + let __t618 = v_V3662.clone(); + rt::hd(&__t618)? }; - rt::sub(&__t669, &__t671)? + rt::sub(&__t617, &__t619)? }; - let __t673 = v_V3662.clone(); - v_V3661 = __t672; - v_V3662 = __t673; + let __t621 = v_V3662.clone(); + v_V3661 = __t620; + v_V3662 = __t621; continue; } } else { { - let __t667 = Value::bool(true); - if match rt::is_truthy(interp, &__t667) { + let __t615 = Value::bool(true); + if match rt::is_truthy(interp, &__t615) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t666 = Value::str( + let __t614 = Value::str( "implementation error in shen.modh", ); rt::apply_direct( interp, "simple-error", - &[__t666], + &[__t614], )? }); } else { @@ -4180,50 +4021,46 @@ pub fn aot_sum(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t705 = { - let __t703 = Value::nil(); - let __t704 = v_V3665.clone(); - rt::eq(&__t703, &__t704) - }; - if match rt::is_truthy(interp, &__t705) { + let __t649 = Value::bool((v_V3665.clone()).is_nil()); + if match rt::is_truthy(interp, &__t649) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::int(0i64)); } else { { - let __t702 = { - let __t696 = v_V3665.clone(); - rt::is_cons(&__t696) + let __t648 = { + let __t642 = v_V3665.clone(); + rt::is_cons(&__t642) }; - if match rt::is_truthy(interp, &__t702) { + if match rt::is_truthy(interp, &__t648) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t698 = { - let __t697 = v_V3665.clone(); - rt::hd(&__t697)? + let __t644 = { + let __t643 = v_V3665.clone(); + rt::hd(&__t643)? }; - let __t701 = { - let __t700 = { - let __t699 = v_V3665.clone(); - rt::tl(&__t699)? + let __t647 = { + let __t646 = { + let __t645 = v_V3665.clone(); + rt::tl(&__t645)? }; - rt::apply_direct(interp, "sum", &[__t700])? + aot_sum(interp, &[__t646])? }; - rt::add(&__t698, &__t701)? + rt::add(&__t644, &__t647)? }); } else { { - let __t695 = Value::bool(true); - if match rt::is_truthy(interp, &__t695) { + let __t641 = Value::bool(true); + if match rt::is_truthy(interp, &__t641) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t694 = Value::str("attempt to sum a non-list\n"); - rt::apply_direct(interp, "simple-error", &[__t694])? + let __t640 = Value::str("attempt to sum a non-list\n"); + rt::apply_direct(interp, "simple-error", &[__t640])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4254,28 +4091,28 @@ pub fn aot_head(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t710 = { - let __t708 = v_V3670.clone(); - rt::is_cons(&__t708) + let __t654 = { + let __t652 = v_V3670.clone(); + rt::is_cons(&__t652) }; - if match rt::is_truthy(interp, &__t710) { + if match rt::is_truthy(interp, &__t654) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t709 = v_V3670.clone(); - rt::hd(&__t709)? + let __t653 = v_V3670.clone(); + rt::hd(&__t653)? }); } else { { - let __t707 = Value::bool(true); - if match rt::is_truthy(interp, &__t707) { + let __t651 = Value::bool(true); + if match rt::is_truthy(interp, &__t651) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t706 = Value::str("head expects a non-empty list\n"); - rt::apply_direct(interp, "simple-error", &[__t706])? + let __t650 = Value::str("head expects a non-empty list\n"); + rt::apply_direct(interp, "simple-error", &[__t650])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4304,28 +4141,28 @@ pub fn aot_tail(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t715 = { - let __t713 = v_V3675.clone(); - rt::is_cons(&__t713) + let __t659 = { + let __t657 = v_V3675.clone(); + rt::is_cons(&__t657) }; - if match rt::is_truthy(interp, &__t715) { + if match rt::is_truthy(interp, &__t659) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t714 = v_V3675.clone(); - rt::tl(&__t714)? + let __t658 = v_V3675.clone(); + rt::tl(&__t658)? }); } else { { - let __t712 = Value::bool(true); - if match rt::is_truthy(interp, &__t712) { + let __t656 = Value::bool(true); + if match rt::is_truthy(interp, &__t656) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t711 = Value::str("tail expects a non-empty list\n"); - rt::apply_direct(interp, "simple-error", &[__t711])? + let __t655 = Value::str("tail expects a non-empty list\n"); + rt::apply_direct(interp, "simple-error", &[__t655])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4354,9 +4191,9 @@ pub fn aot_hdstr(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t716 = v_V3676.clone(); - let __t717 = Value::int(0i64); - rt::apply_direct(interp, "pos", &[__t716, __t717])? + let __t660 = v_V3676.clone(); + let __t661 = Value::int(0i64); + rt::apply_direct(interp, "pos", &[__t660, __t661])? }); } } @@ -4381,79 +4218,75 @@ pub fn aot_intersection(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t734 = { - let __t720 = v_V3683.clone(); - rt::is_cons(&__t720) + let __t678 = { + let __t664 = v_V3683.clone(); + rt::is_cons(&__t664) }; - if match rt::is_truthy(interp, &__t734) { + if match rt::is_truthy(interp, &__t678) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t724 = { - let __t722 = { - let __t721 = v_V3683.clone(); - rt::hd(&__t721)? + let __t668 = { + let __t666 = { + let __t665 = v_V3683.clone(); + rt::hd(&__t665)? }; - let __t723 = v_V3684.clone(); - rt::apply_direct(interp, "element?", &[__t722, __t723])? + let __t667 = v_V3684.clone(); + rt::apply_direct(interp, "element?", &[__t666, __t667])? }; - if match rt::is_truthy(interp, &__t724) { + if match rt::is_truthy(interp, &__t668) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t726 = { - let __t725 = v_V3683.clone(); - rt::hd(&__t725)? + let __t670 = { + let __t669 = v_V3683.clone(); + rt::hd(&__t669)? }; - let __t730 = { - let __t728 = { - let __t727 = v_V3683.clone(); - rt::tl(&__t727)? + let __t674 = { + let __t672 = { + let __t671 = v_V3683.clone(); + rt::tl(&__t671)? }; - let __t729 = v_V3684.clone(); - rt::apply_direct(interp, "intersection", &[__t728, __t729])? + let __t673 = v_V3684.clone(); + aot_intersection(interp, &[__t672, __t673])? }; - rt::cons(&__t726, &__t730) + rt::cons(&__t670, &__t674) }); } else { { - let __t732 = { - let __t731 = v_V3683.clone(); - rt::tl(&__t731)? + let __t676 = { + let __t675 = v_V3683.clone(); + rt::tl(&__t675)? }; - let __t733 = v_V3684.clone(); - v_V3683 = __t732; - v_V3684 = __t733; + let __t677 = v_V3684.clone(); + v_V3683 = __t676; + v_V3684 = __t677; continue; } } } } else { { - let __t719 = Value::bool(true); - if match rt::is_truthy(interp, &__t719) { + let __t663 = Value::bool(true); + if match rt::is_truthy(interp, &__t663) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t718 = Value::str( + let __t662 = Value::str( "attempt to find the intersection with a non-list\n", ); - rt::apply_direct(interp, "simple-error", &[__t718])? + rt::apply_direct(interp, "simple-error", &[__t662])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4484,9 +4317,9 @@ pub fn aot_reverse(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t738 = v_V3685.clone(); - let __t739 = Value::nil(); - rt::apply_direct(interp, "shen.reverse-help", &[__t738, __t739])? + let __t680 = v_V3685.clone(); + let __t681 = Value::nil(); + aot_shen_x2e_reverse_x2d_help(interp, &[__t680, __t681])? }); } } @@ -4511,53 +4344,49 @@ pub fn aot_shen_x2e_reverse_x2d_help(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t752 = { - let __t750 = Value::nil(); - let __t751 = v_V3690.clone(); - rt::eq(&__t750, &__t751) - }; - if match rt::is_truthy(interp, &__t752) { + let __t692 = Value::bool((v_V3690.clone()).is_nil()); + if match rt::is_truthy(interp, &__t692) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3691.clone()); } else { { - let __t749 = { - let __t742 = v_V3690.clone(); - rt::is_cons(&__t742) + let __t691 = { + let __t684 = v_V3690.clone(); + rt::is_cons(&__t684) }; - if match rt::is_truthy(interp, &__t749) { + if match rt::is_truthy(interp, &__t691) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t744 = { - let __t743 = v_V3690.clone(); - rt::tl(&__t743)? + let __t686 = { + let __t685 = v_V3690.clone(); + rt::tl(&__t685)? }; - let __t748 = { - let __t746 = { - let __t745 = v_V3690.clone(); - rt::hd(&__t745)? + let __t690 = { + let __t688 = { + let __t687 = v_V3690.clone(); + rt::hd(&__t687)? }; - let __t747 = v_V3691.clone(); - rt::cons(&__t746, &__t747) + let __t689 = v_V3691.clone(); + rt::cons(&__t688, &__t689) }; - v_V3690 = __t744; - v_V3691 = __t748; + v_V3690 = __t686; + v_V3691 = __t690; continue; } } else { { - let __t741 = Value::bool(true); - if match rt::is_truthy(interp, &__t741) { + let __t683 = Value::bool(true); + if match rt::is_truthy(interp, &__t683) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t740 = Value::str("attempt to reverse a non-list\n"); - rt::apply_direct(interp, "simple-error", &[__t740])? + let __t682 = Value::str("attempt to reverse a non-list\n"); + rt::apply_direct(interp, "simple-error", &[__t682])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4590,78 +4419,74 @@ pub fn aot_union(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t772 = { - let __t770 = Value::nil(); - let __t771 = v_V3696.clone(); - rt::eq(&__t770, &__t771) - }; - if match rt::is_truthy(interp, &__t772) { + let __t710 = Value::bool((v_V3696.clone()).is_nil()); + if match rt::is_truthy(interp, &__t710) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3697.clone()); } else { { - let __t769 = { - let __t755 = v_V3696.clone(); - rt::is_cons(&__t755) + let __t709 = { + let __t695 = v_V3696.clone(); + rt::is_cons(&__t695) }; - if match rt::is_truthy(interp, &__t769) { + if match rt::is_truthy(interp, &__t709) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t759 = { - let __t757 = { - let __t756 = v_V3696.clone(); - rt::hd(&__t756)? + let __t699 = { + let __t697 = { + let __t696 = v_V3696.clone(); + rt::hd(&__t696)? }; - let __t758 = v_V3697.clone(); - rt::apply_direct(interp, "element?", &[__t757, __t758])? + let __t698 = v_V3697.clone(); + rt::apply_direct(interp, "element?", &[__t697, __t698])? }; - if match rt::is_truthy(interp, &__t759) { + if match rt::is_truthy(interp, &__t699) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t761 = { - let __t760 = v_V3696.clone(); - rt::tl(&__t760)? + let __t701 = { + let __t700 = v_V3696.clone(); + rt::tl(&__t700)? }; - let __t762 = v_V3697.clone(); - v_V3696 = __t761; - v_V3697 = __t762; + let __t702 = v_V3697.clone(); + v_V3696 = __t701; + v_V3697 = __t702; continue; } } else { break Ok({ - let __t764 = { - let __t763 = v_V3696.clone(); - rt::hd(&__t763)? + let __t704 = { + let __t703 = v_V3696.clone(); + rt::hd(&__t703)? }; - let __t768 = { - let __t766 = { - let __t765 = v_V3696.clone(); - rt::tl(&__t765)? + let __t708 = { + let __t706 = { + let __t705 = v_V3696.clone(); + rt::tl(&__t705)? }; - let __t767 = v_V3697.clone(); - rt::apply_direct(interp, "union", &[__t766, __t767])? + let __t707 = v_V3697.clone(); + aot_union(interp, &[__t706, __t707])? }; - rt::cons(&__t764, &__t768) + rt::cons(&__t704, &__t708) }); } } } else { { - let __t754 = Value::bool(true); - if match rt::is_truthy(interp, &__t754) { + let __t694 = Value::bool(true); + if match rt::is_truthy(interp, &__t694) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t753 = + let __t693 = Value::str("attempt to find the union with a non-list\n"); - rt::apply_direct(interp, "simple-error", &[__t753])? + rt::apply_direct(interp, "simple-error", &[__t693])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4693,48 +4518,40 @@ pub fn aot_y_x2d_or_x2d_n_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul loop { { let v_W3699 = { - let __t774 = { - let __t773 = v_V3698.clone(); - rt::apply_direct(interp, "shen.proc-nl", &[__t773])? + let __t712 = { + let __t711 = v_V3698.clone(); + rt::apply_direct(interp, "shen.proc-nl", &[__t711])? }; - let __t775 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t774, __t775])? + let __t713 = { aot_stoutput(interp, &[])? }; + rt::apply_direct(interp, "pr", &[__t712, __t713])? }; { let v_W3700 = { - let __t776 = Value::str(" (y/n) "); - let __t777 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t776, __t777])? + let __t714 = Value::str(" (y/n) "); + let __t715 = { aot_stoutput(interp, &[])? }; + rt::apply_direct(interp, "pr", &[__t714, __t715])? }; { let v_W3701 = { - let __t779 = { - let __t778 = { rt::apply_direct(interp, "stinput", &[])? }; - rt::apply_direct(interp, "read", &[__t778])? + let __t717 = { + let __t716 = { aot_stinput(interp, &[])? }; + rt::apply_direct(interp, "read", &[__t716])? }; - let __t780 = Value::str(""); - let __t781 = Value::sym(interp.intern("shen.s")); - rt::apply_direct(interp, "shen.app", &[__t779, __t780, __t781])? + let __t718 = Value::str(""); + let __t719 = Value::sym(interp.intern_static("shen.s")); + rt::apply_direct(interp, "shen.app", &[__t717, __t718, __t719])? }; { - let __t784 = { - let __t782 = Value::str("y"); - let __t783 = v_W3701.clone(); - rt::eq(&__t782, &__t783) - }; - if match rt::is_truthy(interp, &__t784) { + let __t720 = Value::bool((v_W3701.clone()).as_str() == Some("y")); + if match rt::is_truthy(interp, &__t720) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t787 = { - let __t785 = Value::str("n"); - let __t786 = v_W3701.clone(); - rt::eq(&__t785, &__t786) - }; - if match rt::is_truthy(interp, &__t787) { + let __t721 = Value::bool((v_W3701.clone()).as_str() == Some("n")); + if match rt::is_truthy(interp, &__t721) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4742,14 +4559,13 @@ pub fn aot_y_x2d_or_x2d_n_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul } else { { let _ = { - let __t788 = Value::str("please answer y or n\n"); - let __t789 = - { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t788, __t789])? + let __t722 = Value::str("please answer y or n\n"); + let __t723 = { aot_stoutput(interp, &[])? }; + rt::apply_direct(interp, "pr", &[__t722, __t723])? }; { - let __t790 = v_V3698.clone(); - v_V3698 = __t790; + let __t724 = v_V3698.clone(); + v_V3698 = __t724; continue; } } @@ -4781,8 +4597,8 @@ pub fn aot_not(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t791 = v_V3702.clone(); - if match rt::is_truthy(interp, &__t791) { + let __t725 = v_V3702.clone(); + if match rt::is_truthy(interp, &__t725) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4810,8 +4626,8 @@ pub fn aot_abort(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t792 = Value::str(""); - rt::apply_direct(interp, "simple-error", &[__t792])? + let __t726 = Value::str(""); + rt::apply_direct(interp, "simple-error", &[__t726])? }); } } @@ -4838,51 +4654,51 @@ pub fn aot_subst(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t808 = { - let __t806 = v_V3709.clone(); - let __t807 = v_V3710.clone(); - rt::eq(&__t806, &__t807) + let __t742 = { + let __t740 = v_V3709.clone(); + let __t741 = v_V3710.clone(); + rt::eq(&__t740, &__t741) }; - if match rt::is_truthy(interp, &__t808) { + if match rt::is_truthy(interp, &__t742) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3708.clone()); } else { { - let __t805 = { - let __t794 = v_V3710.clone(); - rt::is_cons(&__t794) + let __t739 = { + let __t728 = v_V3710.clone(); + rt::is_cons(&__t728) }; - if match rt::is_truthy(interp, &__t805) { + if match rt::is_truthy(interp, &__t739) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t799 = { - let __t795 = v_V3708.clone(); - let __t796 = v_V3709.clone(); - let __t798 = { - let __t797 = v_V3710.clone(); - rt::hd(&__t797)? + let __t733 = { + let __t729 = v_V3708.clone(); + let __t730 = v_V3709.clone(); + let __t732 = { + let __t731 = v_V3710.clone(); + rt::hd(&__t731)? }; - rt::apply_direct(interp, "subst", &[__t795, __t796, __t798])? + aot_subst(interp, &[__t729, __t730, __t732])? }; - let __t804 = { - let __t800 = v_V3708.clone(); - let __t801 = v_V3709.clone(); - let __t803 = { - let __t802 = v_V3710.clone(); - rt::tl(&__t802)? + let __t738 = { + let __t734 = v_V3708.clone(); + let __t735 = v_V3709.clone(); + let __t737 = { + let __t736 = v_V3710.clone(); + rt::tl(&__t736)? }; - rt::apply_direct(interp, "subst", &[__t800, __t801, __t803])? + aot_subst(interp, &[__t734, __t735, __t737])? }; - rt::cons(&__t799, &__t804) + rt::cons(&__t733, &__t738) }); } else { { - let __t793 = Value::bool(true); - if match rt::is_truthy(interp, &__t793) { + let __t727 = Value::bool(true); + if match rt::is_truthy(interp, &__t727) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4916,13 +4732,13 @@ pub fn aot_explode(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t812 = { - let __t809 = v_V3711.clone(); - let __t810 = Value::str(""); - let __t811 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t809, __t810, __t811])? + let __t746 = { + let __t743 = v_V3711.clone(); + let __t744 = Value::str(""); + let __t745 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t743, __t744, __t745])? }; - rt::apply_direct(interp, "shen.explode-h", &[__t812])? + aot_shen_x2e_explode_x2d_h(interp, &[__t746])? }); } } @@ -4945,50 +4761,46 @@ pub fn aot_shen_x2e_explode_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t824 = { - let __t822 = Value::str(""); - let __t823 = v_V3714.clone(); - rt::eq(&__t822, &__t823) - }; - if match rt::is_truthy(interp, &__t824) { + let __t756 = Value::bool((v_V3714.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t756) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t821 = { - let __t815 = v_V3714.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t815])? + let __t755 = { + let __t749 = v_V3714.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t749])? }; - if match rt::is_truthy(interp, &__t821) { + if match rt::is_truthy(interp, &__t755) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t817 = { - let __t816 = v_V3714.clone(); - rt::apply_direct(interp, "hdstr", &[__t816])? + let __t751 = { + let __t750 = v_V3714.clone(); + rt::hdstr(&__t750)? }; - let __t820 = { - let __t819 = { - let __t818 = v_V3714.clone(); - rt::apply_direct(interp, "tlstr", &[__t818])? + let __t754 = { + let __t753 = { + let __t752 = v_V3714.clone(); + rt::tlstr(&__t752)? }; - rt::apply_direct(interp, "shen.explode-h", &[__t819])? + aot_shen_x2e_explode_x2d_h(interp, &[__t753])? }; - rt::cons(&__t817, &__t820) + rt::cons(&__t751, &__t754) }); } else { { - let __t814 = Value::bool(true); - if match rt::is_truthy(interp, &__t814) { + let __t748 = Value::bool(true); + if match rt::is_truthy(interp, &__t748) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t813 = Value::str("implementation error in explode-h"); - rt::apply_direct(interp, "simple-error", &[__t813])? + let __t747 = Value::str("implementation error in explode-h"); + rt::apply_direct(interp, "simple-error", &[__t747])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5019,25 +4831,20 @@ pub fn aot_cd(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t825 = Value::sym(interp.intern("*home-directory*")); - let __t832 = { - let __t831 = { - let __t826 = v_V3715.clone(); - let __t827 = Value::str(""); - rt::eq(&__t826, &__t827) - }; - if rt::is_truthy(interp, &__t831)? { + let __v = { + let __t760 = Value::bool((v_V3715.clone()).as_str() == Some("")); + if rt::is_truthy(interp, &__t760)? { Value::str("") } else { { - let __t828 = v_V3715.clone(); - let __t829 = Value::str("/"); - let __t830 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t828, __t829, __t830])? + let __t757 = v_V3715.clone(); + let __t758 = Value::str("/"); + let __t759 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t757, __t758, __t759])? } } }; - rt::apply_direct(interp, "set", &[__t825, __t832])? + rt::set_global(interp, "*home-directory*", __v) }); } } @@ -5062,10 +4869,10 @@ pub fn aot_map(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t833 = v_V3716.clone(); - let __t834 = v_V3717.clone(); - let __t835 = Value::nil(); - rt::apply_direct(interp, "shen.map-h", &[__t833, __t834, __t835])? + let __t761 = v_V3716.clone(); + let __t762 = v_V3717.clone(); + let __t763 = Value::nil(); + aot_shen_x2e_map_x2d_h(interp, &[__t761, __t762, __t763])? }); } } @@ -5092,61 +4899,57 @@ pub fn aot_shen_x2e_map_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t851 = { - let __t848 = Value::nil(); - let __t849 = v_V3719.clone(); - rt::eq(&__t848, &__t849) - }; - if match rt::is_truthy(interp, &__t851) { + let __t777 = Value::bool((v_V3719.clone()).is_nil()); + if match rt::is_truthy(interp, &__t777) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t850 = v_V3720.clone(); - rt::apply_direct(interp, "reverse", &[__t850])? + let __t776 = v_V3720.clone(); + aot_reverse(interp, &[__t776])? }); } else { { - let __t847 = { - let __t838 = v_V3719.clone(); - rt::is_cons(&__t838) + let __t775 = { + let __t766 = v_V3719.clone(); + rt::is_cons(&__t766) }; - if match rt::is_truthy(interp, &__t847) { + if match rt::is_truthy(interp, &__t775) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t839 = v_V3718.clone(); - let __t841 = { - let __t840 = v_V3719.clone(); - rt::tl(&__t840)? + let __t767 = v_V3718.clone(); + let __t769 = { + let __t768 = v_V3719.clone(); + rt::tl(&__t768)? }; - let __t846 = { - let __t844 = { - let __t843 = { - let __t842 = v_V3719.clone(); - rt::hd(&__t842)? + let __t774 = { + let __t772 = { + let __t771 = { + let __t770 = v_V3719.clone(); + rt::hd(&__t770)? }; - rt::apply_value(interp, v_V3718.clone(), &[__t843])? + rt::apply_value(interp, v_V3718.clone(), &[__t771])? }; - let __t845 = v_V3720.clone(); - rt::cons(&__t844, &__t845) + let __t773 = v_V3720.clone(); + rt::cons(&__t772, &__t773) }; - v_V3718 = __t839; - v_V3719 = __t841; - v_V3720 = __t846; + v_V3718 = __t767; + v_V3719 = __t769; + v_V3720 = __t774; continue; } } else { { - let __t837 = Value::bool(true); - if match rt::is_truthy(interp, &__t837) { + let __t765 = Value::bool(true); + if match rt::is_truthy(interp, &__t765) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t836 = Value::str("partial function shen.map-h"); - rt::apply_direct(interp, "simple-error", &[__t836])? + let __t764 = Value::str("partial function shen.map-h"); + rt::apply_direct(interp, "simple-error", &[__t764])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5177,9 +4980,9 @@ pub fn aot_length(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t852 = v_V3721.clone(); - let __t853 = Value::int(0i64); - rt::apply_direct(interp, "shen.length-h", &[__t852, __t853])? + let __t778 = v_V3721.clone(); + let __t779 = Value::int(0i64); + aot_shen_x2e_length_x2d_h(interp, &[__t778, __t779])? }); } } @@ -5204,35 +5007,31 @@ pub fn aot_shen_x2e_length_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t862 = { - let __t860 = Value::nil(); - let __t861 = v_V3726.clone(); - rt::eq(&__t860, &__t861) - }; - if match rt::is_truthy(interp, &__t862) { + let __t786 = Value::bool((v_V3726.clone()).is_nil()); + if match rt::is_truthy(interp, &__t786) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V3727.clone()); } else { { - let __t859 = Value::bool(true); - if match rt::is_truthy(interp, &__t859) { + let __t785 = Value::bool(true); + if match rt::is_truthy(interp, &__t785) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t855 = { - let __t854 = v_V3726.clone(); - rt::tl(&__t854)? + let __t781 = { + let __t780 = v_V3726.clone(); + rt::tl(&__t780)? }; - let __t858 = { - let __t856 = v_V3727.clone(); - let __t857 = Value::int(1i64); - rt::add(&__t856, &__t857)? + let __t784 = { + let __t782 = v_V3727.clone(); + let __t783 = Value::int(1i64); + rt::add(&__t782, &__t783)? }; - v_V3726 = __t855; - v_V3727 = __t858; + v_V3726 = __t781; + v_V3727 = __t784; continue; } } else { @@ -5264,49 +5063,49 @@ pub fn aot_occurrences(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t876 = { - let __t874 = v_V3733.clone(); - let __t875 = v_V3734.clone(); - rt::eq(&__t874, &__t875) + let __t800 = { + let __t798 = v_V3733.clone(); + let __t799 = v_V3734.clone(); + rt::eq(&__t798, &__t799) }; - if match rt::is_truthy(interp, &__t876) { + if match rt::is_truthy(interp, &__t800) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::int(1i64)); } else { { - let __t873 = { - let __t864 = v_V3734.clone(); - rt::is_cons(&__t864) + let __t797 = { + let __t788 = v_V3734.clone(); + rt::is_cons(&__t788) }; - if match rt::is_truthy(interp, &__t873) { + if match rt::is_truthy(interp, &__t797) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t868 = { - let __t865 = v_V3733.clone(); - let __t867 = { - let __t866 = v_V3734.clone(); - rt::hd(&__t866)? + let __t792 = { + let __t789 = v_V3733.clone(); + let __t791 = { + let __t790 = v_V3734.clone(); + rt::hd(&__t790)? }; - rt::apply_direct(interp, "occurrences", &[__t865, __t867])? + aot_occurrences(interp, &[__t789, __t791])? }; - let __t872 = { - let __t869 = v_V3733.clone(); - let __t871 = { - let __t870 = v_V3734.clone(); - rt::tl(&__t870)? + let __t796 = { + let __t793 = v_V3733.clone(); + let __t795 = { + let __t794 = v_V3734.clone(); + rt::tl(&__t794)? }; - rt::apply_direct(interp, "occurrences", &[__t869, __t871])? + aot_occurrences(interp, &[__t793, __t795])? }; - rt::add(&__t868, &__t872)? + rt::add(&__t792, &__t796)? }); } else { { - let __t863 = Value::bool(true); - if match rt::is_truthy(interp, &__t863) { + let __t787 = Value::bool(true); + if match rt::is_truthy(interp, &__t787) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5342,91 +5141,91 @@ pub fn aot_nth(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t902 = { - let __t899 = { - let __t896 = Value::int(1i64); - let __t897 = v_V3739.clone(); - rt::eq(&__t896, &__t897) + let __t826 = { + let __t823 = { + let __t820 = Value::int(1i64); + let __t821 = v_V3739.clone(); + rt::eq(&__t820, &__t821) }; - if !rt::is_truthy(interp, &__t899)? { + if !rt::is_truthy(interp, &__t823)? { Value::bool(false) } else { - let __t900 = { - let __t898 = v_V3740.clone(); - rt::is_cons(&__t898) + let __t824 = { + let __t822 = v_V3740.clone(); + rt::is_cons(&__t822) }; - Value::bool(rt::is_truthy(interp, &__t900)?) + Value::bool(rt::is_truthy(interp, &__t824)?) } }; - if match rt::is_truthy(interp, &__t902) { + if match rt::is_truthy(interp, &__t826) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t901 = v_V3740.clone(); - rt::hd(&__t901)? + let __t825 = v_V3740.clone(); + rt::hd(&__t825)? }); } else { { - let __t895 = { - let __t889 = v_V3740.clone(); - rt::is_cons(&__t889) + let __t819 = { + let __t813 = v_V3740.clone(); + rt::is_cons(&__t813) }; - if match rt::is_truthy(interp, &__t895) { + if match rt::is_truthy(interp, &__t819) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t892 = { - let __t890 = v_V3739.clone(); - let __t891 = Value::int(1i64); - rt::sub(&__t890, &__t891)? + let __t816 = { + let __t814 = v_V3739.clone(); + let __t815 = Value::int(1i64); + rt::sub(&__t814, &__t815)? }; - let __t894 = { - let __t893 = v_V3740.clone(); - rt::tl(&__t893)? + let __t818 = { + let __t817 = v_V3740.clone(); + rt::tl(&__t817)? }; - v_V3739 = __t892; - v_V3740 = __t894; + v_V3739 = __t816; + v_V3740 = __t818; continue; } } else { { - let __t888 = Value::bool(true); - if match rt::is_truthy(interp, &__t888) { + let __t812 = Value::bool(true); + if match rt::is_truthy(interp, &__t812) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t887 = { - let __t877 = Value::str("nth applied to "); - let __t886 = { - let __t878 = v_V3739.clone(); - let __t884 = { - let __t879 = Value::str(", "); - let __t883 = { - let __t880 = v_V3740.clone(); - let __t881 = Value::str("\n"); - let __t882 = - Value::sym(interp.intern("shen.a")); + let __t811 = { + let __t801 = Value::str("nth applied to "); + let __t810 = { + let __t802 = v_V3739.clone(); + let __t808 = { + let __t803 = Value::str(", "); + let __t807 = { + let __t804 = v_V3740.clone(); + let __t805 = Value::str("\n"); + let __t806 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t880, __t881, __t882], + &[__t804, __t805, __t806], )? }; - rt::apply_direct(interp, "cn", &[__t879, __t883])? + rt::cn(&__t803, &__t807)? }; - let __t885 = Value::sym(interp.intern("shen.a")); + let __t809 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t878, __t884, __t885], + &[__t802, __t808, __t809], )? }; - rt::apply_direct(interp, "cn", &[__t877, __t886])? + rt::cn(&__t801, &__t810)? }; - rt::apply_direct(interp, "simple-error", &[__t887])? + rt::apply_direct(interp, "simple-error", &[__t811])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5457,11 +5256,11 @@ pub fn aot_integer_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { @@ -5469,17 +5268,17 @@ pub fn aot_integer_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { break Ok(v_V3743.clone()); } else { break Ok({ - let __t913 = Value::int(0i64); - let __t914 = v_V3743.clone(); - rt::sub(&__t913, &__t914)? + let __t837 = Value::int(0i64); + let __t838 = v_V3743.clone(); + rt::sub(&__t837, &__t838)? }); } } @@ -5547,27 +5346,27 @@ pub fn aot_shen_x2e_magless(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(v_V3745.clone()); } else { { - let __t920 = v_V3744.clone(); - let __t921 = v_W3746.clone(); - v_V3744 = __t920; - v_V3745 = __t921; + let __t844 = v_V3744.clone(); + let __t845 = v_W3746.clone(); + v_V3744 = __t844; + v_V3745 = __t845; continue; } } @@ -5599,61 +5398,61 @@ pub fn aot_shen_x2e_integer_x2d_test_x3f_( #[allow(clippy::never_loop)] loop { { - let __t936 = { - let __t934 = Value::int(0i64); - let __t935 = v_V3750.clone(); - rt::eq(&__t934, &__t935) + let __t860 = { + let __t858 = Value::int(0i64); + let __t859 = v_V3750.clone(); + rt::eq(&__t858, &__t859) }; - if match rt::is_truthy(interp, &__t936) { + if match rt::is_truthy(interp, &__t860) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t933 = { - let __t931 = Value::int(1i64); - let __t932 = v_V3750.clone(); - rt::gt(&__t931, &__t932)? + let __t857 = { + let __t855 = Value::int(1i64); + let __t856 = v_V3750.clone(); + rt::gt(&__t855, &__t856)? }; - if match rt::is_truthy(interp, &__t933) { + if match rt::is_truthy(interp, &__t857) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t930 = Value::bool(true); - if match rt::is_truthy(interp, &__t930) { + let __t854 = Value::bool(true); + if match rt::is_truthy(interp, &__t854) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W3752 = { - let __t922 = v_V3750.clone(); - let __t923 = v_V3751.clone(); - rt::sub(&__t922, &__t923)? + let __t846 = v_V3750.clone(); + let __t847 = v_V3751.clone(); + rt::sub(&__t846, &__t847)? }; { - let __t926 = { - let __t924 = Value::int(0i64); - let __t925 = v_W3752.clone(); - rt::gt(&__t924, &__t925)? + let __t850 = { + let __t848 = Value::int(0i64); + let __t849 = v_W3752.clone(); + rt::gt(&__t848, &__t849)? }; - if match rt::is_truthy(interp, &__t926) { + if match rt::is_truthy(interp, &__t850) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t927 = v_V3750.clone(); - rt::apply_direct(interp, "integer?", &[__t927])? + let __t851 = v_V3750.clone(); + rt::apply_direct(interp, "integer?", &[__t851])? }); } else { { - let __t928 = v_W3752.clone(); - let __t929 = v_V3751.clone(); - v_V3750 = __t928; - v_V3751 = __t929; + let __t852 = v_W3752.clone(); + let __t853 = v_V3751.clone(); + v_V3750 = __t852; + v_V3751 = __t853; continue; } } @@ -5690,54 +5489,50 @@ pub fn aot_mapcan(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t950 = { - let __t948 = Value::nil(); - let __t949 = v_V3760.clone(); - rt::eq(&__t948, &__t949) - }; - if match rt::is_truthy(interp, &__t950) { + let __t872 = Value::bool((v_V3760.clone()).is_nil()); + if match rt::is_truthy(interp, &__t872) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t947 = { - let __t939 = v_V3760.clone(); - rt::is_cons(&__t939) + let __t871 = { + let __t863 = v_V3760.clone(); + rt::is_cons(&__t863) }; - if match rt::is_truthy(interp, &__t947) { + if match rt::is_truthy(interp, &__t871) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t942 = { - let __t941 = { - let __t940 = v_V3760.clone(); - rt::hd(&__t940)? + let __t866 = { + let __t865 = { + let __t864 = v_V3760.clone(); + rt::hd(&__t864)? }; - rt::apply_value(interp, v_V3759.clone(), &[__t941])? + rt::apply_value(interp, v_V3759.clone(), &[__t865])? }; - let __t946 = { - let __t943 = v_V3759.clone(); - let __t945 = { - let __t944 = v_V3760.clone(); - rt::tl(&__t944)? + let __t870 = { + let __t867 = v_V3759.clone(); + let __t869 = { + let __t868 = v_V3760.clone(); + rt::tl(&__t868)? }; - rt::apply_direct(interp, "mapcan", &[__t943, __t945])? + aot_mapcan(interp, &[__t867, __t869])? }; - rt::apply_direct(interp, "append", &[__t942, __t946])? + aot_append(interp, &[__t866, __t870])? }); } else { { - let __t938 = Value::bool(true); - if match rt::is_truthy(interp, &__t938) { + let __t862 = Value::bool(true); + if match rt::is_truthy(interp, &__t862) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t937 = Value::str("attempt to mapcan over a non-list\n"); - rt::apply_direct(interp, "simple-error", &[__t937])? + let __t861 = Value::str("attempt to mapcan over a non-list\n"); + rt::apply_direct(interp, "simple-error", &[__t861])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5770,20 +5565,20 @@ pub fn aot__x3d__x3d_(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t954 = { - let __t952 = v_V3766.clone(); - let __t953 = v_V3767.clone(); - rt::eq(&__t952, &__t953) + let __t876 = { + let __t874 = v_V3766.clone(); + let __t875 = v_V3767.clone(); + rt::eq(&__t874, &__t875) }; - if match rt::is_truthy(interp, &__t954) { + if match rt::is_truthy(interp, &__t876) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t951 = Value::bool(true); - if match rt::is_truthy(interp, &__t951) { + let __t873 = Value::bool(true); + if match rt::is_truthy(interp, &__t873) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5815,48 +5610,40 @@ pub fn aot_bound_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t956 = { - let __t955 = v_V3768.clone(); - rt::is_symbol(&__t955) + let __t878 = { + let __t877 = v_V3768.clone(); + rt::apply_direct(interp, "symbol?", &[__t877])? }; - if !match rt::is_truthy(interp, &__t956) { + if !match rt::is_truthy(interp, &__t878) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let v_W3769 = match (|| -> ShenResult { - Ok({ - let __t957 = v_V3768.clone(); - rt::apply_direct(interp, "value", &[__t957])? - }) - })() { - Ok(v) => v, - Err(e) => { - let __h = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z3770 = args[0].clone(); - Ok(Value::sym(interp.intern("shen.this-symbol-is-unbound"))) - }, - Vec::new(), - interp, - ) - }; - let __err = Value::err(e.message.clone()); - rt::apply_value(interp, __h, &[__err])? - } + let v_W3769 = { + let __x = v_V3768.clone(); + let __h = { + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok(Value::sym( + interp.intern_static("shen.this-symbol-is-unbound"), + )) + }, + Vec::new(), + interp, + ) + }; + rt::apply_direct(interp, "value/or", &[__x, __h])? }; { - let __t960 = { - let __t958 = v_W3769.clone(); - let __t959 = Value::sym(interp.intern("shen.this-symbol-is-unbound")); - rt::eq(&__t958, &__t959) - }; - if match rt::is_truthy(interp, &__t960) { + let __t879 = Value::bool( + (v_W3769.clone()).as_sym() + == Some(interp.intern_static("shen.this-symbol-is-unbound")), + ); + if match rt::is_truthy(interp, &__t879) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5892,40 +5679,36 @@ pub fn aot_shen_x2e_string_x2d__x3e_bytes( #[allow(clippy::never_loop)] loop { { - let __t971 = { - let __t969 = Value::str(""); - let __t970 = v_V3771.clone(); - rt::eq(&__t969, &__t970) - }; - if match rt::is_truthy(interp, &__t971) { + let __t888 = Value::bool((v_V3771.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t888) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t968 = Value::bool(true); - if match rt::is_truthy(interp, &__t968) { + let __t887 = Value::bool(true); + if match rt::is_truthy(interp, &__t887) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t964 = { - let __t963 = { - let __t961 = v_V3771.clone(); - let __t962 = Value::int(0i64); - rt::apply_direct(interp, "pos", &[__t961, __t962])? + let __t883 = { + let __t882 = { + let __t880 = v_V3771.clone(); + let __t881 = Value::int(0i64); + rt::apply_direct(interp, "pos", &[__t880, __t881])? }; - rt::apply_direct(interp, "string->n", &[__t963])? + rt::string_to_n(&__t882)? }; - let __t967 = { - let __t966 = { - let __t965 = v_V3771.clone(); - rt::apply_direct(interp, "tlstr", &[__t965])? + let __t886 = { + let __t885 = { + let __t884 = v_V3771.clone(); + rt::tlstr(&__t884)? }; - rt::apply_direct(interp, "shen.string->bytes", &[__t966])? + aot_shen_x2e_string_x2d__x3e_bytes(interp, &[__t885])? }; - rt::cons(&__t964, &__t967) + rt::cons(&__t883, &__t886) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -5954,38 +5737,34 @@ pub fn aot_maxinferences(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { - break Ok({ - let __t975 = Value::sym(interp.intern("shen.*maxinferences*")); - rt::apply_direct(interp, "value", &[__t975])? - }); + break Ok(rt::global_value(interp, "shen.*maxinferences*")?); } else { { - let __t977 = { - let __t976 = v_V3772.clone(); - rt::apply_direct(interp, "integer?", &[__t976])? + let __t893 = { + let __t892 = v_V3772.clone(); + rt::apply_direct(interp, "integer?", &[__t892])? }; - if match rt::is_truthy(interp, &__t977) { + if match rt::is_truthy(interp, &__t893) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t978 = Value::sym(interp.intern("shen.*maxinferences*")); - let __t979 = v_V3772.clone(); - rt::apply_direct(interp, "set", &[__t978, __t979])? + let __v = v_V3772.clone(); + rt::set_global(interp, "shen.*maxinferences*", __v) }); } else { break Ok({ - let __t980 = Value::str("maxinferences expects an integer value\n"); - rt::apply_direct(interp, "simple-error", &[__t980])? + let __t894 = Value::str("maxinferences expects an integer value\n"); + rt::apply_direct(interp, "simple-error", &[__t894])? }); } } @@ -6009,10 +5788,7 @@ pub fn aot_inferences(interp: &mut Interp, args: &[Value]) -> ShenResult } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t981 = Value::sym(interp.intern("shen.*infs*")); - rt::apply_direct(interp, "value", &[__t981])? - }); + break Ok(rt::global_value(interp, "shen.*infs*")?); } } @@ -6052,10 +5828,7 @@ pub fn aot_stoutput(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t982 = Value::sym(interp.intern("*stoutput*")); - rt::apply_direct(interp, "value", &[__t982])? - }); + break Ok(rt::global_value(interp, "*stoutput*")?); } } @@ -6078,32 +5851,32 @@ pub fn aot_string_x2d__x3e_symbol(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W3775 = { - let __t983 = v_V3774.clone(); - rt::apply_direct(interp, "intern", &[__t983])? + let __t895 = v_V3774.clone(); + rt::intern(interp, &__t895)? }; { - let __t985 = { - let __t984 = v_W3775.clone(); - rt::is_symbol(&__t984) + let __t897 = { + let __t896 = v_W3775.clone(); + rt::apply_direct(interp, "symbol?", &[__t896])? }; - if match rt::is_truthy(interp, &__t985) { + if match rt::is_truthy(interp, &__t897) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_W3775.clone()); } else { break Ok({ - let __t991 = { - let __t986 = Value::str("cannot intern "); - let __t990 = { - let __t987 = v_V3774.clone(); - let __t988 = Value::str(" to a symbol"); - let __t989 = Value::sym(interp.intern("shen.s")); - rt::apply_direct(interp, "shen.app", &[__t987, __t988, __t989])? + let __t903 = { + let __t898 = Value::str("cannot intern "); + let __t902 = { + let __t899 = v_V3774.clone(); + let __t900 = Value::str(" to a symbol"); + let __t901 = Value::sym(interp.intern_static("shen.s")); + rt::apply_direct(interp, "shen.app", &[__t899, __t900, __t901])? }; - rt::apply_direct(interp, "cn", &[__t986, __t990])? + rt::cn(&__t898, &__t902)? }; - rt::apply_direct(interp, "simple-error", &[__t991])? + rt::apply_direct(interp, "simple-error", &[__t903])? }); } } @@ -6129,46 +5902,37 @@ pub fn aot_optimise(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t1003 = { - let __t999 = Value::sym(interp.intern("+")); - let __t1000 = v_V3778.clone(); - rt::eq(&__t999, &__t1000) - }; - if match rt::is_truthy(interp, &__t1003) { + let __t907 = Value::bool((v_V3778.clone()).as_sym() == Some(interp.intern_static("+"))); + if match rt::is_truthy(interp, &__t907) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1001 = Value::sym(interp.intern("shen.*optimise*")); - let __t1002 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t1001, __t1002])? + let __v = Value::bool(true); + rt::set_global(interp, "shen.*optimise*", __v) }); } else { { - let __t998 = { - let __t994 = Value::sym(interp.intern("-")); - let __t995 = v_V3778.clone(); - rt::eq(&__t994, &__t995) - }; - if match rt::is_truthy(interp, &__t998) { + let __t906 = + Value::bool((v_V3778.clone()).as_sym() == Some(interp.intern_static("-"))); + if match rt::is_truthy(interp, &__t906) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t996 = Value::sym(interp.intern("shen.*optimise*")); - let __t997 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t996, __t997])? + let __v = Value::bool(false); + rt::set_global(interp, "shen.*optimise*", __v) }); } else { { - let __t993 = Value::bool(true); - if match rt::is_truthy(interp, &__t993) { + let __t905 = Value::bool(true); + if match rt::is_truthy(interp, &__t905) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t992 = Value::str("optimise expects a + or a -.\n"); - rt::apply_direct(interp, "simple-error", &[__t992])? + let __t904 = Value::str("optimise expects a + or a -.\n"); + rt::apply_direct(interp, "simple-error", &[__t904])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6196,10 +5960,7 @@ pub fn aot_os(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1004 = Value::sym(interp.intern("*os*")); - rt::apply_direct(interp, "value", &[__t1004])? - }); + break Ok(rt::global_value(interp, "*os*")?); } } @@ -6218,10 +5979,7 @@ pub fn aot_language(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1005 = Value::sym(interp.intern("*language*")); - rt::apply_direct(interp, "value", &[__t1005])? - }); + break Ok(rt::global_value(interp, "*language*")?); } } @@ -6240,10 +5998,7 @@ pub fn aot_version(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1006 = Value::sym(interp.intern("*version*")); - rt::apply_direct(interp, "value", &[__t1006])? - }); + break Ok(rt::global_value(interp, "*version*")?); } } @@ -6262,10 +6017,7 @@ pub fn aot_port(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1007 = Value::sym(interp.intern("*port*")); - rt::apply_direct(interp, "value", &[__t1007])? - }); + break Ok(rt::global_value(interp, "*port*")?); } } @@ -6284,10 +6036,7 @@ pub fn aot_porters(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1008 = Value::sym(interp.intern("*porters*")); - rt::apply_direct(interp, "value", &[__t1008])? - }); + break Ok(rt::global_value(interp, "*porters*")?); } } @@ -6306,10 +6055,7 @@ pub fn aot_implementation(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1010 = Value::sym(interp.intern("*release*")); - rt::apply_direct(interp, "value", &[__t1010])? - }); + break Ok(rt::global_value(interp, "*release*")?); } } @@ -6353,20 +6096,17 @@ pub fn aot_package_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t1012 = Value::bool(true); - if match rt::is_truthy(interp, &__t1012) { + let __t909 = Value::bool(true); + if match rt::is_truthy(interp, &__t909) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6374,8 +6114,8 @@ pub fn aot_package_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult { Ok({ let _ = { - let __t1011 = v_V3779.clone(); - rt::apply_direct(interp, "external", &[__t1011])? + let __t908 = v_V3779.clone(); + aot_external(interp, &[__t908])? }; Value::bool(true) }) @@ -6423,7 +6163,7 @@ pub fn aot_fail(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok(Value::sym(interp.intern("shen.fail!"))); + break Ok(Value::sym(interp.intern_static("shen.fail!"))); } } @@ -6442,10 +6182,7 @@ pub fn aot_userdefs(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1016 = Value::sym(interp.intern("shen.*userdefs*")); - rt::apply_direct(interp, "value", &[__t1016])? - }); + break Ok(rt::global_value(interp, "shen.*userdefs*")?); } } @@ -6464,10 +6201,7 @@ pub fn aot_optimise_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1018 = Value::sym(interp.intern("*hush*")); - rt::apply_direct(interp, "value", &[__t1018])? - }); + break Ok(rt::global_value(interp, "*hush*")?); } } @@ -6508,10 +6239,10 @@ pub fn aot_system_x2d_S_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult< } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t1019 = Value::sym(interp.intern("shen.*shen-type-theory-enabled?*")); - rt::apply_direct(interp, "value", &[__t1019])? - }); + break Ok(rt::global_value( + interp, + "shen.*shen-type-theory-enabled?*", + )?); } } @@ -6533,48 +6264,38 @@ pub fn aot_enable_x2d_type_x2d_theory(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let __t1031 = { - let __t1027 = Value::sym(interp.intern("+")); - let __t1028 = v_V3783.clone(); - rt::eq(&__t1027, &__t1028) - }; - if match rt::is_truthy(interp, &__t1031) { + let __t914 = Value::bool((v_V3783.clone()).as_sym() == Some(interp.intern_static("+"))); + if match rt::is_truthy(interp, &__t914) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1029 = Value::sym(interp.intern("shen.*shen-type-theory-enabled?*")); - let __t1030 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t1029, __t1030])? + let __v = Value::bool(true); + rt::set_global(interp, "shen.*shen-type-theory-enabled?*", __v) }); } else { { - let __t1026 = { - let __t1022 = Value::sym(interp.intern("-")); - let __t1023 = v_V3783.clone(); - rt::eq(&__t1022, &__t1023) - }; - if match rt::is_truthy(interp, &__t1026) { + let __t913 = + Value::bool((v_V3783.clone()).as_sym() == Some(interp.intern_static("-"))); + if match rt::is_truthy(interp, &__t913) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1024 = - Value::sym(interp.intern("shen.*shen-type-theory-enabled?*")); - let __t1025 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t1024, __t1025])? + let __v = Value::bool(false); + rt::set_global(interp, "shen.*shen-type-theory-enabled?*", __v) }); } else { { - let __t1021 = Value::bool(true); - if match rt::is_truthy(interp, &__t1021) { + let __t912 = Value::bool(true); + if match rt::is_truthy(interp, &__t912) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1020 = + let __t911 = Value::str("enable-type-theory expects a + or a -\n"); - rt::apply_direct(interp, "simple-error", &[__t1020])? + rt::apply_direct(interp, "simple-error", &[__t911])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6605,46 +6326,37 @@ pub fn aot_shen_x2e_hush(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t1041 = Value::sym(interp.intern("*hush*")); - let __t1042 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t1041, __t1042])? + let __v = Value::bool(true); + rt::set_global(interp, "*hush*", __v) }); } else { { - let __t1038 = { - let __t1034 = Value::sym(interp.intern("-")); - let __t1035 = v_V3786.clone(); - rt::eq(&__t1034, &__t1035) - }; - if match rt::is_truthy(interp, &__t1038) { + let __t917 = + Value::bool((v_V3786.clone()).as_sym() == Some(interp.intern_static("-"))); + if match rt::is_truthy(interp, &__t917) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1036 = Value::sym(interp.intern("*hush*")); - let __t1037 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t1036, __t1037])? + let __v = Value::bool(false); + rt::set_global(interp, "*hush*", __v) }); } else { { - let __t1033 = Value::bool(true); - if match rt::is_truthy(interp, &__t1033) { + let __t916 = Value::bool(true); + if match rt::is_truthy(interp, &__t916) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1032 = Value::str("hush expects a + or a -\n"); - rt::apply_direct(interp, "simple-error", &[__t1032])? + let __t915 = Value::str("hush expects a + or a -\n"); + rt::apply_direct(interp, "simple-error", &[__t915])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6675,46 +6387,37 @@ pub fn aot_tc(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t1055 = { - let __t1051 = Value::sym(interp.intern("+")); - let __t1052 = v_V3789.clone(); - rt::eq(&__t1051, &__t1052) - }; - if match rt::is_truthy(interp, &__t1055) { + let __t922 = Value::bool((v_V3789.clone()).as_sym() == Some(interp.intern_static("+"))); + if match rt::is_truthy(interp, &__t922) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1053 = Value::sym(interp.intern("shen.*tc*")); - let __t1054 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t1053, __t1054])? + let __v = Value::bool(true); + rt::set_global(interp, "shen.*tc*", __v) }); } else { { - let __t1050 = { - let __t1046 = Value::sym(interp.intern("-")); - let __t1047 = v_V3789.clone(); - rt::eq(&__t1046, &__t1047) - }; - if match rt::is_truthy(interp, &__t1050) { + let __t921 = + Value::bool((v_V3789.clone()).as_sym() == Some(interp.intern_static("-"))); + if match rt::is_truthy(interp, &__t921) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1048 = Value::sym(interp.intern("shen.*tc*")); - let __t1049 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t1048, __t1049])? + let __v = Value::bool(false); + rt::set_global(interp, "shen.*tc*", __v) }); } else { { - let __t1045 = Value::bool(true); - if match rt::is_truthy(interp, &__t1045) { + let __t920 = Value::bool(true); + if match rt::is_truthy(interp, &__t920) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1044 = Value::str("tc expects a + or -"); - rt::apply_direct(interp, "simple-error", &[__t1044])? + let __t919 = Value::str("tc expects a + or -"); + rt::apply_direct(interp, "simple-error", &[__t919])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6746,16 +6449,12 @@ pub fn aot_destroy(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let _ = { - let __t1056 = Value::sym(interp.intern("shen.*sigf*")); - let __t1060 = { - let __t1057 = v_V3790.clone(); - let __t1059 = { - let __t1058 = Value::sym(interp.intern("shen.*sigf*")); - rt::apply_direct(interp, "value", &[__t1058])? - }; - rt::apply_direct(interp, "shen.unassoc", &[__t1057, __t1059])? + let __v = { + let __t923 = v_V3790.clone(); + let __t924 = rt::global_value(interp, "shen.*sigf*")?; + aot_shen_x2e_unassoc(interp, &[__t923, __t924])? }; - rt::apply_direct(interp, "set", &[__t1056, __t1060])? + rt::set_global(interp, "shen.*sigf*", __v) }; break Ok(v_V3790.clone()); } @@ -6782,102 +6481,94 @@ pub fn aot_shen_x2e_unassoc(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t1083 = { - let __t1080 = { - let __t1071 = v_V3801.clone(); - rt::is_cons(&__t1071) + let __t947 = { + let __t944 = { + let __t935 = v_V3801.clone(); + rt::is_cons(&__t935) }; - if !rt::is_truthy(interp, &__t1080)? { + if !rt::is_truthy(interp, &__t944)? { Value::bool(false) } else { - let __t1081 = { - let __t1078 = { - let __t1073 = { - let __t1072 = v_V3801.clone(); - rt::hd(&__t1072)? + let __t945 = { + let __t942 = { + let __t937 = { + let __t936 = v_V3801.clone(); + rt::hd(&__t936)? }; - rt::is_cons(&__t1073) + rt::is_cons(&__t937) }; - if !rt::is_truthy(interp, &__t1078)? { + if !rt::is_truthy(interp, &__t942)? { Value::bool(false) } else { - let __t1079 = { - let __t1074 = v_V3800.clone(); - let __t1077 = { - let __t1076 = { - let __t1075 = v_V3801.clone(); - rt::hd(&__t1075)? + let __t943 = { + let __t938 = v_V3800.clone(); + let __t941 = { + let __t940 = { + let __t939 = v_V3801.clone(); + rt::hd(&__t939)? }; - rt::hd(&__t1076)? + rt::hd(&__t940)? }; - rt::eq(&__t1074, &__t1077) + rt::eq(&__t938, &__t941) }; - Value::bool(rt::is_truthy(interp, &__t1079)?) + Value::bool(rt::is_truthy(interp, &__t943)?) } }; - Value::bool(rt::is_truthy(interp, &__t1081)?) + Value::bool(rt::is_truthy(interp, &__t945)?) } }; - if match rt::is_truthy(interp, &__t1083) { + if match rt::is_truthy(interp, &__t947) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1082 = v_V3801.clone(); - rt::tl(&__t1082)? + let __t946 = v_V3801.clone(); + rt::tl(&__t946)? }); } else { { - let __t1070 = { - let __t1063 = v_V3801.clone(); - rt::is_cons(&__t1063) + let __t934 = { + let __t927 = v_V3801.clone(); + rt::is_cons(&__t927) }; - if match rt::is_truthy(interp, &__t1070) { + if match rt::is_truthy(interp, &__t934) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1065 = { - let __t1064 = v_V3801.clone(); - rt::hd(&__t1064)? + let __t929 = { + let __t928 = v_V3801.clone(); + rt::hd(&__t928)? }; - let __t1069 = { - let __t1066 = v_V3800.clone(); - let __t1068 = { - let __t1067 = v_V3801.clone(); - rt::tl(&__t1067)? + let __t933 = { + let __t930 = v_V3800.clone(); + let __t932 = { + let __t931 = v_V3801.clone(); + rt::tl(&__t931)? }; - rt::apply_direct( - interp, - "shen.unassoc", - &[__t1066, __t1068], - )? + aot_shen_x2e_unassoc(interp, &[__t930, __t932])? }; - rt::cons(&__t1065, &__t1069) + rt::cons(&__t929, &__t933) }); } else { { - let __t1062 = Value::bool(true); - if match rt::is_truthy(interp, &__t1062) { + let __t926 = Value::bool(true); + if match rt::is_truthy(interp, &__t926) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1061 = + let __t925 = Value::str("implementation error in shen.unassoc"); - rt::apply_direct(interp, "simple-error", &[__t1061])? + rt::apply_direct(interp, "simple-error", &[__t925])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6910,32 +6601,31 @@ pub fn aot_in_x2d_package(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t1089 = Value::sym(interp.intern("shen.*package*")); - let __t1090 = v_V3802.clone(); - rt::apply_direct(interp, "set", &[__t1089, __t1090])? + let __v = v_V3802.clone(); + rt::set_global(interp, "shen.*package*", __v) }); } else { break Ok({ - let __t1096 = { - let __t1091 = Value::str("package "); - let __t1095 = { - let __t1092 = v_V3802.clone(); - let __t1093 = Value::str(" does not exist\n"); - let __t1094 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t1092, __t1093, __t1094])? + let __t956 = { + let __t951 = Value::str("package "); + let __t955 = { + let __t952 = v_V3802.clone(); + let __t953 = Value::str(" does not exist\n"); + let __t954 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t952, __t953, __t954])? }; - rt::apply_direct(interp, "cn", &[__t1091, __t1095])? + rt::cn(&__t951, &__t955)? }; - rt::apply_direct(interp, "simple-error", &[__t1096])? + rt::apply_direct(interp, "simple-error", &[__t956])? }); } } @@ -6963,37 +6653,37 @@ pub fn aot_write_x2d_to_x2d_file(interp: &mut Interp, args: &[Value]) -> ShenRes loop { { let v_W3805 = { - let __t1097 = v_V3803.clone(); - let __t1098 = Value::sym(interp.intern("out")); - rt::apply_direct(interp, "open", &[__t1097, __t1098])? + let __t957 = v_V3803.clone(); + let __t958 = Value::sym(interp.intern_static("out")); + rt::apply_direct(interp, "open", &[__t957, __t958])? }; { let v_W3806 = { - let __t1103 = { - let __t1099 = v_V3804.clone(); - rt::is_string(&__t1099) + let __t963 = { + let __t959 = v_V3804.clone(); + rt::is_string(&__t959) }; - if rt::is_truthy(interp, &__t1103)? { + if rt::is_truthy(interp, &__t963)? { v_V3804.clone() } else { { - let __t1100 = v_V3804.clone(); - let __t1101 = Value::str(""); - let __t1102 = Value::sym(interp.intern("shen.s")); - rt::apply_direct(interp, "shen.app", &[__t1100, __t1101, __t1102])? + let __t960 = v_V3804.clone(); + let __t961 = Value::str(""); + let __t962 = Value::sym(interp.intern_static("shen.s")); + rt::apply_direct(interp, "shen.app", &[__t960, __t961, __t962])? } } }; { let v_W3807 = { - let __t1104 = v_W3806.clone(); - let __t1105 = v_W3805.clone(); - rt::apply_direct(interp, "pr", &[__t1104, __t1105])? + let __t964 = v_W3806.clone(); + let __t965 = v_W3805.clone(); + rt::apply_direct(interp, "pr", &[__t964, __t965])? }; { let v_W3808 = { - let __t1106 = v_W3805.clone(); - rt::apply_direct(interp, "close", &[__t1106])? + let __t966 = v_W3805.clone(); + rt::apply_direct(interp, "close", &[__t966])? }; break Ok(v_V3804.clone()); } @@ -7019,11 +6709,11 @@ pub fn aot_fresh(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t1108 = { - let __t1107 = Value::sym(interp.intern("shen.t")); - rt::apply_direct(interp, "gensym", &[__t1107])? + let __t968 = { + let __t967 = Value::sym(interp.intern_static("shen.t")); + aot_gensym(interp, &[__t967])? }; - rt::apply_direct(interp, "shen.freshterm", &[__t1108])? + rt::apply_direct(interp, "shen.freshterm", &[__t968])? }); } } @@ -7049,32 +6739,25 @@ pub fn aot_update_x2d_lambda_x2d_table(interp: &mut Interp, args: &[Value]) -> S loop { { let v_W3811 = { - let __t1109 = v_V3809.clone(); - let __t1110 = Value::sym(interp.intern("arity")); - let __t1111 = v_V3810.clone(); - let __t1113 = { - let __t1112 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t1112])? - }; - rt::apply_direct(interp, "put", &[__t1109, __t1110, __t1111, __t1113])? + let __t969 = v_V3809.clone(); + let __t970 = Value::sym(interp.intern_static("arity")); + let __t971 = v_V3810.clone(); + let __t972 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t969, __t970, __t971, __t972])? }; { let v_W3812 = { - let __t1114 = v_V3809.clone(); - rt::apply_direct(interp, "shen.lambda-entry", &[__t1114])? + let __t973 = v_V3809.clone(); + rt::apply_direct(interp, "shen.lambda-entry", &[__t973])? }; { let v_W3813 = { - let __t1115 = Value::sym(interp.intern("shen.*lambdatable*")); - let __t1119 = { - let __t1116 = v_W3812.clone(); - let __t1118 = { - let __t1117 = Value::sym(interp.intern("shen.*lambdatable*")); - rt::apply_direct(interp, "value", &[__t1117])? - }; - rt::cons(&__t1116, &__t1118) + let __v = { + let __t974 = v_W3812.clone(); + let __t975 = rt::global_value(interp, "shen.*lambdatable*")?; + rt::cons(&__t974, &__t975) }; - rt::apply_direct(interp, "set", &[__t1115, __t1119])? + rt::set_global(interp, "shen.*lambdatable*", __v) }; break Ok(v_V3809.clone()); } @@ -7103,145 +6786,121 @@ pub fn aot_specialise(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t1160 = { - let __t1148 = Value::int(0i64); - let __t1149 = v_V3817.clone(); - rt::eq(&__t1148, &__t1149) + let __t998 = { + let __t992 = Value::int(0i64); + let __t993 = v_V3817.clone(); + rt::eq(&__t992, &__t993) }; - if match rt::is_truthy(interp, &__t1160) { + if match rt::is_truthy(interp, &__t998) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t1150 = Value::sym(interp.intern("shen.*special*")); - let __t1154 = { - let __t1151 = v_V3816.clone(); - let __t1153 = { - let __t1152 = Value::sym(interp.intern("shen.*special*")); - rt::apply_direct(interp, "value", &[__t1152])? - }; - rt::apply_direct(interp, "remove", &[__t1151, __t1153])? + let __v = { + let __t994 = v_V3816.clone(); + let __t995 = rt::global_value(interp, "shen.*special*")?; + rt::apply_direct(interp, "remove", &[__t994, __t995])? }; - rt::apply_direct(interp, "set", &[__t1150, __t1154])? + rt::set_global(interp, "shen.*special*", __v) }; { let _ = { - let __t1155 = Value::sym(interp.intern("shen.*extraspecial*")); - let __t1159 = { - let __t1156 = v_V3816.clone(); - let __t1158 = { - let __t1157 = Value::sym(interp.intern("shen.*extraspecial*")); - rt::apply_direct(interp, "value", &[__t1157])? - }; - rt::apply_direct(interp, "remove", &[__t1156, __t1158])? + let __v = { + let __t996 = v_V3816.clone(); + let __t997 = rt::global_value(interp, "shen.*extraspecial*")?; + rt::apply_direct(interp, "remove", &[__t996, __t997])? }; - rt::apply_direct(interp, "set", &[__t1155, __t1159])? + rt::set_global(interp, "shen.*extraspecial*", __v) }; break Ok(v_V3816.clone()); } } } else { { - let __t1147 = { - let __t1135 = Value::int(1i64); - let __t1136 = v_V3817.clone(); - rt::eq(&__t1135, &__t1136) + let __t991 = { + let __t985 = Value::int(1i64); + let __t986 = v_V3817.clone(); + rt::eq(&__t985, &__t986) }; - if match rt::is_truthy(interp, &__t1147) { + if match rt::is_truthy(interp, &__t991) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t1137 = Value::sym(interp.intern("shen.*special*")); - let __t1141 = { - let __t1138 = v_V3816.clone(); - let __t1140 = { - let __t1139 = Value::sym(interp.intern("shen.*special*")); - rt::apply_direct(interp, "value", &[__t1139])? - }; - rt::apply_direct(interp, "adjoin", &[__t1138, __t1140])? + let __v = { + let __t987 = v_V3816.clone(); + let __t988 = rt::global_value(interp, "shen.*special*")?; + rt::apply_direct(interp, "adjoin", &[__t987, __t988])? }; - rt::apply_direct(interp, "set", &[__t1137, __t1141])? + rt::set_global(interp, "shen.*special*", __v) }; { let _ = { - let __t1142 = Value::sym(interp.intern("shen.*extraspecial*")); - let __t1146 = { - let __t1143 = v_V3816.clone(); - let __t1145 = { - let __t1144 = - Value::sym(interp.intern("shen.*extraspecial*")); - rt::apply_direct(interp, "value", &[__t1144])? - }; - rt::apply_direct(interp, "remove", &[__t1143, __t1145])? + let __v = { + let __t989 = v_V3816.clone(); + let __t990 = + rt::global_value(interp, "shen.*extraspecial*")?; + rt::apply_direct(interp, "remove", &[__t989, __t990])? }; - rt::apply_direct(interp, "set", &[__t1142, __t1146])? + rt::set_global(interp, "shen.*extraspecial*", __v) }; break Ok(v_V3816.clone()); } } } else { { - let __t1134 = { - let __t1122 = Value::int(2i64); - let __t1123 = v_V3817.clone(); - rt::eq(&__t1122, &__t1123) + let __t984 = { + let __t978 = Value::int(2i64); + let __t979 = v_V3817.clone(); + rt::eq(&__t978, &__t979) }; - if match rt::is_truthy(interp, &__t1134) { + if match rt::is_truthy(interp, &__t984) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t1124 = Value::sym(interp.intern("shen.*special*")); - let __t1128 = { - let __t1125 = v_V3816.clone(); - let __t1127 = { - let __t1126 = - Value::sym(interp.intern("shen.*special*")); - rt::apply_direct(interp, "value", &[__t1126])? - }; - rt::apply_direct(interp, "remove", &[__t1125, __t1127])? + let __v = { + let __t980 = v_V3816.clone(); + let __t981 = + rt::global_value(interp, "shen.*special*")?; + rt::apply_direct(interp, "remove", &[__t980, __t981])? }; - rt::apply_direct(interp, "set", &[__t1124, __t1128])? + rt::set_global(interp, "shen.*special*", __v) }; { let _ = { - let __t1129 = - Value::sym(interp.intern("shen.*extraspecial*")); - let __t1133 = { - let __t1130 = v_V3816.clone(); - let __t1132 = { - let __t1131 = Value::sym( - interp.intern("shen.*extraspecial*"), - ); - rt::apply_direct(interp, "value", &[__t1131])? - }; + let __v = { + let __t982 = v_V3816.clone(); + let __t983 = rt::global_value( + interp, + "shen.*extraspecial*", + )?; rt::apply_direct( interp, "adjoin", - &[__t1130, __t1132], + &[__t982, __t983], )? }; - rt::apply_direct(interp, "set", &[__t1129, __t1133])? + rt::set_global(interp, "shen.*extraspecial*", __v) }; break Ok(v_V3816.clone()); } } } else { { - let __t1121 = Value::bool(true); - if match rt::is_truthy(interp, &__t1121) { + let __t977 = Value::bool(true); + if match rt::is_truthy(interp, &__t977) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1120 = Value::str( + let __t976 = Value::str( "specialise requires values of 0, 1 or 2\n", ); - rt::apply_direct(interp, "simple-error", &[__t1120])? + rt::apply_direct(interp, "simple-error", &[__t976])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -7274,16 +6933,12 @@ pub fn aot_absolute(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t1161 = Value::sym(interp.intern("*absolute*")); - let __t1165 = { - let __t1162 = v_V3818.clone(); - let __t1164 = { - let __t1163 = Value::sym(interp.intern("*absolute*")); - rt::apply_direct(interp, "value", &[__t1163])? - }; - rt::cons(&__t1162, &__t1164) + let __v = { + let __t999 = v_V3818.clone(); + let __t1000 = rt::global_value(interp, "*absolute*")?; + rt::cons(&__t999, &__t1000) }; - rt::apply_direct(interp, "set", &[__t1161, __t1165])? + rt::set_global(interp, "*absolute*", __v) }); } } @@ -7306,16 +6961,12 @@ pub fn aot_unabsolute(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { break Ok({ - let __t1166 = Value::sym(interp.intern("*absolute*")); - let __t1170 = { - let __t1167 = v_V3819.clone(); - let __t1169 = { - let __t1168 = Value::sym(interp.intern("*absolute*")); - rt::apply_direct(interp, "value", &[__t1168])? - }; - rt::apply_direct(interp, "remove", &[__t1167, __t1169])? + let __v = { + let __t1001 = v_V3819.clone(); + let __t1002 = rt::global_value(interp, "*absolute*")?; + rt::apply_direct(interp, "remove", &[__t1001, __t1002])? }; - rt::apply_direct(interp, "set", &[__t1166, __t1170])? + rt::set_global(interp, "*absolute*", __v) }); } } diff --git a/crates/shen-rust/src/aot/kernel/t_star.rs b/crates/shen-rust/src/aot/kernel/t_star.rs index 1616e63..c980c76 100644 --- a/crates/shen-rust/src/aot/kernel/t_star.rs +++ b/crates/shen-rust/src/aot/kernel/t_star.rs @@ -45,12 +45,12 @@ pub fn aot_shen_x2e_typecheck(interp: &mut Interp, args: &[Value]) -> ShenResult { let v_W4451 = { let __t1 = v_V4449.clone(); - rt::apply_direct(interp, "shen.rectify-type", &[__t1])? + aot_shen_x2e_rectify_x2d_type(interp, &[__t1])? }; { let v_W4452 = { let __t2 = v_V4448.clone(); - rt::apply_direct(interp, "shen.curry", &[__t2])? + aot_shen_x2e_curry(interp, &[__t2])? }; break Ok({ let __t44 = { @@ -100,7 +100,7 @@ pub fn aot_shen_x2e_typecheck(interp: &mut Interp, args: &[Value]) -> ShenResult v_Z4454.clone(); let v_Z4455 = v_Z4455.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z4456 = args[0].clone(); Ok({ let v_W4457 = { let __t3 = v_Z4453.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3])? }; { let __t4 = v_Z4453.clone(); let __t32 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t8 = { let __t7 = { let __t5 = v_W4450.clone(); let __t6 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t5, __t6])? }; rt::apply_direct(interp, "receive", &[__t7])? }; let __t12 = { let __t11 = { let __t9 = v_W4451.clone(); let __t10 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t9, __t10])? }; rt::apply_direct(interp, "receive", &[__t11])? }; let __t13 = v_W4457.clone(); let __t14 = v_Z4453.clone(); let __t15 = v_Z4454.clone(); let __t16 = v_Z4455.clone(); let __t31 = { let v_W4452 = v_W4452.clone(); let v_W4457 = v_W4457.clone(); let v_Z4453 = v_Z4453.clone(); let v_Z4454 = v_Z4454.clone(); let v_Z4455 = v_Z4455.clone(); let v_Z4456 = v_Z4456.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t20 = { let __t19 = { let __t17 = v_W4452.clone(); let __t18 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t17, __t18])? }; rt::apply_direct(interp, "receive", &[__t19])? }; let __t21 = v_W4457.clone(); let __t22 = v_Z4453.clone(); let __t23 = v_Z4454.clone(); let __t24 = v_Z4455.clone(); let __t30 = { let v_W4457 = v_W4457.clone(); let v_Z4453 = v_Z4453.clone(); let v_Z4454 = v_Z4454.clone(); let v_Z4455 = v_Z4455.clone(); let v_Z4456 = v_Z4456.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t25 = v_W4457.clone(); let __t26 = v_Z4453.clone(); let __t27 = v_Z4454.clone(); let __t28 = v_Z4455.clone(); let __t29 = v_Z4456.clone(); rt::apply_direct(interp, "return", &[__t25, __t26, __t27, __t28, __t29])? }), vec![v_W4457, v_Z4453, v_Z4454, v_Z4455, v_Z4456], interp) }; rt::apply_direct(interp, "shen.toplevel-forms", &[__t20, __t21, __t22, __t23, __t24, __t30])? }), vec![v_W4452, v_W4457, v_Z4453, v_Z4454, v_Z4455, v_Z4456], interp) }; rt::apply_direct(interp, "shen.insert-prolog-variables", &[__t8, __t12, __t13, __t14, __t15, __t16, __t31])? } }; rt::apply_direct(interp, "shen.gc", &[__t4, __t32])? } }) }, vec![v_W4450, v_W4451, v_W4452, v_Z4453, v_Z4454, v_Z4455], interp) + rt::make_aot_closure("", 1, move |interp, args| { let v_Z4456 = args[0].clone(); Ok({ let v_W4457 = { let __t3 = v_Z4453.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3])? }; { let __t4 = v_Z4453.clone(); let __t32 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t8 = { let __t7 = { let __t5 = v_W4450.clone(); let __t6 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t5, __t6])? }; rt::apply_direct(interp, "receive", &[__t7])? }; let __t12 = { let __t11 = { let __t9 = v_W4451.clone(); let __t10 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t9, __t10])? }; rt::apply_direct(interp, "receive", &[__t11])? }; let __t13 = v_W4457.clone(); let __t14 = v_Z4453.clone(); let __t15 = v_Z4454.clone(); let __t16 = v_Z4455.clone(); let __t31 = { let v_W4452 = v_W4452.clone(); let v_W4457 = v_W4457.clone(); let v_Z4453 = v_Z4453.clone(); let v_Z4454 = v_Z4454.clone(); let v_Z4455 = v_Z4455.clone(); let v_Z4456 = v_Z4456.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t20 = { let __t19 = { let __t17 = v_W4452.clone(); let __t18 = v_Z4453.clone(); rt::apply_direct(interp, "shen.deref", &[__t17, __t18])? }; rt::apply_direct(interp, "receive", &[__t19])? }; let __t21 = v_W4457.clone(); let __t22 = v_Z4453.clone(); let __t23 = v_Z4454.clone(); let __t24 = v_Z4455.clone(); let __t30 = { let v_W4457 = v_W4457.clone(); let v_Z4453 = v_Z4453.clone(); let v_Z4454 = v_Z4454.clone(); let v_Z4455 = v_Z4455.clone(); let v_Z4456 = v_Z4456.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t25 = v_W4457.clone(); let __t26 = v_Z4453.clone(); let __t27 = v_Z4454.clone(); let __t28 = v_Z4455.clone(); let __t29 = v_Z4456.clone(); rt::apply_direct(interp, "return", &[__t25, __t26, __t27, __t28, __t29])? }), vec![v_W4457, v_Z4453, v_Z4454, v_Z4455, v_Z4456], interp) }; aot_shen_x2e_toplevel_x2d_forms(interp, &[__t20, __t21, __t22, __t23, __t24, __t30])? }), vec![v_W4452, v_W4457, v_Z4453, v_Z4454, v_Z4455, v_Z4456], interp) }; aot_shen_x2e_insert_x2d_prolog_x2d_variables(interp, &[__t8, __t12, __t13, __t14, __t15, __t16, __t31])? } }; rt::apply_direct(interp, "shen.gc", &[__t4, __t32])? } }) }, vec![v_W4450, v_W4451, v_W4452, v_Z4453, v_Z4454, v_Z4455], interp) }) }, vec![ @@ -192,11 +192,11 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( loop { { let v_W4465 = { - let __t58 = { + let __t56 = { let __t46 = v_V4462.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t46])? }; - if rt::is_truthy(interp, &__t58)? { + if rt::is_truthy(interp, &__t56)? { { let v_W4466 = { let __t47 = v_V4458.clone(); @@ -204,25 +204,21 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( rt::apply_direct(interp, "shen.lazyderef", &[__t47, __t48])? }; { - let __t57 = { - let __t49 = v_W4466.clone(); - let __t50 = Value::nil(); - rt::eq(&__t49, &__t50) - }; - if rt::is_truthy(interp, &__t57)? { + let __t55 = Value::bool((v_W4466.clone()).is_nil()); + if rt::is_truthy(interp, &__t55)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t51 = v_V4459.clone(); - let __t52 = v_V4460.clone(); - let __t53 = v_V4461.clone(); - let __t54 = v_V4462.clone(); - let __t55 = v_V4463.clone(); - let __t56 = v_V4464.clone(); + let __t49 = v_V4459.clone(); + let __t50 = v_V4460.clone(); + let __t51 = v_V4461.clone(); + let __t52 = v_V4462.clone(); + let __t53 = v_V4463.clone(); + let __t54 = v_V4464.clone(); rt::apply_direct( interp, "is!", - &[__t51, __t52, __t53, __t54, __t55, __t56], + &[__t49, __t50, __t51, __t52, __t53, __t54], )? } } @@ -236,61 +232,61 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( } }; { - let __t61 = { - let __t59 = v_W4465.clone(); - let __t60 = Value::bool(false); - rt::eq(&__t59, &__t60) + let __t59 = { + let __t57 = v_W4465.clone(); + let __t58 = Value::bool(false); + rt::eq(&__t57, &__t58) }; - if match rt::is_truthy(interp, &__t61) { + if match rt::is_truthy(interp, &__t59) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t63 = { - let __t62 = v_V4462.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t62])? + let __t61 = { + let __t60 = v_V4462.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t60])? }; - if match rt::is_truthy(interp, &__t63) { + if match rt::is_truthy(interp, &__t61) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4467 = { - let __t64 = v_V4458.clone(); - let __t65 = v_V4461.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t64, __t65])? + let __t62 = v_V4458.clone(); + let __t63 = v_V4461.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t62, __t63])? }; { - let __t67 = { - let __t66 = v_W4467.clone(); - rt::is_cons(&__t66) + let __t65 = { + let __t64 = v_W4467.clone(); + rt::is_cons(&__t64) }; - if match rt::is_truthy(interp, &__t67) { + if match rt::is_truthy(interp, &__t65) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4468 = { - let __t68 = v_W4467.clone(); - rt::hd(&__t68)? + let __t66 = v_W4467.clone(); + rt::hd(&__t66)? }; { let v_W4469 = { - let __t69 = v_W4467.clone(); - rt::tl(&__t69)? + let __t67 = v_W4467.clone(); + rt::tl(&__t67)? }; { let v_W4470 = { - let __t70 = v_V4461.clone(); + let __t68 = v_V4461.clone(); rt::apply_direct( interp, "shen.newpv", - &[__t70], + &[__t68], )? }; break Ok({ - let __t71 = v_V4461.clone(); - let __t84 = { + let __t69 = v_V4461.clone(); + let __t82 = { let _ = { rt::apply_direct( interp, @@ -299,44 +295,37 @@ pub fn aot_shen_x2e_insert_x2d_prolog_x2d_variables( )? }; { - let __t72 = v_W4469.clone(); - let __t78 = { - let __t75 = { - let __t73 = v_W4470.clone(); - let __t74 = v_V4461.clone(); + let __t70 = v_W4469.clone(); + let __t76 = { + let __t73 = { + let __t71 = v_W4470.clone(); + let __t72 = v_V4461.clone(); rt::apply_direct( interp, "shen.deref", - &[__t73, __t74], + &[__t71, __t72], )? }; - let __t76 = v_W4468.clone(); - let __t77 = v_V4459.clone(); + let __t74 = v_W4468.clone(); + let __t75 = v_V4459.clone(); rt::apply_direct( interp, "subst", - &[__t75, __t76, __t77], + &[__t73, __t74, __t75], )? }; - let __t79 = v_V4460.clone(); - let __t80 = v_V4461.clone(); - let __t81 = v_V4462.clone(); - let __t82 = v_V4463.clone(); - let __t83 = v_V4464.clone(); - rt::apply_direct( - interp, - "shen.insert-prolog-variables", - &[ - __t72, __t78, __t79, __t80, - __t81, __t82, __t83, - ], - )? + let __t77 = v_V4460.clone(); + let __t78 = v_V4461.clone(); + let __t79 = v_V4462.clone(); + let __t80 = v_V4463.clone(); + let __t81 = v_V4464.clone(); + aot_shen_x2e_insert_x2d_prolog_x2d_variables(interp, &[__t70, __t76, __t77, __t78, __t79, __t80, __t81])? } }; rt::apply_direct( interp, "shen.gc", - &[__t71, __t84], + &[__t69, __t82], )? }); } @@ -395,78 +384,76 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S loop { { let v_W4477 = { - let __t85 = v_V4475.clone(); - let __t86 = Value::int(1i64); - rt::add(&__t85, &__t86)? + let __t83 = v_V4475.clone(); + let __t84 = Value::int(1i64); + rt::add(&__t83, &__t84)? }; { let v_W4478 = { - let __t131 = { - let __t87 = v_V4474.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t87])? + let __t120 = { + let __t85 = v_V4474.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t85])? }; - if rt::is_truthy(interp, &__t131)? { + if rt::is_truthy(interp, &__t120)? { { let v_W4479 = { - let __t88 = v_V4471.clone(); - let __t89 = v_V4473.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t88, __t89])? + let __t86 = v_V4471.clone(); + let __t87 = v_V4473.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t86, __t87])? }; { - let __t130 = { - let __t90 = v_W4479.clone(); - rt::is_cons(&__t90) + let __t119 = { + let __t88 = v_W4479.clone(); + rt::is_cons(&__t88) }; - if rt::is_truthy(interp, &__t130)? { + if rt::is_truthy(interp, &__t119)? { { let v_W4480 = { - let __t92 = { - let __t91 = v_W4479.clone(); - rt::hd(&__t91)? + let __t90 = { + let __t89 = v_W4479.clone(); + rt::hd(&__t89)? }; - let __t93 = v_V4473.clone(); + let __t91 = v_V4473.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t92, __t93], + &[__t90, __t91], )? }; { - let __t129 = { - let __t94 = v_W4480.clone(); - let __t95 = Value::sym(interp.intern("define")); - rt::eq(&__t94, &__t95) - }; - if rt::is_truthy(interp, &__t129)? { + let __t118 = Value::bool( + (v_W4480.clone()).as_sym() + == Some(interp.intern_static("define")), + ); + if rt::is_truthy(interp, &__t118)? { { let v_W4481 = { - let __t97 = { - let __t96 = v_W4479.clone(); - rt::tl(&__t96)? + let __t93 = { + let __t92 = v_W4479.clone(); + rt::tl(&__t92)? }; - let __t98 = v_V4473.clone(); + let __t94 = v_V4473.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t97, __t98], + &[__t93, __t94], )? }; { - let __t128 = { - let __t99 = v_W4481.clone(); - rt::is_cons(&__t99) + let __t117 = { + let __t95 = v_W4481.clone(); + rt::is_cons(&__t95) }; - if rt::is_truthy(interp, &__t128)? { + if rt::is_truthy(interp, &__t117)? { { let v_W4482 = { - let __t100 = v_W4481.clone(); - rt::hd(&__t100)? + let __t96 = v_W4481.clone(); + rt::hd(&__t96)? }; { let v_W4483 = { - let __t101 = - v_W4481.clone(); - rt::tl(&__t101)? + let __t97 = v_W4481.clone(); + rt::tl(&__t97)? }; { let _ = { @@ -477,41 +464,50 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S )? }; { - let __t102 = { - rt::apply_direct(interp, "shen.type-theory-enabled?", &[])? + let __t116 = { + aot_shen_x2e_type_x2d_theory_x2d_enabled_x3f_(interp, &[])? }; - let __t103 = - v_V4473.clone(); - let __t104 = - v_V4474.clone(); - let __t105 = - v_W4477.clone(); - let __t127 = { - let v_V4472 = - v_V4472.clone(); - let v_V4473 = - v_V4473.clone(); - let v_V4474 = - v_V4474.clone(); - let v_V4476 = - v_V4476.clone(); - let v_W4477 = - v_W4477.clone(); - let v_W4482 = - v_W4482.clone(); - let v_W4483 = - v_W4483.clone(); - rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t106 = v_V4473.clone(); let __t107 = v_V4474.clone(); let __t108 = v_W4477.clone(); let __t126 = { let v_V4472 = v_V4472.clone(); let v_V4473 = v_V4473.clone(); let v_V4474 = v_V4474.clone(); let v_V4476 = v_V4476.clone(); let v_W4477 = v_W4477.clone(); let v_W4482 = v_W4482.clone(); let v_W4483 = v_W4483.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t110 = { let __t109 = Value::sym(interp.intern("shen.*spy*")); rt::apply_direct(interp, "value", &[__t109])? }; let __t111 = v_W4482.clone(); let __t112 = v_V4473.clone(); let __t113 = v_V4474.clone(); let __t114 = v_W4477.clone(); let __t125 = { let v_V4472 = v_V4472.clone(); let v_V4473 = v_V4473.clone(); let v_V4474 = v_V4474.clone(); let v_V4476 = v_V4476.clone(); let v_W4477 = v_W4477.clone(); let v_W4482 = v_W4482.clone(); let v_W4483 = v_W4483.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t119 = { let __t115 = Value::sym(interp.intern("define")); let __t118 = { let __t116 = v_W4482.clone(); let __t117 = v_W4483.clone(); rt::cons(&__t116, &__t117) }; rt::cons(&__t115, &__t118) }; let __t120 = v_V4472.clone(); let __t121 = v_V4473.clone(); let __t122 = v_V4474.clone(); let __t123 = v_W4477.clone(); let __t124 = v_V4476.clone(); rt::apply_direct(interp, "shen.t*", &[__t119, __t120, __t121, __t122, __t123, __t124])? }), vec![v_V4472, v_V4473, v_V4474, v_V4476, v_W4477, v_W4482, v_W4483], interp) }; rt::apply_direct(interp, "shen.signal-def", &[__t110, __t111, __t112, __t113, __t114, __t125])? }), vec![v_V4472, v_V4473, v_V4474, v_V4476, v_W4477, v_W4482, v_W4483], interp) }; rt::apply_direct(interp, "shen.cut", &[__t106, __t107, __t108, __t126])? }), vec![v_V4472, v_V4473, v_V4474, v_V4476, v_W4477, v_W4482, v_W4483], interp) - }; - rt::apply_direct( - interp, - "when", - &[ - __t102, __t103, - __t104, __t105, - __t127, - ], - )? + let _ = v_V4473.clone(); + let _ = v_V4474.clone(); + let _ = v_W4477.clone(); + if rt::is_truthy( + interp, &__t116, + )? { + { + let _ = v_V4473 + .clone(); + let __t115 = + v_V4474 + .clone( + ); + let __n = + v_W4477 + .clone( + ); + let __t114 = { + let __t98 = rt::global_value(interp, "shen.*spy*")?; + let __t99 = v_W4482.clone(); + let __t100 = v_V4473.clone(); + let __t101 = v_V4474.clone(); + let __t102 = v_W4477.clone(); + let __t113 = { + let v_V4472 = v_V4472.clone(); + let v_V4473 = v_V4473.clone(); + let v_V4474 = v_V4474.clone(); + let v_V4476 = v_V4476.clone(); + let v_W4477 = v_W4477.clone(); + let v_W4482 = v_W4482.clone(); + let v_W4483 = v_W4483.clone(); + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t107 = { let __t103 = Value::sym(interp.intern_static("define")); let __t106 = { let __t104 = v_W4482.clone(); let __t105 = v_W4483.clone(); rt::cons(&__t104, &__t105) }; rt::cons(&__t103, &__t106) }; let __t108 = v_V4472.clone(); let __t109 = v_V4473.clone(); let __t110 = v_V4474.clone(); let __t111 = v_W4477.clone(); let __t112 = v_V4476.clone(); aot_shen_x2e_t_x2a_(interp, &[__t107, __t108, __t109, __t110, __t111, __t112])? }), vec![v_V4472, v_V4473, v_V4474, v_V4476, v_W4477, v_W4482, v_W4483], interp) + }; + aot_shen_x2e_signal_x2d_def(interp, &[__t98, __t99, __t100, __t101, __t102, __t113])? + }; + if rt::is_truthy(interp, &rt::eq(&__t114, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t115])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t115])?; } } + __t114 + } + } else { + Value::bool(false) + } } } } @@ -536,54 +532,47 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t134 = { - let __t132 = v_W4478.clone(); - let __t133 = Value::bool(false); - rt::eq(&__t132, &__t133) + let __t123 = { + let __t121 = v_W4478.clone(); + let __t122 = Value::bool(false); + rt::eq(&__t121, &__t122) }; - if match rt::is_truthy(interp, &__t134) { + if match rt::is_truthy(interp, &__t123) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4484 = { - let __t149 = { - let __t135 = v_V4474.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t135])? + let __t137 = { + let __t124 = v_V4474.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t124])? }; - if rt::is_truthy(interp, &__t149)? { + if rt::is_truthy(interp, &__t137)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t143 = { - let __t136 = v_V4471.clone(); - let __t142 = { - let __t138 = { - let __t137 = Value::str(":"); - rt::apply_direct( - interp, - "intern", - &[__t137], - )? - }; - let __t141 = { - let __t139 = v_V4472.clone(); - let __t140 = Value::nil(); - rt::cons(&__t139, &__t140) + let __t131 = { + let __t125 = v_V4471.clone(); + let __t130 = { + let __t126 = + Value::sym(interp.intern_static(":")); + let __t129 = { + let __t127 = v_V4472.clone(); + let __t128 = Value::nil(); + rt::cons(&__t127, &__t128) }; - rt::cons(&__t138, &__t141) + rt::cons(&__t126, &__t129) }; - rt::cons(&__t136, &__t142) + rt::cons(&__t125, &__t130) }; - let __t144 = Value::nil(); - let __t145 = v_V4473.clone(); - let __t146 = v_V4474.clone(); - let __t147 = v_W4477.clone(); - let __t148 = v_V4476.clone(); - rt::apply_direct( + let __t132 = Value::nil(); + let __t133 = v_V4473.clone(); + let __t134 = v_V4474.clone(); + let __t135 = v_W4477.clone(); + let __t136 = v_V4476.clone(); + aot_shen_x2e_system_x2d_S( interp, - "shen.system-S", - &[__t143, __t144, __t145, __t146, __t147, __t148], + &[__t131, __t132, __t133, __t134, __t135, __t136], )? } } @@ -592,19 +581,19 @@ pub fn aot_shen_x2e_toplevel_x2d_forms(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t152 = { - let __t150 = v_W4484.clone(); - let __t151 = Value::bool(false); - rt::eq(&__t150, &__t151) + let __t140 = { + let __t138 = v_W4484.clone(); + let __t139 = Value::bool(false); + rt::eq(&__t138, &__t139) }; - if match rt::is_truthy(interp, &__t152) { + if match rt::is_truthy(interp, &__t140) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t153 = v_V4474.clone(); - let __t154 = v_W4477.clone(); - rt::apply_direct(interp, "shen.unlock", &[__t153, __t154])? + let __t141 = v_V4474.clone(); + let __t142 = v_W4477.clone(); + rt::apply_direct(interp, "shen.unlock", &[__t141, __t142])? }); } else { break Ok(v_W4484.clone()); @@ -649,24 +638,24 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W4491 = { - let __t161 = { - let __t155 = v_V4488.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t155])? + let __t149 = { + let __t143 = v_V4488.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t143])? }; - if rt::is_truthy(interp, &__t161)? { + if rt::is_truthy(interp, &__t149)? { { let v_W4492 = { - let __t156 = v_V4485.clone(); - let __t157 = v_V4487.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t156, __t157])? + let __t144 = v_V4485.clone(); + let __t145 = v_V4487.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t144, __t145])? }; { - let __t160 = { - let __t158 = v_W4492.clone(); - let __t159 = Value::bool(false); - rt::eq(&__t158, &__t159) + let __t148 = { + let __t146 = v_W4492.clone(); + let __t147 = Value::bool(false); + rt::eq(&__t146, &__t147) }; - if rt::is_truthy(interp, &__t160)? { + if rt::is_truthy(interp, &__t148)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; rt::apply_value(interp, v_V4490.clone(), &[])? @@ -681,48 +670,48 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR } }; { - let __t164 = { - let __t162 = v_W4491.clone(); - let __t163 = Value::bool(false); - rt::eq(&__t162, &__t163) + let __t152 = { + let __t150 = v_W4491.clone(); + let __t151 = Value::bool(false); + rt::eq(&__t150, &__t151) }; - if match rt::is_truthy(interp, &__t164) { + if match rt::is_truthy(interp, &__t152) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t166 = { - let __t165 = v_V4488.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t165])? + let __t154 = { + let __t153 = v_V4488.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t153])? }; - if match rt::is_truthy(interp, &__t166) { + if match rt::is_truthy(interp, &__t154) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4493 = { - let __t167 = v_V4485.clone(); - let __t168 = v_V4487.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t167, __t168])? + let __t155 = v_V4485.clone(); + let __t156 = v_V4487.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t155, __t156])? }; { - let __t171 = { - let __t169 = v_W4493.clone(); - let __t170 = Value::bool(true); - rt::eq(&__t169, &__t170) + let __t159 = { + let __t157 = v_W4493.clone(); + let __t158 = Value::bool(true); + rt::eq(&__t157, &__t158) }; - if match rt::is_truthy(interp, &__t171) { + if match rt::is_truthy(interp, &__t159) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4494 = { - let __t172 = v_V4487.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t172])? + let __t160 = v_V4487.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t160])? }; break Ok({ - let __t173 = v_V4487.clone(); - let __t189 = { + let __t161 = v_V4487.clone(); + let __t177 = { let _ = { rt::apply_direct( interp, @@ -731,41 +720,39 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR )? }; { - let __t174 = v_W4494.clone(); - let __t184 = { - let __t182 = { - let __t175 = Value::str( + let __t162 = v_W4494.clone(); + let __t172 = { + let __t170 = { + let __t163 = Value::str( "\ntypechecking (fn ", ); - let __t181 = { - let __t178 = { - let __t176 = + let __t169 = { + let __t166 = { + let __t164 = v_V4486.clone(); - let __t177 = + let __t165 = v_V4487.clone(); rt::apply_direct( interp, "shen.deref", - &[__t176, __t177], + &[__t164, __t165], )? }; - let __t179 = Value::str(")\n"); - let __t180 = Value::sym( - interp.intern("shen.a"), + let __t167 = Value::str(")\n"); + let __t168 = Value::sym( + interp.intern_static( + "shen.a", + ), ); rt::apply_direct( interp, "shen.app", - &[__t178, __t179, __t180], + &[__t166, __t167, __t168], )? }; - rt::apply_direct( - interp, - "cn", - &[__t175, __t181], - )? + rt::cn(&__t163, &__t169)? }; - let __t183 = { + let __t171 = { rt::apply_direct( interp, "stoutput", @@ -775,19 +762,19 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR rt::apply_direct( interp, "pr", - &[__t182, __t183], + &[__t170, __t171], )? }; - let __t185 = v_V4487.clone(); - let __t186 = v_V4488.clone(); - let __t187 = v_V4489.clone(); - let __t188 = v_V4490.clone(); + let __t173 = v_V4487.clone(); + let __t174 = v_V4488.clone(); + let __t175 = v_V4489.clone(); + let __t176 = v_V4490.clone(); rt::apply_direct( interp, "is", &[ - __t174, __t184, __t185, __t186, - __t187, __t188, + __t162, __t172, __t173, __t174, + __t175, __t176, ], )? } @@ -795,7 +782,7 @@ pub fn aot_shen_x2e_signal_x2d_def(interp: &mut Interp, args: &[Value]) -> ShenR rt::apply_direct( interp, "shen.gc", - &[__t173, __t189], + &[__t161, __t177], )? }); } @@ -834,11 +821,11 @@ pub fn aot_shen_x2e_rectify_x2d_type(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { break Ok({ - let __t191 = { - let __t190 = v_V4495.clone(); - rt::apply_direct(interp, "shen.curry-type", &[__t190])? + let __t179 = { + let __t178 = v_V4495.clone(); + aot_shen_x2e_curry_x2d_type(interp, &[__t178])? }; - rt::apply_direct(interp, "shen.demodulate", &[__t191])? + aot_shen_x2e_demodulate(interp, &[__t179])? }); } } @@ -864,36 +851,36 @@ pub fn aot_shen_x2e_demodulate(interp: &mut Interp, args: &[Value]) -> ShenResul match (|| -> ShenResult { Ok({ let v_W4497 = { - let __t193 = { + let __t181 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z4498 = args[0].clone(); Ok({ - let __t192 = v_Z4498.clone(); - rt::apply_direct(interp, "shen.demod", &[__t192])? + let __t180 = v_Z4498.clone(); + rt::apply_direct(interp, "shen.demod", &[__t180])? }) }, Vec::new(), interp, ) }; - let __t194 = v_V4496.clone(); - rt::apply_direct(interp, "shen.walk", &[__t193, __t194])? + let __t182 = v_V4496.clone(); + rt::apply_direct(interp, "shen.walk", &[__t181, __t182])? }; { - let __t198 = { - let __t195 = v_W4497.clone(); - let __t196 = v_V4496.clone(); - rt::eq(&__t195, &__t196) + let __t186 = { + let __t183 = v_W4497.clone(); + let __t184 = v_V4496.clone(); + rt::eq(&__t183, &__t184) }; - if rt::is_truthy(interp, &__t198)? { + if rt::is_truthy(interp, &__t186)? { v_V4496.clone() } else { { - let __t197 = v_W4497.clone(); - rt::apply_direct(interp, "shen.demodulate", &[__t197])? + let __t185 = v_W4497.clone(); + aot_shen_x2e_demodulate(interp, &[__t185])? } } } @@ -940,511 +927,459 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t347 = { - let __t335 = { - let __t307 = v_V4500.clone(); - rt::is_cons(&__t307) + let __t319 = { + let __t307 = { + let __t283 = v_V4500.clone(); + rt::is_cons(&__t283) }; - if !rt::is_truthy(interp, &__t335)? { + if !rt::is_truthy(interp, &__t307)? { Value::bool(false) } else { - let __t336 = { - let __t333 = { - let __t309 = { - let __t308 = v_V4500.clone(); - rt::tl(&__t308)? + let __t308 = { + let __t305 = { + let __t285 = { + let __t284 = v_V4500.clone(); + rt::tl(&__t284)? }; - rt::is_cons(&__t309) + rt::is_cons(&__t285) }; - if !rt::is_truthy(interp, &__t333)? { + if !rt::is_truthy(interp, &__t305)? { Value::bool(false) } else { - let __t334 = { - let __t331 = { - let __t310 = Value::sym(interp.intern("-->")); - let __t313 = { - let __t312 = { - let __t311 = v_V4500.clone(); - rt::tl(&__t311)? + let __t306 = { + let __t303 = Value::bool( + ({ + let __t287 = { + let __t286 = v_V4500.clone(); + rt::tl(&__t286)? }; - rt::hd(&__t312)? - }; - rt::eq(&__t310, &__t313) - }; - if !rt::is_truthy(interp, &__t331)? { + rt::hd(&__t287)? + }) + .as_sym() + == Some(interp.intern_static("-->")), + ); + if !rt::is_truthy(interp, &__t303)? { Value::bool(false) } else { - let __t332 = { - let __t329 = { - let __t316 = { - let __t315 = { - let __t314 = v_V4500.clone(); - rt::tl(&__t314)? + let __t304 = { + let __t301 = { + let __t290 = { + let __t289 = { + let __t288 = v_V4500.clone(); + rt::tl(&__t288)? }; - rt::tl(&__t315)? + rt::tl(&__t289)? }; - rt::is_cons(&__t316) + rt::is_cons(&__t290) }; - if !rt::is_truthy(interp, &__t329)? { + if !rt::is_truthy(interp, &__t301)? { Value::bool(false) } else { - let __t330 = { - let __t327 = { - let __t320 = { - let __t319 = { - let __t318 = { - let __t317 = v_V4500.clone(); - rt::tl(&__t317)? + let __t302 = { + let __t299 = { + let __t294 = { + let __t293 = { + let __t292 = { + let __t291 = v_V4500.clone(); + rt::tl(&__t291)? }; - rt::tl(&__t318)? + rt::tl(&__t292)? }; - rt::tl(&__t319)? + rt::tl(&__t293)? }; - rt::is_cons(&__t320) + rt::is_cons(&__t294) }; - if !rt::is_truthy(interp, &__t327)? { + if !rt::is_truthy(interp, &__t299)? { Value::bool(false) } else { - let __t328 = { - let __t321 = - Value::sym(interp.intern("-->")); - let __t326 = { - let __t325 = { - let __t324 = { - let __t323 = { - let __t322 = + let __t300 = Value::bool( + ({ + let __t298 = { + let __t297 = { + let __t296 = { + let __t295 = v_V4500.clone(); - rt::tl(&__t322)? + rt::tl(&__t295)? }; - rt::tl(&__t323)? + rt::tl(&__t296)? }; - rt::tl(&__t324)? + rt::tl(&__t297)? }; - rt::hd(&__t325)? - }; - rt::eq(&__t321, &__t326) - }; - Value::bool(rt::is_truthy(interp, &__t328)?) + rt::hd(&__t298)? + }) + .as_sym() + == Some(interp.intern_static("-->")), + ); + Value::bool(rt::is_truthy(interp, &__t300)?) } }; - Value::bool(rt::is_truthy(interp, &__t330)?) + Value::bool(rt::is_truthy(interp, &__t302)?) } }; - Value::bool(rt::is_truthy(interp, &__t332)?) + Value::bool(rt::is_truthy(interp, &__t304)?) } }; - Value::bool(rt::is_truthy(interp, &__t334)?) + Value::bool(rt::is_truthy(interp, &__t306)?) } }; - Value::bool(rt::is_truthy(interp, &__t336)?) + Value::bool(rt::is_truthy(interp, &__t308)?) } }; - if match rt::is_truthy(interp, &__t347) { + if match rt::is_truthy(interp, &__t319) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t346 = { - let __t338 = { - let __t337 = v_V4500.clone(); - rt::hd(&__t337)? + let __t318 = { + let __t310 = { + let __t309 = v_V4500.clone(); + rt::hd(&__t309)? }; - let __t345 = { - let __t339 = Value::sym(interp.intern("-->")); - let __t344 = { - let __t342 = { - let __t341 = { - let __t340 = v_V4500.clone(); - rt::tl(&__t340)? + let __t317 = { + let __t311 = Value::sym(interp.intern_static("-->")); + let __t316 = { + let __t314 = { + let __t313 = { + let __t312 = v_V4500.clone(); + rt::tl(&__t312)? }; - rt::tl(&__t341)? + rt::tl(&__t313)? }; - let __t343 = Value::nil(); - rt::cons(&__t342, &__t343) + let __t315 = Value::nil(); + rt::cons(&__t314, &__t315) }; - rt::cons(&__t339, &__t344) + rt::cons(&__t311, &__t316) }; - rt::cons(&__t338, &__t345) + rt::cons(&__t310, &__t317) }; - v_V4500 = __t346; + v_V4500 = __t318; continue; } } else { { - let __t306 = { - let __t289 = { - let __t246 = v_V4500.clone(); - rt::is_cons(&__t246) + let __t282 = { + let __t265 = { + let __t230 = v_V4500.clone(); + rt::is_cons(&__t230) }; - if !rt::is_truthy(interp, &__t289)? { + if !rt::is_truthy(interp, &__t265)? { Value::bool(false) } else { - let __t290 = { - let __t287 = { - let __t248 = { - let __t247 = v_V4500.clone(); - rt::hd(&__t247)? + let __t266 = { + let __t263 = { + let __t232 = { + let __t231 = v_V4500.clone(); + rt::hd(&__t231)? }; - rt::is_cons(&__t248) + rt::is_cons(&__t232) }; - if !rt::is_truthy(interp, &__t287)? { + if !rt::is_truthy(interp, &__t263)? { Value::bool(false) } else { - let __t288 = { - let __t285 = { - let __t249 = Value::sym(interp.intern("list")); - let __t252 = { - let __t251 = { - let __t250 = v_V4500.clone(); - rt::hd(&__t250)? + let __t264 = { + let __t261 = Value::bool( + ({ + let __t234 = { + let __t233 = v_V4500.clone(); + rt::hd(&__t233)? }; - rt::hd(&__t251)? - }; - rt::eq(&__t249, &__t252) - }; - if !rt::is_truthy(interp, &__t285)? { + rt::hd(&__t234)? + }) + .as_sym() + == Some(interp.intern_static("list")), + ); + if !rt::is_truthy(interp, &__t261)? { Value::bool(false) } else { - let __t286 = { - let __t283 = { - let __t255 = { - let __t254 = { - let __t253 = v_V4500.clone(); - rt::hd(&__t253)? + let __t262 = { + let __t259 = { + let __t237 = { + let __t236 = { + let __t235 = v_V4500.clone(); + rt::hd(&__t235)? }; - rt::tl(&__t254)? + rt::tl(&__t236)? }; - rt::is_cons(&__t255) + rt::is_cons(&__t237) }; - if !rt::is_truthy(interp, &__t283)? { + if !rt::is_truthy(interp, &__t259)? { Value::bool(false) } else { - let __t284 = { - let __t281 = { - let __t256 = Value::nil(); - let __t260 = { - let __t259 = { - let __t258 = { - let __t257 = + let __t260 = { + let __t257 = Value::bool( + ({ + let __t240 = { + let __t239 = { + let __t238 = v_V4500.clone(); - rt::hd(&__t257)? + rt::hd(&__t238)? }; - rt::tl(&__t258)? + rt::tl(&__t239)? }; - rt::tl(&__t259)? - }; - rt::eq(&__t256, &__t260) - }; - if !rt::is_truthy(interp, &__t281)? { + rt::tl(&__t240)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t257)? { Value::bool(false) } else { - let __t282 = { - let __t279 = { - let __t262 = { - let __t261 = + let __t258 = { + let __t255 = { + let __t242 = { + let __t241 = v_V4500.clone(); - rt::tl(&__t261)? + rt::tl(&__t241)? }; - rt::is_cons(&__t262) + rt::is_cons(&__t242) }; - if !rt::is_truthy(interp, &__t279)? + if !rt::is_truthy(interp, &__t255)? { Value::bool(false) } else { - let __t280 = { - let __t277 = { - let __t263 = Value::sym( - interp - .intern("==>"), - ); - let __t266 = { - let __t265 = { - let __t264 = - v_V4500 - .clone( - ); - rt::tl(&__t264)? - }; - rt::hd(&__t265)? - }; - rt::eq(&__t263, &__t266) - }; + let __t256 = { + let __t253 = Value::bool(({ let __t244 = { let __t243 = v_V4500.clone(); rt::tl(&__t243)? }; rt::hd(&__t244)? }).as_sym() == Some(interp.intern_static("==>"))); if !rt::is_truthy( - interp, &__t277, + interp, &__t253, )? { Value::bool(false) } else { - let __t278 = { - let __t275 = { - let __t269 = { - let __t268 = { - let __t267 = v_V4500.clone(); - rt::tl(&__t267)? + let __t254 = { + let __t251 = { + let __t247 = { + let __t246 = { + let __t245 = v_V4500.clone(); + rt::tl(&__t245)? }; rt::tl( - &__t268, + &__t246, )? }; rt::is_cons( - &__t269, + &__t247, ) }; if !rt::is_truthy( - interp, &__t275, + interp, &__t251, )? { Value::bool( false, ) } else { - let __t276 = { - let __t270 = Value::nil(); - let __t274 = { - let __t273 = { - let __t272 = { let __t271 = v_V4500.clone(); rt::tl(&__t271)? }; - rt::tl(&__t272)? - }; - rt::tl(&__t273)? - }; - rt::eq( - &__t270, - &__t274, - ) - }; - Value::bool(rt::is_truthy(interp, &__t276)?) + let __t252 = Value::bool(({ let __t250 = { let __t249 = { let __t248 = v_V4500.clone(); rt::tl(&__t248)? }; rt::tl(&__t249)? }; rt::tl(&__t250)? }).is_nil()); + Value::bool(rt::is_truthy(interp, &__t252)?) } }; Value::bool( rt::is_truthy( - interp, &__t278, + interp, &__t254, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t280, + interp, &__t256, )?) } }; Value::bool(rt::is_truthy( - interp, &__t282, + interp, &__t258, )?) } }; - Value::bool(rt::is_truthy(interp, &__t284)?) + Value::bool(rt::is_truthy(interp, &__t260)?) } }; - Value::bool(rt::is_truthy(interp, &__t286)?) + Value::bool(rt::is_truthy(interp, &__t262)?) } }; - Value::bool(rt::is_truthy(interp, &__t288)?) + Value::bool(rt::is_truthy(interp, &__t264)?) } }; - Value::bool(rt::is_truthy(interp, &__t290)?) + Value::bool(rt::is_truthy(interp, &__t266)?) } }; - if match rt::is_truthy(interp, &__t306) { + if match rt::is_truthy(interp, &__t282) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t305 = { - let __t292 = { - let __t291 = v_V4500.clone(); - rt::hd(&__t291)? + let __t281 = { + let __t268 = { + let __t267 = v_V4500.clone(); + rt::hd(&__t267)? }; - let __t304 = { - let __t293 = Value::sym(interp.intern("-->")); - let __t303 = { - let __t301 = { - let __t294 = Value::sym(interp.intern("str")); - let __t300 = { - let __t296 = { - let __t295 = v_V4500.clone(); - rt::hd(&__t295)? + let __t280 = { + let __t269 = Value::sym(interp.intern_static("-->")); + let __t279 = { + let __t277 = { + let __t270 = Value::sym(interp.intern_static("str")); + let __t276 = { + let __t272 = { + let __t271 = v_V4500.clone(); + rt::hd(&__t271)? }; - let __t299 = { - let __t298 = { - let __t297 = v_V4500.clone(); - rt::tl(&__t297)? + let __t275 = { + let __t274 = { + let __t273 = v_V4500.clone(); + rt::tl(&__t273)? }; - rt::tl(&__t298)? + rt::tl(&__t274)? }; - rt::cons(&__t296, &__t299) + rt::cons(&__t272, &__t275) }; - rt::cons(&__t294, &__t300) + rt::cons(&__t270, &__t276) }; - let __t302 = Value::nil(); - rt::cons(&__t301, &__t302) + let __t278 = Value::nil(); + rt::cons(&__t277, &__t278) }; - rt::cons(&__t293, &__t303) + rt::cons(&__t269, &__t279) }; - rt::cons(&__t292, &__t304) + rt::cons(&__t268, &__t280) }; - v_V4500 = __t305; + v_V4500 = __t281; continue; } } else { { - let __t245 = { - let __t233 = { - let __t205 = v_V4500.clone(); - rt::is_cons(&__t205) + let __t229 = { + let __t217 = { + let __t193 = v_V4500.clone(); + rt::is_cons(&__t193) }; - if !rt::is_truthy(interp, &__t233)? { + if !rt::is_truthy(interp, &__t217)? { Value::bool(false) } else { - let __t234 = { - let __t231 = { - let __t207 = { - let __t206 = v_V4500.clone(); - rt::tl(&__t206)? + let __t218 = { + let __t215 = { + let __t195 = { + let __t194 = v_V4500.clone(); + rt::tl(&__t194)? }; - rt::is_cons(&__t207) + rt::is_cons(&__t195) }; - if !rt::is_truthy(interp, &__t231)? { + if !rt::is_truthy(interp, &__t215)? { Value::bool(false) } else { - let __t232 = { - let __t229 = { - let __t208 = Value::sym(interp.intern("*")); - let __t211 = { - let __t210 = { - let __t209 = v_V4500.clone(); - rt::tl(&__t209)? + let __t216 = { + let __t213 = Value::bool( + ({ + let __t197 = { + let __t196 = v_V4500.clone(); + rt::tl(&__t196)? }; - rt::hd(&__t210)? - }; - rt::eq(&__t208, &__t211) - }; - if !rt::is_truthy(interp, &__t229)? { + rt::hd(&__t197)? + }) + .as_sym() + == Some(interp.intern_static("*")), + ); + if !rt::is_truthy(interp, &__t213)? { Value::bool(false) } else { - let __t230 = { - let __t227 = { - let __t214 = { - let __t213 = { - let __t212 = v_V4500.clone(); - rt::tl(&__t212)? + let __t214 = { + let __t211 = { + let __t200 = { + let __t199 = { + let __t198 = v_V4500.clone(); + rt::tl(&__t198)? }; - rt::tl(&__t213)? + rt::tl(&__t199)? }; - rt::is_cons(&__t214) + rt::is_cons(&__t200) }; - if !rt::is_truthy(interp, &__t227)? { + if !rt::is_truthy(interp, &__t211)? { Value::bool(false) } else { - let __t228 = { - let __t225 = { - let __t218 = { - let __t217 = { - let __t216 = { - let __t215 = + let __t212 = { + let __t209 = { + let __t204 = { + let __t203 = { + let __t202 = { + let __t201 = v_V4500.clone(); - rt::tl(&__t215)? + rt::tl(&__t201)? }; - rt::tl(&__t216)? + rt::tl(&__t202)? }; - rt::tl(&__t217)? + rt::tl(&__t203)? }; - rt::is_cons(&__t218) + rt::is_cons(&__t204) }; - if !rt::is_truthy(interp, &__t225)? + if !rt::is_truthy(interp, &__t209)? { Value::bool(false) } else { - let __t226 = { - let __t219 = Value::sym( - interp.intern("*"), - ); - let __t224 = { - let __t223 = { - let __t222 = { - let __t221 = { - let __t220 = v_V4500.clone(); - rt::tl( - &__t220, - )? - }; - rt::tl(&__t221)? - }; - rt::tl(&__t222)? - }; - rt::hd(&__t223)? - }; - rt::eq(&__t219, &__t224) - }; + let __t210 = Value::bool(({ let __t208 = { let __t207 = { let __t206 = { let __t205 = v_V4500.clone(); rt::tl(&__t205)? }; rt::tl(&__t206)? }; rt::tl(&__t207)? }; rt::hd(&__t208)? }).as_sym() == Some(interp.intern_static("*"))); Value::bool(rt::is_truthy( - interp, &__t226, + interp, &__t210, )?) } }; Value::bool(rt::is_truthy( - interp, &__t228, + interp, &__t212, )?) } }; - Value::bool(rt::is_truthy(interp, &__t230)?) + Value::bool(rt::is_truthy(interp, &__t214)?) } }; - Value::bool(rt::is_truthy(interp, &__t232)?) + Value::bool(rt::is_truthy(interp, &__t216)?) } }; - Value::bool(rt::is_truthy(interp, &__t234)?) + Value::bool(rt::is_truthy(interp, &__t218)?) } }; - if match rt::is_truthy(interp, &__t245) { + if match rt::is_truthy(interp, &__t229) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t244 = { - let __t236 = { - let __t235 = v_V4500.clone(); - rt::hd(&__t235)? + let __t228 = { + let __t220 = { + let __t219 = v_V4500.clone(); + rt::hd(&__t219)? }; - let __t243 = { - let __t237 = Value::sym(interp.intern("*")); - let __t242 = { - let __t240 = { - let __t239 = { - let __t238 = v_V4500.clone(); - rt::tl(&__t238)? + let __t227 = { + let __t221 = Value::sym(interp.intern_static("*")); + let __t226 = { + let __t224 = { + let __t223 = { + let __t222 = v_V4500.clone(); + rt::tl(&__t222)? }; - rt::tl(&__t239)? + rt::tl(&__t223)? }; - let __t241 = Value::nil(); - rt::cons(&__t240, &__t241) + let __t225 = Value::nil(); + rt::cons(&__t224, &__t225) }; - rt::cons(&__t237, &__t242) + rt::cons(&__t221, &__t226) }; - rt::cons(&__t236, &__t243) + rt::cons(&__t220, &__t227) }; - v_V4500 = __t244; + v_V4500 = __t228; continue; } } else { { - let __t204 = { - let __t200 = v_V4500.clone(); - rt::is_cons(&__t200) + let __t192 = { + let __t188 = v_V4500.clone(); + rt::is_cons(&__t188) }; - if match rt::is_truthy(interp, &__t204) { + if match rt::is_truthy(interp, &__t192) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t202 = { + let __t190 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z4501 = args[0].clone(); Ok({ - let __t201 = v_Z4501.clone(); - rt::apply_direct( + let __t189 = v_Z4501.clone(); + aot_shen_x2e_curry_x2d_type( interp, - "shen.curry-type", - &[__t201], + &[__t189], )? }) }, @@ -1452,13 +1387,13 @@ pub fn aot_shen_x2e_curry_x2d_type(interp: &mut Interp, args: &[Value]) -> ShenR interp, ) }; - let __t203 = v_V4500.clone(); - rt::apply_direct(interp, "map", &[__t202, __t203])? + let __t191 = v_V4500.clone(); + rt::apply_direct(interp, "map", &[__t190, __t191])? }); } else { { - let __t199 = Value::bool(true); - if match rt::is_truthy(interp, &__t199) { + let __t187 = Value::bool(true); + if match rt::is_truthy(interp, &__t187) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1498,394 +1433,382 @@ pub fn aot_shen_x2e_curry(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(v_V4502.clone()); } else { { - let __t443 = { - let __t432 = { - let __t412 = v_V4502.clone(); - rt::is_cons(&__t412) + let __t409 = { + let __t398 = { + let __t382 = v_V4502.clone(); + rt::is_cons(&__t382) }; - if !rt::is_truthy(interp, &__t432)? { + if !rt::is_truthy(interp, &__t398)? { Value::bool(false) } else { - let __t433 = { - let __t430 = { - let __t413 = Value::sym(interp.intern("type")); - let __t415 = { - let __t414 = v_V4502.clone(); - rt::hd(&__t414)? - }; - rt::eq(&__t413, &__t415) - }; - if !rt::is_truthy(interp, &__t430)? { + let __t399 = { + let __t396 = Value::bool( + ({ + let __t383 = v_V4502.clone(); + rt::hd(&__t383)? + }) + .as_sym() + == Some(interp.intern_static("type")), + ); + if !rt::is_truthy(interp, &__t396)? { Value::bool(false) } else { - let __t431 = { - let __t428 = { - let __t417 = { - let __t416 = v_V4502.clone(); - rt::tl(&__t416)? + let __t397 = { + let __t394 = { + let __t385 = { + let __t384 = v_V4502.clone(); + rt::tl(&__t384)? }; - rt::is_cons(&__t417) + rt::is_cons(&__t385) }; - if !rt::is_truthy(interp, &__t428)? { + if !rt::is_truthy(interp, &__t394)? { Value::bool(false) } else { - let __t429 = { - let __t426 = { - let __t420 = { - let __t419 = { - let __t418 = v_V4502.clone(); - rt::tl(&__t418)? + let __t395 = { + let __t392 = { + let __t388 = { + let __t387 = { + let __t386 = v_V4502.clone(); + rt::tl(&__t386)? }; - rt::tl(&__t419)? + rt::tl(&__t387)? }; - rt::is_cons(&__t420) + rt::is_cons(&__t388) }; - if !rt::is_truthy(interp, &__t426)? { + if !rt::is_truthy(interp, &__t392)? { Value::bool(false) } else { - let __t427 = { - let __t421 = Value::nil(); - let __t425 = { - let __t424 = { - let __t423 = { - let __t422 = v_V4502.clone(); - rt::tl(&__t422)? + let __t393 = Value::bool( + ({ + let __t391 = { + let __t390 = { + let __t389 = v_V4502.clone(); + rt::tl(&__t389)? }; - rt::tl(&__t423)? + rt::tl(&__t390)? }; - rt::tl(&__t424)? - }; - rt::eq(&__t421, &__t425) - }; - Value::bool(rt::is_truthy(interp, &__t427)?) + rt::tl(&__t391)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t393)?) } }; - Value::bool(rt::is_truthy(interp, &__t429)?) + Value::bool(rt::is_truthy(interp, &__t395)?) } }; - Value::bool(rt::is_truthy(interp, &__t431)?) + Value::bool(rt::is_truthy(interp, &__t397)?) } }; - Value::bool(rt::is_truthy(interp, &__t433)?) + Value::bool(rt::is_truthy(interp, &__t399)?) } }; - if match rt::is_truthy(interp, &__t443) { + if match rt::is_truthy(interp, &__t409) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t434 = Value::sym(interp.intern("type")); - let __t442 = { - let __t438 = { - let __t437 = { - let __t436 = { - let __t435 = v_V4502.clone(); - rt::tl(&__t435)? + let __t400 = Value::sym(interp.intern_static("type")); + let __t408 = { + let __t404 = { + let __t403 = { + let __t402 = { + let __t401 = v_V4502.clone(); + rt::tl(&__t401)? }; - rt::hd(&__t436)? + rt::hd(&__t402)? }; - rt::apply_direct(interp, "shen.curry", &[__t437])? + aot_shen_x2e_curry(interp, &[__t403])? }; - let __t441 = { - let __t440 = { - let __t439 = v_V4502.clone(); - rt::tl(&__t439)? + let __t407 = { + let __t406 = { + let __t405 = v_V4502.clone(); + rt::tl(&__t405)? }; - rt::tl(&__t440)? + rt::tl(&__t406)? }; - rt::cons(&__t438, &__t441) + rt::cons(&__t404, &__t407) }; - rt::cons(&__t434, &__t442) + rt::cons(&__t400, &__t408) }); } else { { - let __t411 = { - let __t402 = { - let __t399 = v_V4502.clone(); - rt::is_cons(&__t399) + let __t381 = { + let __t372 = { + let __t369 = v_V4502.clone(); + rt::is_cons(&__t369) }; - if !rt::is_truthy(interp, &__t402)? { + if !rt::is_truthy(interp, &__t372)? { Value::bool(false) } else { - let __t403 = { - let __t401 = { - let __t400 = v_V4502.clone(); - rt::hd(&__t400)? + let __t373 = { + let __t371 = { + let __t370 = v_V4502.clone(); + rt::hd(&__t370)? }; - rt::apply_direct(interp, "shen.special?", &[__t401])? + aot_shen_x2e_special_x3f_(interp, &[__t371])? }; - Value::bool(rt::is_truthy(interp, &__t403)?) + Value::bool(rt::is_truthy(interp, &__t373)?) } }; - if match rt::is_truthy(interp, &__t411) { + if match rt::is_truthy(interp, &__t381) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t405 = { - let __t404 = v_V4502.clone(); - rt::hd(&__t404)? + let __t375 = { + let __t374 = v_V4502.clone(); + rt::hd(&__t374)? }; - let __t410 = { - let __t407 = { + let __t380 = { + let __t377 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z4503 = args[0].clone(); Ok({ - let __t406 = v_Z4503.clone(); - rt::apply_direct( - interp, - "shen.curry", - &[__t406], - )? + let __t376 = v_Z4503.clone(); + aot_shen_x2e_curry(interp, &[__t376])? }) }, Vec::new(), interp, ) }; - let __t409 = { - let __t408 = v_V4502.clone(); - rt::tl(&__t408)? + let __t379 = { + let __t378 = v_V4502.clone(); + rt::tl(&__t378)? }; - rt::apply_direct(interp, "map", &[__t407, __t409])? + rt::apply_direct(interp, "map", &[__t377, __t379])? }; - rt::cons(&__t405, &__t410) + rt::cons(&__t375, &__t380) }); } else { { - let __t398 = { - let __t396 = { - let __t393 = v_V4502.clone(); - rt::is_cons(&__t393) + let __t368 = { + let __t366 = { + let __t363 = v_V4502.clone(); + rt::is_cons(&__t363) }; - if !rt::is_truthy(interp, &__t396)? { + if !rt::is_truthy(interp, &__t366)? { Value::bool(false) } else { - let __t397 = { - let __t395 = { - let __t394 = v_V4502.clone(); - rt::hd(&__t394)? + let __t367 = { + let __t365 = { + let __t364 = v_V4502.clone(); + rt::hd(&__t364)? }; - rt::apply_direct( - interp, - "shen.extraspecial?", - &[__t395], - )? + aot_shen_x2e_extraspecial_x3f_(interp, &[__t365])? }; - Value::bool(rt::is_truthy(interp, &__t397)?) + Value::bool(rt::is_truthy(interp, &__t367)?) } }; - if match rt::is_truthy(interp, &__t398) { + if match rt::is_truthy(interp, &__t368) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V4502.clone()); } else { { - let __t392 = { - let __t378 = { - let __t370 = v_V4502.clone(); - rt::is_cons(&__t370) + let __t362 = { + let __t348 = { + let __t340 = v_V4502.clone(); + rt::is_cons(&__t340) }; - if !rt::is_truthy(interp, &__t378)? { + if !rt::is_truthy(interp, &__t348)? { Value::bool(false) } else { - let __t379 = { - let __t376 = { - let __t372 = { - let __t371 = v_V4502.clone(); - rt::tl(&__t371)? + let __t349 = { + let __t346 = { + let __t342 = { + let __t341 = v_V4502.clone(); + rt::tl(&__t341)? }; - rt::is_cons(&__t372) + rt::is_cons(&__t342) }; - if !rt::is_truthy(interp, &__t376)? { + if !rt::is_truthy(interp, &__t346)? { Value::bool(false) } else { - let __t377 = { - let __t375 = { - let __t374 = { - let __t373 = + let __t347 = { + let __t345 = { + let __t344 = { + let __t343 = v_V4502.clone(); - rt::tl(&__t373)? + rt::tl(&__t343)? }; - rt::tl(&__t374)? + rt::tl(&__t344)? }; - rt::is_cons(&__t375) + rt::is_cons(&__t345) }; Value::bool(rt::is_truthy( - interp, &__t377, + interp, &__t347, )?) } }; - Value::bool(rt::is_truthy(interp, &__t379)?) + Value::bool(rt::is_truthy(interp, &__t349)?) } }; - if match rt::is_truthy(interp, &__t392) { + if match rt::is_truthy(interp, &__t362) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t391 = { - let __t387 = { - let __t381 = { - let __t380 = v_V4502.clone(); - rt::hd(&__t380)? + let __t361 = { + let __t357 = { + let __t351 = { + let __t350 = v_V4502.clone(); + rt::hd(&__t350)? }; - let __t386 = { - let __t384 = { - let __t383 = { - let __t382 = + let __t356 = { + let __t354 = { + let __t353 = { + let __t352 = v_V4502.clone(); - rt::tl(&__t382)? + rt::tl(&__t352)? }; - rt::hd(&__t383)? + rt::hd(&__t353)? }; - let __t385 = Value::nil(); - rt::cons(&__t384, &__t385) + let __t355 = Value::nil(); + rt::cons(&__t354, &__t355) }; - rt::cons(&__t381, &__t386) + rt::cons(&__t351, &__t356) }; - let __t390 = { - let __t389 = { - let __t388 = v_V4502.clone(); - rt::tl(&__t388)? + let __t360 = { + let __t359 = { + let __t358 = v_V4502.clone(); + rt::tl(&__t358)? }; - rt::tl(&__t389)? + rt::tl(&__t359)? }; - rt::cons(&__t387, &__t390) + rt::cons(&__t357, &__t360) }; - v_V4502 = __t391; + v_V4502 = __t361; continue; } } else { { - let __t369 = { - let __t358 = { - let __t349 = v_V4502.clone(); - rt::is_cons(&__t349) + let __t339 = { + let __t328 = { + let __t321 = v_V4502.clone(); + rt::is_cons(&__t321) }; - if !rt::is_truthy(interp, &__t358)? { + if !rt::is_truthy(interp, &__t328)? { Value::bool(false) } else { - let __t359 = { - let __t356 = { - let __t351 = { - let __t350 = + let __t329 = { + let __t326 = { + let __t323 = { + let __t322 = v_V4502.clone(); - rt::tl(&__t350)? + rt::tl(&__t322)? }; - rt::is_cons(&__t351) + rt::is_cons(&__t323) }; - if !rt::is_truthy(interp, &__t356)? + if !rt::is_truthy(interp, &__t326)? { Value::bool(false) } else { - let __t357 = { - let __t352 = Value::nil(); - let __t355 = { - let __t354 = { - let __t353 = + let __t327 = Value::bool( + ({ + let __t325 = { + let __t324 = v_V4502.clone(); - rt::tl(&__t353)? + rt::tl(&__t324)? }; - rt::tl(&__t354)? - }; - rt::eq(&__t352, &__t355) - }; + rt::tl(&__t325)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t357, + interp, &__t327, )?) } }; Value::bool(rt::is_truthy( - interp, &__t359, + interp, &__t329, )?) } }; - if match rt::is_truthy(interp, &__t369) { + if match rt::is_truthy(interp, &__t339) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t362 = { - let __t361 = { - let __t360 = v_V4502.clone(); - rt::hd(&__t360)? + let __t332 = { + let __t331 = { + let __t330 = v_V4502.clone(); + rt::hd(&__t330)? }; - rt::apply_direct( + aot_shen_x2e_curry( interp, - "shen.curry", - &[__t361], + &[__t331], )? }; - let __t368 = { - let __t366 = { - let __t365 = { - let __t364 = { - let __t363 = + let __t338 = { + let __t336 = { + let __t335 = { + let __t334 = { + let __t333 = v_V4502.clone(); - rt::tl(&__t363)? + rt::tl(&__t333)? }; - rt::hd(&__t364)? + rt::hd(&__t334)? }; - rt::apply_direct( + aot_shen_x2e_curry( interp, - "shen.curry", - &[__t365], + &[__t335], )? }; - let __t367 = Value::nil(); - rt::cons(&__t366, &__t367) + let __t337 = Value::nil(); + rt::cons(&__t336, &__t337) }; - rt::cons(&__t362, &__t368) + rt::cons(&__t332, &__t338) }); } else { { - let __t348 = Value::bool(true); - if match rt::is_truthy(interp, &__t348) + let __t320 = Value::bool(true); + if match rt::is_truthy(interp, &__t320) { Ok(b) => b, Err(e) => break Err(e), @@ -1930,12 +1853,9 @@ pub fn aot_shen_x2e_special_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { break Ok({ - let __t455 = v_V4504.clone(); - let __t457 = { - let __t456 = Value::sym(interp.intern("shen.*special*")); - rt::apply_direct(interp, "value", &[__t456])? - }; - rt::apply_direct(interp, "element?", &[__t455, __t457])? + let __t419 = v_V4504.clone(); + let __t420 = rt::global_value(interp, "shen.*special*")?; + rt::apply_direct(interp, "element?", &[__t419, __t420])? }); } } @@ -1958,12 +1878,9 @@ pub fn aot_shen_x2e_extraspecial_x3f_(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { break Ok({ - let __t458 = v_V4505.clone(); - let __t460 = { - let __t459 = Value::sym(interp.intern("shen.*extraspecial*")); - rt::apply_direct(interp, "value", &[__t459])? - }; - rt::apply_direct(interp, "element?", &[__t458, __t460])? + let __t421 = v_V4505.clone(); + let __t422 = rt::global_value(interp, "shen.*extraspecial*")?; + rt::apply_direct(interp, "element?", &[__t421, __t422])? }); } } @@ -1997,30 +1914,29 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes loop { { let v_W4512 = { - let __t461 = v_V4510.clone(); - let __t462 = Value::int(1i64); - rt::add(&__t461, &__t462)? + let __t423 = v_V4510.clone(); + let __t424 = Value::int(1i64); + rt::add(&__t423, &__t424)? }; { let v_W4513 = { - let __t469 = { - let __t463 = v_V4509.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t463])? + let __t431 = { + let __t425 = v_V4509.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t425])? }; - if rt::is_truthy(interp, &__t469)? { + if rt::is_truthy(interp, &__t431)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t464 = - { rt::apply_direct(interp, "shen.maxinfexceeded?", &[])? }; - let __t465 = v_V4508.clone(); - let __t466 = v_V4509.clone(); - let __t467 = v_W4512.clone(); - let __t468 = v_V4511.clone(); + let __t426 = { aot_shen_x2e_maxinfexceeded_x3f_(interp, &[])? }; + let __t427 = v_V4508.clone(); + let __t428 = v_V4509.clone(); + let __t429 = v_W4512.clone(); + let __t430 = v_V4511.clone(); rt::apply_direct( interp, "when", - &[__t464, __t465, __t466, __t467, __t468], + &[__t426, __t427, __t428, __t429, __t430], )? } } @@ -2029,115 +1945,111 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes } }; { - let __t472 = { - let __t470 = v_W4513.clone(); - let __t471 = Value::bool(false); - rt::eq(&__t470, &__t471) + let __t434 = { + let __t432 = v_W4513.clone(); + let __t433 = Value::bool(false); + rt::eq(&__t432, &__t433) }; - if match rt::is_truthy(interp, &__t472) { + if match rt::is_truthy(interp, &__t434) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4514 = { - let __t523 = { - let __t473 = v_V4509.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t473])? + let __t472 = { + let __t435 = v_V4509.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t435])? }; - if rt::is_truthy(interp, &__t523)? { + if rt::is_truthy(interp, &__t472)? { { let v_W4515 = { - let __t474 = v_V4506.clone(); - let __t475 = v_V4508.clone(); + let __t436 = v_V4506.clone(); + let __t437 = v_V4508.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t474, __t475], + &[__t436, __t437], )? }; { - let __t522 = { - let __t476 = v_W4515.clone(); - rt::is_cons(&__t476) + let __t471 = { + let __t438 = v_W4515.clone(); + rt::is_cons(&__t438) }; - if rt::is_truthy(interp, &__t522)? { + if rt::is_truthy(interp, &__t471)? { { let v_W4516 = { - let __t477 = v_W4515.clone(); - rt::hd(&__t477)? + let __t439 = v_W4515.clone(); + rt::hd(&__t439)? }; { let v_W4517 = { - let __t479 = { - let __t478 = v_W4515.clone(); - rt::tl(&__t478)? + let __t441 = { + let __t440 = v_W4515.clone(); + rt::tl(&__t440)? }; - let __t480 = v_V4508.clone(); + let __t442 = v_V4508.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t479, __t480], + &[__t441, __t442], )? }; { - let __t521 = { - let __t481 = v_W4517.clone(); - rt::is_cons(&__t481) + let __t470 = { + let __t443 = v_W4517.clone(); + rt::is_cons(&__t443) }; - if rt::is_truthy(interp, &__t521)? { + if rt::is_truthy(interp, &__t470)? { { let v_W4518 = { - let __t482 = + let __t444 = v_W4517.clone(); - rt::hd(&__t482)? + rt::hd(&__t444)? }; { let v_W4519 = { - let __t484 = { - let __t483 = + let __t446 = { + let __t445 = v_W4517.clone(); - rt::tl(&__t483)? + rt::tl(&__t445)? }; - let __t485 = + let __t447 = v_V4508.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t484, __t485], + &[__t446, __t447], )? }; { - let __t520 = { - let __t486 = + let __t469 = { + let __t448 = v_W4519.clone(); - rt::is_cons(&__t486) + rt::is_cons(&__t448) }; if rt::is_truthy( - interp, &__t520, + interp, &__t469, )? { { let v_W4520 = { - let __t487 = v_W4519.clone(); + let __t449 = v_W4519.clone(); rt::hd( - &__t487, + &__t449, )? }; { let v_W4521 = { - let __t489 = { - let __t488 = v_W4519.clone(); - rt::tl(&__t488)? + let __t451 = { + let __t450 = v_W4519.clone(); + rt::tl(&__t450)? }; - let __t490 = v_V4508.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t489, __t490])? + let __t452 = v_V4508.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t451, __t452])? }; { - let __t519 = { - let __t491 = v_W4521.clone(); - let __t492 = Value::nil(); - rt::eq(&__t491, &__t492) - }; - if rt::is_truthy(interp, &__t519)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t498 = { let __t495 = { let __t493 = v_W4518.clone(); let __t494 = v_V4508.clone(); rt::apply_direct(interp, "shen.deref", &[__t493, __t494])? }; let __t497 = { let __t496 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t496])? }; rt::eq(&__t495, &__t497) }; let __t499 = v_V4508.clone(); let __t500 = v_V4509.clone(); let __t501 = v_W4512.clone(); let __t518 = { let v_V4507 = v_V4507.clone(); let v_V4508 = v_V4508.clone(); let v_V4509 = v_V4509.clone(); let v_V4511 = v_V4511.clone(); let v_W4512 = v_W4512.clone(); let v_W4516 = v_W4516.clone(); let v_W4520 = v_W4520.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t502 = { rt::apply_direct(interp, "shen.type-theory-enabled?", &[])? }; let __t503 = v_V4508.clone(); let __t504 = v_V4509.clone(); let __t505 = v_W4512.clone(); let __t517 = { let v_V4507 = v_V4507.clone(); let v_V4508 = v_V4508.clone(); let v_V4509 = v_V4509.clone(); let v_V4511 = v_V4511.clone(); let v_W4512 = v_W4512.clone(); let v_W4516 = v_W4516.clone(); let v_W4520 = v_W4520.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t506 = v_V4508.clone(); let __t507 = v_V4509.clone(); let __t508 = v_W4512.clone(); let __t516 = { let v_V4507 = v_V4507.clone(); let v_V4508 = v_V4508.clone(); let v_V4509 = v_V4509.clone(); let v_V4511 = v_V4511.clone(); let v_W4512 = v_W4512.clone(); let v_W4516 = v_W4516.clone(); let v_W4520 = v_W4520.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t509 = v_W4516.clone(); let __t510 = v_W4520.clone(); let __t511 = v_V4507.clone(); let __t512 = v_V4508.clone(); let __t513 = v_V4509.clone(); let __t514 = v_W4512.clone(); let __t515 = v_V4511.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t509, __t510, __t511, __t512, __t513, __t514, __t515])? }), vec![v_V4507, v_V4508, v_V4509, v_V4511, v_W4512, v_W4516, v_W4520], interp) }; rt::apply_direct(interp, "shen.cut", &[__t506, __t507, __t508, __t516])? }), vec![v_V4507, v_V4508, v_V4509, v_V4511, v_W4512, v_W4516, v_W4520], interp) }; rt::apply_direct(interp, "when", &[__t502, __t503, __t504, __t505, __t517])? }), vec![v_V4507, v_V4508, v_V4509, v_V4511, v_W4512, v_W4516, v_W4520], interp) }; rt::apply_direct(interp, "when", &[__t498, __t499, __t500, __t501, __t518])? } } } else { Value::bool(false) } + let __t468 = Value::bool((v_W4521.clone()).is_nil()); + if rt::is_truthy(interp, &__t468)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t467 = { let __t455 = { let __t453 = v_W4518.clone(); let __t454 = v_V4508.clone(); rt::apply_direct(interp, "shen.deref", &[__t453, __t454])? }; let __t456 = Value::sym(interp.intern_static(":")); rt::eq(&__t455, &__t456) }; let _ = v_V4508.clone(); let _ = v_V4509.clone(); let _ = v_W4512.clone(); if rt::is_truthy(interp, &__t467)? { { let __t466 = { aot_shen_x2e_type_x2d_theory_x2d_enabled_x3f_(interp, &[])? }; let _ = v_V4508.clone(); let _ = v_V4509.clone(); let _ = v_W4512.clone(); if rt::is_truthy(interp, &__t466)? { { let _ = v_V4508.clone(); let __t465 = v_V4509.clone(); let __n = v_W4512.clone(); let __t464 = { let __t457 = v_W4516.clone(); let __t458 = v_W4520.clone(); let __t459 = v_V4507.clone(); let __t460 = v_V4508.clone(); let __t461 = v_V4509.clone(); let __t462 = v_W4512.clone(); let __t463 = v_V4511.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t457, __t458, __t459, __t460, __t461, __t462, __t463])? }; if rt::is_truthy(interp, &rt::eq(&__t464, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t465])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t465])?; } } __t464 } } else { Value::bool(false) } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } @@ -2163,26 +2075,26 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes } }; { - let __t526 = { - let __t524 = v_W4514.clone(); - let __t525 = Value::bool(false); - rt::eq(&__t524, &__t525) + let __t475 = { + let __t473 = v_W4514.clone(); + let __t474 = Value::bool(false); + rt::eq(&__t473, &__t474) }; - if match rt::is_truthy(interp, &__t526) { + if match rt::is_truthy(interp, &__t475) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4522 = { - let __t540 = { - let __t527 = v_V4509.clone(); + let __t484 = { + let __t476 = v_V4509.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t527], + &[__t476], )? }; - if rt::is_truthy(interp, &__t540)? { + if rt::is_truthy(interp, &__t484)? { { let _ = { rt::apply_direct( @@ -2192,69 +2104,30 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes )? }; { - let __t529 = { - let __t528 = Value::sym( - interp.intern("shen.*spy*"), - ); - rt::apply_direct( - interp, - "value", - &[__t528], - )? - }; - let __t530 = v_V4508.clone(); - let __t531 = v_V4509.clone(); - let __t532 = v_W4512.clone(); - let __t539 = { - let v_V4506 = v_V4506.clone(); - let v_V4507 = v_V4507.clone(); - let v_V4508 = v_V4508.clone(); - let v_V4509 = v_V4509.clone(); - let v_V4511 = v_V4511.clone(); - let v_W4512 = v_W4512.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t533 = - v_V4506.clone(); - let __t534 = - v_V4507.clone(); - let __t535 = - v_V4508.clone(); - let __t536 = - v_V4509.clone(); - let __t537 = - v_W4512.clone(); - let __t538 = - v_V4511.clone(); - rt::apply_direct( - interp, - "shen.show", - &[ - __t533, __t534, - __t535, __t536, - __t537, __t538, - ], - )? - }) - }, - vec![ - v_V4506, v_V4507, v_V4508, - v_V4509, v_V4511, v_W4512, - ], - interp, - ) - }; - rt::apply_direct( - interp, - "when", - &[ - __t529, __t530, __t531, __t532, - __t539, - ], - )? + let __t483 = + rt::global_value(interp, "shen.*spy*")?; + let _ = v_V4508.clone(); + let _ = v_V4509.clone(); + let _ = v_W4512.clone(); + if rt::is_truthy(interp, &__t483)? { + { + let __t477 = v_V4506.clone(); + let __t478 = v_V4507.clone(); + let __t479 = v_V4508.clone(); + let __t480 = v_V4509.clone(); + let __t481 = v_W4512.clone(); + let __t482 = v_V4511.clone(); + aot_shen_x2e_show( + interp, + &[ + __t477, __t478, __t479, + __t480, __t481, __t482, + ], + )? + } + } else { + Value::bool(false) + } } } } else { @@ -2262,26 +2135,26 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes } }; { - let __t543 = { - let __t541 = v_W4522.clone(); - let __t542 = Value::bool(false); - rt::eq(&__t541, &__t542) + let __t487 = { + let __t485 = v_W4522.clone(); + let __t486 = Value::bool(false); + rt::eq(&__t485, &__t486) }; - if match rt::is_truthy(interp, &__t543) { + if match rt::is_truthy(interp, &__t487) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4523 = { - let __t553 = { - let __t544 = v_V4509.clone(); + let __t496 = { + let __t488 = v_V4509.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t544], + &[__t488], )? }; - if rt::is_truthy(interp, &__t553)? { + if rt::is_truthy(interp, &__t496)? { { let _ = { rt::apply_direct( @@ -2291,25 +2164,17 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes )? }; { - let __t545 = v_V4506.clone(); - let __t546 = v_V4507.clone(); - let __t548 = { - let __t547 = Value::sym( - interp.intern( - "shen.*datatypes*", - ), - ); - rt::apply_direct( - interp, - "value", - &[__t547], - )? - }; - let __t549 = v_V4508.clone(); - let __t550 = v_V4509.clone(); - let __t551 = v_W4512.clone(); - let __t552 = v_V4511.clone(); - rt::apply_direct(interp, "shen.search-user-datatypes", &[__t545, __t546, __t548, __t549, __t550, __t551, __t552])? + let __t489 = v_V4506.clone(); + let __t490 = v_V4507.clone(); + let __t491 = rt::global_value( + interp, + "shen.*datatypes*", + )?; + let __t492 = v_V4508.clone(); + let __t493 = v_V4509.clone(); + let __t494 = v_W4512.clone(); + let __t495 = v_V4511.clone(); + aot_shen_x2e_search_x2d_user_x2d_datatypes(interp, &[__t489, __t490, __t491, __t492, __t493, __t494, __t495])? } } } else { @@ -2317,22 +2182,22 @@ pub fn aot_shen_x2e_system_x2d_S(interp: &mut Interp, args: &[Value]) -> ShenRes } }; { - let __t556 = { - let __t554 = v_W4523.clone(); - let __t555 = Value::bool(false); - rt::eq(&__t554, &__t555) + let __t499 = { + let __t497 = v_W4523.clone(); + let __t498 = Value::bool(false); + rt::eq(&__t497, &__t498) }; - if match rt::is_truthy(interp, &__t556) { + if match rt::is_truthy(interp, &__t499) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t557 = v_V4509.clone(); - let __t558 = v_W4512.clone(); + let __t500 = v_V4509.clone(); + let __t501 = v_W4512.clone(); rt::apply_direct( interp, "shen.unlock", - &[__t557, __t558], + &[__t500, __t501], )? }); } else { @@ -2387,33 +2252,33 @@ pub fn aot_shen_x2e_show(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResul #[allow(clippy::never_loop)] loop { { - let __t620 = { - let __t606 = { - let __t584 = v_V4537.clone(); - rt::is_cons(&__t584) + let __t560 = { + let __t546 = { + let __t527 = v_V4537.clone(); + rt::is_cons(&__t527) }; - if !rt::is_truthy(interp, &__t606)? { + if !rt::is_truthy(interp, &__t546)? { Value::bool(false) } else { - let __t607 = { - let __t604 = { - let __t586 = { - let __t585 = v_V4537.clone(); - rt::tl(&__t585)? + let __t547 = { + let __t544 = { + let __t529 = { + let __t528 = v_V4537.clone(); + rt::tl(&__t528)? }; - rt::is_cons(&__t586) + rt::is_cons(&__t529) }; - if !rt::is_truthy(interp, &__t604)? { + if !rt::is_truthy(interp, &__t544)? { Value::bool(false) } else { - let __t605 = { - let __t602 = { - let __t589 = { - let __t588 = { - let __t587 = v_V4537.clone(); - rt::tl(&__t587)? + let __t545 = { + let __t542 = { + let __t532 = { + let __t531 = { + let __t530 = v_V4537.clone(); + rt::tl(&__t530)? }; - rt::tl(&__t588)? + rt::tl(&__t531)? }; - rt::is_cons(&__t589) + rt::is_cons(&__t532) }; - if !rt::is_truthy(interp, &__t602)? { + if !rt::is_truthy(interp, &__t542)? { Value::bool(false) } else { - let __t603 = { - let __t600 = { - let __t590 = Value::nil(); - let __t594 = { - let __t593 = { - let __t592 = { - let __t591 = v_V4537.clone(); - rt::tl(&__t591)? + let __t543 = { + let __t540 = Value::bool( + ({ + let __t535 = { + let __t534 = { + let __t533 = v_V4537.clone(); + rt::tl(&__t533)? }; - rt::tl(&__t592)? + rt::tl(&__t534)? }; - rt::tl(&__t593)? - }; - rt::eq(&__t590, &__t594) - }; - if !rt::is_truthy(interp, &__t600)? { + rt::tl(&__t535)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t540)? { Value::bool(false) } else { - let __t601 = { - let __t597 = { - let __t596 = { - let __t595 = v_V4537.clone(); - rt::tl(&__t595)? + let __t541 = { + let __t538 = { + let __t537 = { + let __t536 = v_V4537.clone(); + rt::tl(&__t536)? }; - rt::hd(&__t596)? + rt::hd(&__t537)? }; - let __t599 = { - let __t598 = Value::str(":"); - rt::apply_direct(interp, "intern", &[__t598])? - }; - rt::eq(&__t597, &__t599) + let __t539 = Value::sym(interp.intern_static(":")); + rt::eq(&__t538, &__t539) }; - Value::bool(rt::is_truthy(interp, &__t601)?) + Value::bool(rt::is_truthy(interp, &__t541)?) } }; - Value::bool(rt::is_truthy(interp, &__t603)?) + Value::bool(rt::is_truthy(interp, &__t543)?) } }; - Value::bool(rt::is_truthy(interp, &__t605)?) + Value::bool(rt::is_truthy(interp, &__t545)?) } }; - Value::bool(rt::is_truthy(interp, &__t607)?) + Value::bool(rt::is_truthy(interp, &__t547)?) } }; - if match rt::is_truthy(interp, &__t620) { + if match rt::is_truthy(interp, &__t560) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t609 = { - let __t608 = v_V4537.clone(); - rt::hd(&__t608)? + let __t549 = { + let __t548 = v_V4537.clone(); + rt::hd(&__t548)? }; - rt::apply_direct(interp, "shen.prterm", &[__t609])? + aot_shen_x2e_prterm(interp, &[__t549])? }; { let _ = { - let __t610 = Value::str(" : "); - let __t611 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t610, __t611])? + let __t550 = Value::str(" : "); + let __t551 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t550, __t551])? }; break Ok({ - let __t618 = { - let __t615 = { - let __t614 = { - let __t613 = { - let __t612 = v_V4537.clone(); - rt::tl(&__t612)? + let __t558 = { + let __t555 = { + let __t554 = { + let __t553 = { + let __t552 = v_V4537.clone(); + rt::tl(&__t552)? }; - rt::tl(&__t613)? + rt::tl(&__t553)? }; - rt::hd(&__t614)? + rt::hd(&__t554)? }; - let __t616 = Value::str(""); - let __t617 = Value::sym(interp.intern("shen.r")); - rt::apply_direct(interp, "shen.app", &[__t615, __t616, __t617])? + let __t556 = Value::str(""); + let __t557 = Value::sym(interp.intern_static("shen.r")); + rt::apply_direct(interp, "shen.app", &[__t555, __t556, __t557])? }; - let __t619 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t618, __t619])? + let __t559 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t558, __t559])? }); } } } else { { - let __t583 = Value::bool(true); - if match rt::is_truthy(interp, &__t583) { + let __t526 = Value::bool(true); + if match rt::is_truthy(interp, &__t526) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t582 = v_V4537.clone(); - rt::apply_direct(interp, "shen.prterm", &[__t582])? + let __t525 = v_V4537.clone(); + aot_shen_x2e_prterm(interp, &[__t525])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2651,147 +2512,146 @@ pub fn aot_shen_x2e_prterm(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { { let _ = { - let __t659 = Value::str("["); - let __t660 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t659, __t660])? + let __t595 = Value::str("["); + let __t596 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t595, __t596])? }; { let _ = { - let __t663 = { - let __t662 = { - let __t661 = v_V4538.clone(); - rt::tl(&__t661)? + let __t599 = { + let __t598 = { + let __t597 = v_V4538.clone(); + rt::tl(&__t597)? }; - rt::hd(&__t662)? + rt::hd(&__t598)? }; - rt::apply_direct(interp, "shen.prterm", &[__t663])? + aot_shen_x2e_prterm(interp, &[__t599])? }; { let _ = { - let __t667 = { - let __t666 = { - let __t665 = { - let __t664 = v_V4538.clone(); - rt::tl(&__t664)? + let __t603 = { + let __t602 = { + let __t601 = { + let __t600 = v_V4538.clone(); + rt::tl(&__t600)? }; - rt::tl(&__t665)? + rt::tl(&__t601)? }; - rt::hd(&__t666)? + rt::hd(&__t602)? }; - rt::apply_direct(interp, "shen.prtl", &[__t667])? + aot_shen_x2e_prtl(interp, &[__t603])? }; break Ok({ - let __t668 = Value::str("]"); - let __t669 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t668, __t669])? + let __t604 = Value::str("]"); + let __t605 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t604, __t605])? }); } } } } else { { - let __t636 = { - let __t623 = v_V4538.clone(); - rt::is_cons(&__t623) + let __t576 = { + let __t563 = v_V4538.clone(); + rt::is_cons(&__t563) }; - if match rt::is_truthy(interp, &__t636) { + if match rt::is_truthy(interp, &__t576) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t624 = Value::str("("); - let __t625 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t624, __t625])? + let __t564 = Value::str("("); + let __t565 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t564, __t565])? }; { let _ = { - let __t627 = { - let __t626 = v_V4538.clone(); - rt::hd(&__t626)? + let __t567 = { + let __t566 = v_V4538.clone(); + rt::hd(&__t566)? }; - rt::apply_direct(interp, "shen.prterm", &[__t627])? + aot_shen_x2e_prterm(interp, &[__t567])? }; { let _ = { - let __t631 = { + let __t571 = { rt::make_aot_closure( "", 1, @@ -2799,8 +2659,8 @@ pub fn aot_shen_x2e_prterm(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t621 = v_V4538.clone(); - rt::apply_direct(interp, "print", &[__t621])? + let __t561 = v_V4538.clone(); + rt::apply_direct(interp, "print", &[__t561])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2881,142 +2737,137 @@ pub fn aot_shen_x2e_prtl(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t706 = { - let __t695 = { - let __t675 = v_V4540.clone(); - rt::is_cons(&__t675) + let __t638 = { + let __t627 = { + let __t611 = v_V4540.clone(); + rt::is_cons(&__t611) }; - if !rt::is_truthy(interp, &__t695)? { + if !rt::is_truthy(interp, &__t627)? { Value::bool(false) } else { - let __t696 = { - let __t693 = { - let __t676 = Value::sym(interp.intern("cons")); - let __t678 = { - let __t677 = v_V4540.clone(); - rt::hd(&__t677)? - }; - rt::eq(&__t676, &__t678) - }; - if !rt::is_truthy(interp, &__t693)? { + let __t628 = { + let __t625 = Value::bool( + ({ + let __t612 = v_V4540.clone(); + rt::hd(&__t612)? + }) + .as_sym() + == Some(interp.intern_static("cons")), + ); + if !rt::is_truthy(interp, &__t625)? { Value::bool(false) } else { - let __t694 = { - let __t691 = { - let __t680 = { - let __t679 = v_V4540.clone(); - rt::tl(&__t679)? + let __t626 = { + let __t623 = { + let __t614 = { + let __t613 = v_V4540.clone(); + rt::tl(&__t613)? }; - rt::is_cons(&__t680) + rt::is_cons(&__t614) }; - if !rt::is_truthy(interp, &__t691)? { + if !rt::is_truthy(interp, &__t623)? { Value::bool(false) } else { - let __t692 = { - let __t689 = { - let __t683 = { - let __t682 = { - let __t681 = v_V4540.clone(); - rt::tl(&__t681)? + let __t624 = { + let __t621 = { + let __t617 = { + let __t616 = { + let __t615 = v_V4540.clone(); + rt::tl(&__t615)? }; - rt::tl(&__t682)? + rt::tl(&__t616)? }; - rt::is_cons(&__t683) + rt::is_cons(&__t617) }; - if !rt::is_truthy(interp, &__t689)? { + if !rt::is_truthy(interp, &__t621)? { Value::bool(false) } else { - let __t690 = { - let __t684 = Value::nil(); - let __t688 = { - let __t687 = { - let __t686 = { - let __t685 = v_V4540.clone(); - rt::tl(&__t685)? + let __t622 = Value::bool( + ({ + let __t620 = { + let __t619 = { + let __t618 = v_V4540.clone(); + rt::tl(&__t618)? }; - rt::tl(&__t686)? + rt::tl(&__t619)? }; - rt::tl(&__t687)? - }; - rt::eq(&__t684, &__t688) - }; - Value::bool(rt::is_truthy(interp, &__t690)?) + rt::tl(&__t620)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t622)?) } }; - Value::bool(rt::is_truthy(interp, &__t692)?) + Value::bool(rt::is_truthy(interp, &__t624)?) } }; - Value::bool(rt::is_truthy(interp, &__t694)?) + Value::bool(rt::is_truthy(interp, &__t626)?) } }; - Value::bool(rt::is_truthy(interp, &__t696)?) + Value::bool(rt::is_truthy(interp, &__t628)?) } }; - if match rt::is_truthy(interp, &__t706) { + if match rt::is_truthy(interp, &__t638) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t697 = Value::str(" "); - let __t698 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t697, __t698])? + let __t629 = Value::str(" "); + let __t630 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t629, __t630])? }; { let _ = { - let __t701 = { - let __t700 = { - let __t699 = v_V4540.clone(); - rt::tl(&__t699)? + let __t633 = { + let __t632 = { + let __t631 = v_V4540.clone(); + rt::tl(&__t631)? }; - rt::hd(&__t700)? + rt::hd(&__t632)? }; - rt::apply_direct(interp, "shen.prterm", &[__t701])? + aot_shen_x2e_prterm(interp, &[__t633])? }; { - let __t705 = { - let __t704 = { - let __t703 = { - let __t702 = v_V4540.clone(); - rt::tl(&__t702)? + let __t637 = { + let __t636 = { + let __t635 = { + let __t634 = v_V4540.clone(); + rt::tl(&__t634)? }; - rt::tl(&__t703)? + rt::tl(&__t635)? }; - rt::hd(&__t704)? + rt::hd(&__t636)? }; - v_V4540 = __t705; + v_V4540 = __t637; continue; } } } } else { { - let __t674 = Value::bool(true); - if match rt::is_truthy(interp, &__t674) { + let __t610 = Value::bool(true); + if match rt::is_truthy(interp, &__t610) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t671 = Value::str(" | "); - let __t672 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t671, __t672])? + let __t607 = Value::str(" | "); + let __t608 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t607, __t608])? }; break Ok({ - let __t673 = v_V4540.clone(); - rt::apply_direct(interp, "shen.prterm", &[__t673])? + let __t609 = v_V4540.clone(); + aot_shen_x2e_prterm(interp, &[__t609])? }); } } else { @@ -3050,66 +2901,62 @@ pub fn aot_shen_x2e_show_x2d_assumptions(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t731 = { - let __t727 = Value::nil(); - let __t728 = v_V4547.clone(); - rt::eq(&__t727, &__t728) - }; - if match rt::is_truthy(interp, &__t731) { + let __t659 = Value::bool((v_V4547.clone()).is_nil()); + if match rt::is_truthy(interp, &__t659) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t729 = Value::str("\n> "); - let __t730 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t729, __t730])? + let __t657 = Value::str("\n> "); + let __t658 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t657, __t658])? }); } else { { - let __t726 = { - let __t712 = v_V4547.clone(); - rt::is_cons(&__t712) + let __t656 = { + let __t642 = v_V4547.clone(); + rt::is_cons(&__t642) }; - if match rt::is_truthy(interp, &__t726) { + if match rt::is_truthy(interp, &__t656) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t716 = { - let __t713 = v_V4548.clone(); - let __t714 = Value::str(". "); - let __t715 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t713, __t714, __t715])? + let __t646 = { + let __t643 = v_V4548.clone(); + let __t644 = Value::str(". "); + let __t645 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t643, __t644, __t645])? }; - let __t717 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t716, __t717])? + let __t647 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t646, __t647])? }; { let _ = { - let __t719 = { - let __t718 = v_V4547.clone(); - rt::hd(&__t718)? + let __t649 = { + let __t648 = v_V4547.clone(); + rt::hd(&__t648)? }; - rt::apply_direct(interp, "shen.show-p", &[__t719])? + aot_shen_x2e_show_x2d_p(interp, &[__t649])? }; { let _ = { - let __t720 = Value::int(1i64); - rt::apply_direct(interp, "nl", &[__t720])? + let __t650 = Value::int(1i64); + rt::apply_direct(interp, "nl", &[__t650])? }; { - let __t722 = { - let __t721 = v_V4547.clone(); - rt::tl(&__t721)? + let __t652 = { + let __t651 = v_V4547.clone(); + rt::tl(&__t651)? }; - let __t725 = { - let __t723 = v_V4548.clone(); - let __t724 = Value::int(1i64); - rt::add(&__t723, &__t724)? + let __t655 = { + let __t653 = v_V4548.clone(); + let __t654 = Value::int(1i64); + rt::add(&__t653, &__t654)? }; - v_V4547 = __t722; - v_V4548 = __t725; + v_V4547 = __t652; + v_V4548 = __t655; continue; } } @@ -3117,15 +2964,15 @@ pub fn aot_shen_x2e_show_x2d_assumptions(interp: &mut Interp, args: &[Value]) -> } } else { { - let __t711 = Value::bool(true); - if match rt::is_truthy(interp, &__t711) { + let __t641 = Value::bool(true); + if match rt::is_truthy(interp, &__t641) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t710 = + let __t640 = Value::str("implementation error in shen.show-assumptions"); - rt::apply_direct(interp, "simple-error", &[__t710])? + rt::apply_direct(interp, "simple-error", &[__t640])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3162,27 +3009,27 @@ pub fn aot_shen_x2e_pause_x2d_for_x2d_user( loop { { let v_W4549 = { - let __t732 = { rt::apply_direct(interp, "stinput", &[])? }; - rt::apply_direct(interp, "read-byte", &[__t732])? + let __t660 = { rt::apply_direct(interp, "stinput", &[])? }; + rt::apply_direct(interp, "read-byte", &[__t660])? }; { - let __t735 = { - let __t733 = v_W4549.clone(); - let __t734 = Value::int(94i64); - rt::eq(&__t733, &__t734) + let __t663 = { + let __t661 = v_W4549.clone(); + let __t662 = Value::int(94i64); + rt::eq(&__t661, &__t662) }; - if match rt::is_truthy(interp, &__t735) { + if match rt::is_truthy(interp, &__t663) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t736 = Value::str("input aborted\n"); - rt::apply_direct(interp, "simple-error", &[__t736])? + let __t664 = Value::str("input aborted\n"); + rt::apply_direct(interp, "simple-error", &[__t664])? }); } else { break Ok({ - let __t737 = Value::int(1i64); - rt::apply_direct(interp, "nl", &[__t737])? + let __t665 = Value::int(1i64); + rt::apply_direct(interp, "nl", &[__t665])? }); } } @@ -3212,10 +3059,10 @@ pub fn aot_shen_x2e_type_x2d_theory_x2d_enabled_x3f_( } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t738 = Value::sym(interp.intern("shen.*shen-type-theory-enabled?*")); - rt::apply_direct(interp, "value", &[__t738])? - }); + break Ok(rt::global_value( + interp, + "shen.*shen-type-theory-enabled?*", + )?); } } @@ -3242,21 +3089,18 @@ pub fn aot_shen_x2e_maxinfexceeded_x3f_(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t742 = { - let __t739 = { rt::apply_direct(interp, "inferences", &[])? }; - let __t741 = { - let __t740 = Value::sym(interp.intern("shen.*maxinferences*")); - rt::apply_direct(interp, "value", &[__t740])? - }; - rt::gt(&__t739, &__t741)? + let __t668 = { + let __t666 = { rt::apply_direct(interp, "inferences", &[])? }; + let __t667 = rt::global_value(interp, "shen.*maxinferences*")?; + rt::gt(&__t666, &__t667)? }; - if match rt::is_truthy(interp, &__t742) { + if match rt::is_truthy(interp, &__t668) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t743 = Value::str("maximum inferences exceeded"); - rt::apply_direct(interp, "simple-error", &[__t743])? + let __t669 = Value::str("maximum inferences exceeded"); + rt::apply_direct(interp, "simple-error", &[__t669])? }); } else { break Ok(Value::bool(false)); @@ -3296,87 +3140,52 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S loop { { let v_W4557 = { - let __t744 = v_V4555.clone(); - let __t745 = Value::int(1i64); - rt::add(&__t744, &__t745)? + let __t670 = v_V4555.clone(); + let __t671 = Value::int(1i64); + rt::add(&__t670, &__t671)? }; { let v_W4558 = { - let __t766 = { - let __t746 = v_V4554.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t746])? + let __t686 = { + let __t672 = v_V4554.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t672])? }; - if rt::is_truthy(interp, &__t766)? { + if rt::is_truthy(interp, &__t686)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t748 = { - let __t747 = Value::sym(interp.intern("shen.*spy*")); - rt::apply_direct(interp, "value", &[__t747])? - }; - let __t749 = v_V4553.clone(); - let __t750 = v_V4554.clone(); - let __t751 = v_W4557.clone(); - let __t765 = { - let v_V4550 = v_V4550.clone(); - let v_V4551 = v_V4551.clone(); - let v_V4552 = v_V4552.clone(); - let v_V4553 = v_V4553.clone(); - let v_V4554 = v_V4554.clone(); - let v_V4556 = v_V4556.clone(); - let v_W4557 = v_W4557.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t759 = { - let __t752 = v_V4550.clone(); - let __t758 = { - let __t754 = { - let __t753 = Value::str(":"); - rt::apply_direct( - interp, - "intern", - &[__t753], - )? - }; - let __t757 = { - let __t755 = v_V4551.clone(); - let __t756 = Value::nil(); - rt::cons(&__t755, &__t756) - }; - rt::cons(&__t754, &__t757) - }; - rt::cons(&__t752, &__t758) + let __t685 = rt::global_value(interp, "shen.*spy*")?; + let _ = v_V4553.clone(); + let _ = v_V4554.clone(); + let _ = v_W4557.clone(); + if rt::is_truthy(interp, &__t685)? { + { + let __t679 = { + let __t673 = v_V4550.clone(); + let __t678 = { + let __t674 = Value::sym(interp.intern_static(":")); + let __t677 = { + let __t675 = v_V4551.clone(); + let __t676 = Value::nil(); + rt::cons(&__t675, &__t676) }; - let __t760 = v_V4552.clone(); - let __t761 = v_V4553.clone(); - let __t762 = v_V4554.clone(); - let __t763 = v_W4557.clone(); - let __t764 = v_V4556.clone(); - rt::apply_direct( - interp, - "shen.show", - &[ - __t759, __t760, __t761, __t762, __t763, - __t764, - ], - )? - }) - }, - vec![ - v_V4550, v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, - v_W4557, - ], - interp, - ) - }; - rt::apply_direct( - interp, - "when", - &[__t748, __t749, __t750, __t751, __t765], - )? + rt::cons(&__t674, &__t677) + }; + rt::cons(&__t673, &__t678) + }; + let __t680 = v_V4552.clone(); + let __t681 = v_V4553.clone(); + let __t682 = v_V4554.clone(); + let __t683 = v_W4557.clone(); + let __t684 = v_V4556.clone(); + aot_shen_x2e_show( + interp, + &[__t679, __t680, __t681, __t682, __t683, __t684], + )? + } + } else { + Value::bool(false) + } } } } else { @@ -3384,83 +3193,62 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t769 = { - let __t767 = v_W4558.clone(); - let __t768 = Value::bool(false); - rt::eq(&__t767, &__t768) + let __t689 = { + let __t687 = v_W4558.clone(); + let __t688 = Value::bool(false); + rt::eq(&__t687, &__t688) }; - if match rt::is_truthy(interp, &__t769) { + if match rt::is_truthy(interp, &__t689) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4559 = { - let __t786 = { - let __t770 = v_V4554.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t770])? + let __t702 = { + let __t690 = v_V4554.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t690])? }; - if rt::is_truthy(interp, &__t786)? { + if rt::is_truthy(interp, &__t702)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t775 = { - let __t774 = { - let __t773 = { - let __t771 = v_V4550.clone(); - let __t772 = v_V4553.clone(); + let __t701 = { + let __t694 = { + let __t693 = { + let __t691 = v_V4550.clone(); + let __t692 = v_V4553.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t771, __t772], + &[__t691, __t692], )? }; - rt::is_cons(&__t773) + rt::is_cons(&__t693) }; - rt::apply_direct(interp, "not", &[__t774])? + rt::not(interp, &__t694)? }; - let __t776 = v_V4553.clone(); - let __t777 = v_V4554.clone(); - let __t778 = v_W4557.clone(); - let __t785 = { - let v_V4550 = v_V4550.clone(); - let v_V4551 = v_V4551.clone(); - let v_V4553 = v_V4553.clone(); - let v_V4554 = v_V4554.clone(); - let v_V4556 = v_V4556.clone(); - let v_W4557 = v_W4557.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t779 = v_V4550.clone(); - let __t780 = v_V4551.clone(); - let __t781 = v_V4553.clone(); - let __t782 = v_V4554.clone(); - let __t783 = v_W4557.clone(); - let __t784 = v_V4556.clone(); - rt::apply_direct( - interp, - "shen.primitive", - &[ - __t779, __t780, __t781, __t782, - __t783, __t784, - ], - )? - }) - }, - vec![ - v_V4550, v_V4551, v_V4553, v_V4554, - v_V4556, v_W4557, - ], - interp, - ) - }; - rt::apply_direct( - interp, - "when", - &[__t775, __t776, __t777, __t778, __t785], - )? + let _ = v_V4553.clone(); + let _ = v_V4554.clone(); + let _ = v_W4557.clone(); + if rt::is_truthy(interp, &__t701)? { + { + let __t695 = v_V4550.clone(); + let __t696 = v_V4551.clone(); + let __t697 = v_V4553.clone(); + let __t698 = v_V4554.clone(); + let __t699 = v_W4557.clone(); + let __t700 = v_V4556.clone(); + aot_shen_x2e_primitive( + interp, + &[ + __t695, __t696, __t697, __t698, __t699, + __t700, + ], + )? + } + } else { + Value::bool(false) + } } } } else { @@ -3468,26 +3256,26 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t789 = { - let __t787 = v_W4559.clone(); - let __t788 = Value::bool(false); - rt::eq(&__t787, &__t788) + let __t705 = { + let __t703 = v_W4559.clone(); + let __t704 = Value::bool(false); + rt::eq(&__t703, &__t704) }; - if match rt::is_truthy(interp, &__t789) { + if match rt::is_truthy(interp, &__t705) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4560 = { - let __t798 = { - let __t790 = v_V4554.clone(); + let __t714 = { + let __t706 = v_V4554.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t790], + &[__t706], )? }; - if rt::is_truthy(interp, &__t798)? { + if rt::is_truthy(interp, &__t714)? { { let _ = { rt::apply_direct( @@ -3497,19 +3285,18 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S )? }; { - let __t791 = v_V4550.clone(); - let __t792 = v_V4551.clone(); - let __t793 = v_V4552.clone(); - let __t794 = v_V4553.clone(); - let __t795 = v_V4554.clone(); - let __t796 = v_W4557.clone(); - let __t797 = v_V4556.clone(); - rt::apply_direct( + let __t707 = v_V4550.clone(); + let __t708 = v_V4551.clone(); + let __t709 = v_V4552.clone(); + let __t710 = v_V4553.clone(); + let __t711 = v_V4554.clone(); + let __t712 = v_W4557.clone(); + let __t713 = v_V4556.clone(); + aot_shen_x2e_by_x2d_hypothesis( interp, - "shen.by-hypothesis", &[ - __t791, __t792, __t793, __t794, - __t795, __t796, __t797, + __t707, __t708, __t709, __t710, + __t711, __t712, __t713, ], )? } @@ -3519,75 +3306,68 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t801 = { - let __t799 = v_W4560.clone(); - let __t800 = Value::bool(false); - rt::eq(&__t799, &__t800) + let __t717 = { + let __t715 = v_W4560.clone(); + let __t716 = Value::bool(false); + rt::eq(&__t715, &__t716) }; - if match rt::is_truthy(interp, &__t801) { + if match rt::is_truthy(interp, &__t717) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4561 = { - let __t824 = { - let __t802 = v_V4554.clone(); + let __t738 = { + let __t718 = v_V4554.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t802], + &[__t718], )? }; - if rt::is_truthy(interp, &__t824)? { + if rt::is_truthy(interp, &__t738)? { { let v_W4562 = { - let __t803 = v_V4550.clone(); - let __t804 = v_V4553.clone(); + let __t719 = v_V4550.clone(); + let __t720 = v_V4553.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t803, __t804], + &[__t719, __t720], )? }; { - let __t823 = { - let __t805 = + let __t737 = { + let __t721 = v_W4562.clone(); - rt::is_cons(&__t805) + rt::is_cons(&__t721) }; if rt::is_truthy( - interp, &__t823, + interp, &__t737, )? { { let v_W4563 = { - let __t806 = + let __t722 = v_W4562.clone(); - rt::hd(&__t806)? + rt::hd(&__t722)? }; { let v_W4564 = { - let __t808 = { - let __t807 = v_W4562.clone(); + let __t724 = { + let __t723 = v_W4562.clone(); rt::tl( - &__t807, + &__t723, )? }; - let __t809 = + let __t725 = v_V4553 .clone( ); - rt::apply_direct(interp, "shen.lazyderef", &[__t808, __t809])? + rt::apply_direct(interp, "shen.lazyderef", &[__t724, __t725])? }; { - let __t822 = { - let __t810 = v_W4564.clone(); - let __t811 = Value::nil(); - rt::eq( - &__t810, - &__t811, - ) - }; - if rt::is_truthy(interp, &__t822)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t812 = v_W4563.clone(); let __t817 = { let __t813 = Value::sym(interp.intern("-->")); let __t816 = { let __t814 = v_V4551.clone(); let __t815 = Value::nil(); rt::cons(&__t814, &__t815) }; rt::cons(&__t813, &__t816) }; let __t818 = v_V4553.clone(); let __t819 = v_V4554.clone(); let __t820 = v_W4557.clone(); let __t821 = v_V4556.clone(); rt::apply_direct(interp, "shen.lookupsig", &[__t812, __t817, __t818, __t819, __t820, __t821])? } } } else { Value::bool(false) } + let __t736 = Value::bool((v_W4564.clone()).is_nil()); + if rt::is_truthy(interp, &__t736)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t726 = v_W4563.clone(); let __t731 = { let __t727 = Value::sym(interp.intern_static("-->")); let __t730 = { let __t728 = v_V4551.clone(); let __t729 = Value::nil(); rt::cons(&__t728, &__t729) }; rt::cons(&__t727, &__t730) }; let __t732 = v_V4553.clone(); let __t733 = v_V4554.clone(); let __t734 = v_W4557.clone(); let __t735 = v_V4556.clone(); aot_shen_x2e_lookupsig(interp, &[__t726, __t731, __t732, __t733, __t734, __t735])? } } } else { Value::bool(false) } } } } @@ -3601,66 +3381,62 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t827 = { - let __t825 = v_W4561.clone(); - let __t826 = Value::bool(false); - rt::eq(&__t825, &__t826) + let __t741 = { + let __t739 = v_W4561.clone(); + let __t740 = Value::bool(false); + rt::eq(&__t739, &__t740) }; - if match rt::is_truthy(interp, &__t827) { + if match rt::is_truthy(interp, &__t741) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4565 = { - let __t874 = { - let __t828 = + let __t778 = { + let __t742 = v_V4554.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t828], + &[__t742], )? }; if rt::is_truthy( - interp, &__t874, + interp, &__t778, )? { { let v_W4566 = { - let __t829 = + let __t743 = v_V4550.clone(); - let __t830 = + let __t744 = v_V4553.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t829, __t830])? + rt::apply_direct(interp, "shen.lazyderef", &[__t743, __t744])? }; { - let __t873 = { - let __t831 = + let __t777 = { + let __t745 = v_W4566 .clone( ); rt::is_cons( - &__t831, + &__t745, ) }; if rt::is_truthy( - interp, &__t873, + interp, &__t777, )? { { let v_W4567 = { - let __t833 = { - let __t832 = v_W4566.clone(); - rt::hd(&__t832)? + let __t747 = { + let __t746 = v_W4566.clone(); + rt::hd(&__t746)? }; - let __t834 = v_V4553.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t833, __t834])? + let __t748 = v_V4553.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t747, __t748])? }; { - let __t872 = { - let __t835 = v_W4567.clone(); - let __t836 = Value::sym(interp.intern("fn")); - rt::eq(&__t835, &__t836) - }; - if rt::is_truthy(interp, &__t872)? { { let v_W4568 = { let __t838 = { let __t837 = v_W4566.clone(); rt::tl(&__t837)? }; let __t839 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t838, __t839])? }; { let __t871 = { let __t840 = v_W4568.clone(); rt::is_cons(&__t840) }; if rt::is_truthy(interp, &__t871)? { { let v_W4569 = { let __t841 = v_W4568.clone(); rt::hd(&__t841)? }; { let v_W4570 = { let __t843 = { let __t842 = v_W4568.clone(); rt::tl(&__t842)? }; let __t844 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t843, __t844])? }; { let __t870 = { let __t845 = v_W4570.clone(); let __t846 = Value::nil(); rt::eq(&__t845, &__t846) }; if rt::is_truthy(interp, &__t870)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t852 = { let __t850 = { let __t849 = { let __t847 = v_W4569.clone(); let __t848 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t847, __t848])? }; rt::apply_direct(interp, "arity", &[__t849])? }; let __t851 = Value::int(0i64); rt::eq(&__t850, &__t851) }; let __t853 = v_V4553.clone(); let __t854 = v_V4554.clone(); let __t855 = v_W4557.clone(); let __t869 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4569 = v_W4569.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t856 = v_V4553.clone(); let __t857 = v_V4554.clone(); let __t858 = v_W4557.clone(); let __t868 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4569 = v_W4569.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t861 = { let __t859 = v_W4569.clone(); let __t860 = Value::nil(); rt::cons(&__t859, &__t860) }; let __t862 = v_V4551.clone(); let __t863 = v_V4552.clone(); let __t864 = v_V4553.clone(); let __t865 = v_V4554.clone(); let __t866 = v_W4557.clone(); let __t867 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t861, __t862, __t863, __t864, __t865, __t866, __t867])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4569], interp) }; rt::apply_direct(interp, "shen.cut", &[__t856, __t857, __t858, __t868])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4569], interp) }; rt::apply_direct(interp, "when", &[__t852, __t853, __t854, __t855, __t869])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + let __t776 = Value::bool((v_W4567.clone()).as_sym() == Some(interp.intern_static("fn"))); + if rt::is_truthy(interp, &__t776)? { { let v_W4568 = { let __t750 = { let __t749 = v_W4566.clone(); rt::tl(&__t749)? }; let __t751 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t750, __t751])? }; { let __t775 = { let __t752 = v_W4568.clone(); rt::is_cons(&__t752) }; if rt::is_truthy(interp, &__t775)? { { let v_W4569 = { let __t753 = v_W4568.clone(); rt::hd(&__t753)? }; { let v_W4570 = { let __t755 = { let __t754 = v_W4568.clone(); rt::tl(&__t754)? }; let __t756 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t755, __t756])? }; { let __t774 = Value::bool((v_W4570.clone()).is_nil()); if rt::is_truthy(interp, &__t774)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t773 = { let __t760 = { let __t759 = { let __t757 = v_W4569.clone(); let __t758 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t757, __t758])? }; rt::apply_direct(interp, "arity", &[__t759])? }; let __t761 = Value::int(0i64); rt::eq(&__t760, &__t761) }; let _ = v_V4553.clone(); let _ = v_V4554.clone(); let _ = v_W4557.clone(); if rt::is_truthy(interp, &__t773)? { { let _ = v_V4553.clone(); let __t772 = v_V4554.clone(); let __n = v_W4557.clone(); let __t771 = { let __t764 = { let __t762 = v_W4569.clone(); let __t763 = Value::nil(); rt::cons(&__t762, &__t763) }; let __t765 = v_V4551.clone(); let __t766 = v_V4552.clone(); let __t767 = v_V4553.clone(); let __t768 = v_V4554.clone(); let __t769 = v_W4557.clone(); let __t770 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t764, __t765, __t766, __t767, __t768, __t769, __t770])? }; if rt::is_truthy(interp, &rt::eq(&__t771, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t772])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t772])?; } } __t771 } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -3675,43 +3451,43 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t877 = { - let __t875 = + let __t781 = { + let __t779 = v_W4565.clone(); - let __t876 = + let __t780 = Value::bool(false); - rt::eq(&__t875, &__t876) + rt::eq(&__t779, &__t780) }; if match rt::is_truthy( - interp, &__t877, + interp, &__t781, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4571 = { - let __t907 = { - let __t878 = + let __t807 = { + let __t782 = v_V4554 .clone( ); - rt::apply_direct(interp, "shen.unlocked?", &[__t878])? + rt::apply_direct(interp, "shen.unlocked?", &[__t782])? }; if rt::is_truthy( - interp, &__t907, + interp, &__t807, )? { { let v_W4572 = { - let __t879 = v_V4550.clone(); - let __t880 = v_V4553.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t879, __t880])? + let __t783 = v_V4550.clone(); + let __t784 = v_V4553.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t783, __t784])? }; { - let __t906 = { - let __t881 = v_W4572.clone(); - rt::is_cons(&__t881) + let __t806 = { + let __t785 = v_W4572.clone(); + rt::is_cons(&__t785) }; - if rt::is_truthy(interp, &__t906)? { { let v_W4573 = { let __t883 = { let __t882 = v_W4572.clone(); rt::hd(&__t882)? }; let __t884 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t883, __t884])? }; { let __t905 = { let __t885 = v_W4573.clone(); let __t886 = Value::sym(interp.intern("fn")); rt::eq(&__t885, &__t886) }; if rt::is_truthy(interp, &__t905)? { { let v_W4574 = { let __t888 = { let __t887 = v_W4572.clone(); rt::tl(&__t887)? }; let __t889 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t888, __t889])? }; { let __t904 = { let __t890 = v_W4574.clone(); rt::is_cons(&__t890) }; if rt::is_truthy(interp, &__t904)? { { let v_W4575 = { let __t891 = v_W4574.clone(); rt::hd(&__t891)? }; { let v_W4576 = { let __t893 = { let __t892 = v_W4574.clone(); rt::tl(&__t892)? }; let __t894 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t893, __t894])? }; { let __t903 = { let __t895 = v_W4576.clone(); let __t896 = Value::nil(); rt::eq(&__t895, &__t896) }; if rt::is_truthy(interp, &__t903)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t897 = v_W4575.clone(); let __t898 = v_V4551.clone(); let __t899 = v_V4553.clone(); let __t900 = v_V4554.clone(); let __t901 = v_W4557.clone(); let __t902 = v_V4556.clone(); rt::apply_direct(interp, "shen.lookupsig", &[__t897, __t898, __t899, __t900, __t901, __t902])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t806)? { { let v_W4573 = { let __t787 = { let __t786 = v_W4572.clone(); rt::hd(&__t786)? }; let __t788 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t787, __t788])? }; { let __t805 = Value::bool((v_W4573.clone()).as_sym() == Some(interp.intern_static("fn"))); if rt::is_truthy(interp, &__t805)? { { let v_W4574 = { let __t790 = { let __t789 = v_W4572.clone(); rt::tl(&__t789)? }; let __t791 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t790, __t791])? }; { let __t804 = { let __t792 = v_W4574.clone(); rt::is_cons(&__t792) }; if rt::is_truthy(interp, &__t804)? { { let v_W4575 = { let __t793 = v_W4574.clone(); rt::hd(&__t793)? }; { let v_W4576 = { let __t795 = { let __t794 = v_W4574.clone(); rt::tl(&__t794)? }; let __t796 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t795, __t796])? }; { let __t803 = Value::bool((v_W4576.clone()).is_nil()); if rt::is_truthy(interp, &__t803)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t797 = v_W4575.clone(); let __t798 = v_V4551.clone(); let __t799 = v_V4553.clone(); let __t800 = v_V4554.clone(); let __t801 = v_W4557.clone(); let __t802 = v_V4556.clone(); aot_shen_x2e_lookupsig(interp, &[__t797, __t798, __t799, __t800, __t801, __t802])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -3721,21 +3497,21 @@ pub fn aot_shen_x2e_system_x2d_S_x2d_h(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t910 = { - let __t908 = + let __t810 = { + let __t808 = v_W4571 .clone( ); - let __t909 = + let __t809 = Value::bool( false, ); rt::eq( - &__t908, - &__t909, + &__t808, + &__t809, ) }; - if match rt::is_truthy(interp, &__t910) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4577 = { let __t960 = { let __t911 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t911])? }; if rt::is_truthy(interp, &__t960)? { { let v_W4578 = { let __t912 = v_V4550.clone(); let __t913 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t912, __t913])? }; { let __t959 = { let __t914 = v_W4578.clone(); rt::is_cons(&__t914) }; if rt::is_truthy(interp, &__t959)? { { let v_W4579 = { let __t915 = v_W4578.clone(); rt::hd(&__t915)? }; { let v_W4580 = { let __t917 = { let __t916 = v_W4578.clone(); rt::tl(&__t916)? }; let __t918 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t917, __t918])? }; { let __t958 = { let __t919 = v_W4580.clone(); rt::is_cons(&__t919) }; if rt::is_truthy(interp, &__t958)? { { let v_W4581 = { let __t920 = v_W4580.clone(); rt::hd(&__t920)? }; { let v_W4582 = { let __t922 = { let __t921 = v_W4580.clone(); rt::tl(&__t921)? }; let __t923 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t922, __t923])? }; { let __t957 = { let __t924 = v_W4582.clone(); let __t925 = Value::nil(); rt::eq(&__t924, &__t925) }; if rt::is_truthy(interp, &__t957)? { { let v_W4583 = { let __t926 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t926])? }; { let __t927 = v_V4553.clone(); let __t956 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t932 = { let __t931 = { let __t930 = { let __t928 = v_W4579.clone(); let __t929 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t928, __t929])? }; rt::is_cons(&__t930) }; rt::apply_direct(interp, "not", &[__t931])? }; let __t933 = v_V4553.clone(); let __t934 = v_V4554.clone(); let __t935 = v_W4557.clone(); let __t955 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4579 = v_W4579.clone(); let v_W4581 = v_W4581.clone(); let v_W4583 = v_W4583.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t936 = v_W4579.clone(); let __t943 = { let __t937 = v_W4583.clone(); let __t942 = { let __t938 = Value::sym(interp.intern("-->")); let __t941 = { let __t939 = v_V4551.clone(); let __t940 = Value::nil(); rt::cons(&__t939, &__t940) }; rt::cons(&__t938, &__t941) }; rt::cons(&__t937, &__t942) }; let __t944 = v_V4553.clone(); let __t945 = v_V4554.clone(); let __t946 = v_W4557.clone(); let __t954 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4581 = v_W4581.clone(); let v_W4583 = v_W4583.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t947 = v_W4581.clone(); let __t948 = v_W4583.clone(); let __t949 = v_V4552.clone(); let __t950 = v_V4553.clone(); let __t951 = v_V4554.clone(); let __t952 = v_W4557.clone(); let __t953 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t947, __t948, __t949, __t950, __t951, __t952, __t953])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4581, v_W4583], interp) }; rt::apply_direct(interp, "shen.lookupsig", &[__t936, __t943, __t944, __t945, __t946, __t954])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4579, v_W4581, v_W4583], interp) }; rt::apply_direct(interp, "when", &[__t932, __t933, __t934, __t935, __t955])? } }; rt::apply_direct(interp, "shen.gc", &[__t927, __t956])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t963 = { let __t961 = v_W4577.clone(); let __t962 = Value::bool(false); rt::eq(&__t961, &__t962) }; if match rt::is_truthy(interp, &__t963) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4584 = { let __t1005 = { let __t964 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t964])? }; if rt::is_truthy(interp, &__t1005)? { { let v_W4585 = { let __t965 = v_V4550.clone(); let __t966 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t965, __t966])? }; { let __t1004 = { let __t967 = v_W4585.clone(); rt::is_cons(&__t967) }; if rt::is_truthy(interp, &__t1004)? { { let v_W4586 = { let __t968 = v_W4585.clone(); rt::hd(&__t968)? }; { let v_W4587 = { let __t970 = { let __t969 = v_W4585.clone(); rt::tl(&__t969)? }; let __t971 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t970, __t971])? }; { let __t1003 = { let __t972 = v_W4587.clone(); rt::is_cons(&__t972) }; if rt::is_truthy(interp, &__t1003)? { { let v_W4588 = { let __t973 = v_W4587.clone(); rt::hd(&__t973)? }; { let v_W4589 = { let __t975 = { let __t974 = v_W4587.clone(); rt::tl(&__t974)? }; let __t976 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t975, __t976])? }; { let __t1002 = { let __t977 = v_W4589.clone(); let __t978 = Value::nil(); rt::eq(&__t977, &__t978) }; if rt::is_truthy(interp, &__t1002)? { { let v_W4590 = { let __t979 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t979])? }; { let __t980 = v_V4553.clone(); let __t1001 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t981 = v_W4586.clone(); let __t988 = { let __t982 = v_W4590.clone(); let __t987 = { let __t983 = Value::sym(interp.intern("-->")); let __t986 = { let __t984 = v_V4551.clone(); let __t985 = Value::nil(); rt::cons(&__t984, &__t985) }; rt::cons(&__t983, &__t986) }; rt::cons(&__t982, &__t987) }; let __t989 = v_V4552.clone(); let __t990 = v_V4553.clone(); let __t991 = v_V4554.clone(); let __t992 = v_W4557.clone(); let __t1000 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4588 = v_W4588.clone(); let v_W4590 = v_W4590.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t993 = v_W4588.clone(); let __t994 = v_W4590.clone(); let __t995 = v_V4552.clone(); let __t996 = v_V4553.clone(); let __t997 = v_V4554.clone(); let __t998 = v_W4557.clone(); let __t999 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t993, __t994, __t995, __t996, __t997, __t998, __t999])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4588, v_W4590], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t981, __t988, __t989, __t990, __t991, __t992, __t1000])? } }; rt::apply_direct(interp, "shen.gc", &[__t980, __t1001])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1008 = { let __t1006 = v_W4584.clone(); let __t1007 = Value::bool(false); rt::eq(&__t1006, &__t1007) }; if match rt::is_truthy(interp, &__t1008) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4591 = { let __t1118 = { let __t1009 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1009])? }; if rt::is_truthy(interp, &__t1118)? { { let v_W4592 = { let __t1010 = v_V4550.clone(); let __t1011 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1010, __t1011])? }; { let __t1117 = { let __t1012 = v_W4592.clone(); rt::is_cons(&__t1012) }; if rt::is_truthy(interp, &__t1117)? { { let v_W4593 = { let __t1014 = { let __t1013 = v_W4592.clone(); rt::hd(&__t1013)? }; let __t1015 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1014, __t1015])? }; { let __t1116 = { let __t1016 = v_W4593.clone(); let __t1017 = Value::sym(interp.intern("cons")); rt::eq(&__t1016, &__t1017) }; if rt::is_truthy(interp, &__t1116)? { { let v_W4594 = { let __t1019 = { let __t1018 = v_W4592.clone(); rt::tl(&__t1018)? }; let __t1020 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1019, __t1020])? }; { let __t1115 = { let __t1021 = v_W4594.clone(); rt::is_cons(&__t1021) }; if rt::is_truthy(interp, &__t1115)? { { let v_W4595 = { let __t1022 = v_W4594.clone(); rt::hd(&__t1022)? }; { let v_W4596 = { let __t1024 = { let __t1023 = v_W4594.clone(); rt::tl(&__t1023)? }; let __t1025 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1024, __t1025])? }; { let __t1114 = { let __t1026 = v_W4596.clone(); rt::is_cons(&__t1026) }; if rt::is_truthy(interp, &__t1114)? { { let v_W4597 = { let __t1027 = v_W4596.clone(); rt::hd(&__t1027)? }; { let v_W4598 = { let __t1029 = { let __t1028 = v_W4596.clone(); rt::tl(&__t1028)? }; let __t1030 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1029, __t1030])? }; { let __t1113 = { let __t1031 = v_W4598.clone(); let __t1032 = Value::nil(); rt::eq(&__t1031, &__t1032) }; if rt::is_truthy(interp, &__t1113)? { { let v_W4599 = { let __t1033 = v_V4551.clone(); let __t1034 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1033, __t1034])? }; { let v_W4600 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4595 = v_W4595.clone(); let v_W4597 = v_W4597.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4601 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1035 = v_W4595.clone(); let __t1036 = v_Z4601.clone(); let __t1037 = v_V4552.clone(); let __t1038 = v_V4553.clone(); let __t1039 = v_V4554.clone(); let __t1040 = v_W4557.clone(); let __t1052 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4597 = v_W4597.clone(); let v_Z4601 = v_Z4601.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1041 = v_W4597.clone(); let __t1046 = { let __t1042 = Value::sym(interp.intern("list")); let __t1045 = { let __t1043 = v_Z4601.clone(); let __t1044 = Value::nil(); rt::cons(&__t1043, &__t1044) }; rt::cons(&__t1042, &__t1045) }; let __t1047 = v_V4552.clone(); let __t1048 = v_V4553.clone(); let __t1049 = v_V4554.clone(); let __t1050 = v_W4557.clone(); let __t1051 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1041, __t1046, __t1047, __t1048, __t1049, __t1050, __t1051])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4597, v_Z4601], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1035, __t1036, __t1037, __t1038, __t1039, __t1040, __t1052])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4595, v_W4597], interp) }; { let __t1112 = { let __t1053 = v_W4599.clone(); rt::is_cons(&__t1053) }; if rt::is_truthy(interp, &__t1112)? { { let v_W4602 = { let __t1055 = { let __t1054 = v_W4599.clone(); rt::hd(&__t1054)? }; let __t1056 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1055, __t1056])? }; { let v_W4603 = { let v_V4553 = v_V4553.clone(); let v_W4599 = v_W4599.clone(); let v_W4600 = v_W4600.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4604 = { let __t1058 = { let __t1057 = v_W4599.clone(); rt::tl(&__t1057)? }; let __t1059 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1058, __t1059])? }; { let v_W4605 = { let v_W4600 = v_W4600.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4606 = args[0].clone(); Ok({ let __t1060 = v_Z4606.clone(); rt::apply_value(interp, v_W4600.clone(), &[__t1060])? }) }, vec![v_W4600], interp) }; { let __t1088 = { let __t1061 = v_W4604.clone(); rt::is_cons(&__t1061) }; if rt::is_truthy(interp, &__t1088)? { { let v_W4607 = { let __t1062 = v_W4604.clone(); rt::hd(&__t1062)? }; { let v_W4608 = { let __t1064 = { let __t1063 = v_W4604.clone(); rt::tl(&__t1063)? }; let __t1065 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1064, __t1065])? }; { let v_W4609 = { let v_W4605 = v_W4605.clone(); let v_W4607 = v_W4607.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1066 = v_W4607.clone(); rt::apply_value(interp, v_W4605.clone(), &[__t1066])? }), vec![v_W4605, v_W4607], interp) }; { let __t1075 = { let __t1067 = v_W4608.clone(); let __t1068 = Value::nil(); rt::eq(&__t1067, &__t1068) }; if rt::is_truthy(interp, &__t1075)? { rt::apply_value(interp, v_W4609.clone(), &[])? } else { { let __t1074 = { let __t1069 = v_W4608.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1069])? }; if rt::is_truthy(interp, &__t1074)? { { let __t1070 = v_W4608.clone(); let __t1071 = Value::nil(); let __t1072 = v_V4553.clone(); let __t1073 = v_W4609.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1070, __t1071, __t1072, __t1073])? } } else { Value::bool(false) } } } } } } } } else { { let __t1087 = { let __t1076 = v_W4604.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1076])? }; if rt::is_truthy(interp, &__t1087)? { { let v_W4610 = { let __t1077 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1077])? }; { let __t1078 = v_V4553.clone(); let __t1086 = { let __t1079 = v_W4604.clone(); let __t1082 = { let __t1080 = v_W4610.clone(); let __t1081 = Value::nil(); rt::cons(&__t1080, &__t1081) }; let __t1083 = v_V4553.clone(); let __t1085 = { let v_W4605 = v_W4605.clone(); let v_W4610 = v_W4610.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1084 = v_W4610.clone(); rt::apply_value(interp, v_W4605.clone(), &[__t1084])? }), vec![v_W4605, v_W4610], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1079, __t1082, __t1083, __t1085])? }; rt::apply_direct(interp, "shen.gc", &[__t1078, __t1086])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4599, v_W4600], interp) }; { let __t1097 = { let __t1089 = v_W4602.clone(); let __t1090 = Value::sym(interp.intern("list")); rt::eq(&__t1089, &__t1090) }; if rt::is_truthy(interp, &__t1097)? { rt::apply_value(interp, v_W4603.clone(), &[])? } else { { let __t1096 = { let __t1091 = v_W4602.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1091])? }; if rt::is_truthy(interp, &__t1096)? { { let __t1092 = v_W4602.clone(); let __t1093 = Value::sym(interp.intern("list")); let __t1094 = v_V4553.clone(); let __t1095 = v_W4603.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1092, __t1093, __t1094, __t1095])? } } else { Value::bool(false) } } } } } } } else { { let __t1111 = { let __t1098 = v_W4599.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1098])? }; if rt::is_truthy(interp, &__t1111)? { { let v_W4611 = { let __t1099 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1099])? }; { let __t1100 = v_V4553.clone(); let __t1110 = { let __t1101 = v_W4599.clone(); let __t1106 = { let __t1102 = Value::sym(interp.intern("list")); let __t1105 = { let __t1103 = v_W4611.clone(); let __t1104 = Value::nil(); rt::cons(&__t1103, &__t1104) }; rt::cons(&__t1102, &__t1105) }; let __t1107 = v_V4553.clone(); let __t1109 = { let v_W4600 = v_W4600.clone(); let v_W4611 = v_W4611.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1108 = v_W4611.clone(); rt::apply_value(interp, v_W4600.clone(), &[__t1108])? }), vec![v_W4600, v_W4611], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1101, __t1106, __t1107, __t1109])? }; rt::apply_direct(interp, "shen.gc", &[__t1100, __t1110])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1121 = { let __t1119 = v_W4591.clone(); let __t1120 = Value::bool(false); rt::eq(&__t1119, &__t1120) }; if match rt::is_truthy(interp, &__t1121) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4612 = { let __t1257 = { let __t1122 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1122])? }; if rt::is_truthy(interp, &__t1257)? { { let v_W4613 = { let __t1123 = v_V4550.clone(); let __t1124 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1123, __t1124])? }; { let __t1256 = { let __t1125 = v_W4613.clone(); rt::is_cons(&__t1125) }; if rt::is_truthy(interp, &__t1256)? { { let v_W4614 = { let __t1127 = { let __t1126 = v_W4613.clone(); rt::hd(&__t1126)? }; let __t1128 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1127, __t1128])? }; { let __t1255 = { let __t1129 = v_W4614.clone(); let __t1130 = Value::sym(interp.intern("@p")); rt::eq(&__t1129, &__t1130) }; if rt::is_truthy(interp, &__t1255)? { { let v_W4615 = { let __t1132 = { let __t1131 = v_W4613.clone(); rt::tl(&__t1131)? }; let __t1133 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1132, __t1133])? }; { let __t1254 = { let __t1134 = v_W4615.clone(); rt::is_cons(&__t1134) }; if rt::is_truthy(interp, &__t1254)? { { let v_W4616 = { let __t1135 = v_W4615.clone(); rt::hd(&__t1135)? }; { let v_W4617 = { let __t1137 = { let __t1136 = v_W4615.clone(); rt::tl(&__t1136)? }; let __t1138 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1137, __t1138])? }; { let __t1253 = { let __t1139 = v_W4617.clone(); rt::is_cons(&__t1139) }; if rt::is_truthy(interp, &__t1253)? { { let v_W4618 = { let __t1140 = v_W4617.clone(); rt::hd(&__t1140)? }; { let v_W4619 = { let __t1142 = { let __t1141 = v_W4617.clone(); rt::tl(&__t1141)? }; let __t1143 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1142, __t1143])? }; { let __t1252 = { let __t1144 = v_W4619.clone(); let __t1145 = Value::nil(); rt::eq(&__t1144, &__t1145) }; if rt::is_truthy(interp, &__t1252)? { { let v_W4620 = { let __t1146 = v_V4551.clone(); let __t1147 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1146, __t1147])? }; { let v_W4621 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4616 = v_W4616.clone(); let v_W4618 = v_W4618.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4622 = args[0].clone(); Ok({ let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4616 = v_W4616.clone(); let v_W4618 = v_W4618.clone(); let v_Z4622 = v_Z4622.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4623 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1148 = v_W4616.clone(); let __t1149 = v_Z4622.clone(); let __t1150 = v_V4552.clone(); let __t1151 = v_V4553.clone(); let __t1152 = v_V4554.clone(); let __t1153 = v_W4557.clone(); let __t1161 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4618 = v_W4618.clone(); let v_Z4623 = v_Z4623.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1154 = v_W4618.clone(); let __t1155 = v_Z4623.clone(); let __t1156 = v_V4552.clone(); let __t1157 = v_V4553.clone(); let __t1158 = v_V4554.clone(); let __t1159 = v_W4557.clone(); let __t1160 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1154, __t1155, __t1156, __t1157, __t1158, __t1159, __t1160])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4618, v_Z4623], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1148, __t1149, __t1150, __t1151, __t1152, __t1153, __t1161])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4616, v_W4618, v_Z4622], interp) }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4616, v_W4618], interp) }; { let __t1251 = { let __t1162 = v_W4620.clone(); rt::is_cons(&__t1162) }; if rt::is_truthy(interp, &__t1251)? { { let v_W4624 = { let __t1163 = v_W4620.clone(); rt::hd(&__t1163)? }; { let v_W4625 = { let __t1165 = { let __t1164 = v_W4620.clone(); rt::tl(&__t1164)? }; let __t1166 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1165, __t1166])? }; { let v_W4626 = { let v_W4621 = v_W4621.clone(); let v_W4624 = v_W4624.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4627 = args[0].clone(); Ok({ let __t1168 = { let __t1167 = v_W4624.clone(); rt::apply_value(interp, v_W4621.clone(), &[__t1167])? }; let __t1169 = v_Z4627.clone(); rt::apply_value(interp, __t1168, &[__t1169])? }) }, vec![v_W4621, v_W4624], interp) }; { let __t1229 = { let __t1170 = v_W4625.clone(); rt::is_cons(&__t1170) }; if rt::is_truthy(interp, &__t1229)? { { let v_W4628 = { let __t1172 = { let __t1171 = v_W4625.clone(); rt::hd(&__t1171)? }; let __t1173 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1172, __t1173])? }; { let v_W4629 = { let v_V4553 = v_V4553.clone(); let v_W4625 = v_W4625.clone(); let v_W4626 = v_W4626.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4630 = { let __t1175 = { let __t1174 = v_W4625.clone(); rt::tl(&__t1174)? }; let __t1176 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1175, __t1176])? }; { let v_W4631 = { let v_W4626 = v_W4626.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4632 = args[0].clone(); Ok({ let __t1177 = v_Z4632.clone(); rt::apply_value(interp, v_W4626.clone(), &[__t1177])? }) }, vec![v_W4626], interp) }; { let __t1205 = { let __t1178 = v_W4630.clone(); rt::is_cons(&__t1178) }; if rt::is_truthy(interp, &__t1205)? { { let v_W4633 = { let __t1179 = v_W4630.clone(); rt::hd(&__t1179)? }; { let v_W4634 = { let __t1181 = { let __t1180 = v_W4630.clone(); rt::tl(&__t1180)? }; let __t1182 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1181, __t1182])? }; { let v_W4635 = { let v_W4631 = v_W4631.clone(); let v_W4633 = v_W4633.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1183 = v_W4633.clone(); rt::apply_value(interp, v_W4631.clone(), &[__t1183])? }), vec![v_W4631, v_W4633], interp) }; { let __t1192 = { let __t1184 = v_W4634.clone(); let __t1185 = Value::nil(); rt::eq(&__t1184, &__t1185) }; if rt::is_truthy(interp, &__t1192)? { rt::apply_value(interp, v_W4635.clone(), &[])? } else { { let __t1191 = { let __t1186 = v_W4634.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1186])? }; if rt::is_truthy(interp, &__t1191)? { { let __t1187 = v_W4634.clone(); let __t1188 = Value::nil(); let __t1189 = v_V4553.clone(); let __t1190 = v_W4635.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1187, __t1188, __t1189, __t1190])? } } else { Value::bool(false) } } } } } } } } else { { let __t1204 = { let __t1193 = v_W4630.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1193])? }; if rt::is_truthy(interp, &__t1204)? { { let v_W4636 = { let __t1194 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1194])? }; { let __t1195 = v_V4553.clone(); let __t1203 = { let __t1196 = v_W4630.clone(); let __t1199 = { let __t1197 = v_W4636.clone(); let __t1198 = Value::nil(); rt::cons(&__t1197, &__t1198) }; let __t1200 = v_V4553.clone(); let __t1202 = { let v_W4631 = v_W4631.clone(); let v_W4636 = v_W4636.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1201 = v_W4636.clone(); rt::apply_value(interp, v_W4631.clone(), &[__t1201])? }), vec![v_W4631, v_W4636], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1196, __t1199, __t1200, __t1202])? }; rt::apply_direct(interp, "shen.gc", &[__t1195, __t1203])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4625, v_W4626], interp) }; { let __t1214 = { let __t1206 = v_W4628.clone(); let __t1207 = Value::sym(interp.intern("*")); rt::eq(&__t1206, &__t1207) }; if rt::is_truthy(interp, &__t1214)? { rt::apply_value(interp, v_W4629.clone(), &[])? } else { { let __t1213 = { let __t1208 = v_W4628.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1208])? }; if rt::is_truthy(interp, &__t1213)? { { let __t1209 = v_W4628.clone(); let __t1210 = Value::sym(interp.intern("*")); let __t1211 = v_V4553.clone(); let __t1212 = v_W4629.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1209, __t1210, __t1211, __t1212])? } } else { Value::bool(false) } } } } } } } else { { let __t1228 = { let __t1215 = v_W4625.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1215])? }; if rt::is_truthy(interp, &__t1228)? { { let v_W4637 = { let __t1216 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1216])? }; { let __t1217 = v_V4553.clone(); let __t1227 = { let __t1218 = v_W4625.clone(); let __t1223 = { let __t1219 = Value::sym(interp.intern("*")); let __t1222 = { let __t1220 = v_W4637.clone(); let __t1221 = Value::nil(); rt::cons(&__t1220, &__t1221) }; rt::cons(&__t1219, &__t1222) }; let __t1224 = v_V4553.clone(); let __t1226 = { let v_W4626 = v_W4626.clone(); let v_W4637 = v_W4637.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1225 = v_W4637.clone(); rt::apply_value(interp, v_W4626.clone(), &[__t1225])? }), vec![v_W4626, v_W4637], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1218, __t1223, __t1224, __t1226])? }; rt::apply_direct(interp, "shen.gc", &[__t1217, __t1227])? } } } else { Value::bool(false) } } } } } } } } else { { let __t1250 = { let __t1230 = v_W4620.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1230])? }; if rt::is_truthy(interp, &__t1250)? { { let v_W4638 = { let __t1231 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1231])? }; { let __t1232 = v_V4553.clone(); let __t1249 = { let v_W4639 = { let __t1233 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1233])? }; { let __t1234 = v_V4553.clone(); let __t1248 = { let __t1235 = v_W4620.clone(); let __t1242 = { let __t1236 = v_W4638.clone(); let __t1241 = { let __t1237 = Value::sym(interp.intern("*")); let __t1240 = { let __t1238 = v_W4639.clone(); let __t1239 = Value::nil(); rt::cons(&__t1238, &__t1239) }; rt::cons(&__t1237, &__t1240) }; rt::cons(&__t1236, &__t1241) }; let __t1243 = v_V4553.clone(); let __t1247 = { let v_W4621 = v_W4621.clone(); let v_W4638 = v_W4638.clone(); let v_W4639 = v_W4639.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1245 = { let __t1244 = v_W4638.clone(); rt::apply_value(interp, v_W4621.clone(), &[__t1244])? }; let __t1246 = v_W4639.clone(); rt::apply_value(interp, __t1245, &[__t1246])? }), vec![v_W4621, v_W4638, v_W4639], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1235, __t1242, __t1243, __t1247])? }; rt::apply_direct(interp, "shen.gc", &[__t1234, __t1248])? } }; rt::apply_direct(interp, "shen.gc", &[__t1232, __t1249])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1260 = { let __t1258 = v_W4612.clone(); let __t1259 = Value::bool(false); rt::eq(&__t1258, &__t1259) }; if match rt::is_truthy(interp, &__t1260) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4640 = { let __t1370 = { let __t1261 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1261])? }; if rt::is_truthy(interp, &__t1370)? { { let v_W4641 = { let __t1262 = v_V4550.clone(); let __t1263 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1262, __t1263])? }; { let __t1369 = { let __t1264 = v_W4641.clone(); rt::is_cons(&__t1264) }; if rt::is_truthy(interp, &__t1369)? { { let v_W4642 = { let __t1266 = { let __t1265 = v_W4641.clone(); rt::hd(&__t1265)? }; let __t1267 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1266, __t1267])? }; { let __t1368 = { let __t1268 = v_W4642.clone(); let __t1269 = Value::sym(interp.intern("@v")); rt::eq(&__t1268, &__t1269) }; if rt::is_truthy(interp, &__t1368)? { { let v_W4643 = { let __t1271 = { let __t1270 = v_W4641.clone(); rt::tl(&__t1270)? }; let __t1272 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1271, __t1272])? }; { let __t1367 = { let __t1273 = v_W4643.clone(); rt::is_cons(&__t1273) }; if rt::is_truthy(interp, &__t1367)? { { let v_W4644 = { let __t1274 = v_W4643.clone(); rt::hd(&__t1274)? }; { let v_W4645 = { let __t1276 = { let __t1275 = v_W4643.clone(); rt::tl(&__t1275)? }; let __t1277 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1276, __t1277])? }; { let __t1366 = { let __t1278 = v_W4645.clone(); rt::is_cons(&__t1278) }; if rt::is_truthy(interp, &__t1366)? { { let v_W4646 = { let __t1279 = v_W4645.clone(); rt::hd(&__t1279)? }; { let v_W4647 = { let __t1281 = { let __t1280 = v_W4645.clone(); rt::tl(&__t1280)? }; let __t1282 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1281, __t1282])? }; { let __t1365 = { let __t1283 = v_W4647.clone(); let __t1284 = Value::nil(); rt::eq(&__t1283, &__t1284) }; if rt::is_truthy(interp, &__t1365)? { { let v_W4648 = { let __t1285 = v_V4551.clone(); let __t1286 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1285, __t1286])? }; { let v_W4649 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4644 = v_W4644.clone(); let v_W4646 = v_W4646.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4650 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1287 = v_W4644.clone(); let __t1288 = v_Z4650.clone(); let __t1289 = v_V4552.clone(); let __t1290 = v_V4553.clone(); let __t1291 = v_V4554.clone(); let __t1292 = v_W4557.clone(); let __t1304 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4646 = v_W4646.clone(); let v_Z4650 = v_Z4650.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1293 = v_W4646.clone(); let __t1298 = { let __t1294 = Value::sym(interp.intern("vector")); let __t1297 = { let __t1295 = v_Z4650.clone(); let __t1296 = Value::nil(); rt::cons(&__t1295, &__t1296) }; rt::cons(&__t1294, &__t1297) }; let __t1299 = v_V4552.clone(); let __t1300 = v_V4553.clone(); let __t1301 = v_V4554.clone(); let __t1302 = v_W4557.clone(); let __t1303 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1293, __t1298, __t1299, __t1300, __t1301, __t1302, __t1303])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4646, v_Z4650], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1287, __t1288, __t1289, __t1290, __t1291, __t1292, __t1304])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4644, v_W4646], interp) }; { let __t1364 = { let __t1305 = v_W4648.clone(); rt::is_cons(&__t1305) }; if rt::is_truthy(interp, &__t1364)? { { let v_W4651 = { let __t1307 = { let __t1306 = v_W4648.clone(); rt::hd(&__t1306)? }; let __t1308 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1307, __t1308])? }; { let v_W4652 = { let v_V4553 = v_V4553.clone(); let v_W4648 = v_W4648.clone(); let v_W4649 = v_W4649.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4653 = { let __t1310 = { let __t1309 = v_W4648.clone(); rt::tl(&__t1309)? }; let __t1311 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1310, __t1311])? }; { let v_W4654 = { let v_W4649 = v_W4649.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4655 = args[0].clone(); Ok({ let __t1312 = v_Z4655.clone(); rt::apply_value(interp, v_W4649.clone(), &[__t1312])? }) }, vec![v_W4649], interp) }; { let __t1340 = { let __t1313 = v_W4653.clone(); rt::is_cons(&__t1313) }; if rt::is_truthy(interp, &__t1340)? { { let v_W4656 = { let __t1314 = v_W4653.clone(); rt::hd(&__t1314)? }; { let v_W4657 = { let __t1316 = { let __t1315 = v_W4653.clone(); rt::tl(&__t1315)? }; let __t1317 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1316, __t1317])? }; { let v_W4658 = { let v_W4654 = v_W4654.clone(); let v_W4656 = v_W4656.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1318 = v_W4656.clone(); rt::apply_value(interp, v_W4654.clone(), &[__t1318])? }), vec![v_W4654, v_W4656], interp) }; { let __t1327 = { let __t1319 = v_W4657.clone(); let __t1320 = Value::nil(); rt::eq(&__t1319, &__t1320) }; if rt::is_truthy(interp, &__t1327)? { rt::apply_value(interp, v_W4658.clone(), &[])? } else { { let __t1326 = { let __t1321 = v_W4657.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1321])? }; if rt::is_truthy(interp, &__t1326)? { { let __t1322 = v_W4657.clone(); let __t1323 = Value::nil(); let __t1324 = v_V4553.clone(); let __t1325 = v_W4658.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1322, __t1323, __t1324, __t1325])? } } else { Value::bool(false) } } } } } } } } else { { let __t1339 = { let __t1328 = v_W4653.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1328])? }; if rt::is_truthy(interp, &__t1339)? { { let v_W4659 = { let __t1329 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1329])? }; { let __t1330 = v_V4553.clone(); let __t1338 = { let __t1331 = v_W4653.clone(); let __t1334 = { let __t1332 = v_W4659.clone(); let __t1333 = Value::nil(); rt::cons(&__t1332, &__t1333) }; let __t1335 = v_V4553.clone(); let __t1337 = { let v_W4654 = v_W4654.clone(); let v_W4659 = v_W4659.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1336 = v_W4659.clone(); rt::apply_value(interp, v_W4654.clone(), &[__t1336])? }), vec![v_W4654, v_W4659], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1331, __t1334, __t1335, __t1337])? }; rt::apply_direct(interp, "shen.gc", &[__t1330, __t1338])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4648, v_W4649], interp) }; { let __t1349 = { let __t1341 = v_W4651.clone(); let __t1342 = Value::sym(interp.intern("vector")); rt::eq(&__t1341, &__t1342) }; if rt::is_truthy(interp, &__t1349)? { rt::apply_value(interp, v_W4652.clone(), &[])? } else { { let __t1348 = { let __t1343 = v_W4651.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1343])? }; if rt::is_truthy(interp, &__t1348)? { { let __t1344 = v_W4651.clone(); let __t1345 = Value::sym(interp.intern("vector")); let __t1346 = v_V4553.clone(); let __t1347 = v_W4652.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1344, __t1345, __t1346, __t1347])? } } else { Value::bool(false) } } } } } } } else { { let __t1363 = { let __t1350 = v_W4648.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1350])? }; if rt::is_truthy(interp, &__t1363)? { { let v_W4660 = { let __t1351 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1351])? }; { let __t1352 = v_V4553.clone(); let __t1362 = { let __t1353 = v_W4648.clone(); let __t1358 = { let __t1354 = Value::sym(interp.intern("vector")); let __t1357 = { let __t1355 = v_W4660.clone(); let __t1356 = Value::nil(); rt::cons(&__t1355, &__t1356) }; rt::cons(&__t1354, &__t1357) }; let __t1359 = v_V4553.clone(); let __t1361 = { let v_W4649 = v_W4649.clone(); let v_W4660 = v_W4660.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1360 = v_W4660.clone(); rt::apply_value(interp, v_W4649.clone(), &[__t1360])? }), vec![v_W4649, v_W4660], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1353, __t1358, __t1359, __t1361])? }; rt::apply_direct(interp, "shen.gc", &[__t1352, __t1362])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1373 = { let __t1371 = v_W4640.clone(); let __t1372 = Value::bool(false); rt::eq(&__t1371, &__t1372) }; if match rt::is_truthy(interp, &__t1373) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4661 = { let __t1428 = { let __t1374 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1374])? }; if rt::is_truthy(interp, &__t1428)? { { let v_W4662 = { let __t1375 = v_V4550.clone(); let __t1376 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1375, __t1376])? }; { let __t1427 = { let __t1377 = v_W4662.clone(); rt::is_cons(&__t1377) }; if rt::is_truthy(interp, &__t1427)? { { let v_W4663 = { let __t1379 = { let __t1378 = v_W4662.clone(); rt::hd(&__t1378)? }; let __t1380 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1379, __t1380])? }; { let __t1426 = { let __t1381 = v_W4663.clone(); let __t1382 = Value::sym(interp.intern("@s")); rt::eq(&__t1381, &__t1382) }; if rt::is_truthy(interp, &__t1426)? { { let v_W4664 = { let __t1384 = { let __t1383 = v_W4662.clone(); rt::tl(&__t1383)? }; let __t1385 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1384, __t1385])? }; { let __t1425 = { let __t1386 = v_W4664.clone(); rt::is_cons(&__t1386) }; if rt::is_truthy(interp, &__t1425)? { { let v_W4665 = { let __t1387 = v_W4664.clone(); rt::hd(&__t1387)? }; { let v_W4666 = { let __t1389 = { let __t1388 = v_W4664.clone(); rt::tl(&__t1388)? }; let __t1390 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1389, __t1390])? }; { let __t1424 = { let __t1391 = v_W4666.clone(); rt::is_cons(&__t1391) }; if rt::is_truthy(interp, &__t1424)? { { let v_W4667 = { let __t1392 = v_W4666.clone(); rt::hd(&__t1392)? }; { let v_W4668 = { let __t1394 = { let __t1393 = v_W4666.clone(); rt::tl(&__t1393)? }; let __t1395 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1394, __t1395])? }; { let __t1423 = { let __t1396 = v_W4668.clone(); let __t1397 = Value::nil(); rt::eq(&__t1396, &__t1397) }; if rt::is_truthy(interp, &__t1423)? { { let v_W4669 = { let __t1398 = v_V4551.clone(); let __t1399 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1398, __t1399])? }; { let v_W4670 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4665 = v_W4665.clone(); let v_W4667 = v_W4667.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1400 = v_W4665.clone(); let __t1401 = Value::sym(interp.intern("string")); let __t1402 = v_V4552.clone(); let __t1403 = v_V4553.clone(); let __t1404 = v_V4554.clone(); let __t1405 = v_W4557.clone(); let __t1413 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4667 = v_W4667.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1406 = v_W4667.clone(); let __t1407 = Value::sym(interp.intern("string")); let __t1408 = v_V4552.clone(); let __t1409 = v_V4553.clone(); let __t1410 = v_V4554.clone(); let __t1411 = v_W4557.clone(); let __t1412 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1406, __t1407, __t1408, __t1409, __t1410, __t1411, __t1412])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4667], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1400, __t1401, __t1402, __t1403, __t1404, __t1405, __t1413])? } }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4665, v_W4667], interp) }; { let __t1422 = { let __t1414 = v_W4669.clone(); let __t1415 = Value::sym(interp.intern("string")); rt::eq(&__t1414, &__t1415) }; if rt::is_truthy(interp, &__t1422)? { rt::apply_value(interp, v_W4670.clone(), &[])? } else { { let __t1421 = { let __t1416 = v_W4669.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1416])? }; if rt::is_truthy(interp, &__t1421)? { { let __t1417 = v_W4669.clone(); let __t1418 = Value::sym(interp.intern("string")); let __t1419 = v_V4553.clone(); let __t1420 = v_W4670.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1417, __t1418, __t1419, __t1420])? } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1431 = { let __t1429 = v_W4661.clone(); let __t1430 = Value::bool(false); rt::eq(&__t1429, &__t1430) }; if match rt::is_truthy(interp, &__t1431) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4671 = { let __t1599 = { let __t1432 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1432])? }; if rt::is_truthy(interp, &__t1599)? { { let v_W4672 = { let __t1433 = v_V4550.clone(); let __t1434 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1433, __t1434])? }; { let __t1598 = { let __t1435 = v_W4672.clone(); rt::is_cons(&__t1435) }; if rt::is_truthy(interp, &__t1598)? { { let v_W4673 = { let __t1437 = { let __t1436 = v_W4672.clone(); rt::hd(&__t1436)? }; let __t1438 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1437, __t1438])? }; { let __t1597 = { let __t1439 = v_W4673.clone(); let __t1440 = Value::sym(interp.intern("lambda")); rt::eq(&__t1439, &__t1440) }; if rt::is_truthy(interp, &__t1597)? { { let v_W4674 = { let __t1442 = { let __t1441 = v_W4672.clone(); rt::tl(&__t1441)? }; let __t1443 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1442, __t1443])? }; { let __t1596 = { let __t1444 = v_W4674.clone(); rt::is_cons(&__t1444) }; if rt::is_truthy(interp, &__t1596)? { { let v_W4675 = { let __t1445 = v_W4674.clone(); rt::hd(&__t1445)? }; { let v_W4676 = { let __t1447 = { let __t1446 = v_W4674.clone(); rt::tl(&__t1446)? }; let __t1448 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1447, __t1448])? }; { let __t1595 = { let __t1449 = v_W4676.clone(); rt::is_cons(&__t1449) }; if rt::is_truthy(interp, &__t1595)? { { let v_W4677 = { let __t1450 = v_W4676.clone(); rt::hd(&__t1450)? }; { let v_W4678 = { let __t1452 = { let __t1451 = v_W4676.clone(); rt::tl(&__t1451)? }; let __t1453 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1452, __t1453])? }; { let __t1594 = { let __t1454 = v_W4678.clone(); let __t1455 = Value::nil(); rt::eq(&__t1454, &__t1455) }; if rt::is_truthy(interp, &__t1594)? { { let v_W4679 = { let __t1456 = v_V4551.clone(); let __t1457 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1456, __t1457])? }; { let v_W4680 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4675 = v_W4675.clone(); let v_W4677 = v_W4677.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4681 = args[0].clone(); Ok({ let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4675 = v_W4675.clone(); let v_W4677 = v_W4677.clone(); let v_Z4681 = v_Z4681.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4682 = args[0].clone(); Ok({ let v_W4683 = { let __t1458 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1458])? }; { let __t1459 = v_V4553.clone(); let __t1503 = { let v_W4684 = { let __t1460 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1460])? }; { let __t1461 = v_V4553.clone(); let __t1502 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1462 = v_W4684.clone(); let __t1466 = { let __t1465 = { let __t1463 = v_W4675.clone(); let __t1464 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1463, __t1464])? }; rt::apply_direct(interp, "shen.freshterm", &[__t1465])? }; let __t1467 = v_V4553.clone(); let __t1468 = v_V4554.clone(); let __t1469 = v_W4557.clone(); let __t1501 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4675 = v_W4675.clone(); let v_W4677 = v_W4677.clone(); let v_W4683 = v_W4683.clone(); let v_W4684 = v_W4684.clone(); let v_Z4681 = v_Z4681.clone(); let v_Z4682 = v_Z4682.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1470 = v_W4683.clone(); let __t1480 = { let __t1473 = { let __t1471 = v_W4675.clone(); let __t1472 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1471, __t1472])? }; let __t1476 = { let __t1474 = v_W4684.clone(); let __t1475 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1474, __t1475])? }; let __t1479 = { let __t1477 = v_W4677.clone(); let __t1478 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1477, __t1478])? }; rt::apply_direct(interp, "shen.beta", &[__t1473, __t1476, __t1479])? }; let __t1481 = v_V4553.clone(); let __t1482 = v_V4554.clone(); let __t1483 = v_W4557.clone(); let __t1500 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4683 = v_W4683.clone(); let v_W4684 = v_W4684.clone(); let v_Z4681 = v_Z4681.clone(); let v_Z4682 = v_Z4682.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1484 = v_W4683.clone(); let __t1485 = v_Z4682.clone(); let __t1495 = { let __t1493 = { let __t1486 = v_W4684.clone(); let __t1492 = { let __t1488 = { let __t1487 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t1487])? }; let __t1491 = { let __t1489 = v_Z4681.clone(); let __t1490 = Value::nil(); rt::cons(&__t1489, &__t1490) }; rt::cons(&__t1488, &__t1491) }; rt::cons(&__t1486, &__t1492) }; let __t1494 = v_V4552.clone(); rt::cons(&__t1493, &__t1494) }; let __t1496 = v_V4553.clone(); let __t1497 = v_V4554.clone(); let __t1498 = v_W4557.clone(); let __t1499 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1484, __t1485, __t1495, __t1496, __t1497, __t1498, __t1499])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4683, v_W4684, v_Z4681, v_Z4682], interp) }; rt::apply_direct(interp, "bind", &[__t1470, __t1480, __t1481, __t1482, __t1483, __t1500])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4675, v_W4677, v_W4683, v_W4684, v_Z4681, v_Z4682], interp) }; rt::apply_direct(interp, "bind", &[__t1462, __t1466, __t1467, __t1468, __t1469, __t1501])? } }; rt::apply_direct(interp, "shen.gc", &[__t1461, __t1502])? } }; rt::apply_direct(interp, "shen.gc", &[__t1459, __t1503])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4675, v_W4677, v_Z4681], interp) }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4675, v_W4677], interp) }; { let __t1593 = { let __t1504 = v_W4679.clone(); rt::is_cons(&__t1504) }; if rt::is_truthy(interp, &__t1593)? { { let v_W4685 = { let __t1505 = v_W4679.clone(); rt::hd(&__t1505)? }; { let v_W4686 = { let __t1507 = { let __t1506 = v_W4679.clone(); rt::tl(&__t1506)? }; let __t1508 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1507, __t1508])? }; { let v_W4687 = { let v_W4680 = v_W4680.clone(); let v_W4685 = v_W4685.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4688 = args[0].clone(); Ok({ let __t1510 = { let __t1509 = v_W4685.clone(); rt::apply_value(interp, v_W4680.clone(), &[__t1509])? }; let __t1511 = v_Z4688.clone(); rt::apply_value(interp, __t1510, &[__t1511])? }) }, vec![v_W4680, v_W4685], interp) }; { let __t1571 = { let __t1512 = v_W4686.clone(); rt::is_cons(&__t1512) }; if rt::is_truthy(interp, &__t1571)? { { let v_W4689 = { let __t1514 = { let __t1513 = v_W4686.clone(); rt::hd(&__t1513)? }; let __t1515 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1514, __t1515])? }; { let v_W4690 = { let v_V4553 = v_V4553.clone(); let v_W4686 = v_W4686.clone(); let v_W4687 = v_W4687.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4691 = { let __t1517 = { let __t1516 = v_W4686.clone(); rt::tl(&__t1516)? }; let __t1518 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1517, __t1518])? }; { let v_W4692 = { let v_W4687 = v_W4687.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4693 = args[0].clone(); Ok({ let __t1519 = v_Z4693.clone(); rt::apply_value(interp, v_W4687.clone(), &[__t1519])? }) }, vec![v_W4687], interp) }; { let __t1547 = { let __t1520 = v_W4691.clone(); rt::is_cons(&__t1520) }; if rt::is_truthy(interp, &__t1547)? { { let v_W4694 = { let __t1521 = v_W4691.clone(); rt::hd(&__t1521)? }; { let v_W4695 = { let __t1523 = { let __t1522 = v_W4691.clone(); rt::tl(&__t1522)? }; let __t1524 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1523, __t1524])? }; { let v_W4696 = { let v_W4692 = v_W4692.clone(); let v_W4694 = v_W4694.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1525 = v_W4694.clone(); rt::apply_value(interp, v_W4692.clone(), &[__t1525])? }), vec![v_W4692, v_W4694], interp) }; { let __t1534 = { let __t1526 = v_W4695.clone(); let __t1527 = Value::nil(); rt::eq(&__t1526, &__t1527) }; if rt::is_truthy(interp, &__t1534)? { rt::apply_value(interp, v_W4696.clone(), &[])? } else { { let __t1533 = { let __t1528 = v_W4695.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1528])? }; if rt::is_truthy(interp, &__t1533)? { { let __t1529 = v_W4695.clone(); let __t1530 = Value::nil(); let __t1531 = v_V4553.clone(); let __t1532 = v_W4696.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1529, __t1530, __t1531, __t1532])? } } else { Value::bool(false) } } } } } } } } else { { let __t1546 = { let __t1535 = v_W4691.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1535])? }; if rt::is_truthy(interp, &__t1546)? { { let v_W4697 = { let __t1536 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1536])? }; { let __t1537 = v_V4553.clone(); let __t1545 = { let __t1538 = v_W4691.clone(); let __t1541 = { let __t1539 = v_W4697.clone(); let __t1540 = Value::nil(); rt::cons(&__t1539, &__t1540) }; let __t1542 = v_V4553.clone(); let __t1544 = { let v_W4692 = v_W4692.clone(); let v_W4697 = v_W4697.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1543 = v_W4697.clone(); rt::apply_value(interp, v_W4692.clone(), &[__t1543])? }), vec![v_W4692, v_W4697], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1538, __t1541, __t1542, __t1544])? }; rt::apply_direct(interp, "shen.gc", &[__t1537, __t1545])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4686, v_W4687], interp) }; { let __t1556 = { let __t1548 = v_W4689.clone(); let __t1549 = Value::sym(interp.intern("-->")); rt::eq(&__t1548, &__t1549) }; if rt::is_truthy(interp, &__t1556)? { rt::apply_value(interp, v_W4690.clone(), &[])? } else { { let __t1555 = { let __t1550 = v_W4689.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1550])? }; if rt::is_truthy(interp, &__t1555)? { { let __t1551 = v_W4689.clone(); let __t1552 = Value::sym(interp.intern("-->")); let __t1553 = v_V4553.clone(); let __t1554 = v_W4690.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1551, __t1552, __t1553, __t1554])? } } else { Value::bool(false) } } } } } } } else { { let __t1570 = { let __t1557 = v_W4686.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1557])? }; if rt::is_truthy(interp, &__t1570)? { { let v_W4698 = { let __t1558 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1558])? }; { let __t1559 = v_V4553.clone(); let __t1569 = { let __t1560 = v_W4686.clone(); let __t1565 = { let __t1561 = Value::sym(interp.intern("-->")); let __t1564 = { let __t1562 = v_W4698.clone(); let __t1563 = Value::nil(); rt::cons(&__t1562, &__t1563) }; rt::cons(&__t1561, &__t1564) }; let __t1566 = v_V4553.clone(); let __t1568 = { let v_W4687 = v_W4687.clone(); let v_W4698 = v_W4698.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1567 = v_W4698.clone(); rt::apply_value(interp, v_W4687.clone(), &[__t1567])? }), vec![v_W4687, v_W4698], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1560, __t1565, __t1566, __t1568])? }; rt::apply_direct(interp, "shen.gc", &[__t1559, __t1569])? } } } else { Value::bool(false) } } } } } } } } else { { let __t1592 = { let __t1572 = v_W4679.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1572])? }; if rt::is_truthy(interp, &__t1592)? { { let v_W4699 = { let __t1573 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1573])? }; { let __t1574 = v_V4553.clone(); let __t1591 = { let v_W4700 = { let __t1575 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1575])? }; { let __t1576 = v_V4553.clone(); let __t1590 = { let __t1577 = v_W4679.clone(); let __t1584 = { let __t1578 = v_W4699.clone(); let __t1583 = { let __t1579 = Value::sym(interp.intern("-->")); let __t1582 = { let __t1580 = v_W4700.clone(); let __t1581 = Value::nil(); rt::cons(&__t1580, &__t1581) }; rt::cons(&__t1579, &__t1582) }; rt::cons(&__t1578, &__t1583) }; let __t1585 = v_V4553.clone(); let __t1589 = { let v_W4680 = v_W4680.clone(); let v_W4699 = v_W4699.clone(); let v_W4700 = v_W4700.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1587 = { let __t1586 = v_W4699.clone(); rt::apply_value(interp, v_W4680.clone(), &[__t1586])? }; let __t1588 = v_W4700.clone(); rt::apply_value(interp, __t1587, &[__t1588])? }), vec![v_W4680, v_W4699, v_W4700], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1577, __t1584, __t1585, __t1589])? }; rt::apply_direct(interp, "shen.gc", &[__t1576, __t1590])? } }; rt::apply_direct(interp, "shen.gc", &[__t1574, __t1591])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1602 = { let __t1600 = v_W4671.clone(); let __t1601 = Value::bool(false); rt::eq(&__t1600, &__t1601) }; if match rt::is_truthy(interp, &__t1602) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4701 = { let __t1694 = { let __t1603 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1603])? }; if rt::is_truthy(interp, &__t1694)? { { let v_W4702 = { let __t1604 = v_V4550.clone(); let __t1605 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1604, __t1605])? }; { let __t1693 = { let __t1606 = v_W4702.clone(); rt::is_cons(&__t1606) }; if rt::is_truthy(interp, &__t1693)? { { let v_W4703 = { let __t1608 = { let __t1607 = v_W4702.clone(); rt::hd(&__t1607)? }; let __t1609 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1608, __t1609])? }; { let __t1692 = { let __t1610 = v_W4703.clone(); let __t1611 = Value::sym(interp.intern("let")); rt::eq(&__t1610, &__t1611) }; if rt::is_truthy(interp, &__t1692)? { { let v_W4704 = { let __t1613 = { let __t1612 = v_W4702.clone(); rt::tl(&__t1612)? }; let __t1614 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1613, __t1614])? }; { let __t1691 = { let __t1615 = v_W4704.clone(); rt::is_cons(&__t1615) }; if rt::is_truthy(interp, &__t1691)? { { let v_W4705 = { let __t1616 = v_W4704.clone(); rt::hd(&__t1616)? }; { let v_W4706 = { let __t1618 = { let __t1617 = v_W4704.clone(); rt::tl(&__t1617)? }; let __t1619 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1618, __t1619])? }; { let __t1690 = { let __t1620 = v_W4706.clone(); rt::is_cons(&__t1620) }; if rt::is_truthy(interp, &__t1690)? { { let v_W4707 = { let __t1621 = v_W4706.clone(); rt::hd(&__t1621)? }; { let v_W4708 = { let __t1623 = { let __t1622 = v_W4706.clone(); rt::tl(&__t1622)? }; let __t1624 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1623, __t1624])? }; { let __t1689 = { let __t1625 = v_W4708.clone(); rt::is_cons(&__t1625) }; if rt::is_truthy(interp, &__t1689)? { { let v_W4709 = { let __t1626 = v_W4708.clone(); rt::hd(&__t1626)? }; { let v_W4710 = { let __t1628 = { let __t1627 = v_W4708.clone(); rt::tl(&__t1627)? }; let __t1629 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1628, __t1629])? }; { let __t1688 = { let __t1630 = v_W4710.clone(); let __t1631 = Value::nil(); rt::eq(&__t1630, &__t1631) }; if rt::is_truthy(interp, &__t1688)? { { let v_W4711 = { let __t1632 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1632])? }; { let __t1633 = v_V4553.clone(); let __t1687 = { let v_W4712 = { let __t1634 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1634])? }; { let __t1635 = v_V4553.clone(); let __t1686 = { let v_W4713 = { let __t1636 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1636])? }; { let __t1637 = v_V4553.clone(); let __t1685 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1638 = v_W4707.clone(); let __t1639 = v_W4713.clone(); let __t1640 = v_V4552.clone(); let __t1641 = v_V4553.clone(); let __t1642 = v_V4554.clone(); let __t1643 = v_W4557.clone(); let __t1684 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4705 = v_W4705.clone(); let v_W4709 = v_W4709.clone(); let v_W4711 = v_W4711.clone(); let v_W4712 = v_W4712.clone(); let v_W4713 = v_W4713.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1644 = v_W4712.clone(); let __t1648 = { let __t1647 = { let __t1645 = v_W4705.clone(); let __t1646 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1645, __t1646])? }; rt::apply_direct(interp, "shen.freshterm", &[__t1647])? }; let __t1649 = v_V4553.clone(); let __t1650 = v_V4554.clone(); let __t1651 = v_W4557.clone(); let __t1683 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4705 = v_W4705.clone(); let v_W4709 = v_W4709.clone(); let v_W4711 = v_W4711.clone(); let v_W4712 = v_W4712.clone(); let v_W4713 = v_W4713.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1652 = v_W4711.clone(); let __t1662 = { let __t1655 = { let __t1653 = v_W4705.clone(); let __t1654 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1653, __t1654])? }; let __t1658 = { let __t1656 = v_W4712.clone(); let __t1657 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1656, __t1657])? }; let __t1661 = { let __t1659 = v_W4709.clone(); let __t1660 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1659, __t1660])? }; rt::apply_direct(interp, "shen.beta", &[__t1655, __t1658, __t1661])? }; let __t1663 = v_V4553.clone(); let __t1664 = v_V4554.clone(); let __t1665 = v_W4557.clone(); let __t1682 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4711 = v_W4711.clone(); let v_W4712 = v_W4712.clone(); let v_W4713 = v_W4713.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1666 = v_W4711.clone(); let __t1667 = v_V4551.clone(); let __t1677 = { let __t1675 = { let __t1668 = v_W4712.clone(); let __t1674 = { let __t1670 = { let __t1669 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t1669])? }; let __t1673 = { let __t1671 = v_W4713.clone(); let __t1672 = Value::nil(); rt::cons(&__t1671, &__t1672) }; rt::cons(&__t1670, &__t1673) }; rt::cons(&__t1668, &__t1674) }; let __t1676 = v_V4552.clone(); rt::cons(&__t1675, &__t1676) }; let __t1678 = v_V4553.clone(); let __t1679 = v_V4554.clone(); let __t1680 = v_W4557.clone(); let __t1681 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1666, __t1667, __t1677, __t1678, __t1679, __t1680, __t1681])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4711, v_W4712, v_W4713], interp) }; rt::apply_direct(interp, "bind", &[__t1652, __t1662, __t1663, __t1664, __t1665, __t1682])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4705, v_W4709, v_W4711, v_W4712, v_W4713], interp) }; rt::apply_direct(interp, "bind", &[__t1644, __t1648, __t1649, __t1650, __t1651, __t1683])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4705, v_W4709, v_W4711, v_W4712, v_W4713], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1638, __t1639, __t1640, __t1641, __t1642, __t1643, __t1684])? } }; rt::apply_direct(interp, "shen.gc", &[__t1637, __t1685])? } }; rt::apply_direct(interp, "shen.gc", &[__t1635, __t1686])? } }; rt::apply_direct(interp, "shen.gc", &[__t1633, __t1687])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1697 = { let __t1695 = v_W4701.clone(); let __t1696 = Value::bool(false); rt::eq(&__t1695, &__t1696) }; if match rt::is_truthy(interp, &__t1697) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4714 = { let __t1815 = { let __t1698 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1698])? }; if rt::is_truthy(interp, &__t1815)? { { let v_W4715 = { let __t1699 = v_V4550.clone(); let __t1700 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1699, __t1700])? }; { let __t1814 = { let __t1701 = v_W4715.clone(); rt::is_cons(&__t1701) }; if rt::is_truthy(interp, &__t1814)? { { let v_W4716 = { let __t1703 = { let __t1702 = v_W4715.clone(); rt::hd(&__t1702)? }; let __t1704 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1703, __t1704])? }; { let __t1813 = { let __t1705 = v_W4716.clone(); let __t1706 = Value::sym(interp.intern("open")); rt::eq(&__t1705, &__t1706) }; if rt::is_truthy(interp, &__t1813)? { { let v_W4717 = { let __t1708 = { let __t1707 = v_W4715.clone(); rt::tl(&__t1707)? }; let __t1709 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1708, __t1709])? }; { let __t1812 = { let __t1710 = v_W4717.clone(); rt::is_cons(&__t1710) }; if rt::is_truthy(interp, &__t1812)? { { let v_W4718 = { let __t1711 = v_W4717.clone(); rt::hd(&__t1711)? }; { let v_W4719 = { let __t1713 = { let __t1712 = v_W4717.clone(); rt::tl(&__t1712)? }; let __t1714 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1713, __t1714])? }; { let __t1811 = { let __t1715 = v_W4719.clone(); rt::is_cons(&__t1715) }; if rt::is_truthy(interp, &__t1811)? { { let v_W4720 = { let __t1716 = v_W4719.clone(); rt::hd(&__t1716)? }; { let v_W4721 = { let __t1718 = { let __t1717 = v_W4719.clone(); rt::tl(&__t1717)? }; let __t1719 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1718, __t1719])? }; { let __t1810 = { let __t1720 = v_W4721.clone(); let __t1721 = Value::nil(); rt::eq(&__t1720, &__t1721) }; if rt::is_truthy(interp, &__t1810)? { { let v_W4722 = { let __t1722 = v_V4551.clone(); let __t1723 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1722, __t1723])? }; { let v_W4723 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4718 = v_W4718.clone(); let v_W4720 = v_W4720.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4724 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1724 = v_W4720.clone(); let __t1725 = v_Z4724.clone(); let __t1726 = v_V4553.clone(); let __t1727 = v_V4554.clone(); let __t1728 = v_W4557.clone(); let __t1749 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4718 = v_W4718.clone(); let v_Z4724 = v_Z4724.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1737 = { let __t1731 = { let __t1729 = v_Z4724.clone(); let __t1730 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1729, __t1730])? }; let __t1736 = { let __t1732 = Value::sym(interp.intern("in")); let __t1735 = { let __t1733 = Value::sym(interp.intern("out")); let __t1734 = Value::nil(); rt::cons(&__t1733, &__t1734) }; rt::cons(&__t1732, &__t1735) }; rt::apply_direct(interp, "element?", &[__t1731, __t1736])? }; let __t1738 = v_V4553.clone(); let __t1739 = v_V4554.clone(); let __t1740 = v_W4557.clone(); let __t1748 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4718 = v_W4718.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1741 = v_W4718.clone(); let __t1742 = Value::sym(interp.intern("string")); let __t1743 = v_V4552.clone(); let __t1744 = v_V4553.clone(); let __t1745 = v_V4554.clone(); let __t1746 = v_W4557.clone(); let __t1747 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1741, __t1742, __t1743, __t1744, __t1745, __t1746, __t1747])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4718], interp) }; rt::apply_direct(interp, "when", &[__t1737, __t1738, __t1739, __t1740, __t1748])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4718, v_Z4724], interp) }; rt::apply_direct(interp, "is!", &[__t1724, __t1725, __t1726, __t1727, __t1728, __t1749])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4718, v_W4720], interp) }; { let __t1809 = { let __t1750 = v_W4722.clone(); rt::is_cons(&__t1750) }; if rt::is_truthy(interp, &__t1809)? { { let v_W4725 = { let __t1752 = { let __t1751 = v_W4722.clone(); rt::hd(&__t1751)? }; let __t1753 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1752, __t1753])? }; { let v_W4726 = { let v_V4553 = v_V4553.clone(); let v_W4722 = v_W4722.clone(); let v_W4723 = v_W4723.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4727 = { let __t1755 = { let __t1754 = v_W4722.clone(); rt::tl(&__t1754)? }; let __t1756 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1755, __t1756])? }; { let v_W4728 = { let v_W4723 = v_W4723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4729 = args[0].clone(); Ok({ let __t1757 = v_Z4729.clone(); rt::apply_value(interp, v_W4723.clone(), &[__t1757])? }) }, vec![v_W4723], interp) }; { let __t1785 = { let __t1758 = v_W4727.clone(); rt::is_cons(&__t1758) }; if rt::is_truthy(interp, &__t1785)? { { let v_W4730 = { let __t1759 = v_W4727.clone(); rt::hd(&__t1759)? }; { let v_W4731 = { let __t1761 = { let __t1760 = v_W4727.clone(); rt::tl(&__t1760)? }; let __t1762 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1761, __t1762])? }; { let v_W4732 = { let v_W4728 = v_W4728.clone(); let v_W4730 = v_W4730.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1763 = v_W4730.clone(); rt::apply_value(interp, v_W4728.clone(), &[__t1763])? }), vec![v_W4728, v_W4730], interp) }; { let __t1772 = { let __t1764 = v_W4731.clone(); let __t1765 = Value::nil(); rt::eq(&__t1764, &__t1765) }; if rt::is_truthy(interp, &__t1772)? { rt::apply_value(interp, v_W4732.clone(), &[])? } else { { let __t1771 = { let __t1766 = v_W4731.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1766])? }; if rt::is_truthy(interp, &__t1771)? { { let __t1767 = v_W4731.clone(); let __t1768 = Value::nil(); let __t1769 = v_V4553.clone(); let __t1770 = v_W4732.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1767, __t1768, __t1769, __t1770])? } } else { Value::bool(false) } } } } } } } } else { { let __t1784 = { let __t1773 = v_W4727.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1773])? }; if rt::is_truthy(interp, &__t1784)? { { let v_W4733 = { let __t1774 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1774])? }; { let __t1775 = v_V4553.clone(); let __t1783 = { let __t1776 = v_W4727.clone(); let __t1779 = { let __t1777 = v_W4733.clone(); let __t1778 = Value::nil(); rt::cons(&__t1777, &__t1778) }; let __t1780 = v_V4553.clone(); let __t1782 = { let v_W4728 = v_W4728.clone(); let v_W4733 = v_W4733.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1781 = v_W4733.clone(); rt::apply_value(interp, v_W4728.clone(), &[__t1781])? }), vec![v_W4728, v_W4733], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1776, __t1779, __t1780, __t1782])? }; rt::apply_direct(interp, "shen.gc", &[__t1775, __t1783])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4722, v_W4723], interp) }; { let __t1794 = { let __t1786 = v_W4725.clone(); let __t1787 = Value::sym(interp.intern("stream")); rt::eq(&__t1786, &__t1787) }; if rt::is_truthy(interp, &__t1794)? { rt::apply_value(interp, v_W4726.clone(), &[])? } else { { let __t1793 = { let __t1788 = v_W4725.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1788])? }; if rt::is_truthy(interp, &__t1793)? { { let __t1789 = v_W4725.clone(); let __t1790 = Value::sym(interp.intern("stream")); let __t1791 = v_V4553.clone(); let __t1792 = v_W4726.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1789, __t1790, __t1791, __t1792])? } } else { Value::bool(false) } } } } } } } else { { let __t1808 = { let __t1795 = v_W4722.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1795])? }; if rt::is_truthy(interp, &__t1808)? { { let v_W4734 = { let __t1796 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1796])? }; { let __t1797 = v_V4553.clone(); let __t1807 = { let __t1798 = v_W4722.clone(); let __t1803 = { let __t1799 = Value::sym(interp.intern("stream")); let __t1802 = { let __t1800 = v_W4734.clone(); let __t1801 = Value::nil(); rt::cons(&__t1800, &__t1801) }; rt::cons(&__t1799, &__t1802) }; let __t1804 = v_V4553.clone(); let __t1806 = { let v_W4723 = v_W4723.clone(); let v_W4734 = v_W4734.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1805 = v_W4734.clone(); rt::apply_value(interp, v_W4723.clone(), &[__t1805])? }), vec![v_W4723, v_W4734], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t1798, __t1803, __t1804, __t1806])? }; rt::apply_direct(interp, "shen.gc", &[__t1797, __t1807])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1818 = { let __t1816 = v_W4714.clone(); let __t1817 = Value::bool(false); rt::eq(&__t1816, &__t1817) }; if match rt::is_truthy(interp, &__t1818) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4735 = { let __t1868 = { let __t1819 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1819])? }; if rt::is_truthy(interp, &__t1868)? { { let v_W4736 = { let __t1820 = v_V4550.clone(); let __t1821 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1820, __t1821])? }; { let __t1867 = { let __t1822 = v_W4736.clone(); rt::is_cons(&__t1822) }; if rt::is_truthy(interp, &__t1867)? { { let v_W4737 = { let __t1824 = { let __t1823 = v_W4736.clone(); rt::hd(&__t1823)? }; let __t1825 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1824, __t1825])? }; { let __t1866 = { let __t1826 = v_W4737.clone(); let __t1827 = Value::sym(interp.intern("type")); rt::eq(&__t1826, &__t1827) }; if rt::is_truthy(interp, &__t1866)? { { let v_W4738 = { let __t1829 = { let __t1828 = v_W4736.clone(); rt::tl(&__t1828)? }; let __t1830 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1829, __t1830])? }; { let __t1865 = { let __t1831 = v_W4738.clone(); rt::is_cons(&__t1831) }; if rt::is_truthy(interp, &__t1865)? { { let v_W4739 = { let __t1832 = v_W4738.clone(); rt::hd(&__t1832)? }; { let v_W4740 = { let __t1834 = { let __t1833 = v_W4738.clone(); rt::tl(&__t1833)? }; let __t1835 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1834, __t1835])? }; { let __t1864 = { let __t1836 = v_W4740.clone(); rt::is_cons(&__t1836) }; if rt::is_truthy(interp, &__t1864)? { { let v_W4741 = { let __t1837 = v_W4740.clone(); rt::hd(&__t1837)? }; { let v_W4742 = { let __t1839 = { let __t1838 = v_W4740.clone(); rt::tl(&__t1838)? }; let __t1840 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1839, __t1840])? }; { let __t1863 = { let __t1841 = v_W4742.clone(); let __t1842 = Value::nil(); rt::eq(&__t1841, &__t1842) }; if rt::is_truthy(interp, &__t1863)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1843 = v_V4553.clone(); let __t1844 = v_V4554.clone(); let __t1845 = v_W4557.clone(); let __t1862 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4739 = v_W4739.clone(); let v_W4741 = v_W4741.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1849 = { let __t1848 = { let __t1846 = v_W4741.clone(); let __t1847 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1846, __t1847])? }; rt::apply_direct(interp, "shen.rectify-type", &[__t1848])? }; let __t1850 = v_V4551.clone(); let __t1851 = v_V4553.clone(); let __t1852 = v_V4554.clone(); let __t1853 = v_W4557.clone(); let __t1861 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4739 = v_W4739.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1854 = v_W4739.clone(); let __t1855 = v_V4551.clone(); let __t1856 = v_V4552.clone(); let __t1857 = v_V4553.clone(); let __t1858 = v_V4554.clone(); let __t1859 = v_W4557.clone(); let __t1860 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1854, __t1855, __t1856, __t1857, __t1858, __t1859, __t1860])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4739], interp) }; rt::apply_direct(interp, "is!", &[__t1849, __t1850, __t1851, __t1852, __t1853, __t1861])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4739, v_W4741], interp) }; rt::apply_direct(interp, "shen.cut", &[__t1843, __t1844, __t1845, __t1862])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1871 = { let __t1869 = v_W4735.clone(); let __t1870 = Value::bool(false); rt::eq(&__t1869, &__t1870) }; if match rt::is_truthy(interp, &__t1871) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4743 = { let __t1922 = { let __t1872 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1872])? }; if rt::is_truthy(interp, &__t1922)? { { let v_W4744 = { let __t1873 = v_V4550.clone(); let __t1874 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1873, __t1874])? }; { let __t1921 = { let __t1875 = v_W4744.clone(); rt::is_cons(&__t1875) }; if rt::is_truthy(interp, &__t1921)? { { let v_W4745 = { let __t1877 = { let __t1876 = v_W4744.clone(); rt::hd(&__t1876)? }; let __t1878 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1877, __t1878])? }; { let __t1920 = { let __t1879 = v_W4745.clone(); let __t1880 = Value::sym(interp.intern("shen.input-h+")); rt::eq(&__t1879, &__t1880) }; if rt::is_truthy(interp, &__t1920)? { { let v_W4746 = { let __t1882 = { let __t1881 = v_W4744.clone(); rt::tl(&__t1881)? }; let __t1883 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1882, __t1883])? }; { let __t1919 = { let __t1884 = v_W4746.clone(); rt::is_cons(&__t1884) }; if rt::is_truthy(interp, &__t1919)? { { let v_W4747 = { let __t1885 = v_W4746.clone(); rt::hd(&__t1885)? }; { let v_W4748 = { let __t1887 = { let __t1886 = v_W4746.clone(); rt::tl(&__t1886)? }; let __t1888 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1887, __t1888])? }; { let __t1918 = { let __t1889 = v_W4748.clone(); rt::is_cons(&__t1889) }; if rt::is_truthy(interp, &__t1918)? { { let v_W4749 = { let __t1890 = v_W4748.clone(); rt::hd(&__t1890)? }; { let v_W4750 = { let __t1892 = { let __t1891 = v_W4748.clone(); rt::tl(&__t1891)? }; let __t1893 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1892, __t1893])? }; { let __t1917 = { let __t1894 = v_W4750.clone(); let __t1895 = Value::nil(); rt::eq(&__t1894, &__t1895) }; if rt::is_truthy(interp, &__t1917)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1896 = v_V4551.clone(); let __t1901 = { let __t1900 = { let __t1899 = { let __t1897 = v_W4747.clone(); let __t1898 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1897, __t1898])? }; rt::apply_direct(interp, "shen.rdecons", &[__t1899])? }; rt::apply_direct(interp, "shen.rectify-type", &[__t1900])? }; let __t1902 = v_V4553.clone(); let __t1903 = v_V4554.clone(); let __t1904 = v_W4557.clone(); let __t1916 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4749 = v_W4749.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1905 = v_W4749.clone(); let __t1910 = { let __t1906 = Value::sym(interp.intern("stream")); let __t1909 = { let __t1907 = Value::sym(interp.intern("in")); let __t1908 = Value::nil(); rt::cons(&__t1907, &__t1908) }; rt::cons(&__t1906, &__t1909) }; let __t1911 = v_V4552.clone(); let __t1912 = v_V4553.clone(); let __t1913 = v_V4554.clone(); let __t1914 = v_W4557.clone(); let __t1915 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1905, __t1910, __t1911, __t1912, __t1913, __t1914, __t1915])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4749], interp) }; rt::apply_direct(interp, "is", &[__t1896, __t1901, __t1902, __t1903, __t1904, __t1916])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1925 = { let __t1923 = v_W4743.clone(); let __t1924 = Value::bool(false); rt::eq(&__t1923, &__t1924) }; if match rt::is_truthy(interp, &__t1925) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4751 = { let __t1980 = { let __t1926 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1926])? }; if rt::is_truthy(interp, &__t1980)? { { let v_W4752 = { let __t1927 = v_V4550.clone(); let __t1928 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1927, __t1928])? }; { let __t1979 = { let __t1929 = v_W4752.clone(); rt::is_cons(&__t1929) }; if rt::is_truthy(interp, &__t1979)? { { let v_W4753 = { let __t1931 = { let __t1930 = v_W4752.clone(); rt::hd(&__t1930)? }; let __t1932 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1931, __t1932])? }; { let __t1978 = { let __t1933 = v_W4753.clone(); let __t1934 = Value::sym(interp.intern("set")); rt::eq(&__t1933, &__t1934) }; if rt::is_truthy(interp, &__t1978)? { { let v_W4754 = { let __t1936 = { let __t1935 = v_W4752.clone(); rt::tl(&__t1935)? }; let __t1937 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1936, __t1937])? }; { let __t1977 = { let __t1938 = v_W4754.clone(); rt::is_cons(&__t1938) }; if rt::is_truthy(interp, &__t1977)? { { let v_W4755 = { let __t1939 = v_W4754.clone(); rt::hd(&__t1939)? }; { let v_W4756 = { let __t1941 = { let __t1940 = v_W4754.clone(); rt::tl(&__t1940)? }; let __t1942 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1941, __t1942])? }; { let __t1976 = { let __t1943 = v_W4756.clone(); rt::is_cons(&__t1943) }; if rt::is_truthy(interp, &__t1976)? { { let v_W4757 = { let __t1944 = v_W4756.clone(); rt::hd(&__t1944)? }; { let v_W4758 = { let __t1946 = { let __t1945 = v_W4756.clone(); rt::tl(&__t1945)? }; let __t1947 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1946, __t1947])? }; { let __t1975 = { let __t1948 = v_W4758.clone(); let __t1949 = Value::nil(); rt::eq(&__t1948, &__t1949) }; if rt::is_truthy(interp, &__t1975)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1950 = v_W4755.clone(); let __t1951 = Value::sym(interp.intern("symbol")); let __t1952 = v_V4552.clone(); let __t1953 = v_V4553.clone(); let __t1954 = v_V4554.clone(); let __t1955 = v_W4557.clone(); let __t1974 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4755 = v_W4755.clone(); let v_W4757 = v_W4757.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1960 = { let __t1956 = Value::sym(interp.intern("value")); let __t1959 = { let __t1957 = v_W4755.clone(); let __t1958 = Value::nil(); rt::cons(&__t1957, &__t1958) }; rt::cons(&__t1956, &__t1959) }; let __t1961 = v_V4551.clone(); let __t1962 = v_V4552.clone(); let __t1963 = v_V4553.clone(); let __t1964 = v_V4554.clone(); let __t1965 = v_W4557.clone(); let __t1973 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4757 = v_W4757.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1966 = v_W4757.clone(); let __t1967 = v_V4551.clone(); let __t1968 = v_V4552.clone(); let __t1969 = v_V4553.clone(); let __t1970 = v_V4554.clone(); let __t1971 = v_W4557.clone(); let __t1972 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1966, __t1967, __t1968, __t1969, __t1970, __t1971, __t1972])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4757], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1960, __t1961, __t1962, __t1963, __t1964, __t1965, __t1973])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4755, v_W4757], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t1950, __t1951, __t1952, __t1953, __t1954, __t1955, __t1974])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1983 = { let __t1981 = v_W4751.clone(); let __t1982 = Value::bool(false); rt::eq(&__t1981, &__t1982) }; if match rt::is_truthy(interp, &__t1983) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4759 = { let __t2006 = { let __t1984 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1984])? }; if rt::is_truthy(interp, &__t2006)? { { let v_W4760 = { let __t1985 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1985])? }; { let __t1986 = v_V4553.clone(); let __t2005 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1987 = v_V4552.clone(); let __t1988 = v_W4760.clone(); let __t1989 = Value::bool(false); let __t1990 = v_V4553.clone(); let __t1991 = v_V4554.clone(); let __t1992 = v_W4557.clone(); let __t2004 = { let v_V4550 = v_V4550.clone(); let v_V4551 = v_V4551.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4760 = v_W4760.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1993 = v_V4553.clone(); let __t1994 = v_V4554.clone(); let __t1995 = v_W4557.clone(); let __t2003 = { let v_V4550 = v_V4550.clone(); let v_V4551 = v_V4551.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4760 = v_W4760.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1996 = v_V4550.clone(); let __t1997 = v_V4551.clone(); let __t1998 = v_W4760.clone(); let __t1999 = v_V4553.clone(); let __t2000 = v_V4554.clone(); let __t2001 = v_W4557.clone(); let __t2002 = v_V4556.clone(); rt::apply_direct(interp, "shen.system-S-h", &[__t1996, __t1997, __t1998, __t1999, __t2000, __t2001, __t2002])? }), vec![v_V4550, v_V4551, v_V4553, v_V4554, v_V4556, v_W4557, v_W4760], interp) }; rt::apply_direct(interp, "shen.cut", &[__t1993, __t1994, __t1995, __t2003])? }), vec![v_V4550, v_V4551, v_V4553, v_V4554, v_V4556, v_W4557, v_W4760], interp) }; rt::apply_direct(interp, "shen.l-rules", &[__t1987, __t1988, __t1989, __t1990, __t1991, __t1992, __t2004])? } }; rt::apply_direct(interp, "shen.gc", &[__t1986, __t2005])? } } } else { Value::bool(false) } }; { let __t2009 = { let __t2007 = v_W4759.clone(); let __t2008 = Value::bool(false); rt::eq(&__t2007, &__t2008) }; if match rt::is_truthy(interp, &__t2009) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4761 = { let __t2026 = { let __t2010 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t2010])? }; if rt::is_truthy(interp, &__t2026)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2018 = { let __t2011 = v_V4550.clone(); let __t2017 = { let __t2013 = { let __t2012 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2012])? }; let __t2016 = { let __t2014 = v_V4551.clone(); let __t2015 = Value::nil(); rt::cons(&__t2014, &__t2015) }; rt::cons(&__t2013, &__t2016) }; rt::cons(&__t2011, &__t2017) }; let __t2019 = v_V4552.clone(); let __t2021 = { let __t2020 = Value::sym(interp.intern("shen.*datatypes*")); rt::apply_direct(interp, "value", &[__t2020])? }; let __t2022 = v_V4553.clone(); let __t2023 = v_V4554.clone(); let __t2024 = v_W4557.clone(); let __t2025 = v_V4556.clone(); rt::apply_direct(interp, "shen.search-user-datatypes", &[__t2018, __t2019, __t2021, __t2022, __t2023, __t2024, __t2025])? } } } else { Value::bool(false) } }; { let __t2029 = { let __t2027 = v_W4761.clone(); let __t2028 = Value::bool(false); rt::eq(&__t2027, &__t2028) }; if match rt::is_truthy(interp, &__t2029) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2030 = v_V4554.clone(); let __t2031 = v_W4557.clone(); rt::apply_direct(interp, "shen.unlock", &[__t2030, __t2031])? }); } else { break Ok(v_W4761.clone()); } } } } else { break Ok(v_W4759.clone()); } } } } else { break Ok(v_W4751.clone()); } } } } else { break Ok(v_W4743.clone()); } } } } else { break Ok(v_W4735.clone()); } } } } else { break Ok(v_W4714.clone()); } } } } else { break Ok(v_W4701.clone()); } } } } else { break Ok(v_W4671.clone()); } } } } else { break Ok(v_W4661.clone()); } } } } else { break Ok(v_W4640.clone()); } } } } else { break Ok(v_W4612.clone()); } } } } else { break Ok(v_W4591.clone()); } } } } else { break Ok(v_W4584.clone()); } } } } else { break Ok(v_W4577.clone()); } } } } else { break Ok(v_W4571.clone()); } + if match rt::is_truthy(interp, &__t810) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4577 = { let __t854 = { let __t811 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t811])? }; if rt::is_truthy(interp, &__t854)? { { let v_W4578 = { let __t812 = v_V4550.clone(); let __t813 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t812, __t813])? }; { let __t853 = { let __t814 = v_W4578.clone(); rt::is_cons(&__t814) }; if rt::is_truthy(interp, &__t853)? { { let v_W4579 = { let __t815 = v_W4578.clone(); rt::hd(&__t815)? }; { let v_W4580 = { let __t817 = { let __t816 = v_W4578.clone(); rt::tl(&__t816)? }; let __t818 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t817, __t818])? }; { let __t852 = { let __t819 = v_W4580.clone(); rt::is_cons(&__t819) }; if rt::is_truthy(interp, &__t852)? { { let v_W4581 = { let __t820 = v_W4580.clone(); rt::hd(&__t820)? }; { let v_W4582 = { let __t822 = { let __t821 = v_W4580.clone(); rt::tl(&__t821)? }; let __t823 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t822, __t823])? }; { let __t851 = Value::bool((v_W4582.clone()).is_nil()); if rt::is_truthy(interp, &__t851)? { { let v_W4583 = { let __t824 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t824])? }; { let __t825 = v_V4553.clone(); let __t850 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t849 = { let __t829 = { let __t828 = { let __t826 = v_W4579.clone(); let __t827 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t826, __t827])? }; rt::is_cons(&__t828) }; rt::not(interp, &__t829)? }; let _ = v_V4553.clone(); let _ = v_V4554.clone(); let _ = v_W4557.clone(); if rt::is_truthy(interp, &__t849)? { { let __t830 = v_W4579.clone(); let __t837 = { let __t831 = v_W4583.clone(); let __t836 = { let __t832 = Value::sym(interp.intern_static("-->")); let __t835 = { let __t833 = v_V4551.clone(); let __t834 = Value::nil(); rt::cons(&__t833, &__t834) }; rt::cons(&__t832, &__t835) }; rt::cons(&__t831, &__t836) }; let __t838 = v_V4553.clone(); let __t839 = v_V4554.clone(); let __t840 = v_W4557.clone(); let __t848 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4581 = v_W4581.clone(); let v_W4583 = v_W4583.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t841 = v_W4581.clone(); let __t842 = v_W4583.clone(); let __t843 = v_V4552.clone(); let __t844 = v_V4553.clone(); let __t845 = v_V4554.clone(); let __t846 = v_W4557.clone(); let __t847 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t841, __t842, __t843, __t844, __t845, __t846, __t847])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4581, v_W4583], interp) }; aot_shen_x2e_lookupsig(interp, &[__t830, __t837, __t838, __t839, __t840, __t848])? } } else { Value::bool(false) } } }; rt::apply_direct(interp, "shen.gc", &[__t825, __t850])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t857 = { let __t855 = v_W4577.clone(); let __t856 = Value::bool(false); rt::eq(&__t855, &__t856) }; if match rt::is_truthy(interp, &__t857) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4584 = { let __t897 = { let __t858 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t858])? }; if rt::is_truthy(interp, &__t897)? { { let v_W4585 = { let __t859 = v_V4550.clone(); let __t860 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t859, __t860])? }; { let __t896 = { let __t861 = v_W4585.clone(); rt::is_cons(&__t861) }; if rt::is_truthy(interp, &__t896)? { { let v_W4586 = { let __t862 = v_W4585.clone(); rt::hd(&__t862)? }; { let v_W4587 = { let __t864 = { let __t863 = v_W4585.clone(); rt::tl(&__t863)? }; let __t865 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t864, __t865])? }; { let __t895 = { let __t866 = v_W4587.clone(); rt::is_cons(&__t866) }; if rt::is_truthy(interp, &__t895)? { { let v_W4588 = { let __t867 = v_W4587.clone(); rt::hd(&__t867)? }; { let v_W4589 = { let __t869 = { let __t868 = v_W4587.clone(); rt::tl(&__t868)? }; let __t870 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t869, __t870])? }; { let __t894 = Value::bool((v_W4589.clone()).is_nil()); if rt::is_truthy(interp, &__t894)? { { let v_W4590 = { let __t871 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t871])? }; { let __t872 = v_V4553.clone(); let __t893 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t873 = v_W4586.clone(); let __t880 = { let __t874 = v_W4590.clone(); let __t879 = { let __t875 = Value::sym(interp.intern_static("-->")); let __t878 = { let __t876 = v_V4551.clone(); let __t877 = Value::nil(); rt::cons(&__t876, &__t877) }; rt::cons(&__t875, &__t878) }; rt::cons(&__t874, &__t879) }; let __t881 = v_V4552.clone(); let __t882 = v_V4553.clone(); let __t883 = v_V4554.clone(); let __t884 = v_W4557.clone(); let __t892 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4588 = v_W4588.clone(); let v_W4590 = v_W4590.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t885 = v_W4588.clone(); let __t886 = v_W4590.clone(); let __t887 = v_V4552.clone(); let __t888 = v_V4553.clone(); let __t889 = v_V4554.clone(); let __t890 = v_W4557.clone(); let __t891 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t885, __t886, __t887, __t888, __t889, __t890, __t891])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4588, v_W4590], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t873, __t880, __t881, __t882, __t883, __t884, __t892])? } }; rt::apply_direct(interp, "shen.gc", &[__t872, __t893])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t900 = { let __t898 = v_W4584.clone(); let __t899 = Value::bool(false); rt::eq(&__t898, &__t899) }; if match rt::is_truthy(interp, &__t900) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4591 = { let __t1002 = { let __t901 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t901])? }; if rt::is_truthy(interp, &__t1002)? { { let v_W4592 = { let __t902 = v_V4550.clone(); let __t903 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t902, __t903])? }; { let __t1001 = { let __t904 = v_W4592.clone(); rt::is_cons(&__t904) }; if rt::is_truthy(interp, &__t1001)? { { let v_W4593 = { let __t906 = { let __t905 = v_W4592.clone(); rt::hd(&__t905)? }; let __t907 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t906, __t907])? }; { let __t1000 = Value::bool((v_W4593.clone()).as_sym() == Some(interp.intern_static("cons"))); if rt::is_truthy(interp, &__t1000)? { { let v_W4594 = { let __t909 = { let __t908 = v_W4592.clone(); rt::tl(&__t908)? }; let __t910 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t909, __t910])? }; { let __t999 = { let __t911 = v_W4594.clone(); rt::is_cons(&__t911) }; if rt::is_truthy(interp, &__t999)? { { let v_W4595 = { let __t912 = v_W4594.clone(); rt::hd(&__t912)? }; { let v_W4596 = { let __t914 = { let __t913 = v_W4594.clone(); rt::tl(&__t913)? }; let __t915 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t914, __t915])? }; { let __t998 = { let __t916 = v_W4596.clone(); rt::is_cons(&__t916) }; if rt::is_truthy(interp, &__t998)? { { let v_W4597 = { let __t917 = v_W4596.clone(); rt::hd(&__t917)? }; { let v_W4598 = { let __t919 = { let __t918 = v_W4596.clone(); rt::tl(&__t918)? }; let __t920 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t919, __t920])? }; { let __t997 = Value::bool((v_W4598.clone()).is_nil()); if rt::is_truthy(interp, &__t997)? { { let v_W4599 = { let __t921 = v_V4551.clone(); let __t922 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t921, __t922])? }; { let v_W4600 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4595 = v_W4595.clone(); let v_W4597 = v_W4597.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4601 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t923 = v_W4595.clone(); let __t924 = v_Z4601.clone(); let __t925 = v_V4552.clone(); let __t926 = v_V4553.clone(); let __t927 = v_V4554.clone(); let __t928 = v_W4557.clone(); let __t940 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4597 = v_W4597.clone(); let v_Z4601 = v_Z4601.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t929 = v_W4597.clone(); let __t934 = { let __t930 = Value::sym(interp.intern_static("list")); let __t933 = { let __t931 = v_Z4601.clone(); let __t932 = Value::nil(); rt::cons(&__t931, &__t932) }; rt::cons(&__t930, &__t933) }; let __t935 = v_V4552.clone(); let __t936 = v_V4553.clone(); let __t937 = v_V4554.clone(); let __t938 = v_W4557.clone(); let __t939 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t929, __t934, __t935, __t936, __t937, __t938, __t939])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4597, v_Z4601], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t923, __t924, __t925, __t926, __t927, __t928, __t940])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4595, v_W4597], interp) }; { let __t996 = { let __t941 = v_W4599.clone(); rt::is_cons(&__t941) }; if rt::is_truthy(interp, &__t996)? { { let v_W4602 = { let __t943 = { let __t942 = v_W4599.clone(); rt::hd(&__t942)? }; let __t944 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t943, __t944])? }; { let v_W4603 = { let v_V4553 = v_V4553.clone(); let v_W4599 = v_W4599.clone(); let v_W4600 = v_W4600.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4604 = { let __t946 = { let __t945 = v_W4599.clone(); rt::tl(&__t945)? }; let __t947 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t946, __t947])? }; { let v_W4605 = { let v_W4600 = v_W4600.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4606 = args[0].clone(); Ok({ let __t948 = v_Z4606.clone(); rt::apply_value(interp, v_W4600.clone(), &[__t948])? }) }, vec![v_W4600], interp) }; { let __t974 = { let __t949 = v_W4604.clone(); rt::is_cons(&__t949) }; if rt::is_truthy(interp, &__t974)? { { let v_W4607 = { let __t950 = v_W4604.clone(); rt::hd(&__t950)? }; { let v_W4608 = { let __t952 = { let __t951 = v_W4604.clone(); rt::tl(&__t951)? }; let __t953 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t952, __t953])? }; { let v_W4609 = { let v_W4605 = v_W4605.clone(); let v_W4607 = v_W4607.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t954 = v_W4607.clone(); rt::apply_value(interp, v_W4605.clone(), &[__t954])? }), vec![v_W4605, v_W4607], interp) }; { let __t961 = Value::bool((v_W4608.clone()).is_nil()); if rt::is_truthy(interp, &__t961)? { rt::apply_value(interp, v_W4609.clone(), &[])? } else { { let __t960 = { let __t955 = v_W4608.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t955])? }; if rt::is_truthy(interp, &__t960)? { { let __t956 = v_W4608.clone(); let __t957 = Value::nil(); let __t958 = v_V4553.clone(); let __t959 = v_W4609.clone(); rt::apply_direct(interp, "shen.bind!", &[__t956, __t957, __t958, __t959])? } } else { Value::bool(false) } } } } } } } } else { { let __t973 = { let __t962 = v_W4604.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t962])? }; if rt::is_truthy(interp, &__t973)? { { let v_W4610 = { let __t963 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t963])? }; { let __t964 = v_V4553.clone(); let __t972 = { let __t968 = v_W4604.clone(); let __t969 = { let __t965 = v_W4610.clone(); let __t966 = Value::nil(); rt::cons(&__t965, &__t966) }; let __t970 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t968, __t969, __t970])?; let __t971 = { let __t967 = v_W4610.clone(); rt::apply_value(interp, v_W4605.clone(), &[__t967])? }; if rt::is_truthy(interp, &rt::eq(&__t971, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t968, __t970, __t971])? } else { __t971 } }; rt::apply_direct(interp, "shen.gc", &[__t964, __t972])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4599, v_W4600], interp) }; { let __t981 = Value::bool((v_W4602.clone()).as_sym() == Some(interp.intern_static("list"))); if rt::is_truthy(interp, &__t981)? { rt::apply_value(interp, v_W4603.clone(), &[])? } else { { let __t980 = { let __t975 = v_W4602.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t975])? }; if rt::is_truthy(interp, &__t980)? { { let __t976 = v_W4602.clone(); let __t977 = Value::sym(interp.intern_static("list")); let __t978 = v_V4553.clone(); let __t979 = v_W4603.clone(); rt::apply_direct(interp, "shen.bind!", &[__t976, __t977, __t978, __t979])? } } else { Value::bool(false) } } } } } } } else { { let __t995 = { let __t982 = v_W4599.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t982])? }; if rt::is_truthy(interp, &__t995)? { { let v_W4611 = { let __t983 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t983])? }; { let __t984 = v_V4553.clone(); let __t994 = { let __t990 = v_W4599.clone(); let __t991 = { let __t985 = Value::sym(interp.intern_static("list")); let __t988 = { let __t986 = v_W4611.clone(); let __t987 = Value::nil(); rt::cons(&__t986, &__t987) }; rt::cons(&__t985, &__t988) }; let __t992 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t990, __t991, __t992])?; let __t993 = { let __t989 = v_W4611.clone(); rt::apply_value(interp, v_W4600.clone(), &[__t989])? }; if rt::is_truthy(interp, &rt::eq(&__t993, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t990, __t992, __t993])? } else { __t993 } }; rt::apply_direct(interp, "shen.gc", &[__t984, __t994])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1005 = { let __t1003 = v_W4591.clone(); let __t1004 = Value::bool(false); rt::eq(&__t1003, &__t1004) }; if match rt::is_truthy(interp, &__t1005) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4612 = { let __t1133 = { let __t1006 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1006])? }; if rt::is_truthy(interp, &__t1133)? { { let v_W4613 = { let __t1007 = v_V4550.clone(); let __t1008 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1007, __t1008])? }; { let __t1132 = { let __t1009 = v_W4613.clone(); rt::is_cons(&__t1009) }; if rt::is_truthy(interp, &__t1132)? { { let v_W4614 = { let __t1011 = { let __t1010 = v_W4613.clone(); rt::hd(&__t1010)? }; let __t1012 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1011, __t1012])? }; { let __t1131 = Value::bool((v_W4614.clone()).as_sym() == Some(interp.intern_static("@p"))); if rt::is_truthy(interp, &__t1131)? { { let v_W4615 = { let __t1014 = { let __t1013 = v_W4613.clone(); rt::tl(&__t1013)? }; let __t1015 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1014, __t1015])? }; { let __t1130 = { let __t1016 = v_W4615.clone(); rt::is_cons(&__t1016) }; if rt::is_truthy(interp, &__t1130)? { { let v_W4616 = { let __t1017 = v_W4615.clone(); rt::hd(&__t1017)? }; { let v_W4617 = { let __t1019 = { let __t1018 = v_W4615.clone(); rt::tl(&__t1018)? }; let __t1020 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1019, __t1020])? }; { let __t1129 = { let __t1021 = v_W4617.clone(); rt::is_cons(&__t1021) }; if rt::is_truthy(interp, &__t1129)? { { let v_W4618 = { let __t1022 = v_W4617.clone(); rt::hd(&__t1022)? }; { let v_W4619 = { let __t1024 = { let __t1023 = v_W4617.clone(); rt::tl(&__t1023)? }; let __t1025 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1024, __t1025])? }; { let __t1128 = Value::bool((v_W4619.clone()).is_nil()); if rt::is_truthy(interp, &__t1128)? { { let v_W4620 = { let __t1026 = v_V4551.clone(); let __t1027 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1026, __t1027])? }; { let v_W4621 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4616 = v_W4616.clone(); let v_W4618 = v_W4618.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4622 = args[0].clone(); Ok({ let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4616 = v_W4616.clone(); let v_W4618 = v_W4618.clone(); let v_Z4622 = v_Z4622.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4623 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1028 = v_W4616.clone(); let __t1029 = v_Z4622.clone(); let __t1030 = v_V4552.clone(); let __t1031 = v_V4553.clone(); let __t1032 = v_V4554.clone(); let __t1033 = v_W4557.clone(); let __t1041 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4618 = v_W4618.clone(); let v_Z4623 = v_Z4623.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1034 = v_W4618.clone(); let __t1035 = v_Z4623.clone(); let __t1036 = v_V4552.clone(); let __t1037 = v_V4553.clone(); let __t1038 = v_V4554.clone(); let __t1039 = v_W4557.clone(); let __t1040 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1034, __t1035, __t1036, __t1037, __t1038, __t1039, __t1040])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4618, v_Z4623], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1028, __t1029, __t1030, __t1031, __t1032, __t1033, __t1041])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4616, v_W4618, v_Z4622], interp) }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4616, v_W4618], interp) }; { let __t1127 = { let __t1042 = v_W4620.clone(); rt::is_cons(&__t1042) }; if rt::is_truthy(interp, &__t1127)? { { let v_W4624 = { let __t1043 = v_W4620.clone(); rt::hd(&__t1043)? }; { let v_W4625 = { let __t1045 = { let __t1044 = v_W4620.clone(); rt::tl(&__t1044)? }; let __t1046 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1045, __t1046])? }; { let v_W4626 = { let v_W4621 = v_W4621.clone(); let v_W4624 = v_W4624.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4627 = args[0].clone(); Ok({ let __t1048 = { let __t1047 = v_W4624.clone(); rt::apply_value(interp, v_W4621.clone(), &[__t1047])? }; let __t1049 = v_Z4627.clone(); rt::apply_value(interp, __t1048, &[__t1049])? }) }, vec![v_W4621, v_W4624], interp) }; { let __t1105 = { let __t1050 = v_W4625.clone(); rt::is_cons(&__t1050) }; if rt::is_truthy(interp, &__t1105)? { { let v_W4628 = { let __t1052 = { let __t1051 = v_W4625.clone(); rt::hd(&__t1051)? }; let __t1053 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1052, __t1053])? }; { let v_W4629 = { let v_V4553 = v_V4553.clone(); let v_W4625 = v_W4625.clone(); let v_W4626 = v_W4626.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4630 = { let __t1055 = { let __t1054 = v_W4625.clone(); rt::tl(&__t1054)? }; let __t1056 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1055, __t1056])? }; { let v_W4631 = { let v_W4626 = v_W4626.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4632 = args[0].clone(); Ok({ let __t1057 = v_Z4632.clone(); rt::apply_value(interp, v_W4626.clone(), &[__t1057])? }) }, vec![v_W4626], interp) }; { let __t1083 = { let __t1058 = v_W4630.clone(); rt::is_cons(&__t1058) }; if rt::is_truthy(interp, &__t1083)? { { let v_W4633 = { let __t1059 = v_W4630.clone(); rt::hd(&__t1059)? }; { let v_W4634 = { let __t1061 = { let __t1060 = v_W4630.clone(); rt::tl(&__t1060)? }; let __t1062 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1061, __t1062])? }; { let v_W4635 = { let v_W4631 = v_W4631.clone(); let v_W4633 = v_W4633.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1063 = v_W4633.clone(); rt::apply_value(interp, v_W4631.clone(), &[__t1063])? }), vec![v_W4631, v_W4633], interp) }; { let __t1070 = Value::bool((v_W4634.clone()).is_nil()); if rt::is_truthy(interp, &__t1070)? { rt::apply_value(interp, v_W4635.clone(), &[])? } else { { let __t1069 = { let __t1064 = v_W4634.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1064])? }; if rt::is_truthy(interp, &__t1069)? { { let __t1065 = v_W4634.clone(); let __t1066 = Value::nil(); let __t1067 = v_V4553.clone(); let __t1068 = v_W4635.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1065, __t1066, __t1067, __t1068])? } } else { Value::bool(false) } } } } } } } } else { { let __t1082 = { let __t1071 = v_W4630.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1071])? }; if rt::is_truthy(interp, &__t1082)? { { let v_W4636 = { let __t1072 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1072])? }; { let __t1073 = v_V4553.clone(); let __t1081 = { let __t1077 = v_W4630.clone(); let __t1078 = { let __t1074 = v_W4636.clone(); let __t1075 = Value::nil(); rt::cons(&__t1074, &__t1075) }; let __t1079 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1077, __t1078, __t1079])?; let __t1080 = { let __t1076 = v_W4636.clone(); rt::apply_value(interp, v_W4631.clone(), &[__t1076])? }; if rt::is_truthy(interp, &rt::eq(&__t1080, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1077, __t1079, __t1080])? } else { __t1080 } }; rt::apply_direct(interp, "shen.gc", &[__t1073, __t1081])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4625, v_W4626], interp) }; { let __t1090 = Value::bool((v_W4628.clone()).as_sym() == Some(interp.intern_static("*"))); if rt::is_truthy(interp, &__t1090)? { rt::apply_value(interp, v_W4629.clone(), &[])? } else { { let __t1089 = { let __t1084 = v_W4628.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1084])? }; if rt::is_truthy(interp, &__t1089)? { { let __t1085 = v_W4628.clone(); let __t1086 = Value::sym(interp.intern_static("*")); let __t1087 = v_V4553.clone(); let __t1088 = v_W4629.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1085, __t1086, __t1087, __t1088])? } } else { Value::bool(false) } } } } } } } else { { let __t1104 = { let __t1091 = v_W4625.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1091])? }; if rt::is_truthy(interp, &__t1104)? { { let v_W4637 = { let __t1092 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1092])? }; { let __t1093 = v_V4553.clone(); let __t1103 = { let __t1099 = v_W4625.clone(); let __t1100 = { let __t1094 = Value::sym(interp.intern_static("*")); let __t1097 = { let __t1095 = v_W4637.clone(); let __t1096 = Value::nil(); rt::cons(&__t1095, &__t1096) }; rt::cons(&__t1094, &__t1097) }; let __t1101 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1099, __t1100, __t1101])?; let __t1102 = { let __t1098 = v_W4637.clone(); rt::apply_value(interp, v_W4626.clone(), &[__t1098])? }; if rt::is_truthy(interp, &rt::eq(&__t1102, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1099, __t1101, __t1102])? } else { __t1102 } }; rt::apply_direct(interp, "shen.gc", &[__t1093, __t1103])? } } } else { Value::bool(false) } } } } } } } } else { { let __t1126 = { let __t1106 = v_W4620.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1106])? }; if rt::is_truthy(interp, &__t1126)? { { let v_W4638 = { let __t1107 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1107])? }; { let __t1108 = v_V4553.clone(); let __t1125 = { let v_W4639 = { let __t1109 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1109])? }; { let __t1110 = v_V4553.clone(); let __t1124 = { let __t1120 = v_W4620.clone(); let __t1121 = { let __t1111 = v_W4638.clone(); let __t1116 = { let __t1112 = Value::sym(interp.intern_static("*")); let __t1115 = { let __t1113 = v_W4639.clone(); let __t1114 = Value::nil(); rt::cons(&__t1113, &__t1114) }; rt::cons(&__t1112, &__t1115) }; rt::cons(&__t1111, &__t1116) }; let __t1122 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1120, __t1121, __t1122])?; let __t1123 = { let __t1118 = { let __t1117 = v_W4638.clone(); rt::apply_value(interp, v_W4621.clone(), &[__t1117])? }; let __t1119 = v_W4639.clone(); rt::apply_value(interp, __t1118, &[__t1119])? }; if rt::is_truthy(interp, &rt::eq(&__t1123, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1120, __t1122, __t1123])? } else { __t1123 } }; rt::apply_direct(interp, "shen.gc", &[__t1110, __t1124])? } }; rt::apply_direct(interp, "shen.gc", &[__t1108, __t1125])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1136 = { let __t1134 = v_W4612.clone(); let __t1135 = Value::bool(false); rt::eq(&__t1134, &__t1135) }; if match rt::is_truthy(interp, &__t1136) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4640 = { let __t1238 = { let __t1137 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1137])? }; if rt::is_truthy(interp, &__t1238)? { { let v_W4641 = { let __t1138 = v_V4550.clone(); let __t1139 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1138, __t1139])? }; { let __t1237 = { let __t1140 = v_W4641.clone(); rt::is_cons(&__t1140) }; if rt::is_truthy(interp, &__t1237)? { { let v_W4642 = { let __t1142 = { let __t1141 = v_W4641.clone(); rt::hd(&__t1141)? }; let __t1143 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1142, __t1143])? }; { let __t1236 = Value::bool((v_W4642.clone()).as_sym() == Some(interp.intern_static("@v"))); if rt::is_truthy(interp, &__t1236)? { { let v_W4643 = { let __t1145 = { let __t1144 = v_W4641.clone(); rt::tl(&__t1144)? }; let __t1146 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1145, __t1146])? }; { let __t1235 = { let __t1147 = v_W4643.clone(); rt::is_cons(&__t1147) }; if rt::is_truthy(interp, &__t1235)? { { let v_W4644 = { let __t1148 = v_W4643.clone(); rt::hd(&__t1148)? }; { let v_W4645 = { let __t1150 = { let __t1149 = v_W4643.clone(); rt::tl(&__t1149)? }; let __t1151 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1150, __t1151])? }; { let __t1234 = { let __t1152 = v_W4645.clone(); rt::is_cons(&__t1152) }; if rt::is_truthy(interp, &__t1234)? { { let v_W4646 = { let __t1153 = v_W4645.clone(); rt::hd(&__t1153)? }; { let v_W4647 = { let __t1155 = { let __t1154 = v_W4645.clone(); rt::tl(&__t1154)? }; let __t1156 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1155, __t1156])? }; { let __t1233 = Value::bool((v_W4647.clone()).is_nil()); if rt::is_truthy(interp, &__t1233)? { { let v_W4648 = { let __t1157 = v_V4551.clone(); let __t1158 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1157, __t1158])? }; { let v_W4649 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4644 = v_W4644.clone(); let v_W4646 = v_W4646.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4650 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1159 = v_W4644.clone(); let __t1160 = v_Z4650.clone(); let __t1161 = v_V4552.clone(); let __t1162 = v_V4553.clone(); let __t1163 = v_V4554.clone(); let __t1164 = v_W4557.clone(); let __t1176 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4646 = v_W4646.clone(); let v_Z4650 = v_Z4650.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1165 = v_W4646.clone(); let __t1170 = { let __t1166 = Value::sym(interp.intern_static("vector")); let __t1169 = { let __t1167 = v_Z4650.clone(); let __t1168 = Value::nil(); rt::cons(&__t1167, &__t1168) }; rt::cons(&__t1166, &__t1169) }; let __t1171 = v_V4552.clone(); let __t1172 = v_V4553.clone(); let __t1173 = v_V4554.clone(); let __t1174 = v_W4557.clone(); let __t1175 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1165, __t1170, __t1171, __t1172, __t1173, __t1174, __t1175])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4646, v_Z4650], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1159, __t1160, __t1161, __t1162, __t1163, __t1164, __t1176])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4644, v_W4646], interp) }; { let __t1232 = { let __t1177 = v_W4648.clone(); rt::is_cons(&__t1177) }; if rt::is_truthy(interp, &__t1232)? { { let v_W4651 = { let __t1179 = { let __t1178 = v_W4648.clone(); rt::hd(&__t1178)? }; let __t1180 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1179, __t1180])? }; { let v_W4652 = { let v_V4553 = v_V4553.clone(); let v_W4648 = v_W4648.clone(); let v_W4649 = v_W4649.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4653 = { let __t1182 = { let __t1181 = v_W4648.clone(); rt::tl(&__t1181)? }; let __t1183 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1182, __t1183])? }; { let v_W4654 = { let v_W4649 = v_W4649.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4655 = args[0].clone(); Ok({ let __t1184 = v_Z4655.clone(); rt::apply_value(interp, v_W4649.clone(), &[__t1184])? }) }, vec![v_W4649], interp) }; { let __t1210 = { let __t1185 = v_W4653.clone(); rt::is_cons(&__t1185) }; if rt::is_truthy(interp, &__t1210)? { { let v_W4656 = { let __t1186 = v_W4653.clone(); rt::hd(&__t1186)? }; { let v_W4657 = { let __t1188 = { let __t1187 = v_W4653.clone(); rt::tl(&__t1187)? }; let __t1189 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1188, __t1189])? }; { let v_W4658 = { let v_W4654 = v_W4654.clone(); let v_W4656 = v_W4656.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1190 = v_W4656.clone(); rt::apply_value(interp, v_W4654.clone(), &[__t1190])? }), vec![v_W4654, v_W4656], interp) }; { let __t1197 = Value::bool((v_W4657.clone()).is_nil()); if rt::is_truthy(interp, &__t1197)? { rt::apply_value(interp, v_W4658.clone(), &[])? } else { { let __t1196 = { let __t1191 = v_W4657.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1191])? }; if rt::is_truthy(interp, &__t1196)? { { let __t1192 = v_W4657.clone(); let __t1193 = Value::nil(); let __t1194 = v_V4553.clone(); let __t1195 = v_W4658.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1192, __t1193, __t1194, __t1195])? } } else { Value::bool(false) } } } } } } } } else { { let __t1209 = { let __t1198 = v_W4653.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1198])? }; if rt::is_truthy(interp, &__t1209)? { { let v_W4659 = { let __t1199 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1199])? }; { let __t1200 = v_V4553.clone(); let __t1208 = { let __t1204 = v_W4653.clone(); let __t1205 = { let __t1201 = v_W4659.clone(); let __t1202 = Value::nil(); rt::cons(&__t1201, &__t1202) }; let __t1206 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1204, __t1205, __t1206])?; let __t1207 = { let __t1203 = v_W4659.clone(); rt::apply_value(interp, v_W4654.clone(), &[__t1203])? }; if rt::is_truthy(interp, &rt::eq(&__t1207, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1204, __t1206, __t1207])? } else { __t1207 } }; rt::apply_direct(interp, "shen.gc", &[__t1200, __t1208])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4648, v_W4649], interp) }; { let __t1217 = Value::bool((v_W4651.clone()).as_sym() == Some(interp.intern_static("vector"))); if rt::is_truthy(interp, &__t1217)? { rt::apply_value(interp, v_W4652.clone(), &[])? } else { { let __t1216 = { let __t1211 = v_W4651.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1211])? }; if rt::is_truthy(interp, &__t1216)? { { let __t1212 = v_W4651.clone(); let __t1213 = Value::sym(interp.intern_static("vector")); let __t1214 = v_V4553.clone(); let __t1215 = v_W4652.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1212, __t1213, __t1214, __t1215])? } } else { Value::bool(false) } } } } } } } else { { let __t1231 = { let __t1218 = v_W4648.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1218])? }; if rt::is_truthy(interp, &__t1231)? { { let v_W4660 = { let __t1219 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1219])? }; { let __t1220 = v_V4553.clone(); let __t1230 = { let __t1226 = v_W4648.clone(); let __t1227 = { let __t1221 = Value::sym(interp.intern_static("vector")); let __t1224 = { let __t1222 = v_W4660.clone(); let __t1223 = Value::nil(); rt::cons(&__t1222, &__t1223) }; rt::cons(&__t1221, &__t1224) }; let __t1228 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1226, __t1227, __t1228])?; let __t1229 = { let __t1225 = v_W4660.clone(); rt::apply_value(interp, v_W4649.clone(), &[__t1225])? }; if rt::is_truthy(interp, &rt::eq(&__t1229, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1226, __t1228, __t1229])? } else { __t1229 } }; rt::apply_direct(interp, "shen.gc", &[__t1220, __t1230])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1241 = { let __t1239 = v_W4640.clone(); let __t1240 = Value::bool(false); rt::eq(&__t1239, &__t1240) }; if match rt::is_truthy(interp, &__t1241) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4661 = { let __t1290 = { let __t1242 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1242])? }; if rt::is_truthy(interp, &__t1290)? { { let v_W4662 = { let __t1243 = v_V4550.clone(); let __t1244 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1243, __t1244])? }; { let __t1289 = { let __t1245 = v_W4662.clone(); rt::is_cons(&__t1245) }; if rt::is_truthy(interp, &__t1289)? { { let v_W4663 = { let __t1247 = { let __t1246 = v_W4662.clone(); rt::hd(&__t1246)? }; let __t1248 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1247, __t1248])? }; { let __t1288 = Value::bool((v_W4663.clone()).as_sym() == Some(interp.intern_static("@s"))); if rt::is_truthy(interp, &__t1288)? { { let v_W4664 = { let __t1250 = { let __t1249 = v_W4662.clone(); rt::tl(&__t1249)? }; let __t1251 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1250, __t1251])? }; { let __t1287 = { let __t1252 = v_W4664.clone(); rt::is_cons(&__t1252) }; if rt::is_truthy(interp, &__t1287)? { { let v_W4665 = { let __t1253 = v_W4664.clone(); rt::hd(&__t1253)? }; { let v_W4666 = { let __t1255 = { let __t1254 = v_W4664.clone(); rt::tl(&__t1254)? }; let __t1256 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1255, __t1256])? }; { let __t1286 = { let __t1257 = v_W4666.clone(); rt::is_cons(&__t1257) }; if rt::is_truthy(interp, &__t1286)? { { let v_W4667 = { let __t1258 = v_W4666.clone(); rt::hd(&__t1258)? }; { let v_W4668 = { let __t1260 = { let __t1259 = v_W4666.clone(); rt::tl(&__t1259)? }; let __t1261 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1260, __t1261])? }; { let __t1285 = Value::bool((v_W4668.clone()).is_nil()); if rt::is_truthy(interp, &__t1285)? { { let v_W4669 = { let __t1262 = v_V4551.clone(); let __t1263 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1262, __t1263])? }; { let v_W4670 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4665 = v_W4665.clone(); let v_W4667 = v_W4667.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1264 = v_W4665.clone(); let __t1265 = Value::sym(interp.intern_static("string")); let __t1266 = v_V4552.clone(); let __t1267 = v_V4553.clone(); let __t1268 = v_V4554.clone(); let __t1269 = v_W4557.clone(); let __t1277 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4667 = v_W4667.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1270 = v_W4667.clone(); let __t1271 = Value::sym(interp.intern_static("string")); let __t1272 = v_V4552.clone(); let __t1273 = v_V4553.clone(); let __t1274 = v_V4554.clone(); let __t1275 = v_W4557.clone(); let __t1276 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1270, __t1271, __t1272, __t1273, __t1274, __t1275, __t1276])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4667], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1264, __t1265, __t1266, __t1267, __t1268, __t1269, __t1277])? } }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4665, v_W4667], interp) }; { let __t1284 = Value::bool((v_W4669.clone()).as_sym() == Some(interp.intern_static("string"))); if rt::is_truthy(interp, &__t1284)? { rt::apply_value(interp, v_W4670.clone(), &[])? } else { { let __t1283 = { let __t1278 = v_W4669.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1278])? }; if rt::is_truthy(interp, &__t1283)? { { let __t1279 = v_W4669.clone(); let __t1280 = Value::sym(interp.intern_static("string")); let __t1281 = v_V4553.clone(); let __t1282 = v_W4670.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1279, __t1280, __t1281, __t1282])? } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1293 = { let __t1291 = v_W4661.clone(); let __t1292 = Value::bool(false); rt::eq(&__t1291, &__t1292) }; if match rt::is_truthy(interp, &__t1293) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4671 = { let __t1448 = { let __t1294 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1294])? }; if rt::is_truthy(interp, &__t1448)? { { let v_W4672 = { let __t1295 = v_V4550.clone(); let __t1296 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1295, __t1296])? }; { let __t1447 = { let __t1297 = v_W4672.clone(); rt::is_cons(&__t1297) }; if rt::is_truthy(interp, &__t1447)? { { let v_W4673 = { let __t1299 = { let __t1298 = v_W4672.clone(); rt::hd(&__t1298)? }; let __t1300 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1299, __t1300])? }; { let __t1446 = Value::bool((v_W4673.clone()).as_sym() == Some(interp.intern_static("lambda"))); if rt::is_truthy(interp, &__t1446)? { { let v_W4674 = { let __t1302 = { let __t1301 = v_W4672.clone(); rt::tl(&__t1301)? }; let __t1303 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1302, __t1303])? }; { let __t1445 = { let __t1304 = v_W4674.clone(); rt::is_cons(&__t1304) }; if rt::is_truthy(interp, &__t1445)? { { let v_W4675 = { let __t1305 = v_W4674.clone(); rt::hd(&__t1305)? }; { let v_W4676 = { let __t1307 = { let __t1306 = v_W4674.clone(); rt::tl(&__t1306)? }; let __t1308 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1307, __t1308])? }; { let __t1444 = { let __t1309 = v_W4676.clone(); rt::is_cons(&__t1309) }; if rt::is_truthy(interp, &__t1444)? { { let v_W4677 = { let __t1310 = v_W4676.clone(); rt::hd(&__t1310)? }; { let v_W4678 = { let __t1312 = { let __t1311 = v_W4676.clone(); rt::tl(&__t1311)? }; let __t1313 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1312, __t1313])? }; { let __t1443 = Value::bool((v_W4678.clone()).is_nil()); if rt::is_truthy(interp, &__t1443)? { { let v_W4679 = { let __t1314 = v_V4551.clone(); let __t1315 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1314, __t1315])? }; { let v_W4680 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4675 = v_W4675.clone(); let v_W4677 = v_W4677.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4681 = args[0].clone(); Ok({ let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4675 = v_W4675.clone(); let v_W4677 = v_W4677.clone(); let v_Z4681 = v_Z4681.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4682 = args[0].clone(); Ok({ let v_W4683 = { let __t1316 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1316])? }; { let __t1317 = v_V4553.clone(); let __t1356 = { let v_W4684 = { let __t1318 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1318])? }; { let __t1319 = v_V4553.clone(); let __t1355 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1351 = v_W4684.clone(); let __t1352 = { let __t1322 = { let __t1320 = v_W4675.clone(); let __t1321 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1320, __t1321])? }; aot_shen_x2e_freshterm(interp, &[__t1322])? }; let __t1353 = v_V4553.clone(); let _ = v_V4554.clone(); let _ = v_W4557.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1351, __t1352, __t1353])?; let __t1354 = { let __t1347 = v_W4683.clone(); let __t1348 = { let __t1325 = { let __t1323 = v_W4675.clone(); let __t1324 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1323, __t1324])? }; let __t1328 = { let __t1326 = v_W4684.clone(); let __t1327 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1326, __t1327])? }; let __t1331 = { let __t1329 = v_W4677.clone(); let __t1330 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1329, __t1330])? }; rt::apply_direct(interp, "shen.beta", &[__t1325, __t1328, __t1331])? }; let __t1349 = v_V4553.clone(); let _ = v_V4554.clone(); let _ = v_W4557.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1347, __t1348, __t1349])?; let __t1350 = { let __t1332 = v_W4683.clone(); let __t1333 = v_Z4682.clone(); let __t1342 = { let __t1340 = { let __t1334 = v_W4684.clone(); let __t1339 = { let __t1335 = Value::sym(interp.intern_static(":")); let __t1338 = { let __t1336 = v_Z4681.clone(); let __t1337 = Value::nil(); rt::cons(&__t1336, &__t1337) }; rt::cons(&__t1335, &__t1338) }; rt::cons(&__t1334, &__t1339) }; let __t1341 = v_V4552.clone(); rt::cons(&__t1340, &__t1341) }; let __t1343 = v_V4553.clone(); let __t1344 = v_V4554.clone(); let __t1345 = v_W4557.clone(); let __t1346 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1332, __t1333, __t1342, __t1343, __t1344, __t1345, __t1346])? }; if rt::is_truthy(interp, &rt::eq(&__t1350, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1347, __t1349, __t1350])? } else { __t1350 } }; if rt::is_truthy(interp, &rt::eq(&__t1354, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1351, __t1353, __t1354])? } else { __t1354 } } }; rt::apply_direct(interp, "shen.gc", &[__t1319, __t1355])? } }; rt::apply_direct(interp, "shen.gc", &[__t1317, __t1356])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4675, v_W4677, v_Z4681], interp) }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4675, v_W4677], interp) }; { let __t1442 = { let __t1357 = v_W4679.clone(); rt::is_cons(&__t1357) }; if rt::is_truthy(interp, &__t1442)? { { let v_W4685 = { let __t1358 = v_W4679.clone(); rt::hd(&__t1358)? }; { let v_W4686 = { let __t1360 = { let __t1359 = v_W4679.clone(); rt::tl(&__t1359)? }; let __t1361 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1360, __t1361])? }; { let v_W4687 = { let v_W4680 = v_W4680.clone(); let v_W4685 = v_W4685.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4688 = args[0].clone(); Ok({ let __t1363 = { let __t1362 = v_W4685.clone(); rt::apply_value(interp, v_W4680.clone(), &[__t1362])? }; let __t1364 = v_Z4688.clone(); rt::apply_value(interp, __t1363, &[__t1364])? }) }, vec![v_W4680, v_W4685], interp) }; { let __t1420 = { let __t1365 = v_W4686.clone(); rt::is_cons(&__t1365) }; if rt::is_truthy(interp, &__t1420)? { { let v_W4689 = { let __t1367 = { let __t1366 = v_W4686.clone(); rt::hd(&__t1366)? }; let __t1368 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1367, __t1368])? }; { let v_W4690 = { let v_V4553 = v_V4553.clone(); let v_W4686 = v_W4686.clone(); let v_W4687 = v_W4687.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4691 = { let __t1370 = { let __t1369 = v_W4686.clone(); rt::tl(&__t1369)? }; let __t1371 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1370, __t1371])? }; { let v_W4692 = { let v_W4687 = v_W4687.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4693 = args[0].clone(); Ok({ let __t1372 = v_Z4693.clone(); rt::apply_value(interp, v_W4687.clone(), &[__t1372])? }) }, vec![v_W4687], interp) }; { let __t1398 = { let __t1373 = v_W4691.clone(); rt::is_cons(&__t1373) }; if rt::is_truthy(interp, &__t1398)? { { let v_W4694 = { let __t1374 = v_W4691.clone(); rt::hd(&__t1374)? }; { let v_W4695 = { let __t1376 = { let __t1375 = v_W4691.clone(); rt::tl(&__t1375)? }; let __t1377 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1376, __t1377])? }; { let v_W4696 = { let v_W4692 = v_W4692.clone(); let v_W4694 = v_W4694.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1378 = v_W4694.clone(); rt::apply_value(interp, v_W4692.clone(), &[__t1378])? }), vec![v_W4692, v_W4694], interp) }; { let __t1385 = Value::bool((v_W4695.clone()).is_nil()); if rt::is_truthy(interp, &__t1385)? { rt::apply_value(interp, v_W4696.clone(), &[])? } else { { let __t1384 = { let __t1379 = v_W4695.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1379])? }; if rt::is_truthy(interp, &__t1384)? { { let __t1380 = v_W4695.clone(); let __t1381 = Value::nil(); let __t1382 = v_V4553.clone(); let __t1383 = v_W4696.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1380, __t1381, __t1382, __t1383])? } } else { Value::bool(false) } } } } } } } } else { { let __t1397 = { let __t1386 = v_W4691.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1386])? }; if rt::is_truthy(interp, &__t1397)? { { let v_W4697 = { let __t1387 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1387])? }; { let __t1388 = v_V4553.clone(); let __t1396 = { let __t1392 = v_W4691.clone(); let __t1393 = { let __t1389 = v_W4697.clone(); let __t1390 = Value::nil(); rt::cons(&__t1389, &__t1390) }; let __t1394 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1392, __t1393, __t1394])?; let __t1395 = { let __t1391 = v_W4697.clone(); rt::apply_value(interp, v_W4692.clone(), &[__t1391])? }; if rt::is_truthy(interp, &rt::eq(&__t1395, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1392, __t1394, __t1395])? } else { __t1395 } }; rt::apply_direct(interp, "shen.gc", &[__t1388, __t1396])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4686, v_W4687], interp) }; { let __t1405 = Value::bool((v_W4689.clone()).as_sym() == Some(interp.intern_static("-->"))); if rt::is_truthy(interp, &__t1405)? { rt::apply_value(interp, v_W4690.clone(), &[])? } else { { let __t1404 = { let __t1399 = v_W4689.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1399])? }; if rt::is_truthy(interp, &__t1404)? { { let __t1400 = v_W4689.clone(); let __t1401 = Value::sym(interp.intern_static("-->")); let __t1402 = v_V4553.clone(); let __t1403 = v_W4690.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1400, __t1401, __t1402, __t1403])? } } else { Value::bool(false) } } } } } } } else { { let __t1419 = { let __t1406 = v_W4686.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1406])? }; if rt::is_truthy(interp, &__t1419)? { { let v_W4698 = { let __t1407 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1407])? }; { let __t1408 = v_V4553.clone(); let __t1418 = { let __t1414 = v_W4686.clone(); let __t1415 = { let __t1409 = Value::sym(interp.intern_static("-->")); let __t1412 = { let __t1410 = v_W4698.clone(); let __t1411 = Value::nil(); rt::cons(&__t1410, &__t1411) }; rt::cons(&__t1409, &__t1412) }; let __t1416 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1414, __t1415, __t1416])?; let __t1417 = { let __t1413 = v_W4698.clone(); rt::apply_value(interp, v_W4687.clone(), &[__t1413])? }; if rt::is_truthy(interp, &rt::eq(&__t1417, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1414, __t1416, __t1417])? } else { __t1417 } }; rt::apply_direct(interp, "shen.gc", &[__t1408, __t1418])? } } } else { Value::bool(false) } } } } } } } } else { { let __t1441 = { let __t1421 = v_W4679.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1421])? }; if rt::is_truthy(interp, &__t1441)? { { let v_W4699 = { let __t1422 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1422])? }; { let __t1423 = v_V4553.clone(); let __t1440 = { let v_W4700 = { let __t1424 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1424])? }; { let __t1425 = v_V4553.clone(); let __t1439 = { let __t1435 = v_W4679.clone(); let __t1436 = { let __t1426 = v_W4699.clone(); let __t1431 = { let __t1427 = Value::sym(interp.intern_static("-->")); let __t1430 = { let __t1428 = v_W4700.clone(); let __t1429 = Value::nil(); rt::cons(&__t1428, &__t1429) }; rt::cons(&__t1427, &__t1430) }; rt::cons(&__t1426, &__t1431) }; let __t1437 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1435, __t1436, __t1437])?; let __t1438 = { let __t1433 = { let __t1432 = v_W4699.clone(); rt::apply_value(interp, v_W4680.clone(), &[__t1432])? }; let __t1434 = v_W4700.clone(); rt::apply_value(interp, __t1433, &[__t1434])? }; if rt::is_truthy(interp, &rt::eq(&__t1438, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1435, __t1437, __t1438])? } else { __t1438 } }; rt::apply_direct(interp, "shen.gc", &[__t1425, __t1439])? } }; rt::apply_direct(interp, "shen.gc", &[__t1423, __t1440])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1451 = { let __t1449 = v_W4671.clone(); let __t1450 = Value::bool(false); rt::eq(&__t1449, &__t1450) }; if match rt::is_truthy(interp, &__t1451) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4701 = { let __t1534 = { let __t1452 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1452])? }; if rt::is_truthy(interp, &__t1534)? { { let v_W4702 = { let __t1453 = v_V4550.clone(); let __t1454 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1453, __t1454])? }; { let __t1533 = { let __t1455 = v_W4702.clone(); rt::is_cons(&__t1455) }; if rt::is_truthy(interp, &__t1533)? { { let v_W4703 = { let __t1457 = { let __t1456 = v_W4702.clone(); rt::hd(&__t1456)? }; let __t1458 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1457, __t1458])? }; { let __t1532 = Value::bool((v_W4703.clone()).as_sym() == Some(interp.intern_static("let"))); if rt::is_truthy(interp, &__t1532)? { { let v_W4704 = { let __t1460 = { let __t1459 = v_W4702.clone(); rt::tl(&__t1459)? }; let __t1461 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1460, __t1461])? }; { let __t1531 = { let __t1462 = v_W4704.clone(); rt::is_cons(&__t1462) }; if rt::is_truthy(interp, &__t1531)? { { let v_W4705 = { let __t1463 = v_W4704.clone(); rt::hd(&__t1463)? }; { let v_W4706 = { let __t1465 = { let __t1464 = v_W4704.clone(); rt::tl(&__t1464)? }; let __t1466 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1465, __t1466])? }; { let __t1530 = { let __t1467 = v_W4706.clone(); rt::is_cons(&__t1467) }; if rt::is_truthy(interp, &__t1530)? { { let v_W4707 = { let __t1468 = v_W4706.clone(); rt::hd(&__t1468)? }; { let v_W4708 = { let __t1470 = { let __t1469 = v_W4706.clone(); rt::tl(&__t1469)? }; let __t1471 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1470, __t1471])? }; { let __t1529 = { let __t1472 = v_W4708.clone(); rt::is_cons(&__t1472) }; if rt::is_truthy(interp, &__t1529)? { { let v_W4709 = { let __t1473 = v_W4708.clone(); rt::hd(&__t1473)? }; { let v_W4710 = { let __t1475 = { let __t1474 = v_W4708.clone(); rt::tl(&__t1474)? }; let __t1476 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1475, __t1476])? }; { let __t1528 = Value::bool((v_W4710.clone()).is_nil()); if rt::is_truthy(interp, &__t1528)? { { let v_W4711 = { let __t1477 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1477])? }; { let __t1478 = v_V4553.clone(); let __t1527 = { let v_W4712 = { let __t1479 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1479])? }; { let __t1480 = v_V4553.clone(); let __t1526 = { let v_W4713 = { let __t1481 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1481])? }; { let __t1482 = v_V4553.clone(); let __t1525 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1483 = v_W4707.clone(); let __t1484 = v_W4713.clone(); let __t1485 = v_V4552.clone(); let __t1486 = v_V4553.clone(); let __t1487 = v_V4554.clone(); let __t1488 = v_W4557.clone(); let __t1524 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4705 = v_W4705.clone(); let v_W4709 = v_W4709.clone(); let v_W4711 = v_W4711.clone(); let v_W4712 = v_W4712.clone(); let v_W4713 = v_W4713.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1520 = v_W4712.clone(); let __t1521 = { let __t1491 = { let __t1489 = v_W4705.clone(); let __t1490 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1489, __t1490])? }; aot_shen_x2e_freshterm(interp, &[__t1491])? }; let __t1522 = v_V4553.clone(); let _ = v_V4554.clone(); let _ = v_W4557.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1520, __t1521, __t1522])?; let __t1523 = { let __t1516 = v_W4711.clone(); let __t1517 = { let __t1494 = { let __t1492 = v_W4705.clone(); let __t1493 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1492, __t1493])? }; let __t1497 = { let __t1495 = v_W4712.clone(); let __t1496 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1495, __t1496])? }; let __t1500 = { let __t1498 = v_W4709.clone(); let __t1499 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1498, __t1499])? }; rt::apply_direct(interp, "shen.beta", &[__t1494, __t1497, __t1500])? }; let __t1518 = v_V4553.clone(); let _ = v_V4554.clone(); let _ = v_W4557.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1516, __t1517, __t1518])?; let __t1519 = { let __t1501 = v_W4711.clone(); let __t1502 = v_V4551.clone(); let __t1511 = { let __t1509 = { let __t1503 = v_W4712.clone(); let __t1508 = { let __t1504 = Value::sym(interp.intern_static(":")); let __t1507 = { let __t1505 = v_W4713.clone(); let __t1506 = Value::nil(); rt::cons(&__t1505, &__t1506) }; rt::cons(&__t1504, &__t1507) }; rt::cons(&__t1503, &__t1508) }; let __t1510 = v_V4552.clone(); rt::cons(&__t1509, &__t1510) }; let __t1512 = v_V4553.clone(); let __t1513 = v_V4554.clone(); let __t1514 = v_W4557.clone(); let __t1515 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1501, __t1502, __t1511, __t1512, __t1513, __t1514, __t1515])? }; if rt::is_truthy(interp, &rt::eq(&__t1519, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1516, __t1518, __t1519])? } else { __t1519 } }; if rt::is_truthy(interp, &rt::eq(&__t1523, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1520, __t1522, __t1523])? } else { __t1523 } }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4705, v_W4709, v_W4711, v_W4712, v_W4713], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1483, __t1484, __t1485, __t1486, __t1487, __t1488, __t1524])? } }; rt::apply_direct(interp, "shen.gc", &[__t1482, __t1525])? } }; rt::apply_direct(interp, "shen.gc", &[__t1480, __t1526])? } }; rt::apply_direct(interp, "shen.gc", &[__t1478, __t1527])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1537 = { let __t1535 = v_W4701.clone(); let __t1536 = Value::bool(false); rt::eq(&__t1535, &__t1536) }; if match rt::is_truthy(interp, &__t1537) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4714 = { let __t1643 = { let __t1538 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1538])? }; if rt::is_truthy(interp, &__t1643)? { { let v_W4715 = { let __t1539 = v_V4550.clone(); let __t1540 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1539, __t1540])? }; { let __t1642 = { let __t1541 = v_W4715.clone(); rt::is_cons(&__t1541) }; if rt::is_truthy(interp, &__t1642)? { { let v_W4716 = { let __t1543 = { let __t1542 = v_W4715.clone(); rt::hd(&__t1542)? }; let __t1544 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1543, __t1544])? }; { let __t1641 = Value::bool((v_W4716.clone()).as_sym() == Some(interp.intern_static("open"))); if rt::is_truthy(interp, &__t1641)? { { let v_W4717 = { let __t1546 = { let __t1545 = v_W4715.clone(); rt::tl(&__t1545)? }; let __t1547 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1546, __t1547])? }; { let __t1640 = { let __t1548 = v_W4717.clone(); rt::is_cons(&__t1548) }; if rt::is_truthy(interp, &__t1640)? { { let v_W4718 = { let __t1549 = v_W4717.clone(); rt::hd(&__t1549)? }; { let v_W4719 = { let __t1551 = { let __t1550 = v_W4717.clone(); rt::tl(&__t1550)? }; let __t1552 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1551, __t1552])? }; { let __t1639 = { let __t1553 = v_W4719.clone(); rt::is_cons(&__t1553) }; if rt::is_truthy(interp, &__t1639)? { { let v_W4720 = { let __t1554 = v_W4719.clone(); rt::hd(&__t1554)? }; { let v_W4721 = { let __t1556 = { let __t1555 = v_W4719.clone(); rt::tl(&__t1555)? }; let __t1557 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1556, __t1557])? }; { let __t1638 = Value::bool((v_W4721.clone()).is_nil()); if rt::is_truthy(interp, &__t1638)? { { let v_W4722 = { let __t1558 = v_V4551.clone(); let __t1559 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1558, __t1559])? }; { let v_W4723 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4718 = v_W4718.clone(); let v_W4720 = v_W4720.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4724 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1560 = v_W4720.clone(); let __t1561 = v_Z4724.clone(); let __t1562 = v_V4553.clone(); let __t1563 = v_V4554.clone(); let __t1564 = v_W4557.clone(); let __t1581 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4718 = v_W4718.clone(); let v_Z4724 = v_Z4724.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1580 = { let __t1567 = { let __t1565 = v_Z4724.clone(); let __t1566 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1565, __t1566])? }; let __t1572 = { let __t1568 = Value::sym(interp.intern_static("in")); let __t1571 = { let __t1569 = Value::sym(interp.intern_static("out")); let __t1570 = Value::nil(); rt::cons(&__t1569, &__t1570) }; rt::cons(&__t1568, &__t1571) }; rt::apply_direct(interp, "element?", &[__t1567, __t1572])? }; let _ = v_V4553.clone(); let _ = v_V4554.clone(); let _ = v_W4557.clone(); if rt::is_truthy(interp, &__t1580)? { { let __t1573 = v_W4718.clone(); let __t1574 = Value::sym(interp.intern_static("string")); let __t1575 = v_V4552.clone(); let __t1576 = v_V4553.clone(); let __t1577 = v_V4554.clone(); let __t1578 = v_W4557.clone(); let __t1579 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1573, __t1574, __t1575, __t1576, __t1577, __t1578, __t1579])? } } else { Value::bool(false) } }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4718, v_Z4724], interp) }; rt::apply_direct(interp, "is!", &[__t1560, __t1561, __t1562, __t1563, __t1564, __t1581])? } }) }, vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4718, v_W4720], interp) }; { let __t1637 = { let __t1582 = v_W4722.clone(); rt::is_cons(&__t1582) }; if rt::is_truthy(interp, &__t1637)? { { let v_W4725 = { let __t1584 = { let __t1583 = v_W4722.clone(); rt::hd(&__t1583)? }; let __t1585 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1584, __t1585])? }; { let v_W4726 = { let v_V4553 = v_V4553.clone(); let v_W4722 = v_W4722.clone(); let v_W4723 = v_W4723.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4727 = { let __t1587 = { let __t1586 = v_W4722.clone(); rt::tl(&__t1586)? }; let __t1588 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1587, __t1588])? }; { let v_W4728 = { let v_W4723 = v_W4723.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4729 = args[0].clone(); Ok({ let __t1589 = v_Z4729.clone(); rt::apply_value(interp, v_W4723.clone(), &[__t1589])? }) }, vec![v_W4723], interp) }; { let __t1615 = { let __t1590 = v_W4727.clone(); rt::is_cons(&__t1590) }; if rt::is_truthy(interp, &__t1615)? { { let v_W4730 = { let __t1591 = v_W4727.clone(); rt::hd(&__t1591)? }; { let v_W4731 = { let __t1593 = { let __t1592 = v_W4727.clone(); rt::tl(&__t1592)? }; let __t1594 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1593, __t1594])? }; { let v_W4732 = { let v_W4728 = v_W4728.clone(); let v_W4730 = v_W4730.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1595 = v_W4730.clone(); rt::apply_value(interp, v_W4728.clone(), &[__t1595])? }), vec![v_W4728, v_W4730], interp) }; { let __t1602 = Value::bool((v_W4731.clone()).is_nil()); if rt::is_truthy(interp, &__t1602)? { rt::apply_value(interp, v_W4732.clone(), &[])? } else { { let __t1601 = { let __t1596 = v_W4731.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1596])? }; if rt::is_truthy(interp, &__t1601)? { { let __t1597 = v_W4731.clone(); let __t1598 = Value::nil(); let __t1599 = v_V4553.clone(); let __t1600 = v_W4732.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1597, __t1598, __t1599, __t1600])? } } else { Value::bool(false) } } } } } } } } else { { let __t1614 = { let __t1603 = v_W4727.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1603])? }; if rt::is_truthy(interp, &__t1614)? { { let v_W4733 = { let __t1604 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1604])? }; { let __t1605 = v_V4553.clone(); let __t1613 = { let __t1609 = v_W4727.clone(); let __t1610 = { let __t1606 = v_W4733.clone(); let __t1607 = Value::nil(); rt::cons(&__t1606, &__t1607) }; let __t1611 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1609, __t1610, __t1611])?; let __t1612 = { let __t1608 = v_W4733.clone(); rt::apply_value(interp, v_W4728.clone(), &[__t1608])? }; if rt::is_truthy(interp, &rt::eq(&__t1612, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1609, __t1611, __t1612])? } else { __t1612 } }; rt::apply_direct(interp, "shen.gc", &[__t1605, __t1613])? } } } else { Value::bool(false) } } } } } }), vec![v_V4553, v_W4722, v_W4723], interp) }; { let __t1622 = Value::bool((v_W4725.clone()).as_sym() == Some(interp.intern_static("stream"))); if rt::is_truthy(interp, &__t1622)? { rt::apply_value(interp, v_W4726.clone(), &[])? } else { { let __t1621 = { let __t1616 = v_W4725.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1616])? }; if rt::is_truthy(interp, &__t1621)? { { let __t1617 = v_W4725.clone(); let __t1618 = Value::sym(interp.intern_static("stream")); let __t1619 = v_V4553.clone(); let __t1620 = v_W4726.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1617, __t1618, __t1619, __t1620])? } } else { Value::bool(false) } } } } } } } else { { let __t1636 = { let __t1623 = v_W4722.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1623])? }; if rt::is_truthy(interp, &__t1636)? { { let v_W4734 = { let __t1624 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1624])? }; { let __t1625 = v_V4553.clone(); let __t1635 = { let __t1631 = v_W4722.clone(); let __t1632 = { let __t1626 = Value::sym(interp.intern_static("stream")); let __t1629 = { let __t1627 = v_W4734.clone(); let __t1628 = Value::nil(); rt::cons(&__t1627, &__t1628) }; rt::cons(&__t1626, &__t1629) }; let __t1633 = v_V4553.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t1631, __t1632, __t1633])?; let __t1634 = { let __t1630 = v_W4734.clone(); rt::apply_value(interp, v_W4723.clone(), &[__t1630])? }; if rt::is_truthy(interp, &rt::eq(&__t1634, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t1631, __t1633, __t1634])? } else { __t1634 } }; rt::apply_direct(interp, "shen.gc", &[__t1625, __t1635])? } } } else { Value::bool(false) } } } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1646 = { let __t1644 = v_W4714.clone(); let __t1645 = Value::bool(false); rt::eq(&__t1644, &__t1645) }; if match rt::is_truthy(interp, &__t1646) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4735 = { let __t1690 = { let __t1647 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1647])? }; if rt::is_truthy(interp, &__t1690)? { { let v_W4736 = { let __t1648 = v_V4550.clone(); let __t1649 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1648, __t1649])? }; { let __t1689 = { let __t1650 = v_W4736.clone(); rt::is_cons(&__t1650) }; if rt::is_truthy(interp, &__t1689)? { { let v_W4737 = { let __t1652 = { let __t1651 = v_W4736.clone(); rt::hd(&__t1651)? }; let __t1653 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1652, __t1653])? }; { let __t1688 = Value::bool((v_W4737.clone()).as_sym() == Some(interp.intern_static("type"))); if rt::is_truthy(interp, &__t1688)? { { let v_W4738 = { let __t1655 = { let __t1654 = v_W4736.clone(); rt::tl(&__t1654)? }; let __t1656 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1655, __t1656])? }; { let __t1687 = { let __t1657 = v_W4738.clone(); rt::is_cons(&__t1657) }; if rt::is_truthy(interp, &__t1687)? { { let v_W4739 = { let __t1658 = v_W4738.clone(); rt::hd(&__t1658)? }; { let v_W4740 = { let __t1660 = { let __t1659 = v_W4738.clone(); rt::tl(&__t1659)? }; let __t1661 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1660, __t1661])? }; { let __t1686 = { let __t1662 = v_W4740.clone(); rt::is_cons(&__t1662) }; if rt::is_truthy(interp, &__t1686)? { { let v_W4741 = { let __t1663 = v_W4740.clone(); rt::hd(&__t1663)? }; { let v_W4742 = { let __t1665 = { let __t1664 = v_W4740.clone(); rt::tl(&__t1664)? }; let __t1666 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1665, __t1666])? }; { let __t1685 = Value::bool((v_W4742.clone()).is_nil()); if rt::is_truthy(interp, &__t1685)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let _ = v_V4553.clone(); let __t1684 = v_V4554.clone(); let __n = v_W4557.clone(); let __t1683 = { let __t1670 = { let __t1669 = { let __t1667 = v_W4741.clone(); let __t1668 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1667, __t1668])? }; aot_shen_x2e_rectify_x2d_type(interp, &[__t1669])? }; let __t1671 = v_V4551.clone(); let __t1672 = v_V4553.clone(); let __t1673 = v_V4554.clone(); let __t1674 = v_W4557.clone(); let __t1682 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4739 = v_W4739.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1675 = v_W4739.clone(); let __t1676 = v_V4551.clone(); let __t1677 = v_V4552.clone(); let __t1678 = v_V4553.clone(); let __t1679 = v_V4554.clone(); let __t1680 = v_W4557.clone(); let __t1681 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1675, __t1676, __t1677, __t1678, __t1679, __t1680, __t1681])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4739], interp) }; rt::apply_direct(interp, "is!", &[__t1670, __t1671, __t1672, __t1673, __t1674, __t1682])? }; if rt::is_truthy(interp, &rt::eq(&__t1683, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t1684])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t1684])?; } } __t1683 } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1693 = { let __t1691 = v_W4735.clone(); let __t1692 = Value::bool(false); rt::eq(&__t1691, &__t1692) }; if match rt::is_truthy(interp, &__t1693) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4743 = { let __t1740 = { let __t1694 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1694])? }; if rt::is_truthy(interp, &__t1740)? { { let v_W4744 = { let __t1695 = v_V4550.clone(); let __t1696 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1695, __t1696])? }; { let __t1739 = { let __t1697 = v_W4744.clone(); rt::is_cons(&__t1697) }; if rt::is_truthy(interp, &__t1739)? { { let v_W4745 = { let __t1699 = { let __t1698 = v_W4744.clone(); rt::hd(&__t1698)? }; let __t1700 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1699, __t1700])? }; { let __t1738 = Value::bool((v_W4745.clone()).as_sym() == Some(interp.intern_static("shen.input-h+"))); if rt::is_truthy(interp, &__t1738)? { { let v_W4746 = { let __t1702 = { let __t1701 = v_W4744.clone(); rt::tl(&__t1701)? }; let __t1703 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1702, __t1703])? }; { let __t1737 = { let __t1704 = v_W4746.clone(); rt::is_cons(&__t1704) }; if rt::is_truthy(interp, &__t1737)? { { let v_W4747 = { let __t1705 = v_W4746.clone(); rt::hd(&__t1705)? }; { let v_W4748 = { let __t1707 = { let __t1706 = v_W4746.clone(); rt::tl(&__t1706)? }; let __t1708 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1707, __t1708])? }; { let __t1736 = { let __t1709 = v_W4748.clone(); rt::is_cons(&__t1709) }; if rt::is_truthy(interp, &__t1736)? { { let v_W4749 = { let __t1710 = v_W4748.clone(); rt::hd(&__t1710)? }; { let v_W4750 = { let __t1712 = { let __t1711 = v_W4748.clone(); rt::tl(&__t1711)? }; let __t1713 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1712, __t1713])? }; { let __t1735 = Value::bool((v_W4750.clone()).is_nil()); if rt::is_truthy(interp, &__t1735)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1714 = v_V4551.clone(); let __t1719 = { let __t1718 = { let __t1717 = { let __t1715 = v_W4747.clone(); let __t1716 = v_V4553.clone(); rt::apply_direct(interp, "shen.deref", &[__t1715, __t1716])? }; aot_shen_x2e_rdecons(interp, &[__t1717])? }; aot_shen_x2e_rectify_x2d_type(interp, &[__t1718])? }; let __t1720 = v_V4553.clone(); let __t1721 = v_V4554.clone(); let __t1722 = v_W4557.clone(); let __t1734 = { let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4749 = v_W4749.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1723 = v_W4749.clone(); let __t1728 = { let __t1724 = Value::sym(interp.intern_static("stream")); let __t1727 = { let __t1725 = Value::sym(interp.intern_static("in")); let __t1726 = Value::nil(); rt::cons(&__t1725, &__t1726) }; rt::cons(&__t1724, &__t1727) }; let __t1729 = v_V4552.clone(); let __t1730 = v_V4553.clone(); let __t1731 = v_V4554.clone(); let __t1732 = v_W4557.clone(); let __t1733 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1723, __t1728, __t1729, __t1730, __t1731, __t1732, __t1733])? }), vec![v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4749], interp) }; rt::apply_direct(interp, "is", &[__t1714, __t1719, __t1720, __t1721, __t1722, __t1734])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1743 = { let __t1741 = v_W4743.clone(); let __t1742 = Value::bool(false); rt::eq(&__t1741, &__t1742) }; if match rt::is_truthy(interp, &__t1743) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4751 = { let __t1794 = { let __t1744 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1744])? }; if rt::is_truthy(interp, &__t1794)? { { let v_W4752 = { let __t1745 = v_V4550.clone(); let __t1746 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1745, __t1746])? }; { let __t1793 = { let __t1747 = v_W4752.clone(); rt::is_cons(&__t1747) }; if rt::is_truthy(interp, &__t1793)? { { let v_W4753 = { let __t1749 = { let __t1748 = v_W4752.clone(); rt::hd(&__t1748)? }; let __t1750 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1749, __t1750])? }; { let __t1792 = Value::bool((v_W4753.clone()).as_sym() == Some(interp.intern_static("set"))); if rt::is_truthy(interp, &__t1792)? { { let v_W4754 = { let __t1752 = { let __t1751 = v_W4752.clone(); rt::tl(&__t1751)? }; let __t1753 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1752, __t1753])? }; { let __t1791 = { let __t1754 = v_W4754.clone(); rt::is_cons(&__t1754) }; if rt::is_truthy(interp, &__t1791)? { { let v_W4755 = { let __t1755 = v_W4754.clone(); rt::hd(&__t1755)? }; { let v_W4756 = { let __t1757 = { let __t1756 = v_W4754.clone(); rt::tl(&__t1756)? }; let __t1758 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1757, __t1758])? }; { let __t1790 = { let __t1759 = v_W4756.clone(); rt::is_cons(&__t1759) }; if rt::is_truthy(interp, &__t1790)? { { let v_W4757 = { let __t1760 = v_W4756.clone(); rt::hd(&__t1760)? }; { let v_W4758 = { let __t1762 = { let __t1761 = v_W4756.clone(); rt::tl(&__t1761)? }; let __t1763 = v_V4553.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1762, __t1763])? }; { let __t1789 = Value::bool((v_W4758.clone()).is_nil()); if rt::is_truthy(interp, &__t1789)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1764 = v_W4755.clone(); let __t1765 = Value::sym(interp.intern_static("symbol")); let __t1766 = v_V4552.clone(); let __t1767 = v_V4553.clone(); let __t1768 = v_V4554.clone(); let __t1769 = v_W4557.clone(); let __t1788 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4755 = v_W4755.clone(); let v_W4757 = v_W4757.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1774 = { let __t1770 = Value::sym(interp.intern_static("value")); let __t1773 = { let __t1771 = v_W4755.clone(); let __t1772 = Value::nil(); rt::cons(&__t1771, &__t1772) }; rt::cons(&__t1770, &__t1773) }; let __t1775 = v_V4551.clone(); let __t1776 = v_V4552.clone(); let __t1777 = v_V4553.clone(); let __t1778 = v_V4554.clone(); let __t1779 = v_W4557.clone(); let __t1787 = { let v_V4551 = v_V4551.clone(); let v_V4552 = v_V4552.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4757 = v_W4757.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1780 = v_W4757.clone(); let __t1781 = v_V4551.clone(); let __t1782 = v_V4552.clone(); let __t1783 = v_V4553.clone(); let __t1784 = v_V4554.clone(); let __t1785 = v_W4557.clone(); let __t1786 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1780, __t1781, __t1782, __t1783, __t1784, __t1785, __t1786])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4757], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1774, __t1775, __t1776, __t1777, __t1778, __t1779, __t1787])? }), vec![v_V4551, v_V4552, v_V4553, v_V4554, v_V4556, v_W4557, v_W4755, v_W4757], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1764, __t1765, __t1766, __t1767, __t1768, __t1769, __t1788])? } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } }; { let __t1797 = { let __t1795 = v_W4751.clone(); let __t1796 = Value::bool(false); rt::eq(&__t1795, &__t1796) }; if match rt::is_truthy(interp, &__t1797) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4759 = { let __t1818 = { let __t1798 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1798])? }; if rt::is_truthy(interp, &__t1818)? { { let v_W4760 = { let __t1799 = v_V4553.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1799])? }; { let __t1800 = v_V4553.clone(); let __t1817 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1801 = v_V4552.clone(); let __t1802 = v_W4760.clone(); let __t1803 = Value::bool(false); let __t1804 = v_V4553.clone(); let __t1805 = v_V4554.clone(); let __t1806 = v_W4557.clone(); let __t1816 = { let v_V4550 = v_V4550.clone(); let v_V4551 = v_V4551.clone(); let v_V4553 = v_V4553.clone(); let v_V4554 = v_V4554.clone(); let v_V4556 = v_V4556.clone(); let v_W4557 = v_W4557.clone(); let v_W4760 = v_W4760.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let _ = v_V4553.clone(); let __t1815 = v_V4554.clone(); let __n = v_W4557.clone(); let __t1814 = { let __t1807 = v_V4550.clone(); let __t1808 = v_V4551.clone(); let __t1809 = v_W4760.clone(); let __t1810 = v_V4553.clone(); let __t1811 = v_V4554.clone(); let __t1812 = v_W4557.clone(); let __t1813 = v_V4556.clone(); aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t1807, __t1808, __t1809, __t1810, __t1811, __t1812, __t1813])? }; if rt::is_truthy(interp, &rt::eq(&__t1814, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t1815])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t1815])?; } } __t1814 }), vec![v_V4550, v_V4551, v_V4553, v_V4554, v_V4556, v_W4557, v_W4760], interp) }; aot_shen_x2e_l_x2d_rules(interp, &[__t1801, __t1802, __t1803, __t1804, __t1805, __t1806, __t1816])? } }; rt::apply_direct(interp, "shen.gc", &[__t1800, __t1817])? } } } else { Value::bool(false) } }; { let __t1821 = { let __t1819 = v_W4759.clone(); let __t1820 = Value::bool(false); rt::eq(&__t1819, &__t1820) }; if match rt::is_truthy(interp, &__t1821) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4761 = { let __t1836 = { let __t1822 = v_V4554.clone(); rt::apply_direct(interp, "shen.unlocked?", &[__t1822])? }; if rt::is_truthy(interp, &__t1836)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t1829 = { let __t1823 = v_V4550.clone(); let __t1828 = { let __t1824 = Value::sym(interp.intern_static(":")); let __t1827 = { let __t1825 = v_V4551.clone(); let __t1826 = Value::nil(); rt::cons(&__t1825, &__t1826) }; rt::cons(&__t1824, &__t1827) }; rt::cons(&__t1823, &__t1828) }; let __t1830 = v_V4552.clone(); let __t1831 = rt::global_value(interp, "shen.*datatypes*")?; let __t1832 = v_V4553.clone(); let __t1833 = v_V4554.clone(); let __t1834 = v_W4557.clone(); let __t1835 = v_V4556.clone(); aot_shen_x2e_search_x2d_user_x2d_datatypes(interp, &[__t1829, __t1830, __t1831, __t1832, __t1833, __t1834, __t1835])? } } } else { Value::bool(false) } }; { let __t1839 = { let __t1837 = v_W4761.clone(); let __t1838 = Value::bool(false); rt::eq(&__t1837, &__t1838) }; if match rt::is_truthy(interp, &__t1839) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t1840 = v_V4554.clone(); let __t1841 = v_W4557.clone(); rt::apply_direct(interp, "shen.unlock", &[__t1840, __t1841])? }); } else { break Ok(v_W4761.clone()); } } } } else { break Ok(v_W4759.clone()); } } } } else { break Ok(v_W4751.clone()); } } } } else { break Ok(v_W4743.clone()); } } } } else { break Ok(v_W4735.clone()); } } } } else { break Ok(v_W4714.clone()); } } } } else { break Ok(v_W4701.clone()); } } } } else { break Ok(v_W4671.clone()); } } } } else { break Ok(v_W4661.clone()); } } } } else { break Ok(v_W4640.clone()); } } } } else { break Ok(v_W4612.clone()); } } } } else { break Ok(v_W4591.clone()); } } } } else { break Ok(v_W4584.clone()); } } } } else { break Ok(v_W4577.clone()); } } } } else { break Ok(v_W4571.clone()); } } } } else { @@ -3785,138 +3561,137 @@ pub fn aot_shen_x2e_rdecons(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t2066 = { - let __t2065 = { - let __t2064 = { - let __t2063 = v_V4762.clone(); - rt::tl(&__t2063)? + let __t1872 = { + let __t1871 = { + let __t1870 = { + let __t1869 = v_V4762.clone(); + rt::tl(&__t1869)? }; - rt::hd(&__t2064)? + rt::hd(&__t1870)? }; - rt::apply_direct(interp, "shen.rdecons", &[__t2065])? + aot_shen_x2e_rdecons(interp, &[__t1871])? }; - let __t2071 = { - let __t2070 = { - let __t2069 = { - let __t2068 = { - let __t2067 = v_V4762.clone(); - rt::tl(&__t2067)? + let __t1877 = { + let __t1876 = { + let __t1875 = { + let __t1874 = { + let __t1873 = v_V4762.clone(); + rt::tl(&__t1873)? }; - rt::tl(&__t2068)? + rt::tl(&__t1874)? }; - rt::hd(&__t2069)? + rt::hd(&__t1875)? }; - rt::apply_direct(interp, "shen.rdecons", &[__t2070])? + aot_shen_x2e_rdecons(interp, &[__t1876])? }; - rt::cons(&__t2066, &__t2071) + rt::cons(&__t1872, &__t1877) }); } else { { - let __t2040 = { - let __t2033 = v_V4762.clone(); - rt::is_cons(&__t2033) + let __t1850 = { + let __t1843 = v_V4762.clone(); + rt::is_cons(&__t1843) }; - if match rt::is_truthy(interp, &__t2040) { + if match rt::is_truthy(interp, &__t1850) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t2036 = { - let __t2035 = { - let __t2034 = v_V4762.clone(); - rt::hd(&__t2034)? + let __t1846 = { + let __t1845 = { + let __t1844 = v_V4762.clone(); + rt::hd(&__t1844)? }; - rt::apply_direct(interp, "shen.rdecons", &[__t2035])? + aot_shen_x2e_rdecons(interp, &[__t1845])? }; - let __t2039 = { - let __t2038 = { - let __t2037 = v_V4762.clone(); - rt::tl(&__t2037)? + let __t1849 = { + let __t1848 = { + let __t1847 = v_V4762.clone(); + rt::tl(&__t1847)? }; - rt::apply_direct(interp, "shen.rdecons", &[__t2038])? + aot_shen_x2e_rdecons(interp, &[__t1848])? }; - rt::cons(&__t2036, &__t2039) + rt::cons(&__t1846, &__t1849) }); } else { { - let __t2032 = Value::bool(true); - if match rt::is_truthy(interp, &__t2032) { + let __t1842 = Value::bool(true); + if match rt::is_truthy(interp, &__t1842) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3961,16 +3736,16 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult loop { { let v_W4769 = { - let __t2093 = { - let __t2073 = v_V4766.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2073])? + let __t1897 = { + let __t1879 = v_V4766.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t1879])? }; - if rt::is_truthy(interp, &__t2093)? { + if rt::is_truthy(interp, &__t1897)? { { let v_W4770 = { - let __t2074 = v_V4764.clone(); - let __t2075 = v_V4765.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2074, __t2075])? + let __t1880 = v_V4764.clone(); + let __t1881 = v_V4765.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t1880, __t1881])? }; { let v_W4771 = { @@ -3987,26 +3762,26 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t2079 = { - let __t2078 = { - let __t2076 = v_V4763.clone(); - let __t2077 = v_V4765.clone(); + let __t1885 = { + let __t1884 = { + let __t1882 = v_V4763.clone(); + let __t1883 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2076, __t2077], + &[__t1882, __t1883], )? }; - rt::is_number(&__t2078) + rt::is_number(&__t1884) }; - let __t2080 = v_V4765.clone(); - let __t2081 = v_V4766.clone(); - let __t2082 = v_V4767.clone(); - let __t2083 = v_V4768.clone(); + let __t1886 = v_V4765.clone(); + let __t1887 = v_V4766.clone(); + let __t1888 = v_V4767.clone(); + let __t1889 = v_V4768.clone(); rt::apply_direct( interp, "when", - &[__t2079, __t2080, __t2081, __t2082, __t2083], + &[__t1885, __t1886, __t1887, __t1888, __t1889], )? } }) @@ -4016,29 +3791,29 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult ) }; { - let __t2092 = { - let __t2084 = v_W4770.clone(); - let __t2085 = Value::sym(interp.intern("number")); - rt::eq(&__t2084, &__t2085) - }; - if rt::is_truthy(interp, &__t2092)? { + let __t1896 = Value::bool( + (v_W4770.clone()).as_sym() + == Some(interp.intern_static("number")), + ); + if rt::is_truthy(interp, &__t1896)? { rt::apply_value(interp, v_W4771.clone(), &[])? } else { { - let __t2091 = { - let __t2086 = v_W4770.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t2086])? + let __t1895 = { + let __t1890 = v_W4770.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t1890])? }; - if rt::is_truthy(interp, &__t2091)? { + if rt::is_truthy(interp, &__t1895)? { { - let __t2087 = v_W4770.clone(); - let __t2088 = Value::sym(interp.intern("number")); - let __t2089 = v_V4765.clone(); - let __t2090 = v_W4771.clone(); + let __t1891 = v_W4770.clone(); + let __t1892 = + Value::sym(interp.intern_static("number")); + let __t1893 = v_V4765.clone(); + let __t1894 = v_W4771.clone(); rt::apply_direct( interp, "shen.bind!", - &[__t2087, __t2088, __t2089, __t2090], + &[__t1891, __t1892, __t1893, __t1894], )? } } else { @@ -4054,30 +3829,30 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult } }; { - let __t2096 = { - let __t2094 = v_W4769.clone(); - let __t2095 = Value::bool(false); - rt::eq(&__t2094, &__t2095) + let __t1900 = { + let __t1898 = v_W4769.clone(); + let __t1899 = Value::bool(false); + rt::eq(&__t1898, &__t1899) }; - if match rt::is_truthy(interp, &__t2096) { + if match rt::is_truthy(interp, &__t1900) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4772 = { - let __t2117 = { - let __t2097 = v_V4766.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2097])? + let __t1919 = { + let __t1901 = v_V4766.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t1901])? }; - if rt::is_truthy(interp, &__t2117)? { + if rt::is_truthy(interp, &__t1919)? { { let v_W4773 = { - let __t2098 = v_V4764.clone(); - let __t2099 = v_V4765.clone(); + let __t1902 = v_V4764.clone(); + let __t1903 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2098, __t2099], + &[__t1902, __t1903], )? }; { @@ -4100,32 +3875,28 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? }; { - let __t2103 = { - let __t2102 = { - let __t2100 = v_V4763.clone(); - let __t2101 = v_V4765.clone(); + let __t1907 = { + let __t1906 = { + let __t1904 = v_V4763.clone(); + let __t1905 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2100, __t2101], + &[__t1904, __t1905], )? }; - rt::apply_direct( - interp, - "boolean?", - &[__t2102], - )? + rt::is_boolean(interp, &__t1906) }; - let __t2104 = v_V4765.clone(); - let __t2105 = v_V4766.clone(); - let __t2106 = v_V4767.clone(); - let __t2107 = v_V4768.clone(); + let __t1908 = v_V4765.clone(); + let __t1909 = v_V4766.clone(); + let __t1910 = v_V4767.clone(); + let __t1911 = v_V4768.clone(); rt::apply_direct( interp, "when", &[ - __t2103, __t2104, __t2105, - __t2106, __t2107, + __t1907, __t1908, __t1909, + __t1910, __t1911, ], )? } @@ -4136,37 +3907,36 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult ) }; { - let __t2116 = { - let __t2108 = v_W4773.clone(); - let __t2109 = Value::sym(interp.intern("boolean")); - rt::eq(&__t2108, &__t2109) - }; - if rt::is_truthy(interp, &__t2116)? { + let __t1918 = Value::bool( + (v_W4773.clone()).as_sym() + == Some(interp.intern_static("boolean")), + ); + if rt::is_truthy(interp, &__t1918)? { rt::apply_value(interp, v_W4774.clone(), &[])? } else { { - let __t2115 = { - let __t2110 = v_W4773.clone(); + let __t1917 = { + let __t1912 = v_W4773.clone(); rt::apply_direct( interp, "shen.pvar?", - &[__t2110], + &[__t1912], )? }; - if rt::is_truthy(interp, &__t2115)? { + if rt::is_truthy(interp, &__t1917)? { { - let __t2111 = v_W4773.clone(); - let __t2112 = Value::sym( - interp.intern("boolean"), + let __t1913 = v_W4773.clone(); + let __t1914 = Value::sym( + interp.intern_static("boolean"), ); - let __t2113 = v_V4765.clone(); - let __t2114 = v_W4774.clone(); + let __t1915 = v_V4765.clone(); + let __t1916 = v_W4774.clone(); rt::apply_direct( interp, "shen.bind!", &[ - __t2111, __t2112, __t2113, - __t2114, + __t1913, __t1914, __t1915, + __t1916, ], )? } @@ -4183,30 +3953,30 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult } }; { - let __t2120 = { - let __t2118 = v_W4772.clone(); - let __t2119 = Value::bool(false); - rt::eq(&__t2118, &__t2119) + let __t1922 = { + let __t1920 = v_W4772.clone(); + let __t1921 = Value::bool(false); + rt::eq(&__t1920, &__t1921) }; - if match rt::is_truthy(interp, &__t2120) { + if match rt::is_truthy(interp, &__t1922) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4775 = { - let __t2141 = { - let __t2121 = v_V4766.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2121])? + let __t1941 = { + let __t1923 = v_V4766.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t1923])? }; - if rt::is_truthy(interp, &__t2141)? { + if rt::is_truthy(interp, &__t1941)? { { let v_W4776 = { - let __t2122 = v_V4764.clone(); - let __t2123 = v_V4765.clone(); + let __t1924 = v_V4764.clone(); + let __t1925 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2122, __t2123], + &[__t1924, __t1925], )? }; { @@ -4229,31 +3999,31 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? }; { - let __t2127 = { - let __t2126 = { - let __t2124 = + let __t1929 = { + let __t1928 = { + let __t1926 = v_V4763.clone(); - let __t2125 = + let __t1927 = v_V4765.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2124, __t2125])? + rt::apply_direct(interp, "shen.lazyderef", &[__t1926, __t1927])? }; - rt::is_string(&__t2126) + rt::is_string(&__t1928) }; - let __t2128 = + let __t1930 = v_V4765.clone(); - let __t2129 = + let __t1931 = v_V4766.clone(); - let __t2130 = + let __t1932 = v_V4767.clone(); - let __t2131 = + let __t1933 = v_V4768.clone(); rt::apply_direct( interp, "when", &[ - __t2127, __t2128, - __t2129, __t2130, - __t2131, + __t1929, __t1930, + __t1931, __t1932, + __t1933, ], )? } @@ -4267,13 +4037,13 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult ) }; { - let __t2140 = { - let __t2132 = v_W4776.clone(); - let __t2133 = - Value::sym(interp.intern("string")); - rt::eq(&__t2132, &__t2133) - }; - if rt::is_truthy(interp, &__t2140)? { + let __t1940 = Value::bool( + (v_W4776.clone()).as_sym() + == Some( + interp.intern_static("string"), + ), + ); + if rt::is_truthy(interp, &__t1940)? { rt::apply_value( interp, v_W4777.clone(), @@ -4281,32 +4051,34 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? } else { { - let __t2139 = { - let __t2134 = v_W4776.clone(); + let __t1939 = { + let __t1934 = v_W4776.clone(); rt::apply_direct( interp, "shen.pvar?", - &[__t2134], + &[__t1934], )? }; - if rt::is_truthy(interp, &__t2139)? + if rt::is_truthy(interp, &__t1939)? { { - let __t2135 = + let __t1935 = v_W4776.clone(); - let __t2136 = Value::sym( - interp.intern("string"), + let __t1936 = Value::sym( + interp.intern_static( + "string", + ), ); - let __t2137 = + let __t1937 = v_V4765.clone(); - let __t2138 = + let __t1938 = v_W4777.clone(); rt::apply_direct( interp, "shen.bind!", &[ - __t2135, __t2136, - __t2137, __t2138, + __t1935, __t1936, + __t1937, __t1938, ], )? } @@ -4323,34 +4095,34 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult } }; { - let __t2144 = { - let __t2142 = v_W4775.clone(); - let __t2143 = Value::bool(false); - rt::eq(&__t2142, &__t2143) + let __t1944 = { + let __t1942 = v_W4775.clone(); + let __t1943 = Value::bool(false); + rt::eq(&__t1942, &__t1943) }; - if match rt::is_truthy(interp, &__t2144) { + if match rt::is_truthy(interp, &__t1944) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4778 = { - let __t2165 = { - let __t2145 = v_V4766.clone(); + let __t1963 = { + let __t1945 = v_V4766.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t2145], + &[__t1945], )? }; - if rt::is_truthy(interp, &__t2165)? { + if rt::is_truthy(interp, &__t1963)? { { let v_W4779 = { - let __t2146 = v_V4764.clone(); - let __t2147 = v_V4765.clone(); + let __t1946 = v_V4764.clone(); + let __t1947 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2146, __t2147], + &[__t1946, __t1947], )? }; { @@ -4369,31 +4141,31 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t2151 = { - let __t2150 = { - let __t2148 = v_V4763.clone(); - let __t2149 = v_V4765.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2148, __t2149])? + let __t1951 = { + let __t1950 = { + let __t1948 = v_V4763.clone(); + let __t1949 = v_V4765.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t1948, __t1949])? }; - rt::is_symbol(&__t2150) + rt::apply_direct(interp, "symbol?", &[__t1950])? }; - let __t2152 = + let __t1952 = v_V4765 .clone( ); - let __t2153 = + let __t1953 = v_V4766 .clone( ); - let __t2154 = + let __t1954 = v_V4767 .clone( ); - let __t2155 = + let __t1955 = v_V4768 .clone( ); - rt::apply_direct(interp, "when", &[__t2151, __t2152, __t2153, __t2154, __t2155])? + rt::apply_direct(interp, "when", &[__t1951, __t1952, __t1953, __t1954, __t1955])? } }) }, @@ -4406,16 +4178,17 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult ) }; { - let __t2164 = { - let __t2156 = - v_W4779.clone(); - let __t2157 = Value::sym( - interp.intern("symbol"), - ); - rt::eq(&__t2156, &__t2157) - }; + let __t1962 = Value::bool( + (v_W4779.clone()).as_sym() + == Some( + interp + .intern_static( + "symbol", + ), + ), + ); if rt::is_truthy( - interp, &__t2164, + interp, &__t1962, )? { rt::apply_value( interp, @@ -4424,33 +4197,33 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult )? } else { { - let __t2163 = { - let __t2158 = + let __t1961 = { + let __t1956 = v_W4779.clone(); rt::apply_direct( interp, "shen.pvar?", - &[__t2158], + &[__t1956], )? }; if rt::is_truthy( - interp, &__t2163, + interp, &__t1961, )? { { - let __t2159 = + let __t1957 = v_W4779 .clone( ); - let __t2160 = Value::sym(interp.intern("symbol")); - let __t2161 = + let __t1958 = Value::sym(interp.intern_static("symbol")); + let __t1959 = v_V4765 .clone( ); - let __t2162 = + let __t1960 = v_W4780 .clone( ); - rt::apply_direct(interp, "shen.bind!", &[__t2159, __t2160, __t2161, __t2162])? + rt::apply_direct(interp, "shen.bind!", &[__t1957, __t1958, __t1959, __t1960])? } } else { Value::bool(false) @@ -4465,68 +4238,63 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult } }; { - let __t2168 = { - let __t2166 = v_W4778.clone(); - let __t2167 = Value::bool(false); - rt::eq(&__t2166, &__t2167) + let __t1966 = { + let __t1964 = v_W4778.clone(); + let __t1965 = Value::bool(false); + rt::eq(&__t1964, &__t1965) }; - if match rt::is_truthy(interp, &__t2168) { + if match rt::is_truthy(interp, &__t1966) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2170 = { - let __t2169 = v_V4766.clone(); + let __t1968 = { + let __t1967 = v_V4766.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t2169], + &[__t1967], )? }; - if match rt::is_truthy(interp, &__t2170) + if match rt::is_truthy(interp, &__t1968) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4781 = { - let __t2171 = + let __t1969 = v_V4763.clone(); - let __t2172 = + let __t1970 = v_V4765.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2171, __t2172], + &[__t1969, __t1970], )? }; { - let __t2175 = { - let __t2173 = - v_W4781.clone(); - let __t2174 = - Value::nil(); - rt::eq( - &__t2173, &__t2174, - ) - }; + let __t1971 = Value::bool( + (v_W4781.clone()) + .is_nil(), + ); if match rt::is_truthy( - interp, &__t2175, + interp, &__t1971, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4782 = { - let __t2176 = + let __t1972 = v_V4764 .clone( ); - let __t2177 = + let __t1973 = v_V4765 .clone( ); - rt::apply_direct(interp, "shen.lazyderef", &[__t2176, __t2177])? + rt::apply_direct(interp, "shen.lazyderef", &[__t1972, __t1973])? }; { let v_W4783 = { @@ -4534,11 +4302,11 @@ pub fn aot_shen_x2e_primitive(interp: &mut Interp, args: &[Value]) -> ShenResult rt::make_aot_closure("", 1, move |interp, args| { let v_Z4784 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; rt::apply_value(interp, v_V4768.clone(), &[])? }) }, vec![v_V4768], interp) }; { - let __t2179 = { - let __t2178 = v_W4782.clone(); - rt::is_cons(&__t2178) + let __t1975 = { + let __t1974 = v_W4782.clone(); + rt::is_cons(&__t1974) }; - if match rt::is_truthy(interp, &__t2179) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4785 = { let __t2181 = { let __t2180 = v_W4782.clone(); rt::hd(&__t2180)? }; let __t2182 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2181, __t2182])? }; { let v_W4786 = { let v_V4765 = v_V4765.clone(); let v_W4782 = v_W4782.clone(); let v_W4783 = v_W4783.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4787 = { let __t2184 = { let __t2183 = v_W4782.clone(); rt::tl(&__t2183)? }; let __t2185 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2184, __t2185])? }; { let v_W4788 = { let v_W4783 = v_W4783.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4789 = args[0].clone(); Ok({ let __t2186 = v_Z4789.clone(); rt::apply_value(interp, v_W4783.clone(), &[__t2186])? }) }, vec![v_W4783], interp) }; { let __t2214 = { let __t2187 = v_W4787.clone(); rt::is_cons(&__t2187) }; if rt::is_truthy(interp, &__t2214)? { { let v_W4790 = { let __t2188 = v_W4787.clone(); rt::hd(&__t2188)? }; { let v_W4791 = { let __t2190 = { let __t2189 = v_W4787.clone(); rt::tl(&__t2189)? }; let __t2191 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2190, __t2191])? }; { let v_W4792 = { let v_W4788 = v_W4788.clone(); let v_W4790 = v_W4790.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2192 = v_W4790.clone(); rt::apply_value(interp, v_W4788.clone(), &[__t2192])? }), vec![v_W4788, v_W4790], interp) }; { let __t2201 = { let __t2193 = v_W4791.clone(); let __t2194 = Value::nil(); rt::eq(&__t2193, &__t2194) }; if rt::is_truthy(interp, &__t2201)? { rt::apply_value(interp, v_W4792.clone(), &[])? } else { { let __t2200 = { let __t2195 = v_W4791.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2195])? }; if rt::is_truthy(interp, &__t2200)? { { let __t2196 = v_W4791.clone(); let __t2197 = Value::nil(); let __t2198 = v_V4765.clone(); let __t2199 = v_W4792.clone(); rt::apply_direct(interp, "shen.bind!", &[__t2196, __t2197, __t2198, __t2199])? } } else { Value::bool(false) } } } } } } } } else { { let __t2213 = { let __t2202 = v_W4787.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2202])? }; if rt::is_truthy(interp, &__t2213)? { { let v_W4793 = { let __t2203 = v_V4765.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2203])? }; { let __t2204 = v_V4765.clone(); let __t2212 = { let __t2205 = v_W4787.clone(); let __t2208 = { let __t2206 = v_W4793.clone(); let __t2207 = Value::nil(); rt::cons(&__t2206, &__t2207) }; let __t2209 = v_V4765.clone(); let __t2211 = { let v_W4788 = v_W4788.clone(); let v_W4793 = v_W4793.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2210 = v_W4793.clone(); rt::apply_value(interp, v_W4788.clone(), &[__t2210])? }), vec![v_W4788, v_W4793], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2205, __t2208, __t2209, __t2211])? }; rt::apply_direct(interp, "shen.gc", &[__t2204, __t2212])? } } } else { Value::bool(false) } } } } } }), vec![v_V4765, v_W4782, v_W4783], interp) }; { let __t2217 = { let __t2215 = v_W4785.clone(); let __t2216 = Value::sym(interp.intern("list")); rt::eq(&__t2215, &__t2216) }; if match rt::is_truthy(interp, &__t2217) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W4786.clone(), &[])?); } else { { let __t2219 = { let __t2218 = v_W4785.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2218])? }; if match rt::is_truthy(interp, &__t2219) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2220 = v_W4785.clone(); let __t2221 = Value::sym(interp.intern("list")); let __t2222 = v_V4765.clone(); let __t2223 = v_W4786.clone(); rt::apply_direct(interp, "shen.bind!", &[__t2220, __t2221, __t2222, __t2223])? }); } else { break Ok(Value::bool(false)); } } } } } } } else { { let __t2225 = { let __t2224 = v_W4782.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2224])? }; if match rt::is_truthy(interp, &__t2225) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4794 = { let __t2226 = v_V4765.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2226])? }; break Ok({ let __t2227 = v_V4765.clone(); let __t2237 = { let __t2228 = v_W4782.clone(); let __t2233 = { let __t2229 = Value::sym(interp.intern("list")); let __t2232 = { let __t2230 = v_W4794.clone(); let __t2231 = Value::nil(); rt::cons(&__t2230, &__t2231) }; rt::cons(&__t2229, &__t2232) }; let __t2234 = v_V4765.clone(); let __t2236 = { let v_W4783 = v_W4783.clone(); let v_W4794 = v_W4794.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2235 = v_W4794.clone(); rt::apply_value(interp, v_W4783.clone(), &[__t2235])? }), vec![v_W4783, v_W4794], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2228, __t2233, __t2234, __t2236])? }; rt::apply_direct(interp, "shen.gc", &[__t2227, __t2237])? }); } } else { break Ok(Value::bool(false)); } } } + if match rt::is_truthy(interp, &__t1975) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4785 = { let __t1977 = { let __t1976 = v_W4782.clone(); rt::hd(&__t1976)? }; let __t1978 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1977, __t1978])? }; { let v_W4786 = { let v_V4765 = v_V4765.clone(); let v_W4782 = v_W4782.clone(); let v_W4783 = v_W4783.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let v_W4787 = { let __t1980 = { let __t1979 = v_W4782.clone(); rt::tl(&__t1979)? }; let __t1981 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1980, __t1981])? }; { let v_W4788 = { let v_W4783 = v_W4783.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4789 = args[0].clone(); Ok({ let __t1982 = v_Z4789.clone(); rt::apply_value(interp, v_W4783.clone(), &[__t1982])? }) }, vec![v_W4783], interp) }; { let __t2008 = { let __t1983 = v_W4787.clone(); rt::is_cons(&__t1983) }; if rt::is_truthy(interp, &__t2008)? { { let v_W4790 = { let __t1984 = v_W4787.clone(); rt::hd(&__t1984)? }; { let v_W4791 = { let __t1986 = { let __t1985 = v_W4787.clone(); rt::tl(&__t1985)? }; let __t1987 = v_V4765.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t1986, __t1987])? }; { let v_W4792 = { let v_W4788 = v_W4788.clone(); let v_W4790 = v_W4790.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t1988 = v_W4790.clone(); rt::apply_value(interp, v_W4788.clone(), &[__t1988])? }), vec![v_W4788, v_W4790], interp) }; { let __t1995 = Value::bool((v_W4791.clone()).is_nil()); if rt::is_truthy(interp, &__t1995)? { rt::apply_value(interp, v_W4792.clone(), &[])? } else { { let __t1994 = { let __t1989 = v_W4791.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1989])? }; if rt::is_truthy(interp, &__t1994)? { { let __t1990 = v_W4791.clone(); let __t1991 = Value::nil(); let __t1992 = v_V4765.clone(); let __t1993 = v_W4792.clone(); rt::apply_direct(interp, "shen.bind!", &[__t1990, __t1991, __t1992, __t1993])? } } else { Value::bool(false) } } } } } } } } else { { let __t2007 = { let __t1996 = v_W4787.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t1996])? }; if rt::is_truthy(interp, &__t2007)? { { let v_W4793 = { let __t1997 = v_V4765.clone(); rt::apply_direct(interp, "shen.newpv", &[__t1997])? }; { let __t1998 = v_V4765.clone(); let __t2006 = { let __t2002 = v_W4787.clone(); let __t2003 = { let __t1999 = v_W4793.clone(); let __t2000 = Value::nil(); rt::cons(&__t1999, &__t2000) }; let __t2004 = v_V4765.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t2002, __t2003, __t2004])?; let __t2005 = { let __t2001 = v_W4793.clone(); rt::apply_value(interp, v_W4788.clone(), &[__t2001])? }; if rt::is_truthy(interp, &rt::eq(&__t2005, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t2002, __t2004, __t2005])? } else { __t2005 } }; rt::apply_direct(interp, "shen.gc", &[__t1998, __t2006])? } } } else { Value::bool(false) } } } } } }), vec![v_V4765, v_W4782, v_W4783], interp) }; { let __t2009 = Value::bool((v_W4785.clone()).as_sym() == Some(interp.intern_static("list"))); if match rt::is_truthy(interp, &__t2009) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W4786.clone(), &[])?); } else { { let __t2011 = { let __t2010 = v_W4785.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2010])? }; if match rt::is_truthy(interp, &__t2011) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2012 = v_W4785.clone(); let __t2013 = Value::sym(interp.intern_static("list")); let __t2014 = v_V4765.clone(); let __t2015 = v_W4786.clone(); rt::apply_direct(interp, "shen.bind!", &[__t2012, __t2013, __t2014, __t2015])? }); } else { break Ok(Value::bool(false)); } } } } } } } else { { let __t2017 = { let __t2016 = v_W4782.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2016])? }; if match rt::is_truthy(interp, &__t2017) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4794 = { let __t2018 = v_V4765.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2018])? }; break Ok({ let __t2019 = v_V4765.clone(); let __t2029 = { let __t2025 = v_W4782.clone(); let __t2026 = { let __t2020 = Value::sym(interp.intern_static("list")); let __t2023 = { let __t2021 = v_W4794.clone(); let __t2022 = Value::nil(); rt::cons(&__t2021, &__t2022) }; rt::cons(&__t2020, &__t2023) }; let __t2027 = v_V4765.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t2025, __t2026, __t2027])?; let __t2028 = { let __t2024 = v_W4794.clone(); rt::apply_value(interp, v_W4783.clone(), &[__t2024])? }; if rt::is_truthy(interp, &rt::eq(&__t2028, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t2025, __t2027, __t2028])? } else { __t2028 } }; rt::apply_direct(interp, "shen.gc", &[__t2019, __t2029])? }); } } else { break Ok(Value::bool(false)); } } } } } } @@ -4607,121 +4375,117 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W4802 = { - let __t2294 = { - let __t2238 = v_V4799.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2238])? + let __t2075 = { + let __t2030 = v_V4799.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t2030])? }; - if rt::is_truthy(interp, &__t2294)? { + if rt::is_truthy(interp, &__t2075)? { { let v_W4803 = { - let __t2239 = v_V4797.clone(); - let __t2240 = v_V4798.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2239, __t2240])? + let __t2031 = v_V4797.clone(); + let __t2032 = v_V4798.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2031, __t2032])? }; { - let __t2293 = { - let __t2241 = v_W4803.clone(); - rt::is_cons(&__t2241) + let __t2074 = { + let __t2033 = v_W4803.clone(); + rt::is_cons(&__t2033) }; - if rt::is_truthy(interp, &__t2293)? { + if rt::is_truthy(interp, &__t2074)? { { let v_W4804 = { - let __t2243 = { - let __t2242 = v_W4803.clone(); - rt::hd(&__t2242)? + let __t2035 = { + let __t2034 = v_W4803.clone(); + rt::hd(&__t2034)? }; - let __t2244 = v_V4798.clone(); + let __t2036 = v_V4798.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2243, __t2244], + &[__t2035, __t2036], )? }; { - let __t2292 = { - let __t2245 = v_W4804.clone(); - rt::is_cons(&__t2245) + let __t2073 = { + let __t2037 = v_W4804.clone(); + rt::is_cons(&__t2037) }; - if rt::is_truthy(interp, &__t2292)? { + if rt::is_truthy(interp, &__t2073)? { { let v_W4805 = { - let __t2246 = v_W4804.clone(); - rt::hd(&__t2246)? + let __t2038 = v_W4804.clone(); + rt::hd(&__t2038)? }; { let v_W4806 = { - let __t2248 = { - let __t2247 = v_W4804.clone(); - rt::tl(&__t2247)? + let __t2040 = { + let __t2039 = v_W4804.clone(); + rt::tl(&__t2039)? }; - let __t2249 = v_V4798.clone(); + let __t2041 = v_V4798.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2248, __t2249], + &[__t2040, __t2041], )? }; { - let __t2291 = { - let __t2250 = v_W4806.clone(); - rt::is_cons(&__t2250) + let __t2072 = { + let __t2042 = v_W4806.clone(); + rt::is_cons(&__t2042) }; - if rt::is_truthy(interp, &__t2291)? { + if rt::is_truthy(interp, &__t2072)? { { let v_W4807 = { - let __t2251 = v_W4806.clone(); - rt::hd(&__t2251)? + let __t2043 = v_W4806.clone(); + rt::hd(&__t2043)? }; { let v_W4808 = { - let __t2253 = { - let __t2252 = + let __t2045 = { + let __t2044 = v_W4806.clone(); - rt::tl(&__t2252)? + rt::tl(&__t2044)? }; - let __t2254 = + let __t2046 = v_V4798.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2253, __t2254], + &[__t2045, __t2046], )? }; { - let __t2290 = { - let __t2255 = + let __t2071 = { + let __t2047 = v_W4808.clone(); - rt::is_cons(&__t2255) + rt::is_cons(&__t2047) }; if rt::is_truthy( - interp, &__t2290, + interp, &__t2071, )? { { let v_W4809 = { - let __t2256 = + let __t2048 = v_W4808 .clone( ); rt::hd( - &__t2256, + &__t2048, )? }; { let v_W4810 = { - let __t2258 = { - let __t2257 = v_W4808.clone(); - rt::tl(&__t2257)? + let __t2050 = { + let __t2049 = v_W4808.clone(); + rt::tl(&__t2049)? }; - let __t2259 = v_V4798.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2258, __t2259])? + let __t2051 = v_V4798.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2050, __t2051])? }; { - let __t2289 = { - let __t2260 = v_W4810.clone(); - let __t2261 = Value::nil(); - rt::eq(&__t2260, &__t2261) - }; - if rt::is_truthy(interp, &__t2289)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2267 = { let __t2264 = { let __t2262 = v_W4807.clone(); let __t2263 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2262, __t2263])? }; let __t2266 = { let __t2265 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2265])? }; rt::eq(&__t2264, &__t2266) }; let __t2268 = v_V4798.clone(); let __t2269 = v_V4799.clone(); let __t2270 = v_V4800.clone(); let __t2288 = { let v_V4795 = v_V4795.clone(); let v_V4796 = v_V4796.clone(); let v_V4798 = v_V4798.clone(); let v_V4799 = v_V4799.clone(); let v_V4800 = v_V4800.clone(); let v_V4801 = v_V4801.clone(); let v_W4805 = v_W4805.clone(); let v_W4809 = v_W4809.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2277 = { let __t2273 = { let __t2271 = v_V4795.clone(); let __t2272 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2271, __t2272])? }; let __t2276 = { let __t2274 = v_W4805.clone(); let __t2275 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2274, __t2275])? }; rt::eq(&__t2273, &__t2276) }; let __t2278 = v_V4798.clone(); let __t2279 = v_V4799.clone(); let __t2280 = v_V4800.clone(); let __t2287 = { let v_V4796 = v_V4796.clone(); let v_V4798 = v_V4798.clone(); let v_V4799 = v_V4799.clone(); let v_V4800 = v_V4800.clone(); let v_V4801 = v_V4801.clone(); let v_W4809 = v_W4809.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2281 = v_V4796.clone(); let __t2282 = v_W4809.clone(); let __t2283 = v_V4798.clone(); let __t2284 = v_V4799.clone(); let __t2285 = v_V4800.clone(); let __t2286 = v_V4801.clone(); rt::apply_direct(interp, "is!", &[__t2281, __t2282, __t2283, __t2284, __t2285, __t2286])? }), vec![v_V4796, v_V4798, v_V4799, v_V4800, v_V4801, v_W4809], interp) }; rt::apply_direct(interp, "when", &[__t2277, __t2278, __t2279, __t2280, __t2287])? }), vec![v_V4795, v_V4796, v_V4798, v_V4799, v_V4800, v_V4801, v_W4805, v_W4809], interp) }; rt::apply_direct(interp, "when", &[__t2267, __t2268, __t2269, __t2270, __t2288])? } } } else { Value::bool(false) } + let __t2070 = Value::bool((v_W4810.clone()).is_nil()); + if rt::is_truthy(interp, &__t2070)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2069 = { let __t2054 = { let __t2052 = v_W4807.clone(); let __t2053 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2052, __t2053])? }; let __t2055 = Value::sym(interp.intern_static(":")); rt::eq(&__t2054, &__t2055) }; let _ = v_V4798.clone(); let _ = v_V4799.clone(); let _ = v_V4800.clone(); if rt::is_truthy(interp, &__t2069)? { { let __t2068 = { let __t2058 = { let __t2056 = v_V4795.clone(); let __t2057 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2056, __t2057])? }; let __t2061 = { let __t2059 = v_W4805.clone(); let __t2060 = v_V4798.clone(); rt::apply_direct(interp, "shen.deref", &[__t2059, __t2060])? }; rt::eq(&__t2058, &__t2061) }; let _ = v_V4798.clone(); let _ = v_V4799.clone(); let _ = v_V4800.clone(); if rt::is_truthy(interp, &__t2068)? { { let __t2062 = v_V4796.clone(); let __t2063 = v_W4809.clone(); let __t2064 = v_V4798.clone(); let __t2065 = v_V4799.clone(); let __t2066 = v_V4800.clone(); let __t2067 = v_V4801.clone(); rt::apply_direct(interp, "is!", &[__t2062, __t2063, __t2064, __t2065, __t2066, __t2067])? } } else { Value::bool(false) } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } @@ -4752,63 +4516,63 @@ pub fn aot_shen_x2e_by_x2d_hypothesis(interp: &mut Interp, args: &[Value]) -> Sh } }; { - let __t2297 = { - let __t2295 = v_W4802.clone(); - let __t2296 = Value::bool(false); - rt::eq(&__t2295, &__t2296) + let __t2078 = { + let __t2076 = v_W4802.clone(); + let __t2077 = Value::bool(false); + rt::eq(&__t2076, &__t2077) }; - if match rt::is_truthy(interp, &__t2297) { + if match rt::is_truthy(interp, &__t2078) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2299 = { - let __t2298 = v_V4799.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2298])? + let __t2080 = { + let __t2079 = v_V4799.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t2079])? }; - if match rt::is_truthy(interp, &__t2299) { + if match rt::is_truthy(interp, &__t2080) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4811 = { - let __t2300 = v_V4797.clone(); - let __t2301 = v_V4798.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2300, __t2301])? + let __t2081 = v_V4797.clone(); + let __t2082 = v_V4798.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2081, __t2082])? }; { - let __t2303 = { - let __t2302 = v_W4811.clone(); - rt::is_cons(&__t2302) + let __t2084 = { + let __t2083 = v_W4811.clone(); + rt::is_cons(&__t2083) }; - if match rt::is_truthy(interp, &__t2303) { + if match rt::is_truthy(interp, &__t2084) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4812 = { - let __t2304 = v_W4811.clone(); - rt::tl(&__t2304)? + let __t2085 = v_W4811.clone(); + rt::tl(&__t2085)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t2305 = v_V4795.clone(); - let __t2306 = v_V4796.clone(); - let __t2307 = v_W4812.clone(); - let __t2308 = v_V4798.clone(); - let __t2309 = v_V4799.clone(); - let __t2310 = v_V4800.clone(); - let __t2311 = v_V4801.clone(); - v_V4795 = __t2305; - v_V4796 = __t2306; - v_V4797 = __t2307; - v_V4798 = __t2308; - v_V4799 = __t2309; - v_V4800 = __t2310; - v_V4801 = __t2311; + let __t2086 = v_V4795.clone(); + let __t2087 = v_V4796.clone(); + let __t2088 = v_W4812.clone(); + let __t2089 = v_V4798.clone(); + let __t2090 = v_V4799.clone(); + let __t2091 = v_V4800.clone(); + let __t2092 = v_V4801.clone(); + v_V4795 = __t2086; + v_V4796 = __t2087; + v_V4797 = __t2088; + v_V4798 = __t2089; + v_V4799 = __t2090; + v_V4800 = __t2091; + v_V4801 = __t2092; continue; } } @@ -4858,34 +4622,30 @@ pub fn aot_shen_x2e_lookupsig(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t2313 = { - let __t2312 = v_V4816.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2312])? + let __t2094 = { + let __t2093 = v_V4816.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t2093])? }; - if match rt::is_truthy(interp, &__t2313) { + if match rt::is_truthy(interp, &__t2094) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; break Ok({ - let __t2317 = { - let __t2314 = v_V4813.clone(); - let __t2316 = { - let __t2315 = Value::sym(interp.intern("shen.*sigf*")); - rt::apply_direct(interp, "value", &[__t2315])? - }; - rt::apply_direct(interp, "assoc", &[__t2314, __t2316])? + let __t2097 = { + let __t2095 = v_V4813.clone(); + let __t2096 = rt::global_value(interp, "shen.*sigf*")?; + rt::apply_direct(interp, "assoc", &[__t2095, __t2096])? }; - let __t2318 = v_V4814.clone(); - let __t2319 = v_V4815.clone(); - let __t2320 = v_V4816.clone(); - let __t2321 = v_V4817.clone(); - let __t2322 = v_V4818.clone(); - rt::apply_direct( + let __t2098 = v_V4814.clone(); + let __t2099 = v_V4815.clone(); + let __t2100 = v_V4816.clone(); + let __t2101 = v_V4817.clone(); + let __t2102 = v_V4818.clone(); + aot_shen_x2e_sigf( interp, - "shen.sigf", - &[__t2317, __t2318, __t2319, __t2320, __t2321, __t2322], + &[__t2097, __t2098, __t2099, __t2100, __t2101, __t2102], )? }); } @@ -4924,42 +4684,42 @@ pub fn aot_shen_x2e_sigf(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t2334 = { - let __t2332 = { - let __t2330 = { - let __t2328 = { - let __t2326 = { - let __t2325 = v_V4833.clone(); - rt::tl(&__t2325)? + let __t2114 = { + let __t2112 = { + let __t2110 = { + let __t2108 = { + let __t2106 = { + let __t2105 = v_V4833.clone(); + rt::tl(&__t2105)? }; - let __t2327 = v_V4834.clone(); - rt::apply_value(interp, __t2326, &[__t2327])? + let __t2107 = v_V4834.clone(); + rt::apply_value(interp, __t2106, &[__t2107])? }; - let __t2329 = v_V4835.clone(); - rt::apply_value(interp, __t2328, &[__t2329])? + let __t2109 = v_V4835.clone(); + rt::apply_value(interp, __t2108, &[__t2109])? }; - let __t2331 = v_V4836.clone(); - rt::apply_value(interp, __t2330, &[__t2331])? + let __t2111 = v_V4836.clone(); + rt::apply_value(interp, __t2110, &[__t2111])? }; - let __t2333 = v_V4837.clone(); - rt::apply_value(interp, __t2332, &[__t2333])? + let __t2113 = v_V4837.clone(); + rt::apply_value(interp, __t2112, &[__t2113])? }; - let __t2335 = v_V4838.clone(); - rt::apply_value(interp, __t2334, &[__t2335])? + let __t2115 = v_V4838.clone(); + rt::apply_value(interp, __t2114, &[__t2115])? }); } else { { - let __t2323 = Value::bool(true); - if match rt::is_truthy(interp, &__t2323) { + let __t2103 = Value::bool(true); + if match rt::is_truthy(interp, &__t2103) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4992,40 +4752,36 @@ pub fn aot_shen_x2e_freshterm(interp: &mut Interp, args: &[Value]) -> ShenResult loop { { let v_W4840 = { - let __t2337 = Value::int(3i64); - rt::apply_direct(interp, "absvector", &[__t2337])? + let __t2117 = Value::int(3i64); + rt::apply_direct(interp, "absvector", &[__t2117])? }; { let v_W4841 = { - let __t2338 = v_W4840.clone(); - let __t2339 = Value::int(0i64); - let __t2340 = Value::sym(interp.intern("shen.print-freshterm")); - rt::apply_direct(interp, "address->", &[__t2338, __t2339, __t2340])? + let __t2118 = v_W4840.clone(); + let __t2119 = Value::int(0i64); + let __t2120 = Value::sym(interp.intern_static("shen.print-freshterm")); + rt::address_set(&__t2118, &__t2119, &__t2120)? }; { let v_W4842 = { - let __t2341 = v_W4841.clone(); - let __t2342 = Value::int(1i64); - let __t2343 = v_V4839.clone(); - rt::apply_direct(interp, "address->", &[__t2341, __t2342, __t2343])? + let __t2121 = v_W4841.clone(); + let __t2122 = Value::int(1i64); + let __t2123 = v_V4839.clone(); + rt::address_set(&__t2121, &__t2122, &__t2123)? }; { let v_W4843 = { - let __t2344 = v_W4842.clone(); - let __t2345 = Value::int(2i64); - let __t2351 = { - let __t2346 = Value::sym(interp.intern("shen.*gensym*")); - let __t2350 = { - let __t2347 = Value::int(1i64); - let __t2349 = { - let __t2348 = Value::sym(interp.intern("shen.*gensym*")); - rt::apply_direct(interp, "value", &[__t2348])? - }; - rt::add(&__t2347, &__t2349)? + let __t2124 = v_W4842.clone(); + let __t2125 = Value::int(2i64); + let __t2128 = { + let __v = { + let __t2126 = Value::int(1i64); + let __t2127 = rt::global_value(interp, "shen.*gensym*")?; + rt::add(&__t2126, &__t2127)? }; - rt::apply_direct(interp, "set", &[__t2346, __t2350])? + rt::set_global(interp, "shen.*gensym*", __v) }; - rt::apply_direct(interp, "address->", &[__t2344, __t2345, __t2351])? + rt::address_set(&__t2124, &__t2125, &__t2128)? }; break Ok(v_W4843.clone()); } @@ -5053,18 +4809,18 @@ pub fn aot_shen_x2e_print_x2d_freshterm(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t2352 = Value::str("&&"); - let __t2358 = { - let __t2355 = { - let __t2353 = v_V4844.clone(); - let __t2354 = Value::int(1i64); - rt::apply_direct(interp, "<-address", &[__t2353, __t2354])? + let __t2129 = Value::str("&&"); + let __t2135 = { + let __t2132 = { + let __t2130 = v_V4844.clone(); + let __t2131 = Value::int(1i64); + rt::address_ref(&__t2130, &__t2131)? }; - let __t2356 = Value::str(""); - let __t2357 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t2355, __t2356, __t2357])? + let __t2133 = Value::str(""); + let __t2134 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t2132, __t2133, __t2134])? }; - rt::apply_direct(interp, "cn", &[__t2352, __t2358])? + rt::cn(&__t2129, &__t2135)? }); } } @@ -5103,46 +4859,46 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( loop { { let v_W4852 = { - let __t2385 = { - let __t2359 = v_V4849.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2359])? + let __t2162 = { + let __t2136 = v_V4849.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t2136])? }; - if rt::is_truthy(interp, &__t2385)? { + if rt::is_truthy(interp, &__t2162)? { { let v_W4853 = { - let __t2360 = v_V4847.clone(); - let __t2361 = v_V4848.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2360, __t2361])? + let __t2137 = v_V4847.clone(); + let __t2138 = v_V4848.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2137, __t2138])? }; { - let __t2384 = { - let __t2362 = v_W4853.clone(); - rt::is_cons(&__t2362) + let __t2161 = { + let __t2139 = v_W4853.clone(); + rt::is_cons(&__t2139) }; - if rt::is_truthy(interp, &__t2384)? { + if rt::is_truthy(interp, &__t2161)? { { let v_W4854 = { - let __t2364 = { - let __t2363 = v_W4853.clone(); - rt::hd(&__t2363)? + let __t2141 = { + let __t2140 = v_W4853.clone(); + rt::hd(&__t2140)? }; - let __t2365 = v_V4848.clone(); + let __t2142 = v_V4848.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2364, __t2365], + &[__t2141, __t2142], )? }; { - let __t2383 = { - let __t2366 = v_W4854.clone(); - rt::is_cons(&__t2366) + let __t2160 = { + let __t2143 = v_W4854.clone(); + rt::is_cons(&__t2143) }; - if rt::is_truthy(interp, &__t2383)? { + if rt::is_truthy(interp, &__t2160)? { { let v_W4855 = { - let __t2367 = v_W4854.clone(); - rt::tl(&__t2367)? + let __t2144 = v_W4854.clone(); + rt::tl(&__t2144)? }; { let _ = { @@ -5153,57 +4909,57 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( )? }; { - let __t2378 = { - let __t2374 = { - let __t2370 = { - let __t2368 = v_W4855.clone(); - let __t2369 = v_V4848.clone(); + let __t2155 = { + let __t2151 = { + let __t2147 = { + let __t2145 = v_W4855.clone(); + let __t2146 = v_V4848.clone(); rt::apply_direct( interp, "shen.deref", - &[__t2368, __t2369], + &[__t2145, __t2146], )? }; - let __t2373 = { - let __t2371 = v_V4845.clone(); - let __t2372 = v_V4848.clone(); + let __t2150 = { + let __t2148 = v_V4845.clone(); + let __t2149 = v_V4848.clone(); rt::apply_direct( interp, "shen.deref", - &[__t2371, __t2372], + &[__t2148, __t2149], )? }; rt::apply_value( interp, - __t2370, - &[__t2373], + __t2147, + &[__t2150], )? }; - let __t2377 = { - let __t2375 = v_V4846.clone(); - let __t2376 = v_V4848.clone(); + let __t2154 = { + let __t2152 = v_V4846.clone(); + let __t2153 = v_V4848.clone(); rt::apply_direct( interp, "shen.deref", - &[__t2375, __t2376], + &[__t2152, __t2153], )? }; rt::apply_value( interp, - __t2374, - &[__t2377], + __t2151, + &[__t2154], )? }; - let __t2379 = v_V4848.clone(); - let __t2380 = v_V4849.clone(); - let __t2381 = v_V4850.clone(); - let __t2382 = v_V4851.clone(); + let __t2156 = v_V4848.clone(); + let __t2157 = v_V4849.clone(); + let __t2158 = v_V4850.clone(); + let __t2159 = v_V4851.clone(); rt::apply_direct( interp, "call", &[ - __t2378, __t2379, __t2380, __t2381, - __t2382, + __t2155, __t2156, __t2157, __t2158, + __t2159, ], )? } @@ -5224,63 +4980,63 @@ pub fn aot_shen_x2e_search_x2d_user_x2d_datatypes( } }; { - let __t2388 = { - let __t2386 = v_W4852.clone(); - let __t2387 = Value::bool(false); - rt::eq(&__t2386, &__t2387) + let __t2165 = { + let __t2163 = v_W4852.clone(); + let __t2164 = Value::bool(false); + rt::eq(&__t2163, &__t2164) }; - if match rt::is_truthy(interp, &__t2388) { + if match rt::is_truthy(interp, &__t2165) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t2390 = { - let __t2389 = v_V4849.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2389])? + let __t2167 = { + let __t2166 = v_V4849.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t2166])? }; - if match rt::is_truthy(interp, &__t2390) { + if match rt::is_truthy(interp, &__t2167) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4856 = { - let __t2391 = v_V4847.clone(); - let __t2392 = v_V4848.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2391, __t2392])? + let __t2168 = v_V4847.clone(); + let __t2169 = v_V4848.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2168, __t2169])? }; { - let __t2394 = { - let __t2393 = v_W4856.clone(); - rt::is_cons(&__t2393) + let __t2171 = { + let __t2170 = v_W4856.clone(); + rt::is_cons(&__t2170) }; - if match rt::is_truthy(interp, &__t2394) { + if match rt::is_truthy(interp, &__t2171) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4857 = { - let __t2395 = v_W4856.clone(); - rt::tl(&__t2395)? + let __t2172 = v_W4856.clone(); + rt::tl(&__t2172)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t2396 = v_V4845.clone(); - let __t2397 = v_V4846.clone(); - let __t2398 = v_W4857.clone(); - let __t2399 = v_V4848.clone(); - let __t2400 = v_V4849.clone(); - let __t2401 = v_V4850.clone(); - let __t2402 = v_V4851.clone(); - v_V4845 = __t2396; - v_V4846 = __t2397; - v_V4847 = __t2398; - v_V4848 = __t2399; - v_V4849 = __t2400; - v_V4850 = __t2401; - v_V4851 = __t2402; + let __t2173 = v_V4845.clone(); + let __t2174 = v_V4846.clone(); + let __t2175 = v_W4857.clone(); + let __t2176 = v_V4848.clone(); + let __t2177 = v_V4849.clone(); + let __t2178 = v_V4850.clone(); + let __t2179 = v_V4851.clone(); + v_V4845 = __t2173; + v_V4846 = __t2174; + v_V4847 = __t2175; + v_V4848 = __t2176; + v_V4849 = __t2177; + v_V4850 = __t2178; + v_V4851 = __t2179; continue; } } @@ -5340,47 +5096,43 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu loop { { let v_W4865 = { - let __t2403 = v_V4863.clone(); - let __t2404 = Value::int(1i64); - rt::add(&__t2403, &__t2404)? + let __t2180 = v_V4863.clone(); + let __t2181 = Value::int(1i64); + rt::add(&__t2180, &__t2181)? }; { let v_W4866 = { - let __t2426 = { - let __t2405 = v_V4862.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2405])? + let __t2199 = { + let __t2182 = v_V4862.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t2182])? }; - if rt::is_truthy(interp, &__t2426)? { + if rt::is_truthy(interp, &__t2199)? { { let v_W4867 = { - let __t2406 = v_V4858.clone(); - let __t2407 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2406, __t2407])? + let __t2183 = v_V4858.clone(); + let __t2184 = v_V4861.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2183, __t2184])? }; { - let __t2425 = { - let __t2408 = v_W4867.clone(); - let __t2409 = Value::nil(); - rt::eq(&__t2408, &__t2409) - }; - if rt::is_truthy(interp, &__t2425)? { + let __t2198 = Value::bool((v_W4867.clone()).is_nil()); + if rt::is_truthy(interp, &__t2198)? { { let v_W4868 = { - let __t2410 = v_V4860.clone(); - let __t2411 = v_V4861.clone(); + let __t2185 = v_V4860.clone(); + let __t2186 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2410, __t2411], + &[__t2185, __t2186], )? }; { - let __t2424 = { - let __t2412 = v_W4868.clone(); - let __t2413 = Value::bool(true); - rt::eq(&__t2412, &__t2413) + let __t2197 = { + let __t2187 = v_W4868.clone(); + let __t2188 = Value::bool(true); + rt::eq(&__t2187, &__t2188) }; - if rt::is_truthy(interp, &__t2424)? { + if rt::is_truthy(interp, &__t2197)? { { let _ = { rt::apply_direct( @@ -5390,54 +5142,43 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu )? }; { - let __t2414 = v_V4861.clone(); - let __t2415 = v_V4862.clone(); - let __t2416 = v_W4865.clone(); - let __t2423 = { - let v_V4859 = v_V4859.clone(); - let v_V4861 = v_V4861.clone(); - let v_V4862 = v_V4862.clone(); - let v_V4864 = v_V4864.clone(); - let v_W4865 = v_W4865.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t2417 = - v_V4859.clone(); - let __t2418 = Value::nil(); - let __t2419 = - v_V4861.clone(); - let __t2420 = - v_V4862.clone(); - let __t2421 = - v_W4865.clone(); - let __t2422 = - v_V4864.clone(); - rt::apply_direct( - interp, - "bind", - &[ - __t2417, __t2418, - __t2419, __t2420, - __t2421, __t2422, - ], - )? - }) - }, - vec![ - v_V4859, v_V4861, v_V4862, - v_V4864, v_W4865, - ], + let _ = v_V4861.clone(); + let __t2196 = v_V4862.clone(); + let __n = v_W4865.clone(); + let __t2195 = { + let __t2189 = v_V4859.clone(); + let __t2190 = Value::nil(); + let __t2191 = v_V4861.clone(); + let __t2192 = v_V4862.clone(); + let __t2193 = v_W4865.clone(); + let __t2194 = v_V4864.clone(); + rt::apply_direct( interp, - ) + "bind", + &[ + __t2189, __t2190, __t2191, + __t2192, __t2193, __t2194, + ], + )? }; - rt::apply_direct( + if rt::is_truthy( interp, - "shen.cut", - &[__t2414, __t2415, __t2416, __t2423], - )? + &rt::eq(&__t2195, &Value::bool(false)), + )? { + let __u = rt::apply_direct( + interp, + "shen.unlocked?", + &[__t2196], + )?; + if rt::is_truthy(interp, &__u)? { + let _ = rt::apply_direct( + interp, + "shen.lock", + &[__n, __t2196], + )?; + } + } + __t2195 } } } else { @@ -5455,126 +5196,116 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu } }; { - let __t2429 = { - let __t2427 = v_W4866.clone(); - let __t2428 = Value::bool(false); - rt::eq(&__t2427, &__t2428) + let __t2202 = { + let __t2200 = v_W4866.clone(); + let __t2201 = Value::bool(false); + rt::eq(&__t2200, &__t2201) }; - if match rt::is_truthy(interp, &__t2429) { + if match rt::is_truthy(interp, &__t2202) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4869 = { - let __t2551 = { - let __t2430 = v_V4862.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t2430])? + let __t2307 = { + let __t2203 = v_V4862.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t2203])? }; - if rt::is_truthy(interp, &__t2551)? { + if rt::is_truthy(interp, &__t2307)? { { let v_W4870 = { - let __t2431 = v_V4858.clone(); - let __t2432 = v_V4861.clone(); + let __t2204 = v_V4858.clone(); + let __t2205 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2431, __t2432], + &[__t2204, __t2205], )? }; { - let __t2550 = { - let __t2433 = v_W4870.clone(); - rt::is_cons(&__t2433) + let __t2306 = { + let __t2206 = v_W4870.clone(); + rt::is_cons(&__t2206) }; - if rt::is_truthy(interp, &__t2550)? { + if rt::is_truthy(interp, &__t2306)? { { let v_W4871 = { - let __t2435 = { - let __t2434 = v_W4870.clone(); - rt::hd(&__t2434)? + let __t2208 = { + let __t2207 = v_W4870.clone(); + rt::hd(&__t2207)? }; - let __t2436 = v_V4861.clone(); + let __t2209 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2435, __t2436], + &[__t2208, __t2209], )? }; { - let __t2549 = { - let __t2437 = v_W4871.clone(); - rt::is_cons(&__t2437) + let __t2305 = { + let __t2210 = v_W4871.clone(); + rt::is_cons(&__t2210) }; - if rt::is_truthy(interp, &__t2549)? { + if rt::is_truthy(interp, &__t2305)? { { let v_W4872 = { - let __t2439 = { - let __t2438 = + let __t2212 = { + let __t2211 = v_W4871.clone(); - rt::hd(&__t2438)? + rt::hd(&__t2211)? }; - let __t2440 = v_V4861.clone(); + let __t2213 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2439, __t2440], + &[__t2212, __t2213], )? }; { - let __t2548 = { - let __t2441 = + let __t2304 = { + let __t2214 = v_W4872.clone(); - rt::is_cons(&__t2441) + rt::is_cons(&__t2214) }; if rt::is_truthy( - interp, &__t2548, + interp, &__t2304, )? { { let v_W4873 = { - let __t2443 = { - let __t2442 = + let __t2216 = { + let __t2215 = v_W4872 .clone( ); rt::hd( - &__t2442, + &__t2215, )? }; - let __t2444 = + let __t2217 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2443, __t2444])? + rt::apply_direct(interp, "shen.lazyderef", &[__t2216, __t2217])? }; { - let __t2547 = { - let __t2445 = - v_W4873 - .clone( - ); - let __t2446 = Value::sym(interp.intern("cons")); - rt::eq( - &__t2445, - &__t2446, - ) - }; + let __t2303 = Value::bool((v_W4873.clone()).as_sym() == Some(interp.intern_static("cons"))); if rt::is_truthy( interp, - &__t2547, + &__t2303, )? { { let v_W4874 = { - let __t2448 = { - let __t2447 = v_W4872.clone(); - rt::tl(&__t2447)? + let __t2219 = { + let __t2218 = v_W4872.clone(); + rt::tl(&__t2218)? }; - let __t2449 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2448, __t2449])? + let __t2220 = v_V4861.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2219, __t2220])? }; { - let __t2546 = { - let __t2450 = v_W4874.clone(); - rt::is_cons(&__t2450) + let __t2302 = { + let __t2221 = v_W4874.clone(); + rt::is_cons(&__t2221) }; - if rt::is_truthy(interp, &__t2546)? { { let v_W4875 = { let __t2451 = v_W4874.clone(); rt::hd(&__t2451)? }; { let v_W4876 = { let __t2453 = { let __t2452 = v_W4874.clone(); rt::tl(&__t2452)? }; let __t2454 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2453, __t2454])? }; { let __t2545 = { let __t2455 = v_W4876.clone(); rt::is_cons(&__t2455) }; if rt::is_truthy(interp, &__t2545)? { { let v_W4877 = { let __t2456 = v_W4876.clone(); rt::hd(&__t2456)? }; { let v_W4878 = { let __t2458 = { let __t2457 = v_W4876.clone(); rt::tl(&__t2457)? }; let __t2459 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2458, __t2459])? }; { let __t2544 = { let __t2460 = v_W4878.clone(); let __t2461 = Value::nil(); rt::eq(&__t2460, &__t2461) }; if rt::is_truthy(interp, &__t2544)? { { let v_W4879 = { let __t2463 = { let __t2462 = v_W4871.clone(); rt::tl(&__t2462)? }; let __t2464 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2463, __t2464])? }; { let __t2543 = { let __t2465 = v_W4879.clone(); rt::is_cons(&__t2465) }; if rt::is_truthy(interp, &__t2543)? { { let v_W4880 = { let __t2466 = v_W4879.clone(); rt::hd(&__t2466)? }; { let v_W4881 = { let __t2468 = { let __t2467 = v_W4879.clone(); rt::tl(&__t2467)? }; let __t2469 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2468, __t2469])? }; { let __t2542 = { let __t2470 = v_W4881.clone(); rt::is_cons(&__t2470) }; if rt::is_truthy(interp, &__t2542)? { { let v_W4882 = { let __t2472 = { let __t2471 = v_W4881.clone(); rt::hd(&__t2471)? }; let __t2473 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2472, __t2473])? }; { let __t2541 = { let __t2474 = v_W4882.clone(); rt::is_cons(&__t2474) }; if rt::is_truthy(interp, &__t2541)? { { let v_W4883 = { let __t2476 = { let __t2475 = v_W4882.clone(); rt::hd(&__t2475)? }; let __t2477 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2476, __t2477])? }; { let __t2540 = { let __t2478 = v_W4883.clone(); let __t2479 = Value::sym(interp.intern("list")); rt::eq(&__t2478, &__t2479) }; if rt::is_truthy(interp, &__t2540)? { { let v_W4884 = { let __t2481 = { let __t2480 = v_W4882.clone(); rt::tl(&__t2480)? }; let __t2482 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2481, __t2482])? }; { let __t2539 = { let __t2483 = v_W4884.clone(); rt::is_cons(&__t2483) }; if rt::is_truthy(interp, &__t2539)? { { let v_W4885 = { let __t2484 = v_W4884.clone(); rt::hd(&__t2484)? }; { let v_W4886 = { let __t2486 = { let __t2485 = v_W4884.clone(); rt::tl(&__t2485)? }; let __t2487 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2486, __t2487])? }; { let __t2538 = { let __t2488 = v_W4886.clone(); let __t2489 = Value::nil(); rt::eq(&__t2488, &__t2489) }; if rt::is_truthy(interp, &__t2538)? { { let v_W4887 = { let __t2491 = { let __t2490 = v_W4881.clone(); rt::tl(&__t2490)? }; let __t2492 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2491, __t2492])? }; { let __t2537 = { let __t2493 = v_W4887.clone(); let __t2494 = Value::nil(); rt::eq(&__t2493, &__t2494) }; if rt::is_truthy(interp, &__t2537)? { { let v_W4888 = { let __t2495 = v_W4870.clone(); rt::tl(&__t2495)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2501 = { let __t2498 = { let __t2496 = v_W4880.clone(); let __t2497 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2496, __t2497])? }; let __t2500 = { let __t2499 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2499])? }; rt::eq(&__t2498, &__t2500) }; let __t2502 = v_V4861.clone(); let __t2503 = v_V4862.clone(); let __t2504 = v_W4865.clone(); let __t2536 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4875 = v_W4875.clone(); let v_W4877 = v_W4877.clone(); let v_W4880 = v_W4880.clone(); let v_W4885 = v_W4885.clone(); let v_W4888 = v_W4888.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2505 = v_V4861.clone(); let __t2506 = v_V4862.clone(); let __t2507 = v_W4865.clone(); let __t2535 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4875 = v_W4875.clone(); let v_W4877 = v_W4877.clone(); let v_W4880 = v_W4880.clone(); let v_W4885 = v_W4885.clone(); let v_W4888 = v_W4888.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2528 = { let __t2514 = { let __t2508 = v_W4875.clone(); let __t2513 = { let __t2509 = v_W4880.clone(); let __t2512 = { let __t2510 = v_W4885.clone(); let __t2511 = Value::nil(); rt::cons(&__t2510, &__t2511) }; rt::cons(&__t2509, &__t2512) }; rt::cons(&__t2508, &__t2513) }; let __t2527 = { let __t2525 = { let __t2515 = v_W4877.clone(); let __t2524 = { let __t2516 = v_W4880.clone(); let __t2523 = { let __t2521 = { let __t2517 = Value::sym(interp.intern("list")); let __t2520 = { let __t2518 = v_W4885.clone(); let __t2519 = Value::nil(); rt::cons(&__t2518, &__t2519) }; rt::cons(&__t2517, &__t2520) }; let __t2522 = Value::nil(); rt::cons(&__t2521, &__t2522) }; rt::cons(&__t2516, &__t2523) }; rt::cons(&__t2515, &__t2524) }; let __t2526 = v_W4888.clone(); rt::cons(&__t2525, &__t2526) }; rt::cons(&__t2514, &__t2527) }; let __t2529 = v_V4859.clone(); let __t2530 = Value::bool(true); let __t2531 = v_V4861.clone(); let __t2532 = v_V4862.clone(); let __t2533 = v_W4865.clone(); let __t2534 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2528, __t2529, __t2530, __t2531, __t2532, __t2533, __t2534])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4875, v_W4877, v_W4880, v_W4885, v_W4888], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2505, __t2506, __t2507, __t2535])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4875, v_W4877, v_W4880, v_W4885, v_W4888], interp) }; rt::apply_direct(interp, "when", &[__t2501, __t2502, __t2503, __t2504, __t2536])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2302)? { { let v_W4875 = { let __t2222 = v_W4874.clone(); rt::hd(&__t2222)? }; { let v_W4876 = { let __t2224 = { let __t2223 = v_W4874.clone(); rt::tl(&__t2223)? }; let __t2225 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2224, __t2225])? }; { let __t2301 = { let __t2226 = v_W4876.clone(); rt::is_cons(&__t2226) }; if rt::is_truthy(interp, &__t2301)? { { let v_W4877 = { let __t2227 = v_W4876.clone(); rt::hd(&__t2227)? }; { let v_W4878 = { let __t2229 = { let __t2228 = v_W4876.clone(); rt::tl(&__t2228)? }; let __t2230 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2229, __t2230])? }; { let __t2300 = Value::bool((v_W4878.clone()).is_nil()); if rt::is_truthy(interp, &__t2300)? { { let v_W4879 = { let __t2232 = { let __t2231 = v_W4871.clone(); rt::tl(&__t2231)? }; let __t2233 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2232, __t2233])? }; { let __t2299 = { let __t2234 = v_W4879.clone(); rt::is_cons(&__t2234) }; if rt::is_truthy(interp, &__t2299)? { { let v_W4880 = { let __t2235 = v_W4879.clone(); rt::hd(&__t2235)? }; { let v_W4881 = { let __t2237 = { let __t2236 = v_W4879.clone(); rt::tl(&__t2236)? }; let __t2238 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2237, __t2238])? }; { let __t2298 = { let __t2239 = v_W4881.clone(); rt::is_cons(&__t2239) }; if rt::is_truthy(interp, &__t2298)? { { let v_W4882 = { let __t2241 = { let __t2240 = v_W4881.clone(); rt::hd(&__t2240)? }; let __t2242 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2241, __t2242])? }; { let __t2297 = { let __t2243 = v_W4882.clone(); rt::is_cons(&__t2243) }; if rt::is_truthy(interp, &__t2297)? { { let v_W4883 = { let __t2245 = { let __t2244 = v_W4882.clone(); rt::hd(&__t2244)? }; let __t2246 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2245, __t2246])? }; { let __t2296 = Value::bool((v_W4883.clone()).as_sym() == Some(interp.intern_static("list"))); if rt::is_truthy(interp, &__t2296)? { { let v_W4884 = { let __t2248 = { let __t2247 = v_W4882.clone(); rt::tl(&__t2247)? }; let __t2249 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2248, __t2249])? }; { let __t2295 = { let __t2250 = v_W4884.clone(); rt::is_cons(&__t2250) }; if rt::is_truthy(interp, &__t2295)? { { let v_W4885 = { let __t2251 = v_W4884.clone(); rt::hd(&__t2251)? }; { let v_W4886 = { let __t2253 = { let __t2252 = v_W4884.clone(); rt::tl(&__t2252)? }; let __t2254 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2253, __t2254])? }; { let __t2294 = Value::bool((v_W4886.clone()).is_nil()); if rt::is_truthy(interp, &__t2294)? { { let v_W4887 = { let __t2256 = { let __t2255 = v_W4881.clone(); rt::tl(&__t2255)? }; let __t2257 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2256, __t2257])? }; { let __t2293 = Value::bool((v_W4887.clone()).is_nil()); if rt::is_truthy(interp, &__t2293)? { { let v_W4888 = { let __t2258 = v_W4870.clone(); rt::tl(&__t2258)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2292 = { let __t2261 = { let __t2259 = v_W4880.clone(); let __t2260 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2259, __t2260])? }; let __t2262 = Value::sym(interp.intern_static(":")); rt::eq(&__t2261, &__t2262) }; let _ = v_V4861.clone(); let _ = v_V4862.clone(); let _ = v_W4865.clone(); if rt::is_truthy(interp, &__t2292)? { { let _ = v_V4861.clone(); let __t2291 = v_V4862.clone(); let __n = v_W4865.clone(); let __t2290 = { let __t2283 = { let __t2269 = { let __t2263 = v_W4875.clone(); let __t2268 = { let __t2264 = v_W4880.clone(); let __t2267 = { let __t2265 = v_W4885.clone(); let __t2266 = Value::nil(); rt::cons(&__t2265, &__t2266) }; rt::cons(&__t2264, &__t2267) }; rt::cons(&__t2263, &__t2268) }; let __t2282 = { let __t2280 = { let __t2270 = v_W4877.clone(); let __t2279 = { let __t2271 = v_W4880.clone(); let __t2278 = { let __t2276 = { let __t2272 = Value::sym(interp.intern_static("list")); let __t2275 = { let __t2273 = v_W4885.clone(); let __t2274 = Value::nil(); rt::cons(&__t2273, &__t2274) }; rt::cons(&__t2272, &__t2275) }; let __t2277 = Value::nil(); rt::cons(&__t2276, &__t2277) }; rt::cons(&__t2271, &__t2278) }; rt::cons(&__t2270, &__t2279) }; let __t2281 = v_W4888.clone(); rt::cons(&__t2280, &__t2281) }; rt::cons(&__t2269, &__t2282) }; let __t2284 = v_V4859.clone(); let __t2285 = Value::bool(true); let __t2286 = v_V4861.clone(); let __t2287 = v_V4862.clone(); let __t2288 = v_W4865.clone(); let __t2289 = v_V4864.clone(); aot_shen_x2e_l_x2d_rules(interp, &[__t2283, __t2284, __t2285, __t2286, __t2287, __t2288, __t2289])? }; if rt::is_truthy(interp, &rt::eq(&__t2290, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t2291])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t2291])?; } } __t2290 } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { @@ -5604,110 +5335,106 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu } }; { - let __t2554 = { - let __t2552 = v_W4869.clone(); - let __t2553 = Value::bool(false); - rt::eq(&__t2552, &__t2553) + let __t2310 = { + let __t2308 = v_W4869.clone(); + let __t2309 = Value::bool(false); + rt::eq(&__t2308, &__t2309) }; - if match rt::is_truthy(interp, &__t2554) { + if match rt::is_truthy(interp, &__t2310) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4889 = { - let __t2678 = { - let __t2555 = v_V4862.clone(); + let __t2417 = { + let __t2311 = v_V4862.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t2555], + &[__t2311], )? }; - if rt::is_truthy(interp, &__t2678)? { + if rt::is_truthy(interp, &__t2417)? { { let v_W4890 = { - let __t2556 = v_V4858.clone(); - let __t2557 = v_V4861.clone(); + let __t2312 = v_V4858.clone(); + let __t2313 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2556, __t2557], + &[__t2312, __t2313], )? }; { - let __t2677 = { - let __t2558 = v_W4890.clone(); - rt::is_cons(&__t2558) + let __t2416 = { + let __t2314 = v_W4890.clone(); + rt::is_cons(&__t2314) }; - if rt::is_truthy(interp, &__t2677)? { + if rt::is_truthy(interp, &__t2416)? { { let v_W4891 = { - let __t2560 = { - let __t2559 = + let __t2316 = { + let __t2315 = v_W4890.clone(); - rt::hd(&__t2559)? + rt::hd(&__t2315)? }; - let __t2561 = v_V4861.clone(); + let __t2317 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2560, __t2561], + &[__t2316, __t2317], )? }; { - let __t2676 = { - let __t2562 = + let __t2415 = { + let __t2318 = v_W4891.clone(); - rt::is_cons(&__t2562) + rt::is_cons(&__t2318) }; if rt::is_truthy( - interp, &__t2676, + interp, &__t2415, )? { { let v_W4892 = { - let __t2564 = { - let __t2563 = + let __t2320 = { + let __t2319 = v_W4891 .clone( ); rt::hd( - &__t2563, + &__t2319, )? }; - let __t2565 = + let __t2321 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2564, __t2565])? + rt::apply_direct(interp, "shen.lazyderef", &[__t2320, __t2321])? }; { - let __t2675 = { - let __t2566 = + let __t2414 = { + let __t2322 = v_W4892 .clone( ); rt::is_cons( - &__t2566, + &__t2322, ) }; if rt::is_truthy( interp, - &__t2675, + &__t2414, )? { { let v_W4893 = { - let __t2568 = { - let __t2567 = v_W4892.clone(); - rt::hd(&__t2567)? + let __t2324 = { + let __t2323 = v_W4892.clone(); + rt::hd(&__t2323)? }; - let __t2569 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2568, __t2569])? + let __t2325 = v_V4861.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2324, __t2325])? }; { - let __t2674 = { - let __t2570 = v_W4893.clone(); - let __t2571 = Value::sym(interp.intern("@p")); - rt::eq(&__t2570, &__t2571) - }; - if rt::is_truthy(interp, &__t2674)? { { let v_W4894 = { let __t2573 = { let __t2572 = v_W4892.clone(); rt::tl(&__t2572)? }; let __t2574 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2573, __t2574])? }; { let __t2673 = { let __t2575 = v_W4894.clone(); rt::is_cons(&__t2575) }; if rt::is_truthy(interp, &__t2673)? { { let v_W4895 = { let __t2576 = v_W4894.clone(); rt::hd(&__t2576)? }; { let v_W4896 = { let __t2578 = { let __t2577 = v_W4894.clone(); rt::tl(&__t2577)? }; let __t2579 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2578, __t2579])? }; { let __t2672 = { let __t2580 = v_W4896.clone(); rt::is_cons(&__t2580) }; if rt::is_truthy(interp, &__t2672)? { { let v_W4897 = { let __t2581 = v_W4896.clone(); rt::hd(&__t2581)? }; { let v_W4898 = { let __t2583 = { let __t2582 = v_W4896.clone(); rt::tl(&__t2582)? }; let __t2584 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2583, __t2584])? }; { let __t2671 = { let __t2585 = v_W4898.clone(); let __t2586 = Value::nil(); rt::eq(&__t2585, &__t2586) }; if rt::is_truthy(interp, &__t2671)? { { let v_W4899 = { let __t2588 = { let __t2587 = v_W4891.clone(); rt::tl(&__t2587)? }; let __t2589 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2588, __t2589])? }; { let __t2670 = { let __t2590 = v_W4899.clone(); rt::is_cons(&__t2590) }; if rt::is_truthy(interp, &__t2670)? { { let v_W4900 = { let __t2591 = v_W4899.clone(); rt::hd(&__t2591)? }; { let v_W4901 = { let __t2593 = { let __t2592 = v_W4899.clone(); rt::tl(&__t2592)? }; let __t2594 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2593, __t2594])? }; { let __t2669 = { let __t2595 = v_W4901.clone(); rt::is_cons(&__t2595) }; if rt::is_truthy(interp, &__t2669)? { { let v_W4902 = { let __t2597 = { let __t2596 = v_W4901.clone(); rt::hd(&__t2596)? }; let __t2598 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2597, __t2598])? }; { let __t2668 = { let __t2599 = v_W4902.clone(); rt::is_cons(&__t2599) }; if rt::is_truthy(interp, &__t2668)? { { let v_W4903 = { let __t2600 = v_W4902.clone(); rt::hd(&__t2600)? }; { let v_W4904 = { let __t2602 = { let __t2601 = v_W4902.clone(); rt::tl(&__t2601)? }; let __t2603 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2602, __t2603])? }; { let __t2667 = { let __t2604 = v_W4904.clone(); rt::is_cons(&__t2604) }; if rt::is_truthy(interp, &__t2667)? { { let v_W4905 = { let __t2606 = { let __t2605 = v_W4904.clone(); rt::hd(&__t2605)? }; let __t2607 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2606, __t2607])? }; { let __t2666 = { let __t2608 = v_W4905.clone(); let __t2609 = Value::sym(interp.intern("*")); rt::eq(&__t2608, &__t2609) }; if rt::is_truthy(interp, &__t2666)? { { let v_W4906 = { let __t2611 = { let __t2610 = v_W4904.clone(); rt::tl(&__t2610)? }; let __t2612 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2611, __t2612])? }; { let __t2665 = { let __t2613 = v_W4906.clone(); rt::is_cons(&__t2613) }; if rt::is_truthy(interp, &__t2665)? { { let v_W4907 = { let __t2614 = v_W4906.clone(); rt::hd(&__t2614)? }; { let v_W4908 = { let __t2616 = { let __t2615 = v_W4906.clone(); rt::tl(&__t2615)? }; let __t2617 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2616, __t2617])? }; { let __t2664 = { let __t2618 = v_W4908.clone(); let __t2619 = Value::nil(); rt::eq(&__t2618, &__t2619) }; if rt::is_truthy(interp, &__t2664)? { { let v_W4909 = { let __t2621 = { let __t2620 = v_W4901.clone(); rt::tl(&__t2620)? }; let __t2622 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2621, __t2622])? }; { let __t2663 = { let __t2623 = v_W4909.clone(); let __t2624 = Value::nil(); rt::eq(&__t2623, &__t2624) }; if rt::is_truthy(interp, &__t2663)? { { let v_W4910 = { let __t2625 = v_W4890.clone(); rt::tl(&__t2625)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2631 = { let __t2628 = { let __t2626 = v_W4900.clone(); let __t2627 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2626, __t2627])? }; let __t2630 = { let __t2629 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2629])? }; rt::eq(&__t2628, &__t2630) }; let __t2632 = v_V4861.clone(); let __t2633 = v_V4862.clone(); let __t2634 = v_W4865.clone(); let __t2662 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4895 = v_W4895.clone(); let v_W4897 = v_W4897.clone(); let v_W4900 = v_W4900.clone(); let v_W4903 = v_W4903.clone(); let v_W4907 = v_W4907.clone(); let v_W4910 = v_W4910.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2635 = v_V4861.clone(); let __t2636 = v_V4862.clone(); let __t2637 = v_W4865.clone(); let __t2661 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4895 = v_W4895.clone(); let v_W4897 = v_W4897.clone(); let v_W4900 = v_W4900.clone(); let v_W4903 = v_W4903.clone(); let v_W4907 = v_W4907.clone(); let v_W4910 = v_W4910.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2654 = { let __t2644 = { let __t2638 = v_W4895.clone(); let __t2643 = { let __t2639 = v_W4900.clone(); let __t2642 = { let __t2640 = v_W4903.clone(); let __t2641 = Value::nil(); rt::cons(&__t2640, &__t2641) }; rt::cons(&__t2639, &__t2642) }; rt::cons(&__t2638, &__t2643) }; let __t2653 = { let __t2651 = { let __t2645 = v_W4897.clone(); let __t2650 = { let __t2646 = v_W4900.clone(); let __t2649 = { let __t2647 = v_W4907.clone(); let __t2648 = Value::nil(); rt::cons(&__t2647, &__t2648) }; rt::cons(&__t2646, &__t2649) }; rt::cons(&__t2645, &__t2650) }; let __t2652 = v_W4910.clone(); rt::cons(&__t2651, &__t2652) }; rt::cons(&__t2644, &__t2653) }; let __t2655 = v_V4859.clone(); let __t2656 = Value::bool(true); let __t2657 = v_V4861.clone(); let __t2658 = v_V4862.clone(); let __t2659 = v_W4865.clone(); let __t2660 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2654, __t2655, __t2656, __t2657, __t2658, __t2659, __t2660])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4895, v_W4897, v_W4900, v_W4903, v_W4907, v_W4910], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2635, __t2636, __t2637, __t2661])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4895, v_W4897, v_W4900, v_W4903, v_W4907, v_W4910], interp) }; rt::apply_direct(interp, "when", &[__t2631, __t2632, __t2633, __t2634, __t2662])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + let __t2413 = Value::bool((v_W4893.clone()).as_sym() == Some(interp.intern_static("@p"))); + if rt::is_truthy(interp, &__t2413)? { { let v_W4894 = { let __t2327 = { let __t2326 = v_W4892.clone(); rt::tl(&__t2326)? }; let __t2328 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2327, __t2328])? }; { let __t2412 = { let __t2329 = v_W4894.clone(); rt::is_cons(&__t2329) }; if rt::is_truthy(interp, &__t2412)? { { let v_W4895 = { let __t2330 = v_W4894.clone(); rt::hd(&__t2330)? }; { let v_W4896 = { let __t2332 = { let __t2331 = v_W4894.clone(); rt::tl(&__t2331)? }; let __t2333 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2332, __t2333])? }; { let __t2411 = { let __t2334 = v_W4896.clone(); rt::is_cons(&__t2334) }; if rt::is_truthy(interp, &__t2411)? { { let v_W4897 = { let __t2335 = v_W4896.clone(); rt::hd(&__t2335)? }; { let v_W4898 = { let __t2337 = { let __t2336 = v_W4896.clone(); rt::tl(&__t2336)? }; let __t2338 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2337, __t2338])? }; { let __t2410 = Value::bool((v_W4898.clone()).is_nil()); if rt::is_truthy(interp, &__t2410)? { { let v_W4899 = { let __t2340 = { let __t2339 = v_W4891.clone(); rt::tl(&__t2339)? }; let __t2341 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2340, __t2341])? }; { let __t2409 = { let __t2342 = v_W4899.clone(); rt::is_cons(&__t2342) }; if rt::is_truthy(interp, &__t2409)? { { let v_W4900 = { let __t2343 = v_W4899.clone(); rt::hd(&__t2343)? }; { let v_W4901 = { let __t2345 = { let __t2344 = v_W4899.clone(); rt::tl(&__t2344)? }; let __t2346 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2345, __t2346])? }; { let __t2408 = { let __t2347 = v_W4901.clone(); rt::is_cons(&__t2347) }; if rt::is_truthy(interp, &__t2408)? { { let v_W4902 = { let __t2349 = { let __t2348 = v_W4901.clone(); rt::hd(&__t2348)? }; let __t2350 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2349, __t2350])? }; { let __t2407 = { let __t2351 = v_W4902.clone(); rt::is_cons(&__t2351) }; if rt::is_truthy(interp, &__t2407)? { { let v_W4903 = { let __t2352 = v_W4902.clone(); rt::hd(&__t2352)? }; { let v_W4904 = { let __t2354 = { let __t2353 = v_W4902.clone(); rt::tl(&__t2353)? }; let __t2355 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2354, __t2355])? }; { let __t2406 = { let __t2356 = v_W4904.clone(); rt::is_cons(&__t2356) }; if rt::is_truthy(interp, &__t2406)? { { let v_W4905 = { let __t2358 = { let __t2357 = v_W4904.clone(); rt::hd(&__t2357)? }; let __t2359 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2358, __t2359])? }; { let __t2405 = Value::bool((v_W4905.clone()).as_sym() == Some(interp.intern_static("*"))); if rt::is_truthy(interp, &__t2405)? { { let v_W4906 = { let __t2361 = { let __t2360 = v_W4904.clone(); rt::tl(&__t2360)? }; let __t2362 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2361, __t2362])? }; { let __t2404 = { let __t2363 = v_W4906.clone(); rt::is_cons(&__t2363) }; if rt::is_truthy(interp, &__t2404)? { { let v_W4907 = { let __t2364 = v_W4906.clone(); rt::hd(&__t2364)? }; { let v_W4908 = { let __t2366 = { let __t2365 = v_W4906.clone(); rt::tl(&__t2365)? }; let __t2367 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2366, __t2367])? }; { let __t2403 = Value::bool((v_W4908.clone()).is_nil()); if rt::is_truthy(interp, &__t2403)? { { let v_W4909 = { let __t2369 = { let __t2368 = v_W4901.clone(); rt::tl(&__t2368)? }; let __t2370 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2369, __t2370])? }; { let __t2402 = Value::bool((v_W4909.clone()).is_nil()); if rt::is_truthy(interp, &__t2402)? { { let v_W4910 = { let __t2371 = v_W4890.clone(); rt::tl(&__t2371)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2401 = { let __t2374 = { let __t2372 = v_W4900.clone(); let __t2373 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2372, __t2373])? }; let __t2375 = Value::sym(interp.intern_static(":")); rt::eq(&__t2374, &__t2375) }; let _ = v_V4861.clone(); let _ = v_V4862.clone(); let _ = v_W4865.clone(); if rt::is_truthy(interp, &__t2401)? { { let _ = v_V4861.clone(); let __t2400 = v_V4862.clone(); let __n = v_W4865.clone(); let __t2399 = { let __t2392 = { let __t2382 = { let __t2376 = v_W4895.clone(); let __t2381 = { let __t2377 = v_W4900.clone(); let __t2380 = { let __t2378 = v_W4903.clone(); let __t2379 = Value::nil(); rt::cons(&__t2378, &__t2379) }; rt::cons(&__t2377, &__t2380) }; rt::cons(&__t2376, &__t2381) }; let __t2391 = { let __t2389 = { let __t2383 = v_W4897.clone(); let __t2388 = { let __t2384 = v_W4900.clone(); let __t2387 = { let __t2385 = v_W4907.clone(); let __t2386 = Value::nil(); rt::cons(&__t2385, &__t2386) }; rt::cons(&__t2384, &__t2387) }; rt::cons(&__t2383, &__t2388) }; let __t2390 = v_W4910.clone(); rt::cons(&__t2389, &__t2390) }; rt::cons(&__t2382, &__t2391) }; let __t2393 = v_V4859.clone(); let __t2394 = Value::bool(true); let __t2395 = v_V4861.clone(); let __t2396 = v_V4862.clone(); let __t2397 = v_W4865.clone(); let __t2398 = v_V4864.clone(); aot_shen_x2e_l_x2d_rules(interp, &[__t2392, __t2393, __t2394, __t2395, __t2396, __t2397, __t2398])? }; if rt::is_truthy(interp, &rt::eq(&__t2399, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t2400])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t2400])?; } } __t2399 } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -5732,89 +5459,89 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu } }; { - let __t2681 = { - let __t2679 = v_W4889.clone(); - let __t2680 = Value::bool(false); - rt::eq(&__t2679, &__t2680) + let __t2420 = { + let __t2418 = v_W4889.clone(); + let __t2419 = Value::bool(false); + rt::eq(&__t2418, &__t2419) }; - if match rt::is_truthy(interp, &__t2681) { + if match rt::is_truthy(interp, &__t2420) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4911 = { - let __t2782 = { - let __t2682 = v_V4862.clone(); + let __t2506 = { + let __t2421 = v_V4862.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t2682], + &[__t2421], )? }; - if rt::is_truthy(interp, &__t2782)? { + if rt::is_truthy(interp, &__t2506)? { { let v_W4912 = { - let __t2683 = v_V4858.clone(); - let __t2684 = v_V4861.clone(); + let __t2422 = v_V4858.clone(); + let __t2423 = v_V4861.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t2683, __t2684], + &[__t2422, __t2423], )? }; { - let __t2781 = { - let __t2685 = + let __t2505 = { + let __t2424 = v_W4912.clone(); - rt::is_cons(&__t2685) + rt::is_cons(&__t2424) }; if rt::is_truthy( - interp, &__t2781, + interp, &__t2505, )? { { let v_W4913 = { - let __t2687 = { - let __t2686 = + let __t2426 = { + let __t2425 = v_W4912 .clone( ); rt::hd( - &__t2686, + &__t2425, )? }; - let __t2688 = + let __t2427 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2687, __t2688])? + rt::apply_direct(interp, "shen.lazyderef", &[__t2426, __t2427])? }; { - let __t2780 = { - let __t2689 = + let __t2504 = { + let __t2428 = v_W4913 .clone( ); rt::is_cons( - &__t2689, + &__t2428, ) }; if rt::is_truthy( interp, - &__t2780, + &__t2504, )? { { let v_W4914 = { - let __t2691 = { - let __t2690 = v_W4913.clone(); - rt::hd(&__t2690)? + let __t2430 = { + let __t2429 = v_W4913.clone(); + rt::hd(&__t2429)? }; - let __t2692 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2691, __t2692])? + let __t2431 = v_V4861.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2430, __t2431])? }; { - let __t2779 = { - let __t2693 = v_W4914.clone(); - rt::is_cons(&__t2693) + let __t2503 = { + let __t2432 = v_W4914.clone(); + rt::is_cons(&__t2432) }; - if rt::is_truthy(interp, &__t2779)? { { let v_W4915 = { let __t2695 = { let __t2694 = v_W4914.clone(); rt::hd(&__t2694)? }; let __t2696 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2695, __t2696])? }; { let __t2778 = { let __t2697 = v_W4915.clone(); let __t2698 = Value::sym(interp.intern("@s")); rt::eq(&__t2697, &__t2698) }; if rt::is_truthy(interp, &__t2778)? { { let v_W4916 = { let __t2700 = { let __t2699 = v_W4914.clone(); rt::tl(&__t2699)? }; let __t2701 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2700, __t2701])? }; { let __t2777 = { let __t2702 = v_W4916.clone(); rt::is_cons(&__t2702) }; if rt::is_truthy(interp, &__t2777)? { { let v_W4917 = { let __t2703 = v_W4916.clone(); rt::hd(&__t2703)? }; { let v_W4918 = { let __t2705 = { let __t2704 = v_W4916.clone(); rt::tl(&__t2704)? }; let __t2706 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2705, __t2706])? }; { let __t2776 = { let __t2707 = v_W4918.clone(); rt::is_cons(&__t2707) }; if rt::is_truthy(interp, &__t2776)? { { let v_W4919 = { let __t2708 = v_W4918.clone(); rt::hd(&__t2708)? }; { let v_W4920 = { let __t2710 = { let __t2709 = v_W4918.clone(); rt::tl(&__t2709)? }; let __t2711 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2710, __t2711])? }; { let __t2775 = { let __t2712 = v_W4920.clone(); let __t2713 = Value::nil(); rt::eq(&__t2712, &__t2713) }; if rt::is_truthy(interp, &__t2775)? { { let v_W4921 = { let __t2715 = { let __t2714 = v_W4913.clone(); rt::tl(&__t2714)? }; let __t2716 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2715, __t2716])? }; { let __t2774 = { let __t2717 = v_W4921.clone(); rt::is_cons(&__t2717) }; if rt::is_truthy(interp, &__t2774)? { { let v_W4922 = { let __t2718 = v_W4921.clone(); rt::hd(&__t2718)? }; { let v_W4923 = { let __t2720 = { let __t2719 = v_W4921.clone(); rt::tl(&__t2719)? }; let __t2721 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2720, __t2721])? }; { let __t2773 = { let __t2722 = v_W4923.clone(); rt::is_cons(&__t2722) }; if rt::is_truthy(interp, &__t2773)? { { let v_W4924 = { let __t2724 = { let __t2723 = v_W4923.clone(); rt::hd(&__t2723)? }; let __t2725 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2724, __t2725])? }; { let __t2772 = { let __t2726 = v_W4924.clone(); let __t2727 = Value::sym(interp.intern("string")); rt::eq(&__t2726, &__t2727) }; if rt::is_truthy(interp, &__t2772)? { { let v_W4925 = { let __t2729 = { let __t2728 = v_W4923.clone(); rt::tl(&__t2728)? }; let __t2730 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2729, __t2730])? }; { let __t2771 = { let __t2731 = v_W4925.clone(); let __t2732 = Value::nil(); rt::eq(&__t2731, &__t2732) }; if rt::is_truthy(interp, &__t2771)? { { let v_W4926 = { let __t2733 = v_W4912.clone(); rt::tl(&__t2733)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2739 = { let __t2736 = { let __t2734 = v_W4922.clone(); let __t2735 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2734, __t2735])? }; let __t2738 = { let __t2737 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2737])? }; rt::eq(&__t2736, &__t2738) }; let __t2740 = v_V4861.clone(); let __t2741 = v_V4862.clone(); let __t2742 = v_W4865.clone(); let __t2770 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4917 = v_W4917.clone(); let v_W4919 = v_W4919.clone(); let v_W4922 = v_W4922.clone(); let v_W4926 = v_W4926.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2743 = v_V4861.clone(); let __t2744 = v_V4862.clone(); let __t2745 = v_W4865.clone(); let __t2769 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4917 = v_W4917.clone(); let v_W4919 = v_W4919.clone(); let v_W4922 = v_W4922.clone(); let v_W4926 = v_W4926.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2762 = { let __t2752 = { let __t2746 = v_W4917.clone(); let __t2751 = { let __t2747 = v_W4922.clone(); let __t2750 = { let __t2748 = Value::sym(interp.intern("string")); let __t2749 = Value::nil(); rt::cons(&__t2748, &__t2749) }; rt::cons(&__t2747, &__t2750) }; rt::cons(&__t2746, &__t2751) }; let __t2761 = { let __t2759 = { let __t2753 = v_W4919.clone(); let __t2758 = { let __t2754 = v_W4922.clone(); let __t2757 = { let __t2755 = Value::sym(interp.intern("string")); let __t2756 = Value::nil(); rt::cons(&__t2755, &__t2756) }; rt::cons(&__t2754, &__t2757) }; rt::cons(&__t2753, &__t2758) }; let __t2760 = v_W4926.clone(); rt::cons(&__t2759, &__t2760) }; rt::cons(&__t2752, &__t2761) }; let __t2763 = v_V4859.clone(); let __t2764 = Value::bool(true); let __t2765 = v_V4861.clone(); let __t2766 = v_V4862.clone(); let __t2767 = v_W4865.clone(); let __t2768 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2762, __t2763, __t2764, __t2765, __t2766, __t2767, __t2768])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4917, v_W4919, v_W4922, v_W4926], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2743, __t2744, __t2745, __t2769])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4917, v_W4919, v_W4922, v_W4926], interp) }; rt::apply_direct(interp, "when", &[__t2739, __t2740, __t2741, __t2742, __t2770])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2503)? { { let v_W4915 = { let __t2434 = { let __t2433 = v_W4914.clone(); rt::hd(&__t2433)? }; let __t2435 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2434, __t2435])? }; { let __t2502 = Value::bool((v_W4915.clone()).as_sym() == Some(interp.intern_static("@s"))); if rt::is_truthy(interp, &__t2502)? { { let v_W4916 = { let __t2437 = { let __t2436 = v_W4914.clone(); rt::tl(&__t2436)? }; let __t2438 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2437, __t2438])? }; { let __t2501 = { let __t2439 = v_W4916.clone(); rt::is_cons(&__t2439) }; if rt::is_truthy(interp, &__t2501)? { { let v_W4917 = { let __t2440 = v_W4916.clone(); rt::hd(&__t2440)? }; { let v_W4918 = { let __t2442 = { let __t2441 = v_W4916.clone(); rt::tl(&__t2441)? }; let __t2443 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2442, __t2443])? }; { let __t2500 = { let __t2444 = v_W4918.clone(); rt::is_cons(&__t2444) }; if rt::is_truthy(interp, &__t2500)? { { let v_W4919 = { let __t2445 = v_W4918.clone(); rt::hd(&__t2445)? }; { let v_W4920 = { let __t2447 = { let __t2446 = v_W4918.clone(); rt::tl(&__t2446)? }; let __t2448 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2447, __t2448])? }; { let __t2499 = Value::bool((v_W4920.clone()).is_nil()); if rt::is_truthy(interp, &__t2499)? { { let v_W4921 = { let __t2450 = { let __t2449 = v_W4913.clone(); rt::tl(&__t2449)? }; let __t2451 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2450, __t2451])? }; { let __t2498 = { let __t2452 = v_W4921.clone(); rt::is_cons(&__t2452) }; if rt::is_truthy(interp, &__t2498)? { { let v_W4922 = { let __t2453 = v_W4921.clone(); rt::hd(&__t2453)? }; { let v_W4923 = { let __t2455 = { let __t2454 = v_W4921.clone(); rt::tl(&__t2454)? }; let __t2456 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2455, __t2456])? }; { let __t2497 = { let __t2457 = v_W4923.clone(); rt::is_cons(&__t2457) }; if rt::is_truthy(interp, &__t2497)? { { let v_W4924 = { let __t2459 = { let __t2458 = v_W4923.clone(); rt::hd(&__t2458)? }; let __t2460 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2459, __t2460])? }; { let __t2496 = Value::bool((v_W4924.clone()).as_sym() == Some(interp.intern_static("string"))); if rt::is_truthy(interp, &__t2496)? { { let v_W4925 = { let __t2462 = { let __t2461 = v_W4923.clone(); rt::tl(&__t2461)? }; let __t2463 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2462, __t2463])? }; { let __t2495 = Value::bool((v_W4925.clone()).is_nil()); if rt::is_truthy(interp, &__t2495)? { { let v_W4926 = { let __t2464 = v_W4912.clone(); rt::tl(&__t2464)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2494 = { let __t2467 = { let __t2465 = v_W4922.clone(); let __t2466 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2465, __t2466])? }; let __t2468 = Value::sym(interp.intern_static(":")); rt::eq(&__t2467, &__t2468) }; let _ = v_V4861.clone(); let _ = v_V4862.clone(); let _ = v_W4865.clone(); if rt::is_truthy(interp, &__t2494)? { { let _ = v_V4861.clone(); let __t2493 = v_V4862.clone(); let __n = v_W4865.clone(); let __t2492 = { let __t2485 = { let __t2475 = { let __t2469 = v_W4917.clone(); let __t2474 = { let __t2470 = v_W4922.clone(); let __t2473 = { let __t2471 = Value::sym(interp.intern_static("string")); let __t2472 = Value::nil(); rt::cons(&__t2471, &__t2472) }; rt::cons(&__t2470, &__t2473) }; rt::cons(&__t2469, &__t2474) }; let __t2484 = { let __t2482 = { let __t2476 = v_W4919.clone(); let __t2481 = { let __t2477 = v_W4922.clone(); let __t2480 = { let __t2478 = Value::sym(interp.intern_static("string")); let __t2479 = Value::nil(); rt::cons(&__t2478, &__t2479) }; rt::cons(&__t2477, &__t2480) }; rt::cons(&__t2476, &__t2481) }; let __t2483 = v_W4926.clone(); rt::cons(&__t2482, &__t2483) }; rt::cons(&__t2475, &__t2484) }; let __t2486 = v_V4859.clone(); let __t2487 = Value::bool(true); let __t2488 = v_V4861.clone(); let __t2489 = v_V4862.clone(); let __t2490 = v_W4865.clone(); let __t2491 = v_V4864.clone(); aot_shen_x2e_l_x2d_rules(interp, &[__t2485, __t2486, __t2487, __t2488, __t2489, __t2490, __t2491])? }; if rt::is_truthy(interp, &rt::eq(&__t2492, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t2493])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t2493])?; } } __t2492 } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -5834,66 +5561,66 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu } }; { - let __t2785 = { - let __t2783 = v_W4911.clone(); - let __t2784 = Value::bool(false); - rt::eq(&__t2783, &__t2784) + let __t2509 = { + let __t2507 = v_W4911.clone(); + let __t2508 = Value::bool(false); + rt::eq(&__t2507, &__t2508) }; - if match rt::is_truthy(interp, &__t2785) { + if match rt::is_truthy(interp, &__t2509) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4927 = { - let __t2907 = { - let __t2786 = + let __t2614 = { + let __t2510 = v_V4862.clone(); rt::apply_direct( interp, "shen.unlocked?", - &[__t2786], + &[__t2510], )? }; if rt::is_truthy( - interp, &__t2907, + interp, &__t2614, )? { { let v_W4928 = { - let __t2787 = + let __t2511 = v_V4858.clone(); - let __t2788 = + let __t2512 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2787, __t2788])? + rt::apply_direct(interp, "shen.lazyderef", &[__t2511, __t2512])? }; { - let __t2906 = { - let __t2789 = + let __t2613 = { + let __t2513 = v_W4928 .clone( ); rt::is_cons( - &__t2789, + &__t2513, ) }; if rt::is_truthy( interp, - &__t2906, + &__t2613, )? { { let v_W4929 = { - let __t2791 = { - let __t2790 = v_W4928.clone(); - rt::hd(&__t2790)? + let __t2515 = { + let __t2514 = v_W4928.clone(); + rt::hd(&__t2514)? }; - let __t2792 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2791, __t2792])? + let __t2516 = v_V4861.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2515, __t2516])? }; { - let __t2905 = { - let __t2793 = v_W4929.clone(); - rt::is_cons(&__t2793) + let __t2612 = { + let __t2517 = v_W4929.clone(); + rt::is_cons(&__t2517) }; - if rt::is_truthy(interp, &__t2905)? { { let v_W4930 = { let __t2795 = { let __t2794 = v_W4929.clone(); rt::hd(&__t2794)? }; let __t2796 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2795, __t2796])? }; { let __t2904 = { let __t2797 = v_W4930.clone(); rt::is_cons(&__t2797) }; if rt::is_truthy(interp, &__t2904)? { { let v_W4931 = { let __t2799 = { let __t2798 = v_W4930.clone(); rt::hd(&__t2798)? }; let __t2800 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2799, __t2800])? }; { let __t2903 = { let __t2801 = v_W4931.clone(); let __t2802 = Value::sym(interp.intern("@v")); rt::eq(&__t2801, &__t2802) }; if rt::is_truthy(interp, &__t2903)? { { let v_W4932 = { let __t2804 = { let __t2803 = v_W4930.clone(); rt::tl(&__t2803)? }; let __t2805 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2804, __t2805])? }; { let __t2902 = { let __t2806 = v_W4932.clone(); rt::is_cons(&__t2806) }; if rt::is_truthy(interp, &__t2902)? { { let v_W4933 = { let __t2807 = v_W4932.clone(); rt::hd(&__t2807)? }; { let v_W4934 = { let __t2809 = { let __t2808 = v_W4932.clone(); rt::tl(&__t2808)? }; let __t2810 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2809, __t2810])? }; { let __t2901 = { let __t2811 = v_W4934.clone(); rt::is_cons(&__t2811) }; if rt::is_truthy(interp, &__t2901)? { { let v_W4935 = { let __t2812 = v_W4934.clone(); rt::hd(&__t2812)? }; { let v_W4936 = { let __t2814 = { let __t2813 = v_W4934.clone(); rt::tl(&__t2813)? }; let __t2815 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2814, __t2815])? }; { let __t2900 = { let __t2816 = v_W4936.clone(); let __t2817 = Value::nil(); rt::eq(&__t2816, &__t2817) }; if rt::is_truthy(interp, &__t2900)? { { let v_W4937 = { let __t2819 = { let __t2818 = v_W4929.clone(); rt::tl(&__t2818)? }; let __t2820 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2819, __t2820])? }; { let __t2899 = { let __t2821 = v_W4937.clone(); rt::is_cons(&__t2821) }; if rt::is_truthy(interp, &__t2899)? { { let v_W4938 = { let __t2822 = v_W4937.clone(); rt::hd(&__t2822)? }; { let v_W4939 = { let __t2824 = { let __t2823 = v_W4937.clone(); rt::tl(&__t2823)? }; let __t2825 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2824, __t2825])? }; { let __t2898 = { let __t2826 = v_W4939.clone(); rt::is_cons(&__t2826) }; if rt::is_truthy(interp, &__t2898)? { { let v_W4940 = { let __t2828 = { let __t2827 = v_W4939.clone(); rt::hd(&__t2827)? }; let __t2829 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2828, __t2829])? }; { let __t2897 = { let __t2830 = v_W4940.clone(); rt::is_cons(&__t2830) }; if rt::is_truthy(interp, &__t2897)? { { let v_W4941 = { let __t2832 = { let __t2831 = v_W4940.clone(); rt::hd(&__t2831)? }; let __t2833 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2832, __t2833])? }; { let __t2896 = { let __t2834 = v_W4941.clone(); let __t2835 = Value::sym(interp.intern("vector")); rt::eq(&__t2834, &__t2835) }; if rt::is_truthy(interp, &__t2896)? { { let v_W4942 = { let __t2837 = { let __t2836 = v_W4940.clone(); rt::tl(&__t2836)? }; let __t2838 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2837, __t2838])? }; { let __t2895 = { let __t2839 = v_W4942.clone(); rt::is_cons(&__t2839) }; if rt::is_truthy(interp, &__t2895)? { { let v_W4943 = { let __t2840 = v_W4942.clone(); rt::hd(&__t2840)? }; { let v_W4944 = { let __t2842 = { let __t2841 = v_W4942.clone(); rt::tl(&__t2841)? }; let __t2843 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2842, __t2843])? }; { let __t2894 = { let __t2844 = v_W4944.clone(); let __t2845 = Value::nil(); rt::eq(&__t2844, &__t2845) }; if rt::is_truthy(interp, &__t2894)? { { let v_W4945 = { let __t2847 = { let __t2846 = v_W4939.clone(); rt::tl(&__t2846)? }; let __t2848 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2847, __t2848])? }; { let __t2893 = { let __t2849 = v_W4945.clone(); let __t2850 = Value::nil(); rt::eq(&__t2849, &__t2850) }; if rt::is_truthy(interp, &__t2893)? { { let v_W4946 = { let __t2851 = v_W4928.clone(); rt::tl(&__t2851)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2857 = { let __t2854 = { let __t2852 = v_W4938.clone(); let __t2853 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2852, __t2853])? }; let __t2856 = { let __t2855 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t2855])? }; rt::eq(&__t2854, &__t2856) }; let __t2858 = v_V4861.clone(); let __t2859 = v_V4862.clone(); let __t2860 = v_W4865.clone(); let __t2892 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4933 = v_W4933.clone(); let v_W4935 = v_W4935.clone(); let v_W4938 = v_W4938.clone(); let v_W4943 = v_W4943.clone(); let v_W4946 = v_W4946.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2861 = v_V4861.clone(); let __t2862 = v_V4862.clone(); let __t2863 = v_W4865.clone(); let __t2891 = { let v_V4859 = v_V4859.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4933 = v_W4933.clone(); let v_W4935 = v_W4935.clone(); let v_W4938 = v_W4938.clone(); let v_W4943 = v_W4943.clone(); let v_W4946 = v_W4946.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2884 = { let __t2870 = { let __t2864 = v_W4933.clone(); let __t2869 = { let __t2865 = v_W4938.clone(); let __t2868 = { let __t2866 = v_W4943.clone(); let __t2867 = Value::nil(); rt::cons(&__t2866, &__t2867) }; rt::cons(&__t2865, &__t2868) }; rt::cons(&__t2864, &__t2869) }; let __t2883 = { let __t2881 = { let __t2871 = v_W4935.clone(); let __t2880 = { let __t2872 = v_W4938.clone(); let __t2879 = { let __t2877 = { let __t2873 = Value::sym(interp.intern("vector")); let __t2876 = { let __t2874 = v_W4943.clone(); let __t2875 = Value::nil(); rt::cons(&__t2874, &__t2875) }; rt::cons(&__t2873, &__t2876) }; let __t2878 = Value::nil(); rt::cons(&__t2877, &__t2878) }; rt::cons(&__t2872, &__t2879) }; rt::cons(&__t2871, &__t2880) }; let __t2882 = v_W4946.clone(); rt::cons(&__t2881, &__t2882) }; rt::cons(&__t2870, &__t2883) }; let __t2885 = v_V4859.clone(); let __t2886 = Value::bool(true); let __t2887 = v_V4861.clone(); let __t2888 = v_V4862.clone(); let __t2889 = v_W4865.clone(); let __t2890 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2884, __t2885, __t2886, __t2887, __t2888, __t2889, __t2890])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4933, v_W4935, v_W4938, v_W4943, v_W4946], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2861, __t2862, __t2863, __t2891])? }), vec![v_V4859, v_V4861, v_V4862, v_V4864, v_W4865, v_W4933, v_W4935, v_W4938, v_W4943, v_W4946], interp) }; rt::apply_direct(interp, "when", &[__t2857, __t2858, __t2859, __t2860, __t2892])? } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2612)? { { let v_W4930 = { let __t2519 = { let __t2518 = v_W4929.clone(); rt::hd(&__t2518)? }; let __t2520 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2519, __t2520])? }; { let __t2611 = { let __t2521 = v_W4930.clone(); rt::is_cons(&__t2521) }; if rt::is_truthy(interp, &__t2611)? { { let v_W4931 = { let __t2523 = { let __t2522 = v_W4930.clone(); rt::hd(&__t2522)? }; let __t2524 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2523, __t2524])? }; { let __t2610 = Value::bool((v_W4931.clone()).as_sym() == Some(interp.intern_static("@v"))); if rt::is_truthy(interp, &__t2610)? { { let v_W4932 = { let __t2526 = { let __t2525 = v_W4930.clone(); rt::tl(&__t2525)? }; let __t2527 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2526, __t2527])? }; { let __t2609 = { let __t2528 = v_W4932.clone(); rt::is_cons(&__t2528) }; if rt::is_truthy(interp, &__t2609)? { { let v_W4933 = { let __t2529 = v_W4932.clone(); rt::hd(&__t2529)? }; { let v_W4934 = { let __t2531 = { let __t2530 = v_W4932.clone(); rt::tl(&__t2530)? }; let __t2532 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2531, __t2532])? }; { let __t2608 = { let __t2533 = v_W4934.clone(); rt::is_cons(&__t2533) }; if rt::is_truthy(interp, &__t2608)? { { let v_W4935 = { let __t2534 = v_W4934.clone(); rt::hd(&__t2534)? }; { let v_W4936 = { let __t2536 = { let __t2535 = v_W4934.clone(); rt::tl(&__t2535)? }; let __t2537 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2536, __t2537])? }; { let __t2607 = Value::bool((v_W4936.clone()).is_nil()); if rt::is_truthy(interp, &__t2607)? { { let v_W4937 = { let __t2539 = { let __t2538 = v_W4929.clone(); rt::tl(&__t2538)? }; let __t2540 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2539, __t2540])? }; { let __t2606 = { let __t2541 = v_W4937.clone(); rt::is_cons(&__t2541) }; if rt::is_truthy(interp, &__t2606)? { { let v_W4938 = { let __t2542 = v_W4937.clone(); rt::hd(&__t2542)? }; { let v_W4939 = { let __t2544 = { let __t2543 = v_W4937.clone(); rt::tl(&__t2543)? }; let __t2545 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2544, __t2545])? }; { let __t2605 = { let __t2546 = v_W4939.clone(); rt::is_cons(&__t2546) }; if rt::is_truthy(interp, &__t2605)? { { let v_W4940 = { let __t2548 = { let __t2547 = v_W4939.clone(); rt::hd(&__t2547)? }; let __t2549 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2548, __t2549])? }; { let __t2604 = { let __t2550 = v_W4940.clone(); rt::is_cons(&__t2550) }; if rt::is_truthy(interp, &__t2604)? { { let v_W4941 = { let __t2552 = { let __t2551 = v_W4940.clone(); rt::hd(&__t2551)? }; let __t2553 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2552, __t2553])? }; { let __t2603 = Value::bool((v_W4941.clone()).as_sym() == Some(interp.intern_static("vector"))); if rt::is_truthy(interp, &__t2603)? { { let v_W4942 = { let __t2555 = { let __t2554 = v_W4940.clone(); rt::tl(&__t2554)? }; let __t2556 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2555, __t2556])? }; { let __t2602 = { let __t2557 = v_W4942.clone(); rt::is_cons(&__t2557) }; if rt::is_truthy(interp, &__t2602)? { { let v_W4943 = { let __t2558 = v_W4942.clone(); rt::hd(&__t2558)? }; { let v_W4944 = { let __t2560 = { let __t2559 = v_W4942.clone(); rt::tl(&__t2559)? }; let __t2561 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2560, __t2561])? }; { let __t2601 = Value::bool((v_W4944.clone()).is_nil()); if rt::is_truthy(interp, &__t2601)? { { let v_W4945 = { let __t2563 = { let __t2562 = v_W4939.clone(); rt::tl(&__t2562)? }; let __t2564 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2563, __t2564])? }; { let __t2600 = Value::bool((v_W4945.clone()).is_nil()); if rt::is_truthy(interp, &__t2600)? { { let v_W4946 = { let __t2565 = v_W4928.clone(); rt::tl(&__t2565)? }; { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2599 = { let __t2568 = { let __t2566 = v_W4938.clone(); let __t2567 = v_V4861.clone(); rt::apply_direct(interp, "shen.deref", &[__t2566, __t2567])? }; let __t2569 = Value::sym(interp.intern_static(":")); rt::eq(&__t2568, &__t2569) }; let _ = v_V4861.clone(); let _ = v_V4862.clone(); let _ = v_W4865.clone(); if rt::is_truthy(interp, &__t2599)? { { let _ = v_V4861.clone(); let __t2598 = v_V4862.clone(); let __n = v_W4865.clone(); let __t2597 = { let __t2590 = { let __t2576 = { let __t2570 = v_W4933.clone(); let __t2575 = { let __t2571 = v_W4938.clone(); let __t2574 = { let __t2572 = v_W4943.clone(); let __t2573 = Value::nil(); rt::cons(&__t2572, &__t2573) }; rt::cons(&__t2571, &__t2574) }; rt::cons(&__t2570, &__t2575) }; let __t2589 = { let __t2587 = { let __t2577 = v_W4935.clone(); let __t2586 = { let __t2578 = v_W4938.clone(); let __t2585 = { let __t2583 = { let __t2579 = Value::sym(interp.intern_static("vector")); let __t2582 = { let __t2580 = v_W4943.clone(); let __t2581 = Value::nil(); rt::cons(&__t2580, &__t2581) }; rt::cons(&__t2579, &__t2582) }; let __t2584 = Value::nil(); rt::cons(&__t2583, &__t2584) }; rt::cons(&__t2578, &__t2585) }; rt::cons(&__t2577, &__t2586) }; let __t2588 = v_W4946.clone(); rt::cons(&__t2587, &__t2588) }; rt::cons(&__t2576, &__t2589) }; let __t2591 = v_V4859.clone(); let __t2592 = Value::bool(true); let __t2593 = v_V4861.clone(); let __t2594 = v_V4862.clone(); let __t2595 = v_W4865.clone(); let __t2596 = v_V4864.clone(); aot_shen_x2e_l_x2d_rules(interp, &[__t2590, __t2591, __t2592, __t2593, __t2594, __t2595, __t2596])? }; if rt::is_truthy(interp, &rt::eq(&__t2597, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t2598])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t2598])?; } } __t2597 } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { Value::bool(false) } } } } else { @@ -5908,44 +5635,44 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu } }; { - let __t2910 = { - let __t2908 = + let __t2617 = { + let __t2615 = v_W4927.clone(); - let __t2909 = + let __t2616 = Value::bool(false); - rt::eq(&__t2908, &__t2909) + rt::eq(&__t2615, &__t2616) }; if match rt::is_truthy( - interp, &__t2910, + interp, &__t2617, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W4947 = { - let __t2957 = { - let __t2911 = + let __t2662 = { + let __t2618 = v_V4862 .clone( ); - rt::apply_direct(interp, "shen.unlocked?", &[__t2911])? + rt::apply_direct(interp, "shen.unlocked?", &[__t2618])? }; if rt::is_truthy( interp, - &__t2957, + &__t2662, )? { { let v_W4948 = { - let __t2912 = v_V4858.clone(); - let __t2913 = v_V4861.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t2912, __t2913])? + let __t2619 = v_V4858.clone(); + let __t2620 = v_V4861.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t2619, __t2620])? }; { - let __t2956 = { - let __t2914 = v_W4948.clone(); - rt::is_cons(&__t2914) + let __t2661 = { + let __t2621 = v_W4948.clone(); + rt::is_cons(&__t2621) }; - if rt::is_truthy(interp, &__t2956)? { { let v_W4949 = { let __t2915 = v_W4948.clone(); rt::hd(&__t2915)? }; { let v_W4950 = { let __t2916 = v_W4948.clone(); rt::tl(&__t2916)? }; { let v_W4951 = { let __t2917 = v_V4859.clone(); let __t2918 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2917, __t2918])? }; { let v_W4952 = { let v_V4860 = v_V4860.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4949 = v_W4949.clone(); let v_W4950 = v_W4950.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4953 = args[0].clone(); Ok({ let v_V4860 = v_V4860.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4949 = v_W4949.clone(); let v_W4950 = v_W4950.clone(); let v_Z4953 = v_Z4953.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4954 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2919 = v_Z4953.clone(); let __t2920 = v_W4949.clone(); let __t2921 = v_V4861.clone(); let __t2922 = v_V4862.clone(); let __t2923 = v_W4865.clone(); let __t2931 = { let v_V4860 = v_V4860.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4950 = v_W4950.clone(); let v_Z4954 = v_Z4954.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2924 = v_W4950.clone(); let __t2925 = v_Z4954.clone(); let __t2926 = v_V4860.clone(); let __t2927 = v_V4861.clone(); let __t2928 = v_V4862.clone(); let __t2929 = v_W4865.clone(); let __t2930 = v_V4864.clone(); rt::apply_direct(interp, "shen.l-rules", &[__t2924, __t2925, __t2926, __t2927, __t2928, __t2929, __t2930])? }), vec![v_V4860, v_V4861, v_V4862, v_V4864, v_W4865, v_W4950, v_Z4954], interp) }; rt::apply_direct(interp, "bind", &[__t2919, __t2920, __t2921, __t2922, __t2923, __t2931])? } }) }, vec![v_V4860, v_V4861, v_V4862, v_V4864, v_W4865, v_W4949, v_W4950, v_Z4953], interp) }) }, vec![v_V4860, v_V4861, v_V4862, v_V4864, v_W4865, v_W4949, v_W4950], interp) }; { let __t2955 = { let __t2932 = v_W4951.clone(); rt::is_cons(&__t2932) }; if rt::is_truthy(interp, &__t2955)? { { let v_W4955 = { let __t2933 = v_W4951.clone(); rt::hd(&__t2933)? }; { let v_W4956 = { let __t2934 = v_W4951.clone(); rt::tl(&__t2934)? }; { let __t2936 = { let __t2935 = v_W4955.clone(); rt::apply_value(interp, v_W4952.clone(), &[__t2935])? }; let __t2937 = v_W4956.clone(); rt::apply_value(interp, __t2936, &[__t2937])? } } } } else { { let __t2954 = { let __t2938 = v_W4951.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2938])? }; if rt::is_truthy(interp, &__t2954)? { { let v_W4957 = { let __t2939 = v_V4861.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2939])? }; { let __t2940 = v_V4861.clone(); let __t2953 = { let v_W4958 = { let __t2941 = v_V4861.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2941])? }; { let __t2942 = v_V4861.clone(); let __t2952 = { let __t2943 = v_W4951.clone(); let __t2946 = { let __t2944 = v_W4957.clone(); let __t2945 = v_W4958.clone(); rt::cons(&__t2944, &__t2945) }; let __t2947 = v_V4861.clone(); let __t2951 = { let v_W4952 = v_W4952.clone(); let v_W4957 = v_W4957.clone(); let v_W4958 = v_W4958.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2949 = { let __t2948 = v_W4957.clone(); rt::apply_value(interp, v_W4952.clone(), &[__t2948])? }; let __t2950 = v_W4958.clone(); rt::apply_value(interp, __t2949, &[__t2950])? }), vec![v_W4952, v_W4957, v_W4958], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t2943, __t2946, __t2947, __t2951])? }; rt::apply_direct(interp, "shen.gc", &[__t2942, __t2952])? } }; rt::apply_direct(interp, "shen.gc", &[__t2940, __t2953])? } } } else { Value::bool(false) } } } } } } } } } else { Value::bool(false) } + if rt::is_truthy(interp, &__t2661)? { { let v_W4949 = { let __t2622 = v_W4948.clone(); rt::hd(&__t2622)? }; { let v_W4950 = { let __t2623 = v_W4948.clone(); rt::tl(&__t2623)? }; { let v_W4951 = { let __t2624 = v_V4859.clone(); let __t2625 = v_V4861.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2624, __t2625])? }; { let v_W4952 = { let v_V4860 = v_V4860.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4949 = v_W4949.clone(); let v_W4950 = v_W4950.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4953 = args[0].clone(); Ok({ let v_V4860 = v_V4860.clone(); let v_V4861 = v_V4861.clone(); let v_V4862 = v_V4862.clone(); let v_V4864 = v_V4864.clone(); let v_W4865 = v_W4865.clone(); let v_W4949 = v_W4949.clone(); let v_W4950 = v_W4950.clone(); let v_Z4953 = v_Z4953.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z4954 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t2633 = v_Z4953.clone(); let __t2634 = v_W4949.clone(); let __t2635 = v_V4861.clone(); let _ = v_V4862.clone(); let _ = v_W4865.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t2633, __t2634, __t2635])?; let __t2636 = { let __t2626 = v_W4950.clone(); let __t2627 = v_Z4954.clone(); let __t2628 = v_V4860.clone(); let __t2629 = v_V4861.clone(); let __t2630 = v_V4862.clone(); let __t2631 = v_W4865.clone(); let __t2632 = v_V4864.clone(); aot_shen_x2e_l_x2d_rules(interp, &[__t2626, __t2627, __t2628, __t2629, __t2630, __t2631, __t2632])? }; if rt::is_truthy(interp, &rt::eq(&__t2636, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t2633, __t2635, __t2636])? } else { __t2636 } } }) }, vec![v_V4860, v_V4861, v_V4862, v_V4864, v_W4865, v_W4949, v_W4950, v_Z4953], interp) }) }, vec![v_V4860, v_V4861, v_V4862, v_V4864, v_W4865, v_W4949, v_W4950], interp) }; { let __t2660 = { let __t2637 = v_W4951.clone(); rt::is_cons(&__t2637) }; if rt::is_truthy(interp, &__t2660)? { { let v_W4955 = { let __t2638 = v_W4951.clone(); rt::hd(&__t2638)? }; { let v_W4956 = { let __t2639 = v_W4951.clone(); rt::tl(&__t2639)? }; { let __t2641 = { let __t2640 = v_W4955.clone(); rt::apply_value(interp, v_W4952.clone(), &[__t2640])? }; let __t2642 = v_W4956.clone(); rt::apply_value(interp, __t2641, &[__t2642])? } } } } else { { let __t2659 = { let __t2643 = v_W4951.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t2643])? }; if rt::is_truthy(interp, &__t2659)? { { let v_W4957 = { let __t2644 = v_V4861.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2644])? }; { let __t2645 = v_V4861.clone(); let __t2658 = { let v_W4958 = { let __t2646 = v_V4861.clone(); rt::apply_direct(interp, "shen.newpv", &[__t2646])? }; { let __t2647 = v_V4861.clone(); let __t2657 = { let __t2653 = v_W4951.clone(); let __t2654 = { let __t2648 = v_W4957.clone(); let __t2649 = v_W4958.clone(); rt::cons(&__t2648, &__t2649) }; let __t2655 = v_V4861.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t2653, __t2654, __t2655])?; let __t2656 = { let __t2651 = { let __t2650 = v_W4957.clone(); rt::apply_value(interp, v_W4952.clone(), &[__t2650])? }; let __t2652 = v_W4958.clone(); rt::apply_value(interp, __t2651, &[__t2652])? }; if rt::is_truthy(interp, &rt::eq(&__t2656, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t2653, __t2655, __t2656])? } else { __t2656 } }; rt::apply_direct(interp, "shen.gc", &[__t2647, __t2657])? } }; rt::apply_direct(interp, "shen.gc", &[__t2645, __t2658])? } } } else { Value::bool(false) } } } } } } } } } else { Value::bool(false) } } } } else { @@ -5955,21 +5682,21 @@ pub fn aot_shen_x2e_l_x2d_rules(interp: &mut Interp, args: &[Value]) -> ShenResu } }; { - let __t2960 = { - let __t2958 = + let __t2665 = { + let __t2663 = v_W4947 .clone( ); - let __t2959 = + let __t2664 = Value::bool( false, ); rt::eq( - &__t2958, - &__t2959, + &__t2663, + &__t2664, ) }; - if match rt::is_truthy(interp, &__t2960) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2961 = v_V4862.clone(); let __t2962 = v_W4865.clone(); rt::apply_direct(interp, "shen.unlock", &[__t2961, __t2962])? }); } else { break Ok(v_W4947.clone()); } + if match rt::is_truthy(interp, &__t2665) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t2666 = v_V4862.clone(); let __t2667 = v_W4865.clone(); rt::apply_direct(interp, "shen.unlock", &[__t2666, __t2667])? }); } else { break Ok(v_W4947.clone()); } } } } else { @@ -6030,130 +5757,129 @@ pub fn aot_shen_x2e_t_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResult", 0, move |interp, _args| Ok({ let __t2991 = v_W4972.clone(); let __t2995 = { let __t2994 = { let __t2992 = v_W4970.clone(); let __t2993 = v_W4971.clone(); rt::cons(&__t2992, &__t2993) }; rt::apply_direct(interp, "shen.sigxrules", &[__t2994])? }; let __t2996 = v_V4961.clone(); let __t2997 = v_V4962.clone(); let __t2998 = v_W4965.clone(); let __t3040 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4972 = v_W4972.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2999 = v_W4975.clone(); let __t3003 = { let __t3002 = { let __t3000 = v_W4972.clone(); let __t3001 = v_V4961.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3000, __t3001])? }; rt::apply_direct(interp, "fst", &[__t3002])? }; let __t3004 = v_V4961.clone(); let __t3005 = v_V4962.clone(); let __t3006 = v_W4965.clone(); let __t3039 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4972 = v_W4972.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3007 = v_W4973.clone(); let __t3011 = { let __t3010 = { let __t3008 = v_W4972.clone(); let __t3009 = v_V4961.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3008, __t3009])? }; rt::apply_direct(interp, "snd", &[__t3010])? }; let __t3012 = v_V4961.clone(); let __t3013 = v_V4962.clone(); let __t3014 = v_W4965.clone(); let __t3038 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3015 = v_W4974.clone(); let __t3019 = { let __t3018 = { let __t3016 = v_W4975.clone(); let __t3017 = v_V4961.clone(); rt::apply_direct(interp, "shen.deref", &[__t3016, __t3017])? }; rt::apply_direct(interp, "shen.freshen-sig", &[__t3018])? }; let __t3020 = v_V4961.clone(); let __t3021 = v_V4962.clone(); let __t3022 = v_W4965.clone(); let __t3037 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4970 = v_W4970.clone(); let v_W4973 = v_W4973.clone(); let v_W4974 = v_W4974.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3023 = v_W4970.clone(); let __t3024 = v_W4973.clone(); let __t3025 = v_W4974.clone(); let __t3026 = Value::int(1i64); let __t3027 = v_V4961.clone(); let __t3028 = v_V4962.clone(); let __t3029 = v_W4965.clone(); let __t3036 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3030 = v_W4975.clone(); let __t3031 = v_V4960.clone(); let __t3032 = v_V4961.clone(); let __t3033 = v_V4962.clone(); let __t3034 = v_W4965.clone(); let __t3035 = v_V4964.clone(); rt::apply_direct(interp, "is", &[__t3030, __t3031, __t3032, __t3033, __t3034, __t3035])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4975], interp) }; rt::apply_direct(interp, "shen.t*-rules", &[__t3023, __t3024, __t3025, __t3026, __t3027, __t3028, __t3029, __t3036])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "bind", &[__t3015, __t3019, __t3020, __t3021, __t3022, __t3037])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "bind", &[__t3007, __t3011, __t3012, __t3013, __t3014, __t3038])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4972, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "bind", &[__t2999, __t3003, __t3004, __t3005, __t3006, __t3039])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4972, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "bind", &[__t2991, __t2995, __t2996, __t2997, __t2998, __t3040])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4970, v_W4971, v_W4972, v_W4973, v_W4974, v_W4975], interp) }; rt::apply_direct(interp, "shen.cut", &[__t2988, __t2989, __t2990, __t3041])? } }; - rt::apply_direct(interp, "shen.gc", &[__t2987, __t3042])? + let __t2690 = v_V4961.clone(); + let __t2735 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let _ = v_V4961.clone(); let __t2734 = v_V4962.clone(); let __n = v_W4965.clone(); let __t2733 = { let __t2729 = v_W4972.clone(); let __t2730 = { let __t2693 = { let __t2691 = v_W4970.clone(); let __t2692 = v_W4971.clone(); rt::cons(&__t2691, &__t2692) }; aot_shen_x2e_sigxrules(interp, &[__t2693])? }; let __t2731 = v_V4961.clone(); let _ = v_V4962.clone(); let _ = v_W4965.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t2729, __t2730, __t2731])?; let __t2732 = { let __t2725 = v_W4975.clone(); let __t2726 = { let __t2696 = { let __t2694 = v_W4972.clone(); let __t2695 = v_V4961.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2694, __t2695])? }; rt::apply_direct(interp, "fst", &[__t2696])? }; let __t2727 = v_V4961.clone(); let _ = v_V4962.clone(); let _ = v_W4965.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t2725, __t2726, __t2727])?; let __t2728 = { let __t2721 = v_W4973.clone(); let __t2722 = { let __t2699 = { let __t2697 = v_W4972.clone(); let __t2698 = v_V4961.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t2697, __t2698])? }; rt::apply_direct(interp, "snd", &[__t2699])? }; let __t2723 = v_V4961.clone(); let _ = v_V4962.clone(); let _ = v_W4965.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t2721, __t2722, __t2723])?; let __t2724 = { let __t2717 = v_W4974.clone(); let __t2718 = { let __t2702 = { let __t2700 = v_W4975.clone(); let __t2701 = v_V4961.clone(); rt::apply_direct(interp, "shen.deref", &[__t2700, __t2701])? }; aot_shen_x2e_freshen_x2d_sig(interp, &[__t2702])? }; let __t2719 = v_V4961.clone(); let _ = v_V4962.clone(); let _ = v_W4965.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t2717, __t2718, __t2719])?; let __t2720 = { let __t2703 = v_W4970.clone(); let __t2704 = v_W4973.clone(); let __t2705 = v_W4974.clone(); let __t2706 = Value::int(1i64); let __t2707 = v_V4961.clone(); let __t2708 = v_V4962.clone(); let __t2709 = v_W4965.clone(); let __t2716 = { let v_V4960 = v_V4960.clone(); let v_V4961 = v_V4961.clone(); let v_V4962 = v_V4962.clone(); let v_V4964 = v_V4964.clone(); let v_W4965 = v_W4965.clone(); let v_W4975 = v_W4975.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t2710 = v_W4975.clone(); let __t2711 = v_V4960.clone(); let __t2712 = v_V4961.clone(); let __t2713 = v_V4962.clone(); let __t2714 = v_W4965.clone(); let __t2715 = v_V4964.clone(); rt::apply_direct(interp, "is", &[__t2710, __t2711, __t2712, __t2713, __t2714, __t2715])? }), vec![v_V4960, v_V4961, v_V4962, v_V4964, v_W4965, v_W4975], interp) }; aot_shen_x2e_t_x2a__x2d_rules(interp, &[__t2703, __t2704, __t2705, __t2706, __t2707, __t2708, __t2709, __t2716])? }; if rt::is_truthy(interp, &rt::eq(&__t2720, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t2717, __t2719, __t2720])? } else { __t2720 } }; if rt::is_truthy(interp, &rt::eq(&__t2724, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t2721, __t2723, __t2724])? } else { __t2724 } }; if rt::is_truthy(interp, &rt::eq(&__t2728, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t2725, __t2727, __t2728])? } else { __t2728 } }; if rt::is_truthy(interp, &rt::eq(&__t2732, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t2729, __t2731, __t2732])? } else { __t2732 } }; if rt::is_truthy(interp, &rt::eq(&__t2733, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t2734])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t2734])?; } } __t2733 } }; + rt::apply_direct(interp, "shen.gc", &[__t2690, __t2735])? } }; - rt::apply_direct(interp, "shen.gc", &[__t2985, __t3043])? + rt::apply_direct(interp, "shen.gc", &[__t2688, __t2736])? } }; - rt::apply_direct(interp, "shen.gc", &[__t2983, __t3044])? + rt::apply_direct(interp, "shen.gc", &[__t2686, __t2737])? } }; rt::apply_direct( interp, "shen.gc", - &[__t2981, __t3045], + &[__t2684, __t2738], )? } } @@ -6179,19 +5905,19 @@ pub fn aot_shen_x2e_t_x2a_(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t3053 = v_V4962.clone(); - let __t3054 = v_W4965.clone(); - rt::apply_direct(interp, "shen.unlock", &[__t3053, __t3054])? + let __t2746 = v_V4962.clone(); + let __t2747 = v_W4965.clone(); + rt::apply_direct(interp, "shen.unlock", &[__t2746, __t2747])? }); } else { break Ok(v_W4966.clone()); @@ -6220,23 +5946,23 @@ pub fn aot_shen_x2e_sigxrules(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { break Ok({ - let __t3056 = { + let __t2749 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z4977 = args[0].clone(); Ok({ - let __t3055 = v_Z4977.clone(); - rt::apply_direct(interp, "shen.", &[__t3055])? + let __t2748 = v_Z4977.clone(); + aot_shen_x2e__x3c_sig_x2a_rules_x3e_(interp, &[__t2748])? }) }, Vec::new(), interp, ) }; - let __t3057 = v_V4976.clone(); - rt::apply_direct(interp, "compile", &[__t3056, __t3057])? + let __t2750 = v_V4976.clone(); + rt::apply_direct(interp, "compile", &[__t2749, __t2750])? }); } } @@ -6263,47 +5989,47 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( loop { { let v_W4979 = { - let __t3083 = { - let __t3058 = v_V4978.clone(); - rt::is_cons(&__t3058) + let __t2776 = { + let __t2751 = v_V4978.clone(); + rt::is_cons(&__t2751) }; - if rt::is_truthy(interp, &__t3083)? { + if rt::is_truthy(interp, &__t2776)? { { let v_W4980 = { - let __t3059 = v_V4978.clone(); - rt::apply_direct(interp, "tail", &[__t3059])? + let __t2752 = v_V4978.clone(); + rt::apply_direct(interp, "tail", &[__t2752])? }; { - let __t3082 = { - let __t3060 = v_W4980.clone(); - let __t3061 = Value::sym(interp.intern("{")); - rt::apply_direct(interp, "shen.hds=?", &[__t3060, __t3061])? + let __t2775 = { + let __t2753 = v_W4980.clone(); + let __t2754 = Value::sym(interp.intern_static("{")); + rt::apply_direct(interp, "shen.hds=?", &[__t2753, __t2754])? }; - if rt::is_truthy(interp, &__t3082)? { + if rt::is_truthy(interp, &__t2775)? { { let v_W4981 = { - let __t3062 = v_W4980.clone(); - rt::apply_direct(interp, "tail", &[__t3062])? + let __t2755 = v_W4980.clone(); + rt::apply_direct(interp, "tail", &[__t2755])? }; { let v_W4982 = { - let __t3063 = v_W4981.clone(); + let __t2756 = v_W4981.clone(); rt::apply_direct( interp, "shen.", - &[__t3063], + &[__t2756], )? }; { - let __t3081 = { - let __t3064 = v_W4982.clone(); + let __t2774 = { + let __t2757 = v_W4982.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t3064], + &[__t2757], )? }; - if rt::is_truthy(interp, &__t3081)? { + if rt::is_truthy(interp, &__t2774)? { { rt::apply_direct( interp, @@ -6314,62 +6040,59 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( } else { { let v_W4983 = { - let __t3065 = v_W4982.clone(); + let __t2758 = v_W4982.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t3065], + &[__t2758], )? }; { let v_W4984 = { - let __t3066 = v_W4982.clone(); + let __t2759 = v_W4982.clone(); rt::apply_direct( interp, "shen.in->", - &[__t3066], + &[__t2759], )? }; { - let __t3080 = { - let __t3067 = v_W4984.clone(); - let __t3068 = - Value::sym(interp.intern("}")); + let __t2773 = { + let __t2760 = v_W4984.clone(); + let __t2761 = Value::sym( + interp.intern_static("}"), + ); rt::apply_direct( interp, "shen.hds=?", - &[__t3067, __t3068], + &[__t2760, __t2761], )? }; - if rt::is_truthy(interp, &__t3080)? { + if rt::is_truthy(interp, &__t2773)? { { let v_W4985 = { - let __t3069 = + let __t2762 = v_W4984.clone(); rt::apply_direct( interp, "tail", - &[__t3069], + &[__t2762], )? }; { let v_W4986 = { - let __t3070 = + let __t2763 = v_W4985.clone(); - rt::apply_direct( - interp, - "shen.", - &[__t3070], - )? + aot_shen_x2e__x3c_rules_x2a__x3e_(interp, &[__t2763])? }; { - let __t3079 = { - let __t3071 = + let __t2772 = { + let __t2764 = v_W4986.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3071])? + rt::apply_direct(interp, "shen.parse-failure?", &[__t2764])? }; if rt::is_truthy( - interp, &__t3079, + interp, &__t2772, )? { { rt::apply_direct(interp, "shen.parse-failure", &[])? @@ -6377,25 +6100,25 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( } else { { let v_W4987 = { - let __t3072 = v_W4986.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t3072])? + let __t2765 = v_W4986.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t2765])? }; { let v_W4988 = { - let __t3073 = v_W4986.clone(); - rt::apply_direct(interp, "shen.in->", &[__t3073])? + let __t2766 = v_W4986.clone(); + rt::apply_direct(interp, "shen.in->", &[__t2766])? }; { - let __t3074 = v_W4988.clone(); - let __t3078 = { - let v_W4989 = { let __t3075 = v_W4983.clone(); rt::apply_direct(interp, "shen.rectify-type", &[__t3075])? }; + let __t2767 = v_W4988.clone(); + let __t2771 = { + let v_W4989 = { let __t2768 = v_W4983.clone(); aot_shen_x2e_rectify_x2d_type(interp, &[__t2768])? }; { - let __t3076 = v_W4989.clone(); - let __t3077 = v_W4987.clone(); - rt::apply_direct(interp, "@p", &[__t3076, __t3077])? + let __t2769 = v_W4989.clone(); + let __t2770 = v_W4987.clone(); + rt::apply_direct(interp, "@p", &[__t2769, __t2770])? } }; - rt::apply_direct(interp, "shen.comb", &[__t3074, __t3078])? + rt::apply_direct(interp, "shen.comb", &[__t2767, __t2771])? } } } @@ -6433,11 +6156,11 @@ pub fn aot_shen_x2e__x3c_sig_x2a_rules_x3e_( } }; { - let __t3085 = { - let __t3084 = v_W4979.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3084])? + let __t2778 = { + let __t2777 = v_W4979.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2777])? }; - if match rt::is_truthy(interp, &__t3085) { + if match rt::is_truthy(interp, &__t2778) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6469,41 +6192,41 @@ pub fn aot_shen_x2e_freshen_x2d_sig(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W4991 = { - let __t3086 = v_V4990.clone(); - rt::apply_direct(interp, "shen.extract-vars", &[__t3086])? + let __t2779 = v_V4990.clone(); + rt::apply_direct(interp, "shen.extract-vars", &[__t2779])? }; { let v_W4992 = { - let __t3092 = { + let __t2785 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z4993 = args[0].clone(); Ok({ - let __t3087 = v_Z4993.clone(); - let __t3091 = { - let __t3090 = { - let __t3088 = Value::sym(interp.intern("&")); - let __t3089 = v_Z4993.clone(); - rt::apply_direct(interp, "concat", &[__t3088, __t3089])? + let __t2780 = v_Z4993.clone(); + let __t2784 = { + let __t2783 = { + let __t2781 = Value::sym(interp.intern_static("&")); + let __t2782 = v_Z4993.clone(); + rt::apply_direct(interp, "concat", &[__t2781, __t2782])? }; - rt::apply_direct(interp, "shen.freshterm", &[__t3090])? + aot_shen_x2e_freshterm(interp, &[__t2783])? }; - rt::cons(&__t3087, &__t3091) + rt::cons(&__t2780, &__t2784) }) }, Vec::new(), interp, ) }; - let __t3093 = v_W4991.clone(); - rt::apply_direct(interp, "map", &[__t3092, __t3093])? + let __t2786 = v_W4991.clone(); + rt::apply_direct(interp, "map", &[__t2785, __t2786])? }; break Ok({ - let __t3094 = v_W4992.clone(); - let __t3095 = v_V4990.clone(); - rt::apply_direct(interp, "shen.freshen-type", &[__t3094, __t3095])? + let __t2787 = v_W4992.clone(); + let __t2788 = v_V4990.clone(); + aot_shen_x2e_freshen_x2d_type(interp, &[__t2787, __t2788])? }); } } @@ -6530,77 +6253,73 @@ pub fn aot_shen_x2e_freshen_x2d_type(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t3116 = { - let __t3114 = Value::nil(); - let __t3115 = v_V4994.clone(); - rt::eq(&__t3114, &__t3115) - }; - if match rt::is_truthy(interp, &__t3116) { + let __t2807 = Value::bool((v_V4994.clone()).is_nil()); + if match rt::is_truthy(interp, &__t2807) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V4995.clone()); } else { { - let __t3113 = { - let __t3101 = { - let __t3098 = v_V4994.clone(); - rt::is_cons(&__t3098) + let __t2806 = { + let __t2794 = { + let __t2791 = v_V4994.clone(); + rt::is_cons(&__t2791) }; - if !rt::is_truthy(interp, &__t3101)? { + if !rt::is_truthy(interp, &__t2794)? { Value::bool(false) } else { - let __t3102 = { - let __t3100 = { - let __t3099 = v_V4994.clone(); - rt::hd(&__t3099)? + let __t2795 = { + let __t2793 = { + let __t2792 = v_V4994.clone(); + rt::hd(&__t2792)? }; - rt::is_cons(&__t3100) + rt::is_cons(&__t2793) }; - Value::bool(rt::is_truthy(interp, &__t3102)?) + Value::bool(rt::is_truthy(interp, &__t2795)?) } }; - if match rt::is_truthy(interp, &__t3113) { + if match rt::is_truthy(interp, &__t2806) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t3104 = { - let __t3103 = v_V4994.clone(); - rt::tl(&__t3103)? + let __t2797 = { + let __t2796 = v_V4994.clone(); + rt::tl(&__t2796)? }; - let __t3112 = { - let __t3107 = { - let __t3106 = { - let __t3105 = v_V4994.clone(); - rt::hd(&__t3105)? + let __t2805 = { + let __t2800 = { + let __t2799 = { + let __t2798 = v_V4994.clone(); + rt::hd(&__t2798)? }; - rt::tl(&__t3106)? + rt::tl(&__t2799)? }; - let __t3110 = { - let __t3109 = { - let __t3108 = v_V4994.clone(); - rt::hd(&__t3108)? + let __t2803 = { + let __t2802 = { + let __t2801 = v_V4994.clone(); + rt::hd(&__t2801)? }; - rt::hd(&__t3109)? + rt::hd(&__t2802)? }; - let __t3111 = v_V4995.clone(); - rt::apply_direct(interp, "subst", &[__t3107, __t3110, __t3111])? + let __t2804 = v_V4995.clone(); + rt::apply_direct(interp, "subst", &[__t2800, __t2803, __t2804])? }; - v_V4994 = __t3104; - v_V4995 = __t3112; + v_V4994 = __t2797; + v_V4995 = __t2805; continue; } } else { { - let __t3097 = Value::bool(true); - if match rt::is_truthy(interp, &__t3097) { + let __t2790 = Value::bool(true); + if match rt::is_truthy(interp, &__t2790) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3096 = Value::str("partial function shen.freshen-type"); - rt::apply_direct(interp, "simple-error", &[__t3096])? + let __t2789 = Value::str("partial function shen.freshen-type"); + rt::apply_direct(interp, "simple-error", &[__t2789])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -6633,77 +6352,77 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> { let v_W4997 = { let v_W4998 = { - let __t3117 = v_V4996.clone(); - rt::apply_direct(interp, "shen.", &[__t3117])? + let __t2808 = v_V4996.clone(); + aot_shen_x2e__x3c_rule_x2a__x3e_(interp, &[__t2808])? }; { - let __t3130 = { - let __t3118 = v_W4998.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3118])? + let __t2821 = { + let __t2809 = v_W4998.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2809])? }; - if rt::is_truthy(interp, &__t3130)? { + if rt::is_truthy(interp, &__t2821)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W4999 = { - let __t3119 = v_W4998.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t3119])? + let __t2810 = v_W4998.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t2810])? }; { let v_W5000 = { - let __t3120 = v_W4998.clone(); - rt::apply_direct(interp, "shen.in->", &[__t3120])? + let __t2811 = v_W4998.clone(); + rt::apply_direct(interp, "shen.in->", &[__t2811])? }; { let v_W5001 = { - let __t3121 = v_W5000.clone(); - rt::apply_direct(interp, "shen.", &[__t3121])? + let __t2812 = v_W5000.clone(); + aot_shen_x2e__x3c_rules_x2a__x3e_(interp, &[__t2812])? }; { - let __t3129 = { - let __t3122 = v_W5001.clone(); + let __t2820 = { + let __t2813 = v_W5001.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t3122], + &[__t2813], )? }; - if rt::is_truthy(interp, &__t3129)? { + if rt::is_truthy(interp, &__t2820)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W5002 = { - let __t3123 = v_W5001.clone(); + let __t2814 = v_W5001.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t3123], + &[__t2814], )? }; { let v_W5003 = { - let __t3124 = v_W5001.clone(); + let __t2815 = v_W5001.clone(); rt::apply_direct( interp, "shen.in->", - &[__t3124], + &[__t2815], )? }; { - let __t3125 = v_W5003.clone(); - let __t3128 = { - let __t3126 = v_W4999.clone(); - let __t3127 = v_W5002.clone(); - rt::cons(&__t3126, &__t3127) + let __t2816 = v_W5003.clone(); + let __t2819 = { + let __t2817 = v_W4999.clone(); + let __t2818 = v_W5002.clone(); + rt::cons(&__t2817, &__t2818) }; rt::apply_direct( interp, "shen.comb", - &[__t3125, __t3128], + &[__t2816, __t2819], )? } } @@ -6717,51 +6436,51 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t3132 = { - let __t3131 = v_W4997.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3131])? + let __t2823 = { + let __t2822 = v_W4997.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2822])? }; - if match rt::is_truthy(interp, &__t3132) { + if match rt::is_truthy(interp, &__t2823) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5004 = { let v_W5005 = { - let __t3133 = v_V4996.clone(); - rt::apply_direct(interp, "shen.", &[__t3133])? + let __t2824 = v_V4996.clone(); + aot_shen_x2e__x3c_rule_x2a__x3e_(interp, &[__t2824])? }; { - let __t3141 = { - let __t3134 = v_W5005.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3134])? + let __t2832 = { + let __t2825 = v_W5005.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2825])? }; - if rt::is_truthy(interp, &__t3141)? { + if rt::is_truthy(interp, &__t2832)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W5006 = { - let __t3135 = v_W5005.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t3135])? + let __t2826 = v_W5005.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t2826])? }; { let v_W5007 = { - let __t3136 = v_W5005.clone(); - rt::apply_direct(interp, "shen.in->", &[__t3136])? + let __t2827 = v_W5005.clone(); + rt::apply_direct(interp, "shen.in->", &[__t2827])? }; { - let __t3137 = v_W5007.clone(); - let __t3140 = { - let __t3138 = v_W5006.clone(); - let __t3139 = Value::nil(); - rt::cons(&__t3138, &__t3139) + let __t2828 = v_W5007.clone(); + let __t2831 = { + let __t2829 = v_W5006.clone(); + let __t2830 = Value::nil(); + rt::cons(&__t2829, &__t2830) }; rt::apply_direct( interp, "shen.comb", - &[__t3137, __t3140], + &[__t2828, __t2831], )? } } @@ -6770,11 +6489,11 @@ pub fn aot_shen_x2e__x3c_rules_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t3143 = { - let __t3142 = v_W5004.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3142])? + let __t2834 = { + let __t2833 = v_W5004.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2833])? }; - if match rt::is_truthy(interp, &__t3143) { + if match rt::is_truthy(interp, &__t2834) { Ok(b) => b, Err(e) => break Err(e), } { @@ -6812,118 +6531,119 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> { let v_W5009 = { let v_W5010 = { - let __t3144 = v_V5008.clone(); - rt::apply_direct(interp, "shen.", &[__t3144])? + let __t2835 = v_V5008.clone(); + rt::apply_direct(interp, "shen.", &[__t2835])? }; { - let __t3174 = { - let __t3145 = v_W5010.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3145])? + let __t2865 = { + let __t2836 = v_W5010.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2836])? }; - if rt::is_truthy(interp, &__t3174)? { + if rt::is_truthy(interp, &__t2865)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W5011 = { - let __t3146 = v_W5010.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t3146])? + let __t2837 = v_W5010.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t2837])? }; { let v_W5012 = { - let __t3147 = v_W5010.clone(); - rt::apply_direct(interp, "shen.in->", &[__t3147])? + let __t2838 = v_W5010.clone(); + rt::apply_direct(interp, "shen.in->", &[__t2838])? }; { - let __t3173 = { - let __t3148 = v_W5012.clone(); - let __t3149 = Value::sym(interp.intern("->")); - rt::apply_direct(interp, "shen.hds=?", &[__t3148, __t3149])? + let __t2864 = { + let __t2839 = v_W5012.clone(); + let __t2840 = Value::sym(interp.intern_static("->")); + rt::apply_direct(interp, "shen.hds=?", &[__t2839, __t2840])? }; - if rt::is_truthy(interp, &__t3173)? { + if rt::is_truthy(interp, &__t2864)? { { let v_W5013 = { - let __t3150 = v_W5012.clone(); - rt::apply_direct(interp, "tail", &[__t3150])? + let __t2841 = v_W5012.clone(); + rt::apply_direct(interp, "tail", &[__t2841])? }; { - let __t3172 = { - let __t3151 = v_W5013.clone(); - rt::is_cons(&__t3151) + let __t2863 = { + let __t2842 = v_W5013.clone(); + rt::is_cons(&__t2842) }; - if rt::is_truthy(interp, &__t3172)? { + if rt::is_truthy(interp, &__t2863)? { { let v_W5014 = { - let __t3152 = v_W5013.clone(); + let __t2843 = v_W5013.clone(); rt::apply_direct( interp, "head", - &[__t3152], + &[__t2843], )? }; { let v_W5015 = { - let __t3153 = v_W5013.clone(); + let __t2844 = v_W5013.clone(); rt::apply_direct( interp, "tail", - &[__t3153], + &[__t2844], )? }; { - let __t3171 = { - let __t3154 = v_W5015.clone(); - let __t3155 = Value::sym( - interp.intern("where"), + let __t2862 = { + let __t2845 = v_W5015.clone(); + let __t2846 = Value::sym( + interp + .intern_static("where"), ); rt::apply_direct( interp, "shen.hds=?", - &[__t3154, __t3155], + &[__t2845, __t2846], )? }; - if rt::is_truthy(interp, &__t3171)? + if rt::is_truthy(interp, &__t2862)? { { let v_W5016 = { - let __t3156 = + let __t2847 = v_W5015.clone(); rt::apply_direct( interp, "tail", - &[__t3156], + &[__t2847], )? }; { - let __t3170 = { - let __t3157 = + let __t2861 = { + let __t2848 = v_W5016.clone(); rt::is_cons( - &__t3157, + &__t2848, ) }; if rt::is_truthy( - interp, &__t3170, + interp, &__t2861, )? { { let v_W5017 = { - let __t3158 = v_W5016.clone(); - rt::apply_direct(interp, "head", &[__t3158])? + let __t2849 = v_W5016.clone(); + rt::apply_direct(interp, "head", &[__t2849])? }; { let v_W5018 = { - let __t3159 = v_W5016.clone(); - rt::apply_direct(interp, "tail", &[__t3159])? + let __t2850 = v_W5016.clone(); + rt::apply_direct(interp, "tail", &[__t2850])? }; { - let __t3160 = v_W5018.clone(); - let __t3169 = { - let __t3161 = v_W5011.clone(); - let __t3168 = { let __t3162 = Value::sym(interp.intern("where")); let __t3167 = { let __t3163 = v_W5017.clone(); let __t3166 = { let __t3164 = v_W5014.clone(); let __t3165 = Value::nil(); rt::cons(&__t3164, &__t3165) }; rt::cons(&__t3163, &__t3166) }; rt::cons(&__t3162, &__t3167) }; - rt::apply_direct(interp, "@p", &[__t3161, __t3168])? + let __t2851 = v_W5018.clone(); + let __t2860 = { + let __t2852 = v_W5011.clone(); + let __t2859 = { let __t2853 = Value::sym(interp.intern_static("where")); let __t2858 = { let __t2854 = v_W5017.clone(); let __t2857 = { let __t2855 = v_W5014.clone(); let __t2856 = Value::nil(); rt::cons(&__t2855, &__t2856) }; rt::cons(&__t2854, &__t2857) }; rt::cons(&__t2853, &__t2858) }; + rt::apply_direct(interp, "@p", &[__t2852, __t2859])? }; - rt::apply_direct(interp, "shen.comb", &[__t3160, __t3169])? + rt::apply_direct(interp, "shen.comb", &[__t2851, __t2860])? } } } @@ -6969,120 +6689,115 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t3176 = { - let __t3175 = v_W5009.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3175])? + let __t2867 = { + let __t2866 = v_W5009.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2866])? }; - if match rt::is_truthy(interp, &__t3176) { + if match rt::is_truthy(interp, &__t2867) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5019 = { let v_W5020 = { - let __t3177 = v_V5008.clone(); - rt::apply_direct(interp, "shen.", &[__t3177])? + let __t2868 = v_V5008.clone(); + rt::apply_direct(interp, "shen.", &[__t2868])? }; { - let __t3208 = { - let __t3178 = v_W5020.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3178])? + let __t2899 = { + let __t2869 = v_W5020.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2869])? }; - if rt::is_truthy(interp, &__t3208)? { + if rt::is_truthy(interp, &__t2899)? { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } else { { let v_W5021 = { - let __t3179 = v_W5020.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t3179])? + let __t2870 = v_W5020.clone(); + rt::apply_direct(interp, "shen.<-out", &[__t2870])? }; { let v_W5022 = { - let __t3180 = v_W5020.clone(); - rt::apply_direct(interp, "shen.in->", &[__t3180])? + let __t2871 = v_W5020.clone(); + rt::apply_direct(interp, "shen.in->", &[__t2871])? }; { - let __t3207 = { - let __t3181 = v_W5022.clone(); - let __t3182 = Value::sym(interp.intern("<-")); + let __t2898 = { + let __t2872 = v_W5022.clone(); + let __t2873 = + Value::sym(interp.intern_static("<-")); rt::apply_direct( interp, "shen.hds=?", - &[__t3181, __t3182], + &[__t2872, __t2873], )? }; - if rt::is_truthy(interp, &__t3207)? { + if rt::is_truthy(interp, &__t2898)? { { let v_W5023 = { - let __t3183 = v_W5022.clone(); + let __t2874 = v_W5022.clone(); rt::apply_direct( interp, "tail", - &[__t3183], + &[__t2874], )? }; { - let __t3206 = { - let __t3184 = v_W5023.clone(); - rt::is_cons(&__t3184) + let __t2897 = { + let __t2875 = v_W5023.clone(); + rt::is_cons(&__t2875) }; - if rt::is_truthy(interp, &__t3206)? { + if rt::is_truthy(interp, &__t2897)? { { let v_W5024 = { - let __t3185 = + let __t2876 = v_W5023.clone(); rt::apply_direct( interp, "head", - &[__t3185], + &[__t2876], )? }; { let v_W5025 = { - let __t3186 = + let __t2877 = v_W5023.clone(); rt::apply_direct( interp, "tail", - &[__t3186], + &[__t2877], )? }; { - let __t3205 = { - let __t3187 = + let __t2896 = { + let __t2878 = v_W5025.clone(); - let __t3188 = - Value::sym( - interp - .intern( - "where", - ), - ); + let __t2879 = Value::sym(interp.intern_static("where")); rt::apply_direct( interp, "shen.hds=?", &[ - __t3187, - __t3188, + __t2878, + __t2879, ], )? }; if rt::is_truthy( - interp, &__t3205, + interp, &__t2896, )? { { let v_W5026 = { - let __t3189 = v_W5025.clone(); - rt::apply_direct(interp, "tail", &[__t3189])? + let __t2880 = v_W5025.clone(); + rt::apply_direct(interp, "tail", &[__t2880])? }; { - let __t3204 = { - let __t3190 = v_W5026.clone(); - rt::is_cons(&__t3190) + let __t2895 = { + let __t2881 = v_W5026.clone(); + rt::is_cons(&__t2881) }; - if rt::is_truthy(interp, &__t3204)? { { let v_W5027 = { let __t3191 = v_W5026.clone(); rt::apply_direct(interp, "head", &[__t3191])? }; { let v_W5028 = { let __t3192 = v_W5026.clone(); rt::apply_direct(interp, "tail", &[__t3192])? }; { let __t3193 = v_W5028.clone(); let __t3203 = { let __t3194 = v_W5021.clone(); let __t3202 = { let __t3201 = { let __t3195 = Value::sym(interp.intern("where")); let __t3200 = { let __t3196 = v_W5027.clone(); let __t3199 = { let __t3197 = v_W5024.clone(); let __t3198 = Value::nil(); rt::cons(&__t3197, &__t3198) }; rt::cons(&__t3196, &__t3199) }; rt::cons(&__t3195, &__t3200) }; rt::apply_direct(interp, "shen.correct", &[__t3201])? }; rt::apply_direct(interp, "@p", &[__t3194, __t3202])? }; rt::apply_direct(interp, "shen.comb", &[__t3193, __t3203])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t2895)? { { let v_W5027 = { let __t2882 = v_W5026.clone(); rt::apply_direct(interp, "head", &[__t2882])? }; { let v_W5028 = { let __t2883 = v_W5026.clone(); rt::apply_direct(interp, "tail", &[__t2883])? }; { let __t2884 = v_W5028.clone(); let __t2894 = { let __t2885 = v_W5021.clone(); let __t2893 = { let __t2892 = { let __t2886 = Value::sym(interp.intern_static("where")); let __t2891 = { let __t2887 = v_W5027.clone(); let __t2890 = { let __t2888 = v_W5024.clone(); let __t2889 = Value::nil(); rt::cons(&__t2888, &__t2889) }; rt::cons(&__t2887, &__t2890) }; rt::cons(&__t2886, &__t2891) }; aot_shen_x2e_correct(interp, &[__t2892])? }; rt::apply_direct(interp, "@p", &[__t2885, __t2893])? }; rt::apply_direct(interp, "shen.comb", &[__t2884, __t2894])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { @@ -7120,30 +6835,30 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t3210 = { - let __t3209 = v_W5019.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t3209])? + let __t2901 = { + let __t2900 = v_W5019.clone(); + rt::apply_direct(interp, "shen.parse-failure?", &[__t2900])? }; - if match rt::is_truthy(interp, &__t3210) { + if match rt::is_truthy(interp, &__t2901) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5029 = { let v_W5030 = { - let __t3211 = v_V5008.clone(); - rt::apply_direct(interp, "shen.", &[__t3211])? + let __t2902 = v_V5008.clone(); + rt::apply_direct(interp, "shen.", &[__t2902])? }; { - let __t3228 = { - let __t3212 = v_W5030.clone(); + let __t2919 = { + let __t2903 = v_W5030.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t3212], + &[__t2903], )? }; - if rt::is_truthy(interp, &__t3228)? { + if rt::is_truthy(interp, &__t2919)? { { rt::apply_direct( interp, @@ -7154,77 +6869,78 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } else { { let v_W5031 = { - let __t3213 = v_W5030.clone(); + let __t2904 = v_W5030.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t3213], + &[__t2904], )? }; { let v_W5032 = { - let __t3214 = v_W5030.clone(); + let __t2905 = v_W5030.clone(); rt::apply_direct( interp, "shen.in->", - &[__t3214], + &[__t2905], )? }; { - let __t3227 = { - let __t3215 = v_W5032.clone(); - let __t3216 = - Value::sym(interp.intern("<-")); + let __t2918 = { + let __t2906 = v_W5032.clone(); + let __t2907 = Value::sym( + interp.intern_static("<-"), + ); rt::apply_direct( interp, "shen.hds=?", - &[__t3215, __t3216], + &[__t2906, __t2907], )? }; - if rt::is_truthy(interp, &__t3227)? { + if rt::is_truthy(interp, &__t2918)? { { let v_W5033 = { - let __t3217 = + let __t2908 = v_W5032.clone(); rt::apply_direct( interp, "tail", - &[__t3217], + &[__t2908], )? }; { - let __t3226 = { - let __t3218 = + let __t2917 = { + let __t2909 = v_W5033.clone(); - rt::is_cons(&__t3218) + rt::is_cons(&__t2909) }; if rt::is_truthy( - interp, &__t3226, + interp, &__t2917, )? { { let v_W5034 = { - let __t3219 = + let __t2910 = v_W5033 .clone( ); - rt::apply_direct(interp, "head", &[__t3219])? + rt::apply_direct(interp, "head", &[__t2910])? }; { let v_W5035 = { - let __t3220 = v_W5033.clone(); - rt::apply_direct(interp, "tail", &[__t3220])? + let __t2911 = v_W5033.clone(); + rt::apply_direct(interp, "tail", &[__t2911])? }; { - let __t3221 = v_W5035.clone(); - let __t3225 = { - let __t3222 = v_W5031.clone(); - let __t3224 = { - let __t3223 = v_W5034.clone(); - rt::apply_direct(interp, "shen.correct", &[__t3223])? + let __t2912 = v_W5035.clone(); + let __t2916 = { + let __t2913 = v_W5031.clone(); + let __t2915 = { + let __t2914 = v_W5034.clone(); + aot_shen_x2e_correct(interp, &[__t2914])? }; - rt::apply_direct(interp, "@p", &[__t3222, __t3224])? + rt::apply_direct(interp, "@p", &[__t2913, __t2915])? }; - rt::apply_direct(interp, "shen.comb", &[__t3221, __t3225])? + rt::apply_direct(interp, "shen.comb", &[__t2912, __t2916])? } } } @@ -7251,38 +6967,38 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t3230 = { - let __t3229 = v_W5029.clone(); + let __t2921 = { + let __t2920 = v_W5029.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t3229], + &[__t2920], )? }; - if match rt::is_truthy(interp, &__t3230) { + if match rt::is_truthy(interp, &__t2921) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5036 = { let v_W5037 = { - let __t3231 = v_V5008.clone(); + let __t2922 = v_V5008.clone(); rt::apply_direct( interp, "shen.", - &[__t3231], + &[__t2922], )? }; { - let __t3247 = { - let __t3232 = v_W5037.clone(); + let __t2938 = { + let __t2923 = v_W5037.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t3232], + &[__t2923], )? }; - if rt::is_truthy(interp, &__t3247)? { + if rt::is_truthy(interp, &__t2938)? { { rt::apply_direct( interp, @@ -7293,56 +7009,51 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } else { { let v_W5038 = { - let __t3233 = v_W5037.clone(); + let __t2924 = v_W5037.clone(); rt::apply_direct( interp, "shen.<-out", - &[__t3233], + &[__t2924], )? }; { let v_W5039 = { - let __t3234 = + let __t2925 = v_W5037.clone(); rt::apply_direct( interp, "shen.in->", - &[__t3234], + &[__t2925], )? }; { - let __t3246 = { - let __t3235 = + let __t2937 = { + let __t2926 = v_W5039.clone(); - let __t3236 = - Value::sym( - interp.intern( - "->", - ), - ); + let __t2927 = Value::sym(interp.intern_static("->")); rt::apply_direct( interp, "shen.hds=?", - &[__t3235, __t3236], + &[__t2926, __t2927], )? }; if rt::is_truthy( - interp, &__t3246, + interp, &__t2937, )? { { let v_W5040 = { - let __t3237 = + let __t2928 = v_W5039 .clone( ); - rt::apply_direct(interp, "tail", &[__t3237])? + rt::apply_direct(interp, "tail", &[__t2928])? }; { - let __t3245 = { - let __t3238 = v_W5040.clone(); - rt::is_cons(&__t3238) + let __t2936 = { + let __t2929 = v_W5040.clone(); + rt::is_cons(&__t2929) }; - if rt::is_truthy(interp, &__t3245)? { { let v_W5041 = { let __t3239 = v_W5040.clone(); rt::apply_direct(interp, "head", &[__t3239])? }; { let v_W5042 = { let __t3240 = v_W5040.clone(); rt::apply_direct(interp, "tail", &[__t3240])? }; { let __t3241 = v_W5042.clone(); let __t3244 = { let __t3242 = v_W5038.clone(); let __t3243 = v_W5041.clone(); rt::apply_direct(interp, "@p", &[__t3242, __t3243])? }; rt::apply_direct(interp, "shen.comb", &[__t3241, __t3244])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t2936)? { { let v_W5041 = { let __t2930 = v_W5040.clone(); rt::apply_direct(interp, "head", &[__t2930])? }; { let v_W5042 = { let __t2931 = v_W5040.clone(); rt::apply_direct(interp, "tail", &[__t2931])? }; { let __t2932 = v_W5042.clone(); let __t2935 = { let __t2933 = v_W5038.clone(); let __t2934 = v_W5041.clone(); rt::apply_direct(interp, "@p", &[__t2933, __t2934])? }; rt::apply_direct(interp, "shen.comb", &[__t2932, __t2935])? } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { @@ -7357,15 +7068,15 @@ pub fn aot_shen_x2e__x3c_rule_x2a__x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t3249 = { - let __t3248 = v_W5036.clone(); + let __t2940 = { + let __t2939 = v_W5036.clone(); rt::apply_direct( interp, "shen.parse-failure?", - &[__t3248], + &[__t2939], )? }; - if match rt::is_truthy(interp, &__t3249) { + if match rt::is_truthy(interp, &__t2940) { Ok(b) => b, Err(e) => break Err(e), } { @@ -7417,585 +7128,561 @@ pub fn aot_shen_x2e_correct(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t3416 = Value::sym(interp.intern("where")); - let __t3440 = { - let __t3433 = { - let __t3417 = Value::sym(interp.intern("and")); - let __t3432 = { - let __t3420 = { - let __t3419 = { - let __t3418 = v_V5043.clone(); - rt::tl(&__t3418)? + let __t3091 = Value::sym(interp.intern_static("where")); + let __t3115 = { + let __t3108 = { + let __t3092 = Value::sym(interp.intern_static("and")); + let __t3107 = { + let __t3095 = { + let __t3094 = { + let __t3093 = v_V5043.clone(); + rt::tl(&__t3093)? }; - rt::hd(&__t3419)? + rt::hd(&__t3094)? }; - let __t3431 = { - let __t3429 = { - let __t3421 = Value::sym(interp.intern("not")); - let __t3428 = { - let __t3426 = { - let __t3425 = { - let __t3424 = { - let __t3423 = { - let __t3422 = v_V5043.clone(); - rt::tl(&__t3422)? + let __t3106 = { + let __t3104 = { + let __t3096 = Value::sym(interp.intern_static("not")); + let __t3103 = { + let __t3101 = { + let __t3100 = { + let __t3099 = { + let __t3098 = { + let __t3097 = v_V5043.clone(); + rt::tl(&__t3097)? }; - rt::tl(&__t3423)? + rt::tl(&__t3098)? }; - rt::hd(&__t3424)? + rt::hd(&__t3099)? }; - rt::tl(&__t3425)? + rt::tl(&__t3100)? }; - let __t3427 = Value::nil(); - rt::cons(&__t3426, &__t3427) + let __t3102 = Value::nil(); + rt::cons(&__t3101, &__t3102) }; - rt::cons(&__t3421, &__t3428) + rt::cons(&__t3096, &__t3103) }; - let __t3430 = Value::nil(); - rt::cons(&__t3429, &__t3430) + let __t3105 = Value::nil(); + rt::cons(&__t3104, &__t3105) }; - rt::cons(&__t3420, &__t3431) + rt::cons(&__t3095, &__t3106) }; - rt::cons(&__t3417, &__t3432) + rt::cons(&__t3092, &__t3107) }; - let __t3439 = { - let __t3438 = { - let __t3437 = { - let __t3436 = { - let __t3435 = { - let __t3434 = v_V5043.clone(); - rt::tl(&__t3434)? + let __t3114 = { + let __t3113 = { + let __t3112 = { + let __t3111 = { + let __t3110 = { + let __t3109 = v_V5043.clone(); + rt::tl(&__t3109)? }; - rt::tl(&__t3435)? + rt::tl(&__t3110)? }; - rt::hd(&__t3436)? + rt::hd(&__t3111)? }; - rt::tl(&__t3437)? + rt::tl(&__t3112)? }; - rt::tl(&__t3438)? + rt::tl(&__t3113)? }; - rt::cons(&__t3433, &__t3439) + rt::cons(&__t3108, &__t3114) }; - rt::cons(&__t3416, &__t3440) + rt::cons(&__t3091, &__t3115) }); } else { { - let __t3354 = { - let __t3323 = { - let __t3303 = v_V5043.clone(); - rt::is_cons(&__t3303) + let __t3037 = { + let __t3006 = { + let __t2990 = v_V5043.clone(); + rt::is_cons(&__t2990) }; - if !rt::is_truthy(interp, &__t3323)? { + if !rt::is_truthy(interp, &__t3006)? { Value::bool(false) } else { - let __t3324 = { - let __t3321 = { - let __t3304 = Value::sym(interp.intern("where")); - let __t3306 = { - let __t3305 = v_V5043.clone(); - rt::hd(&__t3305)? - }; - rt::eq(&__t3304, &__t3306) - }; - if !rt::is_truthy(interp, &__t3321)? { + let __t3007 = { + let __t3004 = Value::bool( + ({ + let __t2991 = v_V5043.clone(); + rt::hd(&__t2991)? + }) + .as_sym() + == Some(interp.intern_static("where")), + ); + if !rt::is_truthy(interp, &__t3004)? { Value::bool(false) } else { - let __t3322 = { - let __t3319 = { - let __t3308 = { - let __t3307 = v_V5043.clone(); - rt::tl(&__t3307)? + let __t3005 = { + let __t3002 = { + let __t2993 = { + let __t2992 = v_V5043.clone(); + rt::tl(&__t2992)? }; - rt::is_cons(&__t3308) + rt::is_cons(&__t2993) }; - if !rt::is_truthy(interp, &__t3319)? { + if !rt::is_truthy(interp, &__t3002)? { Value::bool(false) } else { - let __t3320 = { - let __t3317 = { - let __t3311 = { - let __t3310 = { - let __t3309 = v_V5043.clone(); - rt::tl(&__t3309)? + let __t3003 = { + let __t3000 = { + let __t2996 = { + let __t2995 = { + let __t2994 = v_V5043.clone(); + rt::tl(&__t2994)? }; - rt::tl(&__t3310)? + rt::tl(&__t2995)? }; - rt::is_cons(&__t3311) + rt::is_cons(&__t2996) }; - if !rt::is_truthy(interp, &__t3317)? { + if !rt::is_truthy(interp, &__t3000)? { Value::bool(false) } else { - let __t3318 = { - let __t3312 = Value::nil(); - let __t3316 = { - let __t3315 = { - let __t3314 = { - let __t3313 = v_V5043.clone(); - rt::tl(&__t3313)? + let __t3001 = Value::bool( + ({ + let __t2999 = { + let __t2998 = { + let __t2997 = v_V5043.clone(); + rt::tl(&__t2997)? }; - rt::tl(&__t3314)? + rt::tl(&__t2998)? }; - rt::tl(&__t3315)? - }; - rt::eq(&__t3312, &__t3316) - }; - Value::bool(rt::is_truthy(interp, &__t3318)?) + rt::tl(&__t2999)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t3001)?) } }; - Value::bool(rt::is_truthy(interp, &__t3320)?) + Value::bool(rt::is_truthy(interp, &__t3003)?) } }; - Value::bool(rt::is_truthy(interp, &__t3322)?) + Value::bool(rt::is_truthy(interp, &__t3005)?) } }; - Value::bool(rt::is_truthy(interp, &__t3324)?) + Value::bool(rt::is_truthy(interp, &__t3007)?) } }; - if match rt::is_truthy(interp, &__t3354) { + if match rt::is_truthy(interp, &__t3037) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3325 = Value::sym(interp.intern("where")); - let __t3353 = { - let __t3349 = { - let __t3326 = Value::sym(interp.intern("and")); - let __t3348 = { - let __t3329 = { - let __t3328 = { - let __t3327 = v_V5043.clone(); - rt::tl(&__t3327)? + let __t3008 = Value::sym(interp.intern_static("where")); + let __t3036 = { + let __t3032 = { + let __t3009 = Value::sym(interp.intern_static("and")); + let __t3031 = { + let __t3012 = { + let __t3011 = { + let __t3010 = v_V5043.clone(); + rt::tl(&__t3010)? }; - rt::hd(&__t3328)? + rt::hd(&__t3011)? }; - let __t3347 = { - let __t3345 = { - let __t3330 = Value::sym(interp.intern("not")); - let __t3344 = { - let __t3342 = { - let __t3331 = - Value::sym(interp.intern("==")); - let __t3341 = { - let __t3335 = { - let __t3334 = { - let __t3333 = { - let __t3332 = + let __t3030 = { + let __t3028 = { + let __t3013 = + Value::sym(interp.intern_static("not")); + let __t3027 = { + let __t3025 = { + let __t3014 = + Value::sym(interp.intern_static("==")); + let __t3024 = { + let __t3018 = { + let __t3017 = { + let __t3016 = { + let __t3015 = v_V5043.clone(); - rt::tl(&__t3332)? + rt::tl(&__t3015)? }; - rt::tl(&__t3333)? + rt::tl(&__t3016)? }; - rt::hd(&__t3334)? + rt::hd(&__t3017)? }; - let __t3340 = { - let __t3338 = { - let __t3336 = Value::sym( - interp.intern("fail"), + let __t3023 = { + let __t3021 = { + let __t3019 = Value::sym( + interp + .intern_static("fail"), ); - let __t3337 = Value::nil(); - rt::cons(&__t3336, &__t3337) + let __t3020 = Value::nil(); + rt::cons(&__t3019, &__t3020) }; - let __t3339 = Value::nil(); - rt::cons(&__t3338, &__t3339) + let __t3022 = Value::nil(); + rt::cons(&__t3021, &__t3022) }; - rt::cons(&__t3335, &__t3340) + rt::cons(&__t3018, &__t3023) }; - rt::cons(&__t3331, &__t3341) + rt::cons(&__t3014, &__t3024) }; - let __t3343 = Value::nil(); - rt::cons(&__t3342, &__t3343) + let __t3026 = Value::nil(); + rt::cons(&__t3025, &__t3026) }; - rt::cons(&__t3330, &__t3344) + rt::cons(&__t3013, &__t3027) }; - let __t3346 = Value::nil(); - rt::cons(&__t3345, &__t3346) + let __t3029 = Value::nil(); + rt::cons(&__t3028, &__t3029) }; - rt::cons(&__t3329, &__t3347) + rt::cons(&__t3012, &__t3030) }; - rt::cons(&__t3326, &__t3348) + rt::cons(&__t3009, &__t3031) }; - let __t3352 = { - let __t3351 = { - let __t3350 = v_V5043.clone(); - rt::tl(&__t3350)? + let __t3035 = { + let __t3034 = { + let __t3033 = v_V5043.clone(); + rt::tl(&__t3033)? }; - rt::tl(&__t3351)? + rt::tl(&__t3034)? }; - rt::cons(&__t3349, &__t3352) + rt::cons(&__t3032, &__t3035) }; - rt::cons(&__t3325, &__t3353) + rt::cons(&__t3008, &__t3036) }); } else { { - let __t3302 = { - let __t3289 = { - let __t3269 = v_V5043.clone(); - rt::is_cons(&__t3269) + let __t2989 = { + let __t2976 = { + let __t2960 = v_V5043.clone(); + rt::is_cons(&__t2960) }; - if !rt::is_truthy(interp, &__t3289)? { + if !rt::is_truthy(interp, &__t2976)? { Value::bool(false) } else { - let __t3290 = { - let __t3287 = { - let __t3270 = Value::sym(interp.intern("fail-if")); - let __t3272 = { - let __t3271 = v_V5043.clone(); - rt::hd(&__t3271)? - }; - rt::eq(&__t3270, &__t3272) - }; - if !rt::is_truthy(interp, &__t3287)? { + let __t2977 = { + let __t2974 = Value::bool( + ({ + let __t2961 = v_V5043.clone(); + rt::hd(&__t2961)? + }) + .as_sym() + == Some(interp.intern_static("fail-if")), + ); + if !rt::is_truthy(interp, &__t2974)? { Value::bool(false) } else { - let __t3288 = { - let __t3285 = { - let __t3274 = { - let __t3273 = v_V5043.clone(); - rt::tl(&__t3273)? + let __t2975 = { + let __t2972 = { + let __t2963 = { + let __t2962 = v_V5043.clone(); + rt::tl(&__t2962)? }; - rt::is_cons(&__t3274) + rt::is_cons(&__t2963) }; - if !rt::is_truthy(interp, &__t3285)? { + if !rt::is_truthy(interp, &__t2972)? { Value::bool(false) } else { - let __t3286 = { - let __t3283 = { - let __t3277 = { - let __t3276 = { - let __t3275 = v_V5043.clone(); - rt::tl(&__t3275)? + let __t2973 = { + let __t2970 = { + let __t2966 = { + let __t2965 = { + let __t2964 = v_V5043.clone(); + rt::tl(&__t2964)? }; - rt::tl(&__t3276)? + rt::tl(&__t2965)? }; - rt::is_cons(&__t3277) + rt::is_cons(&__t2966) }; - if !rt::is_truthy(interp, &__t3283)? { + if !rt::is_truthy(interp, &__t2970)? { Value::bool(false) } else { - let __t3284 = { - let __t3278 = Value::nil(); - let __t3282 = { - let __t3281 = { - let __t3280 = { - let __t3279 = + let __t2971 = Value::bool( + ({ + let __t2969 = { + let __t2968 = { + let __t2967 = v_V5043.clone(); - rt::tl(&__t3279)? + rt::tl(&__t2967)? }; - rt::tl(&__t3280)? + rt::tl(&__t2968)? }; - rt::tl(&__t3281)? - }; - rt::eq(&__t3278, &__t3282) - }; + rt::tl(&__t2969)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t3284, + interp, &__t2971, )?) } }; - Value::bool(rt::is_truthy(interp, &__t3286)?) + Value::bool(rt::is_truthy(interp, &__t2973)?) } }; - Value::bool(rt::is_truthy(interp, &__t3288)?) + Value::bool(rt::is_truthy(interp, &__t2975)?) } }; - Value::bool(rt::is_truthy(interp, &__t3290)?) + Value::bool(rt::is_truthy(interp, &__t2977)?) } }; - if match rt::is_truthy(interp, &__t3302) { + if match rt::is_truthy(interp, &__t2989) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3291 = Value::sym(interp.intern("where")); - let __t3301 = { - let __t3297 = { - let __t3292 = Value::sym(interp.intern("not")); - let __t3296 = { - let __t3294 = { - let __t3293 = v_V5043.clone(); - rt::tl(&__t3293)? + let __t2978 = Value::sym(interp.intern_static("where")); + let __t2988 = { + let __t2984 = { + let __t2979 = Value::sym(interp.intern_static("not")); + let __t2983 = { + let __t2981 = { + let __t2980 = v_V5043.clone(); + rt::tl(&__t2980)? }; - let __t3295 = Value::nil(); - rt::cons(&__t3294, &__t3295) + let __t2982 = Value::nil(); + rt::cons(&__t2981, &__t2982) }; - rt::cons(&__t3292, &__t3296) + rt::cons(&__t2979, &__t2983) }; - let __t3300 = { - let __t3299 = { - let __t3298 = v_V5043.clone(); - rt::tl(&__t3298)? + let __t2987 = { + let __t2986 = { + let __t2985 = v_V5043.clone(); + rt::tl(&__t2985)? }; - rt::tl(&__t3299)? + rt::tl(&__t2986)? }; - rt::cons(&__t3297, &__t3300) + rt::cons(&__t2984, &__t2987) }; - rt::cons(&__t3291, &__t3301) + rt::cons(&__t2978, &__t2988) }); } else { { - let __t3268 = Value::bool(true); - if match rt::is_truthy(interp, &__t3268) { + let __t2959 = Value::bool(true); + if match rt::is_truthy(interp, &__t2959) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3250 = Value::sym(interp.intern("where")); - let __t3267 = { - let __t3263 = { - let __t3251 = Value::sym(interp.intern("not")); - let __t3262 = { - let __t3260 = { - let __t3252 = - Value::sym(interp.intern("==")); - let __t3259 = { - let __t3253 = v_V5043.clone(); - let __t3258 = { - let __t3256 = { - let __t3254 = Value::sym( - interp.intern("fail"), + let __t2941 = Value::sym(interp.intern_static("where")); + let __t2958 = { + let __t2954 = { + let __t2942 = + Value::sym(interp.intern_static("not")); + let __t2953 = { + let __t2951 = { + let __t2943 = Value::sym( + interp.intern_static("=="), + ); + let __t2950 = { + let __t2944 = v_V5043.clone(); + let __t2949 = { + let __t2947 = { + let __t2945 = Value::sym( + interp.intern_static( + "fail", + ), ); - let __t3255 = Value::nil(); - rt::cons(&__t3254, &__t3255) + let __t2946 = Value::nil(); + rt::cons(&__t2945, &__t2946) }; - let __t3257 = Value::nil(); - rt::cons(&__t3256, &__t3257) + let __t2948 = Value::nil(); + rt::cons(&__t2947, &__t2948) }; - rt::cons(&__t3253, &__t3258) + rt::cons(&__t2944, &__t2949) }; - rt::cons(&__t3252, &__t3259) + rt::cons(&__t2943, &__t2950) }; - let __t3261 = Value::nil(); - rt::cons(&__t3260, &__t3261) + let __t2952 = Value::nil(); + rt::cons(&__t2951, &__t2952) }; - rt::cons(&__t3251, &__t3262) + rt::cons(&__t2942, &__t2953) }; - let __t3266 = { - let __t3264 = v_V5043.clone(); - let __t3265 = Value::nil(); - rt::cons(&__t3264, &__t3265) + let __t2957 = { + let __t2955 = v_V5043.clone(); + let __t2956 = Value::nil(); + rt::cons(&__t2955, &__t2956) }; - rt::cons(&__t3263, &__t3266) + rt::cons(&__t2954, &__t2957) }; - rt::cons(&__t3250, &__t3267) + rt::cons(&__t2941, &__t2958) }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8043,30 +7730,26 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She loop { { let v_W5052 = { - let __t3442 = v_V5050.clone(); - let __t3443 = Value::int(1i64); - rt::add(&__t3442, &__t3443)? + let __t3117 = v_V5050.clone(); + let __t3118 = Value::int(1i64); + rt::add(&__t3117, &__t3118)? }; { let v_W5053 = { - let __t3450 = { - let __t3444 = v_V5049.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3444])? + let __t3123 = { + let __t3119 = v_V5049.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3119])? }; - if rt::is_truthy(interp, &__t3450)? { + if rt::is_truthy(interp, &__t3123)? { { let v_W5054 = { - let __t3445 = v_V5045.clone(); - let __t3446 = v_V5048.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t3445, __t3446])? + let __t3120 = v_V5045.clone(); + let __t3121 = v_V5048.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3120, __t3121])? }; { - let __t3449 = { - let __t3447 = v_W5054.clone(); - let __t3448 = Value::nil(); - rt::eq(&__t3447, &__t3448) - }; - if rt::is_truthy(interp, &__t3449)? { + let __t3122 = Value::bool((v_W5054.clone()).is_nil()); + if rt::is_truthy(interp, &__t3122)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; rt::apply_value(interp, v_V5051.clone(), &[])? @@ -8081,60 +7764,60 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t3453 = { - let __t3451 = v_W5053.clone(); - let __t3452 = Value::bool(false); - rt::eq(&__t3451, &__t3452) + let __t3126 = { + let __t3124 = v_W5053.clone(); + let __t3125 = Value::bool(false); + rt::eq(&__t3124, &__t3125) }; - if match rt::is_truthy(interp, &__t3453) { + if match rt::is_truthy(interp, &__t3126) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5055 = { - let __t3502 = { - let __t3454 = v_V5049.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3454])? + let __t3171 = { + let __t3127 = v_V5049.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3127])? }; - if rt::is_truthy(interp, &__t3502)? { + if rt::is_truthy(interp, &__t3171)? { { let v_W5056 = { - let __t3455 = v_V5045.clone(); - let __t3456 = v_V5048.clone(); + let __t3128 = v_V5045.clone(); + let __t3129 = v_V5048.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3455, __t3456], + &[__t3128, __t3129], )? }; { - let __t3501 = { - let __t3457 = v_W5056.clone(); - rt::is_cons(&__t3457) + let __t3170 = { + let __t3130 = v_W5056.clone(); + rt::is_cons(&__t3130) }; - if rt::is_truthy(interp, &__t3501)? { + if rt::is_truthy(interp, &__t3170)? { { let v_W5057 = { - let __t3458 = v_W5056.clone(); - rt::hd(&__t3458)? + let __t3131 = v_W5056.clone(); + rt::hd(&__t3131)? }; { let v_W5058 = { - let __t3459 = v_W5056.clone(); - rt::tl(&__t3459)? + let __t3132 = v_W5056.clone(); + rt::tl(&__t3132)? }; { let v_W5059 = { - let __t3460 = v_V5048.clone(); + let __t3133 = v_V5048.clone(); rt::apply_direct( interp, "shen.newpv", - &[__t3460], + &[__t3133], )? }; { - let __t3461 = v_V5048.clone(); - let __t3500 = { + let __t3134 = v_V5048.clone(); + let __t3169 = { let _ = { rt::apply_direct( interp, @@ -8143,71 +7826,132 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She )? }; { - let __t3462 = + let __t3165 = v_W5059.clone(); - let __t3466 = { - let __t3465 = { - let __t3463 = + let __t3166 = { + let __t3137 = { + let __t3135 = v_W5057.clone(); - let __t3464 = + let __t3136 = v_V5048.clone(); rt::apply_direct( interp, "shen.deref", &[ - __t3463, - __t3464, + __t3135, + __t3136, ], )? }; - rt::apply_direct( - interp, - "shen.freshen-rule", - &[__t3465], - )? + aot_shen_x2e_freshen_x2d_rule(interp, &[__t3137])? }; - let __t3467 = + let __t3167 = v_V5048.clone(); - let __t3468 = - v_V5049.clone(); - let __t3469 = - v_W5052.clone(); - let __t3499 = { - let v_V5044 = + let _ = v_V5049.clone(); + let _ = v_W5052.clone(); + let _ = rt::apply_direct( + interp, + "shen.bindv", + &[ + __t3165, __t3166, + __t3167, + ], + )?; + let __t3168 = { + let __t3138 = v_V5044.clone(); - let v_V5046 = - v_V5046.clone(); - let v_V5047 = + let __t3139 = v_V5047.clone(); - let v_V5048 = + let __t3143 = { + let __t3142 = { + let __t3140 = + v_W5059 + .clone( + ); + let __t3141 = + v_V5048 + .clone( + ); + rt::apply_direct(interp, "shen.lazyderef", &[__t3140, __t3141])? + }; + rt::apply_direct( + interp, + "fst", + &[__t3142], + )? + }; + let __t3147 = { + let __t3146 = { + let __t3144 = + v_W5059 + .clone( + ); + let __t3145 = + v_V5048 + .clone( + ); + rt::apply_direct(interp, "shen.lazyderef", &[__t3144, __t3145])? + }; + rt::apply_direct( + interp, + "snd", + &[__t3146], + )? + }; + let __t3148 = + v_V5046.clone(); + let __t3149 = v_V5048.clone(); - let v_V5049 = + let __t3150 = v_V5049.clone(); - let v_V5051 = - v_V5051.clone(); - let v_W5052 = + let __t3151 = v_W5052.clone(); - let v_W5058 = - v_W5058.clone(); - let v_W5059 = - v_W5059.clone(); - rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3470 = v_V5044.clone(); let __t3471 = v_V5047.clone(); let __t3475 = { let __t3474 = { let __t3472 = v_W5059.clone(); let __t3473 = v_V5048.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3472, __t3473])? }; rt::apply_direct(interp, "fst", &[__t3474])? }; let __t3479 = { let __t3478 = { let __t3476 = v_W5059.clone(); let __t3477 = v_V5048.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3476, __t3477])? }; rt::apply_direct(interp, "snd", &[__t3478])? }; let __t3480 = v_V5046.clone(); let __t3481 = v_V5048.clone(); let __t3482 = v_V5049.clone(); let __t3483 = v_W5052.clone(); let __t3498 = { let v_V5044 = v_V5044.clone(); let v_V5046 = v_V5046.clone(); let v_V5047 = v_V5047.clone(); let v_V5048 = v_V5048.clone(); let v_V5049 = v_V5049.clone(); let v_V5051 = v_V5051.clone(); let v_W5052 = v_W5052.clone(); let v_W5058 = v_W5058.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3484 = v_V5048.clone(); let __t3485 = v_V5049.clone(); let __t3486 = v_W5052.clone(); let __t3497 = { let v_V5044 = v_V5044.clone(); let v_V5046 = v_V5046.clone(); let v_V5047 = v_V5047.clone(); let v_V5048 = v_V5048.clone(); let v_V5049 = v_V5049.clone(); let v_V5051 = v_V5051.clone(); let v_W5052 = v_W5052.clone(); let v_W5058 = v_W5058.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3487 = v_V5044.clone(); let __t3488 = v_W5058.clone(); let __t3489 = v_V5046.clone(); let __t3492 = { let __t3490 = v_V5047.clone(); let __t3491 = Value::int(1i64); rt::add(&__t3490, &__t3491)? }; let __t3493 = v_V5048.clone(); let __t3494 = v_V5049.clone(); let __t3495 = v_W5052.clone(); let __t3496 = v_V5051.clone(); rt::apply_direct(interp, "shen.t*-rules", &[__t3487, __t3488, __t3489, __t3492, __t3493, __t3494, __t3495, __t3496])? }), vec![v_V5044, v_V5046, v_V5047, v_V5048, v_V5049, v_V5051, v_W5052, v_W5058], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3484, __t3485, __t3486, __t3497])? }), vec![v_V5044, v_V5046, v_V5047, v_V5048, v_V5049, v_V5051, v_W5052, v_W5058], interp) }; rt::apply_direct(interp, "shen.t*-rule", &[__t3470, __t3471, __t3475, __t3479, __t3480, __t3481, __t3482, __t3483, __t3498])? }), vec![v_V5044, v_V5046, v_V5047, v_V5048, v_V5049, v_V5051, v_W5052, v_W5058, v_W5059], interp) + let __t3164 = { + let v_V5044 = + v_V5044.clone(); + let v_V5046 = + v_V5046.clone(); + let v_V5047 = + v_V5047.clone(); + let v_V5048 = + v_V5048.clone(); + let v_V5049 = + v_V5049.clone(); + let v_V5051 = + v_V5051.clone(); + let v_W5052 = + v_W5052.clone(); + let v_W5058 = + v_W5058.clone(); + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let _ = v_V5048.clone(); let __t3163 = v_V5049.clone(); let __n = v_W5052.clone(); let __t3162 = { let __t3152 = v_V5044.clone(); let __t3153 = v_W5058.clone(); let __t3154 = v_V5046.clone(); let __t3157 = { let __t3155 = v_V5047.clone(); let __t3156 = Value::int(1i64); rt::add(&__t3155, &__t3156)? }; let __t3158 = v_V5048.clone(); let __t3159 = v_V5049.clone(); let __t3160 = v_W5052.clone(); let __t3161 = v_V5051.clone(); aot_shen_x2e_t_x2a__x2d_rules(interp, &[__t3152, __t3153, __t3154, __t3157, __t3158, __t3159, __t3160, __t3161])? }; if rt::is_truthy(interp, &rt::eq(&__t3162, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t3163])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t3163])?; } } __t3162 }), vec![v_V5044, v_V5046, v_V5047, v_V5048, v_V5049, v_V5051, v_W5052, v_W5058], interp) + }; + aot_shen_x2e_t_x2a__x2d_rule(interp, &[__t3138, __t3139, __t3143, __t3147, __t3148, __t3149, __t3150, __t3151, __t3164])? }; - rt::apply_direct( + if rt::is_truthy( interp, - "bind", - &[ - __t3462, __t3466, - __t3467, __t3468, - __t3469, __t3499, - ], - )? + &rt::eq( + &__t3168, + &Value::bool(false), + ), + )? { + rt::apply_direct( + interp, + "shen.unwind", + &[ + __t3165, + __t3167, + __t3168, + ], + )? + } else { + __t3168 + } } }; rt::apply_direct( interp, "shen.gc", - &[__t3461, __t3500], + &[__t3134, __t3169], )? } } @@ -8223,22 +7967,22 @@ pub fn aot_shen_x2e_t_x2a__x2d_rules(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t3505 = { - let __t3503 = v_W5055.clone(); - let __t3504 = Value::bool(false); - rt::eq(&__t3503, &__t3504) + let __t3174 = { + let __t3172 = v_W5055.clone(); + let __t3173 = Value::bool(false); + rt::eq(&__t3172, &__t3173) }; - if match rt::is_truthy(interp, &__t3505) { + if match rt::is_truthy(interp, &__t3174) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3506 = v_V5049.clone(); - let __t3507 = v_W5052.clone(); + let __t3175 = v_V5049.clone(); + let __t3176 = v_W5052.clone(); rt::apply_direct( interp, "shen.unlock", - &[__t3506, __t3507], + &[__t3175, __t3176], )? }); } else { @@ -8273,81 +8017,77 @@ pub fn aot_shen_x2e_freshen_x2d_rule(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t3526 = { - let __t3510 = v_V5060.clone(); - rt::apply_direct(interp, "tuple?", &[__t3510])? + let __t3195 = { + let __t3179 = v_V5060.clone(); + rt::apply_direct(interp, "tuple?", &[__t3179])? }; - if match rt::is_truthy(interp, &__t3526) { + if match rt::is_truthy(interp, &__t3195) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5061 = { - let __t3512 = { - let __t3511 = v_V5060.clone(); - rt::apply_direct(interp, "fst", &[__t3511])? + let __t3181 = { + let __t3180 = v_V5060.clone(); + rt::apply_direct(interp, "fst", &[__t3180])? }; - rt::apply_direct(interp, "shen.extract-vars", &[__t3512])? + rt::apply_direct(interp, "shen.extract-vars", &[__t3181])? }; { let v_W5062 = { - let __t3516 = { + let __t3185 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z5063 = args[0].clone(); Ok({ - let __t3513 = v_Z5063.clone(); - let __t3515 = { - let __t3514 = v_Z5063.clone(); - rt::apply_direct( - interp, - "shen.freshterm", - &[__t3514], - )? + let __t3182 = v_Z5063.clone(); + let __t3184 = { + let __t3183 = v_Z5063.clone(); + aot_shen_x2e_freshterm(interp, &[__t3183])? }; - rt::cons(&__t3513, &__t3515) + rt::cons(&__t3182, &__t3184) }) }, Vec::new(), interp, ) }; - let __t3517 = v_W5061.clone(); - rt::apply_direct(interp, "map", &[__t3516, __t3517])? + let __t3186 = v_W5061.clone(); + rt::apply_direct(interp, "map", &[__t3185, __t3186])? }; break Ok({ - let __t3521 = { - let __t3518 = v_W5062.clone(); - let __t3520 = { - let __t3519 = v_V5060.clone(); - rt::apply_direct(interp, "fst", &[__t3519])? + let __t3190 = { + let __t3187 = v_W5062.clone(); + let __t3189 = { + let __t3188 = v_V5060.clone(); + rt::apply_direct(interp, "fst", &[__t3188])? }; - rt::apply_direct(interp, "shen.freshen", &[__t3518, __t3520])? + aot_shen_x2e_freshen(interp, &[__t3187, __t3189])? }; - let __t3525 = { - let __t3522 = v_W5062.clone(); - let __t3524 = { - let __t3523 = v_V5060.clone(); - rt::apply_direct(interp, "snd", &[__t3523])? + let __t3194 = { + let __t3191 = v_W5062.clone(); + let __t3193 = { + let __t3192 = v_V5060.clone(); + rt::apply_direct(interp, "snd", &[__t3192])? }; - rt::apply_direct(interp, "shen.freshen", &[__t3522, __t3524])? + aot_shen_x2e_freshen(interp, &[__t3191, __t3193])? }; - rt::apply_direct(interp, "@p", &[__t3521, __t3525])? + rt::apply_direct(interp, "@p", &[__t3190, __t3194])? }); } } } else { { - let __t3509 = Value::bool(true); - if match rt::is_truthy(interp, &__t3509) { + let __t3178 = Value::bool(true); + if match rt::is_truthy(interp, &__t3178) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3508 = Value::str("partial function shen.freshen-rule"); - rt::apply_direct(interp, "simple-error", &[__t3508])? + let __t3177 = Value::str("partial function shen.freshen-rule"); + rt::apply_direct(interp, "simple-error", &[__t3177])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8378,77 +8118,73 @@ pub fn aot_shen_x2e_freshen(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(v_V5065.clone()); } else { { - let __t3544 = { - let __t3532 = { - let __t3529 = v_V5064.clone(); - rt::is_cons(&__t3529) + let __t3213 = { + let __t3201 = { + let __t3198 = v_V5064.clone(); + rt::is_cons(&__t3198) }; - if !rt::is_truthy(interp, &__t3532)? { + if !rt::is_truthy(interp, &__t3201)? { Value::bool(false) } else { - let __t3533 = { - let __t3531 = { - let __t3530 = v_V5064.clone(); - rt::hd(&__t3530)? + let __t3202 = { + let __t3200 = { + let __t3199 = v_V5064.clone(); + rt::hd(&__t3199)? }; - rt::is_cons(&__t3531) + rt::is_cons(&__t3200) }; - Value::bool(rt::is_truthy(interp, &__t3533)?) + Value::bool(rt::is_truthy(interp, &__t3202)?) } }; - if match rt::is_truthy(interp, &__t3544) { + if match rt::is_truthy(interp, &__t3213) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t3535 = { - let __t3534 = v_V5064.clone(); - rt::tl(&__t3534)? + let __t3204 = { + let __t3203 = v_V5064.clone(); + rt::tl(&__t3203)? }; - let __t3543 = { - let __t3538 = { - let __t3537 = { - let __t3536 = v_V5064.clone(); - rt::hd(&__t3536)? + let __t3212 = { + let __t3207 = { + let __t3206 = { + let __t3205 = v_V5064.clone(); + rt::hd(&__t3205)? }; - rt::hd(&__t3537)? + rt::hd(&__t3206)? }; - let __t3541 = { - let __t3540 = { - let __t3539 = v_V5064.clone(); - rt::hd(&__t3539)? + let __t3210 = { + let __t3209 = { + let __t3208 = v_V5064.clone(); + rt::hd(&__t3208)? }; - rt::tl(&__t3540)? + rt::tl(&__t3209)? }; - let __t3542 = v_V5065.clone(); - rt::apply_direct(interp, "shen.beta", &[__t3538, __t3541, __t3542])? + let __t3211 = v_V5065.clone(); + rt::apply_direct(interp, "shen.beta", &[__t3207, __t3210, __t3211])? }; - v_V5064 = __t3535; - v_V5065 = __t3543; + v_V5064 = __t3204; + v_V5065 = __t3212; continue; } } else { { - let __t3528 = Value::bool(true); - if match rt::is_truthy(interp, &__t3528) { + let __t3197 = Value::bool(true); + if match rt::is_truthy(interp, &__t3197) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3527 = Value::str("partial function shen.freshen"); - rt::apply_direct(interp, "simple-error", &[__t3527])? + let __t3196 = Value::str("partial function shen.freshen"); + rt::apply_direct(interp, "simple-error", &[__t3196])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -8496,26 +8232,25 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule(interp: &mut Interp, args: &[Value]) -> Shen loop { { let v_W5075 = { - let __t3556 = { - let __t3548 = v_V5072.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3548])? + let __t3223 = { + let __t3215 = v_V5072.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3215])? }; - if rt::is_truthy(interp, &__t3556)? { + if rt::is_truthy(interp, &__t3223)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t3549 = v_V5068.clone(); - let __t3550 = v_V5069.clone(); - let __t3551 = v_V5070.clone(); - let __t3552 = v_V5071.clone(); - let __t3553 = v_V5072.clone(); - let __t3554 = v_V5073.clone(); - let __t3555 = v_V5074.clone(); - rt::apply_direct( + let __t3216 = v_V5068.clone(); + let __t3217 = v_V5069.clone(); + let __t3218 = v_V5070.clone(); + let __t3219 = v_V5071.clone(); + let __t3220 = v_V5072.clone(); + let __t3221 = v_V5073.clone(); + let __t3222 = v_V5074.clone(); + aot_shen_x2e_t_x2a__x2d_rule_x2d_h( interp, - "shen.t*-rule-h", &[ - __t3549, __t3550, __t3551, __t3552, __t3553, __t3554, __t3555, + __t3216, __t3217, __t3218, __t3219, __t3220, __t3221, __t3222, ], )? } @@ -8525,95 +8260,88 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t3559 = { - let __t3557 = v_W5075.clone(); - let __t3558 = Value::bool(false); - rt::eq(&__t3557, &__t3558) + let __t3226 = { + let __t3224 = v_W5075.clone(); + let __t3225 = Value::bool(false); + rt::eq(&__t3224, &__t3225) }; - if match rt::is_truthy(interp, &__t3559) { + if match rt::is_truthy(interp, &__t3226) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t3561 = { - let __t3560 = v_V5072.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3560])? + let __t3228 = { + let __t3227 = v_V5072.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3227])? }; - if match rt::is_truthy(interp, &__t3561) { + if match rt::is_truthy(interp, &__t3228) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5076 = { - let __t3562 = v_V5071.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t3562])? + let __t3229 = v_V5071.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t3229])? }; break Ok({ - let __t3563 = v_V5071.clone(); - let __t3581 = { + let __t3230 = v_V5071.clone(); + let __t3248 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t3564 = v_W5076.clone(); - let __t3576 = { - let __t3575 = { - let __t3565 = Value::str("type error in rule "); - let __t3574 = { - let __t3566 = v_V5067.clone(); - let __t3572 = { - let __t3567 = Value::str(" of "); - let __t3571 = { - let __t3568 = v_V5066.clone(); - let __t3569 = Value::str("\n"); - let __t3570 = Value::sym( - interp.intern("shen.a"), + let __t3231 = v_W5076.clone(); + let __t3243 = { + let __t3242 = { + let __t3232 = Value::str("type error in rule "); + let __t3241 = { + let __t3233 = v_V5067.clone(); + let __t3239 = { + let __t3234 = Value::str(" of "); + let __t3238 = { + let __t3235 = v_V5066.clone(); + let __t3236 = Value::str("\n"); + let __t3237 = Value::sym( + interp.intern_static("shen.a"), ); rt::apply_direct( interp, "shen.app", - &[__t3568, __t3569, __t3570], + &[__t3235, __t3236, __t3237], )? }; - rt::apply_direct( - interp, - "cn", - &[__t3567, __t3571], - )? + rt::cn(&__t3234, &__t3238)? }; - let __t3573 = - Value::sym(interp.intern("shen.a")); + let __t3240 = Value::sym( + interp.intern_static("shen.a"), + ); rt::apply_direct( interp, "shen.app", - &[__t3566, __t3572, __t3573], + &[__t3233, __t3239, __t3240], )? }; - rt::apply_direct( - interp, - "cn", - &[__t3565, __t3574], - )? + rt::cn(&__t3232, &__t3241)? }; rt::apply_direct( interp, "simple-error", - &[__t3575], + &[__t3242], )? }; - let __t3577 = v_V5071.clone(); - let __t3578 = v_V5072.clone(); - let __t3579 = v_V5073.clone(); - let __t3580 = v_V5074.clone(); + let __t3244 = v_V5071.clone(); + let __t3245 = v_V5072.clone(); + let __t3246 = v_V5073.clone(); + let __t3247 = v_V5074.clone(); rt::apply_direct( interp, "bind", &[ - __t3564, __t3576, __t3577, __t3578, __t3579, - __t3580, + __t3231, __t3243, __t3244, __t3245, __t3246, + __t3247, ], )? } }; - rt::apply_direct(interp, "shen.gc", &[__t3563, __t3581])? + rt::apply_direct(interp, "shen.gc", &[__t3230, __t3248])? }); } } else { @@ -8662,115 +8390,107 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( loop { { let v_W5084 = { - let __t3582 = v_V5082.clone(); - let __t3583 = Value::int(1i64); - rt::add(&__t3582, &__t3583)? + let __t3249 = v_V5082.clone(); + let __t3250 = Value::int(1i64); + rt::add(&__t3249, &__t3250)? }; { let v_W5085 = { - let __t3623 = { - let __t3584 = v_V5081.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3584])? + let __t3282 = { + let __t3251 = v_V5081.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3251])? }; - if rt::is_truthy(interp, &__t3623)? { + if rt::is_truthy(interp, &__t3282)? { { let v_W5086 = { - let __t3585 = v_V5077.clone(); - let __t3586 = v_V5080.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t3585, __t3586])? + let __t3252 = v_V5077.clone(); + let __t3253 = v_V5080.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3252, __t3253])? }; { - let __t3622 = { - let __t3587 = v_W5086.clone(); - let __t3588 = Value::nil(); - rt::eq(&__t3587, &__t3588) - }; - if rt::is_truthy(interp, &__t3622)? { + let __t3281 = Value::bool((v_W5086.clone()).is_nil()); + if rt::is_truthy(interp, &__t3281)? { { let v_W5087 = { - let __t3589 = v_V5079.clone(); - let __t3590 = v_V5080.clone(); + let __t3254 = v_V5079.clone(); + let __t3255 = v_V5080.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3589, __t3590], + &[__t3254, __t3255], )? }; { - let __t3621 = { - let __t3591 = v_W5087.clone(); - rt::is_cons(&__t3591) + let __t3280 = { + let __t3256 = v_W5087.clone(); + rt::is_cons(&__t3256) }; - if rt::is_truthy(interp, &__t3621)? { + if rt::is_truthy(interp, &__t3280)? { { let v_W5088 = { - let __t3593 = { - let __t3592 = v_W5087.clone(); - rt::hd(&__t3592)? + let __t3258 = { + let __t3257 = v_W5087.clone(); + rt::hd(&__t3257)? }; - let __t3594 = v_V5080.clone(); + let __t3259 = v_V5080.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3593, __t3594], + &[__t3258, __t3259], )? }; { - let __t3620 = { - let __t3595 = v_W5088.clone(); - let __t3596 = - Value::sym(interp.intern("-->")); - rt::eq(&__t3595, &__t3596) - }; - if rt::is_truthy(interp, &__t3620)? { + let __t3279 = Value::bool( + (v_W5088.clone()).as_sym() + == Some( + interp.intern_static("-->"), + ), + ); + if rt::is_truthy(interp, &__t3279)? { { let v_W5089 = { - let __t3598 = { - let __t3597 = + let __t3261 = { + let __t3260 = v_W5087.clone(); - rt::tl(&__t3597)? + rt::tl(&__t3260)? }; - let __t3599 = v_V5080.clone(); + let __t3262 = v_V5080.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3598, __t3599], + &[__t3261, __t3262], )? }; { - let __t3619 = { - let __t3600 = + let __t3278 = { + let __t3263 = v_W5089.clone(); - rt::is_cons(&__t3600) + rt::is_cons(&__t3263) }; if rt::is_truthy( - interp, &__t3619, + interp, &__t3278, )? { { let v_W5090 = { - let __t3601 = + let __t3264 = v_W5089.clone(); - rt::hd(&__t3601)? + rt::hd(&__t3264)? }; { let v_W5091 = { - let __t3603 = { - let __t3602 = v_W5089.clone(); - rt::tl(&__t3602)? + let __t3266 = { + let __t3265 = v_W5089.clone(); + rt::tl(&__t3265)? }; - let __t3604 = + let __t3267 = v_V5080 .clone( ); - rt::apply_direct(interp, "shen.lazyderef", &[__t3603, __t3604])? + rt::apply_direct(interp, "shen.lazyderef", &[__t3266, __t3267])? }; { - let __t3618 = { - let __t3605 = v_W5091.clone(); - let __t3606 = Value::nil(); - rt::eq(&__t3605, &__t3606) - }; - if rt::is_truthy(interp, &__t3618)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3607 = v_V5080.clone(); let __t3608 = v_V5081.clone(); let __t3609 = v_W5084.clone(); let __t3617 = { let v_V5078 = v_V5078.clone(); let v_V5080 = v_V5080.clone(); let v_V5081 = v_V5081.clone(); let v_V5083 = v_V5083.clone(); let v_W5084 = v_W5084.clone(); let v_W5090 = v_W5090.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3610 = v_V5078.clone(); let __t3611 = v_W5090.clone(); let __t3612 = Value::nil(); let __t3613 = v_V5080.clone(); let __t3614 = v_V5081.clone(); let __t3615 = v_W5084.clone(); let __t3616 = v_V5083.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t3610, __t3611, __t3612, __t3613, __t3614, __t3615, __t3616])? }), vec![v_V5078, v_V5080, v_V5081, v_V5083, v_W5084, v_W5090], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3607, __t3608, __t3609, __t3617])? } } } else { Value::bool(false) } + let __t3277 = Value::bool((v_W5091.clone()).is_nil()); + if rt::is_truthy(interp, &__t3277)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let _ = v_V5080.clone(); let __t3276 = v_V5081.clone(); let __n = v_W5084.clone(); let __t3275 = { let __t3268 = v_V5078.clone(); let __t3269 = v_W5090.clone(); let __t3270 = Value::nil(); let __t3271 = v_V5080.clone(); let __t3272 = v_V5081.clone(); let __t3273 = v_W5084.clone(); let __t3274 = v_V5083.clone(); aot_shen_x2e_t_x2a__x2d_correct(interp, &[__t3268, __t3269, __t3270, __t3271, __t3272, __t3273, __t3274])? }; if rt::is_truthy(interp, &rt::eq(&__t3275, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t3276])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t3276])?; } } __t3275 } } } else { Value::bool(false) } } } } @@ -8799,52 +8519,52 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( } }; { - let __t3626 = { - let __t3624 = v_W5085.clone(); - let __t3625 = Value::bool(false); - rt::eq(&__t3624, &__t3625) + let __t3285 = { + let __t3283 = v_W5085.clone(); + let __t3284 = Value::bool(false); + rt::eq(&__t3283, &__t3284) }; - if match rt::is_truthy(interp, &__t3626) { + if match rt::is_truthy(interp, &__t3285) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5092 = { - let __t3670 = { - let __t3627 = v_V5081.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3627])? + let __t3327 = { + let __t3286 = v_V5081.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3286])? }; - if rt::is_truthy(interp, &__t3670)? { + if rt::is_truthy(interp, &__t3327)? { { let v_W5093 = { - let __t3628 = v_V5080.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t3628])? + let __t3287 = v_V5080.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t3287])? }; { - let __t3629 = v_V5080.clone(); - let __t3669 = { + let __t3288 = v_V5080.clone(); + let __t3326 = { let v_W5094 = { - let __t3630 = v_V5080.clone(); + let __t3289 = v_V5080.clone(); rt::apply_direct( interp, "shen.newpv", - &[__t3630], + &[__t3289], )? }; { - let __t3631 = v_V5080.clone(); - let __t3668 = { + let __t3290 = v_V5080.clone(); + let __t3325 = { let v_W5095 = { - let __t3632 = v_V5080.clone(); + let __t3291 = v_V5080.clone(); rt::apply_direct( interp, "shen.newpv", - &[__t3632], + &[__t3291], )? }; { - let __t3633 = v_V5080.clone(); - let __t3667 = { + let __t3292 = v_V5080.clone(); + let __t3324 = { let _ = { rt::apply_direct( interp, @@ -8853,20 +8573,19 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( )? }; { - let __t3635 = { - let __t3634 = + let __t3294 = { + let __t3293 = v_V5077.clone(); - rt::apply_direct( + aot_shen_x2e_freshterms( interp, - "shen.freshterms", - &[__t3634], + &[__t3293], )? }; - let __t3636 = v_W5093.clone(); - let __t3637 = v_V5080.clone(); - let __t3638 = v_V5081.clone(); - let __t3639 = v_W5084.clone(); - let __t3666 = { + let __t3295 = v_W5093.clone(); + let __t3296 = v_V5080.clone(); + let __t3297 = v_V5081.clone(); + let __t3298 = v_W5084.clone(); + let __t3323 = { let v_V5077 = v_V5077.clone(); let v_V5078 = @@ -8892,35 +8611,35 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( 0, move |interp, _args| { Ok({ - let __t3640 = + let __t3299 = v_V5077 .clone( ); - let __t3641 = + let __t3300 = v_V5079 .clone( ); - let __t3642 = + let __t3301 = v_W5093 .clone( ); - let __t3643 = + let __t3302 = v_W5094 .clone( ); - let __t3644 = + let __t3303 = v_V5080 .clone( ); - let __t3645 = + let __t3304 = v_V5081 .clone( ); - let __t3646 = + let __t3305 = v_W5084 .clone( ); - let __t3665 = { + let __t3322 = { let v_V5077 = v_V5077.clone(); let v_V5078 = v_V5078.clone(); let v_V5079 = v_V5079.clone(); @@ -8930,9 +8649,9 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( let v_W5084 = v_W5084.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); - rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3647 = v_V5080.clone(); let __t3648 = v_V5081.clone(); let __t3649 = v_W5084.clone(); let __t3664 = { let v_V5077 = v_V5077.clone(); let v_V5078 = v_V5078.clone(); let v_V5079 = v_V5079.clone(); let v_V5080 = v_V5080.clone(); let v_V5081 = v_V5081.clone(); let v_V5083 = v_V5083.clone(); let v_W5084 = v_W5084.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3650 = v_V5077.clone(); let __t3651 = v_V5079.clone(); let __t3652 = v_W5095.clone(); let __t3653 = v_V5080.clone(); let __t3654 = v_V5081.clone(); let __t3655 = v_W5084.clone(); let __t3663 = { let v_V5078 = v_V5078.clone(); let v_V5080 = v_V5080.clone(); let v_V5081 = v_V5081.clone(); let v_V5083 = v_V5083.clone(); let v_W5084 = v_W5084.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3656 = v_V5078.clone(); let __t3657 = v_W5094.clone(); let __t3658 = v_W5095.clone(); let __t3659 = v_V5080.clone(); let __t3660 = v_V5081.clone(); let __t3661 = v_W5084.clone(); let __t3662 = v_V5083.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t3656, __t3657, __t3658, __t3659, __t3660, __t3661, __t3662])? }), vec![v_V5078, v_V5080, v_V5081, v_V5083, v_W5084, v_W5094, v_W5095], interp) }; rt::apply_direct(interp, "shen.myassume", &[__t3650, __t3651, __t3652, __t3653, __t3654, __t3655, __t3663])? }), vec![v_V5077, v_V5078, v_V5079, v_V5080, v_V5081, v_V5083, v_W5084, v_W5094, v_W5095], interp) }; rt::apply_direct(interp, "shen.cut", &[__t3647, __t3648, __t3649, __t3664])? }), vec![v_V5077, v_V5078, v_V5079, v_V5080, v_V5081, v_V5083, v_W5084, v_W5094, v_W5095], interp) + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let _ = v_V5080.clone(); let __t3321 = v_V5081.clone(); let __n = v_W5084.clone(); let __t3320 = { let __t3306 = v_V5077.clone(); let __t3307 = v_V5079.clone(); let __t3308 = v_W5095.clone(); let __t3309 = v_V5080.clone(); let __t3310 = v_V5081.clone(); let __t3311 = v_W5084.clone(); let __t3319 = { let v_V5078 = v_V5078.clone(); let v_V5080 = v_V5080.clone(); let v_V5081 = v_V5081.clone(); let v_V5083 = v_V5083.clone(); let v_W5084 = v_W5084.clone(); let v_W5094 = v_W5094.clone(); let v_W5095 = v_W5095.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3312 = v_V5078.clone(); let __t3313 = v_W5094.clone(); let __t3314 = v_W5095.clone(); let __t3315 = v_V5080.clone(); let __t3316 = v_V5081.clone(); let __t3317 = v_W5084.clone(); let __t3318 = v_V5083.clone(); aot_shen_x2e_t_x2a__x2d_correct(interp, &[__t3312, __t3313, __t3314, __t3315, __t3316, __t3317, __t3318])? }), vec![v_V5078, v_V5080, v_V5081, v_V5083, v_W5084, v_W5094, v_W5095], interp) }; aot_shen_x2e_myassume(interp, &[__t3306, __t3307, __t3308, __t3309, __t3310, __t3311, __t3319])? }; if rt::is_truthy(interp, &rt::eq(&__t3320, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t3321])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t3321])?; } } __t3320 }), vec![v_V5077, v_V5078, v_V5079, v_V5080, v_V5081, v_V5083, v_W5084, v_W5094, v_W5095], interp) }; - rt::apply_direct(interp, "shen.t*-integrity", &[__t3640, __t3641, __t3642, __t3643, __t3644, __t3645, __t3646, __t3665])? + aot_shen_x2e_t_x2a__x2d_integrity(interp, &[__t3299, __t3300, __t3301, __t3302, __t3303, __t3304, __t3305, __t3322])? }) }, vec![ @@ -8945,13 +8664,12 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( interp, ) }; - rt::apply_direct( + aot_shen_x2e_p_x2d_hyps( interp, - "shen.p-hyps", &[ - __t3635, __t3636, - __t3637, __t3638, - __t3639, __t3666, + __t3294, __t3295, + __t3296, __t3297, + __t3298, __t3323, ], )? } @@ -8959,21 +8677,21 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( rt::apply_direct( interp, "shen.gc", - &[__t3633, __t3667], + &[__t3292, __t3324], )? } }; rt::apply_direct( interp, "shen.gc", - &[__t3631, __t3668], + &[__t3290, __t3325], )? } }; rt::apply_direct( interp, "shen.gc", - &[__t3629, __t3669], + &[__t3288, __t3326], )? } } @@ -8982,22 +8700,22 @@ pub fn aot_shen_x2e_t_x2a__x2d_rule_x2d_h( } }; { - let __t3673 = { - let __t3671 = v_W5092.clone(); - let __t3672 = Value::bool(false); - rt::eq(&__t3671, &__t3672) + let __t3330 = { + let __t3328 = v_W5092.clone(); + let __t3329 = Value::bool(false); + rt::eq(&__t3328, &__t3329) }; - if match rt::is_truthy(interp, &__t3673) { + if match rt::is_truthy(interp, &__t3330) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3674 = v_V5081.clone(); - let __t3675 = v_W5084.clone(); + let __t3331 = v_V5081.clone(); + let __t3332 = v_W5084.clone(); rt::apply_direct( interp, "shen.unlock", - &[__t3674, __t3675], + &[__t3331, __t3332], )? }); } else { @@ -9045,32 +8763,28 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< loop { { let v_W5103 = { - let __t3693 = { - let __t3676 = v_V5100.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3676])? + let __t3346 = { + let __t3333 = v_V5100.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3333])? }; - if rt::is_truthy(interp, &__t3693)? { + if rt::is_truthy(interp, &__t3346)? { { let v_W5104 = { - let __t3677 = v_V5096.clone(); - let __t3678 = v_V5099.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t3677, __t3678])? + let __t3334 = v_V5096.clone(); + let __t3335 = v_V5099.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3334, __t3335])? }; { - let __t3692 = { - let __t3679 = v_W5104.clone(); - let __t3680 = Value::nil(); - rt::eq(&__t3679, &__t3680) - }; - if rt::is_truthy(interp, &__t3692)? { + let __t3345 = Value::bool((v_W5104.clone()).is_nil()); + if rt::is_truthy(interp, &__t3345)? { { let v_W5105 = { - let __t3681 = v_V5098.clone(); - let __t3682 = v_V5099.clone(); + let __t3336 = v_V5098.clone(); + let __t3337 = v_V5099.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3681, __t3682], + &[__t3336, __t3337], )? }; { @@ -9100,35 +8814,31 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< ) }; { - let __t3691 = { - let __t3683 = v_W5105.clone(); - let __t3684 = Value::nil(); - rt::eq(&__t3683, &__t3684) - }; - if rt::is_truthy(interp, &__t3691)? { + let __t3344 = Value::bool((v_W5105.clone()).is_nil()); + if rt::is_truthy(interp, &__t3344)? { rt::apply_value(interp, v_W5106.clone(), &[])? } else { { - let __t3690 = { - let __t3685 = v_W5105.clone(); + let __t3343 = { + let __t3338 = v_W5105.clone(); rt::apply_direct( interp, "shen.pvar?", - &[__t3685], + &[__t3338], )? }; - if rt::is_truthy(interp, &__t3690)? { + if rt::is_truthy(interp, &__t3343)? { { - let __t3686 = v_W5105.clone(); - let __t3687 = Value::nil(); - let __t3688 = v_V5099.clone(); - let __t3689 = v_W5106.clone(); + let __t3339 = v_W5105.clone(); + let __t3340 = Value::nil(); + let __t3341 = v_V5099.clone(); + let __t3342 = v_W5106.clone(); rt::apply_direct( interp, "shen.bind!", &[ - __t3686, __t3687, __t3688, - __t3689, + __t3339, __t3340, __t3341, + __t3342, ], )? } @@ -9150,119 +8860,115 @@ pub fn aot_shen_x2e_myassume(interp: &mut Interp, args: &[Value]) -> ShenResult< } }; { - let __t3696 = { - let __t3694 = v_W5103.clone(); - let __t3695 = Value::bool(false); - rt::eq(&__t3694, &__t3695) + let __t3349 = { + let __t3347 = v_W5103.clone(); + let __t3348 = Value::bool(false); + rt::eq(&__t3347, &__t3348) }; - if match rt::is_truthy(interp, &__t3696) { + if match rt::is_truthy(interp, &__t3349) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t3698 = { - let __t3697 = v_V5100.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3697])? + let __t3351 = { + let __t3350 = v_V5100.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3350])? }; - if match rt::is_truthy(interp, &__t3698) { + if match rt::is_truthy(interp, &__t3351) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5107 = { - let __t3699 = v_V5096.clone(); - let __t3700 = v_V5099.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t3699, __t3700])? + let __t3352 = v_V5096.clone(); + let __t3353 = v_V5099.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3352, __t3353])? }; { - let __t3702 = { - let __t3701 = v_W5107.clone(); - rt::is_cons(&__t3701) + let __t3355 = { + let __t3354 = v_W5107.clone(); + rt::is_cons(&__t3354) }; - if match rt::is_truthy(interp, &__t3702) { + if match rt::is_truthy(interp, &__t3355) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5108 = { - let __t3703 = v_W5107.clone(); - rt::hd(&__t3703)? + let __t3356 = v_W5107.clone(); + rt::hd(&__t3356)? }; { let v_W5109 = { - let __t3704 = v_W5107.clone(); - rt::tl(&__t3704)? + let __t3357 = v_W5107.clone(); + rt::tl(&__t3357)? }; { let v_W5110 = { - let __t3705 = v_V5097.clone(); - let __t3706 = v_V5099.clone(); + let __t3358 = v_V5097.clone(); + let __t3359 = v_V5099.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3705, __t3706], + &[__t3358, __t3359], )? }; { - let __t3708 = { - let __t3707 = v_W5110.clone(); - rt::is_cons(&__t3707) + let __t3361 = { + let __t3360 = v_W5110.clone(); + rt::is_cons(&__t3360) }; - if match rt::is_truthy(interp, &__t3708) { + if match rt::is_truthy(interp, &__t3361) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5111 = { - let __t3709 = v_W5110.clone(); - rt::hd(&__t3709)? + let __t3362 = v_W5110.clone(); + rt::hd(&__t3362)? }; { let v_W5112 = { - let __t3711 = { - let __t3710 = + let __t3364 = { + let __t3363 = v_W5110.clone(); - rt::tl(&__t3710)? + rt::tl(&__t3363)? }; - let __t3712 = + let __t3365 = v_V5099.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3711, __t3712], + &[__t3364, __t3365], )? }; { - let __t3714 = { - let __t3713 = + let __t3367 = { + let __t3366 = v_W5112.clone(); - rt::is_cons(&__t3713) + rt::is_cons(&__t3366) }; if match rt::is_truthy( - interp, &__t3714, + interp, &__t3367, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5113 = { - let __t3716 = { - let __t3715 = v_W5112.clone(); - rt::hd(&__t3715)? + let __t3369 = { + let __t3368 = v_W5112.clone(); + rt::hd(&__t3368)? }; - let __t3717 = + let __t3370 = v_V5099 .clone( ); - rt::apply_direct(interp, "shen.lazyderef", &[__t3716, __t3717])? + rt::apply_direct(interp, "shen.lazyderef", &[__t3369, __t3370])? }; { - let __t3720 = { - let __t3718 = v_W5113.clone(); - let __t3719 = Value::sym(interp.intern("-->")); - rt::eq(&__t3718, &__t3719) - }; - if match rt::is_truthy(interp, &__t3720) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5114 = { let __t3722 = { let __t3721 = v_W5112.clone(); rt::tl(&__t3721)? }; let __t3723 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3722, __t3723])? }; { let __t3725 = { let __t3724 = v_W5114.clone(); rt::is_cons(&__t3724) }; if match rt::is_truthy(interp, &__t3725) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5115 = { let __t3726 = v_W5114.clone(); rt::hd(&__t3726)? }; { let v_W5116 = { let __t3728 = { let __t3727 = v_W5114.clone(); rt::tl(&__t3727)? }; let __t3729 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3728, __t3729])? }; { let __t3732 = { let __t3730 = v_W5116.clone(); let __t3731 = Value::nil(); rt::eq(&__t3730, &__t3731) }; if match rt::is_truthy(interp, &__t3732) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5117 = { let __t3733 = v_V5098.clone(); let __t3734 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3733, __t3734])? }; { let v_W5118 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5119 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5120 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5121 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5121 = v_Z5121.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5122 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3735 = v_W5111.clone(); let __t3736 = v_Z5121.clone(); let __t3737 = v_V5099.clone(); let __t3738 = v_V5100.clone(); let __t3739 = v_V5101.clone(); let __t3760 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5122 = v_Z5122.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3740 = v_W5108.clone(); let __t3741 = v_Z5119.clone(); let __t3742 = v_V5099.clone(); let __t3743 = v_V5100.clone(); let __t3744 = v_V5101.clone(); let __t3759 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5109 = v_W5109.clone(); let v_W5115 = v_W5115.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5122 = v_Z5122.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3745 = v_Z5120.clone(); let __t3747 = { let __t3746 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t3746])? }; let __t3748 = v_V5099.clone(); let __t3749 = v_V5100.clone(); let __t3750 = v_V5101.clone(); let __t3758 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5109 = v_W5109.clone(); let v_W5115 = v_W5115.clone(); let v_Z5122 = v_Z5122.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3751 = v_W5109.clone(); let __t3752 = v_W5115.clone(); let __t3753 = v_Z5122.clone(); let __t3754 = v_V5099.clone(); let __t3755 = v_V5100.clone(); let __t3756 = v_V5101.clone(); let __t3757 = v_V5102.clone(); rt::apply_direct(interp, "shen.myassume", &[__t3751, __t3752, __t3753, __t3754, __t3755, __t3756, __t3757])? }), vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5109, v_W5115, v_Z5122], interp) }; rt::apply_direct(interp, "bind", &[__t3745, __t3747, __t3748, __t3749, __t3750, __t3758])? }), vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5109, v_W5115, v_Z5120, v_Z5122], interp) }; rt::apply_direct(interp, "is!", &[__t3740, __t3741, __t3742, __t3743, __t3744, __t3759])? }), vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5115, v_Z5119, v_Z5120, v_Z5122], interp) }; rt::apply_direct(interp, "is!", &[__t3735, __t3736, __t3737, __t3738, __t3739, __t3760])? } }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119, v_Z5120, v_Z5121], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119, v_Z5120], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115], interp) }; { let __t3762 = { let __t3761 = v_W5117.clone(); rt::is_cons(&__t3761) }; if match rt::is_truthy(interp, &__t3762) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5123 = { let __t3764 = { let __t3763 = v_W5117.clone(); rt::hd(&__t3763)? }; let __t3765 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3764, __t3765])? }; { let v_W5124 = { let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5125 = args[0].clone(); Ok({ let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); let v_Z5125 = v_Z5125.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5126 = args[0].clone(); Ok({ let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); let v_Z5125 = v_Z5125.clone(); let v_Z5126 = v_Z5126.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5127 = args[0].clone(); Ok({ let v_W5128 = { let __t3766 = v_W5117.clone(); rt::tl(&__t3766)? }; { let __t3772 = { let __t3770 = { let __t3768 = { let __t3767 = v_Z5125.clone(); rt::apply_value(interp, v_W5118.clone(), &[__t3767])? }; let __t3769 = v_Z5126.clone(); rt::apply_value(interp, __t3768, &[__t3769])? }; let __t3771 = v_Z5127.clone(); rt::apply_value(interp, __t3770, &[__t3771])? }; let __t3773 = v_W5128.clone(); rt::apply_value(interp, __t3772, &[__t3773])? } }) }, vec![v_W5117, v_W5118, v_Z5125, v_Z5126], interp) }) }, vec![v_W5117, v_W5118, v_Z5125], interp) }) }, vec![v_W5117, v_W5118], interp) }; { let __t3775 = { let __t3774 = v_W5123.clone(); rt::is_cons(&__t3774) }; if match rt::is_truthy(interp, &__t3775) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5129 = { let __t3776 = v_W5123.clone(); rt::hd(&__t3776)? }; { let v_W5130 = { let __t3778 = { let __t3777 = v_W5123.clone(); rt::tl(&__t3777)? }; let __t3779 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3778, __t3779])? }; { let v_W5131 = { let v_W5124 = v_W5124.clone(); let v_W5129 = v_W5129.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5132 = args[0].clone(); Ok({ let v_W5124 = v_W5124.clone(); let v_W5129 = v_W5129.clone(); let v_Z5132 = v_Z5132.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5133 = args[0].clone(); Ok({ let __t3783 = { let __t3781 = { let __t3780 = v_W5129.clone(); rt::apply_value(interp, v_W5124.clone(), &[__t3780])? }; let __t3782 = v_Z5132.clone(); rt::apply_value(interp, __t3781, &[__t3782])? }; let __t3784 = v_Z5133.clone(); rt::apply_value(interp, __t3783, &[__t3784])? }) }, vec![v_W5124, v_W5129, v_Z5132], interp) }) }, vec![v_W5124, v_W5129], interp) }; { let __t3786 = { let __t3785 = v_W5130.clone(); rt::is_cons(&__t3785) }; if match rt::is_truthy(interp, &__t3786) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5134 = { let __t3787 = v_W5130.clone(); rt::hd(&__t3787)? }; { let v_W5135 = { let __t3789 = { let __t3788 = v_W5130.clone(); rt::tl(&__t3788)? }; let __t3790 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3789, __t3790])? }; { let v_W5136 = { let v_W5131 = v_W5131.clone(); let v_W5134 = v_W5134.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5137 = args[0].clone(); Ok({ let __t3792 = { let __t3791 = v_W5134.clone(); rt::apply_value(interp, v_W5131.clone(), &[__t3791])? }; let __t3793 = v_Z5137.clone(); rt::apply_value(interp, __t3792, &[__t3793])? }) }, vec![v_W5131, v_W5134], interp) }; { let __t3795 = { let __t3794 = v_W5135.clone(); rt::is_cons(&__t3794) }; if match rt::is_truthy(interp, &__t3795) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5138 = { let __t3796 = v_W5135.clone(); rt::hd(&__t3796)? }; { let v_W5139 = { let __t3798 = { let __t3797 = v_W5135.clone(); rt::tl(&__t3797)? }; let __t3799 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3798, __t3799])? }; { let v_W5140 = { let v_W5136 = v_W5136.clone(); let v_W5138 = v_W5138.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3800 = v_W5138.clone(); rt::apply_value(interp, v_W5136.clone(), &[__t3800])? }), vec![v_W5136, v_W5138], interp) }; { let __t3803 = { let __t3801 = v_W5139.clone(); let __t3802 = Value::nil(); rt::eq(&__t3801, &__t3802) }; if match rt::is_truthy(interp, &__t3803) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W5140.clone(), &[])?); } else { { let __t3805 = { let __t3804 = v_W5139.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3804])? }; if match rt::is_truthy(interp, &__t3805) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t3806 = v_W5139.clone(); let __t3807 = Value::nil(); let __t3808 = v_V5099.clone(); let __t3809 = v_W5140.clone(); rt::apply_direct(interp, "shen.bind!", &[__t3806, __t3807, __t3808, __t3809])? }); } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3811 = { let __t3810 = v_W5135.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3810])? }; if match rt::is_truthy(interp, &__t3811) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5141 = { let __t3812 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3812])? }; break Ok({ let __t3813 = v_V5099.clone(); let __t3821 = { let __t3814 = v_W5135.clone(); let __t3817 = { let __t3815 = v_W5141.clone(); let __t3816 = Value::nil(); rt::cons(&__t3815, &__t3816) }; let __t3818 = v_V5099.clone(); let __t3820 = { let v_W5136 = v_W5136.clone(); let v_W5141 = v_W5141.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3819 = v_W5141.clone(); rt::apply_value(interp, v_W5136.clone(), &[__t3819])? }), vec![v_W5136, v_W5141], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3814, __t3817, __t3818, __t3820])? }; rt::apply_direct(interp, "shen.gc", &[__t3813, __t3821])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3823 = { let __t3822 = v_W5130.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3822])? }; if match rt::is_truthy(interp, &__t3823) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5142 = { let __t3824 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3824])? }; break Ok({ let __t3825 = v_V5099.clone(); let __t3840 = { let v_W5143 = { let __t3826 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3826])? }; { let __t3827 = v_V5099.clone(); let __t3839 = { let __t3828 = v_W5130.clone(); let __t3833 = { let __t3829 = v_W5142.clone(); let __t3832 = { let __t3830 = v_W5143.clone(); let __t3831 = Value::nil(); rt::cons(&__t3830, &__t3831) }; rt::cons(&__t3829, &__t3832) }; let __t3834 = v_V5099.clone(); let __t3838 = { let v_W5131 = v_W5131.clone(); let v_W5142 = v_W5142.clone(); let v_W5143 = v_W5143.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3836 = { let __t3835 = v_W5142.clone(); rt::apply_value(interp, v_W5131.clone(), &[__t3835])? }; let __t3837 = v_W5143.clone(); rt::apply_value(interp, __t3836, &[__t3837])? }), vec![v_W5131, v_W5142, v_W5143], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3828, __t3833, __t3834, __t3838])? }; rt::apply_direct(interp, "shen.gc", &[__t3827, __t3839])? } }; rt::apply_direct(interp, "shen.gc", &[__t3825, __t3840])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3842 = { let __t3841 = v_W5123.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3841])? }; if match rt::is_truthy(interp, &__t3842) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5144 = { let __t3843 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3843])? }; break Ok({ let __t3844 = v_V5099.clone(); let __t3866 = { let v_W5145 = { let __t3845 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3845])? }; { let __t3846 = v_V5099.clone(); let __t3865 = { let v_W5146 = { let __t3847 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3847])? }; { let __t3848 = v_V5099.clone(); let __t3864 = { let __t3849 = v_W5123.clone(); let __t3856 = { let __t3850 = v_W5144.clone(); let __t3855 = { let __t3851 = v_W5145.clone(); let __t3854 = { let __t3852 = v_W5146.clone(); let __t3853 = Value::nil(); rt::cons(&__t3852, &__t3853) }; rt::cons(&__t3851, &__t3854) }; rt::cons(&__t3850, &__t3855) }; let __t3857 = v_V5099.clone(); let __t3863 = { let v_W5124 = v_W5124.clone(); let v_W5144 = v_W5144.clone(); let v_W5145 = v_W5145.clone(); let v_W5146 = v_W5146.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3861 = { let __t3859 = { let __t3858 = v_W5144.clone(); rt::apply_value(interp, v_W5124.clone(), &[__t3858])? }; let __t3860 = v_W5145.clone(); rt::apply_value(interp, __t3859, &[__t3860])? }; let __t3862 = v_W5146.clone(); rt::apply_value(interp, __t3861, &[__t3862])? }), vec![v_W5124, v_W5144, v_W5145, v_W5146], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3849, __t3856, __t3857, __t3863])? }; rt::apply_direct(interp, "shen.gc", &[__t3848, __t3864])? } }; rt::apply_direct(interp, "shen.gc", &[__t3846, __t3865])? } }; rt::apply_direct(interp, "shen.gc", &[__t3844, __t3866])? }); } } else { break Ok(Value::bool(false)); } } } } } } } else { { let __t3868 = { let __t3867 = v_W5117.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3867])? }; if match rt::is_truthy(interp, &__t3868) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5147 = { let __t3869 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3869])? }; break Ok({ let __t3870 = v_V5099.clone(); let __t3899 = { let v_W5148 = { let __t3871 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3871])? }; { let __t3872 = v_V5099.clone(); let __t3898 = { let v_W5149 = { let __t3873 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3873])? }; { let __t3874 = v_V5099.clone(); let __t3897 = { let v_W5150 = { let __t3875 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3875])? }; { let __t3876 = v_V5099.clone(); let __t3896 = { let __t3877 = v_W5117.clone(); let __t3886 = { let __t3884 = { let __t3878 = v_W5147.clone(); let __t3883 = { let __t3879 = v_W5148.clone(); let __t3882 = { let __t3880 = v_W5149.clone(); let __t3881 = Value::nil(); rt::cons(&__t3880, &__t3881) }; rt::cons(&__t3879, &__t3882) }; rt::cons(&__t3878, &__t3883) }; let __t3885 = v_W5150.clone(); rt::cons(&__t3884, &__t3885) }; let __t3887 = v_V5099.clone(); let __t3895 = { let v_W5118 = v_W5118.clone(); let v_W5147 = v_W5147.clone(); let v_W5148 = v_W5148.clone(); let v_W5149 = v_W5149.clone(); let v_W5150 = v_W5150.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3893 = { let __t3891 = { let __t3889 = { let __t3888 = v_W5147.clone(); rt::apply_value(interp, v_W5118.clone(), &[__t3888])? }; let __t3890 = v_W5148.clone(); rt::apply_value(interp, __t3889, &[__t3890])? }; let __t3892 = v_W5149.clone(); rt::apply_value(interp, __t3891, &[__t3892])? }; let __t3894 = v_W5150.clone(); rt::apply_value(interp, __t3893, &[__t3894])? }), vec![v_W5118, v_W5147, v_W5148, v_W5149, v_W5150], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t3877, __t3886, __t3887, __t3895])? }; rt::apply_direct(interp, "shen.gc", &[__t3876, __t3896])? } }; rt::apply_direct(interp, "shen.gc", &[__t3874, __t3897])? } }; rt::apply_direct(interp, "shen.gc", &[__t3872, __t3898])? } }; rt::apply_direct(interp, "shen.gc", &[__t3870, __t3899])? }); } } else { break Ok(Value::bool(false)); } } } } } } } else { break Ok(Value::bool(false)); } } } } } else { break Ok(Value::bool(false)); } } } } else { break Ok(Value::bool(false)); } + let __t3371 = Value::bool((v_W5113.clone()).as_sym() == Some(interp.intern_static("-->"))); + if match rt::is_truthy(interp, &__t3371) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5114 = { let __t3373 = { let __t3372 = v_W5112.clone(); rt::tl(&__t3372)? }; let __t3374 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3373, __t3374])? }; { let __t3376 = { let __t3375 = v_W5114.clone(); rt::is_cons(&__t3375) }; if match rt::is_truthy(interp, &__t3376) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5115 = { let __t3377 = v_W5114.clone(); rt::hd(&__t3377)? }; { let v_W5116 = { let __t3379 = { let __t3378 = v_W5114.clone(); rt::tl(&__t3378)? }; let __t3380 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3379, __t3380])? }; { let __t3381 = Value::bool((v_W5116.clone()).is_nil()); if match rt::is_truthy(interp, &__t3381) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5117 = { let __t3382 = v_V5098.clone(); let __t3383 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3382, __t3383])? }; { let v_W5118 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5119 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5120 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5121 = args[0].clone(); Ok({ let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5111 = v_W5111.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5121 = v_Z5121.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5122 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3384 = v_W5111.clone(); let __t3385 = v_Z5121.clone(); let __t3386 = v_V5099.clone(); let __t3387 = v_V5100.clone(); let __t3388 = v_V5101.clone(); let __t3406 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5108 = v_W5108.clone(); let v_W5109 = v_W5109.clone(); let v_W5115 = v_W5115.clone(); let v_Z5119 = v_Z5119.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5122 = v_Z5122.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3389 = v_W5108.clone(); let __t3390 = v_Z5119.clone(); let __t3391 = v_V5099.clone(); let __t3392 = v_V5100.clone(); let __t3393 = v_V5101.clone(); let __t3405 = { let v_V5099 = v_V5099.clone(); let v_V5100 = v_V5100.clone(); let v_V5101 = v_V5101.clone(); let v_V5102 = v_V5102.clone(); let v_W5109 = v_W5109.clone(); let v_W5115 = v_W5115.clone(); let v_Z5120 = v_Z5120.clone(); let v_Z5122 = v_Z5122.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3401 = v_Z5120.clone(); let __t3402 = Value::sym(interp.intern_static(":")); let __t3403 = v_V5099.clone(); let _ = v_V5100.clone(); let _ = v_V5101.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3401, __t3402, __t3403])?; let __t3404 = { let __t3394 = v_W5109.clone(); let __t3395 = v_W5115.clone(); let __t3396 = v_Z5122.clone(); let __t3397 = v_V5099.clone(); let __t3398 = v_V5100.clone(); let __t3399 = v_V5101.clone(); let __t3400 = v_V5102.clone(); aot_shen_x2e_myassume(interp, &[__t3394, __t3395, __t3396, __t3397, __t3398, __t3399, __t3400])? }; if rt::is_truthy(interp, &rt::eq(&__t3404, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3401, __t3403, __t3404])? } else { __t3404 } }), vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5109, v_W5115, v_Z5120, v_Z5122], interp) }; rt::apply_direct(interp, "is!", &[__t3389, __t3390, __t3391, __t3392, __t3393, __t3405])? }), vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5115, v_Z5119, v_Z5120, v_Z5122], interp) }; rt::apply_direct(interp, "is!", &[__t3384, __t3385, __t3386, __t3387, __t3388, __t3406])? } }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119, v_Z5120, v_Z5121], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119, v_Z5120], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115, v_Z5119], interp) }) }, vec![v_V5099, v_V5100, v_V5101, v_V5102, v_W5108, v_W5109, v_W5111, v_W5115], interp) }; { let __t3408 = { let __t3407 = v_W5117.clone(); rt::is_cons(&__t3407) }; if match rt::is_truthy(interp, &__t3408) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5123 = { let __t3410 = { let __t3409 = v_W5117.clone(); rt::hd(&__t3409)? }; let __t3411 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3410, __t3411])? }; { let v_W5124 = { let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5125 = args[0].clone(); Ok({ let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); let v_Z5125 = v_Z5125.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5126 = args[0].clone(); Ok({ let v_W5117 = v_W5117.clone(); let v_W5118 = v_W5118.clone(); let v_Z5125 = v_Z5125.clone(); let v_Z5126 = v_Z5126.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5127 = args[0].clone(); Ok({ let v_W5128 = { let __t3412 = v_W5117.clone(); rt::tl(&__t3412)? }; { let __t3418 = { let __t3416 = { let __t3414 = { let __t3413 = v_Z5125.clone(); rt::apply_value(interp, v_W5118.clone(), &[__t3413])? }; let __t3415 = v_Z5126.clone(); rt::apply_value(interp, __t3414, &[__t3415])? }; let __t3417 = v_Z5127.clone(); rt::apply_value(interp, __t3416, &[__t3417])? }; let __t3419 = v_W5128.clone(); rt::apply_value(interp, __t3418, &[__t3419])? } }) }, vec![v_W5117, v_W5118, v_Z5125, v_Z5126], interp) }) }, vec![v_W5117, v_W5118, v_Z5125], interp) }) }, vec![v_W5117, v_W5118], interp) }; { let __t3421 = { let __t3420 = v_W5123.clone(); rt::is_cons(&__t3420) }; if match rt::is_truthy(interp, &__t3421) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5129 = { let __t3422 = v_W5123.clone(); rt::hd(&__t3422)? }; { let v_W5130 = { let __t3424 = { let __t3423 = v_W5123.clone(); rt::tl(&__t3423)? }; let __t3425 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3424, __t3425])? }; { let v_W5131 = { let v_W5124 = v_W5124.clone(); let v_W5129 = v_W5129.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5132 = args[0].clone(); Ok({ let v_W5124 = v_W5124.clone(); let v_W5129 = v_W5129.clone(); let v_Z5132 = v_Z5132.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5133 = args[0].clone(); Ok({ let __t3429 = { let __t3427 = { let __t3426 = v_W5129.clone(); rt::apply_value(interp, v_W5124.clone(), &[__t3426])? }; let __t3428 = v_Z5132.clone(); rt::apply_value(interp, __t3427, &[__t3428])? }; let __t3430 = v_Z5133.clone(); rt::apply_value(interp, __t3429, &[__t3430])? }) }, vec![v_W5124, v_W5129, v_Z5132], interp) }) }, vec![v_W5124, v_W5129], interp) }; { let __t3432 = { let __t3431 = v_W5130.clone(); rt::is_cons(&__t3431) }; if match rt::is_truthy(interp, &__t3432) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5134 = { let __t3433 = v_W5130.clone(); rt::hd(&__t3433)? }; { let v_W5135 = { let __t3435 = { let __t3434 = v_W5130.clone(); rt::tl(&__t3434)? }; let __t3436 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3435, __t3436])? }; { let v_W5136 = { let v_W5131 = v_W5131.clone(); let v_W5134 = v_W5134.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5137 = args[0].clone(); Ok({ let __t3438 = { let __t3437 = v_W5134.clone(); rt::apply_value(interp, v_W5131.clone(), &[__t3437])? }; let __t3439 = v_Z5137.clone(); rt::apply_value(interp, __t3438, &[__t3439])? }) }, vec![v_W5131, v_W5134], interp) }; { let __t3441 = { let __t3440 = v_W5135.clone(); rt::is_cons(&__t3440) }; if match rt::is_truthy(interp, &__t3441) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5138 = { let __t3442 = v_W5135.clone(); rt::hd(&__t3442)? }; { let v_W5139 = { let __t3444 = { let __t3443 = v_W5135.clone(); rt::tl(&__t3443)? }; let __t3445 = v_V5099.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3444, __t3445])? }; { let v_W5140 = { let v_W5136 = v_W5136.clone(); let v_W5138 = v_W5138.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3446 = v_W5138.clone(); rt::apply_value(interp, v_W5136.clone(), &[__t3446])? }), vec![v_W5136, v_W5138], interp) }; { let __t3447 = Value::bool((v_W5139.clone()).is_nil()); if match rt::is_truthy(interp, &__t3447) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W5140.clone(), &[])?); } else { { let __t3449 = { let __t3448 = v_W5139.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3448])? }; if match rt::is_truthy(interp, &__t3449) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t3450 = v_W5139.clone(); let __t3451 = Value::nil(); let __t3452 = v_V5099.clone(); let __t3453 = v_W5140.clone(); rt::apply_direct(interp, "shen.bind!", &[__t3450, __t3451, __t3452, __t3453])? }); } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3455 = { let __t3454 = v_W5135.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3454])? }; if match rt::is_truthy(interp, &__t3455) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5141 = { let __t3456 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3456])? }; break Ok({ let __t3457 = v_V5099.clone(); let __t3465 = { let __t3461 = v_W5135.clone(); let __t3462 = { let __t3458 = v_W5141.clone(); let __t3459 = Value::nil(); rt::cons(&__t3458, &__t3459) }; let __t3463 = v_V5099.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3461, __t3462, __t3463])?; let __t3464 = { let __t3460 = v_W5141.clone(); rt::apply_value(interp, v_W5136.clone(), &[__t3460])? }; if rt::is_truthy(interp, &rt::eq(&__t3464, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3461, __t3463, __t3464])? } else { __t3464 } }; rt::apply_direct(interp, "shen.gc", &[__t3457, __t3465])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3467 = { let __t3466 = v_W5130.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3466])? }; if match rt::is_truthy(interp, &__t3467) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5142 = { let __t3468 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3468])? }; break Ok({ let __t3469 = v_V5099.clone(); let __t3484 = { let v_W5143 = { let __t3470 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3470])? }; { let __t3471 = v_V5099.clone(); let __t3483 = { let __t3479 = v_W5130.clone(); let __t3480 = { let __t3472 = v_W5142.clone(); let __t3475 = { let __t3473 = v_W5143.clone(); let __t3474 = Value::nil(); rt::cons(&__t3473, &__t3474) }; rt::cons(&__t3472, &__t3475) }; let __t3481 = v_V5099.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3479, __t3480, __t3481])?; let __t3482 = { let __t3477 = { let __t3476 = v_W5142.clone(); rt::apply_value(interp, v_W5131.clone(), &[__t3476])? }; let __t3478 = v_W5143.clone(); rt::apply_value(interp, __t3477, &[__t3478])? }; if rt::is_truthy(interp, &rt::eq(&__t3482, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3479, __t3481, __t3482])? } else { __t3482 } }; rt::apply_direct(interp, "shen.gc", &[__t3471, __t3483])? } }; rt::apply_direct(interp, "shen.gc", &[__t3469, __t3484])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3486 = { let __t3485 = v_W5123.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3485])? }; if match rt::is_truthy(interp, &__t3486) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5144 = { let __t3487 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3487])? }; break Ok({ let __t3488 = v_V5099.clone(); let __t3510 = { let v_W5145 = { let __t3489 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3489])? }; { let __t3490 = v_V5099.clone(); let __t3509 = { let v_W5146 = { let __t3491 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3491])? }; { let __t3492 = v_V5099.clone(); let __t3508 = { let __t3504 = v_W5123.clone(); let __t3505 = { let __t3493 = v_W5144.clone(); let __t3498 = { let __t3494 = v_W5145.clone(); let __t3497 = { let __t3495 = v_W5146.clone(); let __t3496 = Value::nil(); rt::cons(&__t3495, &__t3496) }; rt::cons(&__t3494, &__t3497) }; rt::cons(&__t3493, &__t3498) }; let __t3506 = v_V5099.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3504, __t3505, __t3506])?; let __t3507 = { let __t3502 = { let __t3500 = { let __t3499 = v_W5144.clone(); rt::apply_value(interp, v_W5124.clone(), &[__t3499])? }; let __t3501 = v_W5145.clone(); rt::apply_value(interp, __t3500, &[__t3501])? }; let __t3503 = v_W5146.clone(); rt::apply_value(interp, __t3502, &[__t3503])? }; if rt::is_truthy(interp, &rt::eq(&__t3507, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3504, __t3506, __t3507])? } else { __t3507 } }; rt::apply_direct(interp, "shen.gc", &[__t3492, __t3508])? } }; rt::apply_direct(interp, "shen.gc", &[__t3490, __t3509])? } }; rt::apply_direct(interp, "shen.gc", &[__t3488, __t3510])? }); } } else { break Ok(Value::bool(false)); } } } } } } } else { { let __t3512 = { let __t3511 = v_W5117.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3511])? }; if match rt::is_truthy(interp, &__t3512) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5147 = { let __t3513 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3513])? }; break Ok({ let __t3514 = v_V5099.clone(); let __t3543 = { let v_W5148 = { let __t3515 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3515])? }; { let __t3516 = v_V5099.clone(); let __t3542 = { let v_W5149 = { let __t3517 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3517])? }; { let __t3518 = v_V5099.clone(); let __t3541 = { let v_W5150 = { let __t3519 = v_V5099.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3519])? }; { let __t3520 = v_V5099.clone(); let __t3540 = { let __t3536 = v_W5117.clone(); let __t3537 = { let __t3527 = { let __t3521 = v_W5147.clone(); let __t3526 = { let __t3522 = v_W5148.clone(); let __t3525 = { let __t3523 = v_W5149.clone(); let __t3524 = Value::nil(); rt::cons(&__t3523, &__t3524) }; rt::cons(&__t3522, &__t3525) }; rt::cons(&__t3521, &__t3526) }; let __t3528 = v_W5150.clone(); rt::cons(&__t3527, &__t3528) }; let __t3538 = v_V5099.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3536, __t3537, __t3538])?; let __t3539 = { let __t3534 = { let __t3532 = { let __t3530 = { let __t3529 = v_W5147.clone(); rt::apply_value(interp, v_W5118.clone(), &[__t3529])? }; let __t3531 = v_W5148.clone(); rt::apply_value(interp, __t3530, &[__t3531])? }; let __t3533 = v_W5149.clone(); rt::apply_value(interp, __t3532, &[__t3533])? }; let __t3535 = v_W5150.clone(); rt::apply_value(interp, __t3534, &[__t3535])? }; if rt::is_truthy(interp, &rt::eq(&__t3539, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3536, __t3538, __t3539])? } else { __t3539 } }; rt::apply_direct(interp, "shen.gc", &[__t3520, __t3540])? } }; rt::apply_direct(interp, "shen.gc", &[__t3518, __t3541])? } }; rt::apply_direct(interp, "shen.gc", &[__t3516, __t3542])? } }; rt::apply_direct(interp, "shen.gc", &[__t3514, __t3543])? }); } } else { break Ok(Value::bool(false)); } } } } } } } else { break Ok(Value::bool(false)); } } } } } else { break Ok(Value::bool(false)); } } } } else { break Ok(Value::bool(false)); } } } } else { @@ -9315,126 +9021,122 @@ pub fn aot_shen_x2e_freshterms(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t3930 = { - let __t3928 = Value::nil(); - let __t3929 = v_V5153.clone(); - rt::eq(&__t3928, &__t3929) - }; - if match rt::is_truthy(interp, &__t3930) { + let __t3572 = Value::bool((v_V5153.clone()).is_nil()); + if match rt::is_truthy(interp, &__t3572) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t3927 = { - let __t3920 = { - let __t3917 = v_V5153.clone(); - rt::is_cons(&__t3917) + let __t3571 = { + let __t3564 = { + let __t3561 = v_V5153.clone(); + rt::is_cons(&__t3561) }; - if !rt::is_truthy(interp, &__t3920)? { + if !rt::is_truthy(interp, &__t3564)? { Value::bool(false) } else { - let __t3921 = { - let __t3919 = { - let __t3918 = v_V5153.clone(); - rt::hd(&__t3918)? + let __t3565 = { + let __t3563 = { + let __t3562 = v_V5153.clone(); + rt::hd(&__t3562)? }; - rt::is_cons(&__t3919) + rt::is_cons(&__t3563) }; - Value::bool(rt::is_truthy(interp, &__t3921)?) + Value::bool(rt::is_truthy(interp, &__t3565)?) } }; - if match rt::is_truthy(interp, &__t3927) { + if match rt::is_truthy(interp, &__t3571) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t3926 = { - let __t3923 = { - let __t3922 = v_V5153.clone(); - rt::hd(&__t3922)? + let __t3570 = { + let __t3567 = { + let __t3566 = v_V5153.clone(); + rt::hd(&__t3566)? }; - let __t3925 = { - let __t3924 = v_V5153.clone(); - rt::tl(&__t3924)? + let __t3569 = { + let __t3568 = v_V5153.clone(); + rt::tl(&__t3568)? }; - rt::apply_direct(interp, "append", &[__t3923, __t3925])? + rt::apply_direct(interp, "append", &[__t3567, __t3569])? }; - v_V5153 = __t3926; + v_V5153 = __t3570; continue; } } else { { - let __t3916 = { - let __t3909 = { - let __t3906 = v_V5153.clone(); - rt::is_cons(&__t3906) + let __t3560 = { + let __t3553 = { + let __t3550 = v_V5153.clone(); + rt::is_cons(&__t3550) }; - if !rt::is_truthy(interp, &__t3909)? { + if !rt::is_truthy(interp, &__t3553)? { Value::bool(false) } else { - let __t3910 = { - let __t3908 = { - let __t3907 = v_V5153.clone(); - rt::hd(&__t3907)? + let __t3554 = { + let __t3552 = { + let __t3551 = v_V5153.clone(); + rt::hd(&__t3551)? }; - rt::apply_direct(interp, "shen.freshterm?", &[__t3908])? + aot_shen_x2e_freshterm_x3f_(interp, &[__t3552])? }; - Value::bool(rt::is_truthy(interp, &__t3910)?) + Value::bool(rt::is_truthy(interp, &__t3554)?) } }; - if match rt::is_truthy(interp, &__t3916) { + if match rt::is_truthy(interp, &__t3560) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3912 = { - let __t3911 = v_V5153.clone(); - rt::hd(&__t3911)? + let __t3556 = { + let __t3555 = v_V5153.clone(); + rt::hd(&__t3555)? }; - let __t3915 = { - let __t3914 = { - let __t3913 = v_V5153.clone(); - rt::tl(&__t3913)? + let __t3559 = { + let __t3558 = { + let __t3557 = v_V5153.clone(); + rt::tl(&__t3557)? }; - rt::apply_direct(interp, "shen.freshterms", &[__t3914])? + aot_shen_x2e_freshterms(interp, &[__t3558])? }; - rt::apply_direct(interp, "adjoin", &[__t3912, __t3915])? + rt::apply_direct(interp, "adjoin", &[__t3556, __t3559])? }); } else { { - let __t3905 = { - let __t3902 = v_V5153.clone(); - rt::is_cons(&__t3902) + let __t3549 = { + let __t3546 = v_V5153.clone(); + rt::is_cons(&__t3546) }; - if match rt::is_truthy(interp, &__t3905) { + if match rt::is_truthy(interp, &__t3549) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t3904 = { - let __t3903 = v_V5153.clone(); - rt::tl(&__t3903)? + let __t3548 = { + let __t3547 = v_V5153.clone(); + rt::tl(&__t3547)? }; - v_V5153 = __t3904; + v_V5153 = __t3548; continue; } } else { { - let __t3901 = Value::bool(true); - if match rt::is_truthy(interp, &__t3901) { + let __t3545 = Value::bool(true); + if match rt::is_truthy(interp, &__t3545) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t3900 = Value::str( + let __t3544 = Value::str( "partial function shen.freshterms", ); rt::apply_direct( interp, "simple-error", - &[__t3900], + &[__t3544], )? }); } else { @@ -9483,32 +9185,28 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul loop { { let v_W5160 = { - let __t3948 = { - let __t3931 = v_V5157.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3931])? + let __t3586 = { + let __t3573 = v_V5157.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3573])? }; - if rt::is_truthy(interp, &__t3948)? { + if rt::is_truthy(interp, &__t3586)? { { let v_W5161 = { - let __t3932 = v_V5154.clone(); - let __t3933 = v_V5156.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t3932, __t3933])? + let __t3574 = v_V5154.clone(); + let __t3575 = v_V5156.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3574, __t3575])? }; { - let __t3947 = { - let __t3934 = v_W5161.clone(); - let __t3935 = Value::nil(); - rt::eq(&__t3934, &__t3935) - }; - if rt::is_truthy(interp, &__t3947)? { + let __t3585 = Value::bool((v_W5161.clone()).is_nil()); + if rt::is_truthy(interp, &__t3585)? { { let v_W5162 = { - let __t3936 = v_V5155.clone(); - let __t3937 = v_V5156.clone(); + let __t3576 = v_V5155.clone(); + let __t3577 = v_V5156.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3936, __t3937], + &[__t3576, __t3577], )? }; { @@ -9538,35 +9236,31 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul ) }; { - let __t3946 = { - let __t3938 = v_W5162.clone(); - let __t3939 = Value::nil(); - rt::eq(&__t3938, &__t3939) - }; - if rt::is_truthy(interp, &__t3946)? { + let __t3584 = Value::bool((v_W5162.clone()).is_nil()); + if rt::is_truthy(interp, &__t3584)? { rt::apply_value(interp, v_W5163.clone(), &[])? } else { { - let __t3945 = { - let __t3940 = v_W5162.clone(); + let __t3583 = { + let __t3578 = v_W5162.clone(); rt::apply_direct( interp, "shen.pvar?", - &[__t3940], + &[__t3578], )? }; - if rt::is_truthy(interp, &__t3945)? { + if rt::is_truthy(interp, &__t3583)? { { - let __t3941 = v_W5162.clone(); - let __t3942 = Value::nil(); - let __t3943 = v_V5156.clone(); - let __t3944 = v_W5163.clone(); + let __t3579 = v_W5162.clone(); + let __t3580 = Value::nil(); + let __t3581 = v_V5156.clone(); + let __t3582 = v_W5163.clone(); rt::apply_direct( interp, "shen.bind!", &[ - __t3941, __t3942, __t3943, - __t3944, + __t3579, __t3580, __t3581, + __t3582, ], )? } @@ -9588,57 +9282,57 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul } }; { - let __t3951 = { - let __t3949 = v_W5160.clone(); - let __t3950 = Value::bool(false); - rt::eq(&__t3949, &__t3950) + let __t3589 = { + let __t3587 = v_W5160.clone(); + let __t3588 = Value::bool(false); + rt::eq(&__t3587, &__t3588) }; - if match rt::is_truthy(interp, &__t3951) { + if match rt::is_truthy(interp, &__t3589) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t3953 = { - let __t3952 = v_V5157.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t3952])? + let __t3591 = { + let __t3590 = v_V5157.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3590])? }; - if match rt::is_truthy(interp, &__t3953) { + if match rt::is_truthy(interp, &__t3591) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5164 = { - let __t3954 = v_V5154.clone(); - let __t3955 = v_V5156.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t3954, __t3955])? + let __t3592 = v_V5154.clone(); + let __t3593 = v_V5156.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3592, __t3593])? }; { - let __t3957 = { - let __t3956 = v_W5164.clone(); - rt::is_cons(&__t3956) + let __t3595 = { + let __t3594 = v_W5164.clone(); + rt::is_cons(&__t3594) }; - if match rt::is_truthy(interp, &__t3957) { + if match rt::is_truthy(interp, &__t3595) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5165 = { - let __t3958 = v_W5164.clone(); - rt::hd(&__t3958)? + let __t3596 = v_W5164.clone(); + rt::hd(&__t3596)? }; { let v_W5166 = { - let __t3959 = v_W5164.clone(); - rt::tl(&__t3959)? + let __t3597 = v_W5164.clone(); + rt::tl(&__t3597)? }; { let v_W5167 = { - let __t3960 = v_V5155.clone(); - let __t3961 = v_V5156.clone(); + let __t3598 = v_V5155.clone(); + let __t3599 = v_V5156.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3960, __t3961], + &[__t3598, __t3599], )? }; { @@ -9708,7 +9402,7 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul v_Z5170 .clone( ); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z5171 = args[0].clone(); Ok({ let v_V5156 = v_V5156.clone(); let v_V5157 = v_V5157.clone(); let v_V5158 = v_V5158.clone(); let v_V5159 = v_V5159.clone(); let v_W5165 = v_W5165.clone(); let v_W5166 = v_W5166.clone(); let v_Z5169 = v_Z5169.clone(); let v_Z5170 = v_Z5170.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5172 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3962 = v_Z5169.clone(); let __t3963 = v_W5165.clone(); let __t3964 = v_V5156.clone(); let __t3965 = v_V5157.clone(); let __t3966 = v_V5158.clone(); let __t3980 = { let v_V5156 = v_V5156.clone(); let v_V5157 = v_V5157.clone(); let v_V5158 = v_V5158.clone(); let v_V5159 = v_V5159.clone(); let v_W5166 = v_W5166.clone(); let v_Z5170 = v_Z5170.clone(); let v_Z5172 = v_Z5172.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3967 = v_Z5170.clone(); let __t3969 = { let __t3968 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t3968])? }; let __t3970 = v_V5156.clone(); let __t3971 = v_V5157.clone(); let __t3972 = v_V5158.clone(); let __t3979 = { let v_V5156 = v_V5156.clone(); let v_V5157 = v_V5157.clone(); let v_V5158 = v_V5158.clone(); let v_V5159 = v_V5159.clone(); let v_W5166 = v_W5166.clone(); let v_Z5172 = v_Z5172.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3973 = v_W5166.clone(); let __t3974 = v_Z5172.clone(); let __t3975 = v_V5156.clone(); let __t3976 = v_V5157.clone(); let __t3977 = v_V5158.clone(); let __t3978 = v_V5159.clone(); rt::apply_direct(interp, "shen.p-hyps", &[__t3973, __t3974, __t3975, __t3976, __t3977, __t3978])? }), vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5166, v_Z5172], interp) }; rt::apply_direct(interp, "bind", &[__t3967, __t3969, __t3970, __t3971, __t3972, __t3979])? }), vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5166, v_Z5170, v_Z5172], interp) }; rt::apply_direct(interp, "bind", &[__t3962, __t3963, __t3964, __t3965, __t3966, __t3980])? } }) }, vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5165, v_W5166, v_Z5169, v_Z5170], interp) }) }, vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5165, v_W5166, v_Z5169, v_Z5170], interp) + rt::make_aot_closure("", 1, move |interp, args| { let v_Z5171 = args[0].clone(); Ok({ let v_V5156 = v_V5156.clone(); let v_V5157 = v_V5157.clone(); let v_V5158 = v_V5158.clone(); let v_V5159 = v_V5159.clone(); let v_W5165 = v_W5165.clone(); let v_W5166 = v_W5166.clone(); let v_Z5169 = v_Z5169.clone(); let v_Z5170 = v_Z5170.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5172 = args[0].clone(); Ok({ let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t3610 = v_Z5169.clone(); let __t3611 = v_W5165.clone(); let __t3612 = v_V5156.clone(); let _ = v_V5157.clone(); let _ = v_V5158.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3610, __t3611, __t3612])?; let __t3613 = { let __t3606 = v_Z5170.clone(); let __t3607 = Value::sym(interp.intern_static(":")); let __t3608 = v_V5156.clone(); let _ = v_V5157.clone(); let _ = v_V5158.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3606, __t3607, __t3608])?; let __t3609 = { let __t3600 = v_W5166.clone(); let __t3601 = v_Z5172.clone(); let __t3602 = v_V5156.clone(); let __t3603 = v_V5157.clone(); let __t3604 = v_V5158.clone(); let __t3605 = v_V5159.clone(); aot_shen_x2e_p_x2d_hyps(interp, &[__t3600, __t3601, __t3602, __t3603, __t3604, __t3605])? }; if rt::is_truthy(interp, &rt::eq(&__t3609, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3606, __t3608, __t3609])? } else { __t3609 } }; if rt::is_truthy(interp, &rt::eq(&__t3613, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3610, __t3612, __t3613])? } else { __t3613 } } }) }, vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5165, v_W5166, v_Z5169, v_Z5170], interp) }) }, vec![v_V5156, v_V5157, v_V5158, v_V5159, v_W5165, v_W5166, v_Z5169, v_Z5170], interp) }) }, vec![ @@ -9729,28 +9423,28 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul ) }; { - let __t3982 = { - let __t3981 = v_W5167.clone(); - rt::is_cons(&__t3981) + let __t3615 = { + let __t3614 = v_W5167.clone(); + rt::is_cons(&__t3614) }; - if match rt::is_truthy(interp, &__t3982) + if match rt::is_truthy(interp, &__t3615) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5173 = { - let __t3984 = { - let __t3983 = + let __t3617 = { + let __t3616 = v_W5167.clone(); - rt::hd(&__t3983)? + rt::hd(&__t3616)? }; - let __t3985 = + let __t3618 = v_V5156.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t3984, __t3985], + &[__t3617, __t3618], )? }; { @@ -9759,18 +9453,18 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul v_W5167.clone(); let v_W5168 = v_W5168.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z5175 = args[0].clone(); Ok({ let v_W5167 = v_W5167.clone(); let v_W5168 = v_W5168.clone(); let v_Z5175 = v_Z5175.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5176 = args[0].clone(); Ok({ let v_W5167 = v_W5167.clone(); let v_W5168 = v_W5168.clone(); let v_Z5175 = v_Z5175.clone(); let v_Z5176 = v_Z5176.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5177 = args[0].clone(); Ok({ let v_W5178 = { let __t3986 = v_W5167.clone(); rt::tl(&__t3986)? }; { let __t3992 = { let __t3990 = { let __t3988 = { let __t3987 = v_Z5175.clone(); rt::apply_value(interp, v_W5168.clone(), &[__t3987])? }; let __t3989 = v_Z5176.clone(); rt::apply_value(interp, __t3988, &[__t3989])? }; let __t3991 = v_Z5177.clone(); rt::apply_value(interp, __t3990, &[__t3991])? }; let __t3993 = v_W5178.clone(); rt::apply_value(interp, __t3992, &[__t3993])? } }) }, vec![v_W5167, v_W5168, v_Z5175, v_Z5176], interp) }) }, vec![v_W5167, v_W5168, v_Z5175], interp) }) }, vec![v_W5167, v_W5168], interp) + rt::make_aot_closure("", 1, move |interp, args| { let v_Z5175 = args[0].clone(); Ok({ let v_W5167 = v_W5167.clone(); let v_W5168 = v_W5168.clone(); let v_Z5175 = v_Z5175.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5176 = args[0].clone(); Ok({ let v_W5167 = v_W5167.clone(); let v_W5168 = v_W5168.clone(); let v_Z5175 = v_Z5175.clone(); let v_Z5176 = v_Z5176.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5177 = args[0].clone(); Ok({ let v_W5178 = { let __t3619 = v_W5167.clone(); rt::tl(&__t3619)? }; { let __t3625 = { let __t3623 = { let __t3621 = { let __t3620 = v_Z5175.clone(); rt::apply_value(interp, v_W5168.clone(), &[__t3620])? }; let __t3622 = v_Z5176.clone(); rt::apply_value(interp, __t3621, &[__t3622])? }; let __t3624 = v_Z5177.clone(); rt::apply_value(interp, __t3623, &[__t3624])? }; let __t3626 = v_W5178.clone(); rt::apply_value(interp, __t3625, &[__t3626])? } }) }, vec![v_W5167, v_W5168, v_Z5175, v_Z5176], interp) }) }, vec![v_W5167, v_W5168, v_Z5175], interp) }) }, vec![v_W5167, v_W5168], interp) }; { - let __t3995 = { - let __t3994 = + let __t3628 = { + let __t3627 = v_W5173.clone(); rt::is_cons( - &__t3994, + &__t3627, ) }; if match rt::is_truthy( - interp, &__t3995, + interp, &__t3628, ) { Ok(b) => b, Err(e) => { @@ -9779,38 +9473,38 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul } { { let v_W5179 = { - let __t3996 = v_W5173.clone(); - rt::hd(&__t3996)? + let __t3629 = v_W5173.clone(); + rt::hd(&__t3629)? }; { let v_W5180 = { - let __t3998 = { - let __t3997 = v_W5173.clone(); - rt::tl(&__t3997)? + let __t3631 = { + let __t3630 = v_W5173.clone(); + rt::tl(&__t3630)? }; - let __t3999 = v_V5156.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t3998, __t3999])? + let __t3632 = v_V5156.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3631, __t3632])? }; { let v_W5181 = { let v_W5174 = v_W5174.clone(); let v_W5179 = v_W5179.clone(); - rt::make_aot_closure("", 1, move |interp, args| { let v_Z5182 = args[0].clone(); Ok({ let v_W5174 = v_W5174.clone(); let v_W5179 = v_W5179.clone(); let v_Z5182 = v_Z5182.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5183 = args[0].clone(); Ok({ let __t4003 = { let __t4001 = { let __t4000 = v_W5179.clone(); rt::apply_value(interp, v_W5174.clone(), &[__t4000])? }; let __t4002 = v_Z5182.clone(); rt::apply_value(interp, __t4001, &[__t4002])? }; let __t4004 = v_Z5183.clone(); rt::apply_value(interp, __t4003, &[__t4004])? }) }, vec![v_W5174, v_W5179, v_Z5182], interp) }) }, vec![v_W5174, v_W5179], interp) + rt::make_aot_closure("", 1, move |interp, args| { let v_Z5182 = args[0].clone(); Ok({ let v_W5174 = v_W5174.clone(); let v_W5179 = v_W5179.clone(); let v_Z5182 = v_Z5182.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5183 = args[0].clone(); Ok({ let __t3636 = { let __t3634 = { let __t3633 = v_W5179.clone(); rt::apply_value(interp, v_W5174.clone(), &[__t3633])? }; let __t3635 = v_Z5182.clone(); rt::apply_value(interp, __t3634, &[__t3635])? }; let __t3637 = v_Z5183.clone(); rt::apply_value(interp, __t3636, &[__t3637])? }) }, vec![v_W5174, v_W5179, v_Z5182], interp) }) }, vec![v_W5174, v_W5179], interp) }; { - let __t4006 = { let __t4005 = v_W5180.clone(); rt::is_cons(&__t4005) }; - if match rt::is_truthy(interp, &__t4006) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5184 = { let __t4007 = v_W5180.clone(); rt::hd(&__t4007)? }; { let v_W5185 = { let __t4009 = { let __t4008 = v_W5180.clone(); rt::tl(&__t4008)? }; let __t4010 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4009, __t4010])? }; { let v_W5186 = { let v_W5181 = v_W5181.clone(); let v_W5184 = v_W5184.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5187 = args[0].clone(); Ok({ let __t4012 = { let __t4011 = v_W5184.clone(); rt::apply_value(interp, v_W5181.clone(), &[__t4011])? }; let __t4013 = v_Z5187.clone(); rt::apply_value(interp, __t4012, &[__t4013])? }) }, vec![v_W5181, v_W5184], interp) }; { let __t4015 = { let __t4014 = v_W5185.clone(); rt::is_cons(&__t4014) }; if match rt::is_truthy(interp, &__t4015) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5188 = { let __t4016 = v_W5185.clone(); rt::hd(&__t4016)? }; { let v_W5189 = { let __t4018 = { let __t4017 = v_W5185.clone(); rt::tl(&__t4017)? }; let __t4019 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4018, __t4019])? }; { let v_W5190 = { let v_W5186 = v_W5186.clone(); let v_W5188 = v_W5188.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4020 = v_W5188.clone(); rt::apply_value(interp, v_W5186.clone(), &[__t4020])? }), vec![v_W5186, v_W5188], interp) }; { let __t4023 = { let __t4021 = v_W5189.clone(); let __t4022 = Value::nil(); rt::eq(&__t4021, &__t4022) }; if match rt::is_truthy(interp, &__t4023) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W5190.clone(), &[])?); } else { { let __t4025 = { let __t4024 = v_W5189.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4024])? }; if match rt::is_truthy(interp, &__t4025) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t4026 = v_W5189.clone(); let __t4027 = Value::nil(); let __t4028 = v_V5156.clone(); let __t4029 = v_W5190.clone(); rt::apply_direct(interp, "shen.bind!", &[__t4026, __t4027, __t4028, __t4029])? }); } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t4031 = { let __t4030 = v_W5185.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4030])? }; if match rt::is_truthy(interp, &__t4031) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5191 = { let __t4032 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4032])? }; break Ok({ let __t4033 = v_V5156.clone(); let __t4041 = { let __t4034 = v_W5185.clone(); let __t4037 = { let __t4035 = v_W5191.clone(); let __t4036 = Value::nil(); rt::cons(&__t4035, &__t4036) }; let __t4038 = v_V5156.clone(); let __t4040 = { let v_W5186 = v_W5186.clone(); let v_W5191 = v_W5191.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4039 = v_W5191.clone(); rt::apply_value(interp, v_W5186.clone(), &[__t4039])? }), vec![v_W5186, v_W5191], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4034, __t4037, __t4038, __t4040])? }; rt::apply_direct(interp, "shen.gc", &[__t4033, __t4041])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t4043 = { let __t4042 = v_W5180.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t4042])? }; if match rt::is_truthy(interp, &__t4043) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5192 = { let __t4044 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4044])? }; break Ok({ let __t4045 = v_V5156.clone(); let __t4060 = { let v_W5193 = { let __t4046 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4046])? }; { let __t4047 = v_V5156.clone(); let __t4059 = { let __t4048 = v_W5180.clone(); let __t4053 = { let __t4049 = v_W5192.clone(); let __t4052 = { let __t4050 = v_W5193.clone(); let __t4051 = Value::nil(); rt::cons(&__t4050, &__t4051) }; rt::cons(&__t4049, &__t4052) }; let __t4054 = v_V5156.clone(); let __t4058 = { let v_W5181 = v_W5181.clone(); let v_W5192 = v_W5192.clone(); let v_W5193 = v_W5193.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4056 = { let __t4055 = v_W5192.clone(); rt::apply_value(interp, v_W5181.clone(), &[__t4055])? }; let __t4057 = v_W5193.clone(); rt::apply_value(interp, __t4056, &[__t4057])? }), vec![v_W5181, v_W5192, v_W5193], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4048, __t4053, __t4054, __t4058])? }; rt::apply_direct(interp, "shen.gc", &[__t4047, __t4059])? } }; rt::apply_direct(interp, "shen.gc", &[__t4045, __t4060])? }); } } else { break Ok(Value::bool(false)); } } } + let __t3639 = { let __t3638 = v_W5180.clone(); rt::is_cons(&__t3638) }; + if match rt::is_truthy(interp, &__t3639) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5184 = { let __t3640 = v_W5180.clone(); rt::hd(&__t3640)? }; { let v_W5185 = { let __t3642 = { let __t3641 = v_W5180.clone(); rt::tl(&__t3641)? }; let __t3643 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3642, __t3643])? }; { let v_W5186 = { let v_W5181 = v_W5181.clone(); let v_W5184 = v_W5184.clone(); rt::make_aot_closure("", 1, move |interp, args| { let v_Z5187 = args[0].clone(); Ok({ let __t3645 = { let __t3644 = v_W5184.clone(); rt::apply_value(interp, v_W5181.clone(), &[__t3644])? }; let __t3646 = v_Z5187.clone(); rt::apply_value(interp, __t3645, &[__t3646])? }) }, vec![v_W5181, v_W5184], interp) }; { let __t3648 = { let __t3647 = v_W5185.clone(); rt::is_cons(&__t3647) }; if match rt::is_truthy(interp, &__t3648) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5188 = { let __t3649 = v_W5185.clone(); rt::hd(&__t3649)? }; { let v_W5189 = { let __t3651 = { let __t3650 = v_W5185.clone(); rt::tl(&__t3650)? }; let __t3652 = v_V5156.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3651, __t3652])? }; { let v_W5190 = { let v_W5186 = v_W5186.clone(); let v_W5188 = v_W5188.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3653 = v_W5188.clone(); rt::apply_value(interp, v_W5186.clone(), &[__t3653])? }), vec![v_W5186, v_W5188], interp) }; { let __t3654 = Value::bool((v_W5189.clone()).is_nil()); if match rt::is_truthy(interp, &__t3654) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(rt::apply_value(interp, v_W5190.clone(), &[])?); } else { { let __t3656 = { let __t3655 = v_W5189.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3655])? }; if match rt::is_truthy(interp, &__t3656) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ let __t3657 = v_W5189.clone(); let __t3658 = Value::nil(); let __t3659 = v_V5156.clone(); let __t3660 = v_W5190.clone(); rt::apply_direct(interp, "shen.bind!", &[__t3657, __t3658, __t3659, __t3660])? }); } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3662 = { let __t3661 = v_W5185.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3661])? }; if match rt::is_truthy(interp, &__t3662) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5191 = { let __t3663 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3663])? }; break Ok({ let __t3664 = v_V5156.clone(); let __t3672 = { let __t3668 = v_W5185.clone(); let __t3669 = { let __t3665 = v_W5191.clone(); let __t3666 = Value::nil(); rt::cons(&__t3665, &__t3666) }; let __t3670 = v_V5156.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3668, __t3669, __t3670])?; let __t3671 = { let __t3667 = v_W5191.clone(); rt::apply_value(interp, v_W5186.clone(), &[__t3667])? }; if rt::is_truthy(interp, &rt::eq(&__t3671, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3668, __t3670, __t3671])? } else { __t3671 } }; rt::apply_direct(interp, "shen.gc", &[__t3664, __t3672])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { let __t3674 = { let __t3673 = v_W5180.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t3673])? }; if match rt::is_truthy(interp, &__t3674) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5192 = { let __t3675 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3675])? }; break Ok({ let __t3676 = v_V5156.clone(); let __t3691 = { let v_W5193 = { let __t3677 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3677])? }; { let __t3678 = v_V5156.clone(); let __t3690 = { let __t3686 = v_W5180.clone(); let __t3687 = { let __t3679 = v_W5192.clone(); let __t3682 = { let __t3680 = v_W5193.clone(); let __t3681 = Value::nil(); rt::cons(&__t3680, &__t3681) }; rt::cons(&__t3679, &__t3682) }; let __t3688 = v_V5156.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3686, __t3687, __t3688])?; let __t3689 = { let __t3684 = { let __t3683 = v_W5192.clone(); rt::apply_value(interp, v_W5181.clone(), &[__t3683])? }; let __t3685 = v_W5193.clone(); rt::apply_value(interp, __t3684, &[__t3685])? }; if rt::is_truthy(interp, &rt::eq(&__t3689, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3686, __t3688, __t3689])? } else { __t3689 } }; rt::apply_direct(interp, "shen.gc", &[__t3678, __t3690])? } }; rt::apply_direct(interp, "shen.gc", &[__t3676, __t3691])? }); } } else { break Ok(Value::bool(false)); } } } } } } } } else { { - let __t4062 = { - let __t4061 = v_W5173.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t4061])? + let __t3693 = { + let __t3692 = v_W5173.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t3692])? }; - if match rt::is_truthy(interp, &__t4062) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5194 = { let __t4063 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4063])? }; break Ok({ let __t4064 = v_V5156.clone(); let __t4086 = { let v_W5195 = { let __t4065 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4065])? }; { let __t4066 = v_V5156.clone(); let __t4085 = { let v_W5196 = { let __t4067 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4067])? }; { let __t4068 = v_V5156.clone(); let __t4084 = { let __t4069 = v_W5173.clone(); let __t4076 = { let __t4070 = v_W5194.clone(); let __t4075 = { let __t4071 = v_W5195.clone(); let __t4074 = { let __t4072 = v_W5196.clone(); let __t4073 = Value::nil(); rt::cons(&__t4072, &__t4073) }; rt::cons(&__t4071, &__t4074) }; rt::cons(&__t4070, &__t4075) }; let __t4077 = v_V5156.clone(); let __t4083 = { let v_W5174 = v_W5174.clone(); let v_W5194 = v_W5194.clone(); let v_W5195 = v_W5195.clone(); let v_W5196 = v_W5196.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4081 = { let __t4079 = { let __t4078 = v_W5194.clone(); rt::apply_value(interp, v_W5174.clone(), &[__t4078])? }; let __t4080 = v_W5195.clone(); rt::apply_value(interp, __t4079, &[__t4080])? }; let __t4082 = v_W5196.clone(); rt::apply_value(interp, __t4081, &[__t4082])? }), vec![v_W5174, v_W5194, v_W5195, v_W5196], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4069, __t4076, __t4077, __t4083])? }; rt::apply_direct(interp, "shen.gc", &[__t4068, __t4084])? } }; rt::apply_direct(interp, "shen.gc", &[__t4066, __t4085])? } }; rt::apply_direct(interp, "shen.gc", &[__t4064, __t4086])? }); } } else { break Ok(Value::bool(false)); } + if match rt::is_truthy(interp, &__t3693) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5194 = { let __t3694 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3694])? }; break Ok({ let __t3695 = v_V5156.clone(); let __t3717 = { let v_W5195 = { let __t3696 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3696])? }; { let __t3697 = v_V5156.clone(); let __t3716 = { let v_W5196 = { let __t3698 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3698])? }; { let __t3699 = v_V5156.clone(); let __t3715 = { let __t3711 = v_W5173.clone(); let __t3712 = { let __t3700 = v_W5194.clone(); let __t3705 = { let __t3701 = v_W5195.clone(); let __t3704 = { let __t3702 = v_W5196.clone(); let __t3703 = Value::nil(); rt::cons(&__t3702, &__t3703) }; rt::cons(&__t3701, &__t3704) }; rt::cons(&__t3700, &__t3705) }; let __t3713 = v_V5156.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3711, __t3712, __t3713])?; let __t3714 = { let __t3709 = { let __t3707 = { let __t3706 = v_W5194.clone(); rt::apply_value(interp, v_W5174.clone(), &[__t3706])? }; let __t3708 = v_W5195.clone(); rt::apply_value(interp, __t3707, &[__t3708])? }; let __t3710 = v_W5196.clone(); rt::apply_value(interp, __t3709, &[__t3710])? }; if rt::is_truthy(interp, &rt::eq(&__t3714, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3711, __t3713, __t3714])? } else { __t3714 } }; rt::apply_direct(interp, "shen.gc", &[__t3699, __t3715])? } }; rt::apply_direct(interp, "shen.gc", &[__t3697, __t3716])? } }; rt::apply_direct(interp, "shen.gc", &[__t3695, __t3717])? }); } } else { break Ok(Value::bool(false)); } } } } @@ -9818,61 +9512,61 @@ pub fn aot_shen_x2e_p_x2d_hyps(interp: &mut Interp, args: &[Value]) -> ShenResul } } else { { - let __t4088 = { - let __t4087 = + let __t3719 = { + let __t3718 = v_W5167.clone(); rt::apply_direct( interp, "shen.pvar?", - &[__t4087], + &[__t3718], )? }; if match rt::is_truthy( - interp, &__t4088, + interp, &__t3719, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5197 = { - let __t4089 = + let __t3720 = v_V5156.clone(); rt::apply_direct( interp, "shen.newpv", - &[__t4089], + &[__t3720], )? }; break Ok({ - let __t4090 = + let __t3721 = v_V5156.clone(); - let __t4119 = { + let __t3750 = { let v_W5198 = { - let __t4091 = v_V5156.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t4091])? + let __t3722 = v_V5156.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t3722])? }; { - let __t4092 = v_V5156.clone(); - let __t4118 = { + let __t3723 = v_V5156.clone(); + let __t3749 = { let v_W5199 = { - let __t4093 = v_V5156.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t4093])? + let __t3724 = v_V5156.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t3724])? }; { - let __t4094 = v_V5156.clone(); - let __t4117 = { let v_W5200 = { let __t4095 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4095])? }; { let __t4096 = v_V5156.clone(); let __t4116 = { let __t4097 = v_W5167.clone(); let __t4106 = { let __t4104 = { let __t4098 = v_W5197.clone(); let __t4103 = { let __t4099 = v_W5198.clone(); let __t4102 = { let __t4100 = v_W5199.clone(); let __t4101 = Value::nil(); rt::cons(&__t4100, &__t4101) }; rt::cons(&__t4099, &__t4102) }; rt::cons(&__t4098, &__t4103) }; let __t4105 = v_W5200.clone(); rt::cons(&__t4104, &__t4105) }; let __t4107 = v_V5156.clone(); let __t4115 = { let v_W5168 = v_W5168.clone(); let v_W5197 = v_W5197.clone(); let v_W5198 = v_W5198.clone(); let v_W5199 = v_W5199.clone(); let v_W5200 = v_W5200.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4113 = { let __t4111 = { let __t4109 = { let __t4108 = v_W5197.clone(); rt::apply_value(interp, v_W5168.clone(), &[__t4108])? }; let __t4110 = v_W5198.clone(); rt::apply_value(interp, __t4109, &[__t4110])? }; let __t4112 = v_W5199.clone(); rt::apply_value(interp, __t4111, &[__t4112])? }; let __t4114 = v_W5200.clone(); rt::apply_value(interp, __t4113, &[__t4114])? }), vec![v_W5168, v_W5197, v_W5198, v_W5199, v_W5200], interp) }; rt::apply_direct(interp, "shen.bind!", &[__t4097, __t4106, __t4107, __t4115])? }; rt::apply_direct(interp, "shen.gc", &[__t4096, __t4116])? } }; - rt::apply_direct(interp, "shen.gc", &[__t4094, __t4117])? + let __t3725 = v_V5156.clone(); + let __t3748 = { let v_W5200 = { let __t3726 = v_V5156.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3726])? }; { let __t3727 = v_V5156.clone(); let __t3747 = { let __t3743 = v_W5167.clone(); let __t3744 = { let __t3734 = { let __t3728 = v_W5197.clone(); let __t3733 = { let __t3729 = v_W5198.clone(); let __t3732 = { let __t3730 = v_W5199.clone(); let __t3731 = Value::nil(); rt::cons(&__t3730, &__t3731) }; rt::cons(&__t3729, &__t3732) }; rt::cons(&__t3728, &__t3733) }; let __t3735 = v_W5200.clone(); rt::cons(&__t3734, &__t3735) }; let __t3745 = v_V5156.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3743, __t3744, __t3745])?; let __t3746 = { let __t3741 = { let __t3739 = { let __t3737 = { let __t3736 = v_W5197.clone(); rt::apply_value(interp, v_W5168.clone(), &[__t3736])? }; let __t3738 = v_W5198.clone(); rt::apply_value(interp, __t3737, &[__t3738])? }; let __t3740 = v_W5199.clone(); rt::apply_value(interp, __t3739, &[__t3740])? }; let __t3742 = v_W5200.clone(); rt::apply_value(interp, __t3741, &[__t3742])? }; if rt::is_truthy(interp, &rt::eq(&__t3746, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3743, __t3745, __t3746])? } else { __t3746 } }; rt::apply_direct(interp, "shen.gc", &[__t3727, __t3747])? } }; + rt::apply_direct(interp, "shen.gc", &[__t3725, __t3748])? } }; - rt::apply_direct(interp, "shen.gc", &[__t4092, __t4118])? + rt::apply_direct(interp, "shen.gc", &[__t3723, __t3749])? } }; rt::apply_direct( interp, "shen.gc", &[ - __t4090, - __t4119, + __t3721, + __t3750, ], )? }); @@ -9937,123 +9631,118 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S loop { { let v_W5208 = { - let __t4120 = v_V5206.clone(); - let __t4121 = Value::int(1i64); - rt::add(&__t4120, &__t4121)? + let __t3751 = v_V5206.clone(); + let __t3752 = Value::int(1i64); + rt::add(&__t3751, &__t3752)? }; { let v_W5209 = { - let __t4192 = { - let __t4122 = v_V5205.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t4122])? + let __t3812 = { + let __t3753 = v_V5205.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3753])? }; - if rt::is_truthy(interp, &__t4192)? { + if rt::is_truthy(interp, &__t3812)? { { let v_W5210 = { - let __t4123 = v_V5201.clone(); - let __t4124 = v_V5204.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t4123, __t4124])? + let __t3754 = v_V5201.clone(); + let __t3755 = v_V5204.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3754, __t3755])? }; { - let __t4191 = { - let __t4125 = v_W5210.clone(); - rt::is_cons(&__t4125) + let __t3811 = { + let __t3756 = v_W5210.clone(); + rt::is_cons(&__t3756) }; - if rt::is_truthy(interp, &__t4191)? { + if rt::is_truthy(interp, &__t3811)? { { let v_W5211 = { - let __t4127 = { - let __t4126 = v_W5210.clone(); - rt::hd(&__t4126)? + let __t3758 = { + let __t3757 = v_W5210.clone(); + rt::hd(&__t3757)? }; - let __t4128 = v_V5204.clone(); + let __t3759 = v_V5204.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t4127, __t4128], + &[__t3758, __t3759], )? }; { - let __t4190 = { - let __t4129 = v_W5211.clone(); - let __t4130 = Value::sym(interp.intern("where")); - rt::eq(&__t4129, &__t4130) - }; - if rt::is_truthy(interp, &__t4190)? { + let __t3810 = Value::bool( + (v_W5211.clone()).as_sym() + == Some(interp.intern_static("where")), + ); + if rt::is_truthy(interp, &__t3810)? { { let v_W5212 = { - let __t4132 = { - let __t4131 = v_W5210.clone(); - rt::tl(&__t4131)? + let __t3761 = { + let __t3760 = v_W5210.clone(); + rt::tl(&__t3760)? }; - let __t4133 = v_V5204.clone(); + let __t3762 = v_V5204.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t4132, __t4133], + &[__t3761, __t3762], )? }; { - let __t4189 = { - let __t4134 = v_W5212.clone(); - rt::is_cons(&__t4134) + let __t3809 = { + let __t3763 = v_W5212.clone(); + rt::is_cons(&__t3763) }; - if rt::is_truthy(interp, &__t4189)? { + if rt::is_truthy(interp, &__t3809)? { { let v_W5213 = { - let __t4135 = v_W5212.clone(); - rt::hd(&__t4135)? + let __t3764 = v_W5212.clone(); + rt::hd(&__t3764)? }; { let v_W5214 = { - let __t4137 = { - let __t4136 = + let __t3766 = { + let __t3765 = v_W5212.clone(); - rt::tl(&__t4136)? + rt::tl(&__t3765)? }; - let __t4138 = + let __t3767 = v_V5204.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t4137, __t4138], + &[__t3766, __t3767], )? }; { - let __t4188 = { - let __t4139 = + let __t3808 = { + let __t3768 = v_W5214.clone(); - rt::is_cons(&__t4139) + rt::is_cons(&__t3768) }; if rt::is_truthy( - interp, &__t4188, + interp, &__t3808, )? { { let v_W5215 = { - let __t4140 = + let __t3769 = v_W5214 .clone( ); rt::hd( - &__t4140, + &__t3769, )? }; { let v_W5216 = { - let __t4142 = { - let __t4141 = v_W5214.clone(); - rt::tl(&__t4141)? + let __t3771 = { + let __t3770 = v_W5214.clone(); + rt::tl(&__t3770)? }; - let __t4143 = v_V5204.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t4142, __t4143])? + let __t3772 = v_V5204.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3771, __t3772])? }; { - let __t4187 = { - let __t4144 = v_W5216.clone(); - let __t4145 = Value::nil(); - rt::eq(&__t4144, &__t4145) - }; - if rt::is_truthy(interp, &__t4187)? { { let v_W5217 = { let __t4146 = v_V5204.clone(); rt::apply_direct(interp, "shen.newpv", &[__t4146])? }; { let __t4147 = v_V5204.clone(); let __t4186 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let __t4148 = v_V5204.clone(); let __t4149 = v_V5205.clone(); let __t4150 = v_W5208.clone(); let __t4185 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5213 = v_W5213.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4151 = v_W5217.clone(); let __t4153 = { let __t4152 = v_W5213.clone(); rt::apply_direct(interp, "shen.curry", &[__t4152])? }; let __t4154 = v_V5204.clone(); let __t4155 = v_V5205.clone(); let __t4156 = v_W5208.clone(); let __t4184 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4157 = v_W5217.clone(); let __t4158 = Value::sym(interp.intern("boolean")); let __t4159 = v_V5203.clone(); let __t4160 = v_V5204.clone(); let __t4161 = v_V5205.clone(); let __t4162 = v_W5208.clone(); let __t4183 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4163 = v_V5204.clone(); let __t4164 = v_V5205.clone(); let __t4165 = v_W5208.clone(); let __t4182 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4166 = v_W5215.clone(); let __t4167 = v_V5202.clone(); let __t4177 = { let __t4175 = { let __t4168 = v_W5217.clone(); let __t4174 = { let __t4170 = { let __t4169 = Value::str(":"); rt::apply_direct(interp, "intern", &[__t4169])? }; let __t4173 = { let __t4171 = Value::sym(interp.intern("verified")); let __t4172 = Value::nil(); rt::cons(&__t4171, &__t4172) }; rt::cons(&__t4170, &__t4173) }; rt::cons(&__t4168, &__t4174) }; let __t4176 = v_V5203.clone(); rt::cons(&__t4175, &__t4176) }; let __t4178 = v_V5204.clone(); let __t4179 = v_V5205.clone(); let __t4180 = v_W5208.clone(); let __t4181 = v_V5207.clone(); rt::apply_direct(interp, "shen.t*-correct", &[__t4166, __t4167, __t4177, __t4178, __t4179, __t4180, __t4181])? }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5215, v_W5217], interp) }; rt::apply_direct(interp, "shen.cut", &[__t4163, __t4164, __t4165, __t4182])? }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5215, v_W5217], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t4157, __t4158, __t4159, __t4160, __t4161, __t4162, __t4183])? }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5215, v_W5217], interp) }; rt::apply_direct(interp, "bind", &[__t4151, __t4153, __t4154, __t4155, __t4156, __t4184])? }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5213, v_W5215, v_W5217], interp) }; rt::apply_direct(interp, "shen.cut", &[__t4148, __t4149, __t4150, __t4185])? } }; rt::apply_direct(interp, "shen.gc", &[__t4147, __t4186])? } } } else { Value::bool(false) } + let __t3807 = Value::bool((v_W5216.clone()).is_nil()); + if rt::is_truthy(interp, &__t3807)? { { let v_W5217 = { let __t3773 = v_V5204.clone(); rt::apply_direct(interp, "shen.newpv", &[__t3773])? }; { let __t3774 = v_V5204.clone(); let __t3806 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { let _ = v_V5204.clone(); let __t3805 = v_V5205.clone(); let __n = v_W5208.clone(); let __t3804 = { let __t3800 = v_W5217.clone(); let __t3801 = { let __t3775 = v_W5213.clone(); aot_shen_x2e_curry(interp, &[__t3775])? }; let __t3802 = v_V5204.clone(); let _ = v_V5205.clone(); let _ = v_W5208.clone(); let _ = rt::apply_direct(interp, "shen.bindv", &[__t3800, __t3801, __t3802])?; let __t3803 = { let __t3776 = v_W5217.clone(); let __t3777 = Value::sym(interp.intern_static("boolean")); let __t3778 = v_V5203.clone(); let __t3779 = v_V5204.clone(); let __t3780 = v_V5205.clone(); let __t3781 = v_W5208.clone(); let __t3799 = { let v_V5202 = v_V5202.clone(); let v_V5203 = v_V5203.clone(); let v_V5204 = v_V5204.clone(); let v_V5205 = v_V5205.clone(); let v_V5207 = v_V5207.clone(); let v_W5208 = v_W5208.clone(); let v_W5215 = v_W5215.clone(); let v_W5217 = v_W5217.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let _ = v_V5204.clone(); let __t3798 = v_V5205.clone(); let __n = v_W5208.clone(); let __t3797 = { let __t3782 = v_W5215.clone(); let __t3783 = v_V5202.clone(); let __t3792 = { let __t3790 = { let __t3784 = v_W5217.clone(); let __t3789 = { let __t3785 = Value::sym(interp.intern_static(":")); let __t3788 = { let __t3786 = Value::sym(interp.intern_static("verified")); let __t3787 = Value::nil(); rt::cons(&__t3786, &__t3787) }; rt::cons(&__t3785, &__t3788) }; rt::cons(&__t3784, &__t3789) }; let __t3791 = v_V5203.clone(); rt::cons(&__t3790, &__t3791) }; let __t3793 = v_V5204.clone(); let __t3794 = v_V5205.clone(); let __t3795 = v_W5208.clone(); let __t3796 = v_V5207.clone(); aot_shen_x2e_t_x2a__x2d_correct(interp, &[__t3782, __t3783, __t3792, __t3793, __t3794, __t3795, __t3796])? }; if rt::is_truthy(interp, &rt::eq(&__t3797, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t3798])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t3798])?; } } __t3797 }), vec![v_V5202, v_V5203, v_V5204, v_V5205, v_V5207, v_W5208, v_W5215, v_W5217], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t3776, __t3777, __t3778, __t3779, __t3780, __t3781, __t3799])? }; if rt::is_truthy(interp, &rt::eq(&__t3803, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t3800, __t3802, __t3803])? } else { __t3803 } }; if rt::is_truthy(interp, &rt::eq(&__t3804, &Value::bool(false)))? { let __u = rt::apply_direct(interp, "shen.unlocked?", &[__t3805])?; if rt::is_truthy(interp, &__u)? { let _ = rt::apply_direct(interp, "shen.lock", &[__n, __t3805])?; } } __t3804 } }; rt::apply_direct(interp, "shen.gc", &[__t3774, __t3806])? } } } else { Value::bool(false) } } } } @@ -10083,41 +9772,40 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t4195 = { - let __t4193 = v_W5209.clone(); - let __t4194 = Value::bool(false); - rt::eq(&__t4193, &__t4194) + let __t3815 = { + let __t3813 = v_W5209.clone(); + let __t3814 = Value::bool(false); + rt::eq(&__t3813, &__t3814) }; - if match rt::is_truthy(interp, &__t4195) { + if match rt::is_truthy(interp, &__t3815) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5218 = { - let __t4205 = { - let __t4196 = v_V5205.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t4196])? + let __t3825 = { + let __t3816 = v_V5205.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3816])? }; - if rt::is_truthy(interp, &__t4205)? { + if rt::is_truthy(interp, &__t3825)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t4198 = { - let __t4197 = v_V5201.clone(); - rt::apply_direct(interp, "shen.curry", &[__t4197])? + let __t3818 = { + let __t3817 = v_V5201.clone(); + aot_shen_x2e_curry(interp, &[__t3817])? }; - let __t4199 = v_V5202.clone(); - let __t4200 = v_V5203.clone(); - let __t4201 = v_V5204.clone(); - let __t4202 = v_V5205.clone(); - let __t4203 = v_W5208.clone(); - let __t4204 = v_V5207.clone(); - rt::apply_direct( + let __t3819 = v_V5202.clone(); + let __t3820 = v_V5203.clone(); + let __t3821 = v_V5204.clone(); + let __t3822 = v_V5205.clone(); + let __t3823 = v_W5208.clone(); + let __t3824 = v_V5207.clone(); + aot_shen_x2e_system_x2d_S_x2d_h( interp, - "shen.system-S-h", &[ - __t4198, __t4199, __t4200, __t4201, __t4202, - __t4203, __t4204, + __t3818, __t3819, __t3820, __t3821, __t3822, + __t3823, __t3824, ], )? } @@ -10127,22 +9815,22 @@ pub fn aot_shen_x2e_t_x2a__x2d_correct(interp: &mut Interp, args: &[Value]) -> S } }; { - let __t4208 = { - let __t4206 = v_W5218.clone(); - let __t4207 = Value::bool(false); - rt::eq(&__t4206, &__t4207) + let __t3828 = { + let __t3826 = v_W5218.clone(); + let __t3827 = Value::bool(false); + rt::eq(&__t3826, &__t3827) }; - if match rt::is_truthy(interp, &__t4208) { + if match rt::is_truthy(interp, &__t3828) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t4209 = v_V5205.clone(); - let __t4210 = v_W5208.clone(); + let __t3829 = v_V5205.clone(); + let __t3830 = v_W5208.clone(); rt::apply_direct( interp, "shen.unlock", - &[__t4209, __t4210], + &[__t3829, __t3830], )? }); } else { @@ -10192,37 +9880,33 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> loop { { let v_W5227 = { - let __t4223 = { - let __t4211 = v_V5224.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t4211])? + let __t3841 = { + let __t3831 = v_V5224.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3831])? }; - if rt::is_truthy(interp, &__t4223)? { + if rt::is_truthy(interp, &__t3841)? { { let v_W5228 = { - let __t4212 = v_V5219.clone(); - let __t4213 = v_V5223.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t4212, __t4213])? + let __t3832 = v_V5219.clone(); + let __t3833 = v_V5223.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3832, __t3833])? }; { - let __t4222 = { - let __t4214 = v_W5228.clone(); - let __t4215 = Value::nil(); - rt::eq(&__t4214, &__t4215) - }; - if rt::is_truthy(interp, &__t4222)? { + let __t3840 = Value::bool((v_W5228.clone()).is_nil()); + if rt::is_truthy(interp, &__t3840)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t4216 = v_V5220.clone(); - let __t4217 = v_V5222.clone(); - let __t4218 = v_V5223.clone(); - let __t4219 = v_V5224.clone(); - let __t4220 = v_V5225.clone(); - let __t4221 = v_V5226.clone(); + let __t3834 = v_V5220.clone(); + let __t3835 = v_V5222.clone(); + let __t3836 = v_V5223.clone(); + let __t3837 = v_V5224.clone(); + let __t3838 = v_V5225.clone(); + let __t3839 = v_V5226.clone(); rt::apply_direct( interp, "is!", - &[__t4216, __t4217, __t4218, __t4219, __t4220, __t4221], + &[__t3834, __t3835, __t3836, __t3837, __t3838, __t3839], )? } } @@ -10236,119 +9920,115 @@ pub fn aot_shen_x2e_t_x2a__x2d_integrity(interp: &mut Interp, args: &[Value]) -> } }; { - let __t4226 = { - let __t4224 = v_W5227.clone(); - let __t4225 = Value::bool(false); - rt::eq(&__t4224, &__t4225) + let __t3844 = { + let __t3842 = v_W5227.clone(); + let __t3843 = Value::bool(false); + rt::eq(&__t3842, &__t3843) }; - if match rt::is_truthy(interp, &__t4226) { + if match rt::is_truthy(interp, &__t3844) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t4228 = { - let __t4227 = v_V5224.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t4227])? + let __t3846 = { + let __t3845 = v_V5224.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t3845])? }; - if match rt::is_truthy(interp, &__t4228) { + if match rt::is_truthy(interp, &__t3846) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5229 = { - let __t4229 = v_V5219.clone(); - let __t4230 = v_V5223.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t4229, __t4230])? + let __t3847 = v_V5219.clone(); + let __t3848 = v_V5223.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t3847, __t3848])? }; { - let __t4232 = { - let __t4231 = v_W5229.clone(); - rt::is_cons(&__t4231) + let __t3850 = { + let __t3849 = v_W5229.clone(); + rt::is_cons(&__t3849) }; - if match rt::is_truthy(interp, &__t4232) { + if match rt::is_truthy(interp, &__t3850) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5230 = { - let __t4233 = v_W5229.clone(); - rt::hd(&__t4233)? + let __t3851 = v_W5229.clone(); + rt::hd(&__t3851)? }; { let v_W5231 = { - let __t4234 = v_W5229.clone(); - rt::tl(&__t4234)? + let __t3852 = v_W5229.clone(); + rt::tl(&__t3852)? }; { let v_W5232 = { - let __t4235 = v_V5220.clone(); - let __t4236 = v_V5223.clone(); + let __t3853 = v_V5220.clone(); + let __t3854 = v_V5223.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t4235, __t4236], + &[__t3853, __t3854], )? }; { - let __t4238 = { - let __t4237 = v_W5232.clone(); - rt::is_cons(&__t4237) + let __t3856 = { + let __t3855 = v_W5232.clone(); + rt::is_cons(&__t3855) }; - if match rt::is_truthy(interp, &__t4238) { + if match rt::is_truthy(interp, &__t3856) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5233 = { - let __t4239 = v_W5232.clone(); - rt::hd(&__t4239)? + let __t3857 = v_W5232.clone(); + rt::hd(&__t3857)? }; { let v_W5234 = { - let __t4241 = { - let __t4240 = + let __t3859 = { + let __t3858 = v_W5232.clone(); - rt::tl(&__t4240)? + rt::tl(&__t3858)? }; - let __t4242 = + let __t3860 = v_V5223.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t4241, __t4242], + &[__t3859, __t3860], )? }; { - let __t4244 = { - let __t4243 = + let __t3862 = { + let __t3861 = v_W5234.clone(); - rt::is_cons(&__t4243) + rt::is_cons(&__t3861) }; if match rt::is_truthy( - interp, &__t4244, + interp, &__t3862, ) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5235 = { - let __t4246 = { - let __t4245 = v_W5234.clone(); - rt::hd(&__t4245)? + let __t3864 = { + let __t3863 = v_W5234.clone(); + rt::hd(&__t3863)? }; - let __t4247 = + let __t3865 = v_V5223 .clone( ); - rt::apply_direct(interp, "shen.lazyderef", &[__t4246, __t4247])? + rt::apply_direct(interp, "shen.lazyderef", &[__t3864, __t3865])? }; { - let __t4250 = { - let __t4248 = v_W5235.clone(); - let __t4249 = Value::sym(interp.intern("-->")); - rt::eq(&__t4248, &__t4249) - }; - if match rt::is_truthy(interp, &__t4250) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5236 = { let __t4252 = { let __t4251 = v_W5234.clone(); rt::tl(&__t4251)? }; let __t4253 = v_V5223.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4252, __t4253])? }; { let __t4255 = { let __t4254 = v_W5236.clone(); rt::is_cons(&__t4254) }; if match rt::is_truthy(interp, &__t4255) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5237 = { let __t4256 = v_W5236.clone(); rt::hd(&__t4256)? }; { let v_W5238 = { let __t4258 = { let __t4257 = v_W5236.clone(); rt::tl(&__t4257)? }; let __t4259 = v_V5223.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t4258, __t4259])? }; { let __t4262 = { let __t4260 = v_W5238.clone(); let __t4261 = Value::nil(); rt::eq(&__t4260, &__t4261) }; if match rt::is_truthy(interp, &__t4262) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; break Ok({ let __t4263 = v_W5230.clone(); let __t4264 = v_W5233.clone(); let __t4265 = v_V5221.clone(); let __t4266 = v_V5223.clone(); let __t4267 = v_V5224.clone(); let __t4268 = v_V5225.clone(); let __t4277 = { let v_V5221 = v_V5221.clone(); let v_V5222 = v_V5222.clone(); let v_V5223 = v_V5223.clone(); let v_V5224 = v_V5224.clone(); let v_V5225 = v_V5225.clone(); let v_V5226 = v_V5226.clone(); let v_W5231 = v_W5231.clone(); let v_W5237 = v_W5237.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t4269 = v_W5231.clone(); let __t4270 = v_W5237.clone(); let __t4271 = v_V5221.clone(); let __t4272 = v_V5222.clone(); let __t4273 = v_V5223.clone(); let __t4274 = v_V5224.clone(); let __t4275 = v_V5225.clone(); let __t4276 = v_V5226.clone(); rt::apply_direct(interp, "shen.t*-integrity", &[__t4269, __t4270, __t4271, __t4272, __t4273, __t4274, __t4275, __t4276])? }), vec![v_V5221, v_V5222, v_V5223, v_V5224, v_V5225, v_V5226, v_W5231, v_W5237], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t4263, __t4264, __t4265, __t4266, __t4267, __t4268, __t4277])? }); } } else { break Ok(Value::bool(false)); } } } } } else { break Ok(Value::bool(false)); } } } } else { break Ok(Value::bool(false)); } + let __t3866 = Value::bool((v_W5235.clone()).as_sym() == Some(interp.intern_static("-->"))); + if match rt::is_truthy(interp, &__t3866) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5236 = { let __t3868 = { let __t3867 = v_W5234.clone(); rt::tl(&__t3867)? }; let __t3869 = v_V5223.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3868, __t3869])? }; { let __t3871 = { let __t3870 = v_W5236.clone(); rt::is_cons(&__t3870) }; if match rt::is_truthy(interp, &__t3871) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5237 = { let __t3872 = v_W5236.clone(); rt::hd(&__t3872)? }; { let v_W5238 = { let __t3874 = { let __t3873 = v_W5236.clone(); rt::tl(&__t3873)? }; let __t3875 = v_V5223.clone(); rt::apply_direct(interp, "shen.lazyderef", &[__t3874, __t3875])? }; { let __t3876 = Value::bool((v_W5238.clone()).is_nil()); if match rt::is_truthy(interp, &__t3876) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; break Ok({ let __t3877 = v_W5230.clone(); let __t3878 = v_W5233.clone(); let __t3879 = v_V5221.clone(); let __t3880 = v_V5223.clone(); let __t3881 = v_V5224.clone(); let __t3882 = v_V5225.clone(); let __t3891 = { let v_V5221 = v_V5221.clone(); let v_V5222 = v_V5222.clone(); let v_V5223 = v_V5223.clone(); let v_V5224 = v_V5224.clone(); let v_V5225 = v_V5225.clone(); let v_V5226 = v_V5226.clone(); let v_W5231 = v_W5231.clone(); let v_W5237 = v_W5237.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t3883 = v_W5231.clone(); let __t3884 = v_W5237.clone(); let __t3885 = v_V5221.clone(); let __t3886 = v_V5222.clone(); let __t3887 = v_V5223.clone(); let __t3888 = v_V5224.clone(); let __t3889 = v_V5225.clone(); let __t3890 = v_V5226.clone(); aot_shen_x2e_t_x2a__x2d_integrity(interp, &[__t3883, __t3884, __t3885, __t3886, __t3887, __t3888, __t3889, __t3890])? }), vec![v_V5221, v_V5222, v_V5223, v_V5224, v_V5225, v_V5226, v_W5231, v_W5237], interp) }; aot_shen_x2e_system_x2d_S_x2d_h(interp, &[__t3877, __t3878, __t3879, __t3880, __t3881, __t3882, __t3891])? }); } } else { break Ok(Value::bool(false)); } } } } } else { break Ok(Value::bool(false)); } } } } else { break Ok(Value::bool(false)); } } } } else { @@ -10401,39 +10081,39 @@ pub fn aot_shen_x2e_freshterm_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t4279 = { - let __t4278 = v_V5239.clone(); - rt::is_absvector(&__t4278) + let __t3893 = { + let __t3892 = v_V5239.clone(); + rt::is_absvector(&__t3892) }; - if !match rt::is_truthy(interp, &__t4279) { + if !match rt::is_truthy(interp, &__t3893) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t4282 = { - let __t4281 = { - let __t4280 = v_V5239.clone(); - rt::is_string(&__t4280) + let __t3896 = { + let __t3895 = { + let __t3894 = v_V5239.clone(); + rt::is_string(&__t3894) }; - rt::apply_direct(interp, "not", &[__t4281])? + rt::not(interp, &__t3895)? }; - if !match rt::is_truthy(interp, &__t4282) { + if !match rt::is_truthy(interp, &__t3896) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { - break Ok({ - let __t4285 = { - let __t4283 = v_V5239.clone(); - let __t4284 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t4283, __t4284])? - }; - let __t4286 = Value::sym(interp.intern("shen.print-freshterm")); - rt::eq(&__t4285, &__t4286) - }); + break Ok(Value::bool( + ({ + let __t3897 = v_V5239.clone(); + let __t3898 = Value::int(0i64); + rt::address_ref(&__t3897, &__t3898)? + }) + .as_sym() + == Some(interp.intern_static("shen.print-freshterm")), + )); } } } diff --git a/crates/shen-rust/src/aot/kernel/toplevel.rs b/crates/shen-rust/src/aot/kernel/toplevel.rs index 2e78207..c40652e 100644 --- a/crates/shen-rust/src/aot/kernel/toplevel.rs +++ b/crates/shen-rust/src/aot/kernel/toplevel.rs @@ -34,8 +34,8 @@ pub fn aot_shen_x2e_shen(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult ShenResult { - Ok({ rt::apply_direct(interp, "shen.read-evaluate-print", &[])? }) + Ok({ aot_shen_x2e_read_x2d_evaluate_x2d_print(interp, &[])? }) })() { Ok(v) => v, Err(e) => { @@ -133,96 +133,79 @@ pub fn aot_shen_x2e_credits(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t59 = { - let __t52 = Value::str("\n("); - let __t58 = { - let __t55 = { - let __t54 = { - let __t53 = Value::sym(interp.intern("shen.*history*")); - rt::apply_direct(interp, "value", &[__t53])? - }; - rt::apply_direct(interp, "length", &[__t54])? + let __t47 = { + let __t41 = Value::str("\n("); + let __t46 = { + let __t43 = { + let __t42 = rt::global_value(interp, "shen.*history*")?; + rt::apply_direct(interp, "length", &[__t42])? }; - let __t56 = Value::str("+) "); - let __t57 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t55, __t56, __t57])? + let __t44 = Value::str("+) "); + let __t45 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t43, __t44, __t45])? }; - rt::apply_direct(interp, "cn", &[__t52, __t58])? + rt::cn(&__t41, &__t46)? }; - let __t60 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t59, __t60])? + let __t48 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t47, __t48])? }); } else { break Ok({ - let __t68 = { - let __t61 = Value::str("\n("); - let __t67 = { - let __t64 = { - let __t63 = { - let __t62 = Value::sym(interp.intern("shen.*history*")); - rt::apply_direct(interp, "value", &[__t62])? - }; - rt::apply_direct(interp, "length", &[__t63])? + let __t55 = { + let __t49 = Value::str("\n("); + let __t54 = { + let __t51 = { + let __t50 = rt::global_value(interp, "shen.*history*")?; + rt::apply_direct(interp, "length", &[__t50])? }; - let __t65 = Value::str("-) "); - let __t66 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t64, __t65, __t66])? + let __t52 = Value::str("-) "); + let __t53 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t51, __t52, __t53])? }; - rt::apply_direct(interp, "cn", &[__t61, __t67])? + rt::cn(&__t49, &__t54)? }; - let __t69 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t68, __t69])? + let __t56 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t55, __t56])? }); } } @@ -358,29 +330,23 @@ pub fn aot_shen_x2e_read_x2d_evaluate_x2d_print( #[allow(clippy::never_loop)] loop { { - let v_W5263 = { - let __t70 = Value::sym(interp.intern("shen.*package*")); - rt::apply_direct(interp, "value", &[__t70])? - }; + let v_W5263 = rt::global_value(interp, "shen.*package*")?; { let v_W5264 = { - let __t71 = v_W5263.clone(); - let __t73 = { - let __t72 = { rt::apply_direct(interp, "stinput", &[])? }; - rt::apply_direct(interp, "lineread", &[__t72])? + let __t57 = v_W5263.clone(); + let __t59 = { + let __t58 = { rt::apply_direct(interp, "stinput", &[])? }; + rt::apply_direct(interp, "lineread", &[__t58])? }; - rt::apply_direct(interp, "shen.package-user-input", &[__t71, __t73])? + aot_shen_x2e_package_x2d_user_x2d_input(interp, &[__t57, __t59])? }; { - let v_W5265 = { rt::apply_direct(interp, "shen.update-history", &[])? }; + let v_W5265 = { aot_shen_x2e_update_x2d_history(interp, &[])? }; break Ok({ - let __t74 = v_W5264.clone(); - let __t75 = v_W5265.clone(); - let __t77 = { - let __t76 = Value::sym(interp.intern("shen.*tc*")); - rt::apply_direct(interp, "value", &[__t76])? - }; - rt::apply_direct(interp, "shen.evaluate-lineread", &[__t74, __t75, __t77])? + let __t60 = v_W5264.clone(); + let __t61 = v_W5265.clone(); + let __t62 = rt::global_value(interp, "shen.*tc*")?; + aot_shen_x2e_evaluate_x2d_lineread(interp, &[__t60, __t61, __t62])? }); } } @@ -418,35 +384,32 @@ pub fn aot_shen_x2e_package_x2d_user_x2d_input( #[allow(clippy::never_loop)] loop { { - let __t88 = { - let __t86 = Value::sym(interp.intern("null")); - let __t87 = v_V5266.clone(); - rt::eq(&__t86, &__t87) - }; - if match rt::is_truthy(interp, &__t88) { + let __t71 = + Value::bool((v_V5266.clone()).as_sym() == Some(interp.intern_static("null"))); + if match rt::is_truthy(interp, &__t71) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5267.clone()); } else { { - let __t85 = Value::bool(true); - if match rt::is_truthy(interp, &__t85) { + let __t70 = Value::bool(true); + if match rt::is_truthy(interp, &__t70) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5268 = { - let __t78 = v_V5266.clone(); - rt::apply_direct(interp, "str", &[__t78])? + let __t63 = v_V5266.clone(); + rt::apply_direct(interp, "str", &[__t63])? }; { let v_W5269 = { - let __t79 = v_V5266.clone(); - rt::apply_direct(interp, "external", &[__t79])? + let __t64 = v_V5266.clone(); + rt::apply_direct(interp, "external", &[__t64])? }; break Ok({ - let __t83 = { + let __t68 = { let v_W5268 = v_W5268.clone(); let v_W5269 = v_W5269.clone(); rt::make_aot_closure( @@ -455,13 +418,12 @@ pub fn aot_shen_x2e_package_x2d_user_x2d_input( move |interp, args| { let v_Z5270 = args[0].clone(); Ok({ - let __t80 = v_W5268.clone(); - let __t81 = v_W5269.clone(); - let __t82 = v_Z5270.clone(); - rt::apply_direct( + let __t65 = v_W5268.clone(); + let __t66 = v_W5269.clone(); + let __t67 = v_Z5270.clone(); + aot_shen_x2e_pui_x2d_h( interp, - "shen.pui-h", - &[__t80, __t81, __t82], + &[__t65, __t66, __t67], )? }) }, @@ -469,8 +431,8 @@ pub fn aot_shen_x2e_package_x2d_user_x2d_input( interp, ) }; - let __t84 = v_V5267.clone(); - rt::apply_direct(interp, "map", &[__t83, __t84])? + let __t69 = v_V5267.clone(); + rt::apply_direct(interp, "map", &[__t68, __t69])? }); } } @@ -512,100 +474,99 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t155 = { - let __t139 = { - let __t125 = v_V5277.clone(); - rt::is_cons(&__t125) + let __t134 = { + let __t118 = { + let __t108 = v_V5277.clone(); + rt::is_cons(&__t108) }; - if !rt::is_truthy(interp, &__t139)? { + if !rt::is_truthy(interp, &__t118)? { Value::bool(false) } else { - let __t140 = { - let __t137 = { - let __t126 = Value::sym(interp.intern("fn")); - let __t128 = { - let __t127 = v_V5277.clone(); - rt::hd(&__t127)? - }; - rt::eq(&__t126, &__t128) - }; - if !rt::is_truthy(interp, &__t137)? { + let __t119 = { + let __t116 = Value::bool( + ({ + let __t109 = v_V5277.clone(); + rt::hd(&__t109)? + }) + .as_sym() + == Some(interp.intern_static("fn")), + ); + if !rt::is_truthy(interp, &__t116)? { Value::bool(false) } else { - let __t138 = { - let __t135 = { - let __t130 = { - let __t129 = v_V5277.clone(); - rt::tl(&__t129)? + let __t117 = { + let __t114 = { + let __t111 = { + let __t110 = v_V5277.clone(); + rt::tl(&__t110)? }; - rt::is_cons(&__t130) + rt::is_cons(&__t111) }; - if !rt::is_truthy(interp, &__t135)? { + if !rt::is_truthy(interp, &__t114)? { Value::bool(false) } else { - let __t136 = { - let __t131 = Value::nil(); - let __t134 = { - let __t133 = { - let __t132 = v_V5277.clone(); - rt::tl(&__t132)? + let __t115 = Value::bool( + ({ + let __t113 = { + let __t112 = v_V5277.clone(); + rt::tl(&__t112)? }; - rt::tl(&__t133)? - }; - rt::eq(&__t131, &__t134) - }; - Value::bool(rt::is_truthy(interp, &__t136)?) + rt::tl(&__t113)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t115)?) } }; - Value::bool(rt::is_truthy(interp, &__t138)?) + Value::bool(rt::is_truthy(interp, &__t117)?) } }; - Value::bool(rt::is_truthy(interp, &__t140)?) + Value::bool(rt::is_truthy(interp, &__t119)?) } }; - if match rt::is_truthy(interp, &__t155) { + if match rt::is_truthy(interp, &__t134) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t146 = { - let __t143 = { - let __t142 = { - let __t141 = v_V5277.clone(); - rt::tl(&__t141)? + let __t125 = { + let __t122 = { + let __t121 = { + let __t120 = v_V5277.clone(); + rt::tl(&__t120)? }; - rt::hd(&__t142)? + rt::hd(&__t121)? }; - let __t144 = v_V5275.clone(); - let __t145 = v_V5276.clone(); - rt::apply_direct(interp, "shen.internal?", &[__t143, __t144, __t145])? + let __t123 = v_V5275.clone(); + let __t124 = v_V5276.clone(); + rt::apply_direct(interp, "shen.internal?", &[__t122, __t123, __t124])? }; - if match rt::is_truthy(interp, &__t146) { + if match rt::is_truthy(interp, &__t125) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t147 = Value::sym(interp.intern("fn")); - let __t154 = { - let __t152 = { - let __t148 = v_V5275.clone(); - let __t151 = { - let __t150 = { - let __t149 = v_V5277.clone(); - rt::tl(&__t149)? + let __t126 = Value::sym(interp.intern_static("fn")); + let __t133 = { + let __t131 = { + let __t127 = v_V5275.clone(); + let __t130 = { + let __t129 = { + let __t128 = v_V5277.clone(); + rt::tl(&__t128)? }; - rt::hd(&__t150)? + rt::hd(&__t129)? }; rt::apply_direct( interp, "shen.intern-in-package", - &[__t148, __t151], + &[__t127, __t130], )? }; - let __t153 = Value::nil(); - rt::cons(&__t152, &__t153) + let __t132 = Value::nil(); + rt::cons(&__t131, &__t132) }; - rt::cons(&__t147, &__t154) + rt::cons(&__t126, &__t133) }); } else { break Ok(v_V5277.clone()); @@ -613,43 +574,43 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult } } else { { - let __t124 = { - let __t90 = v_V5277.clone(); - rt::is_cons(&__t90) + let __t107 = { + let __t73 = v_V5277.clone(); + rt::is_cons(&__t73) }; - if match rt::is_truthy(interp, &__t124) { + if match rt::is_truthy(interp, &__t107) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t95 = { - let __t92 = { - let __t91 = v_V5277.clone(); - rt::hd(&__t91)? + let __t78 = { + let __t75 = { + let __t74 = v_V5277.clone(); + rt::hd(&__t74)? }; - let __t93 = v_V5275.clone(); - let __t94 = v_V5276.clone(); - rt::apply_direct(interp, "shen.internal?", &[__t92, __t93, __t94])? + let __t76 = v_V5275.clone(); + let __t77 = v_V5276.clone(); + rt::apply_direct(interp, "shen.internal?", &[__t75, __t76, __t77])? }; - if match rt::is_truthy(interp, &__t95) { + if match rt::is_truthy(interp, &__t78) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t99 = { - let __t96 = v_V5275.clone(); - let __t98 = { - let __t97 = v_V5277.clone(); - rt::hd(&__t97)? + let __t82 = { + let __t79 = v_V5275.clone(); + let __t81 = { + let __t80 = v_V5277.clone(); + rt::hd(&__t80)? }; rt::apply_direct( interp, "shen.intern-in-package", - &[__t96, __t98], + &[__t79, __t81], )? }; - let __t106 = { - let __t103 = { + let __t89 = { + let __t86 = { let v_V5275 = v_V5275.clone(); let v_V5276 = v_V5276.clone(); rt::make_aot_closure( @@ -658,13 +619,12 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult move |interp, args| { let v_Z5278 = args[0].clone(); Ok({ - let __t100 = v_V5275.clone(); - let __t101 = v_V5276.clone(); - let __t102 = v_Z5278.clone(); - rt::apply_direct( + let __t83 = v_V5275.clone(); + let __t84 = v_V5276.clone(); + let __t85 = v_Z5278.clone(); + aot_shen_x2e_pui_x2d_h( interp, - "shen.pui-h", - &[__t100, __t101, __t102], + &[__t83, __t84, __t85], )? }) }, @@ -672,29 +632,29 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult interp, ) }; - let __t105 = { - let __t104 = v_V5277.clone(); - rt::tl(&__t104)? + let __t88 = { + let __t87 = v_V5277.clone(); + rt::tl(&__t87)? }; - rt::apply_direct(interp, "map", &[__t103, __t105])? + rt::apply_direct(interp, "map", &[__t86, __t88])? }; - rt::cons(&__t99, &__t106) + rt::cons(&__t82, &__t89) }); } else { { - let __t109 = { - let __t108 = { - let __t107 = v_V5277.clone(); - rt::hd(&__t107)? + let __t92 = { + let __t91 = { + let __t90 = v_V5277.clone(); + rt::hd(&__t90)? }; - rt::is_cons(&__t108) + rt::is_cons(&__t91) }; - if match rt::is_truthy(interp, &__t109) { + if match rt::is_truthy(interp, &__t92) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t113 = { + let __t96 = { let v_V5275 = v_V5275.clone(); let v_V5276 = v_V5276.clone(); rt::make_aot_closure( @@ -703,13 +663,12 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult move |interp, args| { let v_Z5279 = args[0].clone(); Ok({ - let __t110 = v_V5275.clone(); - let __t111 = v_V5276.clone(); - let __t112 = v_Z5279.clone(); - rt::apply_direct( + let __t93 = v_V5275.clone(); + let __t94 = v_V5276.clone(); + let __t95 = v_Z5279.clone(); + aot_shen_x2e_pui_x2d_h( interp, - "shen.pui-h", - &[__t110, __t111, __t112], + &[__t93, __t94, __t95], )? }) }, @@ -717,17 +676,17 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult interp, ) }; - let __t114 = v_V5277.clone(); - rt::apply_direct(interp, "map", &[__t113, __t114])? + let __t97 = v_V5277.clone(); + rt::apply_direct(interp, "map", &[__t96, __t97])? }); } else { break Ok({ - let __t116 = { - let __t115 = v_V5277.clone(); - rt::hd(&__t115)? + let __t99 = { + let __t98 = v_V5277.clone(); + rt::hd(&__t98)? }; - let __t123 = { - let __t120 = { + let __t106 = { + let __t103 = { let v_V5275 = v_V5275.clone(); let v_V5276 = v_V5276.clone(); rt::make_aot_closure( @@ -736,13 +695,12 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult move |interp, args| { let v_Z5280 = args[0].clone(); Ok({ - let __t117 = v_V5275.clone(); - let __t118 = v_V5276.clone(); - let __t119 = v_Z5280.clone(); - rt::apply_direct( + let __t100 = v_V5275.clone(); + let __t101 = v_V5276.clone(); + let __t102 = v_Z5280.clone(); + aot_shen_x2e_pui_x2d_h( interp, - "shen.pui-h", - &[__t117, __t118, __t119], + &[__t100, __t101, __t102], )? }) }, @@ -750,13 +708,13 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult interp, ) }; - let __t122 = { - let __t121 = v_V5277.clone(); - rt::tl(&__t121)? + let __t105 = { + let __t104 = v_V5277.clone(); + rt::tl(&__t104)? }; - rt::apply_direct(interp, "map", &[__t120, __t122])? + rt::apply_direct(interp, "map", &[__t103, __t105])? }; - rt::cons(&__t116, &__t123) + rt::cons(&__t99, &__t106) }); } } @@ -764,8 +722,8 @@ pub fn aot_shen_x2e_pui_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenResult } } else { { - let __t89 = Value::bool(true); - if match rt::is_truthy(interp, &__t89) { + let __t72 = Value::bool(true); + if match rt::is_truthy(interp, &__t72) { Ok(b) => b, Err(e) => break Err(e), } { @@ -797,19 +755,15 @@ pub fn aot_shen_x2e_update_x2d_history(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { break Ok({ - let __t156 = Value::sym(interp.intern("shen.*history*")); - let __t161 = { - let __t158 = { - let __t157 = { rt::apply_direct(interp, "it", &[])? }; - rt::apply_direct(interp, "shen.trim-it", &[__t157])? - }; - let __t160 = { - let __t159 = Value::sym(interp.intern("shen.*history*")); - rt::apply_direct(interp, "value", &[__t159])? + let __v = { + let __t136 = { + let __t135 = { rt::apply_direct(interp, "it", &[])? }; + aot_shen_x2e_trim_x2d_it(interp, &[__t135])? }; - rt::cons(&__t158, &__t160) + let __t137 = rt::global_value(interp, "shen.*history*")?; + rt::cons(&__t136, &__t137) }; - rt::apply_direct(interp, "set", &[__t156, __t161])? + rt::set_global(interp, "shen.*history*", __v) }); } } @@ -832,43 +786,43 @@ pub fn aot_shen_x2e_trim_x2d_it(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t171 = { - let __t167 = { - let __t163 = v_V5281.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t163])? + let __t147 = { + let __t143 = { + let __t139 = v_V5281.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t139])? }; - if !rt::is_truthy(interp, &__t167)? { + if !rt::is_truthy(interp, &__t143)? { Value::bool(false) } else { - let __t168 = { - let __t166 = { - let __t165 = { - let __t164 = v_V5281.clone(); - rt::apply_direct(interp, "hdstr", &[__t164])? + let __t144 = { + let __t142 = { + let __t141 = { + let __t140 = v_V5281.clone(); + rt::hdstr(&__t140)? }; - rt::apply_direct(interp, "string->n", &[__t165])? + rt::string_to_n(&__t141)? }; - rt::apply_direct(interp, "shen.whitespace?", &[__t166])? + rt::apply_direct(interp, "shen.whitespace?", &[__t142])? }; - Value::bool(rt::is_truthy(interp, &__t168)?) + Value::bool(rt::is_truthy(interp, &__t144)?) } }; - if match rt::is_truthy(interp, &__t171) { + if match rt::is_truthy(interp, &__t147) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t170 = { - let __t169 = v_V5281.clone(); - rt::apply_direct(interp, "tlstr", &[__t169])? + let __t146 = { + let __t145 = v_V5281.clone(); + rt::tlstr(&__t145)? }; - v_V5281 = __t170; + v_V5281 = __t146; continue; } } else { { - let __t162 = Value::bool(true); - if match rt::is_truthy(interp, &__t162) { + let __t138 = Value::bool(true); + if match rt::is_truthy(interp, &__t138) { Ok(b) => b, Err(e) => break Err(e), } { @@ -907,205 +861,187 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( #[allow(clippy::never_loop)] loop { { - let __t324 = { - let __t302 = { - let __t269 = v_V5300.clone(); - rt::is_cons(&__t269) + let __t276 = { + let __t256 = { + let __t229 = v_V5300.clone(); + rt::is_cons(&__t229) }; - if !rt::is_truthy(interp, &__t302)? { + if !rt::is_truthy(interp, &__t256)? { Value::bool(false) } else { - let __t303 = { - let __t300 = { - let __t270 = Value::nil(); - let __t272 = { - let __t271 = v_V5300.clone(); - rt::tl(&__t271)? - }; - rt::eq(&__t270, &__t272) - }; - if !rt::is_truthy(interp, &__t300)? { + let __t257 = { + let __t254 = Value::bool( + ({ + let __t230 = v_V5300.clone(); + rt::tl(&__t230)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t254)? { Value::bool(false) } else { - let __t301 = { - let __t298 = { - let __t273 = v_V5301.clone(); - rt::is_cons(&__t273) + let __t255 = { + let __t252 = { + let __t231 = v_V5301.clone(); + rt::is_cons(&__t231) }; - if !rt::is_truthy(interp, &__t298)? { + if !rt::is_truthy(interp, &__t252)? { Value::bool(false) } else { - let __t299 = { - let __t296 = { - let __t275 = { - let __t274 = v_V5301.clone(); - rt::hd(&__t274)? + let __t253 = { + let __t250 = { + let __t233 = { + let __t232 = v_V5301.clone(); + rt::hd(&__t232)? }; - rt::apply_direct(interp, "shen.+string?", &[__t275])? + rt::apply_direct(interp, "shen.+string?", &[__t233])? }; - if !rt::is_truthy(interp, &__t296)? { + if !rt::is_truthy(interp, &__t250)? { Value::bool(false) } else { - let __t297 = { - let __t294 = { - let __t276 = Value::str("!"); - let __t279 = { - let __t278 = { - let __t277 = v_V5301.clone(); - rt::hd(&__t277)? + let __t251 = { + let __t248 = Value::bool( + ({ + let __t235 = { + let __t234 = v_V5301.clone(); + rt::hd(&__t234)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t278], - )? - }; - rt::eq(&__t276, &__t279) - }; - if !rt::is_truthy(interp, &__t294)? { + rt::hdstr(&__t235)? + }) + .as_str() + == Some("!"), + ); + if !rt::is_truthy(interp, &__t248)? { Value::bool(false) } else { - let __t295 = { - let __t292 = { - let __t282 = { - let __t281 = { - let __t280 = v_V5301.clone(); - rt::hd(&__t280)? + let __t249 = { + let __t246 = { + let __t238 = { + let __t237 = { + let __t236 = v_V5301.clone(); + rt::hd(&__t236)? }; - rt::apply_direct( - interp, - "tlstr", - &[__t281], - )? + rt::tlstr(&__t237)? }; rt::apply_direct( interp, "shen.+string?", - &[__t282], + &[__t238], )? }; - if !rt::is_truthy(interp, &__t292)? { + if !rt::is_truthy(interp, &__t246)? { Value::bool(false) } else { - let __t293 = { - let __t290 = { - let __t283 = Value::str("!"); - let __t287 = { - let __t286 = { - let __t285 = { - let __t284 = + let __t247 = { + let __t244 = Value::bool( + ({ + let __t241 = { + let __t240 = { + let __t239 = v_V5301.clone(); - rt::hd(&__t284)? + rt::hd(&__t239)? }; - rt::apply_direct( - interp, - "tlstr", - &[__t285], - )? + rt::tlstr(&__t240)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t286], - )? - }; - rt::eq(&__t283, &__t287) - }; - if !rt::is_truthy(interp, &__t290)? + rt::hdstr(&__t241)? + }) + .as_str() + == Some("!"), + ); + if !rt::is_truthy(interp, &__t244)? { Value::bool(false) } else { - let __t291 = { - let __t289 = { - let __t288 = + let __t245 = { + let __t243 = { + let __t242 = v_V5301.clone(); - rt::tl(&__t288)? + rt::tl(&__t242)? }; - rt::is_cons(&__t289) + rt::is_cons(&__t243) }; Value::bool(rt::is_truthy( - interp, &__t291, + interp, &__t245, )?) } }; Value::bool(rt::is_truthy( - interp, &__t293, + interp, &__t247, )?) } }; - Value::bool(rt::is_truthy(interp, &__t295)?) + Value::bool(rt::is_truthy(interp, &__t249)?) } }; - Value::bool(rt::is_truthy(interp, &__t297)?) + Value::bool(rt::is_truthy(interp, &__t251)?) } }; - Value::bool(rt::is_truthy(interp, &__t299)?) + Value::bool(rt::is_truthy(interp, &__t253)?) } }; - Value::bool(rt::is_truthy(interp, &__t301)?) + Value::bool(rt::is_truthy(interp, &__t255)?) } }; - Value::bool(rt::is_truthy(interp, &__t303)?) + Value::bool(rt::is_truthy(interp, &__t257)?) } }; - if match rt::is_truthy(interp, &__t324) { + if match rt::is_truthy(interp, &__t276) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5303 = { - let __t306 = { - let __t305 = { - let __t304 = v_V5301.clone(); - rt::tl(&__t304)? + let __t260 = { + let __t259 = { + let __t258 = v_V5301.clone(); + rt::tl(&__t258)? }; - rt::hd(&__t305)? + rt::hd(&__t259)? }; - rt::apply_direct(interp, "read-from-string", &[__t306])? + rt::apply_direct(interp, "read-from-string", &[__t260])? }; { let v_W5304 = { - let __t307 = Value::sym(interp.intern("shen.*history*")); - let __t313 = { - let __t310 = { - let __t309 = { - let __t308 = v_V5301.clone(); - rt::tl(&__t308)? + let __v = { + let __t263 = { + let __t262 = { + let __t261 = v_V5301.clone(); + rt::tl(&__t261)? }; - rt::hd(&__t309)? + rt::hd(&__t262)? }; - let __t312 = { - let __t311 = v_V5301.clone(); - rt::tl(&__t311)? + let __t265 = { + let __t264 = v_V5301.clone(); + rt::tl(&__t264)? }; - rt::cons(&__t310, &__t312) + rt::cons(&__t263, &__t265) }; - rt::apply_direct(interp, "set", &[__t307, __t313])? + rt::set_global(interp, "shen.*history*", __v) }; { let v_W5305 = { - let __t319 = { - let __t316 = { - let __t315 = { - let __t314 = v_V5301.clone(); - rt::tl(&__t314)? + let __t271 = { + let __t268 = { + let __t267 = { + let __t266 = v_V5301.clone(); + rt::tl(&__t266)? }; - rt::hd(&__t315)? + rt::hd(&__t267)? }; - let __t317 = Value::str("\n"); - let __t318 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t316, __t317, __t318])? + let __t269 = Value::str("\n"); + let __t270 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t268, __t269, __t270])? }; - let __t320 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t319, __t320])? + let __t272 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t271, __t272])? }; { - let __t321 = v_W5303.clone(); - let __t322 = v_W5304.clone(); - let __t323 = v_V5302.clone(); - v_V5300 = __t321; - v_V5301 = __t322; - v_V5302 = __t323; + let __t273 = v_W5303.clone(); + let __t274 = v_W5304.clone(); + let __t275 = v_V5302.clone(); + v_V5300 = __t273; + v_V5301 = __t274; + v_V5302 = __t275; continue; } } @@ -1113,172 +1049,161 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( } } else { { - let __t268 = { - let __t237 = { - let __t220 = v_V5300.clone(); - rt::is_cons(&__t220) + let __t228 = { + let __t201 = { + let __t188 = v_V5300.clone(); + rt::is_cons(&__t188) }; - if !rt::is_truthy(interp, &__t237)? { + if !rt::is_truthy(interp, &__t201)? { Value::bool(false) } else { - let __t238 = { - let __t235 = { - let __t221 = Value::nil(); - let __t223 = { - let __t222 = v_V5300.clone(); - rt::tl(&__t222)? - }; - rt::eq(&__t221, &__t223) - }; - if !rt::is_truthy(interp, &__t235)? { + let __t202 = { + let __t199 = Value::bool( + ({ + let __t189 = v_V5300.clone(); + rt::tl(&__t189)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t199)? { Value::bool(false) } else { - let __t236 = { - let __t233 = { - let __t224 = v_V5301.clone(); - rt::is_cons(&__t224) + let __t200 = { + let __t197 = { + let __t190 = v_V5301.clone(); + rt::is_cons(&__t190) }; - if !rt::is_truthy(interp, &__t233)? { + if !rt::is_truthy(interp, &__t197)? { Value::bool(false) } else { - let __t234 = { - let __t231 = { - let __t226 = { - let __t225 = v_V5301.clone(); - rt::hd(&__t225)? + let __t198 = { + let __t195 = { + let __t192 = { + let __t191 = v_V5301.clone(); + rt::hd(&__t191)? }; rt::apply_direct( interp, "shen.+string?", - &[__t226], + &[__t192], )? }; - if !rt::is_truthy(interp, &__t231)? { + if !rt::is_truthy(interp, &__t195)? { Value::bool(false) } else { - let __t232 = { - let __t227 = Value::str("!"); - let __t230 = { - let __t229 = { - let __t228 = v_V5301.clone(); - rt::hd(&__t228)? + let __t196 = Value::bool( + ({ + let __t194 = { + let __t193 = v_V5301.clone(); + rt::hd(&__t193)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t229], - )? - }; - rt::eq(&__t227, &__t230) - }; - Value::bool(rt::is_truthy(interp, &__t232)?) + rt::hdstr(&__t194)? + }) + .as_str() + == Some("!"), + ); + Value::bool(rt::is_truthy(interp, &__t196)?) } }; - Value::bool(rt::is_truthy(interp, &__t234)?) + Value::bool(rt::is_truthy(interp, &__t198)?) } }; - Value::bool(rt::is_truthy(interp, &__t236)?) + Value::bool(rt::is_truthy(interp, &__t200)?) } }; - Value::bool(rt::is_truthy(interp, &__t238)?) + Value::bool(rt::is_truthy(interp, &__t202)?) } }; - if match rt::is_truthy(interp, &__t268) { + if match rt::is_truthy(interp, &__t228) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5306 = { - let __t247 = { - let __t241 = { - let __t240 = { - let __t239 = v_V5301.clone(); - rt::hd(&__t239)? + let __t209 = Value::bool( + ({ + let __t204 = { + let __t203 = v_V5301.clone(); + rt::hd(&__t203)? }; - rt::apply_direct(interp, "tlstr", &[__t240])? - }; - let __t242 = Value::str(""); - rt::eq(&__t241, &__t242) - }; - if rt::is_truthy(interp, &__t247)? { + rt::tlstr(&__t204)? + }) + .as_str() + == Some(""), + ); + if rt::is_truthy(interp, &__t209)? { Value::nil() } else { { - let __t246 = { - let __t245 = { - let __t244 = { - let __t243 = v_V5301.clone(); - rt::hd(&__t243)? + let __t208 = { + let __t207 = { + let __t206 = { + let __t205 = v_V5301.clone(); + rt::hd(&__t205)? }; - rt::apply_direct(interp, "tlstr", &[__t244])? + rt::tlstr(&__t206)? }; - rt::apply_direct(interp, "read-from-string", &[__t245])? + rt::apply_direct(interp, "read-from-string", &[__t207])? }; - rt::hd(&__t246)? + rt::hd(&__t208)? } } }; { let v_W5307 = { - let __t248 = v_W5306.clone(); - let __t251 = { - let __t250 = { - let __t249 = v_V5301.clone(); - rt::hd(&__t249)? + let __t210 = v_W5306.clone(); + let __t213 = { + let __t212 = { + let __t211 = v_V5301.clone(); + rt::hd(&__t211)? }; - rt::apply_direct(interp, "tlstr", &[__t250])? + rt::tlstr(&__t212)? }; - let __t253 = { - let __t252 = v_V5301.clone(); - rt::tl(&__t252)? + let __t215 = { + let __t214 = v_V5301.clone(); + rt::tl(&__t214)? }; - rt::apply_direct( - interp, - "shen.use-history", - &[__t248, __t251, __t253], - )? + aot_shen_x2e_use_x2d_history(interp, &[__t210, __t213, __t215])? }; { let v_W5308 = { - let __t257 = { - let __t254 = v_W5307.clone(); - let __t255 = Value::str("\n"); - let __t256 = Value::sym(interp.intern("shen.a")); + let __t219 = { + let __t216 = v_W5307.clone(); + let __t217 = Value::str("\n"); + let __t218 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t254, __t255, __t256], + &[__t216, __t217, __t218], )? }; - let __t258 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t257, __t258])? + let __t220 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t219, __t220])? }; { let v_W5309 = { - let __t259 = v_W5307.clone(); - rt::apply_direct(interp, "read-from-string", &[__t259])? + let __t221 = v_W5307.clone(); + rt::apply_direct(interp, "read-from-string", &[__t221])? }; { let v_W5310 = { - let __t260 = - Value::sym(interp.intern("shen.*history*")); - let __t264 = { - let __t261 = v_W5307.clone(); - let __t263 = { - let __t262 = v_V5301.clone(); - rt::tl(&__t262)? + let __v = { + let __t222 = v_W5307.clone(); + let __t224 = { + let __t223 = v_V5301.clone(); + rt::tl(&__t223)? }; - rt::cons(&__t261, &__t263) + rt::cons(&__t222, &__t224) }; - rt::apply_direct(interp, "set", &[__t260, __t264])? + rt::set_global(interp, "shen.*history*", __v) }; { - let __t265 = v_W5309.clone(); - let __t266 = v_W5310.clone(); - let __t267 = v_V5302.clone(); - v_V5300 = __t265; - v_V5301 = __t266; - v_V5302 = __t267; + let __t225 = v_W5309.clone(); + let __t226 = v_W5310.clone(); + let __t227 = v_V5302.clone(); + v_V5300 = __t225; + v_V5301 = __t226; + v_V5302 = __t227; continue; } } @@ -1288,151 +1213,139 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( } } else { { - let __t219 = { - let __t199 = { - let __t182 = v_V5300.clone(); - rt::is_cons(&__t182) + let __t187 = { + let __t171 = { + let __t158 = v_V5300.clone(); + rt::is_cons(&__t158) }; - if !rt::is_truthy(interp, &__t199)? { + if !rt::is_truthy(interp, &__t171)? { Value::bool(false) } else { - let __t200 = { - let __t197 = { - let __t183 = Value::nil(); - let __t185 = { - let __t184 = v_V5300.clone(); - rt::tl(&__t184)? - }; - rt::eq(&__t183, &__t185) - }; - if !rt::is_truthy(interp, &__t197)? { + let __t172 = { + let __t169 = Value::bool( + ({ + let __t159 = v_V5300.clone(); + rt::tl(&__t159)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t169)? { Value::bool(false) } else { - let __t198 = { - let __t195 = { - let __t186 = v_V5301.clone(); - rt::is_cons(&__t186) + let __t170 = { + let __t167 = { + let __t160 = v_V5301.clone(); + rt::is_cons(&__t160) }; - if !rt::is_truthy(interp, &__t195)? { + if !rt::is_truthy(interp, &__t167)? { Value::bool(false) } else { - let __t196 = { - let __t193 = { - let __t188 = { - let __t187 = v_V5301.clone(); - rt::hd(&__t187)? + let __t168 = { + let __t165 = { + let __t162 = { + let __t161 = v_V5301.clone(); + rt::hd(&__t161)? }; rt::apply_direct( interp, "shen.+string?", - &[__t188], + &[__t162], )? }; - if !rt::is_truthy(interp, &__t193)? { + if !rt::is_truthy(interp, &__t165)? { Value::bool(false) } else { - let __t194 = { - let __t189 = Value::str("%"); - let __t192 = { - let __t191 = { - let __t190 = + let __t166 = Value::bool( + ({ + let __t164 = { + let __t163 = v_V5301.clone(); - rt::hd(&__t190)? + rt::hd(&__t163)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t191], - )? - }; - rt::eq(&__t189, &__t192) - }; + rt::hdstr(&__t164)? + }) + .as_str() + == Some("%"), + ); Value::bool(rt::is_truthy( - interp, &__t194, + interp, &__t166, )?) } }; - Value::bool(rt::is_truthy(interp, &__t196)?) + Value::bool(rt::is_truthy(interp, &__t168)?) } }; - Value::bool(rt::is_truthy(interp, &__t198)?) + Value::bool(rt::is_truthy(interp, &__t170)?) } }; - Value::bool(rt::is_truthy(interp, &__t200)?) + Value::bool(rt::is_truthy(interp, &__t172)?) } }; - if match rt::is_truthy(interp, &__t219) { + if match rt::is_truthy(interp, &__t187) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5311 = { - let __t209 = { - let __t203 = { - let __t202 = { - let __t201 = v_V5301.clone(); - rt::hd(&__t201)? + let __t179 = Value::bool( + ({ + let __t174 = { + let __t173 = v_V5301.clone(); + rt::hd(&__t173)? }; - rt::apply_direct(interp, "tlstr", &[__t202])? - }; - let __t204 = Value::str(""); - rt::eq(&__t203, &__t204) - }; - if rt::is_truthy(interp, &__t209)? { + rt::tlstr(&__t174)? + }) + .as_str() + == Some(""), + ); + if rt::is_truthy(interp, &__t179)? { Value::nil() } else { { - let __t208 = { - let __t207 = { - let __t206 = { - let __t205 = v_V5301.clone(); - rt::hd(&__t205)? + let __t178 = { + let __t177 = { + let __t176 = { + let __t175 = v_V5301.clone(); + rt::hd(&__t175)? }; - rt::apply_direct( - interp, - "tlstr", - &[__t206], - )? + rt::tlstr(&__t176)? }; rt::apply_direct( interp, "read-from-string", - &[__t207], + &[__t177], )? }; - rt::hd(&__t208)? + rt::hd(&__t178)? } } }; { let v_W5312 = { - let __t210 = v_W5311.clone(); - let __t213 = { - let __t212 = { - let __t211 = v_V5301.clone(); - rt::hd(&__t211)? + let __t180 = v_W5311.clone(); + let __t183 = { + let __t182 = { + let __t181 = v_V5301.clone(); + rt::hd(&__t181)? }; - rt::apply_direct(interp, "tlstr", &[__t212])? + rt::tlstr(&__t182)? }; - let __t215 = { - let __t214 = v_V5301.clone(); - rt::tl(&__t214)? + let __t185 = { + let __t184 = v_V5301.clone(); + rt::tl(&__t184)? }; - rt::apply_direct( + aot_shen_x2e_peek_x2d_history( interp, - "shen.peek-history", - &[__t210, __t213, __t215], + &[__t180, __t183, __t185], )? }; { let v_W5313 = { - let __t216 = - Value::sym(interp.intern("shen.*history*")); - let __t218 = { - let __t217 = v_V5301.clone(); - rt::tl(&__t217)? + let __v = { + let __t186 = v_V5301.clone(); + rt::tl(&__t186)? }; - rt::apply_direct(interp, "set", &[__t216, __t218])? + rt::set_global(interp, "shen.*history*", __v) }; break Ok({ rt::apply_direct(interp, "abort", &[])? }); } @@ -1440,55 +1353,55 @@ pub fn aot_shen_x2e_evaluate_x2d_lineread( } } else { { - let __t181 = { - let __t178 = Value::bool(true); - let __t179 = v_V5302.clone(); - rt::eq(&__t178, &__t179) + let __t157 = { + let __t154 = Value::bool(true); + let __t155 = v_V5302.clone(); + rt::eq(&__t154, &__t155) }; - if match rt::is_truthy(interp, &__t181) { + if match rt::is_truthy(interp, &__t157) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t180 = v_V5300.clone(); + let __t156 = v_V5300.clone(); rt::apply_direct( interp, "shen.check-eval-and-print", - &[__t180], + &[__t156], )? }); } else { { - let __t177 = { - let __t174 = Value::bool(false); - let __t175 = v_V5302.clone(); - rt::eq(&__t174, &__t175) + let __t153 = { + let __t150 = Value::bool(false); + let __t151 = v_V5302.clone(); + rt::eq(&__t150, &__t151) }; - if match rt::is_truthy(interp, &__t177) { + if match rt::is_truthy(interp, &__t153) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t176 = v_V5300.clone(); + let __t152 = v_V5300.clone(); rt::apply_direct( interp, "shen.eval-and-print", - &[__t176], + &[__t152], )? }); } else { { - let __t173 = Value::bool(true); - if match rt::is_truthy(interp, &__t173) { + let __t149 = Value::bool(true); + if match rt::is_truthy(interp, &__t149) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t172 = Value::str("implementation error in shen.evaluate-lineread"); + let __t148 = Value::str("implementation error in shen.evaluate-lineread"); rt::apply_direct( interp, "simple-error", - &[__t172], + &[__t148], )? }); } else { @@ -1536,45 +1449,45 @@ pub fn aot_shen_x2e_use_x2d_history(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t326 = { - let __t325 = v_V5314.clone(); - rt::apply_direct(interp, "integer?", &[__t325])? + let __t278 = { + let __t277 = v_V5314.clone(); + rt::apply_direct(interp, "integer?", &[__t277])? }; - if match rt::is_truthy(interp, &__t326) { + if match rt::is_truthy(interp, &__t278) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t329 = { - let __t327 = Value::int(1i64); - let __t328 = v_V5314.clone(); - rt::add(&__t327, &__t328)? + let __t281 = { + let __t279 = Value::int(1i64); + let __t280 = v_V5314.clone(); + rt::add(&__t279, &__t280)? }; - let __t331 = { - let __t330 = v_V5316.clone(); - rt::apply_direct(interp, "reverse", &[__t330])? + let __t283 = { + let __t282 = v_V5316.clone(); + rt::apply_direct(interp, "reverse", &[__t282])? }; - rt::apply_direct(interp, "nth", &[__t329, __t331])? + rt::apply_direct(interp, "nth", &[__t281, __t283])? }); } else { { - let __t333 = { - let __t332 = v_V5314.clone(); - rt::is_symbol(&__t332) + let __t285 = { + let __t284 = v_V5314.clone(); + rt::apply_direct(interp, "symbol?", &[__t284])? }; - if match rt::is_truthy(interp, &__t333) { + if match rt::is_truthy(interp, &__t285) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t334 = v_V5315.clone(); - let __t335 = v_V5316.clone(); - rt::apply_direct(interp, "shen.string-match", &[__t334, __t335])? + let __t286 = v_V5315.clone(); + let __t287 = v_V5316.clone(); + aot_shen_x2e_string_x2d_match(interp, &[__t286, __t287])? }); } else { break Ok({ - let __t336 = Value::str("! expects a number or a symbol\n"); - rt::apply_direct(interp, "simple-error", &[__t336])? + let __t288 = Value::str("! expects a number or a symbol\n"); + rt::apply_direct(interp, "simple-error", &[__t288])? }); } } @@ -1605,78 +1518,73 @@ pub fn aot_shen_x2e_peek_x2d_history(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t338 = { - let __t337 = v_V5317.clone(); - rt::apply_direct(interp, "integer?", &[__t337])? + let __t290 = { + let __t289 = v_V5317.clone(); + rt::apply_direct(interp, "integer?", &[__t289])? }; - if match rt::is_truthy(interp, &__t338) { + if match rt::is_truthy(interp, &__t290) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t349 = { - let __t339 = Value::str("\n"); - let __t348 = { - let __t345 = { - let __t342 = { - let __t340 = Value::int(1i64); - let __t341 = v_V5317.clone(); - rt::add(&__t340, &__t341)? + let __t301 = { + let __t291 = Value::str("\n"); + let __t300 = { + let __t297 = { + let __t294 = { + let __t292 = Value::int(1i64); + let __t293 = v_V5317.clone(); + rt::add(&__t292, &__t293)? }; - let __t344 = { - let __t343 = v_V5319.clone(); - rt::apply_direct(interp, "reverse", &[__t343])? + let __t296 = { + let __t295 = v_V5319.clone(); + rt::apply_direct(interp, "reverse", &[__t295])? }; - rt::apply_direct(interp, "nth", &[__t342, __t344])? + rt::apply_direct(interp, "nth", &[__t294, __t296])? }; - let __t346 = Value::str(""); - let __t347 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t345, __t346, __t347])? + let __t298 = Value::str(""); + let __t299 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t297, __t298, __t299])? }; - rt::apply_direct(interp, "cn", &[__t339, __t348])? + rt::cn(&__t291, &__t300)? }; - let __t350 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t349, __t350])? + let __t302 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t301, __t302])? }); } else { { - let __t356 = { - let __t354 = { - let __t351 = v_V5318.clone(); - let __t352 = Value::str(""); - rt::eq(&__t351, &__t352) - }; - if rt::is_truthy(interp, &__t354)? { + let __t306 = { + let __t304 = Value::bool((v_V5318.clone()).as_str() == Some("")); + if rt::is_truthy(interp, &__t304)? { Value::bool(true) } else { - let __t355 = { - let __t353 = v_V5317.clone(); - rt::is_symbol(&__t353) + let __t305 = { + let __t303 = v_V5317.clone(); + rt::apply_direct(interp, "symbol?", &[__t303])? }; - Value::bool(rt::is_truthy(interp, &__t355)?) + Value::bool(rt::is_truthy(interp, &__t305)?) } }; - if match rt::is_truthy(interp, &__t356) { + if match rt::is_truthy(interp, &__t306) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t357 = Value::int(0i64); - let __t358 = v_V5318.clone(); - let __t360 = { - let __t359 = v_V5319.clone(); - rt::apply_direct(interp, "reverse", &[__t359])? + let __t307 = Value::int(0i64); + let __t308 = v_V5318.clone(); + let __t310 = { + let __t309 = v_V5319.clone(); + rt::apply_direct(interp, "reverse", &[__t309])? }; - rt::apply_direct( + aot_shen_x2e_recursive_x2d_string_x2d_match( interp, - "shen.recursive-string-match", - &[__t357, __t358, __t360], + &[__t307, __t308, __t310], )? }); } else { break Ok({ - let __t361 = Value::str("% expects a number or a symbol\n"); - rt::apply_direct(interp, "simple-error", &[__t361])? + let __t311 = Value::str("% expects a number or a symbol\n"); + rt::apply_direct(interp, "simple-error", &[__t311])? }); } } @@ -1705,80 +1613,76 @@ pub fn aot_shen_x2e_string_x2d_match(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t380 = { - let __t377 = Value::nil(); - let __t378 = v_V5330.clone(); - rt::eq(&__t377, &__t378) - }; - if match rt::is_truthy(interp, &__t380) { + let __t328 = Value::bool((v_V5330.clone()).is_nil()); + if match rt::is_truthy(interp, &__t328) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t379 = Value::str("\ninput not found"); - rt::apply_direct(interp, "simple-error", &[__t379])? + let __t327 = Value::str("\ninput not found"); + rt::apply_direct(interp, "simple-error", &[__t327])? }); } else { { - let __t376 = { - let __t373 = { - let __t369 = v_V5330.clone(); - rt::is_cons(&__t369) + let __t326 = { + let __t323 = { + let __t319 = v_V5330.clone(); + rt::is_cons(&__t319) }; - if !rt::is_truthy(interp, &__t373)? { + if !rt::is_truthy(interp, &__t323)? { Value::bool(false) } else { - let __t374 = { - let __t370 = v_V5329.clone(); - let __t372 = { - let __t371 = v_V5330.clone(); - rt::hd(&__t371)? + let __t324 = { + let __t320 = v_V5329.clone(); + let __t322 = { + let __t321 = v_V5330.clone(); + rt::hd(&__t321)? }; - rt::apply_direct(interp, "shen.string-prefix?", &[__t370, __t372])? + aot_shen_x2e_string_x2d_prefix_x3f_(interp, &[__t320, __t322])? }; - Value::bool(rt::is_truthy(interp, &__t374)?) + Value::bool(rt::is_truthy(interp, &__t324)?) } }; - if match rt::is_truthy(interp, &__t376) { + if match rt::is_truthy(interp, &__t326) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t375 = v_V5330.clone(); - rt::hd(&__t375)? + let __t325 = v_V5330.clone(); + rt::hd(&__t325)? }); } else { { - let __t368 = { - let __t364 = v_V5330.clone(); - rt::is_cons(&__t364) + let __t318 = { + let __t314 = v_V5330.clone(); + rt::is_cons(&__t314) }; - if match rt::is_truthy(interp, &__t368) { + if match rt::is_truthy(interp, &__t318) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t365 = v_V5329.clone(); - let __t367 = { - let __t366 = v_V5330.clone(); - rt::tl(&__t366)? + let __t315 = v_V5329.clone(); + let __t317 = { + let __t316 = v_V5330.clone(); + rt::tl(&__t316)? }; - v_V5329 = __t365; - v_V5330 = __t367; + v_V5329 = __t315; + v_V5330 = __t317; continue; } } else { { - let __t363 = Value::bool(true); - if match rt::is_truthy(interp, &__t363) { + let __t313 = Value::bool(true); + if match rt::is_truthy(interp, &__t313) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t362 = Value::str( + let __t312 = Value::str( "implementation error in shen.string-match", ); - rt::apply_direct(interp, "simple-error", &[__t362])? + rt::apply_direct(interp, "simple-error", &[__t312])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1816,207 +1720,187 @@ pub fn aot_shen_x2e_string_x2d_prefix_x3f_( #[allow(clippy::never_loop)] loop { { - let __t429 = { - let __t427 = Value::str(""); - let __t428 = v_V5338.clone(); - rt::eq(&__t427, &__t428) - }; - if match rt::is_truthy(interp, &__t429) { + let __t373 = Value::bool((v_V5338.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t373) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t426 = { - let __t421 = { - let __t417 = v_V5338.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t417])? + let __t372 = { + let __t367 = { + let __t363 = v_V5338.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t363])? }; - if !rt::is_truthy(interp, &__t421)? { + if !rt::is_truthy(interp, &__t367)? { Value::bool(false) } else { - let __t422 = { - let __t420 = { - let __t419 = { - let __t418 = v_V5338.clone(); - rt::apply_direct(interp, "hdstr", &[__t418])? + let __t368 = { + let __t366 = { + let __t365 = { + let __t364 = v_V5338.clone(); + rt::hdstr(&__t364)? }; - rt::apply_direct(interp, "string->n", &[__t419])? + rt::string_to_n(&__t365)? }; - rt::apply_direct(interp, "shen.whitespace?", &[__t420])? + rt::apply_direct(interp, "shen.whitespace?", &[__t366])? }; - Value::bool(rt::is_truthy(interp, &__t422)?) + Value::bool(rt::is_truthy(interp, &__t368)?) } }; - if match rt::is_truthy(interp, &__t426) { + if match rt::is_truthy(interp, &__t372) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t424 = { - let __t423 = v_V5338.clone(); - rt::apply_direct(interp, "tlstr", &[__t423])? + let __t370 = { + let __t369 = v_V5338.clone(); + rt::tlstr(&__t369)? }; - let __t425 = v_V5339.clone(); - v_V5338 = __t424; - v_V5339 = __t425; + let __t371 = v_V5339.clone(); + v_V5338 = __t370; + v_V5339 = __t371; continue; } } else { { - let __t416 = { - let __t411 = { - let __t407 = v_V5339.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t407])? + let __t362 = { + let __t357 = { + let __t353 = v_V5339.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t353])? }; - if !rt::is_truthy(interp, &__t411)? { + if !rt::is_truthy(interp, &__t357)? { Value::bool(false) } else { - let __t412 = { - let __t410 = { - let __t409 = { - let __t408 = v_V5339.clone(); - rt::apply_direct(interp, "hdstr", &[__t408])? + let __t358 = { + let __t356 = { + let __t355 = { + let __t354 = v_V5339.clone(); + rt::hdstr(&__t354)? }; - rt::apply_direct(interp, "string->n", &[__t409])? + rt::string_to_n(&__t355)? }; - rt::apply_direct(interp, "shen.whitespace?", &[__t410])? + rt::apply_direct(interp, "shen.whitespace?", &[__t356])? }; - Value::bool(rt::is_truthy(interp, &__t412)?) + Value::bool(rt::is_truthy(interp, &__t358)?) } }; - if match rt::is_truthy(interp, &__t416) { + if match rt::is_truthy(interp, &__t362) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t413 = v_V5338.clone(); - let __t415 = { - let __t414 = v_V5339.clone(); - rt::apply_direct(interp, "tlstr", &[__t414])? + let __t359 = v_V5338.clone(); + let __t361 = { + let __t360 = v_V5339.clone(); + rt::tlstr(&__t360)? }; - v_V5338 = __t413; - v_V5339 = __t415; + v_V5338 = __t359; + v_V5339 = __t361; continue; } } else { { - let __t406 = { - let __t401 = { - let __t397 = v_V5339.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t397])? + let __t352 = { + let __t347 = { + let __t345 = v_V5339.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t345])? }; - if !rt::is_truthy(interp, &__t401)? { + if !rt::is_truthy(interp, &__t347)? { Value::bool(false) } else { - let __t402 = { - let __t398 = Value::str("("); - let __t400 = { - let __t399 = v_V5339.clone(); - rt::apply_direct(interp, "hdstr", &[__t399])? - }; - rt::eq(&__t398, &__t400) - }; - Value::bool(rt::is_truthy(interp, &__t402)?) + let __t348 = Value::bool( + ({ + let __t346 = v_V5339.clone(); + rt::hdstr(&__t346)? + }) + .as_str() + == Some("("), + ); + Value::bool(rt::is_truthy(interp, &__t348)?) } }; - if match rt::is_truthy(interp, &__t406) { + if match rt::is_truthy(interp, &__t352) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t403 = v_V5338.clone(); - let __t405 = { - let __t404 = v_V5339.clone(); - rt::apply_direct(interp, "tlstr", &[__t404])? + let __t349 = v_V5338.clone(); + let __t351 = { + let __t350 = v_V5339.clone(); + rt::tlstr(&__t350)? }; - v_V5338 = __t403; - v_V5339 = __t405; + v_V5338 = __t349; + v_V5339 = __t351; continue; } } else { { - let __t396 = { - let __t390 = { - let __t382 = v_V5338.clone(); + let __t344 = { + let __t338 = { + let __t330 = v_V5338.clone(); rt::apply_direct( interp, "shen.+string?", - &[__t382], + &[__t330], )? }; - if !rt::is_truthy(interp, &__t390)? { + if !rt::is_truthy(interp, &__t338)? { Value::bool(false) } else { - let __t391 = { - let __t388 = { - let __t383 = v_V5339.clone(); + let __t339 = { + let __t336 = { + let __t331 = v_V5339.clone(); rt::apply_direct( interp, "shen.+string?", - &[__t383], + &[__t331], )? }; - if !rt::is_truthy(interp, &__t388)? { + if !rt::is_truthy(interp, &__t336)? { Value::bool(false) } else { - let __t389 = { - let __t385 = { - let __t384 = v_V5338.clone(); - rt::apply_direct( - interp, - "hdstr", - &[__t384], - )? + let __t337 = { + let __t333 = { + let __t332 = v_V5338.clone(); + rt::hdstr(&__t332)? }; - let __t387 = { - let __t386 = v_V5339.clone(); - rt::apply_direct( - interp, - "hdstr", - &[__t386], - )? + let __t335 = { + let __t334 = v_V5339.clone(); + rt::hdstr(&__t334)? }; - rt::eq(&__t385, &__t387) + rt::eq(&__t333, &__t335) }; Value::bool(rt::is_truthy( - interp, &__t389, + interp, &__t337, )?) } }; - Value::bool(rt::is_truthy(interp, &__t391)?) + Value::bool(rt::is_truthy(interp, &__t339)?) } }; - if match rt::is_truthy(interp, &__t396) { + if match rt::is_truthy(interp, &__t344) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t393 = { - let __t392 = v_V5338.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t392], - )? + let __t341 = { + let __t340 = v_V5338.clone(); + rt::tlstr(&__t340)? }; - let __t395 = { - let __t394 = v_V5339.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t394], - )? + let __t343 = { + let __t342 = v_V5339.clone(); + rt::tlstr(&__t342)? }; - v_V5338 = __t393; - v_V5339 = __t395; + v_V5338 = __t341; + v_V5339 = __t343; continue; } } else { { - let __t381 = Value::bool(true); - if match rt::is_truthy(interp, &__t381) { + let __t329 = Value::bool(true); + if match rt::is_truthy(interp, &__t329) { Ok(b) => b, Err(e) => break Err(e), } { @@ -2069,105 +1953,97 @@ pub fn aot_shen_x2e_recursive_x2d_string_x2d_match( #[allow(clippy::never_loop)] loop { { - let __t457 = { - let __t455 = Value::nil(); - let __t456 = v_V5352.clone(); - rt::eq(&__t455, &__t456) - }; - if match rt::is_truthy(interp, &__t457) { + let __t399 = Value::bool((v_V5352.clone()).is_nil()); + if match rt::is_truthy(interp, &__t399) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok(Value::sym(interp.intern("shen.skip"))); + break Ok(Value::sym(interp.intern_static("shen.skip"))); } else { { - let __t454 = { - let __t432 = v_V5352.clone(); - rt::is_cons(&__t432) + let __t398 = { + let __t376 = v_V5352.clone(); + rt::is_cons(&__t376) }; - if match rt::is_truthy(interp, &__t454) { + if match rt::is_truthy(interp, &__t398) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t447 = { - let __t433 = v_V5351.clone(); - let __t435 = { - let __t434 = v_V5352.clone(); - rt::hd(&__t434)? + let __t391 = { + let __t377 = v_V5351.clone(); + let __t379 = { + let __t378 = v_V5352.clone(); + rt::hd(&__t378)? }; - rt::apply_direct( - interp, - "shen.string-prefix?", - &[__t433, __t435], - )? + aot_shen_x2e_string_x2d_prefix_x3f_(interp, &[__t377, __t379])? }; - if rt::is_truthy(interp, &__t447)? { + if rt::is_truthy(interp, &__t391)? { { - let __t445 = { - let __t436 = v_V5350.clone(); - let __t443 = { - let __t437 = Value::str(". "); - let __t442 = { - let __t439 = { - let __t438 = v_V5352.clone(); - rt::hd(&__t438)? + let __t389 = { + let __t380 = v_V5350.clone(); + let __t387 = { + let __t381 = Value::str(". "); + let __t386 = { + let __t383 = { + let __t382 = v_V5352.clone(); + rt::hd(&__t382)? }; - let __t440 = Value::str("\n"); - let __t441 = - Value::sym(interp.intern("shen.a")); + let __t384 = Value::str("\n"); + let __t385 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t439, __t440, __t441], + &[__t383, __t384, __t385], )? }; - rt::apply_direct(interp, "cn", &[__t437, __t442])? + rt::cn(&__t381, &__t386)? }; - let __t444 = Value::sym(interp.intern("shen.a")); + let __t388 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t436, __t443, __t444], + &[__t380, __t387, __t388], )? }; - let __t446 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t445, __t446])? + let __t390 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t389, __t390])? } } else { - Value::sym(interp.intern("shen.skip")) + Value::sym(interp.intern_static("shen.skip")) } }; { - let __t450 = { - let __t448 = v_V5350.clone(); - let __t449 = Value::int(1i64); - rt::add(&__t448, &__t449)? + let __t394 = { + let __t392 = v_V5350.clone(); + let __t393 = Value::int(1i64); + rt::add(&__t392, &__t393)? }; - let __t451 = v_V5351.clone(); - let __t453 = { - let __t452 = v_V5352.clone(); - rt::tl(&__t452)? + let __t395 = v_V5351.clone(); + let __t397 = { + let __t396 = v_V5352.clone(); + rt::tl(&__t396)? }; - v_V5350 = __t450; - v_V5351 = __t451; - v_V5352 = __t453; + v_V5350 = __t394; + v_V5351 = __t395; + v_V5352 = __t397; continue; } } } else { { - let __t431 = Value::bool(true); - if match rt::is_truthy(interp, &__t431) { + let __t375 = Value::bool(true); + if match rt::is_truthy(interp, &__t375) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t430 = Value::str( + let __t374 = Value::str( "implementation error in shen.recursive-string-match", ); - rt::apply_direct(interp, "simple-error", &[__t430])? + rt::apply_direct(interp, "simple-error", &[__t374])? }); } else { break Err(ShenError::new("cond: no clause matched")); diff --git a/crates/shen-rust/src/aot/kernel/track.rs b/crates/shen-rust/src/aot/kernel/track.rs index 9fe4eac..75370db 100644 --- a/crates/shen-rust/src/aot/kernel/track.rs +++ b/crates/shen-rust/src/aot/kernel/track.rs @@ -42,10 +42,10 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu let __t4 = { let __t1 = v_V5384.clone(); let __t2 = Value::str(";\n"); - let __t3 = Value::sym(interp.intern("shen.a")); + let __t3 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct(interp, "shen.app", &[__t1, __t2, __t3])? }; - rt::apply_direct(interp, "cn", &[__t0, __t4])? + rt::cn(&__t0, &__t4)? }; let __t6 = { rt::apply_direct(interp, "stoutput", &[])? }; rt::apply_direct(interp, "pr", &[__t5, __t6])? @@ -56,9 +56,9 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu let __t15 = { let __t8 = { let __t7 = v_V5384.clone(); - rt::apply_direct(interp, "shen.tracked?", &[__t7])? + aot_shen_x2e_tracked_x3f_(interp, &[__t7])? }; - rt::apply_direct(interp, "not", &[__t8])? + rt::not(interp, &__t8)? }; if !rt::is_truthy(interp, &__t15)? { Value::bool(false) @@ -69,14 +69,14 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu let __t13 = { let __t10 = v_V5384.clone(); let __t11 = Value::str("? "); - let __t12 = Value::sym(interp.intern("shen.a")); + let __t12 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", &[__t10, __t11, __t12], )? }; - rt::apply_direct(interp, "cn", &[__t9, __t13])? + rt::cn(&__t9, &__t13)? }; rt::apply_direct(interp, "y-or-n?", &[__t14])? }; @@ -89,10 +89,10 @@ pub fn aot_shen_x2e_f_x2d_error(interp: &mut Interp, args: &[Value]) -> ShenResu let __t17 = v_V5384.clone(); rt::apply_direct(interp, "ps", &[__t17])? }; - rt::apply_direct(interp, "shen.track-function", &[__t18])? + aot_shen_x2e_track_x2d_function(interp, &[__t18])? } } else { - Value::sym(interp.intern("shen.ok")) + Value::sym(interp.intern_static("shen.ok")) } }; break Ok({ @@ -123,11 +123,8 @@ pub fn aot_shen_x2e_tracked_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRes loop { break Ok({ let __t21 = v_V5385.clone(); - let __t23 = { - let __t22 = Value::sym(interp.intern("shen.*tracking*")); - rt::apply_direct(interp, "value", &[__t22])? - }; - rt::apply_direct(interp, "element?", &[__t21, __t23])? + let __t22 = rt::global_value(interp, "shen.*tracking*")?; + rt::apply_direct(interp, "element?", &[__t21, __t22])? }); } } @@ -151,12 +148,12 @@ pub fn aot_track(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let v_W5387 = { - let __t24 = v_V5386.clone(); - rt::apply_direct(interp, "ps", &[__t24])? + let __t23 = v_V5386.clone(); + rt::apply_direct(interp, "ps", &[__t23])? }; break Ok({ - let __t25 = v_W5387.clone(); - rt::apply_direct(interp, "shen.track-function", &[__t25])? + let __t24 = v_W5387.clone(); + aot_shen_x2e_track_x2d_function(interp, &[__t24])? }); } } @@ -180,217 +177,211 @@ pub fn aot_shen_x2e_track_x2d_function(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { { - let __t92 = { - let __t55 = { - let __t28 = v_V5390.clone(); - rt::is_cons(&__t28) + let __t84 = { + let __t50 = { + let __t27 = v_V5390.clone(); + rt::is_cons(&__t27) }; - if !rt::is_truthy(interp, &__t55)? { + if !rt::is_truthy(interp, &__t50)? { Value::bool(false) } else { - let __t56 = { - let __t53 = { - let __t29 = Value::sym(interp.intern("defun")); - let __t31 = { - let __t30 = v_V5390.clone(); - rt::hd(&__t30)? - }; - rt::eq(&__t29, &__t31) - }; - if !rt::is_truthy(interp, &__t53)? { + let __t51 = { + let __t48 = Value::bool( + ({ + let __t28 = v_V5390.clone(); + rt::hd(&__t28)? + }) + .as_sym() + == Some(interp.intern_static("defun")), + ); + if !rt::is_truthy(interp, &__t48)? { Value::bool(false) } else { - let __t54 = { - let __t51 = { - let __t33 = { - let __t32 = v_V5390.clone(); - rt::tl(&__t32)? + let __t49 = { + let __t46 = { + let __t30 = { + let __t29 = v_V5390.clone(); + rt::tl(&__t29)? }; - rt::is_cons(&__t33) + rt::is_cons(&__t30) }; - if !rt::is_truthy(interp, &__t51)? { + if !rt::is_truthy(interp, &__t46)? { Value::bool(false) } else { - let __t52 = { - let __t49 = { - let __t36 = { - let __t35 = { - let __t34 = v_V5390.clone(); - rt::tl(&__t34)? + let __t47 = { + let __t44 = { + let __t33 = { + let __t32 = { + let __t31 = v_V5390.clone(); + rt::tl(&__t31)? }; - rt::tl(&__t35)? + rt::tl(&__t32)? }; - rt::is_cons(&__t36) + rt::is_cons(&__t33) }; - if !rt::is_truthy(interp, &__t49)? { + if !rt::is_truthy(interp, &__t44)? { Value::bool(false) } else { - let __t50 = { - let __t47 = { - let __t40 = { - let __t39 = { - let __t38 = { - let __t37 = v_V5390.clone(); - rt::tl(&__t37)? + let __t45 = { + let __t42 = { + let __t37 = { + let __t36 = { + let __t35 = { + let __t34 = v_V5390.clone(); + rt::tl(&__t34)? }; - rt::tl(&__t38)? + rt::tl(&__t35)? }; - rt::tl(&__t39)? + rt::tl(&__t36)? }; - rt::is_cons(&__t40) + rt::is_cons(&__t37) }; - if !rt::is_truthy(interp, &__t47)? { + if !rt::is_truthy(interp, &__t42)? { Value::bool(false) } else { - let __t48 = { - let __t41 = Value::nil(); - let __t46 = { - let __t45 = { - let __t44 = { - let __t43 = { - let __t42 = v_V5390.clone(); - rt::tl(&__t42)? + let __t43 = Value::bool( + ({ + let __t41 = { + let __t40 = { + let __t39 = { + let __t38 = v_V5390.clone(); + rt::tl(&__t38)? }; - rt::tl(&__t43)? + rt::tl(&__t39)? }; - rt::tl(&__t44)? + rt::tl(&__t40)? }; - rt::tl(&__t45)? - }; - rt::eq(&__t41, &__t46) - }; - Value::bool(rt::is_truthy(interp, &__t48)?) + rt::tl(&__t41)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t43)?) } }; - Value::bool(rt::is_truthy(interp, &__t50)?) + Value::bool(rt::is_truthy(interp, &__t45)?) } }; - Value::bool(rt::is_truthy(interp, &__t52)?) + Value::bool(rt::is_truthy(interp, &__t47)?) } }; - Value::bool(rt::is_truthy(interp, &__t54)?) + Value::bool(rt::is_truthy(interp, &__t49)?) } }; - Value::bool(rt::is_truthy(interp, &__t56)?) + Value::bool(rt::is_truthy(interp, &__t51)?) } }; - if match rt::is_truthy(interp, &__t92) { + if match rt::is_truthy(interp, &__t84) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5391 = { - let __t57 = Value::sym(interp.intern("defun")); - let __t81 = { - let __t60 = { - let __t59 = { - let __t58 = v_V5390.clone(); - rt::tl(&__t58)? + let __t52 = Value::sym(interp.intern_static("defun")); + let __t76 = { + let __t55 = { + let __t54 = { + let __t53 = v_V5390.clone(); + rt::tl(&__t53)? }; - rt::hd(&__t59)? + rt::hd(&__t54)? }; - let __t80 = { - let __t64 = { - let __t63 = { - let __t62 = { - let __t61 = v_V5390.clone(); - rt::tl(&__t61)? + let __t75 = { + let __t59 = { + let __t58 = { + let __t57 = { + let __t56 = v_V5390.clone(); + rt::tl(&__t56)? }; - rt::tl(&__t62)? + rt::tl(&__t57)? }; - rt::hd(&__t63)? + rt::hd(&__t58)? }; - let __t79 = { - let __t77 = { - let __t67 = { - let __t66 = { - let __t65 = v_V5390.clone(); - rt::tl(&__t65)? + let __t74 = { + let __t72 = { + let __t62 = { + let __t61 = { + let __t60 = v_V5390.clone(); + rt::tl(&__t60)? + }; + rt::hd(&__t61)? + }; + let __t66 = { + let __t65 = { + let __t64 = { + let __t63 = v_V5390.clone(); + rt::tl(&__t63)? + }; + rt::tl(&__t64)? }; - rt::hd(&__t66)? + rt::hd(&__t65)? }; let __t71 = { let __t70 = { let __t69 = { - let __t68 = v_V5390.clone(); + let __t68 = { + let __t67 = v_V5390.clone(); + rt::tl(&__t67)? + }; rt::tl(&__t68)? }; rt::tl(&__t69)? }; rt::hd(&__t70)? }; - let __t76 = { - let __t75 = { - let __t74 = { - let __t73 = { - let __t72 = v_V5390.clone(); - rt::tl(&__t72)? - }; - rt::tl(&__t73)? - }; - rt::tl(&__t74)? - }; - rt::hd(&__t75)? - }; - rt::apply_direct( + aot_shen_x2e_insert_x2d_tracking_x2d_code( interp, - "shen.insert-tracking-code", - &[__t67, __t71, __t76], + &[__t62, __t66, __t71], )? }; - let __t78 = Value::nil(); - rt::cons(&__t77, &__t78) + let __t73 = Value::nil(); + rt::cons(&__t72, &__t73) }; - rt::cons(&__t64, &__t79) + rt::cons(&__t59, &__t74) }; - rt::cons(&__t60, &__t80) + rt::cons(&__t55, &__t75) }; - rt::cons(&__t57, &__t81) + rt::cons(&__t52, &__t76) }; { let v_W5392 = { - let __t82 = v_W5391.clone(); - rt::apply_direct(interp, "eval-kl", &[__t82])? + let __t77 = v_W5391.clone(); + rt::apply_direct(interp, "eval-kl", &[__t77])? }; { let v_W5393 = { - let __t83 = Value::sym(interp.intern("shen.*tracking*")); - let __t89 = { - let __t86 = { - let __t85 = { - let __t84 = v_V5390.clone(); - rt::tl(&__t84)? + let __v = { + let __t80 = { + let __t79 = { + let __t78 = v_V5390.clone(); + rt::tl(&__t78)? }; - rt::hd(&__t85)? + rt::hd(&__t79)? }; - let __t88 = { - let __t87 = Value::sym(interp.intern("shen.*tracking*")); - rt::apply_direct(interp, "value", &[__t87])? - }; - rt::apply_direct(interp, "adjoin", &[__t86, __t88])? + let __t81 = rt::global_value(interp, "shen.*tracking*")?; + rt::apply_direct(interp, "adjoin", &[__t80, __t81])? }; - rt::apply_direct(interp, "set", &[__t83, __t89])? + rt::set_global(interp, "shen.*tracking*", __v) }; break Ok({ - let __t91 = { - let __t90 = v_V5390.clone(); - rt::tl(&__t90)? + let __t83 = { + let __t82 = v_V5390.clone(); + rt::tl(&__t82)? }; - rt::hd(&__t91)? + rt::hd(&__t83)? }); } } } } else { { - let __t27 = Value::bool(true); - if match rt::is_truthy(interp, &__t27) { + let __t26 = Value::bool(true); + if match rt::is_truthy(interp, &__t26) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t26 = Value::str("implementation error in shen.track-function"); - rt::apply_direct(interp, "simple-error", &[__t26])? + let __t25 = Value::str("implementation error in shen.track-function"); + rt::apply_direct(interp, "simple-error", &[__t25])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -426,266 +417,266 @@ pub fn aot_shen_x2e_insert_x2d_tracking_x2d_code( #[allow(clippy::never_loop)] loop { break Ok({ - let __t93 = Value::sym(interp.intern("do")); - let __t199 = { - let __t110 = { - let __t94 = Value::sym(interp.intern("set")); - let __t109 = { - let __t95 = Value::sym(interp.intern("shen.*call*")); - let __t108 = { - let __t106 = { - let __t96 = Value::sym(interp.intern("+")); - let __t105 = { - let __t101 = { - let __t97 = Value::sym(interp.intern("value")); - let __t100 = { - let __t98 = Value::sym(interp.intern("shen.*call*")); - let __t99 = Value::nil(); - rt::cons(&__t98, &__t99) + let __t85 = Value::sym(interp.intern_static("do")); + let __t191 = { + let __t102 = { + let __t86 = Value::sym(interp.intern_static("set")); + let __t101 = { + let __t87 = Value::sym(interp.intern_static("shen.*call*")); + let __t100 = { + let __t98 = { + let __t88 = Value::sym(interp.intern_static("+")); + let __t97 = { + let __t93 = { + let __t89 = Value::sym(interp.intern_static("value")); + let __t92 = { + let __t90 = + Value::sym(interp.intern_static("shen.*call*")); + let __t91 = Value::nil(); + rt::cons(&__t90, &__t91) }; - rt::cons(&__t97, &__t100) + rt::cons(&__t89, &__t92) }; - let __t104 = { - let __t102 = Value::int(1i64); - let __t103 = Value::nil(); - rt::cons(&__t102, &__t103) + let __t96 = { + let __t94 = Value::int(1i64); + let __t95 = Value::nil(); + rt::cons(&__t94, &__t95) }; - rt::cons(&__t101, &__t104) + rt::cons(&__t93, &__t96) }; - rt::cons(&__t96, &__t105) + rt::cons(&__t88, &__t97) }; - let __t107 = Value::nil(); - rt::cons(&__t106, &__t107) + let __t99 = Value::nil(); + rt::cons(&__t98, &__t99) }; - rt::cons(&__t95, &__t108) + rt::cons(&__t87, &__t100) }; - rt::cons(&__t94, &__t109) + rt::cons(&__t86, &__t101) }; - let __t198 = { - let __t196 = { - let __t111 = Value::sym(interp.intern("do")); - let __t195 = { - let __t127 = { - let __t112 = Value::sym(interp.intern("shen.input-track")); - let __t126 = { - let __t117 = { - let __t113 = Value::sym(interp.intern("value")); - let __t116 = { - let __t114 = Value::sym(interp.intern("shen.*call*")); - let __t115 = Value::nil(); - rt::cons(&__t114, &__t115) + let __t190 = { + let __t188 = { + let __t103 = Value::sym(interp.intern_static("do")); + let __t187 = { + let __t119 = { + let __t104 = Value::sym(interp.intern_static("shen.input-track")); + let __t118 = { + let __t109 = { + let __t105 = Value::sym(interp.intern_static("value")); + let __t108 = { + let __t106 = + Value::sym(interp.intern_static("shen.*call*")); + let __t107 = Value::nil(); + rt::cons(&__t106, &__t107) }; - rt::cons(&__t113, &__t116) + rt::cons(&__t105, &__t108) }; - let __t125 = { - let __t118 = v_V5394.clone(); - let __t124 = { - let __t122 = { - let __t121 = { - let __t119 = v_V5396.clone(); - let __t120 = v_V5395.clone(); - rt::apply_direct( + let __t117 = { + let __t110 = v_V5394.clone(); + let __t116 = { + let __t114 = { + let __t113 = { + let __t111 = v_V5396.clone(); + let __t112 = v_V5395.clone(); + aot_shen_x2e_prolog_x2d_track( interp, - "shen.prolog-track", - &[__t119, __t120], + &[__t111, __t112], )? }; rt::apply_direct( interp, "shen.cons-form", - &[__t121], + &[__t113], )? }; - let __t123 = Value::nil(); - rt::cons(&__t122, &__t123) + let __t115 = Value::nil(); + rt::cons(&__t114, &__t115) }; - rt::cons(&__t118, &__t124) + rt::cons(&__t110, &__t116) }; - rt::cons(&__t117, &__t125) + rt::cons(&__t109, &__t117) }; - rt::cons(&__t112, &__t126) + rt::cons(&__t104, &__t118) }; - let __t194 = { - let __t192 = { - let __t128 = Value::sym(interp.intern("do")); - let __t191 = { - let __t131 = { - let __t129 = Value::sym( - interp.intern("shen.terpri-or-read-char"), + let __t186 = { + let __t184 = { + let __t120 = Value::sym(interp.intern_static("do")); + let __t183 = { + let __t123 = { + let __t121 = Value::sym( + interp.intern_static("shen.terpri-or-read-char"), ); - let __t130 = Value::nil(); - rt::cons(&__t129, &__t130) + let __t122 = Value::nil(); + rt::cons(&__t121, &__t122) }; - let __t190 = { - let __t188 = { - let __t132 = Value::sym(interp.intern("let")); - let __t187 = { - let __t133 = - Value::sym(interp.intern("Result")); - let __t186 = { - let __t134 = v_V5396.clone(); - let __t185 = { - let __t183 = { - let __t135 = - Value::sym(interp.intern("do")); - let __t182 = { - let __t148 = { - let __t136 = Value::sym( - interp.intern( + let __t182 = { + let __t180 = { + let __t124 = + Value::sym(interp.intern_static("let")); + let __t179 = { + let __t125 = + Value::sym(interp.intern_static("Result")); + let __t178 = { + let __t126 = v_V5396.clone(); + let __t177 = { + let __t175 = { + let __t127 = Value::sym( + interp.intern_static("do"), + ); + let __t174 = { + let __t140 = { + let __t128 = Value::sym( + interp.intern_static( "shen.output-track", ), ); - let __t147 = { - let __t141 = { - let __t137 = - Value::sym( - interp - .intern( - "value", - ), - ); - let __t140 = { - let __t138 = Value::sym(interp.intern("shen.*call*")); - let __t139 = + let __t139 = { + let __t133 = { + let __t129 = Value::sym(interp.intern_static("value")); + let __t132 = { + let __t130 = Value::sym(interp.intern_static("shen.*call*")); + let __t131 = Value::nil( ); rt::cons( - &__t138, - &__t139, + &__t130, + &__t131, ) }; rt::cons( - &__t137, - &__t140, + &__t129, + &__t132, ) }; - let __t146 = { - let __t142 = + let __t138 = { + let __t134 = v_V5394.clone(); - let __t145 = { - let __t143 = Value::sym(interp.intern("Result")); - let __t144 = + let __t137 = { + let __t135 = Value::sym(interp.intern_static("Result")); + let __t136 = Value::nil( ); rt::cons( - &__t143, - &__t144, + &__t135, + &__t136, ) }; rt::cons( - &__t142, - &__t145, + &__t134, + &__t137, ) }; rt::cons( - &__t141, &__t146, + &__t133, &__t138, ) }; - rt::cons(&__t136, &__t147) + rt::cons(&__t128, &__t139) }; - let __t181 = { - let __t179 = { - let __t149 = Value::sym( - interp.intern("do"), + let __t173 = { + let __t171 = { + let __t141 = Value::sym( + interp + .intern_static( + "do", + ), ); - let __t178 = { - let __t166 = { - let __t150 = Value::sym(interp.intern("set")); - let __t165 = { - let __t151 = Value::sym(interp.intern("shen.*call*")); - let __t164 = { - let __t162 = { - let __t152 = Value::sym(interp.intern("-")); - let __t161 = { let __t157 = { let __t153 = Value::sym(interp.intern("value")); let __t156 = { let __t154 = Value::sym(interp.intern("shen.*call*")); let __t155 = Value::nil(); rt::cons(&__t154, &__t155) }; rt::cons(&__t153, &__t156) }; let __t160 = { let __t158 = Value::int(1i64); let __t159 = Value::nil(); rt::cons(&__t158, &__t159) }; rt::cons(&__t157, &__t160) }; - rt::cons(&__t152, &__t161) + let __t170 = { + let __t158 = { + let __t142 = Value::sym(interp.intern_static("set")); + let __t157 = { + let __t143 = Value::sym(interp.intern_static("shen.*call*")); + let __t156 = { + let __t154 = { + let __t144 = Value::sym(interp.intern_static("-")); + let __t153 = { let __t149 = { let __t145 = Value::sym(interp.intern_static("value")); let __t148 = { let __t146 = Value::sym(interp.intern_static("shen.*call*")); let __t147 = Value::nil(); rt::cons(&__t146, &__t147) }; rt::cons(&__t145, &__t148) }; let __t152 = { let __t150 = Value::int(1i64); let __t151 = Value::nil(); rt::cons(&__t150, &__t151) }; rt::cons(&__t149, &__t152) }; + rt::cons(&__t144, &__t153) }; - let __t163 = Value::nil(); - rt::cons(&__t162, &__t163) + let __t155 = Value::nil(); + rt::cons(&__t154, &__t155) }; rt::cons( - &__t151, - &__t164, + &__t143, + &__t156, ) }; rt::cons( - &__t150, - &__t165, + &__t142, + &__t157, ) }; - let __t177 = { - let __t175 = { - let __t167 = Value::sym(interp.intern("do")); - let __t174 = { - let __t170 = { - let __t168 = Value::sym(interp.intern("shen.terpri-or-read-char")); - let __t169 = Value::nil(); - rt::cons(&__t168, &__t169) + let __t169 = { + let __t167 = { + let __t159 = Value::sym(interp.intern_static("do")); + let __t166 = { + let __t162 = { + let __t160 = Value::sym(interp.intern_static("shen.terpri-or-read-char")); + let __t161 = Value::nil(); + rt::cons(&__t160, &__t161) }; - let __t173 = { - let __t171 = Value::sym(interp.intern("Result")); - let __t172 = Value::nil(); - rt::cons(&__t171, &__t172) + let __t165 = { + let __t163 = Value::sym(interp.intern_static("Result")); + let __t164 = Value::nil(); + rt::cons(&__t163, &__t164) }; - rt::cons(&__t170, &__t173) + rt::cons(&__t162, &__t165) }; rt::cons( - &__t167, - &__t174, + &__t159, + &__t166, ) }; - let __t176 = + let __t168 = Value::nil( ); rt::cons( - &__t175, - &__t176, + &__t167, + &__t168, ) }; rt::cons( - &__t166, - &__t177, + &__t158, + &__t169, ) }; rt::cons( - &__t149, &__t178, + &__t141, &__t170, ) }; - let __t180 = Value::nil(); - rt::cons(&__t179, &__t180) + let __t172 = Value::nil(); + rt::cons(&__t171, &__t172) }; - rt::cons(&__t148, &__t181) + rt::cons(&__t140, &__t173) }; - rt::cons(&__t135, &__t182) + rt::cons(&__t127, &__t174) }; - let __t184 = Value::nil(); - rt::cons(&__t183, &__t184) + let __t176 = Value::nil(); + rt::cons(&__t175, &__t176) }; - rt::cons(&__t134, &__t185) + rt::cons(&__t126, &__t177) }; - rt::cons(&__t133, &__t186) + rt::cons(&__t125, &__t178) }; - rt::cons(&__t132, &__t187) + rt::cons(&__t124, &__t179) }; - let __t189 = Value::nil(); - rt::cons(&__t188, &__t189) + let __t181 = Value::nil(); + rt::cons(&__t180, &__t181) }; - rt::cons(&__t131, &__t190) + rt::cons(&__t123, &__t182) }; - rt::cons(&__t128, &__t191) + rt::cons(&__t120, &__t183) }; - let __t193 = Value::nil(); - rt::cons(&__t192, &__t193) + let __t185 = Value::nil(); + rt::cons(&__t184, &__t185) }; - rt::cons(&__t127, &__t194) + rt::cons(&__t119, &__t186) }; - rt::cons(&__t111, &__t195) + rt::cons(&__t103, &__t187) }; - let __t197 = Value::nil(); - rt::cons(&__t196, &__t197) + let __t189 = Value::nil(); + rt::cons(&__t188, &__t189) }; - rt::cons(&__t110, &__t198) + rt::cons(&__t102, &__t190) }; - rt::cons(&__t93, &__t199) + rt::cons(&__t85, &__t191) }); } } @@ -717,34 +708,34 @@ pub fn aot_shen_x2e_prolog_x2d_track(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t208 = { - let __t206 = { - let __t204 = Value::sym(interp.intern("shen.incinfs")); - let __t205 = v_V5397.clone(); - rt::apply_direct(interp, "occurrences", &[__t204, __t205])? + let __t200 = { + let __t198 = { + let __t196 = Value::sym(interp.intern_static("shen.incinfs")); + let __t197 = v_V5397.clone(); + rt::apply_direct(interp, "occurrences", &[__t196, __t197])? }; - let __t207 = Value::int(0i64); - rt::eq(&__t206, &__t207) + let __t199 = Value::int(0i64); + rt::eq(&__t198, &__t199) }; - if match rt::is_truthy(interp, &__t208) { + if match rt::is_truthy(interp, &__t200) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5398.clone()); } else { { - let __t203 = Value::bool(true); - if match rt::is_truthy(interp, &__t203) { + let __t195 = Value::bool(true); + if match rt::is_truthy(interp, &__t195) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t200 = v_V5398.clone(); - let __t202 = { - let __t201 = v_V5398.clone(); - rt::apply_direct(interp, "shen.vector-parameter", &[__t201])? + let __t192 = v_V5398.clone(); + let __t194 = { + let __t193 = v_V5398.clone(); + aot_shen_x2e_vector_x2d_parameter(interp, &[__t193])? }; - rt::apply_direct(interp, "shen.vector-dereference", &[__t200, __t202])? + aot_shen_x2e_vector_x2d_dereference(interp, &[__t192, __t194])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -773,136 +764,131 @@ pub fn aot_shen_x2e_vector_x2d_parameter(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t243 = { - let __t241 = Value::nil(); - let __t242 = v_V5401.clone(); - rt::eq(&__t241, &__t242) - }; - if match rt::is_truthy(interp, &__t243) { + let __t231 = Value::bool((v_V5401.clone()).is_nil()); + if match rt::is_truthy(interp, &__t231) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::nil()); } else { { - let __t240 = { - let __t237 = { - let __t215 = v_V5401.clone(); - rt::is_cons(&__t215) + let __t230 = { + let __t227 = { + let __t207 = v_V5401.clone(); + rt::is_cons(&__t207) }; - if !rt::is_truthy(interp, &__t237)? { + if !rt::is_truthy(interp, &__t227)? { Value::bool(false) } else { - let __t238 = { - let __t235 = { - let __t217 = { - let __t216 = v_V5401.clone(); - rt::tl(&__t216)? + let __t228 = { + let __t225 = { + let __t209 = { + let __t208 = v_V5401.clone(); + rt::tl(&__t208)? }; - rt::is_cons(&__t217) + rt::is_cons(&__t209) }; - if !rt::is_truthy(interp, &__t235)? { + if !rt::is_truthy(interp, &__t225)? { Value::bool(false) } else { - let __t236 = { - let __t233 = { - let __t220 = { - let __t219 = { - let __t218 = v_V5401.clone(); - rt::tl(&__t218)? + let __t226 = { + let __t223 = { + let __t212 = { + let __t211 = { + let __t210 = v_V5401.clone(); + rt::tl(&__t210)? }; - rt::tl(&__t219)? + rt::tl(&__t211)? }; - rt::is_cons(&__t220) + rt::is_cons(&__t212) }; - if !rt::is_truthy(interp, &__t233)? { + if !rt::is_truthy(interp, &__t223)? { Value::bool(false) } else { - let __t234 = { - let __t231 = { - let __t224 = { - let __t223 = { - let __t222 = { - let __t221 = v_V5401.clone(); - rt::tl(&__t221)? + let __t224 = { + let __t221 = { + let __t216 = { + let __t215 = { + let __t214 = { + let __t213 = v_V5401.clone(); + rt::tl(&__t213)? }; - rt::tl(&__t222)? + rt::tl(&__t214)? }; - rt::tl(&__t223)? + rt::tl(&__t215)? }; - rt::is_cons(&__t224) + rt::is_cons(&__t216) }; - if !rt::is_truthy(interp, &__t231)? { + if !rt::is_truthy(interp, &__t221)? { Value::bool(false) } else { - let __t232 = { - let __t225 = Value::nil(); - let __t230 = { - let __t229 = { - let __t228 = { - let __t227 = { - let __t226 = + let __t222 = Value::bool( + ({ + let __t220 = { + let __t219 = { + let __t218 = { + let __t217 = v_V5401.clone(); - rt::tl(&__t226)? + rt::tl(&__t217)? }; - rt::tl(&__t227)? + rt::tl(&__t218)? }; - rt::tl(&__t228)? + rt::tl(&__t219)? }; - rt::tl(&__t229)? - }; - rt::eq(&__t225, &__t230) - }; - Value::bool(rt::is_truthy(interp, &__t232)?) + rt::tl(&__t220)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t222)?) } }; - Value::bool(rt::is_truthy(interp, &__t234)?) + Value::bool(rt::is_truthy(interp, &__t224)?) } }; - Value::bool(rt::is_truthy(interp, &__t236)?) + Value::bool(rt::is_truthy(interp, &__t226)?) } }; - Value::bool(rt::is_truthy(interp, &__t238)?) + Value::bool(rt::is_truthy(interp, &__t228)?) } }; - if match rt::is_truthy(interp, &__t240) { + if match rt::is_truthy(interp, &__t230) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t239 = v_V5401.clone(); - rt::hd(&__t239)? + let __t229 = v_V5401.clone(); + rt::hd(&__t229)? }); } else { { - let __t214 = { - let __t211 = v_V5401.clone(); - rt::is_cons(&__t211) + let __t206 = { + let __t203 = v_V5401.clone(); + rt::is_cons(&__t203) }; - if match rt::is_truthy(interp, &__t214) { + if match rt::is_truthy(interp, &__t206) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t213 = { - let __t212 = v_V5401.clone(); - rt::tl(&__t212)? + let __t205 = { + let __t204 = v_V5401.clone(); + rt::tl(&__t204)? }; - v_V5401 = __t213; + v_V5401 = __t205; continue; } } else { { - let __t210 = Value::bool(true); - if match rt::is_truthy(interp, &__t210) { + let __t202 = Value::bool(true); + if match rt::is_truthy(interp, &__t202) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t209 = Value::str( + let __t201 = Value::str( "partial function shen.vector-parameter", ); - rt::apply_direct(interp, "simple-error", &[__t209])? + rt::apply_direct(interp, "simple-error", &[__t201])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -944,156 +930,150 @@ pub fn aot_shen_x2e_vector_x2d_dereference( #[allow(clippy::never_loop)] loop { { - let __t287 = { - let __t285 = Value::nil(); - let __t286 = v_V5405.clone(); - rt::eq(&__t285, &__t286) - }; - if match rt::is_truthy(interp, &__t287) { + let __t271 = Value::bool((v_V5405.clone()).is_nil()); + if match rt::is_truthy(interp, &__t271) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5404.clone()); } else { { - let __t284 = { - let __t282 = { - let __t260 = v_V5404.clone(); - rt::is_cons(&__t260) + let __t270 = { + let __t268 = { + let __t248 = v_V5404.clone(); + rt::is_cons(&__t248) }; - if !rt::is_truthy(interp, &__t282)? { + if !rt::is_truthy(interp, &__t268)? { Value::bool(false) } else { - let __t283 = { - let __t280 = { - let __t262 = { - let __t261 = v_V5404.clone(); - rt::tl(&__t261)? + let __t269 = { + let __t266 = { + let __t250 = { + let __t249 = v_V5404.clone(); + rt::tl(&__t249)? }; - rt::is_cons(&__t262) + rt::is_cons(&__t250) }; - if !rt::is_truthy(interp, &__t280)? { + if !rt::is_truthy(interp, &__t266)? { Value::bool(false) } else { - let __t281 = { - let __t278 = { - let __t265 = { - let __t264 = { - let __t263 = v_V5404.clone(); - rt::tl(&__t263)? + let __t267 = { + let __t264 = { + let __t253 = { + let __t252 = { + let __t251 = v_V5404.clone(); + rt::tl(&__t251)? }; - rt::tl(&__t264)? + rt::tl(&__t252)? }; - rt::is_cons(&__t265) + rt::is_cons(&__t253) }; - if !rt::is_truthy(interp, &__t278)? { + if !rt::is_truthy(interp, &__t264)? { Value::bool(false) } else { - let __t279 = { - let __t276 = { - let __t269 = { - let __t268 = { - let __t267 = { - let __t266 = v_V5404.clone(); - rt::tl(&__t266)? + let __t265 = { + let __t262 = { + let __t257 = { + let __t256 = { + let __t255 = { + let __t254 = v_V5404.clone(); + rt::tl(&__t254)? }; - rt::tl(&__t267)? + rt::tl(&__t255)? }; - rt::tl(&__t268)? + rt::tl(&__t256)? }; - rt::is_cons(&__t269) + rt::is_cons(&__t257) }; - if !rt::is_truthy(interp, &__t276)? { + if !rt::is_truthy(interp, &__t262)? { Value::bool(false) } else { - let __t277 = { - let __t270 = Value::nil(); - let __t275 = { - let __t274 = { - let __t273 = { - let __t272 = { - let __t271 = + let __t263 = Value::bool( + ({ + let __t261 = { + let __t260 = { + let __t259 = { + let __t258 = v_V5404.clone(); - rt::tl(&__t271)? + rt::tl(&__t258)? }; - rt::tl(&__t272)? + rt::tl(&__t259)? }; - rt::tl(&__t273)? + rt::tl(&__t260)? }; - rt::tl(&__t274)? - }; - rt::eq(&__t270, &__t275) - }; - Value::bool(rt::is_truthy(interp, &__t277)?) + rt::tl(&__t261)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t263)?) } }; - Value::bool(rt::is_truthy(interp, &__t279)?) + Value::bool(rt::is_truthy(interp, &__t265)?) } }; - Value::bool(rt::is_truthy(interp, &__t281)?) + Value::bool(rt::is_truthy(interp, &__t267)?) } }; - Value::bool(rt::is_truthy(interp, &__t283)?) + Value::bool(rt::is_truthy(interp, &__t269)?) } }; - if match rt::is_truthy(interp, &__t284) { + if match rt::is_truthy(interp, &__t270) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5404.clone()); } else { { - let __t259 = { - let __t246 = v_V5404.clone(); - rt::is_cons(&__t246) + let __t247 = { + let __t234 = v_V5404.clone(); + rt::is_cons(&__t234) }; - if match rt::is_truthy(interp, &__t259) { + if match rt::is_truthy(interp, &__t247) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t254 = { - let __t247 = Value::sym(interp.intern("shen.deref")); - let __t253 = { - let __t249 = { - let __t248 = v_V5404.clone(); - rt::hd(&__t248)? + let __t242 = { + let __t235 = Value::sym(interp.intern_static("shen.deref")); + let __t241 = { + let __t237 = { + let __t236 = v_V5404.clone(); + rt::hd(&__t236)? }; - let __t252 = { - let __t250 = v_V5405.clone(); - let __t251 = Value::nil(); - rt::cons(&__t250, &__t251) + let __t240 = { + let __t238 = v_V5405.clone(); + let __t239 = Value::nil(); + rt::cons(&__t238, &__t239) }; - rt::cons(&__t249, &__t252) + rt::cons(&__t237, &__t240) }; - rt::cons(&__t247, &__t253) + rt::cons(&__t235, &__t241) }; - let __t258 = { - let __t256 = { - let __t255 = v_V5404.clone(); - rt::tl(&__t255)? + let __t246 = { + let __t244 = { + let __t243 = v_V5404.clone(); + rt::tl(&__t243)? }; - let __t257 = v_V5405.clone(); - rt::apply_direct( + let __t245 = v_V5405.clone(); + aot_shen_x2e_vector_x2d_dereference( interp, - "shen.vector-dereference", - &[__t256, __t257], + &[__t244, __t245], )? }; - rt::cons(&__t254, &__t258) + rt::cons(&__t242, &__t246) }); } else { { - let __t245 = Value::bool(true); - if match rt::is_truthy(interp, &__t245) { + let __t233 = Value::bool(true); + if match rt::is_truthy(interp, &__t233) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t244 = Value::str( + let __t232 = Value::str( "partial function shen.vector-dereference", ); - rt::apply_direct(interp, "simple-error", &[__t244])? + rt::apply_direct(interp, "simple-error", &[__t232])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1133,46 +1113,37 @@ pub fn aot_step(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t299 = { - let __t295 = Value::sym(interp.intern("+")); - let __t296 = v_V5408.clone(); - rt::eq(&__t295, &__t296) - }; - if match rt::is_truthy(interp, &__t299) { + let __t275 = Value::bool((v_V5408.clone()).as_sym() == Some(interp.intern_static("+"))); + if match rt::is_truthy(interp, &__t275) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t297 = Value::sym(interp.intern("shen.*step*")); - let __t298 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t297, __t298])? + let __v = Value::bool(true); + rt::set_global(interp, "shen.*step*", __v) }); } else { { - let __t294 = { - let __t290 = Value::sym(interp.intern("-")); - let __t291 = v_V5408.clone(); - rt::eq(&__t290, &__t291) - }; - if match rt::is_truthy(interp, &__t294) { + let __t274 = + Value::bool((v_V5408.clone()).as_sym() == Some(interp.intern_static("-"))); + if match rt::is_truthy(interp, &__t274) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t292 = Value::sym(interp.intern("shen.*step*")); - let __t293 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t292, __t293])? + let __v = Value::bool(false); + rt::set_global(interp, "shen.*step*", __v) }); } else { { - let __t289 = Value::bool(true); - if match rt::is_truthy(interp, &__t289) { + let __t273 = Value::bool(true); + if match rt::is_truthy(interp, &__t273) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t288 = Value::str("step expects a + or a -.\n"); - rt::apply_direct(interp, "simple-error", &[__t288])? + let __t272 = Value::str("step expects a + or a -.\n"); + rt::apply_direct(interp, "simple-error", &[__t272])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1200,10 +1171,7 @@ pub fn aot_step_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t300 = Value::sym(interp.intern("shen.*step*")); - rt::apply_direct(interp, "value", &[__t300])? - }); + break Ok(rt::global_value(interp, "shen.*step*")?); } } @@ -1225,46 +1193,37 @@ pub fn aot_spy(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t312 = { - let __t308 = Value::sym(interp.intern("+")); - let __t309 = v_V5411.clone(); - rt::eq(&__t308, &__t309) - }; - if match rt::is_truthy(interp, &__t312) { + let __t279 = Value::bool((v_V5411.clone()).as_sym() == Some(interp.intern_static("+"))); + if match rt::is_truthy(interp, &__t279) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t310 = Value::sym(interp.intern("shen.*spy*")); - let __t311 = Value::bool(true); - rt::apply_direct(interp, "set", &[__t310, __t311])? + let __v = Value::bool(true); + rt::set_global(interp, "shen.*spy*", __v) }); } else { { - let __t307 = { - let __t303 = Value::sym(interp.intern("-")); - let __t304 = v_V5411.clone(); - rt::eq(&__t303, &__t304) - }; - if match rt::is_truthy(interp, &__t307) { + let __t278 = + Value::bool((v_V5411.clone()).as_sym() == Some(interp.intern_static("-"))); + if match rt::is_truthy(interp, &__t278) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t305 = Value::sym(interp.intern("shen.*spy*")); - let __t306 = Value::bool(false); - rt::apply_direct(interp, "set", &[__t305, __t306])? + let __v = Value::bool(false); + rt::set_global(interp, "shen.*spy*", __v) }); } else { { - let __t302 = Value::bool(true); - if match rt::is_truthy(interp, &__t302) { + let __t277 = Value::bool(true); + if match rt::is_truthy(interp, &__t277) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t301 = Value::str("spy expects a + or a -.\n"); - rt::apply_direct(interp, "simple-error", &[__t301])? + let __t276 = Value::str("spy expects a + or a -.\n"); + rt::apply_direct(interp, "simple-error", &[__t276])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1292,10 +1251,7 @@ pub fn aot_spy_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult { } #[allow(clippy::never_loop)] loop { - break Ok({ - let __t313 = Value::sym(interp.intern("shen.*spy*")); - rt::apply_direct(interp, "value", &[__t313])? - }); + break Ok(rt::global_value(interp, "shen.*spy*")?); } } @@ -1318,28 +1274,22 @@ pub fn aot_shen_x2e_terpri_x2d_or_x2d_read_x2d_char( #[allow(clippy::never_loop)] loop { { - let __t315 = { - let __t314 = Value::sym(interp.intern("shen.*step*")); - rt::apply_direct(interp, "value", &[__t314])? - }; - if match rt::is_truthy(interp, &__t315) { + let __t280 = rt::global_value(interp, "shen.*step*")?; + if match rt::is_truthy(interp, &__t280) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t318 = { - let __t317 = { - let __t316 = Value::sym(interp.intern("*stinput*")); - rt::apply_direct(interp, "value", &[__t316])? - }; - rt::apply_direct(interp, "read-byte", &[__t317])? + let __t282 = { + let __t281 = rt::global_value(interp, "*stinput*")?; + rt::apply_direct(interp, "read-byte", &[__t281])? }; - rt::apply_direct(interp, "shen.check-byte", &[__t318])? + aot_shen_x2e_check_x2d_byte(interp, &[__t282])? }); } else { break Ok({ - let __t319 = Value::int(1i64); - rt::apply_direct(interp, "nl", &[__t319])? + let __t283 = Value::int(1i64); + rt::apply_direct(interp, "nl", &[__t283])? }); } } @@ -1371,23 +1321,23 @@ pub fn aot_shen_x2e_check_x2d_byte(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { { - let __t324 = { - let __t321 = Value::int(94i64); - let __t322 = v_V5414.clone(); - rt::eq(&__t321, &__t322) + let __t288 = { + let __t285 = Value::int(94i64); + let __t286 = v_V5414.clone(); + rt::eq(&__t285, &__t286) }; - if match rt::is_truthy(interp, &__t324) { + if match rt::is_truthy(interp, &__t288) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t323 = Value::str("aborted"); - rt::apply_direct(interp, "simple-error", &[__t323])? + let __t287 = Value::str("aborted"); + rt::apply_direct(interp, "simple-error", &[__t287])? }); } else { { - let __t320 = Value::bool(true); - if match rt::is_truthy(interp, &__t320) { + let __t284 = Value::bool(true); + if match rt::is_truthy(interp, &__t284) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1424,67 +1374,64 @@ pub fn aot_shen_x2e_input_x2d_track(interp: &mut Interp, args: &[Value]) -> Shen loop { { let _ = { - let __t347 = { - let __t325 = Value::str("\n"); - let __t346 = { - let __t327 = { - let __t326 = v_V5415.clone(); - rt::apply_direct(interp, "shen.spaces", &[__t326])? + let __t311 = { + let __t289 = Value::str("\n"); + let __t310 = { + let __t291 = { + let __t290 = v_V5415.clone(); + aot_shen_x2e_spaces(interp, &[__t290])? }; - let __t344 = { - let __t328 = Value::str("<"); - let __t343 = { - let __t329 = v_V5415.clone(); - let __t341 = { - let __t330 = Value::str("> Inputs to "); - let __t340 = { - let __t331 = v_V5416.clone(); - let __t338 = { - let __t332 = Value::str(" \n"); - let __t337 = { - let __t334 = { - let __t333 = v_V5415.clone(); - rt::apply_direct( - interp, - "shen.spaces", - &[__t333], - )? + let __t308 = { + let __t292 = Value::str("<"); + let __t307 = { + let __t293 = v_V5415.clone(); + let __t305 = { + let __t294 = Value::str("> Inputs to "); + let __t304 = { + let __t295 = v_V5416.clone(); + let __t302 = { + let __t296 = Value::str(" \n"); + let __t301 = { + let __t298 = { + let __t297 = v_V5415.clone(); + aot_shen_x2e_spaces(interp, &[__t297])? }; - let __t335 = Value::str(""); - let __t336 = Value::sym(interp.intern("shen.a")); + let __t299 = Value::str(""); + let __t300 = + Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t334, __t335, __t336], + &[__t298, __t299, __t300], )? }; - rt::apply_direct(interp, "cn", &[__t332, __t337])? + rt::cn(&__t296, &__t301)? }; - let __t339 = Value::sym(interp.intern("shen.a")); + let __t303 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t331, __t338, __t339], + &[__t295, __t302, __t303], )? }; - rt::apply_direct(interp, "cn", &[__t330, __t340])? + rt::cn(&__t294, &__t304)? }; - let __t342 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t329, __t341, __t342])? + let __t306 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t293, __t305, __t306])? }; - rt::apply_direct(interp, "cn", &[__t328, __t343])? + rt::cn(&__t292, &__t307)? }; - let __t345 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t327, __t344, __t345])? + let __t309 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t291, __t308, __t309])? }; - rt::apply_direct(interp, "cn", &[__t325, __t346])? + rt::cn(&__t289, &__t310)? }; - let __t348 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t347, __t348])? + let __t312 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t311, __t312])? }; break Ok({ - let __t349 = v_V5417.clone(); - rt::apply_direct(interp, "shen.recursively-print", &[__t349])? + let __t313 = v_V5417.clone(); + aot_shen_x2e_recursively_x2d_print(interp, &[__t313])? }); } } @@ -1511,66 +1458,62 @@ pub fn aot_shen_x2e_recursively_x2d_print( #[allow(clippy::never_loop)] loop { { - let __t364 = { - let __t360 = Value::nil(); - let __t361 = v_V5420.clone(); - rt::eq(&__t360, &__t361) - }; - if match rt::is_truthy(interp, &__t364) { + let __t326 = Value::bool((v_V5420.clone()).is_nil()); + if match rt::is_truthy(interp, &__t326) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t362 = Value::str(" ==>"); - let __t363 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t362, __t363])? + let __t324 = Value::str(" ==>"); + let __t325 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t324, __t325])? }); } else { { - let __t359 = { - let __t352 = v_V5420.clone(); - rt::is_cons(&__t352) + let __t323 = { + let __t316 = v_V5420.clone(); + rt::is_cons(&__t316) }; - if match rt::is_truthy(interp, &__t359) { + if match rt::is_truthy(interp, &__t323) { Ok(b) => b, Err(e) => break Err(e), } { { let _ = { - let __t354 = { - let __t353 = v_V5420.clone(); - rt::hd(&__t353)? + let __t318 = { + let __t317 = v_V5420.clone(); + rt::hd(&__t317)? }; - rt::apply_direct(interp, "print", &[__t354])? + rt::apply_direct(interp, "print", &[__t318])? }; { let _ = { - let __t355 = Value::str(", "); - let __t356 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t355, __t356])? + let __t319 = Value::str(", "); + let __t320 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t319, __t320])? }; { - let __t358 = { - let __t357 = v_V5420.clone(); - rt::tl(&__t357)? + let __t322 = { + let __t321 = v_V5420.clone(); + rt::tl(&__t321)? }; - v_V5420 = __t358; + v_V5420 = __t322; continue; } } } } else { { - let __t351 = Value::bool(true); - if match rt::is_truthy(interp, &__t351) { + let __t315 = Value::bool(true); + if match rt::is_truthy(interp, &__t315) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t350 = Value::str( + let __t314 = Value::str( "implementation error in shen.recursively-print", ); - rt::apply_direct(interp, "simple-error", &[__t350])? + rt::apply_direct(interp, "simple-error", &[__t314])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1605,34 +1548,34 @@ pub fn aot_shen_x2e_spaces(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t370 = Value::bool(true); - if match rt::is_truthy(interp, &__t370) { + let __t332 = Value::bool(true); + if match rt::is_truthy(interp, &__t332) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t365 = Value::str(" "); - let __t369 = { - let __t368 = { - let __t366 = v_V5421.clone(); - let __t367 = Value::int(1i64); - rt::sub(&__t366, &__t367)? + let __t327 = Value::str(" "); + let __t331 = { + let __t330 = { + let __t328 = v_V5421.clone(); + let __t329 = Value::int(1i64); + rt::sub(&__t328, &__t329)? }; - rt::apply_direct(interp, "shen.spaces", &[__t368])? + aot_shen_x2e_spaces(interp, &[__t330])? }; - rt::apply_direct(interp, "cn", &[__t365, __t369])? + rt::cn(&__t327, &__t331)? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1665,69 +1608,69 @@ pub fn aot_shen_x2e_output_x2d_track(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { break Ok({ - let __t401 = { - let __t374 = Value::str("\n"); - let __t400 = { - let __t376 = { - let __t375 = v_V5422.clone(); - rt::apply_direct(interp, "shen.spaces", &[__t375])? + let __t363 = { + let __t336 = Value::str("\n"); + let __t362 = { + let __t338 = { + let __t337 = v_V5422.clone(); + aot_shen_x2e_spaces(interp, &[__t337])? }; - let __t398 = { - let __t377 = Value::str("<"); - let __t397 = { - let __t378 = v_V5422.clone(); - let __t395 = { - let __t379 = Value::str("> Output from "); - let __t394 = { - let __t380 = v_V5423.clone(); - let __t392 = { - let __t381 = Value::str(" \n"); - let __t391 = { - let __t383 = { - let __t382 = v_V5422.clone(); - rt::apply_direct(interp, "shen.spaces", &[__t382])? + let __t360 = { + let __t339 = Value::str("<"); + let __t359 = { + let __t340 = v_V5422.clone(); + let __t357 = { + let __t341 = Value::str("> Output from "); + let __t356 = { + let __t342 = v_V5423.clone(); + let __t354 = { + let __t343 = Value::str(" \n"); + let __t353 = { + let __t345 = { + let __t344 = v_V5422.clone(); + aot_shen_x2e_spaces(interp, &[__t344])? }; - let __t389 = { - let __t384 = Value::str("==> "); - let __t388 = { - let __t385 = v_V5424.clone(); - let __t386 = Value::str(""); - let __t387 = - Value::sym(interp.intern("shen.s")); + let __t351 = { + let __t346 = Value::str("==> "); + let __t350 = { + let __t347 = v_V5424.clone(); + let __t348 = Value::str(""); + let __t349 = + Value::sym(interp.intern_static("shen.s")); rt::apply_direct( interp, "shen.app", - &[__t385, __t386, __t387], + &[__t347, __t348, __t349], )? }; - rt::apply_direct(interp, "cn", &[__t384, __t388])? + rt::cn(&__t346, &__t350)? }; - let __t390 = Value::sym(interp.intern("shen.a")); + let __t352 = Value::sym(interp.intern_static("shen.a")); rt::apply_direct( interp, "shen.app", - &[__t383, __t389, __t390], + &[__t345, __t351, __t352], )? }; - rt::apply_direct(interp, "cn", &[__t381, __t391])? + rt::cn(&__t343, &__t353)? }; - let __t393 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t380, __t392, __t393])? + let __t355 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t342, __t354, __t355])? }; - rt::apply_direct(interp, "cn", &[__t379, __t394])? + rt::cn(&__t341, &__t356)? }; - let __t396 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t378, __t395, __t396])? + let __t358 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t340, __t357, __t358])? }; - rt::apply_direct(interp, "cn", &[__t377, __t397])? + rt::cn(&__t339, &__t359)? }; - let __t399 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t376, __t398, __t399])? + let __t361 = Value::sym(interp.intern_static("shen.a")); + rt::apply_direct(interp, "shen.app", &[__t338, __t360, __t361])? }; - rt::apply_direct(interp, "cn", &[__t374, __t400])? + rt::cn(&__t336, &__t362)? }; - let __t402 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t401, __t402])? + let __t364 = { rt::apply_direct(interp, "stoutput", &[])? }; + rt::apply_direct(interp, "pr", &[__t363, __t364])? }); } } @@ -1751,25 +1694,21 @@ pub fn aot_untrack(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let _ = { - let __t403 = Value::sym(interp.intern("shen.*tracking*")); - let __t407 = { - let __t404 = v_V5425.clone(); - let __t406 = { - let __t405 = Value::sym(interp.intern("shen.*tracking*")); - rt::apply_direct(interp, "value", &[__t405])? - }; - rt::apply_direct(interp, "remove", &[__t404, __t406])? + let __v = { + let __t365 = v_V5425.clone(); + let __t366 = rt::global_value(interp, "shen.*tracking*")?; + aot_remove(interp, &[__t365, __t366])? }; - rt::apply_direct(interp, "set", &[__t403, __t407])? + rt::set_global(interp, "shen.*tracking*", __v) }; { let _ = match (|| -> ShenResult { Ok({ - let __t409 = { - let __t408 = v_V5425.clone(); - rt::apply_direct(interp, "ps", &[__t408])? + let __t368 = { + let __t367 = v_V5425.clone(); + rt::apply_direct(interp, "ps", &[__t367])? }; - rt::apply_direct(interp, "eval", &[__t409])? + rt::apply_direct(interp, "eval", &[__t368])? }) })() { Ok(v) => v, @@ -1817,10 +1756,10 @@ pub fn aot_remove(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { break Ok({ - let __t410 = v_V5427.clone(); - let __t411 = v_V5428.clone(); - let __t412 = Value::nil(); - rt::apply_direct(interp, "shen.remove-h", &[__t410, __t411, __t412])? + let __t369 = v_V5427.clone(); + let __t370 = v_V5428.clone(); + let __t371 = Value::nil(); + aot_shen_x2e_remove_x2d_h(interp, &[__t369, __t370, __t371])? }); } } @@ -1847,99 +1786,95 @@ pub fn aot_shen_x2e_remove_x2d_h(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t439 = { - let __t436 = Value::nil(); - let __t437 = v_V5439.clone(); - rt::eq(&__t436, &__t437) - }; - if match rt::is_truthy(interp, &__t439) { + let __t396 = Value::bool((v_V5439.clone()).is_nil()); + if match rt::is_truthy(interp, &__t396) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t438 = v_V5440.clone(); - rt::apply_direct(interp, "reverse", &[__t438])? + let __t395 = v_V5440.clone(); + rt::apply_direct(interp, "reverse", &[__t395])? }); } else { { - let __t435 = { - let __t428 = { - let __t424 = v_V5439.clone(); - rt::is_cons(&__t424) + let __t394 = { + let __t387 = { + let __t383 = v_V5439.clone(); + rt::is_cons(&__t383) }; - if !rt::is_truthy(interp, &__t428)? { + if !rt::is_truthy(interp, &__t387)? { Value::bool(false) } else { - let __t429 = { - let __t425 = v_V5438.clone(); - let __t427 = { - let __t426 = v_V5439.clone(); - rt::hd(&__t426)? + let __t388 = { + let __t384 = v_V5438.clone(); + let __t386 = { + let __t385 = v_V5439.clone(); + rt::hd(&__t385)? }; - rt::eq(&__t425, &__t427) + rt::eq(&__t384, &__t386) }; - Value::bool(rt::is_truthy(interp, &__t429)?) + Value::bool(rt::is_truthy(interp, &__t388)?) } }; - if match rt::is_truthy(interp, &__t435) { + if match rt::is_truthy(interp, &__t394) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t431 = { - let __t430 = v_V5439.clone(); - rt::hd(&__t430)? + let __t390 = { + let __t389 = v_V5439.clone(); + rt::hd(&__t389)? }; - let __t433 = { - let __t432 = v_V5439.clone(); - rt::tl(&__t432)? + let __t392 = { + let __t391 = v_V5439.clone(); + rt::tl(&__t391)? }; - let __t434 = v_V5440.clone(); - v_V5438 = __t431; - v_V5439 = __t433; - v_V5440 = __t434; + let __t393 = v_V5440.clone(); + v_V5438 = __t390; + v_V5439 = __t392; + v_V5440 = __t393; continue; } } else { { - let __t423 = { - let __t415 = v_V5439.clone(); - rt::is_cons(&__t415) + let __t382 = { + let __t374 = v_V5439.clone(); + rt::is_cons(&__t374) }; - if match rt::is_truthy(interp, &__t423) { + if match rt::is_truthy(interp, &__t382) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t416 = v_V5438.clone(); - let __t418 = { - let __t417 = v_V5439.clone(); - rt::tl(&__t417)? + let __t375 = v_V5438.clone(); + let __t377 = { + let __t376 = v_V5439.clone(); + rt::tl(&__t376)? }; - let __t422 = { - let __t420 = { - let __t419 = v_V5439.clone(); - rt::hd(&__t419)? + let __t381 = { + let __t379 = { + let __t378 = v_V5439.clone(); + rt::hd(&__t378)? }; - let __t421 = v_V5440.clone(); - rt::cons(&__t420, &__t421) + let __t380 = v_V5440.clone(); + rt::cons(&__t379, &__t380) }; - v_V5438 = __t416; - v_V5439 = __t418; - v_V5440 = __t422; + v_V5438 = __t375; + v_V5439 = __t377; + v_V5440 = __t381; continue; } } else { { - let __t414 = Value::bool(true); - if match rt::is_truthy(interp, &__t414) { + let __t373 = Value::bool(true); + if match rt::is_truthy(interp, &__t373) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t413 = + let __t372 = Value::str("implementation error in shen.remove-h"); - rt::apply_direct(interp, "simple-error", &[__t413])? + rt::apply_direct(interp, "simple-error", &[__t372])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1973,23 +1908,19 @@ pub fn aot_profile(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let _ = { - let __t440 = Value::sym(interp.intern("shen.*profiled*")); - let __t444 = { - let __t441 = v_V5441.clone(); - let __t443 = { - let __t442 = Value::sym(interp.intern("shen.*profiled*")); - rt::apply_direct(interp, "value", &[__t442])? - }; - rt::cons(&__t441, &__t443) + let __v = { + let __t397 = v_V5441.clone(); + let __t398 = rt::global_value(interp, "shen.*profiled*")?; + rt::cons(&__t397, &__t398) }; - rt::apply_direct(interp, "set", &[__t440, __t444])? + rt::set_global(interp, "shen.*profiled*", __v) }; break Ok({ - let __t446 = { - let __t445 = v_V5441.clone(); - rt::apply_direct(interp, "ps", &[__t445])? + let __t400 = { + let __t399 = v_V5441.clone(); + rt::apply_direct(interp, "ps", &[__t399])? }; - rt::apply_direct(interp, "shen.profile-help", &[__t446])? + aot_shen_x2e_profile_x2d_help(interp, &[__t400])? }); } } @@ -2013,250 +1944,248 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t529 = { - let __t476 = { - let __t449 = v_V5444.clone(); - rt::is_cons(&__t449) + let __t479 = { + let __t426 = { + let __t403 = v_V5444.clone(); + rt::is_cons(&__t403) }; - if !rt::is_truthy(interp, &__t476)? { + if !rt::is_truthy(interp, &__t426)? { Value::bool(false) } else { - let __t477 = { - let __t474 = { - let __t450 = Value::sym(interp.intern("defun")); - let __t452 = { - let __t451 = v_V5444.clone(); - rt::hd(&__t451)? - }; - rt::eq(&__t450, &__t452) - }; - if !rt::is_truthy(interp, &__t474)? { + let __t427 = { + let __t424 = Value::bool( + ({ + let __t404 = v_V5444.clone(); + rt::hd(&__t404)? + }) + .as_sym() + == Some(interp.intern_static("defun")), + ); + if !rt::is_truthy(interp, &__t424)? { Value::bool(false) } else { - let __t475 = { - let __t472 = { - let __t454 = { - let __t453 = v_V5444.clone(); - rt::tl(&__t453)? + let __t425 = { + let __t422 = { + let __t406 = { + let __t405 = v_V5444.clone(); + rt::tl(&__t405)? }; - rt::is_cons(&__t454) + rt::is_cons(&__t406) }; - if !rt::is_truthy(interp, &__t472)? { + if !rt::is_truthy(interp, &__t422)? { Value::bool(false) } else { - let __t473 = { - let __t470 = { - let __t457 = { - let __t456 = { - let __t455 = v_V5444.clone(); - rt::tl(&__t455)? + let __t423 = { + let __t420 = { + let __t409 = { + let __t408 = { + let __t407 = v_V5444.clone(); + rt::tl(&__t407)? }; - rt::tl(&__t456)? + rt::tl(&__t408)? }; - rt::is_cons(&__t457) + rt::is_cons(&__t409) }; - if !rt::is_truthy(interp, &__t470)? { + if !rt::is_truthy(interp, &__t420)? { Value::bool(false) } else { - let __t471 = { - let __t468 = { - let __t461 = { - let __t460 = { - let __t459 = { - let __t458 = v_V5444.clone(); - rt::tl(&__t458)? + let __t421 = { + let __t418 = { + let __t413 = { + let __t412 = { + let __t411 = { + let __t410 = v_V5444.clone(); + rt::tl(&__t410)? }; - rt::tl(&__t459)? + rt::tl(&__t411)? }; - rt::tl(&__t460)? + rt::tl(&__t412)? }; - rt::is_cons(&__t461) + rt::is_cons(&__t413) }; - if !rt::is_truthy(interp, &__t468)? { + if !rt::is_truthy(interp, &__t418)? { Value::bool(false) } else { - let __t469 = { - let __t462 = Value::nil(); - let __t467 = { - let __t466 = { - let __t465 = { - let __t464 = { - let __t463 = + let __t419 = Value::bool( + ({ + let __t417 = { + let __t416 = { + let __t415 = { + let __t414 = v_V5444.clone(); - rt::tl(&__t463)? + rt::tl(&__t414)? }; - rt::tl(&__t464)? + rt::tl(&__t415)? }; - rt::tl(&__t465)? + rt::tl(&__t416)? }; - rt::tl(&__t466)? - }; - rt::eq(&__t462, &__t467) - }; - Value::bool(rt::is_truthy(interp, &__t469)?) + rt::tl(&__t417)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t419)?) } }; - Value::bool(rt::is_truthy(interp, &__t471)?) + Value::bool(rt::is_truthy(interp, &__t421)?) } }; - Value::bool(rt::is_truthy(interp, &__t473)?) + Value::bool(rt::is_truthy(interp, &__t423)?) } }; - Value::bool(rt::is_truthy(interp, &__t475)?) + Value::bool(rt::is_truthy(interp, &__t425)?) } }; - Value::bool(rt::is_truthy(interp, &__t477)?) + Value::bool(rt::is_truthy(interp, &__t427)?) } }; - if match rt::is_truthy(interp, &__t529) { + if match rt::is_truthy(interp, &__t479) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5445 = { - let __t478 = Value::sym(interp.intern("shen.f")); - rt::apply_direct(interp, "gensym", &[__t478])? + let __t428 = Value::sym(interp.intern_static("shen.f")); + rt::apply_direct(interp, "gensym", &[__t428])? }; { let v_W5446 = { - let __t479 = Value::sym(interp.intern("defun")); - let __t504 = { - let __t482 = { - let __t481 = { - let __t480 = v_V5444.clone(); - rt::tl(&__t480)? + let __t429 = Value::sym(interp.intern_static("defun")); + let __t454 = { + let __t432 = { + let __t431 = { + let __t430 = v_V5444.clone(); + rt::tl(&__t430)? }; - rt::hd(&__t481)? + rt::hd(&__t431)? }; - let __t503 = { - let __t486 = { - let __t485 = { - let __t484 = { - let __t483 = v_V5444.clone(); - rt::tl(&__t483)? + let __t453 = { + let __t436 = { + let __t435 = { + let __t434 = { + let __t433 = v_V5444.clone(); + rt::tl(&__t433)? }; - rt::tl(&__t484)? + rt::tl(&__t434)? }; - rt::hd(&__t485)? + rt::hd(&__t435)? }; - let __t502 = { - let __t500 = { - let __t489 = { - let __t488 = { - let __t487 = v_V5444.clone(); - rt::tl(&__t487)? + let __t452 = { + let __t450 = { + let __t439 = { + let __t438 = { + let __t437 = v_V5444.clone(); + rt::tl(&__t437)? }; - rt::hd(&__t488)? + rt::hd(&__t438)? }; - let __t493 = { - let __t492 = { - let __t491 = { - let __t490 = v_V5444.clone(); - rt::tl(&__t490)? + let __t443 = { + let __t442 = { + let __t441 = { + let __t440 = v_V5444.clone(); + rt::tl(&__t440)? }; - rt::tl(&__t491)? + rt::tl(&__t441)? }; - rt::hd(&__t492)? + rt::hd(&__t442)? }; - let __t499 = { - let __t494 = v_W5445.clone(); - let __t498 = { - let __t497 = { - let __t496 = { - let __t495 = v_V5444.clone(); - rt::tl(&__t495)? + let __t449 = { + let __t444 = v_W5445.clone(); + let __t448 = { + let __t447 = { + let __t446 = { + let __t445 = v_V5444.clone(); + rt::tl(&__t445)? }; - rt::tl(&__t496)? + rt::tl(&__t446)? }; - rt::hd(&__t497)? + rt::hd(&__t447)? }; - rt::cons(&__t494, &__t498) + rt::cons(&__t444, &__t448) }; - rt::apply_direct( + aot_shen_x2e_profile_x2d_func( interp, - "shen.profile-func", - &[__t489, __t493, __t499], + &[__t439, __t443, __t449], )? }; - let __t501 = Value::nil(); - rt::cons(&__t500, &__t501) + let __t451 = Value::nil(); + rt::cons(&__t450, &__t451) }; - rt::cons(&__t486, &__t502) + rt::cons(&__t436, &__t452) }; - rt::cons(&__t482, &__t503) + rt::cons(&__t432, &__t453) }; - rt::cons(&__t479, &__t504) + rt::cons(&__t429, &__t454) }; { let v_W5447 = { - let __t505 = Value::sym(interp.intern("defun")); - let __t524 = { - let __t506 = v_W5445.clone(); - let __t523 = { - let __t510 = { - let __t509 = { - let __t508 = { - let __t507 = v_V5444.clone(); - rt::tl(&__t507)? + let __t455 = Value::sym(interp.intern_static("defun")); + let __t474 = { + let __t456 = v_W5445.clone(); + let __t473 = { + let __t460 = { + let __t459 = { + let __t458 = { + let __t457 = v_V5444.clone(); + rt::tl(&__t457)? }; - rt::tl(&__t508)? + rt::tl(&__t458)? }; - rt::hd(&__t509)? + rt::hd(&__t459)? }; - let __t522 = { - let __t520 = { - let __t511 = v_W5445.clone(); - let __t514 = { - let __t513 = { - let __t512 = v_V5444.clone(); - rt::tl(&__t512)? + let __t472 = { + let __t470 = { + let __t461 = v_W5445.clone(); + let __t464 = { + let __t463 = { + let __t462 = v_V5444.clone(); + rt::tl(&__t462)? }; - rt::hd(&__t513)? + rt::hd(&__t463)? }; - let __t519 = { - let __t518 = { - let __t517 = { - let __t516 = { - let __t515 = v_V5444.clone(); - rt::tl(&__t515)? + let __t469 = { + let __t468 = { + let __t467 = { + let __t466 = { + let __t465 = v_V5444.clone(); + rt::tl(&__t465)? }; - rt::tl(&__t516)? + rt::tl(&__t466)? }; - rt::tl(&__t517)? + rt::tl(&__t467)? }; - rt::hd(&__t518)? + rt::hd(&__t468)? }; rt::apply_direct( interp, "subst", - &[__t511, __t514, __t519], + &[__t461, __t464, __t469], )? }; - let __t521 = Value::nil(); - rt::cons(&__t520, &__t521) + let __t471 = Value::nil(); + rt::cons(&__t470, &__t471) }; - rt::cons(&__t510, &__t522) + rt::cons(&__t460, &__t472) }; - rt::cons(&__t506, &__t523) + rt::cons(&__t456, &__t473) }; - rt::cons(&__t505, &__t524) + rt::cons(&__t455, &__t474) }; { let v_W5448 = { - let __t525 = v_W5446.clone(); - rt::apply_direct(interp, "eval-kl", &[__t525])? + let __t475 = v_W5446.clone(); + rt::apply_direct(interp, "eval-kl", &[__t475])? }; { let v_W5449 = { - let __t526 = v_W5447.clone(); - rt::apply_direct(interp, "eval-kl", &[__t526])? + let __t476 = v_W5447.clone(); + rt::apply_direct(interp, "eval-kl", &[__t476])? }; break Ok({ - let __t528 = { - let __t527 = v_V5444.clone(); - rt::tl(&__t527)? + let __t478 = { + let __t477 = v_V5444.clone(); + rt::tl(&__t477)? }; - rt::hd(&__t528)? + rt::hd(&__t478)? }); } } @@ -2265,14 +2194,14 @@ pub fn aot_shen_x2e_profile_x2d_help(interp: &mut Interp, args: &[Value]) -> She } } else { { - let __t448 = Value::bool(true); - if match rt::is_truthy(interp, &__t448) { + let __t402 = Value::bool(true); + if match rt::is_truthy(interp, &__t402) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t447 = Value::str("Cannot profile.\n"); - rt::apply_direct(interp, "simple-error", &[__t447])? + let __t401 = Value::str("Cannot profile.\n"); + rt::apply_direct(interp, "simple-error", &[__t401])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2302,25 +2231,21 @@ pub fn aot_unprofile(interp: &mut Interp, args: &[Value]) -> ShenResult { loop { { let _ = { - let __t530 = Value::sym(interp.intern("shen.*profiled*")); - let __t534 = { - let __t531 = v_V5450.clone(); - let __t533 = { - let __t532 = Value::sym(interp.intern("shen.*profiled*")); - rt::apply_direct(interp, "value", &[__t532])? - }; - rt::apply_direct(interp, "remove", &[__t531, __t533])? + let __v = { + let __t480 = v_V5450.clone(); + let __t481 = rt::global_value(interp, "shen.*profiled*")?; + aot_remove(interp, &[__t480, __t481])? }; - rt::apply_direct(interp, "set", &[__t530, __t534])? + rt::set_global(interp, "shen.*profiled*", __v) }; break Ok( match (|| -> ShenResult { Ok({ - let __t536 = { - let __t535 = v_V5450.clone(); - rt::apply_direct(interp, "ps", &[__t535])? + let __t483 = { + let __t482 = v_V5450.clone(); + rt::apply_direct(interp, "ps", &[__t482])? }; - rt::apply_direct(interp, "eval", &[__t536])? + rt::apply_direct(interp, "eval", &[__t483])? }) })() { Ok(v) => v, @@ -2365,12 +2290,9 @@ pub fn aot_shen_x2e_profiled_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { break Ok({ - let __t537 = v_V5452.clone(); - let __t539 = { - let __t538 = Value::sym(interp.intern("shen.*profiled*")); - rt::apply_direct(interp, "value", &[__t538])? - }; - rt::apply_direct(interp, "element?", &[__t537, __t539])? + let __t484 = v_V5452.clone(); + let __t485 = rt::global_value(interp, "shen.*profiled*")?; + rt::apply_direct(interp, "element?", &[__t484, __t485])? }); } } @@ -2397,157 +2319,163 @@ pub fn aot_shen_x2e_profile_x2d_func(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { break Ok({ - let __t540 = Value::sym(interp.intern("let")); - let __t601 = { - let __t541 = Value::sym(interp.intern("Start")); - let __t600 = { - let __t546 = { - let __t542 = Value::sym(interp.intern("get-time")); - let __t545 = { - let __t543 = Value::sym(interp.intern("run")); - let __t544 = Value::nil(); - rt::cons(&__t543, &__t544) + let __t486 = Value::sym(interp.intern_static("let")); + let __t547 = { + let __t487 = Value::sym(interp.intern_static("Start")); + let __t546 = { + let __t492 = { + let __t488 = Value::sym(interp.intern_static("get-time")); + let __t491 = { + let __t489 = Value::sym(interp.intern_static("run")); + let __t490 = Value::nil(); + rt::cons(&__t489, &__t490) }; - rt::cons(&__t542, &__t545) + rt::cons(&__t488, &__t491) }; - let __t599 = { - let __t597 = { - let __t547 = Value::sym(interp.intern("let")); - let __t596 = { - let __t548 = Value::sym(interp.intern("Result")); - let __t595 = { - let __t549 = v_V5455.clone(); - let __t594 = { - let __t592 = { - let __t550 = Value::sym(interp.intern("let")); - let __t591 = { - let __t551 = Value::sym(interp.intern("Finish")); - let __t590 = { - let __t562 = { - let __t552 = Value::sym(interp.intern("-")); - let __t561 = { - let __t557 = { - let __t553 = Value::sym( - interp.intern("get-time"), + let __t545 = { + let __t543 = { + let __t493 = Value::sym(interp.intern_static("let")); + let __t542 = { + let __t494 = Value::sym(interp.intern_static("Result")); + let __t541 = { + let __t495 = v_V5455.clone(); + let __t540 = { + let __t538 = { + let __t496 = Value::sym(interp.intern_static("let")); + let __t537 = { + let __t497 = + Value::sym(interp.intern_static("Finish")); + let __t536 = { + let __t508 = { + let __t498 = + Value::sym(interp.intern_static("-")); + let __t507 = { + let __t503 = { + let __t499 = Value::sym( + interp + .intern_static("get-time"), ); - let __t556 = { - let __t554 = Value::sym( - interp.intern("run"), + let __t502 = { + let __t500 = Value::sym( + interp.intern_static("run"), ); - let __t555 = Value::nil(); - rt::cons(&__t554, &__t555) + let __t501 = Value::nil(); + rt::cons(&__t500, &__t501) }; - rt::cons(&__t553, &__t556) + rt::cons(&__t499, &__t502) }; - let __t560 = { - let __t558 = Value::sym( - interp.intern("Start"), + let __t506 = { + let __t504 = Value::sym( + interp.intern_static("Start"), ); - let __t559 = Value::nil(); - rt::cons(&__t558, &__t559) + let __t505 = Value::nil(); + rt::cons(&__t504, &__t505) }; - rt::cons(&__t557, &__t560) + rt::cons(&__t503, &__t506) }; - rt::cons(&__t552, &__t561) + rt::cons(&__t498, &__t507) }; - let __t589 = { - let __t587 = { - let __t563 = - Value::sym(interp.intern("let")); - let __t586 = { - let __t564 = Value::sym( - interp.intern("Record"), + let __t535 = { + let __t533 = { + let __t509 = Value::sym( + interp.intern_static("let"), + ); + let __t532 = { + let __t510 = Value::sym( + interp.intern_static("Record"), ); - let __t585 = { - let __t581 = { - let __t565 = Value::sym( - interp.intern( + let __t531 = { + let __t527 = { + let __t511 = Value::sym( + interp.intern_static( "shen.put-profile", ), ); - let __t580 = { - let __t566 = + let __t526 = { + let __t512 = v_V5453.clone(); - let __t579 = { - let __t577 = { - let __t567 = Value::sym(interp.intern("+")); - let __t576 = { - let __t572 = { - let __t568 = Value::sym(interp.intern("shen.get-profile")); - let __t571 = { - let __t569 = v_V5453.clone(); - let __t570 = Value::nil(); - rt::cons(&__t569, &__t570) + let __t525 = { + let __t523 = { + let __t513 = Value::sym(interp.intern_static("+")); + let __t522 = { + let __t518 = { + let __t514 = Value::sym(interp.intern_static("shen.get-profile")); + let __t517 = { + let __t515 = v_V5453.clone(); + let __t516 = Value::nil(); + rt::cons(&__t515, &__t516) }; - rt::cons(&__t568, &__t571) + rt::cons(&__t514, &__t517) }; - let __t575 = { - let __t573 = Value::sym(interp.intern("Finish")); - let __t574 = Value::nil(); - rt::cons(&__t573, &__t574) + let __t521 = { + let __t519 = Value::sym(interp.intern_static("Finish")); + let __t520 = Value::nil(); + rt::cons(&__t519, &__t520) }; rt::cons( - &__t572, - &__t575, + &__t518, + &__t521, ) }; rt::cons( - &__t567, - &__t576, + &__t513, + &__t522, ) }; - let __t578 = + let __t524 = Value::nil(); rt::cons( - &__t577, - &__t578, + &__t523, + &__t524, ) }; rt::cons( - &__t566, &__t579, + &__t512, &__t525, ) }; - rt::cons(&__t565, &__t580) + rt::cons(&__t511, &__t526) }; - let __t584 = { - let __t582 = Value::sym( - interp.intern("Result"), + let __t530 = { + let __t528 = Value::sym( + interp.intern_static( + "Result", + ), ); - let __t583 = Value::nil(); - rt::cons(&__t582, &__t583) + let __t529 = Value::nil(); + rt::cons(&__t528, &__t529) }; - rt::cons(&__t581, &__t584) + rt::cons(&__t527, &__t530) }; - rt::cons(&__t564, &__t585) + rt::cons(&__t510, &__t531) }; - rt::cons(&__t563, &__t586) + rt::cons(&__t509, &__t532) }; - let __t588 = Value::nil(); - rt::cons(&__t587, &__t588) + let __t534 = Value::nil(); + rt::cons(&__t533, &__t534) }; - rt::cons(&__t562, &__t589) + rt::cons(&__t508, &__t535) }; - rt::cons(&__t551, &__t590) + rt::cons(&__t497, &__t536) }; - rt::cons(&__t550, &__t591) + rt::cons(&__t496, &__t537) }; - let __t593 = Value::nil(); - rt::cons(&__t592, &__t593) + let __t539 = Value::nil(); + rt::cons(&__t538, &__t539) }; - rt::cons(&__t549, &__t594) + rt::cons(&__t495, &__t540) }; - rt::cons(&__t548, &__t595) + rt::cons(&__t494, &__t541) }; - rt::cons(&__t547, &__t596) + rt::cons(&__t493, &__t542) }; - let __t598 = Value::nil(); - rt::cons(&__t597, &__t598) + let __t544 = Value::nil(); + rt::cons(&__t543, &__t544) }; - rt::cons(&__t546, &__t599) + rt::cons(&__t492, &__t545) }; - rt::cons(&__t541, &__t600) + rt::cons(&__t487, &__t546) }; - rt::cons(&__t540, &__t601) + rt::cons(&__t486, &__t547) }); } } @@ -2571,19 +2499,19 @@ pub fn aot_profile_x2d_results(interp: &mut Interp, args: &[Value]) -> ShenResul loop { { let v_W5457 = { - let __t602 = v_V5456.clone(); - rt::apply_direct(interp, "shen.get-profile", &[__t602])? + let __t548 = v_V5456.clone(); + aot_shen_x2e_get_x2d_profile(interp, &[__t548])? }; { let v_W5458 = { - let __t603 = v_V5456.clone(); - let __t604 = Value::int(0i64); - rt::apply_direct(interp, "shen.put-profile", &[__t603, __t604])? + let __t549 = v_V5456.clone(); + let __t550 = Value::int(0i64); + aot_shen_x2e_put_x2d_profile(interp, &[__t549, __t550])? }; break Ok({ - let __t605 = v_V5456.clone(); - let __t606 = v_W5457.clone(); - rt::apply_direct(interp, "@p", &[__t605, __t606])? + let __t551 = v_V5456.clone(); + let __t552 = v_W5457.clone(); + rt::apply_direct(interp, "@p", &[__t551, __t552])? }); } } @@ -2610,13 +2538,10 @@ pub fn aot_shen_x2e_get_x2d_profile(interp: &mut Interp, args: &[Value]) -> Shen break Ok( match (|| -> ShenResult { Ok({ - let __t607 = v_V5459.clone(); - let __t608 = Value::sym(interp.intern("profile")); - let __t610 = { - let __t609 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t609])? - }; - rt::apply_direct(interp, "get", &[__t607, __t608, __t610])? + let __t553 = v_V5459.clone(); + let __t554 = Value::sym(interp.intern_static("profile")); + let __t555 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "get", &[__t553, __t554, __t555])? }) })() { Ok(v) => v, @@ -2661,14 +2586,11 @@ pub fn aot_shen_x2e_put_x2d_profile(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { break Ok({ - let __t611 = v_V5461.clone(); - let __t612 = Value::sym(interp.intern("profile")); - let __t613 = v_V5462.clone(); - let __t615 = { - let __t614 = Value::sym(interp.intern("*property-vector*")); - rt::apply_direct(interp, "value", &[__t614])? - }; - rt::apply_direct(interp, "put", &[__t611, __t612, __t613, __t615])? + let __t556 = v_V5461.clone(); + let __t557 = Value::sym(interp.intern_static("profile")); + let __t558 = v_V5462.clone(); + let __t559 = rt::global_value(interp, "*property-vector*")?; + rt::apply_direct(interp, "put", &[__t556, __t557, __t558, __t559])? }); } } diff --git a/crates/shen-rust/src/aot/kernel/types.rs b/crates/shen-rust/src/aot/kernel/types.rs index 248ba12..242bbe8 100644 --- a/crates/shen-rust/src/aot/kernel/types.rs +++ b/crates/shen-rust/src/aot/kernel/types.rs @@ -116,7 +116,7 @@ pub fn aot_declare(interp: &mut Interp, args: &[Value]) -> ShenResult { let __t10 = v_Z5512.clone(); let __t11 = v_Z5513.clone(); let __t12 = v_Z5514.clone(); - rt::apply_direct(interp, "shen.variancy", &[__t4, __t8, __t9, __t10, __t11, __t12])? + aot_shen_x2e_variancy(interp, &[__t4, __t8, __t9, __t10, __t11, __t12])? } }) }, @@ -182,23 +182,19 @@ pub fn aot_declare(interp: &mut Interp, args: &[Value]) -> ShenResult { let v_W5515 = { let __t27 = { let __t26 = v_V5508.clone(); - rt::apply_direct(interp, "shen.prolog-abstraction", &[__t26])? + aot_shen_x2e_prolog_x2d_abstraction(interp, &[__t26])? }; rt::apply_direct(interp, "eval-kl", &[__t27])? }; { let v_W5516 = { - let __t28 = Value::sym(interp.intern("shen.*sigf*")); - let __t33 = { - let __t29 = v_V5507.clone(); - let __t30 = v_W5515.clone(); - let __t32 = { - let __t31 = Value::sym(interp.intern("shen.*sigf*")); - rt::apply_direct(interp, "value", &[__t31])? - }; - rt::apply_direct(interp, "shen.assoc->", &[__t29, __t30, __t32])? + let __v = { + let __t28 = v_V5507.clone(); + let __t29 = v_W5515.clone(); + let __t30 = rt::global_value(interp, "shen.*sigf*")?; + rt::apply_direct(interp, "shen.assoc->", &[__t28, __t29, __t30])? }; - rt::apply_direct(interp, "set", &[__t28, __t33])? + rt::set_global(interp, "shen.*sigf*", __v) }; break Ok(v_V5507.clone()); } @@ -237,22 +233,22 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< loop { { let v_W5523 = { - let __t34 = v_V5521.clone(); - let __t35 = Value::int(1i64); - rt::add(&__t34, &__t35)? + let __t31 = v_V5521.clone(); + let __t32 = Value::int(1i64); + rt::add(&__t31, &__t32)? }; { let v_W5524 = { - let __t134 = { - let __t36 = v_V5520.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t36])? + let __t121 = { + let __t33 = v_V5520.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t33])? }; - if rt::is_truthy(interp, &__t134)? { + if rt::is_truthy(interp, &__t121)? { { let v_W5525 = { - let __t37 = v_V5518.clone(); - let __t38 = v_V5519.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t37, __t38])? + let __t34 = v_V5518.clone(); + let __t35 = v_V5519.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t34, __t35])? }; { let v_W5526 = { @@ -268,16 +264,16 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< let v_Z5527 = args[0].clone(); Ok({ let v_W5528 = { - let __t39 = v_V5519.clone(); + let __t36 = v_V5519.clone(); rt::apply_direct( interp, "shen.newpv", - &[__t39], + &[__t36], )? }; { - let __t40 = v_V5519.clone(); - let __t73 = { + let __t37 = v_V5519.clone(); + let __t64 = { let _ = { rt::apply_direct( interp, @@ -286,97 +282,120 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< )? }; { - let __t46 = { - let __t44 = { - let __t43 = { - let __t41 = v_V5517.clone(); - let __t42 = v_V5519.clone(); + let __t63 = { + let __t41 = { + let __t40 = { + let __t38 = v_V5517.clone(); + let __t39 = v_V5519.clone(); rt::apply_direct( interp, "shen.deref", - &[__t41, __t42], + &[__t38, __t39], )? }; rt::apply_direct( interp, "arity", - &[__t43], + &[__t40], )? }; - let __t45 = Value::int(0i64); - rt::eq(&__t44, &__t45) + let __t42 = Value::int(0i64); + rt::eq(&__t41, &__t42) }; - let __t47 = v_V5519.clone(); - let __t48 = v_V5520.clone(); - let __t49 = v_W5523.clone(); - let __t72 = { - let v_V5517 = v_V5517.clone(); - let v_V5519 = v_V5519.clone(); - let v_V5520 = v_V5520.clone(); - let v_V5522 = v_V5522.clone(); - let v_W5523 = v_W5523.clone(); - let v_W5528 = v_W5528.clone(); - let v_Z5527 = v_Z5527.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t50 = + let _ = v_V5519.clone(); + let _ = v_V5520.clone(); + let _ = v_W5523.clone(); + if rt::is_truthy(interp, &__t63)? { + { + let _ = v_V5519.clone(); + let __t62 = v_V5520.clone(); + let __n = v_W5523.clone(); + let __t61 = { + let __t47 = { + let __t43 = Value::sym( + interp + .intern_static( + "fn", + ), + ); + let __t46 = { + let __t44 = + v_V5517.clone(); + let __t45 = + Value::nil(); + rt::cons( + &__t44, &__t45, + ) + }; + rt::cons(&__t43, &__t46) + }; + let __t48 = v_W5528.clone(); + let __t49 = Value::nil(); + let __t50 = v_V5519.clone(); + let __t51 = v_V5520.clone(); + let __t52 = v_W5523.clone(); + let __t60 = { + let v_V5517 = + v_V5517.clone(); + let v_V5519 = v_V5519.clone(); - let __t51 = + let v_V5520 = v_V5520.clone(); - let __t52 = + let v_V5522 = + v_V5522.clone(); + let v_W5523 = v_W5523.clone(); - let __t71 = { - let v_V5517 = - v_V5517.clone(); - let v_V5519 = - v_V5519.clone(); - let v_V5520 = - v_V5520.clone(); - let v_V5522 = - v_V5522.clone(); - let v_W5523 = - v_W5523.clone(); - let v_W5528 = - v_W5528.clone(); - let v_Z5527 = - v_Z5527.clone(); - rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t57 = { let __t53 = Value::sym(interp.intern("fn")); let __t56 = { let __t54 = v_V5517.clone(); let __t55 = Value::nil(); rt::cons(&__t54, &__t55) }; rt::cons(&__t53, &__t56) }; let __t58 = v_W5528.clone(); let __t59 = Value::nil(); let __t60 = v_V5519.clone(); let __t61 = v_V5520.clone(); let __t62 = v_W5523.clone(); let __t70 = { let v_V5517 = v_V5517.clone(); let v_V5519 = v_V5519.clone(); let v_V5520 = v_V5520.clone(); let v_V5522 = v_V5522.clone(); let v_W5523 = v_W5523.clone(); let v_W5528 = v_W5528.clone(); let v_Z5527 = v_Z5527.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t63 = v_V5517.clone(); let __t64 = v_Z5527.clone(); let __t65 = v_W5528.clone(); let __t66 = v_V5519.clone(); let __t67 = v_V5520.clone(); let __t68 = v_W5523.clone(); let __t69 = v_V5522.clone(); rt::apply_direct(interp, "shen.variants?", &[__t63, __t64, __t65, __t66, __t67, __t68, __t69])? }), vec![v_V5517, v_V5519, v_V5520, v_V5522, v_W5523, v_W5528, v_Z5527], interp) }; rt::apply_direct(interp, "shen.system-S-h", &[__t57, __t58, __t59, __t60, __t61, __t62, __t70])? }), vec![v_V5517, v_V5519, v_V5520, v_V5522, v_W5523, v_W5528, v_Z5527], interp) - }; - rt::apply_direct( - interp, - "shen.cut", - &[ - __t50, __t51, - __t52, __t71, - ], - )? - }) - }, - vec![ - v_V5517, v_V5519, v_V5520, - v_V5522, v_W5523, v_W5528, - v_Z5527, - ], - interp, - ) - }; - rt::apply_direct( - interp, - "when", - &[ - __t46, __t47, __t48, __t49, - __t72, - ], - )? + let v_W5528 = + v_W5528.clone(); + let v_Z5527 = + v_Z5527.clone(); + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t53 = v_V5517.clone(); let __t54 = v_Z5527.clone(); let __t55 = v_W5528.clone(); let __t56 = v_V5519.clone(); let __t57 = v_V5520.clone(); let __t58 = v_W5523.clone(); let __t59 = v_V5522.clone(); aot_shen_x2e_variants_x3f_(interp, &[__t53, __t54, __t55, __t56, __t57, __t58, __t59])? }), vec![v_V5517, v_V5519, v_V5520, v_V5522, v_W5523, v_W5528, v_Z5527], interp) + }; + rt::apply_direct( + interp, + "shen.system-S-h", + &[ + __t47, __t48, + __t49, __t50, + __t51, __t52, + __t60, + ], + )? + }; + if rt::is_truthy( + interp, + &rt::eq( + &__t61, + &Value::bool(false), + ), + )? { + let __u = rt::apply_direct( + interp, + "shen.unlocked?", + &[__t62], + )?; + if rt::is_truthy( + interp, &__u, + )? { + let _ = + rt::apply_direct( + interp, + "shen.lock", + &[__n, __t62], + )?; + } + } + __t61 + } + } else { + Value::bool(false) + } } }; rt::apply_direct( interp, "shen.gc", - &[__t40, __t73], + &[__t37, __t64], )? } }) @@ -386,22 +405,22 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< ) }; { - let __t133 = { - let __t74 = v_W5525.clone(); - rt::is_cons(&__t74) + let __t120 = { + let __t65 = v_W5525.clone(); + rt::is_cons(&__t65) }; - if rt::is_truthy(interp, &__t133)? { + if rt::is_truthy(interp, &__t120)? { { let v_W5529 = { - let __t76 = { - let __t75 = v_W5525.clone(); - rt::hd(&__t75)? + let __t67 = { + let __t66 = v_W5525.clone(); + rt::hd(&__t66)? }; - let __t77 = v_V5519.clone(); + let __t68 = v_V5519.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t76, __t77], + &[__t67, __t68], )? }; { @@ -415,15 +434,15 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< move |interp, _args| { Ok({ let v_W5531 = { - let __t79 = { - let __t78 = v_W5525.clone(); - rt::tl(&__t78)? + let __t70 = { + let __t69 = v_W5525.clone(); + rt::tl(&__t69)? }; - let __t80 = v_V5519.clone(); + let __t71 = v_V5519.clone(); rt::apply_direct( interp, "shen.lazyderef", - &[__t79, __t80], + &[__t70, __t71], )? }; { @@ -437,7 +456,7 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< let v_Z5533 = args[0].clone(); Ok({ - let __t81 = + let __t72 = v_Z5533 .clone( ); @@ -446,7 +465,7 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< v_W5526 .clone( ), - &[__t81], + &[__t72], )? }) }, @@ -455,75 +474,72 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< ) }; { - let __t109 = { - let __t82 = + let __t98 = { + let __t73 = v_W5531.clone(); - rt::is_cons(&__t82) + rt::is_cons(&__t73) }; if rt::is_truthy( - interp, &__t109, + interp, &__t98, )? { { let v_W5534 = { - let __t83 = + let __t74 = v_W5531 .clone( ); - rt::hd(&__t83)? + rt::hd(&__t74)? }; { let v_W5535 = { - let __t85 = { - let __t84 = v_W5531.clone(); - rt::tl(&__t84)? + let __t76 = { + let __t75 = v_W5531.clone(); + rt::tl(&__t75)? }; - let __t86 = v_V5519.clone(); - rt::apply_direct(interp, "shen.lazyderef", &[__t85, __t86])? + let __t77 = v_V5519.clone(); + rt::apply_direct(interp, "shen.lazyderef", &[__t76, __t77])? }; { let v_W5536 = { let v_W5532 = v_W5532.clone(); let v_W5534 = v_W5534.clone(); - rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t87 = v_W5534.clone(); rt::apply_value(interp, v_W5532.clone(), &[__t87])? }), vec![v_W5532, v_W5534], interp) + rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t78 = v_W5534.clone(); rt::apply_value(interp, v_W5532.clone(), &[__t78])? }), vec![v_W5532, v_W5534], interp) }; { - let __t96 = { - let __t88 = v_W5535.clone(); - let __t89 = Value::nil(); - rt::eq(&__t88, &__t89) - }; - if rt::is_truthy(interp, &__t96)? { rt::apply_value(interp, v_W5536.clone(), &[])? } else { { let __t95 = { let __t90 = v_W5535.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t90])? }; if rt::is_truthy(interp, &__t95)? { { let __t91 = v_W5535.clone(); let __t92 = Value::nil(); let __t93 = v_V5519.clone(); let __t94 = v_W5536.clone(); rt::apply_direct(interp, "shen.bind!", &[__t91, __t92, __t93, __t94])? } } else { Value::bool(false) } } } + let __t85 = Value::bool((v_W5535.clone()).is_nil()); + if rt::is_truthy(interp, &__t85)? { rt::apply_value(interp, v_W5536.clone(), &[])? } else { { let __t84 = { let __t79 = v_W5535.clone(); rt::apply_direct(interp, "shen.pvar?", &[__t79])? }; if rt::is_truthy(interp, &__t84)? { { let __t80 = v_W5535.clone(); let __t81 = Value::nil(); let __t82 = v_V5519.clone(); let __t83 = v_W5536.clone(); rt::apply_direct(interp, "shen.bind!", &[__t80, __t81, __t82, __t83])? } } else { Value::bool(false) } } } } } } } } else { { - let __t108 = { - let __t97 = + let __t97 = { + let __t86 = v_W5531 .clone( ); - rt::apply_direct(interp, "shen.pvar?", &[__t97])? + rt::apply_direct(interp, "shen.pvar?", &[__t86])? }; if rt::is_truthy( - interp, &__t108, + interp, &__t97, )? { { let v_W5537 = { - let __t98 = v_V5519.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t98])? + let __t87 = v_V5519.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t87])? }; { - let __t99 = v_V5519.clone(); - let __t107 = { - let __t100 = v_W5531.clone(); - let __t103 = { let __t101 = v_W5537.clone(); let __t102 = Value::nil(); rt::cons(&__t101, &__t102) }; - let __t104 = v_V5519.clone(); - let __t106 = { let v_W5532 = v_W5532.clone(); let v_W5537 = v_W5537.clone(); rt::make_aot_closure("", 0, move |interp, _args| Ok({ let __t105 = v_W5537.clone(); rt::apply_value(interp, v_W5532.clone(), &[__t105])? }), vec![v_W5532, v_W5537], interp) }; - rt::apply_direct(interp, "shen.bind!", &[__t100, __t103, __t104, __t106])? + let __t88 = v_V5519.clone(); + let __t96 = { + let __t92 = v_W5531.clone(); + let __t93 = { let __t89 = v_W5537.clone(); let __t90 = Value::nil(); rt::cons(&__t89, &__t90) }; + let __t94 = v_V5519.clone(); + let _ = rt::apply_direct(interp, "shen.bindv", &[__t92, __t93, __t94])?; + let __t95 = { let __t91 = v_W5537.clone(); rt::apply_value(interp, v_W5532.clone(), &[__t91])? }; + if rt::is_truthy(interp, &rt::eq(&__t95, &Value::bool(false)))? { rt::apply_direct(interp, "shen.unwind", &[__t92, __t94, __t95])? } else { __t95 } }; - rt::apply_direct(interp, "shen.gc", &[__t99, __t107])? + rt::apply_direct(interp, "shen.gc", &[__t88, __t96])? } } } else { @@ -542,13 +558,11 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< ) }; { - let __t118 = { - let __t110 = v_W5529.clone(); - let __t111 = - Value::sym(interp.intern("-->")); - rt::eq(&__t110, &__t111) - }; - if rt::is_truthy(interp, &__t118)? { + let __t105 = Value::bool( + (v_W5529.clone()).as_sym() + == Some(interp.intern_static("-->")), + ); + if rt::is_truthy(interp, &__t105)? { rt::apply_value( interp, v_W5530.clone(), @@ -556,28 +570,28 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< )? } else { { - let __t117 = { - let __t112 = v_W5529.clone(); + let __t104 = { + let __t99 = v_W5529.clone(); rt::apply_direct( interp, "shen.pvar?", - &[__t112], + &[__t99], )? }; - if rt::is_truthy(interp, &__t117)? { + if rt::is_truthy(interp, &__t104)? { { - let __t113 = v_W5529.clone(); - let __t114 = Value::sym( - interp.intern("-->"), + let __t100 = v_W5529.clone(); + let __t101 = Value::sym( + interp.intern_static("-->"), ); - let __t115 = v_V5519.clone(); - let __t116 = v_W5530.clone(); + let __t102 = v_V5519.clone(); + let __t103 = v_W5530.clone(); rt::apply_direct( interp, "shen.bind!", &[ - __t113, __t114, __t115, - __t116, + __t100, __t101, __t102, + __t103, ], )? } @@ -591,67 +605,69 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< } } else { { - let __t132 = { - let __t119 = v_W5525.clone(); - rt::apply_direct(interp, "shen.pvar?", &[__t119])? + let __t119 = { + let __t106 = v_W5525.clone(); + rt::apply_direct(interp, "shen.pvar?", &[__t106])? }; - if rt::is_truthy(interp, &__t132)? { + if rt::is_truthy(interp, &__t119)? { { let v_W5538 = { - let __t120 = v_V5519.clone(); + let __t107 = v_V5519.clone(); rt::apply_direct( interp, "shen.newpv", - &[__t120], + &[__t107], )? }; { - let __t121 = v_V5519.clone(); - let __t131 = { - let __t122 = v_W5525.clone(); - let __t127 = { - let __t123 = Value::sym( - interp.intern("-->"), + let __t108 = v_V5519.clone(); + let __t118 = { + let __t114 = v_W5525.clone(); + let __t115 = { + let __t109 = Value::sym( + interp.intern_static("-->"), ); - let __t126 = { - let __t124 = v_W5538.clone(); - let __t125 = Value::nil(); - rt::cons(&__t124, &__t125) + let __t112 = { + let __t110 = v_W5538.clone(); + let __t111 = Value::nil(); + rt::cons(&__t110, &__t111) }; - rt::cons(&__t123, &__t126) + rt::cons(&__t109, &__t112) }; - let __t128 = v_V5519.clone(); - let __t130 = { - let v_W5526 = v_W5526.clone(); - let v_W5538 = v_W5538.clone(); - rt::make_aot_closure( - "", - 0, - move |interp, _args| { - Ok({ - let __t129 = - v_W5538.clone(); - rt::apply_value( - interp, - v_W5526.clone(), - &[__t129], - )? - }) - }, - vec![v_W5526, v_W5538], + let __t116 = v_V5519.clone(); + let _ = rt::apply_direct( + interp, + "shen.bindv", + &[__t114, __t115, __t116], + )?; + let __t117 = { + let __t113 = v_W5538.clone(); + rt::apply_value( interp, - ) + v_W5526.clone(), + &[__t113], + )? }; - rt::apply_direct( + if rt::is_truthy( interp, - "shen.bind!", - &[__t122, __t127, __t128, __t130], - )? + &rt::eq( + &__t117, + &Value::bool(false), + ), + )? { + rt::apply_direct( + interp, + "shen.unwind", + &[__t114, __t116, __t117], + )? + } else { + __t117 + } }; rt::apply_direct( interp, "shen.gc", - &[__t121, __t131], + &[__t108, __t118], )? } } @@ -668,50 +684,50 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< } }; { - let __t137 = { - let __t135 = v_W5524.clone(); - let __t136 = Value::bool(false); - rt::eq(&__t135, &__t136) + let __t124 = { + let __t122 = v_W5524.clone(); + let __t123 = Value::bool(false); + rt::eq(&__t122, &__t123) }; - if match rt::is_truthy(interp, &__t137) { + if match rt::is_truthy(interp, &__t124) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5539 = { - let __t160 = { - let __t138 = v_V5520.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t138])? + let __t147 = { + let __t125 = v_V5520.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t125])? }; - if rt::is_truthy(interp, &__t160)? { + if rt::is_truthy(interp, &__t147)? { { let v_W5540 = { - let __t139 = v_V5519.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t139])? + let __t126 = v_V5519.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t126])? }; { - let __t140 = v_V5519.clone(); - let __t159 = { + let __t127 = v_V5519.clone(); + let __t146 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t145 = { - let __t141 = - Value::sym(interp.intern("fn")); - let __t144 = { - let __t142 = v_V5517.clone(); - let __t143 = Value::nil(); - rt::cons(&__t142, &__t143) + let __t132 = { + let __t128 = + Value::sym(interp.intern_static("fn")); + let __t131 = { + let __t129 = v_V5517.clone(); + let __t130 = Value::nil(); + rt::cons(&__t129, &__t130) }; - rt::cons(&__t141, &__t144) + rt::cons(&__t128, &__t131) }; - let __t146 = v_W5540.clone(); - let __t147 = Value::nil(); - let __t148 = v_V5519.clone(); - let __t149 = v_V5520.clone(); - let __t150 = v_W5523.clone(); - let __t158 = { + let __t133 = v_W5540.clone(); + let __t134 = Value::nil(); + let __t135 = v_V5519.clone(); + let __t136 = v_V5520.clone(); + let __t137 = v_W5523.clone(); + let __t145 = { let v_V5517 = v_V5517.clone(); let v_V5518 = v_V5518.clone(); let v_V5519 = v_V5519.clone(); @@ -724,20 +740,19 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< 0, move |interp, _args| { Ok({ - let __t151 = v_V5517.clone(); - let __t152 = v_W5540.clone(); - let __t153 = v_V5518.clone(); - let __t154 = v_V5519.clone(); - let __t155 = v_V5520.clone(); - let __t156 = v_W5523.clone(); - let __t157 = v_V5522.clone(); - rt::apply_direct( + let __t138 = v_V5517.clone(); + let __t139 = v_W5540.clone(); + let __t140 = v_V5518.clone(); + let __t141 = v_V5519.clone(); + let __t142 = v_V5520.clone(); + let __t143 = v_W5523.clone(); + let __t144 = v_V5522.clone(); + aot_shen_x2e_variants_x3f_( interp, - "shen.variants?", &[ - __t151, __t152, __t153, - __t154, __t155, __t156, - __t157, + __t138, __t139, __t140, + __t141, __t142, __t143, + __t144, ], )? }) @@ -753,13 +768,13 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< interp, "shen.system-S-h", &[ - __t145, __t146, __t147, __t148, __t149, - __t150, __t158, + __t132, __t133, __t134, __t135, __t136, + __t137, __t145, ], )? } }; - rt::apply_direct(interp, "shen.gc", &[__t140, __t159])? + rt::apply_direct(interp, "shen.gc", &[__t127, __t146])? } } } else { @@ -767,19 +782,19 @@ pub fn aot_shen_x2e_variancy(interp: &mut Interp, args: &[Value]) -> ShenResult< } }; { - let __t163 = { - let __t161 = v_W5539.clone(); - let __t162 = Value::bool(false); - rt::eq(&__t161, &__t162) + let __t150 = { + let __t148 = v_W5539.clone(); + let __t149 = Value::bool(false); + rt::eq(&__t148, &__t149) }; - if match rt::is_truthy(interp, &__t163) { + if match rt::is_truthy(interp, &__t150) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t164 = v_V5520.clone(); - let __t165 = v_W5523.clone(); - rt::apply_direct(interp, "shen.unlock", &[__t164, __t165])? + let __t151 = v_V5520.clone(); + let __t152 = v_W5523.clone(); + rt::apply_direct(interp, "shen.unlock", &[__t151, __t152])? }); } else { break Ok(v_W5539.clone()); @@ -826,24 +841,24 @@ pub fn aot_shen_x2e_variants_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe loop { { let v_W5548 = { - let __t173 = { - let __t166 = v_V5545.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t166])? + let __t160 = { + let __t153 = v_V5545.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t153])? }; - if rt::is_truthy(interp, &__t173)? { + if rt::is_truthy(interp, &__t160)? { { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t167 = v_V5542.clone(); - let __t168 = v_V5543.clone(); - let __t169 = v_V5544.clone(); - let __t170 = v_V5545.clone(); - let __t171 = v_V5546.clone(); - let __t172 = v_V5547.clone(); + let __t154 = v_V5542.clone(); + let __t155 = v_V5543.clone(); + let __t156 = v_V5544.clone(); + let __t157 = v_V5545.clone(); + let __t158 = v_V5546.clone(); + let __t159 = v_V5547.clone(); rt::apply_direct( interp, "is!", - &[__t167, __t168, __t169, __t170, __t171, __t172], + &[__t154, __t155, __t156, __t157, __t158, __t159], )? } } @@ -852,82 +867,79 @@ pub fn aot_shen_x2e_variants_x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe } }; { - let __t176 = { - let __t174 = v_W5548.clone(); - let __t175 = Value::bool(false); - rt::eq(&__t174, &__t175) + let __t163 = { + let __t161 = v_W5548.clone(); + let __t162 = Value::bool(false); + rt::eq(&__t161, &__t162) }; - if match rt::is_truthy(interp, &__t176) { + if match rt::is_truthy(interp, &__t163) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t178 = { - let __t177 = v_V5545.clone(); - rt::apply_direct(interp, "shen.unlocked?", &[__t177])? + let __t165 = { + let __t164 = v_V5545.clone(); + rt::apply_direct(interp, "shen.unlocked?", &[__t164])? }; - if match rt::is_truthy(interp, &__t178) { + if match rt::is_truthy(interp, &__t165) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W5549 = { - let __t179 = v_V5544.clone(); - rt::apply_direct(interp, "shen.newpv", &[__t179])? + let __t166 = v_V5544.clone(); + rt::apply_direct(interp, "shen.newpv", &[__t166])? }; break Ok({ - let __t180 = v_V5544.clone(); - let __t196 = { + let __t167 = v_V5544.clone(); + let __t183 = { let _ = { rt::apply_direct(interp, "shen.incinfs", &[])? }; { - let __t181 = v_W5549.clone(); - let __t191 = { - let __t189 = { - let __t182 = Value::str( + let __t168 = v_W5549.clone(); + let __t178 = { + let __t176 = { + let __t169 = Value::str( "warning: changing the type of ", ); - let __t188 = { - let __t185 = { - let __t183 = v_V5541.clone(); - let __t184 = v_V5544.clone(); + let __t175 = { + let __t172 = { + let __t170 = v_V5541.clone(); + let __t171 = v_V5544.clone(); rt::apply_direct( interp, "shen.deref", - &[__t183, __t184], + &[__t170, __t171], )? }; - let __t186 = + let __t173 = Value::str(" may create errors\n"); - let __t187 = - Value::sym(interp.intern("shen.a")); + let __t174 = Value::sym( + interp.intern_static("shen.a"), + ); rt::apply_direct( interp, "shen.app", - &[__t185, __t186, __t187], + &[__t172, __t173, __t174], )? }; - rt::apply_direct( - interp, - "cn", - &[__t182, __t188], - )? + rt::cn(&__t169, &__t175)? }; - let __t190 = + let __t177 = { rt::apply_direct(interp, "stoutput", &[])? }; - rt::apply_direct(interp, "pr", &[__t189, __t190])? + rt::apply_direct(interp, "pr", &[__t176, __t177])? }; - let __t192 = v_V5544.clone(); - let __t193 = v_V5545.clone(); - let __t194 = v_V5546.clone(); - let __t195 = v_V5547.clone(); + let __t179 = v_V5544.clone(); + let __t180 = v_V5545.clone(); + let __t181 = v_V5546.clone(); + let __t182 = v_V5547.clone(); rt::apply_direct( interp, "is", - &[__t181, __t191, __t192, __t193, __t194, __t195], + &[__t168, __t178, __t179, __t180, __t181, __t182], )? } }; - rt::apply_direct(interp, "shen.gc", &[__t180, __t196])? + rt::apply_direct(interp, "shen.gc", &[__t167, __t183])? }); } } else { @@ -964,115 +976,119 @@ pub fn aot_shen_x2e_prolog_x2d_abstraction( loop { { let v_W5551 = { - let __t197 = Value::sym(interp.intern("B")); - rt::apply_direct(interp, "gensym", &[__t197])? + let __t184 = Value::sym(interp.intern_static("B")); + rt::apply_direct(interp, "gensym", &[__t184])? }; { let v_W5552 = { - let __t198 = Value::sym(interp.intern("L")); - rt::apply_direct(interp, "gensym", &[__t198])? + let __t185 = Value::sym(interp.intern_static("L")); + rt::apply_direct(interp, "gensym", &[__t185])? }; { let v_W5553 = { - let __t199 = Value::sym(interp.intern("Key")); - rt::apply_direct(interp, "gensym", &[__t199])? + let __t186 = Value::sym(interp.intern_static("Key")); + rt::apply_direct(interp, "gensym", &[__t186])? }; { let v_W5554 = { - let __t200 = Value::sym(interp.intern("C")); - rt::apply_direct(interp, "gensym", &[__t200])? + let __t187 = Value::sym(interp.intern_static("C")); + rt::apply_direct(interp, "gensym", &[__t187])? }; { let v_W5555 = { - let __t201 = Value::sym(interp.intern("V")); - rt::apply_direct(interp, "gensym", &[__t201])? + let __t188 = Value::sym(interp.intern_static("V")); + rt::apply_direct(interp, "gensym", &[__t188])? }; { let v_W5556 = { - let __t202 = v_V5550.clone(); - rt::apply_direct(interp, "shen.extract-vars", &[__t202])? + let __t189 = v_V5550.clone(); + rt::apply_direct(interp, "shen.extract-vars", &[__t189])? }; break Ok({ - let __t203 = Value::sym(interp.intern("lambda")); - let __t250 = { - let __t204 = v_W5555.clone(); - let __t249 = { - let __t247 = { - let __t205 = Value::sym(interp.intern("lambda")); - let __t246 = { - let __t206 = v_W5551.clone(); - let __t245 = { - let __t243 = { - let __t207 = - Value::sym(interp.intern("lambda")); - let __t242 = { - let __t208 = v_W5552.clone(); - let __t241 = { - let __t239 = { - let __t209 = Value::sym( - interp.intern("lambda"), + let __t190 = Value::sym(interp.intern_static("lambda")); + let __t237 = { + let __t191 = v_W5555.clone(); + let __t236 = { + let __t234 = { + let __t192 = + Value::sym(interp.intern_static("lambda")); + let __t233 = { + let __t193 = v_W5551.clone(); + let __t232 = { + let __t230 = { + let __t194 = Value::sym( + interp.intern_static("lambda"), + ); + let __t229 = { + let __t195 = v_W5552.clone(); + let __t228 = { + let __t226 = { + let __t196 = Value::sym( + interp.intern_static( + "lambda", + ), ); - let __t238 = { - let __t210 = + let __t225 = { + let __t197 = v_W5553.clone(); - let __t237 = { - let __t235 = { - let __t211 = Value::sym(interp.intern("lambda")); - let __t234 = { - let __t212 = v_W5554.clone(); - let __t233 = { - let __t231 = { - let __t213 = v_W5556.clone(); - let __t229 = { let __t214 = Value::sym(interp.intern("is!")); let __t228 = { let __t215 = v_W5555.clone(); let __t227 = { let __t217 = { let __t216 = v_V5550.clone(); rt::apply_direct(interp, "shen.rcons_form", &[__t216])? }; let __t226 = { let __t218 = v_W5551.clone(); let __t225 = { let __t219 = v_W5552.clone(); let __t224 = { let __t220 = v_W5553.clone(); let __t223 = { let __t221 = v_W5554.clone(); let __t222 = Value::nil(); rt::cons(&__t221, &__t222) }; rt::cons(&__t220, &__t223) }; rt::cons(&__t219, &__t224) }; rt::cons(&__t218, &__t225) }; rt::cons(&__t217, &__t226) }; rt::cons(&__t215, &__t227) }; rt::cons(&__t214, &__t228) }; - let __t230 = v_W5551.clone(); - rt::apply_direct(interp, "shen.stpart", &[__t213, __t229, __t230])? + let __t224 = { + let __t222 = { + let __t198 = Value::sym(interp.intern_static("lambda")); + let __t221 = { + let __t199 = v_W5554.clone(); + let __t220 = { + let __t218 = { + let __t200 = v_W5556.clone(); + let __t216 = { let __t201 = Value::sym(interp.intern_static("is!")); let __t215 = { let __t202 = v_W5555.clone(); let __t214 = { let __t204 = { let __t203 = v_V5550.clone(); rt::apply_direct(interp, "shen.rcons_form", &[__t203])? }; let __t213 = { let __t205 = v_W5551.clone(); let __t212 = { let __t206 = v_W5552.clone(); let __t211 = { let __t207 = v_W5553.clone(); let __t210 = { let __t208 = v_W5554.clone(); let __t209 = Value::nil(); rt::cons(&__t208, &__t209) }; rt::cons(&__t207, &__t210) }; rt::cons(&__t206, &__t211) }; rt::cons(&__t205, &__t212) }; rt::cons(&__t204, &__t213) }; rt::cons(&__t202, &__t214) }; rt::cons(&__t201, &__t215) }; + let __t217 = v_W5551.clone(); + rt::apply_direct(interp, "shen.stpart", &[__t200, __t216, __t217])? }; - let __t232 = Value::nil(); - rt::cons(&__t231, &__t232) + let __t219 = Value::nil(); + rt::cons(&__t218, &__t219) }; rt::cons( - &__t212, - &__t233, + &__t199, + &__t220, ) }; rt::cons( - &__t211, - &__t234, + &__t198, + &__t221, ) }; - let __t236 = + let __t223 = Value::nil(); rt::cons( - &__t235, - &__t236, + &__t222, + &__t223, ) }; rt::cons( - &__t210, &__t237, + &__t197, &__t224, ) }; - rt::cons(&__t209, &__t238) + rt::cons(&__t196, &__t225) }; - let __t240 = Value::nil(); - rt::cons(&__t239, &__t240) + let __t227 = Value::nil(); + rt::cons(&__t226, &__t227) }; - rt::cons(&__t208, &__t241) + rt::cons(&__t195, &__t228) }; - rt::cons(&__t207, &__t242) + rt::cons(&__t194, &__t229) }; - let __t244 = Value::nil(); - rt::cons(&__t243, &__t244) + let __t231 = Value::nil(); + rt::cons(&__t230, &__t231) }; - rt::cons(&__t206, &__t245) + rt::cons(&__t193, &__t232) }; - rt::cons(&__t205, &__t246) + rt::cons(&__t192, &__t233) }; - let __t248 = Value::nil(); - rt::cons(&__t247, &__t248) + let __t235 = Value::nil(); + rt::cons(&__t234, &__t235) }; - rt::cons(&__t204, &__t249) + rt::cons(&__t191, &__t236) }; - rt::cons(&__t203, &__t250) + rt::cons(&__t190, &__t237) }); } } diff --git a/crates/shen-rust/src/aot/kernel/writer.rs b/crates/shen-rust/src/aot/kernel/writer.rs index 3c9f427..815411b 100644 --- a/crates/shen-rust/src/aot/kernel/writer.rs +++ b/crates/shen-rust/src/aot/kernel/writer.rs @@ -39,7 +39,7 @@ pub fn aot_print(interp: &mut Interp, args: &[Value]) -> ShenResult { let v_W5603 = { let __t0 = v_V5602.clone(); let __t1 = Value::str("~S"); - rt::apply_direct(interp, "shen.insert", &[__t0, __t1])? + aot_shen_x2e_insert(interp, &[__t0, __t1])? }; { let v_W5604 = { @@ -73,45 +73,38 @@ pub fn aot_pr(interp: &mut Interp, args: &[Value]) -> ShenResult { #[allow(clippy::never_loop)] loop { { - let __t5 = { - let __t4 = Value::sym(interp.intern("*hush*")); - rt::apply_direct(interp, "value", &[__t4])? - }; - if match rt::is_truthy(interp, &__t5) { + let __t4 = rt::global_value(interp, "*hush*")?; + if match rt::is_truthy(interp, &__t4) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5605.clone()); } else { { - let __t7 = { - let __t6 = v_V5606.clone(); - rt::apply_direct(interp, "shen.char-stoutput?", &[__t6])? + let __t6 = { + let __t5 = v_V5606.clone(); + rt::apply_direct(interp, "shen.char-stoutput?", &[__t5])? }; - if match rt::is_truthy(interp, &__t7) { + if match rt::is_truthy(interp, &__t6) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t8 = v_V5605.clone(); - let __t9 = v_V5606.clone(); - rt::apply_direct(interp, "shen.write-string", &[__t8, __t9])? + let __t7 = v_V5605.clone(); + let __t8 = v_V5606.clone(); + rt::apply_direct(interp, "shen.write-string", &[__t7, __t8])? }); } else { break Ok({ - let __t10 = v_V5605.clone(); - let __t11 = v_V5606.clone(); - let __t14 = { - let __t12 = v_V5605.clone(); - let __t13 = Value::int(0i64); - rt::apply_direct(interp, "shen.string->byte", &[__t12, __t13])? + let __t9 = v_V5605.clone(); + let __t10 = v_V5606.clone(); + let __t13 = { + let __t11 = v_V5605.clone(); + let __t12 = Value::int(0i64); + aot_shen_x2e_string_x2d__x3e_byte(interp, &[__t11, __t12])? }; - let __t15 = Value::int(1i64); - rt::apply_direct( - interp, - "shen.write-chars", - &[__t10, __t11, __t14, __t15], - )? + let __t14 = Value::int(1i64); + aot_shen_x2e_write_x2d_chars(interp, &[__t9, __t10, __t13, __t14])? }); } } @@ -142,12 +135,12 @@ pub fn aot_shen_x2e_string_x2d__x3e_byte(interp: &mut Interp, args: &[Value]) -> break Ok( match (|| -> ShenResult { Ok({ - let __t18 = { - let __t16 = v_V5607.clone(); - let __t17 = v_V5608.clone(); - rt::apply_direct(interp, "pos", &[__t16, __t17])? + let __t17 = { + let __t15 = v_V5607.clone(); + let __t16 = v_V5608.clone(); + rt::apply_direct(interp, "pos", &[__t15, __t16])? }; - rt::apply_direct(interp, "string->n", &[__t18])? + rt::string_to_n(&__t17)? }) })() { Ok(v) => v, @@ -158,7 +151,7 @@ pub fn aot_shen_x2e_string_x2d__x3e_byte(interp: &mut Interp, args: &[Value]) -> 1, move |interp, args| { let v_Z5609 = args[0].clone(); - Ok(Value::sym(interp.intern("shen.eos"))) + Ok(Value::sym(interp.intern_static("shen.eos"))) }, Vec::new(), interp, @@ -196,47 +189,44 @@ pub fn aot_shen_x2e_write_x2d_chars(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t32 = { - let __t30 = Value::sym(interp.intern("shen.eos")); - let __t31 = v_V5612.clone(); - rt::eq(&__t30, &__t31) - }; - if match rt::is_truthy(interp, &__t32) { + let __t29 = + Value::bool((v_V5612.clone()).as_sym() == Some(interp.intern_static("shen.eos"))); + if match rt::is_truthy(interp, &__t29) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5610.clone()); } else { { - let __t29 = Value::bool(true); - if match rt::is_truthy(interp, &__t29) { + let __t28 = Value::bool(true); + if match rt::is_truthy(interp, &__t28) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t19 = v_V5610.clone(); - let __t20 = v_V5611.clone(); - let __t25 = { + let __t18 = v_V5610.clone(); + let __t19 = v_V5611.clone(); + let __t24 = { let _ = { - let __t21 = v_V5612.clone(); - let __t22 = v_V5611.clone(); - rt::apply_direct(interp, "write-byte", &[__t21, __t22])? + let __t20 = v_V5612.clone(); + let __t21 = v_V5611.clone(); + rt::apply_direct(interp, "write-byte", &[__t20, __t21])? }; { - let __t23 = v_V5610.clone(); - let __t24 = v_V5613.clone(); - rt::apply_direct(interp, "shen.string->byte", &[__t23, __t24])? + let __t22 = v_V5610.clone(); + let __t23 = v_V5613.clone(); + aot_shen_x2e_string_x2d__x3e_byte(interp, &[__t22, __t23])? } }; - let __t28 = { - let __t26 = v_V5613.clone(); - let __t27 = Value::int(1i64); - rt::add(&__t26, &__t27)? + let __t27 = { + let __t25 = v_V5613.clone(); + let __t26 = Value::int(1i64); + rt::add(&__t25, &__t26)? }; - v_V5610 = __t19; - v_V5611 = __t20; - v_V5612 = __t25; - v_V5613 = __t28; + v_V5610 = __t18; + v_V5611 = __t19; + v_V5612 = __t24; + v_V5613 = __t27; continue; } } else { @@ -268,41 +258,41 @@ pub fn aot_shen_x2e_mkstr(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t42 = { - let __t41 = v_V5614.clone(); - rt::apply_direct(interp, "shen.proc-nl", &[__t41])? + let __t39 = { + let __t38 = v_V5614.clone(); + aot_shen_x2e_proc_x2d_nl(interp, &[__t38])? }; - let __t43 = v_V5615.clone(); - rt::apply_direct(interp, "shen.mkstr-l", &[__t42, __t43])? + let __t40 = v_V5615.clone(); + aot_shen_x2e_mkstr_x2d_l(interp, &[__t39, __t40])? }); } else { { - let __t39 = Value::bool(true); - if match rt::is_truthy(interp, &__t39) { + let __t36 = Value::bool(true); + if match rt::is_truthy(interp, &__t36) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t37 = { - let __t33 = Value::sym(interp.intern("shen.proc-nl")); - let __t36 = { - let __t34 = v_V5614.clone(); - let __t35 = Value::nil(); - rt::cons(&__t34, &__t35) + let __t34 = { + let __t30 = Value::sym(interp.intern_static("shen.proc-nl")); + let __t33 = { + let __t31 = v_V5614.clone(); + let __t32 = Value::nil(); + rt::cons(&__t31, &__t32) }; - rt::cons(&__t33, &__t36) + rt::cons(&__t30, &__t33) }; - let __t38 = v_V5615.clone(); - rt::apply_direct(interp, "shen.mkstr-r", &[__t37, __t38])? + let __t35 = v_V5615.clone(); + aot_shen_x2e_mkstr_x2d_r(interp, &[__t34, __t35])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -333,53 +323,49 @@ pub fn aot_shen_x2e_mkstr_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t57 = { - let __t55 = Value::nil(); - let __t56 = v_V5621.clone(); - rt::eq(&__t55, &__t56) - }; - if match rt::is_truthy(interp, &__t57) { + let __t52 = Value::bool((v_V5621.clone()).is_nil()); + if match rt::is_truthy(interp, &__t52) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5620.clone()); } else { { - let __t54 = { - let __t47 = v_V5621.clone(); - rt::is_cons(&__t47) + let __t51 = { + let __t44 = v_V5621.clone(); + rt::is_cons(&__t44) }; - if match rt::is_truthy(interp, &__t54) { + if match rt::is_truthy(interp, &__t51) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t51 = { - let __t49 = { - let __t48 = v_V5621.clone(); - rt::hd(&__t48)? + let __t48 = { + let __t46 = { + let __t45 = v_V5621.clone(); + rt::hd(&__t45)? }; - let __t50 = v_V5620.clone(); - rt::apply_direct(interp, "shen.insert-l", &[__t49, __t50])? + let __t47 = v_V5620.clone(); + aot_shen_x2e_insert_x2d_l(interp, &[__t46, __t47])? }; - let __t53 = { - let __t52 = v_V5621.clone(); - rt::tl(&__t52)? + let __t50 = { + let __t49 = v_V5621.clone(); + rt::tl(&__t49)? }; - v_V5620 = __t51; - v_V5621 = __t53; + v_V5620 = __t48; + v_V5621 = __t50; continue; } } else { { - let __t46 = Value::bool(true); - if match rt::is_truthy(interp, &__t46) { + let __t43 = Value::bool(true); + if match rt::is_truthy(interp, &__t43) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t45 = Value::str("implementation error in shen.mkstr-l"); - rt::apply_direct(interp, "simple-error", &[__t45])? + let __t42 = Value::str("implementation error in shen.mkstr-l"); + rt::apply_direct(interp, "simple-error", &[__t42])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -412,656 +398,573 @@ pub fn aot_shen_x2e_insert_x2d_l(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t238 = { - let __t236 = Value::str(""); - let __t237 = v_V5629.clone(); - rt::eq(&__t236, &__t237) - }; - if match rt::is_truthy(interp, &__t238) { + let __t211 = Value::bool((v_V5629.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t211) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t235 = { - let __t223 = { - let __t209 = v_V5629.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t209])? + let __t210 = { + let __t198 = { + let __t188 = v_V5629.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t188])? }; - if !rt::is_truthy(interp, &__t223)? { + if !rt::is_truthy(interp, &__t198)? { Value::bool(false) } else { - let __t224 = { - let __t221 = { - let __t210 = Value::str("~"); - let __t212 = { - let __t211 = v_V5629.clone(); - rt::apply_direct(interp, "hdstr", &[__t211])? - }; - rt::eq(&__t210, &__t212) - }; - if !rt::is_truthy(interp, &__t221)? { + let __t199 = { + let __t196 = Value::bool( + ({ + let __t189 = v_V5629.clone(); + rt::hdstr(&__t189)? + }) + .as_str() + == Some("~"), + ); + if !rt::is_truthy(interp, &__t196)? { Value::bool(false) } else { - let __t222 = { - let __t219 = { - let __t214 = { - let __t213 = v_V5629.clone(); - rt::apply_direct(interp, "tlstr", &[__t213])? + let __t197 = { + let __t194 = { + let __t191 = { + let __t190 = v_V5629.clone(); + rt::tlstr(&__t190)? }; - rt::apply_direct(interp, "shen.+string?", &[__t214])? + rt::apply_direct(interp, "shen.+string?", &[__t191])? }; - if !rt::is_truthy(interp, &__t219)? { + if !rt::is_truthy(interp, &__t194)? { Value::bool(false) } else { - let __t220 = { - let __t215 = Value::str("A"); - let __t218 = { - let __t217 = { - let __t216 = v_V5629.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t216], - )? + let __t195 = Value::bool( + ({ + let __t193 = { + let __t192 = v_V5629.clone(); + rt::tlstr(&__t192)? }; - rt::apply_direct(interp, "hdstr", &[__t217])? - }; - rt::eq(&__t215, &__t218) - }; - Value::bool(rt::is_truthy(interp, &__t220)?) + rt::hdstr(&__t193)? + }) + .as_str() + == Some("A"), + ); + Value::bool(rt::is_truthy(interp, &__t195)?) } }; - Value::bool(rt::is_truthy(interp, &__t222)?) + Value::bool(rt::is_truthy(interp, &__t197)?) } }; - Value::bool(rt::is_truthy(interp, &__t224)?) + Value::bool(rt::is_truthy(interp, &__t199)?) } }; - if match rt::is_truthy(interp, &__t235) { + if match rt::is_truthy(interp, &__t210) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t225 = Value::sym(interp.intern("shen.app")); - let __t234 = { - let __t226 = v_V5628.clone(); - let __t233 = { - let __t229 = { - let __t228 = { - let __t227 = v_V5629.clone(); - rt::apply_direct(interp, "tlstr", &[__t227])? + let __t200 = Value::sym(interp.intern_static("shen.app")); + let __t209 = { + let __t201 = v_V5628.clone(); + let __t208 = { + let __t204 = { + let __t203 = { + let __t202 = v_V5629.clone(); + rt::tlstr(&__t202)? }; - rt::apply_direct(interp, "tlstr", &[__t228])? + rt::tlstr(&__t203)? }; - let __t232 = { - let __t230 = Value::sym(interp.intern("shen.a")); - let __t231 = Value::nil(); - rt::cons(&__t230, &__t231) + let __t207 = { + let __t205 = Value::sym(interp.intern_static("shen.a")); + let __t206 = Value::nil(); + rt::cons(&__t205, &__t206) }; - rt::cons(&__t229, &__t232) + rt::cons(&__t204, &__t207) }; - rt::cons(&__t226, &__t233) + rt::cons(&__t201, &__t208) }; - rt::cons(&__t225, &__t234) + rt::cons(&__t200, &__t209) }); } else { { - let __t208 = { - let __t196 = { - let __t182 = v_V5629.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t182])? + let __t187 = { + let __t175 = { + let __t165 = v_V5629.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t165])? }; - if !rt::is_truthy(interp, &__t196)? { + if !rt::is_truthy(interp, &__t175)? { Value::bool(false) } else { - let __t197 = { - let __t194 = { - let __t183 = Value::str("~"); - let __t185 = { - let __t184 = v_V5629.clone(); - rt::apply_direct(interp, "hdstr", &[__t184])? - }; - rt::eq(&__t183, &__t185) - }; - if !rt::is_truthy(interp, &__t194)? { + let __t176 = { + let __t173 = Value::bool( + ({ + let __t166 = v_V5629.clone(); + rt::hdstr(&__t166)? + }) + .as_str() + == Some("~"), + ); + if !rt::is_truthy(interp, &__t173)? { Value::bool(false) } else { - let __t195 = { - let __t192 = { - let __t187 = { - let __t186 = v_V5629.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t186], - )? + let __t174 = { + let __t171 = { + let __t168 = { + let __t167 = v_V5629.clone(); + rt::tlstr(&__t167)? }; rt::apply_direct( interp, "shen.+string?", - &[__t187], + &[__t168], )? }; - if !rt::is_truthy(interp, &__t192)? { + if !rt::is_truthy(interp, &__t171)? { Value::bool(false) } else { - let __t193 = { - let __t188 = Value::str("R"); - let __t191 = { - let __t190 = { - let __t189 = v_V5629.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t189], - )? + let __t172 = Value::bool( + ({ + let __t170 = { + let __t169 = v_V5629.clone(); + rt::tlstr(&__t169)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t190], - )? - }; - rt::eq(&__t188, &__t191) - }; - Value::bool(rt::is_truthy(interp, &__t193)?) + rt::hdstr(&__t170)? + }) + .as_str() + == Some("R"), + ); + Value::bool(rt::is_truthy(interp, &__t172)?) } }; - Value::bool(rt::is_truthy(interp, &__t195)?) + Value::bool(rt::is_truthy(interp, &__t174)?) } }; - Value::bool(rt::is_truthy(interp, &__t197)?) + Value::bool(rt::is_truthy(interp, &__t176)?) } }; - if match rt::is_truthy(interp, &__t208) { + if match rt::is_truthy(interp, &__t187) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t198 = Value::sym(interp.intern("shen.app")); - let __t207 = { - let __t199 = v_V5628.clone(); - let __t206 = { - let __t202 = { - let __t201 = { - let __t200 = v_V5629.clone(); - rt::apply_direct(interp, "tlstr", &[__t200])? + let __t177 = Value::sym(interp.intern_static("shen.app")); + let __t186 = { + let __t178 = v_V5628.clone(); + let __t185 = { + let __t181 = { + let __t180 = { + let __t179 = v_V5629.clone(); + rt::tlstr(&__t179)? }; - rt::apply_direct(interp, "tlstr", &[__t201])? + rt::tlstr(&__t180)? }; - let __t205 = { - let __t203 = Value::sym(interp.intern("shen.r")); - let __t204 = Value::nil(); - rt::cons(&__t203, &__t204) + let __t184 = { + let __t182 = + Value::sym(interp.intern_static("shen.r")); + let __t183 = Value::nil(); + rt::cons(&__t182, &__t183) }; - rt::cons(&__t202, &__t205) + rt::cons(&__t181, &__t184) }; - rt::cons(&__t199, &__t206) + rt::cons(&__t178, &__t185) }; - rt::cons(&__t198, &__t207) + rt::cons(&__t177, &__t186) }); } else { { - let __t181 = { - let __t169 = { - let __t155 = v_V5629.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t155])? + let __t164 = { + let __t152 = { + let __t142 = v_V5629.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t142])? }; - if !rt::is_truthy(interp, &__t169)? { + if !rt::is_truthy(interp, &__t152)? { Value::bool(false) } else { - let __t170 = { - let __t167 = { - let __t156 = Value::str("~"); - let __t158 = { - let __t157 = v_V5629.clone(); - rt::apply_direct( - interp, - "hdstr", - &[__t157], - )? - }; - rt::eq(&__t156, &__t158) - }; - if !rt::is_truthy(interp, &__t167)? { + let __t153 = { + let __t150 = Value::bool( + ({ + let __t143 = v_V5629.clone(); + rt::hdstr(&__t143)? + }) + .as_str() + == Some("~"), + ); + if !rt::is_truthy(interp, &__t150)? { Value::bool(false) } else { - let __t168 = { - let __t165 = { - let __t160 = { - let __t159 = v_V5629.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t159], - )? + let __t151 = { + let __t148 = { + let __t145 = { + let __t144 = v_V5629.clone(); + rt::tlstr(&__t144)? }; rt::apply_direct( interp, "shen.+string?", - &[__t160], + &[__t145], )? }; - if !rt::is_truthy(interp, &__t165)? { + if !rt::is_truthy(interp, &__t148)? { Value::bool(false) } else { - let __t166 = { - let __t161 = Value::str("S"); - let __t164 = { - let __t163 = { - let __t162 = + let __t149 = Value::bool( + ({ + let __t147 = { + let __t146 = v_V5629.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t162], - )? + rt::tlstr(&__t146)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t163], - )? - }; - rt::eq(&__t161, &__t164) - }; + rt::hdstr(&__t147)? + }) + .as_str() + == Some("S"), + ); Value::bool(rt::is_truthy( - interp, &__t166, + interp, &__t149, )?) } }; - Value::bool(rt::is_truthy(interp, &__t168)?) + Value::bool(rt::is_truthy(interp, &__t151)?) } }; - Value::bool(rt::is_truthy(interp, &__t170)?) + Value::bool(rt::is_truthy(interp, &__t153)?) } }; - if match rt::is_truthy(interp, &__t181) { + if match rt::is_truthy(interp, &__t164) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t171 = Value::sym(interp.intern("shen.app")); - let __t180 = { - let __t172 = v_V5628.clone(); - let __t179 = { - let __t175 = { - let __t174 = { - let __t173 = v_V5629.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t173], - )? + let __t154 = + Value::sym(interp.intern_static("shen.app")); + let __t163 = { + let __t155 = v_V5628.clone(); + let __t162 = { + let __t158 = { + let __t157 = { + let __t156 = v_V5629.clone(); + rt::tlstr(&__t156)? }; - rt::apply_direct( - interp, - "tlstr", - &[__t174], - )? + rt::tlstr(&__t157)? }; - let __t178 = { - let __t176 = - Value::sym(interp.intern("shen.s")); - let __t177 = Value::nil(); - rt::cons(&__t176, &__t177) + let __t161 = { + let __t159 = Value::sym( + interp.intern_static("shen.s"), + ); + let __t160 = Value::nil(); + rt::cons(&__t159, &__t160) }; - rt::cons(&__t175, &__t178) + rt::cons(&__t158, &__t161) }; - rt::cons(&__t172, &__t179) + rt::cons(&__t155, &__t162) }; - rt::cons(&__t171, &__t180) + rt::cons(&__t154, &__t163) }); } else { { - let __t154 = { - let __t142 = v_V5629.clone(); + let __t141 = { + let __t129 = v_V5629.clone(); rt::apply_direct( interp, "shen.+string?", - &[__t142], + &[__t129], )? }; - if match rt::is_truthy(interp, &__t154) { + if match rt::is_truthy(interp, &__t141) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t153 = { - let __t143 = - Value::sym(interp.intern("cn")); - let __t152 = { - let __t145 = { - let __t144 = v_V5629.clone(); - rt::apply_direct( - interp, - "hdstr", - &[__t144], - )? + let __t140 = { + let __t130 = + Value::sym(interp.intern_static("cn")); + let __t139 = { + let __t132 = { + let __t131 = v_V5629.clone(); + rt::hdstr(&__t131)? }; - let __t151 = { - let __t149 = { - let __t146 = v_V5628.clone(); - let __t148 = { - let __t147 = + let __t138 = { + let __t136 = { + let __t133 = v_V5628.clone(); + let __t135 = { + let __t134 = v_V5629.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t147], - )? + rt::tlstr(&__t134)? }; - rt::apply_direct( + aot_shen_x2e_insert_x2d_l( interp, - "shen.insert-l", - &[__t146, __t148], + &[__t133, __t135], )? }; - let __t150 = Value::nil(); - rt::cons(&__t149, &__t150) + let __t137 = Value::nil(); + rt::cons(&__t136, &__t137) }; - rt::cons(&__t145, &__t151) + rt::cons(&__t132, &__t138) }; - rt::cons(&__t143, &__t152) + rt::cons(&__t130, &__t139) }; - rt::apply_direct( - interp, - "shen.factor-cn", - &[__t153], - )? + aot_shen_x2e_factor_x2d_cn(interp, &[__t140])? }); } else { { - let __t141 = { - let __t126 = { - let __t106 = v_V5629.clone(); - rt::is_cons(&__t106) + let __t128 = { + let __t113 = { + let __t97 = v_V5629.clone(); + rt::is_cons(&__t97) }; - if !rt::is_truthy(interp, &__t126)? { + if !rt::is_truthy(interp, &__t113)? { Value::bool(false) } else { - let __t127 = { - let __t124 = { - let __t107 = Value::sym( - interp.intern("cn"), - ); - let __t109 = { - let __t108 = - v_V5629.clone(); - rt::hd(&__t108)? - }; - rt::eq(&__t107, &__t109) - }; - if !rt::is_truthy(interp, &__t124)? + let __t114 = { + let __t111 = Value::bool( + ({ + let __t98 = v_V5629.clone(); + rt::hd(&__t98)? + }) + .as_sym() + == Some( + interp.intern_static( + "cn", + ), + ), + ); + if !rt::is_truthy(interp, &__t111)? { Value::bool(false) } else { - let __t125 = { - let __t122 = { - let __t111 = { - let __t110 = + let __t112 = { + let __t109 = { + let __t100 = { + let __t99 = v_V5629.clone(); - rt::tl(&__t110)? + rt::tl(&__t99)? }; - rt::is_cons(&__t111) + rt::is_cons(&__t100) }; if !rt::is_truthy( - interp, &__t122, + interp, &__t109, )? { Value::bool(false) } else { - let __t123 = { - let __t120 = { - let __t114 = { - let __t113 = { - let __t112 = v_V5629.clone(); - rt::tl(&__t112)? + let __t110 = { + let __t107 = { + let __t103 = { + let __t102 = { + let __t101 = v_V5629.clone(); + rt::tl(&__t101)? }; rt::tl( - &__t113, + &__t102, )? }; rt::is_cons( - &__t114, + &__t103, ) }; if !rt::is_truthy( - interp, &__t120, + interp, &__t107, )? { Value::bool( false, ) } else { - let __t121 = { - let __t115 = Value::nil(); - let __t119 = { - let __t118 = { - let __t117 = { let __t116 = v_V5629.clone(); rt::tl(&__t116)? }; - rt::tl(&__t117)? - }; - rt::tl(&__t118)? - }; - rt::eq( - &__t115, - &__t119, - ) - }; - Value::bool(rt::is_truthy(interp, &__t121)?) + let __t108 = Value::bool(({ let __t106 = { let __t105 = { let __t104 = v_V5629.clone(); rt::tl(&__t104)? }; rt::tl(&__t105)? }; rt::tl(&__t106)? }).is_nil()); + Value::bool(rt::is_truthy(interp, &__t108)?) } }; Value::bool( rt::is_truthy( - interp, &__t123, + interp, &__t110, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t125, + interp, &__t112, )?) } }; Value::bool(rt::is_truthy( - interp, &__t127, + interp, &__t114, )?) } }; - if match rt::is_truthy(interp, &__t141) { + if match rt::is_truthy(interp, &__t128) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t128 = - Value::sym(interp.intern("cn")); - let __t140 = { - let __t131 = { - let __t130 = { - let __t129 = + let __t115 = Value::sym( + interp.intern_static("cn"), + ); + let __t127 = { + let __t118 = { + let __t117 = { + let __t116 = v_V5629.clone(); - rt::tl(&__t129)? + rt::tl(&__t116)? }; - rt::hd(&__t130)? + rt::hd(&__t117)? }; - let __t139 = { - let __t137 = { - let __t132 = + let __t126 = { + let __t124 = { + let __t119 = v_V5628.clone(); - let __t136 = { - let __t135 = { - let __t134 = { - let __t133 = + let __t123 = { + let __t122 = { + let __t121 = { + let __t120 = v_V5629 .clone( ); - rt::tl(&__t133)? + rt::tl(&__t120)? }; - rt::tl(&__t134)? + rt::tl(&__t121)? }; - rt::hd(&__t135)? + rt::hd(&__t122)? }; - rt::apply_direct( + aot_shen_x2e_insert_x2d_l( interp, - "shen.insert-l", - &[__t132, __t136], + &[__t119, __t123], )? }; - let __t138 = Value::nil(); - rt::cons(&__t137, &__t138) + let __t125 = Value::nil(); + rt::cons(&__t124, &__t125) }; - rt::cons(&__t131, &__t139) + rt::cons(&__t118, &__t126) }; - rt::cons(&__t128, &__t140) + rt::cons(&__t115, &__t127) }); } else { { - let __t105 = { - let __t87 = { - let __t60 = v_V5629.clone(); - rt::is_cons(&__t60) + let __t96 = { + let __t78 = { + let __t55 = v_V5629.clone(); + rt::is_cons(&__t55) }; - if !rt::is_truthy(interp, &__t87)? { + if !rt::is_truthy(interp, &__t78)? { Value::bool(false) } else { - let __t88 = { - let __t85 = { - let __t61 = Value::sym( - interp.intern( - "shen.app", - ), - ); - let __t63 = { - let __t62 = - v_V5629.clone(); - rt::hd(&__t62)? - }; - rt::eq(&__t61, &__t63) - }; + let __t79 = { + let __t76 = Value::bool(({ let __t56 = v_V5629.clone(); rt::hd(&__t56)? }).as_sym() == Some(interp.intern_static("shen.app"))); if !rt::is_truthy( - interp, &__t85, + interp, &__t76, )? { Value::bool(false) } else { - let __t86 = { - let __t83 = { - let __t65 = { - let __t64 = v_V5629.clone(); + let __t77 = { + let __t74 = { + let __t58 = { + let __t57 = v_V5629.clone(); rt::tl( - &__t64, + &__t57, )? }; rt::is_cons( - &__t65, + &__t58, ) }; if !rt::is_truthy( - interp, &__t83, + interp, &__t74, )? { Value::bool( false, ) } else { - let __t84 = { - let __t81 = { - let __t68 = { - let __t67 = { let __t66 = v_V5629.clone(); rt::tl(&__t66)? }; - rt::tl(&__t67)? + let __t75 = { + let __t72 = { + let __t61 = { + let __t60 = { let __t59 = v_V5629.clone(); rt::tl(&__t59)? }; + rt::tl(&__t60)? }; - rt::is_cons(&__t68) + rt::is_cons(&__t61) }; - if !rt::is_truthy(interp, &__t81)? { Value::bool(false) } else { let __t82 = { let __t79 = { let __t72 = { let __t71 = { let __t70 = { let __t69 = v_V5629.clone(); rt::tl(&__t69)? }; rt::tl(&__t70)? }; rt::tl(&__t71)? }; rt::is_cons(&__t72) }; if !rt::is_truthy(interp, &__t79)? { Value::bool(false) } else { let __t80 = { let __t73 = Value::nil(); let __t78 = { let __t77 = { let __t76 = { let __t75 = { let __t74 = v_V5629.clone(); rt::tl(&__t74)? }; rt::tl(&__t75)? }; rt::tl(&__t76)? }; rt::tl(&__t77)? }; rt::eq(&__t73, &__t78) }; Value::bool(rt::is_truthy(interp, &__t80)?) } }; Value::bool(rt::is_truthy(interp, &__t82)?) } + if !rt::is_truthy(interp, &__t72)? { Value::bool(false) } else { let __t73 = { let __t70 = { let __t65 = { let __t64 = { let __t63 = { let __t62 = v_V5629.clone(); rt::tl(&__t62)? }; rt::tl(&__t63)? }; rt::tl(&__t64)? }; rt::is_cons(&__t65) }; if !rt::is_truthy(interp, &__t70)? { Value::bool(false) } else { let __t71 = Value::bool(({ let __t69 = { let __t68 = { let __t67 = { let __t66 = v_V5629.clone(); rt::tl(&__t66)? }; rt::tl(&__t67)? }; rt::tl(&__t68)? }; rt::tl(&__t69)? }).is_nil()); Value::bool(rt::is_truthy(interp, &__t71)?) } }; Value::bool(rt::is_truthy(interp, &__t73)?) } }; - Value::bool(rt::is_truthy(interp, &__t84)?) + Value::bool(rt::is_truthy(interp, &__t75)?) } }; Value::bool( rt::is_truthy( - interp, &__t86, + interp, &__t77, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t88, + interp, &__t79, )?) } }; - if match rt::is_truthy(interp, &__t105) - { + if match rt::is_truthy(interp, &__t96) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t89 = Value::sym( - interp.intern("shen.app"), + let __t80 = Value::sym( + interp.intern_static( + "shen.app", + ), ); - let __t104 = { - let __t92 = { - let __t91 = { - let __t90 = + let __t95 = { + let __t83 = { + let __t82 = { + let __t81 = v_V5629.clone(); - rt::tl(&__t90)? + rt::tl(&__t81)? }; - rt::hd(&__t91)? + rt::hd(&__t82)? }; - let __t103 = { - let __t98 = { - let __t93 = + let __t94 = { + let __t89 = { + let __t84 = v_V5628.clone(); - let __t97 = { - let __t96 = { - let __t95 = { - let __t94 = v_V5629.clone(); - rt::tl(&__t94)? + let __t88 = { + let __t87 = { + let __t86 = { + let __t85 = v_V5629.clone(); + rt::tl(&__t85)? }; rt::tl( - &__t95, + &__t86, )? }; - rt::hd(&__t96)? + rt::hd(&__t87)? }; - rt::apply_direct( - interp, - "shen.insert-l", - &[__t93, __t97], - )? + aot_shen_x2e_insert_x2d_l(interp, &[__t84, __t88])? }; - let __t102 = { - let __t101 = { - let __t100 = { - let __t99 = v_V5629.clone(); + let __t93 = { + let __t92 = { + let __t91 = { + let __t90 = v_V5629.clone(); rt::tl( - &__t99, + &__t90, )? }; - rt::tl(&__t100)? + rt::tl(&__t91)? }; - rt::tl(&__t101)? + rt::tl(&__t92)? }; - rt::cons( - &__t98, &__t102, - ) + rt::cons(&__t89, &__t93) }; - rt::cons(&__t92, &__t103) + rt::cons(&__t83, &__t94) }; - rt::cons(&__t89, &__t104) + rt::cons(&__t80, &__t95) }); } else { { - let __t59 = Value::bool(true); + let __t54 = Value::bool(true); if match rt::is_truthy( - interp, &__t59, + interp, &__t54, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t58 = Value::str("implementation error in shen.insert-l"); + let __t53 = Value::str("implementation error in shen.insert-l"); rt::apply_direct( interp, "simple-error", - &[__t58], + &[__t53], )? }); } else { @@ -1103,274 +1006,246 @@ pub fn aot_shen_x2e_factor_x2d_cn(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t332 = { - let __t312 = { - let __t240 = v_V5630.clone(); - rt::is_cons(&__t240) + let __t297 = { + let __t277 = { + let __t213 = v_V5630.clone(); + rt::is_cons(&__t213) }; - if !rt::is_truthy(interp, &__t312)? { + if !rt::is_truthy(interp, &__t277)? { Value::bool(false) } else { - let __t313 = { - let __t310 = { - let __t241 = Value::sym(interp.intern("cn")); - let __t243 = { - let __t242 = v_V5630.clone(); - rt::hd(&__t242)? - }; - rt::eq(&__t241, &__t243) - }; - if !rt::is_truthy(interp, &__t310)? { + let __t278 = { + let __t275 = Value::bool( + ({ + let __t214 = v_V5630.clone(); + rt::hd(&__t214)? + }) + .as_sym() + == Some(interp.intern_static("cn")), + ); + if !rt::is_truthy(interp, &__t275)? { Value::bool(false) } else { - let __t311 = { - let __t308 = { - let __t245 = { - let __t244 = v_V5630.clone(); - rt::tl(&__t244)? + let __t276 = { + let __t273 = { + let __t216 = { + let __t215 = v_V5630.clone(); + rt::tl(&__t215)? }; - rt::is_cons(&__t245) + rt::is_cons(&__t216) }; - if !rt::is_truthy(interp, &__t308)? { + if !rt::is_truthy(interp, &__t273)? { Value::bool(false) } else { - let __t309 = { - let __t306 = { - let __t248 = { - let __t247 = { - let __t246 = v_V5630.clone(); - rt::tl(&__t246)? + let __t274 = { + let __t271 = { + let __t219 = { + let __t218 = { + let __t217 = v_V5630.clone(); + rt::tl(&__t217)? }; - rt::tl(&__t247)? + rt::tl(&__t218)? }; - rt::is_cons(&__t248) + rt::is_cons(&__t219) }; - if !rt::is_truthy(interp, &__t306)? { + if !rt::is_truthy(interp, &__t271)? { Value::bool(false) } else { - let __t307 = { - let __t304 = { - let __t252 = { - let __t251 = { - let __t250 = { - let __t249 = v_V5630.clone(); - rt::tl(&__t249)? + let __t272 = { + let __t269 = { + let __t223 = { + let __t222 = { + let __t221 = { + let __t220 = v_V5630.clone(); + rt::tl(&__t220)? }; - rt::tl(&__t250)? + rt::tl(&__t221)? }; - rt::hd(&__t251)? + rt::hd(&__t222)? }; - rt::is_cons(&__t252) + rt::is_cons(&__t223) }; - if !rt::is_truthy(interp, &__t304)? { + if !rt::is_truthy(interp, &__t269)? { Value::bool(false) } else { - let __t305 = { - let __t302 = { - let __t253 = - Value::sym(interp.intern("cn")); - let __t258 = { - let __t257 = { - let __t256 = { - let __t255 = { - let __t254 = + let __t270 = { + let __t267 = Value::bool( + ({ + let __t227 = { + let __t226 = { + let __t225 = { + let __t224 = v_V5630.clone(); - rt::tl(&__t254)? + rt::tl(&__t224)? }; - rt::tl(&__t255)? + rt::tl(&__t225)? }; - rt::hd(&__t256)? + rt::hd(&__t226)? }; - rt::hd(&__t257)? - }; - rt::eq(&__t253, &__t258) - }; - if !rt::is_truthy(interp, &__t302)? { + rt::hd(&__t227)? + }) + .as_sym() + == Some(interp.intern_static("cn")), + ); + if !rt::is_truthy(interp, &__t267)? { Value::bool(false) } else { - let __t303 = { - let __t300 = { - let __t263 = { - let __t262 = { - let __t261 = { - let __t260 = { - let __t259 = + let __t268 = { + let __t265 = { + let __t232 = { + let __t231 = { + let __t230 = { + let __t229 = { + let __t228 = v_V5630 .clone( ); - rt::tl(&__t259)? + rt::tl(&__t228)? }; - rt::tl(&__t260)? + rt::tl(&__t229)? }; - rt::hd(&__t261)? + rt::hd(&__t230)? }; - rt::tl(&__t262)? + rt::tl(&__t231)? }; - rt::is_cons(&__t263) + rt::is_cons(&__t232) }; - if !rt::is_truthy(interp, &__t300)? + if !rt::is_truthy(interp, &__t265)? { Value::bool(false) } else { - let __t301 = { - let __t298 = { - let __t269 = { - let __t268 = { - let __t267 = { - let __t266 = { - let __t265 = { - let __t264 = v_V5630.clone(); - rt::tl(&__t264)? + let __t266 = { + let __t263 = { + let __t238 = { + let __t237 = { + let __t236 = { + let __t235 = { + let __t234 = { + let __t233 = v_V5630.clone(); + rt::tl(&__t233)? }; - rt::tl(&__t265)? + rt::tl(&__t234)? }; rt::hd( - &__t266, + &__t235, )? }; - rt::tl(&__t267)? + rt::tl(&__t236)? }; - rt::tl(&__t268)? + rt::tl(&__t237)? }; - rt::is_cons(&__t269) + rt::is_cons(&__t238) }; if !rt::is_truthy( - interp, &__t298, + interp, &__t263, )? { Value::bool(false) } else { - let __t299 = { - let __t296 = { - let __t270 = - Value::nil( - ); - let __t277 = { - let __t276 = { - let __t275 = { - let __t274 = { let __t273 = { let __t272 = { let __t271 = v_V5630.clone(); rt::tl(&__t271)? }; rt::tl(&__t272)? }; rt::hd(&__t273)? }; - rt::tl(&__t274)? - }; - rt::tl(&__t275)? - }; - rt::tl( - &__t276, - )? - }; - rt::eq( - &__t270, - &__t277, - ) - }; + let __t264 = { + let __t261 = Value::bool(({ let __t244 = { let __t243 = { let __t242 = { let __t241 = { let __t240 = { let __t239 = v_V5630.clone(); rt::tl(&__t239)? }; rt::tl(&__t240)? }; rt::hd(&__t241)? }; rt::tl(&__t242)? }; rt::tl(&__t243)? }; rt::tl(&__t244)? }).is_nil()); if !rt::is_truthy( - interp, &__t296, + interp, &__t261, )? { Value::bool( false, ) } else { - let __t297 = { - let __t294 = { - let __t278 = Value::nil(); - let __t282 = { - let __t281 = { let __t280 = { let __t279 = v_V5630.clone(); rt::tl(&__t279)? }; rt::tl(&__t280)? }; - rt::tl(&__t281)? - }; - rt::eq(&__t278, &__t282) - }; - if !rt::is_truthy(interp, &__t294)? { Value::bool(false) } else { let __t295 = { let __t292 = { let __t285 = { let __t284 = { let __t283 = v_V5630.clone(); rt::tl(&__t283)? }; rt::hd(&__t284)? }; rt::is_string(&__t285) }; if !rt::is_truthy(interp, &__t292)? { Value::bool(false) } else { let __t293 = { let __t291 = { let __t290 = { let __t289 = { let __t288 = { let __t287 = { let __t286 = v_V5630.clone(); rt::tl(&__t286)? }; rt::tl(&__t287)? }; rt::hd(&__t288)? }; rt::tl(&__t289)? }; rt::hd(&__t290)? }; rt::is_string(&__t291) }; Value::bool(rt::is_truthy(interp, &__t293)?) } }; Value::bool(rt::is_truthy(interp, &__t295)?) } + let __t262 = { + let __t259 = Value::bool(({ let __t247 = { let __t246 = { let __t245 = v_V5630.clone(); rt::tl(&__t245)? }; rt::tl(&__t246)? }; rt::tl(&__t247)? }).is_nil()); + if !rt::is_truthy(interp, &__t259)? { Value::bool(false) } else { let __t260 = { let __t257 = { let __t250 = { let __t249 = { let __t248 = v_V5630.clone(); rt::tl(&__t248)? }; rt::hd(&__t249)? }; rt::is_string(&__t250) }; if !rt::is_truthy(interp, &__t257)? { Value::bool(false) } else { let __t258 = { let __t256 = { let __t255 = { let __t254 = { let __t253 = { let __t252 = { let __t251 = v_V5630.clone(); rt::tl(&__t251)? }; rt::tl(&__t252)? }; rt::hd(&__t253)? }; rt::tl(&__t254)? }; rt::hd(&__t255)? }; rt::is_string(&__t256) }; Value::bool(rt::is_truthy(interp, &__t258)?) } }; Value::bool(rt::is_truthy(interp, &__t260)?) } }; - Value::bool(rt::is_truthy(interp, &__t297)?) + Value::bool(rt::is_truthy(interp, &__t262)?) } }; Value::bool( rt::is_truthy( - interp, &__t299, + interp, &__t264, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t301, + interp, &__t266, )?) } }; Value::bool(rt::is_truthy( - interp, &__t303, + interp, &__t268, )?) } }; - Value::bool(rt::is_truthy(interp, &__t305)?) + Value::bool(rt::is_truthy(interp, &__t270)?) } }; - Value::bool(rt::is_truthy(interp, &__t307)?) + Value::bool(rt::is_truthy(interp, &__t272)?) } }; - Value::bool(rt::is_truthy(interp, &__t309)?) + Value::bool(rt::is_truthy(interp, &__t274)?) } }; - Value::bool(rt::is_truthy(interp, &__t311)?) + Value::bool(rt::is_truthy(interp, &__t276)?) } }; - Value::bool(rt::is_truthy(interp, &__t313)?) + Value::bool(rt::is_truthy(interp, &__t278)?) } }; - if match rt::is_truthy(interp, &__t332) { + if match rt::is_truthy(interp, &__t297) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t314 = Value::sym(interp.intern("cn")); - let __t331 = { - let __t324 = { - let __t317 = { - let __t316 = { - let __t315 = v_V5630.clone(); - rt::tl(&__t315)? + let __t279 = Value::sym(interp.intern_static("cn")); + let __t296 = { + let __t289 = { + let __t282 = { + let __t281 = { + let __t280 = v_V5630.clone(); + rt::tl(&__t280)? }; - rt::hd(&__t316)? + rt::hd(&__t281)? }; - let __t323 = { - let __t322 = { - let __t321 = { - let __t320 = { - let __t319 = { - let __t318 = v_V5630.clone(); - rt::tl(&__t318)? + let __t288 = { + let __t287 = { + let __t286 = { + let __t285 = { + let __t284 = { + let __t283 = v_V5630.clone(); + rt::tl(&__t283)? }; - rt::tl(&__t319)? + rt::tl(&__t284)? }; - rt::hd(&__t320)? + rt::hd(&__t285)? }; - rt::tl(&__t321)? + rt::tl(&__t286)? }; - rt::hd(&__t322)? + rt::hd(&__t287)? }; - rt::apply_direct(interp, "cn", &[__t317, __t323])? + rt::cn(&__t282, &__t288)? }; - let __t330 = { - let __t329 = { - let __t328 = { - let __t327 = { - let __t326 = { - let __t325 = v_V5630.clone(); - rt::tl(&__t325)? + let __t295 = { + let __t294 = { + let __t293 = { + let __t292 = { + let __t291 = { + let __t290 = v_V5630.clone(); + rt::tl(&__t290)? }; - rt::tl(&__t326)? + rt::tl(&__t291)? }; - rt::hd(&__t327)? + rt::hd(&__t292)? }; - rt::tl(&__t328)? + rt::tl(&__t293)? }; - rt::tl(&__t329)? + rt::tl(&__t294)? }; - rt::cons(&__t324, &__t330) + rt::cons(&__t289, &__t295) }; - rt::cons(&__t314, &__t331) + rt::cons(&__t279, &__t296) }); } else { { - let __t239 = Value::bool(true); - if match rt::is_truthy(interp, &__t239) { + let __t212 = Value::bool(true); + if match rt::is_truthy(interp, &__t212) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1402,129 +1277,121 @@ pub fn aot_shen_x2e_proc_x2d_nl(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t367 = { - let __t365 = Value::str(""); - let __t366 = v_V5633.clone(); - rt::eq(&__t365, &__t366) - }; - if match rt::is_truthy(interp, &__t367) { + let __t326 = Value::bool((v_V5633.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t326) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t364 = { - let __t356 = { - let __t342 = v_V5633.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t342])? + let __t325 = { + let __t317 = { + let __t307 = v_V5633.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t307])? }; - if !rt::is_truthy(interp, &__t356)? { + if !rt::is_truthy(interp, &__t317)? { Value::bool(false) } else { - let __t357 = { - let __t354 = { - let __t343 = Value::str("~"); - let __t345 = { - let __t344 = v_V5633.clone(); - rt::apply_direct(interp, "hdstr", &[__t344])? - }; - rt::eq(&__t343, &__t345) - }; - if !rt::is_truthy(interp, &__t354)? { + let __t318 = { + let __t315 = Value::bool( + ({ + let __t308 = v_V5633.clone(); + rt::hdstr(&__t308)? + }) + .as_str() + == Some("~"), + ); + if !rt::is_truthy(interp, &__t315)? { Value::bool(false) } else { - let __t355 = { - let __t352 = { - let __t347 = { - let __t346 = v_V5633.clone(); - rt::apply_direct(interp, "tlstr", &[__t346])? + let __t316 = { + let __t313 = { + let __t310 = { + let __t309 = v_V5633.clone(); + rt::tlstr(&__t309)? }; - rt::apply_direct(interp, "shen.+string?", &[__t347])? + rt::apply_direct(interp, "shen.+string?", &[__t310])? }; - if !rt::is_truthy(interp, &__t352)? { + if !rt::is_truthy(interp, &__t313)? { Value::bool(false) } else { - let __t353 = { - let __t348 = Value::str("%"); - let __t351 = { - let __t350 = { - let __t349 = v_V5633.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t349], - )? + let __t314 = Value::bool( + ({ + let __t312 = { + let __t311 = v_V5633.clone(); + rt::tlstr(&__t311)? }; - rt::apply_direct(interp, "hdstr", &[__t350])? - }; - rt::eq(&__t348, &__t351) - }; - Value::bool(rt::is_truthy(interp, &__t353)?) + rt::hdstr(&__t312)? + }) + .as_str() + == Some("%"), + ); + Value::bool(rt::is_truthy(interp, &__t314)?) } }; - Value::bool(rt::is_truthy(interp, &__t355)?) + Value::bool(rt::is_truthy(interp, &__t316)?) } }; - Value::bool(rt::is_truthy(interp, &__t357)?) + Value::bool(rt::is_truthy(interp, &__t318)?) } }; - if match rt::is_truthy(interp, &__t364) { + if match rt::is_truthy(interp, &__t325) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t359 = { - let __t358 = Value::int(10i64); - rt::apply_direct(interp, "n->string", &[__t358])? + let __t320 = { + let __t319 = Value::int(10i64); + rt::n_to_string(&__t319)? }; - let __t363 = { - let __t362 = { - let __t361 = { - let __t360 = v_V5633.clone(); - rt::apply_direct(interp, "tlstr", &[__t360])? + let __t324 = { + let __t323 = { + let __t322 = { + let __t321 = v_V5633.clone(); + rt::tlstr(&__t321)? }; - rt::apply_direct(interp, "tlstr", &[__t361])? + rt::tlstr(&__t322)? }; - rt::apply_direct(interp, "shen.proc-nl", &[__t362])? + aot_shen_x2e_proc_x2d_nl(interp, &[__t323])? }; - rt::apply_direct(interp, "cn", &[__t359, __t363])? + rt::cn(&__t320, &__t324)? }); } else { { - let __t341 = { - let __t335 = v_V5633.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t335])? + let __t306 = { + let __t300 = v_V5633.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t300])? }; - if match rt::is_truthy(interp, &__t341) { + if match rt::is_truthy(interp, &__t306) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t337 = { - let __t336 = v_V5633.clone(); - rt::apply_direct(interp, "hdstr", &[__t336])? + let __t302 = { + let __t301 = v_V5633.clone(); + rt::hdstr(&__t301)? }; - let __t340 = { - let __t339 = { - let __t338 = v_V5633.clone(); - rt::apply_direct(interp, "tlstr", &[__t338])? + let __t305 = { + let __t304 = { + let __t303 = v_V5633.clone(); + rt::tlstr(&__t303)? }; - rt::apply_direct(interp, "shen.proc-nl", &[__t339])? + aot_shen_x2e_proc_x2d_nl(interp, &[__t304])? }; - rt::apply_direct(interp, "cn", &[__t337, __t340])? + rt::cn(&__t302, &__t305)? }); } else { { - let __t334 = Value::bool(true); - if match rt::is_truthy(interp, &__t334) { + let __t299 = Value::bool(true); + if match rt::is_truthy(interp, &__t299) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t333 = + let __t298 = Value::str("implementation error in shen.proc-nl"); - rt::apply_direct(interp, "simple-error", &[__t333])? + rt::apply_direct(interp, "simple-error", &[__t298])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1559,61 +1426,57 @@ pub fn aot_shen_x2e_mkstr_x2d_r(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { { - let __t384 = { - let __t382 = Value::nil(); - let __t383 = v_V5639.clone(); - rt::eq(&__t382, &__t383) - }; - if match rt::is_truthy(interp, &__t384) { + let __t341 = Value::bool((v_V5639.clone()).is_nil()); + if match rt::is_truthy(interp, &__t341) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5638.clone()); } else { { - let __t381 = { - let __t370 = v_V5639.clone(); - rt::is_cons(&__t370) + let __t340 = { + let __t329 = v_V5639.clone(); + rt::is_cons(&__t329) }; - if match rt::is_truthy(interp, &__t381) { + if match rt::is_truthy(interp, &__t340) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t378 = { - let __t371 = Value::sym(interp.intern("shen.insert")); - let __t377 = { - let __t373 = { - let __t372 = v_V5639.clone(); - rt::hd(&__t372)? + let __t337 = { + let __t330 = Value::sym(interp.intern_static("shen.insert")); + let __t336 = { + let __t332 = { + let __t331 = v_V5639.clone(); + rt::hd(&__t331)? }; - let __t376 = { - let __t374 = v_V5638.clone(); - let __t375 = Value::nil(); - rt::cons(&__t374, &__t375) + let __t335 = { + let __t333 = v_V5638.clone(); + let __t334 = Value::nil(); + rt::cons(&__t333, &__t334) }; - rt::cons(&__t373, &__t376) + rt::cons(&__t332, &__t335) }; - rt::cons(&__t371, &__t377) + rt::cons(&__t330, &__t336) }; - let __t380 = { - let __t379 = v_V5639.clone(); - rt::tl(&__t379)? + let __t339 = { + let __t338 = v_V5639.clone(); + rt::tl(&__t338)? }; - v_V5638 = __t378; - v_V5639 = __t380; + v_V5638 = __t337; + v_V5639 = __t339; continue; } } else { { - let __t369 = Value::bool(true); - if match rt::is_truthy(interp, &__t369) { + let __t328 = Value::bool(true); + if match rt::is_truthy(interp, &__t328) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t368 = Value::str("implementation error in shen.mkstr-r"); - rt::apply_direct(interp, "simple-error", &[__t368])? + let __t327 = Value::str("implementation error in shen.mkstr-r"); + rt::apply_direct(interp, "simple-error", &[__t327])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -1646,10 +1509,10 @@ pub fn aot_shen_x2e_insert(interp: &mut Interp, args: &[Value]) -> ShenResult ShenRes #[allow(clippy::never_loop)] loop { { - let __t473 = { - let __t471 = Value::str(""); - let __t472 = v_V5651.clone(); - rt::eq(&__t471, &__t472) - }; - if match rt::is_truthy(interp, &__t473) { + let __t416 = Value::bool((v_V5651.clone()).as_str() == Some("")); + if match rt::is_truthy(interp, &__t416) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5652.clone()); } else { { - let __t470 = { - let __t461 = { - let __t447 = v_V5651.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t447])? + let __t415 = { + let __t406 = { + let __t396 = v_V5651.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t396])? }; - if !rt::is_truthy(interp, &__t461)? { + if !rt::is_truthy(interp, &__t406)? { Value::bool(false) } else { - let __t462 = { - let __t459 = { - let __t448 = Value::str("~"); - let __t450 = { - let __t449 = v_V5651.clone(); - rt::apply_direct(interp, "hdstr", &[__t449])? - }; - rt::eq(&__t448, &__t450) - }; - if !rt::is_truthy(interp, &__t459)? { + let __t407 = { + let __t404 = Value::bool( + ({ + let __t397 = v_V5651.clone(); + rt::hdstr(&__t397)? + }) + .as_str() + == Some("~"), + ); + if !rt::is_truthy(interp, &__t404)? { Value::bool(false) } else { - let __t460 = { - let __t457 = { - let __t452 = { - let __t451 = v_V5651.clone(); - rt::apply_direct(interp, "tlstr", &[__t451])? + let __t405 = { + let __t402 = { + let __t399 = { + let __t398 = v_V5651.clone(); + rt::tlstr(&__t398)? }; - rt::apply_direct(interp, "shen.+string?", &[__t452])? + rt::apply_direct(interp, "shen.+string?", &[__t399])? }; - if !rt::is_truthy(interp, &__t457)? { + if !rt::is_truthy(interp, &__t402)? { Value::bool(false) } else { - let __t458 = { - let __t453 = Value::str("A"); - let __t456 = { - let __t455 = { - let __t454 = v_V5651.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t454], - )? + let __t403 = Value::bool( + ({ + let __t401 = { + let __t400 = v_V5651.clone(); + rt::tlstr(&__t400)? }; - rt::apply_direct(interp, "hdstr", &[__t455])? - }; - rt::eq(&__t453, &__t456) - }; - Value::bool(rt::is_truthy(interp, &__t458)?) + rt::hdstr(&__t401)? + }) + .as_str() + == Some("A"), + ); + Value::bool(rt::is_truthy(interp, &__t403)?) } }; - Value::bool(rt::is_truthy(interp, &__t460)?) + Value::bool(rt::is_truthy(interp, &__t405)?) } }; - Value::bool(rt::is_truthy(interp, &__t462)?) + Value::bool(rt::is_truthy(interp, &__t407)?) } }; - if match rt::is_truthy(interp, &__t470) { + if match rt::is_truthy(interp, &__t415) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t463 = v_V5652.clone(); - let __t469 = { - let __t464 = v_V5650.clone(); - let __t467 = { - let __t466 = { - let __t465 = v_V5651.clone(); - rt::apply_direct(interp, "tlstr", &[__t465])? + let __t408 = v_V5652.clone(); + let __t414 = { + let __t409 = v_V5650.clone(); + let __t412 = { + let __t411 = { + let __t410 = v_V5651.clone(); + rt::tlstr(&__t410)? }; - rt::apply_direct(interp, "tlstr", &[__t466])? + rt::tlstr(&__t411)? }; - let __t468 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.app", &[__t464, __t467, __t468])? + let __t413 = Value::sym(interp.intern_static("shen.a")); + aot_shen_x2e_app(interp, &[__t409, __t412, __t413])? }; - rt::apply_direct(interp, "cn", &[__t463, __t469])? + rt::cn(&__t408, &__t414)? }); } else { { - let __t446 = { - let __t437 = { - let __t423 = v_V5651.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t423])? + let __t395 = { + let __t386 = { + let __t376 = v_V5651.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t376])? }; - if !rt::is_truthy(interp, &__t437)? { + if !rt::is_truthy(interp, &__t386)? { Value::bool(false) } else { - let __t438 = { - let __t435 = { - let __t424 = Value::str("~"); - let __t426 = { - let __t425 = v_V5651.clone(); - rt::apply_direct(interp, "hdstr", &[__t425])? - }; - rt::eq(&__t424, &__t426) - }; - if !rt::is_truthy(interp, &__t435)? { + let __t387 = { + let __t384 = Value::bool( + ({ + let __t377 = v_V5651.clone(); + rt::hdstr(&__t377)? + }) + .as_str() + == Some("~"), + ); + if !rt::is_truthy(interp, &__t384)? { Value::bool(false) } else { - let __t436 = { - let __t433 = { - let __t428 = { - let __t427 = v_V5651.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t427], - )? + let __t385 = { + let __t382 = { + let __t379 = { + let __t378 = v_V5651.clone(); + rt::tlstr(&__t378)? }; rt::apply_direct( interp, "shen.+string?", - &[__t428], + &[__t379], )? }; - if !rt::is_truthy(interp, &__t433)? { + if !rt::is_truthy(interp, &__t382)? { Value::bool(false) } else { - let __t434 = { - let __t429 = Value::str("R"); - let __t432 = { - let __t431 = { - let __t430 = v_V5651.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t430], - )? + let __t383 = Value::bool( + ({ + let __t381 = { + let __t380 = v_V5651.clone(); + rt::tlstr(&__t380)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t431], - )? - }; - rt::eq(&__t429, &__t432) - }; - Value::bool(rt::is_truthy(interp, &__t434)?) + rt::hdstr(&__t381)? + }) + .as_str() + == Some("R"), + ); + Value::bool(rt::is_truthy(interp, &__t383)?) } }; - Value::bool(rt::is_truthy(interp, &__t436)?) + Value::bool(rt::is_truthy(interp, &__t385)?) } }; - Value::bool(rt::is_truthy(interp, &__t438)?) + Value::bool(rt::is_truthy(interp, &__t387)?) } }; - if match rt::is_truthy(interp, &__t446) { + if match rt::is_truthy(interp, &__t395) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t439 = v_V5652.clone(); - let __t445 = { - let __t440 = v_V5650.clone(); - let __t443 = { - let __t442 = { - let __t441 = v_V5651.clone(); - rt::apply_direct(interp, "tlstr", &[__t441])? + let __t388 = v_V5652.clone(); + let __t394 = { + let __t389 = v_V5650.clone(); + let __t392 = { + let __t391 = { + let __t390 = v_V5651.clone(); + rt::tlstr(&__t390)? }; - rt::apply_direct(interp, "tlstr", &[__t442])? + rt::tlstr(&__t391)? }; - let __t444 = Value::sym(interp.intern("shen.r")); - rt::apply_direct( - interp, - "shen.app", - &[__t440, __t443, __t444], - )? + let __t393 = Value::sym(interp.intern_static("shen.r")); + aot_shen_x2e_app(interp, &[__t389, __t392, __t393])? }; - rt::apply_direct(interp, "cn", &[__t439, __t445])? + rt::cn(&__t388, &__t394)? }); } else { { - let __t422 = { - let __t413 = { - let __t399 = v_V5651.clone(); - rt::apply_direct(interp, "shen.+string?", &[__t399])? + let __t375 = { + let __t366 = { + let __t356 = v_V5651.clone(); + rt::apply_direct(interp, "shen.+string?", &[__t356])? }; - if !rt::is_truthy(interp, &__t413)? { + if !rt::is_truthy(interp, &__t366)? { Value::bool(false) } else { - let __t414 = { - let __t411 = { - let __t400 = Value::str("~"); - let __t402 = { - let __t401 = v_V5651.clone(); - rt::apply_direct( - interp, - "hdstr", - &[__t401], - )? - }; - rt::eq(&__t400, &__t402) - }; - if !rt::is_truthy(interp, &__t411)? { + let __t367 = { + let __t364 = Value::bool( + ({ + let __t357 = v_V5651.clone(); + rt::hdstr(&__t357)? + }) + .as_str() + == Some("~"), + ); + if !rt::is_truthy(interp, &__t364)? { Value::bool(false) } else { - let __t412 = { - let __t409 = { - let __t404 = { - let __t403 = v_V5651.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t403], - )? + let __t365 = { + let __t362 = { + let __t359 = { + let __t358 = v_V5651.clone(); + rt::tlstr(&__t358)? }; rt::apply_direct( interp, "shen.+string?", - &[__t404], + &[__t359], )? }; - if !rt::is_truthy(interp, &__t409)? { + if !rt::is_truthy(interp, &__t362)? { Value::bool(false) } else { - let __t410 = { - let __t405 = Value::str("S"); - let __t408 = { - let __t407 = { - let __t406 = + let __t363 = Value::bool( + ({ + let __t361 = { + let __t360 = v_V5651.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t406], - )? + rt::tlstr(&__t360)? }; - rt::apply_direct( - interp, - "hdstr", - &[__t407], - )? - }; - rt::eq(&__t405, &__t408) - }; + rt::hdstr(&__t361)? + }) + .as_str() + == Some("S"), + ); Value::bool(rt::is_truthy( - interp, &__t410, + interp, &__t363, )?) } }; - Value::bool(rt::is_truthy(interp, &__t412)?) + Value::bool(rt::is_truthy(interp, &__t365)?) } }; - Value::bool(rt::is_truthy(interp, &__t414)?) + Value::bool(rt::is_truthy(interp, &__t367)?) } }; - if match rt::is_truthy(interp, &__t422) { + if match rt::is_truthy(interp, &__t375) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t415 = v_V5652.clone(); - let __t421 = { - let __t416 = v_V5650.clone(); - let __t419 = { - let __t418 = { - let __t417 = v_V5651.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t417], - )? + let __t368 = v_V5652.clone(); + let __t374 = { + let __t369 = v_V5650.clone(); + let __t372 = { + let __t371 = { + let __t370 = v_V5651.clone(); + rt::tlstr(&__t370)? }; - rt::apply_direct(interp, "tlstr", &[__t418])? + rt::tlstr(&__t371)? }; - let __t420 = Value::sym(interp.intern("shen.s")); - rt::apply_direct( - interp, - "shen.app", - &[__t416, __t419, __t420], - )? + let __t373 = + Value::sym(interp.intern_static("shen.s")); + aot_shen_x2e_app(interp, &[__t369, __t372, __t373])? }; - rt::apply_direct(interp, "cn", &[__t415, __t421])? + rt::cn(&__t368, &__t374)? }); } else { { - let __t398 = { - let __t390 = v_V5651.clone(); + let __t355 = { + let __t347 = v_V5651.clone(); rt::apply_direct( interp, "shen.+string?", - &[__t390], + &[__t347], )? }; - if match rt::is_truthy(interp, &__t398) { + if match rt::is_truthy(interp, &__t355) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t391 = v_V5650.clone(); - let __t393 = { - let __t392 = v_V5651.clone(); - rt::apply_direct( - interp, - "tlstr", - &[__t392], - )? + let __t348 = v_V5650.clone(); + let __t350 = { + let __t349 = v_V5651.clone(); + rt::tlstr(&__t349)? }; - let __t397 = { - let __t394 = v_V5652.clone(); - let __t396 = { - let __t395 = v_V5651.clone(); - rt::apply_direct( - interp, - "hdstr", - &[__t395], - )? + let __t354 = { + let __t351 = v_V5652.clone(); + let __t353 = { + let __t352 = v_V5651.clone(); + rt::hdstr(&__t352)? }; - rt::apply_direct( - interp, - "cn", - &[__t394, __t396], - )? + rt::cn(&__t351, &__t353)? }; - v_V5650 = __t391; - v_V5651 = __t393; - v_V5652 = __t397; + v_V5650 = __t348; + v_V5651 = __t350; + v_V5652 = __t354; continue; } } else { { - let __t389 = Value::bool(true); - if match rt::is_truthy(interp, &__t389) { + let __t346 = Value::bool(true); + if match rt::is_truthy(interp, &__t346) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t388 = Value::str("implementation error in shen.insert-h"); + let __t345 = Value::str("implementation error in shen.insert-h"); rt::apply_direct( interp, "simple-error", - &[__t388], + &[__t345], )? }); } else { @@ -2061,13 +1865,13 @@ pub fn aot_shen_x2e_app(interp: &mut Interp, args: &[Value]) -> ShenResultstr", &[__t474, __t475])? + let __t419 = { + let __t417 = v_V5653.clone(); + let __t418 = v_V5655.clone(); + aot_shen_x2e_arg_x2d__x3e_str(interp, &[__t417, __t418])? }; - let __t477 = v_V5654.clone(); - rt::apply_direct(interp, "cn", &[__t476, __t477])? + let __t420 = v_V5654.clone(); + rt::cn(&__t419, &__t420)? }); } } @@ -2092,78 +1896,73 @@ pub fn aot_shen_x2e_arg_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t494 = { - let __t492 = v_V5659.clone(); - let __t493 = { rt::apply_direct(interp, "fail", &[])? }; - rt::eq(&__t492, &__t493) - }; - if match rt::is_truthy(interp, &__t494) { + let __t435 = + Value::bool((v_V5659.clone()).as_sym() == Some(interp.well_known.k_shen_fail)); + if match rt::is_truthy(interp, &__t435) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("...")); } else { { - let __t491 = { - let __t488 = v_V5659.clone(); - rt::apply_direct(interp, "shen.list?", &[__t488])? + let __t434 = { + let __t431 = v_V5659.clone(); + aot_shen_x2e_list_x3f_(interp, &[__t431])? }; - if match rt::is_truthy(interp, &__t491) { + if match rt::is_truthy(interp, &__t434) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t489 = v_V5659.clone(); - let __t490 = v_V5660.clone(); - rt::apply_direct(interp, "shen.list->str", &[__t489, __t490])? + let __t432 = v_V5659.clone(); + let __t433 = v_V5660.clone(); + aot_shen_x2e_list_x2d__x3e_str(interp, &[__t432, __t433])? }); } else { { - let __t487 = { - let __t484 = v_V5659.clone(); - rt::is_string(&__t484) + let __t430 = { + let __t427 = v_V5659.clone(); + rt::is_string(&__t427) }; - if match rt::is_truthy(interp, &__t487) { + if match rt::is_truthy(interp, &__t430) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t485 = v_V5659.clone(); - let __t486 = v_V5660.clone(); - rt::apply_direct(interp, "shen.str->str", &[__t485, __t486])? + let __t428 = v_V5659.clone(); + let __t429 = v_V5660.clone(); + aot_shen_x2e_str_x2d__x3e_str(interp, &[__t428, __t429])? }); } else { { - let __t483 = { - let __t480 = v_V5659.clone(); - rt::is_absvector(&__t480) + let __t426 = { + let __t423 = v_V5659.clone(); + rt::is_absvector(&__t423) }; - if match rt::is_truthy(interp, &__t483) { + if match rt::is_truthy(interp, &__t426) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t481 = v_V5659.clone(); - let __t482 = v_V5660.clone(); - rt::apply_direct( + let __t424 = v_V5659.clone(); + let __t425 = v_V5660.clone(); + aot_shen_x2e_vector_x2d__x3e_str( interp, - "shen.vector->str", - &[__t481, __t482], + &[__t424, __t425], )? }); } else { { - let __t479 = Value::bool(true); - if match rt::is_truthy(interp, &__t479) { + let __t422 = Value::bool(true); + if match rt::is_truthy(interp, &__t422) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t478 = v_V5659.clone(); - rt::apply_direct( + let __t421 = v_V5659.clone(); + aot_shen_x2e_atom_x2d__x3e_str( interp, - "shen.atom->str", - &[__t478], + &[__t421], )? }); } else { @@ -2203,53 +2002,46 @@ pub fn aot_shen_x2e_list_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> Sh #[allow(clippy::never_loop)] loop { { - let __t512 = { - let __t503 = Value::sym(interp.intern("shen.r")); - let __t504 = v_V5662.clone(); - rt::eq(&__t503, &__t504) - }; - if match rt::is_truthy(interp, &__t512) { + let __t451 = + Value::bool((v_V5662.clone()).as_sym() == Some(interp.intern_static("shen.r"))); + if match rt::is_truthy(interp, &__t451) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t505 = Value::str("("); - let __t511 = { - let __t509 = { - let __t506 = v_V5661.clone(); - let __t507 = Value::sym(interp.intern("shen.r")); - let __t508 = { rt::apply_direct(interp, "shen.maxseq", &[])? }; - rt::apply_direct(interp, "shen.iter-list", &[__t506, __t507, __t508])? + let __t444 = Value::str("("); + let __t450 = { + let __t448 = { + let __t445 = v_V5661.clone(); + let __t446 = Value::sym(interp.intern_static("shen.r")); + let __t447 = { aot_shen_x2e_maxseq(interp, &[])? }; + aot_shen_x2e_iter_x2d_list(interp, &[__t445, __t446, __t447])? }; - let __t510 = Value::str(")"); - rt::apply_direct(interp, "@s", &[__t509, __t510])? + let __t449 = Value::str(")"); + rt::apply_direct(interp, "@s", &[__t448, __t449])? }; - rt::apply_direct(interp, "@s", &[__t505, __t511])? + rt::apply_direct(interp, "@s", &[__t444, __t450])? }); } else { { - let __t502 = Value::bool(true); - if match rt::is_truthy(interp, &__t502) { + let __t443 = Value::bool(true); + if match rt::is_truthy(interp, &__t443) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t495 = Value::str("["); - let __t501 = { - let __t499 = { - let __t496 = v_V5661.clone(); - let __t497 = v_V5662.clone(); - let __t498 = { rt::apply_direct(interp, "shen.maxseq", &[])? }; - rt::apply_direct( - interp, - "shen.iter-list", - &[__t496, __t497, __t498], - )? + let __t436 = Value::str("["); + let __t442 = { + let __t440 = { + let __t437 = v_V5661.clone(); + let __t438 = v_V5662.clone(); + let __t439 = { aot_shen_x2e_maxseq(interp, &[])? }; + aot_shen_x2e_iter_x2d_list(interp, &[__t437, __t438, __t439])? }; - let __t500 = Value::str("]"); - rt::apply_direct(interp, "@s", &[__t499, __t500])? + let __t441 = Value::str("]"); + rt::apply_direct(interp, "@s", &[__t440, __t441])? }; - rt::apply_direct(interp, "@s", &[__t495, __t501])? + rt::apply_direct(interp, "@s", &[__t436, __t442])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2275,10 +2067,7 @@ pub fn aot_shen_x2e_maxseq(interp: &mut Interp, args: &[Value]) -> ShenResult ShenRe #[allow(clippy::never_loop)] loop { { - let __t551 = { - let __t549 = Value::nil(); - let __t550 = v_V5673.clone(); - rt::eq(&__t549, &__t550) - }; - if match rt::is_truthy(interp, &__t551) { + let __t485 = Value::bool((v_V5673.clone()).is_nil()); + if match rt::is_truthy(interp, &__t485) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t548 = { - let __t546 = Value::int(0i64); - let __t547 = v_V5675.clone(); - rt::eq(&__t546, &__t547) + let __t484 = { + let __t482 = Value::int(0i64); + let __t483 = v_V5675.clone(); + rt::eq(&__t482, &__t483) }; - if match rt::is_truthy(interp, &__t548) { + if match rt::is_truthy(interp, &__t484) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("... etc")); } else { { - let __t545 = { - let __t540 = { - let __t536 = v_V5673.clone(); - rt::is_cons(&__t536) + let __t481 = { + let __t476 = { + let __t474 = v_V5673.clone(); + rt::is_cons(&__t474) }; - if !rt::is_truthy(interp, &__t540)? { + if !rt::is_truthy(interp, &__t476)? { Value::bool(false) } else { - let __t541 = { - let __t537 = Value::nil(); - let __t539 = { - let __t538 = v_V5673.clone(); - rt::tl(&__t538)? - }; - rt::eq(&__t537, &__t539) - }; - Value::bool(rt::is_truthy(interp, &__t541)?) + let __t477 = Value::bool( + ({ + let __t475 = v_V5673.clone(); + rt::tl(&__t475)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t477)?) } }; - if match rt::is_truthy(interp, &__t545) { + if match rt::is_truthy(interp, &__t481) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t543 = { - let __t542 = v_V5673.clone(); - rt::hd(&__t542)? + let __t479 = { + let __t478 = v_V5673.clone(); + rt::hd(&__t478)? }; - let __t544 = v_V5674.clone(); - rt::apply_direct(interp, "shen.arg->str", &[__t543, __t544])? + let __t480 = v_V5674.clone(); + aot_shen_x2e_arg_x2d__x3e_str(interp, &[__t479, __t480])? }); } else { { - let __t535 = { - let __t521 = v_V5673.clone(); - rt::is_cons(&__t521) + let __t473 = { + let __t459 = v_V5673.clone(); + rt::is_cons(&__t459) }; - if match rt::is_truthy(interp, &__t535) { + if match rt::is_truthy(interp, &__t473) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t525 = { - let __t523 = { - let __t522 = v_V5673.clone(); - rt::hd(&__t522)? + let __t463 = { + let __t461 = { + let __t460 = v_V5673.clone(); + rt::hd(&__t460)? }; - let __t524 = v_V5674.clone(); - rt::apply_direct( + let __t462 = v_V5674.clone(); + aot_shen_x2e_arg_x2d__x3e_str( interp, - "shen.arg->str", - &[__t523, __t524], + &[__t461, __t462], )? }; - let __t534 = { - let __t526 = Value::str(" "); - let __t533 = { - let __t528 = { - let __t527 = v_V5673.clone(); - rt::tl(&__t527)? + let __t472 = { + let __t464 = Value::str(" "); + let __t471 = { + let __t466 = { + let __t465 = v_V5673.clone(); + rt::tl(&__t465)? }; - let __t529 = v_V5674.clone(); - let __t532 = { - let __t530 = v_V5675.clone(); - let __t531 = Value::int(1i64); - rt::sub(&__t530, &__t531)? + let __t467 = v_V5674.clone(); + let __t470 = { + let __t468 = v_V5675.clone(); + let __t469 = Value::int(1i64); + rt::sub(&__t468, &__t469)? }; - rt::apply_direct( + aot_shen_x2e_iter_x2d_list( interp, - "shen.iter-list", - &[__t528, __t529, __t532], + &[__t466, __t467, __t470], )? }; - rt::apply_direct(interp, "@s", &[__t526, __t533])? + rt::apply_direct(interp, "@s", &[__t464, __t471])? }; - rt::apply_direct(interp, "@s", &[__t525, __t534])? + rt::apply_direct(interp, "@s", &[__t463, __t472])? }); } else { { - let __t520 = Value::bool(true); - if match rt::is_truthy(interp, &__t520) { + let __t458 = Value::bool(true); + if match rt::is_truthy(interp, &__t458) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t514 = Value::str("|"); - let __t519 = { - let __t515 = Value::str(" "); - let __t518 = { - let __t516 = v_V5673.clone(); - let __t517 = v_V5674.clone(); - rt::apply_direct( + let __t452 = Value::str("|"); + let __t457 = { + let __t453 = Value::str(" "); + let __t456 = { + let __t454 = v_V5673.clone(); + let __t455 = v_V5674.clone(); + aot_shen_x2e_arg_x2d__x3e_str( interp, - "shen.arg->str", - &[__t516, __t517], + &[__t454, __t455], )? }; rt::apply_direct( interp, "@s", - &[__t515, __t518], + &[__t453, __t456], )? }; rt::apply_direct( interp, "@s", - &[__t514, __t519], + &[__t452, __t457], )? }); } else { @@ -2474,37 +2255,34 @@ pub fn aot_shen_x2e_str_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t561 = { - let __t559 = Value::sym(interp.intern("shen.a")); - let __t560 = v_V5679.clone(); - rt::eq(&__t559, &__t560) - }; - if match rt::is_truthy(interp, &__t561) { + let __t493 = + Value::bool((v_V5679.clone()).as_sym() == Some(interp.intern_static("shen.a"))); + if match rt::is_truthy(interp, &__t493) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(v_V5678.clone()); } else { { - let __t558 = Value::bool(true); - if match rt::is_truthy(interp, &__t558) { + let __t492 = Value::bool(true); + if match rt::is_truthy(interp, &__t492) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t553 = { - let __t552 = Value::int(34i64); - rt::apply_direct(interp, "n->string", &[__t552])? + let __t487 = { + let __t486 = Value::int(34i64); + rt::n_to_string(&__t486)? }; - let __t557 = { - let __t554 = v_V5678.clone(); - let __t556 = { - let __t555 = Value::int(34i64); - rt::apply_direct(interp, "n->string", &[__t555])? + let __t491 = { + let __t488 = v_V5678.clone(); + let __t490 = { + let __t489 = Value::int(34i64); + rt::n_to_string(&__t489)? }; - rt::apply_direct(interp, "@s", &[__t554, __t556])? + rt::apply_direct(interp, "@s", &[__t488, __t490])? }; - rt::apply_direct(interp, "@s", &[__t553, __t557])? + rt::apply_direct(interp, "@s", &[__t487, __t491])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -2535,79 +2313,76 @@ pub fn aot_shen_x2e_vector_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t563 = { - let __t562 = v_V5680.clone(); - rt::apply_direct(interp, "shen.print-vector?", &[__t562])? + let __t495 = { + let __t494 = v_V5680.clone(); + aot_shen_x2e_print_x2d_vector_x3f_(interp, &[__t494])? }; - if match rt::is_truthy(interp, &__t563) { + if match rt::is_truthy(interp, &__t495) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t567 = { - let __t566 = { - let __t564 = v_V5680.clone(); - let __t565 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t564, __t565])? + let __t499 = { + let __t498 = { + let __t496 = v_V5680.clone(); + let __t497 = Value::int(0i64); + rt::address_ref(&__t496, &__t497)? }; - rt::apply_direct(interp, "fn", &[__t566])? + rt::apply_direct(interp, "fn", &[__t498])? }; - let __t568 = v_V5680.clone(); - rt::apply_value(interp, __t567, &[__t568])? + let __t500 = v_V5680.clone(); + rt::apply_value(interp, __t499, &[__t500])? }); } else { { - let __t570 = { - let __t569 = v_V5680.clone(); - rt::is_absvector(&__t569) + let __t502 = { + let __t501 = v_V5680.clone(); + rt::apply_direct(interp, "vector?", &[__t501])? }; - if match rt::is_truthy(interp, &__t570) { + if match rt::is_truthy(interp, &__t502) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t571 = Value::str("<"); - let __t578 = { - let __t576 = { - let __t572 = v_V5680.clone(); - let __t573 = Value::int(1i64); - let __t574 = v_V5681.clone(); - let __t575 = { rt::apply_direct(interp, "shen.maxseq", &[])? }; - rt::apply_direct( + let __t503 = Value::str("<"); + let __t510 = { + let __t508 = { + let __t504 = v_V5680.clone(); + let __t505 = Value::int(1i64); + let __t506 = v_V5681.clone(); + let __t507 = { aot_shen_x2e_maxseq(interp, &[])? }; + aot_shen_x2e_iter_x2d_vector( interp, - "shen.iter-vector", - &[__t572, __t573, __t574, __t575], + &[__t504, __t505, __t506, __t507], )? }; - let __t577 = Value::str(">"); - rt::apply_direct(interp, "@s", &[__t576, __t577])? + let __t509 = Value::str(">"); + rt::apply_direct(interp, "@s", &[__t508, __t509])? }; - rt::apply_direct(interp, "@s", &[__t571, __t578])? + rt::apply_direct(interp, "@s", &[__t503, __t510])? }); } else { break Ok({ - let __t579 = Value::str("<"); - let __t588 = { - let __t580 = Value::str("<"); - let __t587 = { - let __t585 = { - let __t581 = v_V5680.clone(); - let __t582 = Value::int(0i64); - let __t583 = v_V5681.clone(); - let __t584 = - { rt::apply_direct(interp, "shen.maxseq", &[])? }; - rt::apply_direct( + let __t511 = Value::str("<"); + let __t520 = { + let __t512 = Value::str("<"); + let __t519 = { + let __t517 = { + let __t513 = v_V5680.clone(); + let __t514 = Value::int(0i64); + let __t515 = v_V5681.clone(); + let __t516 = { aot_shen_x2e_maxseq(interp, &[])? }; + aot_shen_x2e_iter_x2d_vector( interp, - "shen.iter-vector", - &[__t581, __t582, __t583, __t584], + &[__t513, __t514, __t515, __t516], )? }; - let __t586 = Value::str(">>"); - rt::apply_direct(interp, "@s", &[__t585, __t586])? + let __t518 = Value::str(">>"); + rt::apply_direct(interp, "@s", &[__t517, __t518])? }; - rt::apply_direct(interp, "@s", &[__t580, __t587])? + rt::apply_direct(interp, "@s", &[__t512, __t519])? }; - rt::apply_direct(interp, "@s", &[__t579, __t588])? + rt::apply_direct(interp, "@s", &[__t511, __t520])? }); } } @@ -2638,49 +2413,45 @@ pub fn aot_shen_x2e_print_x2d_vector_x3f_( loop { { let v_W5683 = { - let __t589 = v_V5682.clone(); - let __t590 = Value::int(0i64); - rt::apply_direct(interp, "<-address", &[__t589, __t590])? + let __t521 = v_V5682.clone(); + let __t522 = Value::int(0i64); + rt::address_ref(&__t521, &__t522)? }; { - let __t593 = { - let __t591 = v_W5683.clone(); - let __t592 = Value::sym(interp.intern("shen.tuple")); - rt::eq(&__t591, &__t592) - }; - if match rt::is_truthy(interp, &__t593) { + let __t523 = Value::bool( + (v_W5683.clone()).as_sym() == Some(interp.intern_static("shen.tuple")), + ); + if match rt::is_truthy(interp, &__t523) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t596 = { - let __t594 = v_W5683.clone(); - let __t595 = Value::sym(interp.intern("shen.pvar")); - rt::eq(&__t594, &__t595) - }; - if match rt::is_truthy(interp, &__t596) { + let __t524 = Value::bool( + (v_W5683.clone()).as_sym() == Some(interp.intern_static("shen.pvar")), + ); + if match rt::is_truthy(interp, &__t524) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t599 = { - let __t598 = { - let __t597 = v_W5683.clone(); - rt::is_number(&__t597) + let __t527 = { + let __t526 = { + let __t525 = v_W5683.clone(); + rt::is_number(&__t525) }; - rt::apply_direct(interp, "not", &[__t598])? + rt::not(interp, &__t526)? }; - if match rt::is_truthy(interp, &__t599) { + if match rt::is_truthy(interp, &__t527) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t600 = v_W5683.clone(); - rt::apply_direct(interp, "shen.fbound?", &[__t600])? + let __t528 = v_W5683.clone(); + aot_shen_x2e_fbound_x3f_(interp, &[__t528])? }); } else { break Ok(Value::bool(false)); @@ -2712,15 +2483,15 @@ pub fn aot_shen_x2e_fbound_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { break Ok({ - let __t604 = { - let __t602 = { - let __t601 = v_V5684.clone(); - rt::apply_direct(interp, "arity", &[__t601])? + let __t532 = { + let __t530 = { + let __t529 = v_V5684.clone(); + rt::apply_direct(interp, "arity", &[__t529])? }; - let __t603 = Value::int(-1i64); - rt::eq(&__t602, &__t603) + let __t531 = Value::int(-1i64); + rt::eq(&__t530, &__t531) }; - rt::apply_direct(interp, "not", &[__t604])? + rt::not(interp, &__t532)? }); } } @@ -2743,31 +2514,31 @@ pub fn aot_shen_x2e_tuple(interp: &mut Interp, args: &[Value]) -> ShenResult Shen #[allow(clippy::never_loop)] loop { { - let __t650 = { - let __t648 = Value::int(0i64); - let __t649 = v_V5695.clone(); - rt::eq(&__t648, &__t649) + let __t572 = { + let __t570 = Value::int(0i64); + let __t571 = v_V5695.clone(); + rt::eq(&__t570, &__t571) }; - if match rt::is_truthy(interp, &__t650) { + if match rt::is_truthy(interp, &__t572) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("... etc")); } else { { - let __t647 = Value::bool(true); - if match rt::is_truthy(interp, &__t647) { + let __t569 = Value::bool(true); + if match rt::is_truthy(interp, &__t569) { Ok(b) => b, Err(e) => break Err(e), } { { - let v_W5696 = match (|| -> ShenResult { - Ok({ - let __t619 = v_V5692.clone(); - let __t620 = v_V5693.clone(); - rt::apply_direct(interp, "<-address", &[__t619, __t620])? - }) - })() { - Ok(v) => v, - Err(e) => { - let __h = { - rt::make_aot_closure( - "", - 1, - move |interp, args| { - let v_Z5697 = args[0].clone(); - Ok(Value::sym(interp.intern("shen.out-of-bounds"))) - }, - Vec::new(), - interp, - ) - }; - let __err = Value::err(e.message.clone()); - rt::apply_value(interp, __h, &[__err])? - } + let v_W5696 = { + let __x = v_V5692.clone(); + let __n = v_V5693.clone(); + let __h = { + rt::make_aot_closure( + "", + 0, + move |interp, _args| { + Ok(Value::sym( + interp.intern_static("shen.out-of-bounds"), + )) + }, + Vec::new(), + interp, + ) + }; + rt::apply_direct(interp, "<-address/or", &[__x, __n, __h])? }; { let v_W5698 = match (|| -> ShenResult { Ok({ - let __t621 = v_V5692.clone(); - let __t624 = { - let __t622 = v_V5693.clone(); - let __t623 = Value::int(1i64); - rt::add(&__t622, &__t623)? + let __t547 = v_V5692.clone(); + let __t550 = { + let __t548 = v_V5693.clone(); + let __t549 = Value::int(1i64); + rt::add(&__t548, &__t549)? }; - rt::apply_direct(interp, "<-address", &[__t621, __t624])? + rt::address_ref(&__t547, &__t550)? }) })() { Ok(v) => v, @@ -2860,7 +2624,7 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen move |interp, args| { let v_Z5699 = args[0].clone(); Ok(Value::sym( - interp.intern("shen.out-of-bounds"), + interp.intern_static("shen.out-of-bounds"), )) }, Vec::new(), @@ -2872,80 +2636,75 @@ pub fn aot_shen_x2e_iter_x2d_vector(interp: &mut Interp, args: &[Value]) -> Shen } }; { - let __t627 = { - let __t625 = v_W5696.clone(); - let __t626 = - Value::sym(interp.intern("shen.out-of-bounds")); - rt::eq(&__t625, &__t626) - }; - if match rt::is_truthy(interp, &__t627) { + let __t551 = Value::bool( + (v_W5696.clone()).as_sym() + == Some(interp.intern_static("shen.out-of-bounds")), + ); + if match rt::is_truthy(interp, &__t551) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("")); } else { { - let __t630 = { - let __t628 = v_W5698.clone(); - let __t629 = - Value::sym(interp.intern("shen.out-of-bounds")); - rt::eq(&__t628, &__t629) - }; - if match rt::is_truthy(interp, &__t630) { + let __t552 = Value::bool( + (v_W5698.clone()).as_sym() + == Some( + interp.intern_static("shen.out-of-bounds"), + ), + ); + if match rt::is_truthy(interp, &__t552) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t631 = v_W5696.clone(); - let __t632 = v_V5694.clone(); - rt::apply_direct( + let __t553 = v_W5696.clone(); + let __t554 = v_V5694.clone(); + aot_shen_x2e_arg_x2d__x3e_str( interp, - "shen.arg->str", - &[__t631, __t632], + &[__t553, __t554], )? }); } else { break Ok({ - let __t635 = { - let __t633 = v_W5696.clone(); - let __t634 = v_V5694.clone(); - rt::apply_direct( + let __t557 = { + let __t555 = v_W5696.clone(); + let __t556 = v_V5694.clone(); + aot_shen_x2e_arg_x2d__x3e_str( interp, - "shen.arg->str", - &[__t633, __t634], + &[__t555, __t556], )? }; - let __t646 = { - let __t636 = Value::str(" "); - let __t645 = { - let __t637 = v_V5692.clone(); - let __t640 = { - let __t638 = v_V5693.clone(); - let __t639 = Value::int(1i64); - rt::add(&__t638, &__t639)? + let __t568 = { + let __t558 = Value::str(" "); + let __t567 = { + let __t559 = v_V5692.clone(); + let __t562 = { + let __t560 = v_V5693.clone(); + let __t561 = Value::int(1i64); + rt::add(&__t560, &__t561)? }; - let __t641 = v_V5694.clone(); - let __t644 = { - let __t642 = v_V5695.clone(); - let __t643 = Value::int(1i64); - rt::sub(&__t642, &__t643)? + let __t563 = v_V5694.clone(); + let __t566 = { + let __t564 = v_V5695.clone(); + let __t565 = Value::int(1i64); + rt::sub(&__t564, &__t565)? }; - rt::apply_direct( + aot_shen_x2e_iter_x2d_vector( interp, - "shen.iter-vector", - &[__t637, __t640, __t641, __t644], + &[__t559, __t562, __t563, __t566], )? }; rt::apply_direct( interp, "@s", - &[__t636, __t645], + &[__t558, __t567], )? }; rt::apply_direct( interp, "@s", - &[__t635, __t646], + &[__t557, __t568], )? }); } @@ -2983,8 +2742,8 @@ pub fn aot_shen_x2e_atom_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> Sh break Ok( match (|| -> ShenResult { Ok({ - let __t651 = v_V5700.clone(); - rt::apply_direct(interp, "str", &[__t651])? + let __t573 = v_V5700.clone(); + rt::apply_direct(interp, "str", &[__t573])? }) })() { Ok(v) => v, @@ -2995,7 +2754,7 @@ pub fn aot_shen_x2e_atom_x2d__x3e_str(interp: &mut Interp, args: &[Value]) -> Sh 1, move |interp, args| { let v_Z5701 = args[0].clone(); - Ok({ rt::apply_direct(interp, "shen.funexstring", &[])? }) + Ok({ aot_shen_x2e_funexstring(interp, &[])? }) }, Vec::new(), interp, @@ -3025,39 +2784,36 @@ pub fn aot_shen_x2e_funexstring(interp: &mut Interp, args: &[Value]) -> ShenResu #[allow(clippy::never_loop)] loop { break Ok({ - let __t652 = Value::str("\u{10}"); - let __t667 = { - let __t653 = Value::str("f"); - let __t666 = { - let __t654 = Value::str("u"); - let __t665 = { - let __t655 = Value::str("n"); - let __t664 = { - let __t656 = Value::str("e"); - let __t663 = { - let __t661 = { - let __t659 = { - let __t658 = { - let __t657 = Value::str("x"); - rt::apply_direct(interp, "intern", &[__t657])? - }; - rt::apply_direct(interp, "gensym", &[__t658])? + let __t574 = Value::str("\u{10}"); + let __t588 = { + let __t575 = Value::str("f"); + let __t587 = { + let __t576 = Value::str("u"); + let __t586 = { + let __t577 = Value::str("n"); + let __t585 = { + let __t578 = Value::str("e"); + let __t584 = { + let __t582 = { + let __t580 = { + let __t579 = Value::sym(interp.intern_static("x")); + rt::apply_direct(interp, "gensym", &[__t579])? }; - let __t660 = Value::sym(interp.intern("shen.a")); - rt::apply_direct(interp, "shen.arg->str", &[__t659, __t660])? + let __t581 = Value::sym(interp.intern_static("shen.a")); + aot_shen_x2e_arg_x2d__x3e_str(interp, &[__t580, __t581])? }; - let __t662 = Value::str("\u{11}"); - rt::apply_direct(interp, "@s", &[__t661, __t662])? + let __t583 = Value::str("\u{11}"); + rt::apply_direct(interp, "@s", &[__t582, __t583])? }; - rt::apply_direct(interp, "@s", &[__t656, __t663])? + rt::apply_direct(interp, "@s", &[__t578, __t584])? }; - rt::apply_direct(interp, "@s", &[__t655, __t664])? + rt::apply_direct(interp, "@s", &[__t577, __t585])? }; - rt::apply_direct(interp, "@s", &[__t654, __t665])? + rt::apply_direct(interp, "@s", &[__t576, __t586])? }; - rt::apply_direct(interp, "@s", &[__t653, __t666])? + rt::apply_direct(interp, "@s", &[__t575, __t587])? }; - rt::apply_direct(interp, "@s", &[__t652, __t667])? + rt::apply_direct(interp, "@s", &[__t574, __t588])? }); } } @@ -3080,19 +2836,19 @@ pub fn aot_shen_x2e_list_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResult #[allow(clippy::never_loop)] loop { { - let __t669 = { - let __t668 = v_V5702.clone(); - rt::apply_direct(interp, "empty?", &[__t668])? + let __t590 = { + let __t589 = v_V5702.clone(); + rt::is_empty(&__t589) }; - if match rt::is_truthy(interp, &__t669) { + if match rt::is_truthy(interp, &__t590) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { break Ok({ - let __t670 = v_V5702.clone(); - rt::is_cons(&__t670) + let __t591 = v_V5702.clone(); + rt::is_cons(&__t591) }); } } diff --git a/crates/shen-rust/src/aot/kernel/yacc.rs b/crates/shen-rust/src/aot/kernel/yacc.rs index beee954..81c93b5 100644 --- a/crates/shen-rust/src/aot/kernel/yacc.rs +++ b/crates/shen-rust/src/aot/kernel/yacc.rs @@ -45,7 +45,7 @@ pub fn aot_compile(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t2 = { let __t1 = v_W114.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t1])? + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t1])? }; if match rt::is_truthy(interp, &__t2) { Ok(b) => b, @@ -59,7 +59,7 @@ pub fn aot_compile(interp: &mut Interp, args: &[Value]) -> ShenResult { { let __t5 = { let __t4 = v_W114.clone(); - rt::apply_direct(interp, "shen.partial-parse-failure?", &[__t4])? + aot_shen_x2e_partial_x2d_parse_x2d_failure_x3f_(interp, &[__t4])? }; if match rt::is_truthy(interp, &__t5) { Ok(b) => b, @@ -67,25 +67,21 @@ pub fn aot_compile(interp: &mut Interp, args: &[Value]) -> ShenResult { } { { let _ = { - let __t6 = Value::sym(interp.intern("shen.*residue*")); - let __t8 = { - let __t7 = v_W114.clone(); - rt::apply_direct(interp, "shen.in->", &[__t7])? + let __v = { + let __t6 = v_W114.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t6])? }; - rt::apply_direct(interp, "set", &[__t6, __t8])? + rt::set_global(interp, "shen.*residue*", __v) }; break Ok({ - let __t10 = { - let __t9 = Value::sym(interp.intern("shen.*residue*")); - rt::apply_direct(interp, "value", &[__t9])? - }; - rt::apply_direct(interp, "shen.raise-syntax-error", &[__t10])? + let __t7 = rt::global_value(interp, "shen.*residue*")?; + aot_shen_x2e_raise_x2d_syntax_x2d_error(interp, &[__t7])? }); } } else { break Ok({ - let __t11 = v_W114.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t11])? + let __t8 = v_W114.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t8])? }); } } @@ -116,27 +112,20 @@ pub fn aot_shen_x2e_raise_x2d_syntax_x2d_error( #[allow(clippy::never_loop)] loop { break Ok({ - let __t19 = { - let __t18 = { - let __t12 = Value::str("syntax error here: "); - let __t17 = { - let __t14 = { - let __t13 = Value::sym(interp.intern("*maximum-print-sequence-size*")); - rt::apply_direct(interp, "value", &[__t13])? - }; - let __t15 = Value::int(0i64); - let __t16 = v_V115.clone(); - rt::apply_direct( - interp, - "shen.syntax-error-message", - &[__t14, __t15, __t16], - )? + let __t15 = { + let __t14 = { + let __t9 = Value::str("syntax error here: "); + let __t13 = { + let __t10 = rt::global_value(interp, "*maximum-print-sequence-size*")?; + let __t11 = Value::int(0i64); + let __t12 = v_V115.clone(); + aot_shen_x2e_syntax_x2d_error_x2d_message(interp, &[__t10, __t11, __t12])? }; - rt::apply_direct(interp, "cn", &[__t12, __t17])? + rt::cn(&__t9, &__t13)? }; - rt::apply_direct(interp, "shen.proc-nl", &[__t18])? + rt::apply_direct(interp, "shen.proc-nl", &[__t14])? }; - rt::apply_direct(interp, "simple-error", &[__t19])? + rt::apply_direct(interp, "simple-error", &[__t15])? }); } } @@ -173,83 +162,78 @@ pub fn aot_shen_x2e_syntax_x2d_error_x2d_message( #[allow(clippy::never_loop)] loop { { - let __t41 = { - let __t39 = Value::nil(); - let __t40 = v_V125.clone(); - rt::eq(&__t39, &__t40) - }; - if match rt::is_truthy(interp, &__t41) { + let __t35 = Value::bool((v_V125.clone()).is_nil()); + if match rt::is_truthy(interp, &__t35) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("\n")); } else { { - let __t38 = { - let __t36 = v_V123.clone(); - let __t37 = v_V124.clone(); - rt::eq(&__t36, &__t37) + let __t34 = { + let __t32 = v_V123.clone(); + let __t33 = v_V124.clone(); + rt::eq(&__t32, &__t33) }; - if match rt::is_truthy(interp, &__t38) { + if match rt::is_truthy(interp, &__t34) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::str("...etc \n")); } else { { - let __t35 = { - let __t22 = v_V125.clone(); - rt::is_cons(&__t22) + let __t31 = { + let __t18 = v_V125.clone(); + rt::is_cons(&__t18) }; - if match rt::is_truthy(interp, &__t35) { + if match rt::is_truthy(interp, &__t31) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t27 = { - let __t24 = { - let __t23 = v_V125.clone(); - rt::hd(&__t23)? + let __t23 = { + let __t20 = { + let __t19 = v_V125.clone(); + rt::hd(&__t19)? }; - let __t25 = Value::str(" "); - let __t26 = Value::sym(interp.intern("shen.s")); + let __t21 = Value::str(" "); + let __t22 = Value::sym(interp.intern_static("shen.s")); rt::apply_direct( interp, "shen.app", - &[__t24, __t25, __t26], + &[__t20, __t21, __t22], )? }; - let __t34 = { - let __t28 = v_V123.clone(); - let __t31 = { - let __t29 = v_V124.clone(); - let __t30 = Value::int(1i64); - rt::add(&__t29, &__t30)? + let __t30 = { + let __t24 = v_V123.clone(); + let __t27 = { + let __t25 = v_V124.clone(); + let __t26 = Value::int(1i64); + rt::add(&__t25, &__t26)? }; - let __t33 = { - let __t32 = v_V125.clone(); - rt::tl(&__t32)? + let __t29 = { + let __t28 = v_V125.clone(); + rt::tl(&__t28)? }; - rt::apply_direct( + aot_shen_x2e_syntax_x2d_error_x2d_message( interp, - "shen.syntax-error-message", - &[__t28, __t31, __t33], + &[__t24, __t27, __t29], )? }; - rt::apply_direct(interp, "cn", &[__t27, __t34])? + rt::cn(&__t23, &__t30)? }); } else { { - let __t21 = Value::bool(true); - if match rt::is_truthy(interp, &__t21) { + let __t17 = Value::bool(true); + if match rt::is_truthy(interp, &__t17) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t20 = Value::str( + let __t16 = Value::str( "partial function shen.syntax-error-message", ); - rt::apply_direct(interp, "simple-error", &[__t20])? + rt::apply_direct(interp, "simple-error", &[__t16])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -291,11 +275,9 @@ pub fn aot_shen_x2e_parse_x2d_failure_x3f_( let mut v_V126 = args[0].clone(); #[allow(clippy::never_loop)] loop { - break Ok({ - let __t42 = v_V126.clone(); - let __t43 = { rt::apply_direct(interp, "fail", &[])? }; - rt::eq(&__t42, &__t43) - }); + break Ok(Value::bool( + (v_V126.clone()).as_sym() == Some(interp.well_known.k_shen_fail), + )); } } @@ -324,11 +306,11 @@ pub fn aot_shen_x2e_partial_x2d_parse_x2d_failure_x3f_( #[allow(clippy::never_loop)] loop { break Ok({ - let __t45 = { - let __t44 = v_V127.clone(); - rt::apply_direct(interp, "shen.in->", &[__t44])? + let __t37 = { + let __t36 = v_V127.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t36])? }; - rt::is_cons(&__t45) + rt::is_cons(&__t37) }); } } @@ -358,68 +340,67 @@ pub fn aot_shen_x2e_objectcode(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t64 = { - let __t60 = { - let __t51 = v_V130.clone(); - rt::is_cons(&__t51) + let __t54 = { + let __t50 = { + let __t43 = v_V130.clone(); + rt::is_cons(&__t43) }; - if !rt::is_truthy(interp, &__t60)? { + if !rt::is_truthy(interp, &__t50)? { Value::bool(false) } else { - let __t61 = { - let __t58 = { - let __t53 = { - let __t52 = v_V130.clone(); - rt::tl(&__t52)? + let __t51 = { + let __t48 = { + let __t45 = { + let __t44 = v_V130.clone(); + rt::tl(&__t44)? }; - rt::is_cons(&__t53) + rt::is_cons(&__t45) }; - if !rt::is_truthy(interp, &__t58)? { + if !rt::is_truthy(interp, &__t48)? { Value::bool(false) } else { - let __t59 = { - let __t54 = Value::nil(); - let __t57 = { - let __t56 = { - let __t55 = v_V130.clone(); - rt::tl(&__t55)? + let __t49 = Value::bool( + ({ + let __t47 = { + let __t46 = v_V130.clone(); + rt::tl(&__t46)? }; - rt::tl(&__t56)? - }; - rt::eq(&__t54, &__t57) - }; - Value::bool(rt::is_truthy(interp, &__t59)?) + rt::tl(&__t47)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t49)?) } }; - Value::bool(rt::is_truthy(interp, &__t61)?) + Value::bool(rt::is_truthy(interp, &__t51)?) } }; - if match rt::is_truthy(interp, &__t64) { + if match rt::is_truthy(interp, &__t54) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t63 = { - let __t62 = v_V130.clone(); - rt::tl(&__t62)? + let __t53 = { + let __t52 = v_V130.clone(); + rt::tl(&__t52)? }; - rt::hd(&__t63)? + rt::hd(&__t53)? }); } else { { - let __t50 = Value::bool(true); - if match rt::is_truthy(interp, &__t50) { + let __t42 = Value::bool(true); + if match rt::is_truthy(interp, &__t42) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t49 = { - let __t46 = v_V130.clone(); - let __t47 = Value::str(" is not a YACC stream\n"); - let __t48 = Value::sym(interp.intern("shen.s")); - rt::apply_direct(interp, "shen.app", &[__t46, __t47, __t48])? + let __t41 = { + let __t38 = v_V130.clone(); + let __t39 = Value::str(" is not a YACC stream\n"); + let __t40 = Value::sym(interp.intern_static("shen.s")); + rt::apply_direct(interp, "shen.app", &[__t38, __t39, __t40])? }; - rt::apply_direct(interp, "simple-error", &[__t49])? + rt::apply_direct(interp, "simple-error", &[__t41])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -448,23 +429,23 @@ pub fn aot_shen_x2e_yacc_x2d__x3e_shen(interp: &mut Interp, args: &[Value]) -> S #[allow(clippy::never_loop)] loop { break Ok({ - let __t66 = { + let __t56 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z132 = args[0].clone(); Ok({ - let __t65 = v_Z132.clone(); - rt::apply_direct(interp, "shen.", &[__t65])? + let __t55 = v_Z132.clone(); + aot_shen_x2e__x3c_yacc_x3e_(interp, &[__t55])? }) }, Vec::new(), interp, ) }; - let __t67 = v_V131.clone(); - rt::apply_direct(interp, "compile", &[__t66, __t67])? + let __t57 = v_V131.clone(); + aot_compile(interp, &[__t56, __t57])? }); } } @@ -488,144 +469,132 @@ pub fn aot_shen_x2e__x3c_yacc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR loop { { let v_W134 = { - let __t101 = { - let __t68 = v_V133.clone(); - rt::is_cons(&__t68) + let __t91 = { + let __t58 = v_V133.clone(); + rt::is_cons(&__t58) }; - if rt::is_truthy(interp, &__t101)? { + if rt::is_truthy(interp, &__t91)? { { let v_W135 = { - let __t69 = v_V133.clone(); - rt::apply_direct(interp, "head", &[__t69])? + let __t59 = v_V133.clone(); + rt::apply_direct(interp, "head", &[__t59])? }; { let v_W136 = { - let __t70 = v_V133.clone(); - rt::apply_direct(interp, "tail", &[__t70])? + let __t60 = v_V133.clone(); + rt::apply_direct(interp, "tail", &[__t60])? }; { let v_W137 = { - let __t71 = v_W136.clone(); - rt::apply_direct(interp, "shen.", &[__t71])? + let __t61 = v_W136.clone(); + aot_shen_x2e__x3c_yaccsig_x3e_(interp, &[__t61])? }; { - let __t100 = { - let __t72 = v_W137.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t72])? + let __t90 = { + let __t62 = v_W137.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t62])? }; - if rt::is_truthy(interp, &__t100)? { + if rt::is_truthy(interp, &__t90)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W138 = { - let __t73 = v_W137.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t73])? + let __t63 = v_W137.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t63])? }; { let v_W139 = { - let __t74 = v_W137.clone(); - rt::apply_direct(interp, "shen.in->", &[__t74])? + let __t64 = v_W137.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t64])? }; { let v_W140 = { - let __t75 = v_W139.clone(); - rt::apply_direct( + let __t65 = v_W139.clone(); + aot_shen_x2e__x3c_c_x2d_rules_x3e_( interp, - "shen.", - &[__t75], + &[__t65], )? }; { - let __t99 = { - let __t76 = v_W140.clone(); - rt::apply_direct( + let __t89 = { + let __t66 = v_W140.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_( interp, - "shen.parse-failure?", - &[__t76], + &[__t66], )? }; - if rt::is_truthy(interp, &__t99)? { + if rt::is_truthy(interp, &__t89)? { { - rt::apply_direct( + aot_shen_x2e_parse_x2d_failure( interp, - "shen.parse-failure", &[], )? } } else { { let v_W141 = { - let __t77 = v_W140.clone(); - rt::apply_direct( + let __t67 = v_W140.clone(); + aot_shen_x2e__x3c__x2d_out( interp, - "shen.<-out", - &[__t77], + &[__t67], )? }; { let v_W142 = { - let __t78 = v_W140.clone(); - rt::apply_direct( + let __t68 = v_W140.clone(); + aot_shen_x2e_in_x2d__x3e_( interp, - "shen.in->", - &[__t78], + &[__t68], )? }; { - let __t79 = v_W142.clone(); - let __t98 = { + let __t69 = v_W142.clone(); + let __t88 = { let v_W143 = { - let __t80 = - Value::sym( - interp - .intern( - "S", - ), - ); + let __t70 = Value::sym(interp.intern_static("S")); rt::apply_direct( interp, "gensym", - &[__t80], + &[__t70], )? }; { let v_W144 = { - let __t85 = { - let __t81 = Value::sym(interp.intern("define")); - let __t84 = { - let __t82 = v_W135.clone(); - let __t83 = Value::nil(); - rt::cons(&__t82, &__t83) + let __t75 = { + let __t71 = Value::sym(interp.intern_static("define")); + let __t74 = { + let __t72 = v_W135.clone(); + let __t73 = Value::nil(); + rt::cons(&__t72, &__t73) }; rt::cons( - &__t81, - &__t84, + &__t71, + &__t74, ) }; - let __t97 = { - let __t86 = v_W138.clone(); - let __t96 = { - let __t87 = v_W143.clone(); - let __t95 = { - let __t88 = Value::sym(interp.intern("->")); - let __t94 = { let __t92 = { let __t89 = v_W138.clone(); let __t90 = v_W143.clone(); let __t91 = v_W141.clone(); rt::apply_direct(interp, "shen.c-rules->shen", &[__t89, __t90, __t91])? }; let __t93 = Value::nil(); rt::cons(&__t92, &__t93) }; - rt::cons(&__t88, &__t94) + let __t87 = { + let __t76 = v_W138.clone(); + let __t86 = { + let __t77 = v_W143.clone(); + let __t85 = { + let __t78 = Value::sym(interp.intern_static("->")); + let __t84 = { let __t82 = { let __t79 = v_W138.clone(); let __t80 = v_W143.clone(); let __t81 = v_W141.clone(); aot_shen_x2e_c_x2d_rules_x2d__x3e_shen(interp, &[__t79, __t80, __t81])? }; let __t83 = Value::nil(); rt::cons(&__t82, &__t83) }; + rt::cons(&__t78, &__t84) }; - rt::cons(&__t87, &__t95) + rt::cons(&__t77, &__t85) }; - rt::apply_direct(interp, "append", &[__t86, __t96])? + rt::apply_direct(interp, "append", &[__t76, __t86])? }; - rt::apply_direct(interp, "append", &[__t85, __t97])? + rt::apply_direct(interp, "append", &[__t75, __t87])? }; v_W144.clone() } }; - rt::apply_direct( + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t79, __t98], + &[__t69, __t88], )? } } @@ -642,20 +611,20 @@ pub fn aot_shen_x2e__x3c_yacc_x3e_(interp: &mut Interp, args: &[Value]) -> ShenR } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } }; { - let __t103 = { - let __t102 = v_W134.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t102])? + let __t93 = { + let __t92 = v_W134.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t92])? }; - if match rt::is_truthy(interp, &__t103) { + if match rt::is_truthy(interp, &__t93) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W134.clone()); } @@ -683,119 +652,118 @@ pub fn aot_shen_x2e__x3c_yaccsig_x3e_(interp: &mut Interp, args: &[Value]) -> Sh loop { { let v_W146 = { - let __t168 = { - let __t104 = v_V145.clone(); - rt::is_cons(&__t104) + let __t154 = { + let __t94 = v_V145.clone(); + rt::is_cons(&__t94) }; - if rt::is_truthy(interp, &__t168)? { + if rt::is_truthy(interp, &__t154)? { { let v_W147 = { - let __t105 = v_V145.clone(); - rt::apply_direct(interp, "head", &[__t105])? + let __t95 = v_V145.clone(); + rt::apply_direct(interp, "head", &[__t95])? }; { let v_W148 = { - let __t106 = v_V145.clone(); - rt::apply_direct(interp, "tail", &[__t106])? + let __t96 = v_V145.clone(); + rt::apply_direct(interp, "tail", &[__t96])? }; { - let __t167 = { - let __t107 = v_W148.clone(); - rt::apply_direct(interp, "shen.ccons?", &[__t107])? + let __t153 = { + let __t97 = v_W148.clone(); + aot_shen_x2e_ccons_x3f_(interp, &[__t97])? }; - if rt::is_truthy(interp, &__t167)? { + if rt::is_truthy(interp, &__t153)? { { let v_W149 = { - let __t108 = v_W148.clone(); - rt::apply_direct(interp, "head", &[__t108])? + let __t98 = v_W148.clone(); + rt::apply_direct(interp, "head", &[__t98])? }; { let v_W150 = { - let __t109 = v_W148.clone(); - rt::apply_direct(interp, "tail", &[__t109])? + let __t99 = v_W148.clone(); + rt::apply_direct(interp, "tail", &[__t99])? }; { - let __t166 = { - let __t110 = v_W149.clone(); - let __t111 = Value::sym(interp.intern("list")); - rt::apply_direct( + let __t152 = { + let __t100 = v_W149.clone(); + let __t101 = + Value::sym(interp.intern_static("list")); + aot_shen_x2e_hds_x3d__x3f_( interp, - "shen.hds=?", - &[__t110, __t111], + &[__t100, __t101], )? }; - if rt::is_truthy(interp, &__t166)? { + if rt::is_truthy(interp, &__t152)? { { let v_W151 = { - let __t112 = v_W149.clone(); + let __t102 = v_W149.clone(); rt::apply_direct( interp, "tail", - &[__t112], + &[__t102], )? }; { - let __t165 = { - let __t113 = v_W151.clone(); - rt::is_cons(&__t113) + let __t151 = { + let __t103 = v_W151.clone(); + rt::is_cons(&__t103) }; - if rt::is_truthy(interp, &__t165)? { + if rt::is_truthy(interp, &__t151)? { { let v_W152 = { - let __t114 = v_W151.clone(); + let __t104 = v_W151.clone(); rt::apply_direct( interp, "head", - &[__t114], + &[__t104], )? }; { let v_W153 = { - let __t115 = + let __t105 = v_W151.clone(); rt::apply_direct( interp, "tail", - &[__t115], + &[__t105], )? }; { let v_W154 = { - let __t116 = + let __t106 = v_W153.clone(); - rt::apply_direct( + aot__x3c_end_x3e_( interp, - "", - &[__t116], + &[__t106], )? }; { - let __t164 = { - let __t117 = + let __t150 = { + let __t107 = v_W154 .clone( ); - rt::apply_direct(interp, "shen.parse-failure?", &[__t117])? + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t107])? }; if rt::is_truthy( - interp, &__t164, + interp, &__t150, )? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W155 = { - let __t118 = v_W154.clone(); - rt::apply_direct(interp, "shen.in->", &[__t118])? + let __t108 = v_W154.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t108])? }; { - let __t163 = { - let __t119 = v_W150.clone(); - let __t120 = Value::sym(interp.intern("==>")); - rt::apply_direct(interp, "shen.hds=?", &[__t119, __t120])? + let __t149 = { + let __t109 = v_W150.clone(); + let __t110 = Value::sym(interp.intern_static("==>")); + aot_shen_x2e_hds_x3d__x3f_(interp, &[__t109, __t110])? }; - if rt::is_truthy(interp, &__t163)? { { let v_W156 = { let __t121 = v_W150.clone(); rt::apply_direct(interp, "tail", &[__t121])? }; { let __t162 = { let __t122 = v_W156.clone(); rt::is_cons(&__t122) }; if rt::is_truthy(interp, &__t162)? { { let v_W157 = { let __t123 = v_W156.clone(); rt::apply_direct(interp, "head", &[__t123])? }; { let v_W158 = { let __t124 = v_W156.clone(); rt::apply_direct(interp, "tail", &[__t124])? }; { let __t161 = { let __t125 = v_W158.clone(); rt::is_cons(&__t125) }; if rt::is_truthy(interp, &__t161)? { { let v_W159 = { let __t126 = v_W158.clone(); rt::apply_direct(interp, "head", &[__t126])? }; { let v_W160 = { let __t127 = v_W158.clone(); rt::apply_direct(interp, "tail", &[__t127])? }; { let __t160 = { let __t132 = { let __t128 = Value::sym(interp.intern("{")); let __t129 = v_W147.clone(); rt::eq(&__t128, &__t129) }; if !rt::is_truthy(interp, &__t132)? { Value::bool(false) } else { let __t133 = { let __t130 = Value::sym(interp.intern("}")); let __t131 = v_W159.clone(); rt::eq(&__t130, &__t131) }; Value::bool(rt::is_truthy(interp, &__t133)?) } }; if rt::is_truthy(interp, &__t160)? { { let __t134 = v_W160.clone(); let __t159 = { let __t135 = Value::sym(interp.intern("{")); let __t158 = { let __t140 = { let __t136 = Value::sym(interp.intern("list")); let __t139 = { let __t137 = v_W152.clone(); let __t138 = Value::nil(); rt::cons(&__t137, &__t138) }; rt::cons(&__t136, &__t139) }; let __t157 = { let __t141 = Value::sym(interp.intern("-->")); let __t156 = { let __t152 = { let __t142 = Value::sym(interp.intern("str")); let __t151 = { let __t147 = { let __t143 = Value::sym(interp.intern("list")); let __t146 = { let __t144 = v_W152.clone(); let __t145 = Value::nil(); rt::cons(&__t144, &__t145) }; rt::cons(&__t143, &__t146) }; let __t150 = { let __t148 = v_W157.clone(); let __t149 = Value::nil(); rt::cons(&__t148, &__t149) }; rt::cons(&__t147, &__t150) }; rt::cons(&__t142, &__t151) }; let __t155 = { let __t153 = Value::sym(interp.intern("}")); let __t154 = Value::nil(); rt::cons(&__t153, &__t154) }; rt::cons(&__t152, &__t155) }; rt::cons(&__t141, &__t156) }; rt::cons(&__t140, &__t157) }; rt::cons(&__t135, &__t158) }; rt::apply_direct(interp, "shen.comb", &[__t134, __t159])? } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } } } } else { { rt::apply_direct(interp, "shen.parse-failure", &[])? } } + if rt::is_truthy(interp, &__t149)? { { let v_W156 = { let __t111 = v_W150.clone(); rt::apply_direct(interp, "tail", &[__t111])? }; { let __t148 = { let __t112 = v_W156.clone(); rt::is_cons(&__t112) }; if rt::is_truthy(interp, &__t148)? { { let v_W157 = { let __t113 = v_W156.clone(); rt::apply_direct(interp, "head", &[__t113])? }; { let v_W158 = { let __t114 = v_W156.clone(); rt::apply_direct(interp, "tail", &[__t114])? }; { let __t147 = { let __t115 = v_W158.clone(); rt::is_cons(&__t115) }; if rt::is_truthy(interp, &__t147)? { { let v_W159 = { let __t116 = v_W158.clone(); rt::apply_direct(interp, "head", &[__t116])? }; { let v_W160 = { let __t117 = v_W158.clone(); rt::apply_direct(interp, "tail", &[__t117])? }; { let __t146 = { let __t118 = Value::bool((v_W147.clone()).as_sym() == Some(interp.intern_static("{"))); if !rt::is_truthy(interp, &__t118)? { Value::bool(false) } else { let __t119 = Value::bool((v_W159.clone()).as_sym() == Some(interp.intern_static("}"))); Value::bool(rt::is_truthy(interp, &__t119)?) } }; if rt::is_truthy(interp, &__t146)? { { let __t120 = v_W160.clone(); let __t145 = { let __t121 = Value::sym(interp.intern_static("{")); let __t144 = { let __t126 = { let __t122 = Value::sym(interp.intern_static("list")); let __t125 = { let __t123 = v_W152.clone(); let __t124 = Value::nil(); rt::cons(&__t123, &__t124) }; rt::cons(&__t122, &__t125) }; let __t143 = { let __t127 = Value::sym(interp.intern_static("-->")); let __t142 = { let __t138 = { let __t128 = Value::sym(interp.intern_static("str")); let __t137 = { let __t133 = { let __t129 = Value::sym(interp.intern_static("list")); let __t132 = { let __t130 = v_W152.clone(); let __t131 = Value::nil(); rt::cons(&__t130, &__t131) }; rt::cons(&__t129, &__t132) }; let __t136 = { let __t134 = v_W157.clone(); let __t135 = Value::nil(); rt::cons(&__t134, &__t135) }; rt::cons(&__t133, &__t136) }; rt::cons(&__t128, &__t137) }; let __t141 = { let __t139 = Value::sym(interp.intern_static("}")); let __t140 = Value::nil(); rt::cons(&__t139, &__t140) }; rt::cons(&__t138, &__t141) }; rt::cons(&__t127, &__t142) }; rt::cons(&__t126, &__t143) }; rt::cons(&__t121, &__t144) }; aot_shen_x2e_comb(interp, &[__t120, __t145])? } } else { { aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } } } } else { { aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } } } } else { { aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } } } else { { aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } } } @@ -805,9 +773,8 @@ pub fn aot_shen_x2e__x3c_yaccsig_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - rt::apply_direct( + aot_shen_x2e_parse_x2d_failure( interp, - "shen.parse-failure", &[], )? } @@ -816,11 +783,7 @@ pub fn aot_shen_x2e__x3c_yaccsig_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -828,7 +791,7 @@ pub fn aot_shen_x2e__x3c_yaccsig_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -836,63 +799,59 @@ pub fn aot_shen_x2e__x3c_yaccsig_x3e_(interp: &mut Interp, args: &[Value]) -> Sh } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } }; { - let __t170 = { - let __t169 = v_W146.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t169])? + let __t156 = { + let __t155 = v_W146.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t155])? }; - if match rt::is_truthy(interp, &__t170) { + if match rt::is_truthy(interp, &__t156) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W161 = { let v_W162 = { - let __t171 = v_V145.clone(); - rt::apply_direct(interp, "", &[__t171])? + let __t157 = v_V145.clone(); + aot__x3c_e_x3e_(interp, &[__t157])? }; { - let __t176 = { - let __t172 = v_W162.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t172])? + let __t162 = { + let __t158 = v_W162.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t158])? }; - if rt::is_truthy(interp, &__t176)? { + if rt::is_truthy(interp, &__t162)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W163 = { - let __t173 = v_W162.clone(); - rt::apply_direct(interp, "shen.in->", &[__t173])? + let __t159 = v_W162.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t159])? }; { - let __t174 = v_W163.clone(); - let __t175 = Value::nil(); - rt::apply_direct( - interp, - "shen.comb", - &[__t174, __t175], - )? + let __t160 = v_W163.clone(); + let __t161 = Value::nil(); + aot_shen_x2e_comb(interp, &[__t160, __t161])? } } } } }; { - let __t178 = { - let __t177 = v_W161.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t177])? + let __t164 = { + let __t163 = v_W161.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t163])? }; - if match rt::is_truthy(interp, &__t178) { + if match rt::is_truthy(interp, &__t164) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W161.clone()); } @@ -929,77 +888,67 @@ pub fn aot_shen_x2e__x3c_c_x2d_rules_x3e_( { let v_W165 = { let v_W166 = { - let __t179 = v_V164.clone(); - rt::apply_direct(interp, "shen.", &[__t179])? + let __t165 = v_V164.clone(); + aot_shen_x2e__x3c_c_x2d_rule_x3e_(interp, &[__t165])? }; { - let __t192 = { - let __t180 = v_W166.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t180])? + let __t178 = { + let __t166 = v_W166.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t166])? }; - if rt::is_truthy(interp, &__t192)? { + if rt::is_truthy(interp, &__t178)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W167 = { - let __t181 = v_W166.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t181])? + let __t167 = v_W166.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t167])? }; { let v_W168 = { - let __t182 = v_W166.clone(); - rt::apply_direct(interp, "shen.in->", &[__t182])? + let __t168 = v_W166.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t168])? }; { let v_W169 = { - let __t183 = v_W168.clone(); - rt::apply_direct(interp, "shen.", &[__t183])? + let __t169 = v_W168.clone(); + aot_shen_x2e__x3c_c_x2d_rules_x3e_(interp, &[__t169])? }; { - let __t191 = { - let __t184 = v_W169.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t184], - )? + let __t177 = { + let __t170 = v_W169.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t170])? }; - if rt::is_truthy(interp, &__t191)? { + if rt::is_truthy(interp, &__t177)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W170 = { - let __t185 = v_W169.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t185], - )? + let __t171 = v_W169.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t171])? }; { let v_W171 = { - let __t186 = v_W169.clone(); - rt::apply_direct( + let __t172 = v_W169.clone(); + aot_shen_x2e_in_x2d__x3e_( interp, - "shen.in->", - &[__t186], + &[__t172], )? }; { - let __t187 = v_W171.clone(); - let __t190 = { - let __t188 = v_W167.clone(); - let __t189 = v_W170.clone(); - rt::cons(&__t188, &__t189) + let __t173 = v_W171.clone(); + let __t176 = { + let __t174 = v_W167.clone(); + let __t175 = v_W170.clone(); + rt::cons(&__t174, &__t175) }; - rt::apply_direct( + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t187, __t190], + &[__t173, __t176], )? } } @@ -1013,91 +962,81 @@ pub fn aot_shen_x2e__x3c_c_x2d_rules_x3e_( } }; { - let __t194 = { - let __t193 = v_W165.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t193])? + let __t180 = { + let __t179 = v_W165.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t179])? }; - if match rt::is_truthy(interp, &__t194) { + if match rt::is_truthy(interp, &__t180) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W172 = { let v_W173 = { - let __t195 = v_V164.clone(); - rt::apply_direct(interp, "", &[__t195])? + let __t181 = v_V164.clone(); + aot__x3c__x21__x3e_(interp, &[__t181])? }; { - let __t209 = { - let __t196 = v_W173.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t196])? + let __t195 = { + let __t182 = v_W173.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t182])? }; - if rt::is_truthy(interp, &__t209)? { + if rt::is_truthy(interp, &__t195)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W174 = { - let __t197 = v_W173.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t197])? + let __t183 = v_W173.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t183])? }; { let v_W175 = { - let __t198 = v_W173.clone(); - rt::apply_direct(interp, "shen.in->", &[__t198])? + let __t184 = v_W173.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t184])? }; { - let __t199 = v_W175.clone(); - let __t208 = { - let __t207 = { - let __t200 = v_W174.clone(); - rt::apply_direct( - interp, - "empty?", - &[__t200], - )? + let __t185 = v_W175.clone(); + let __t194 = { + let __t193 = { + let __t186 = v_W174.clone(); + rt::is_empty(&__t186) }; - if rt::is_truthy(interp, &__t207)? { + if rt::is_truthy(interp, &__t193)? { Value::nil() } else { { - let __t206 = { - let __t201 = Value::str( + let __t192 = { + let __t187 = Value::str( "YACC syntax error here:\n ", ); - let __t205 = { - let __t202 = v_W174.clone(); - let __t203 = + let __t191 = { + let __t188 = v_W174.clone(); + let __t189 = Value::str("\n ..."); - let __t204 = Value::sym( - interp.intern("shen.r"), + let __t190 = Value::sym( + interp.intern_static( + "shen.r", + ), ); rt::apply_direct( interp, "shen.app", - &[__t202, __t203, __t204], + &[__t188, __t189, __t190], )? }; - rt::apply_direct( - interp, - "cn", - &[__t201, __t205], - )? + rt::cn(&__t187, &__t191)? }; rt::apply_direct( interp, "simple-error", - &[__t206], + &[__t192], )? } } }; - rt::apply_direct( - interp, - "shen.comb", - &[__t199, __t208], - )? + aot_shen_x2e_comb(interp, &[__t185, __t194])? } } } @@ -1105,15 +1044,15 @@ pub fn aot_shen_x2e__x3c_c_x2d_rules_x3e_( } }; { - let __t211 = { - let __t210 = v_W172.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t210])? + let __t197 = { + let __t196 = v_W172.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t196])? }; - if match rt::is_truthy(interp, &__t211) { + if match rt::is_truthy(interp, &__t197) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W172.clone()); } @@ -1147,125 +1086,112 @@ pub fn aot_shen_x2e__x3c_c_x2d_rule_x3e_(interp: &mut Interp, args: &[Value]) -> { let v_W177 = { let v_W178 = { - let __t212 = v_V176.clone(); - rt::apply_direct(interp, "shen.", &[__t212])? + let __t198 = v_V176.clone(); + aot_shen_x2e__x3c_syntax_x3e_(interp, &[__t198])? }; { - let __t231 = { - let __t213 = v_W178.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t213])? + let __t217 = { + let __t199 = v_W178.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t199])? }; - if rt::is_truthy(interp, &__t231)? { + if rt::is_truthy(interp, &__t217)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W179 = { - let __t214 = v_W178.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t214])? + let __t200 = v_W178.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t200])? }; { let v_W180 = { - let __t215 = v_W178.clone(); - rt::apply_direct(interp, "shen.in->", &[__t215])? + let __t201 = v_W178.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t201])? }; { let v_W181 = { - let __t216 = v_W180.clone(); - rt::apply_direct(interp, "shen.", &[__t216])? + let __t202 = v_W180.clone(); + aot_shen_x2e__x3c_semantics_x3e_(interp, &[__t202])? }; { - let __t230 = { - let __t217 = v_W181.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t217], - )? + let __t216 = { + let __t203 = v_W181.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t203])? }; - if rt::is_truthy(interp, &__t230)? { + if rt::is_truthy(interp, &__t216)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W182 = { - let __t218 = v_W181.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t218], - )? + let __t204 = v_W181.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t204])? }; { let v_W183 = { - let __t219 = v_W181.clone(); - rt::apply_direct( + let __t205 = v_W181.clone(); + aot_shen_x2e_in_x2d__x3e_( interp, - "shen.in->", - &[__t219], + &[__t205], )? }; { let v_W184 = { - let __t220 = v_W183.clone(); + let __t206 = v_W183.clone(); rt::apply_direct( interp, "shen.", - &[__t220], + &[__t206], )? }; { - let __t229 = { - let __t221 = v_W184.clone(); - rt::apply_direct( + let __t215 = { + let __t207 = v_W184.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_( interp, - "shen.parse-failure?", - &[__t221], + &[__t207], )? }; - if rt::is_truthy(interp, &__t229)? { + if rt::is_truthy(interp, &__t215)? { { - rt::apply_direct( + aot_shen_x2e_parse_x2d_failure( interp, - "shen.parse-failure", &[], )? } } else { { let v_W185 = { - let __t222 = v_W184.clone(); - rt::apply_direct( + let __t208 = v_W184.clone(); + aot_shen_x2e_in_x2d__x3e_( interp, - "shen.in->", - &[__t222], + &[__t208], )? }; { - let __t223 = v_W185.clone(); - let __t228 = { - let __t224 = + let __t209 = v_W185.clone(); + let __t214 = { + let __t210 = v_W179.clone(); - let __t227 = { - let __t225 = + let __t213 = { + let __t211 = v_W182.clone(); - let __t226 = + let __t212 = Value::nil(); rt::cons( - &__t225, - &__t226, + &__t211, + &__t212, ) }; rt::cons( - &__t224, &__t227, + &__t210, &__t213, ) }; - rt::apply_direct( + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t223, __t228], + &[__t209, __t214], )? } } @@ -1283,99 +1209,91 @@ pub fn aot_shen_x2e__x3c_c_x2d_rule_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t233 = { - let __t232 = v_W177.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t232])? + let __t219 = { + let __t218 = v_W177.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t218])? }; - if match rt::is_truthy(interp, &__t233) { + if match rt::is_truthy(interp, &__t219) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W186 = { let v_W187 = { - let __t234 = v_V176.clone(); - rt::apply_direct(interp, "shen.", &[__t234])? + let __t220 = v_V176.clone(); + aot_shen_x2e__x3c_syntax_x3e_(interp, &[__t220])? }; { - let __t249 = { - let __t235 = v_W187.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t235])? + let __t235 = { + let __t221 = v_W187.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t221])? }; - if rt::is_truthy(interp, &__t249)? { + if rt::is_truthy(interp, &__t235)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W188 = { - let __t236 = v_W187.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t236])? + let __t222 = v_W187.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t222])? }; { let v_W189 = { - let __t237 = v_W187.clone(); - rt::apply_direct(interp, "shen.in->", &[__t237])? + let __t223 = v_W187.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t223])? }; { let v_W190 = { - let __t238 = v_W189.clone(); + let __t224 = v_W189.clone(); rt::apply_direct( interp, "shen.", - &[__t238], + &[__t224], )? }; { - let __t248 = { - let __t239 = v_W190.clone(); - rt::apply_direct( + let __t234 = { + let __t225 = v_W190.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_( interp, - "shen.parse-failure?", - &[__t239], + &[__t225], )? }; - if rt::is_truthy(interp, &__t248)? { + if rt::is_truthy(interp, &__t234)? { { - rt::apply_direct( + aot_shen_x2e_parse_x2d_failure( interp, - "shen.parse-failure", &[], )? } } else { { let v_W191 = { - let __t240 = v_W190.clone(); - rt::apply_direct( + let __t226 = v_W190.clone(); + aot_shen_x2e_in_x2d__x3e_( interp, - "shen.in->", - &[__t240], + &[__t226], )? }; { - let __t241 = v_W191.clone(); - let __t247 = { - let __t242 = v_W188.clone(); - let __t246 = { - let __t244 = { - let __t243 = + let __t227 = v_W191.clone(); + let __t233 = { + let __t228 = v_W188.clone(); + let __t232 = { + let __t230 = { + let __t229 = v_W188.clone(); - rt::apply_direct( - interp, - "shen.autocomplete", - &[__t243], - )? + aot_shen_x2e_autocomplete(interp, &[__t229])? }; - let __t245 = Value::nil(); - rt::cons(&__t244, &__t245) + let __t231 = Value::nil(); + rt::cons(&__t230, &__t231) }; - rt::cons(&__t242, &__t246) + rt::cons(&__t228, &__t232) }; - rt::apply_direct( + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t241, __t247], + &[__t227, __t233], )? } } @@ -1388,15 +1306,15 @@ pub fn aot_shen_x2e__x3c_c_x2d_rule_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t251 = { - let __t250 = v_W186.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t250])? + let __t237 = { + let __t236 = v_W186.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t236])? }; - if match rt::is_truthy(interp, &__t251) { + if match rt::is_truthy(interp, &__t237) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W186.clone()); } @@ -1428,140 +1346,131 @@ pub fn aot_shen_x2e_autocomplete(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { { - let __t291 = { - let __t288 = { - let __t280 = v_V192.clone(); - rt::is_cons(&__t280) + let __t275 = { + let __t272 = { + let __t266 = v_V192.clone(); + rt::is_cons(&__t266) }; - if !rt::is_truthy(interp, &__t288)? { + if !rt::is_truthy(interp, &__t272)? { Value::bool(false) } else { - let __t289 = { - let __t286 = { - let __t281 = Value::nil(); - let __t283 = { - let __t282 = v_V192.clone(); - rt::tl(&__t282)? - }; - rt::eq(&__t281, &__t283) - }; - if !rt::is_truthy(interp, &__t286)? { + let __t273 = { + let __t270 = Value::bool( + ({ + let __t267 = v_V192.clone(); + rt::tl(&__t267)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t270)? { Value::bool(false) } else { - let __t287 = { - let __t285 = { - let __t284 = v_V192.clone(); - rt::hd(&__t284)? + let __t271 = { + let __t269 = { + let __t268 = v_V192.clone(); + rt::hd(&__t268)? }; - rt::apply_direct(interp, "shen.non-terminal?", &[__t285])? + aot_shen_x2e_non_x2d_terminal_x3f_(interp, &[__t269])? }; - Value::bool(rt::is_truthy(interp, &__t287)?) + Value::bool(rt::is_truthy(interp, &__t271)?) } }; - Value::bool(rt::is_truthy(interp, &__t289)?) + Value::bool(rt::is_truthy(interp, &__t273)?) } }; - if match rt::is_truthy(interp, &__t291) { + if match rt::is_truthy(interp, &__t275) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t290 = v_V192.clone(); - rt::hd(&__t290)? + let __t274 = v_V192.clone(); + rt::hd(&__t274)? }); } else { { - let __t279 = { - let __t268 = { - let __t265 = v_V192.clone(); - rt::is_cons(&__t265) + let __t265 = { + let __t254 = { + let __t251 = v_V192.clone(); + rt::is_cons(&__t251) }; - if !rt::is_truthy(interp, &__t268)? { + if !rt::is_truthy(interp, &__t254)? { Value::bool(false) } else { - let __t269 = { - let __t267 = { - let __t266 = v_V192.clone(); - rt::hd(&__t266)? + let __t255 = { + let __t253 = { + let __t252 = v_V192.clone(); + rt::hd(&__t252)? }; - rt::apply_direct(interp, "shen.non-terminal?", &[__t267])? + aot_shen_x2e_non_x2d_terminal_x3f_(interp, &[__t253])? }; - Value::bool(rt::is_truthy(interp, &__t269)?) + Value::bool(rt::is_truthy(interp, &__t255)?) } }; - if match rt::is_truthy(interp, &__t279) { + if match rt::is_truthy(interp, &__t265) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t270 = Value::sym(interp.intern("append")); - let __t278 = { - let __t272 = { - let __t271 = v_V192.clone(); - rt::hd(&__t271)? + let __t256 = Value::sym(interp.intern_static("append")); + let __t264 = { + let __t258 = { + let __t257 = v_V192.clone(); + rt::hd(&__t257)? }; - let __t277 = { - let __t275 = { - let __t274 = { - let __t273 = v_V192.clone(); - rt::tl(&__t273)? + let __t263 = { + let __t261 = { + let __t260 = { + let __t259 = v_V192.clone(); + rt::tl(&__t259)? }; - rt::apply_direct(interp, "shen.autocomplete", &[__t274])? + aot_shen_x2e_autocomplete(interp, &[__t260])? }; - let __t276 = Value::nil(); - rt::cons(&__t275, &__t276) + let __t262 = Value::nil(); + rt::cons(&__t261, &__t262) }; - rt::cons(&__t272, &__t277) + rt::cons(&__t258, &__t263) }; - rt::cons(&__t270, &__t278) + rt::cons(&__t256, &__t264) }); } else { { - let __t264 = { - let __t253 = v_V192.clone(); - rt::is_cons(&__t253) + let __t250 = { + let __t239 = v_V192.clone(); + rt::is_cons(&__t239) }; - if match rt::is_truthy(interp, &__t264) { + if match rt::is_truthy(interp, &__t250) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t254 = Value::sym(interp.intern("cons")); - let __t263 = { - let __t257 = { - let __t256 = { - let __t255 = v_V192.clone(); - rt::hd(&__t255)? + let __t240 = Value::sym(interp.intern_static("cons")); + let __t249 = { + let __t243 = { + let __t242 = { + let __t241 = v_V192.clone(); + rt::hd(&__t241)? }; - rt::apply_direct( - interp, - "shen.autocomplete", - &[__t256], - )? + aot_shen_x2e_autocomplete(interp, &[__t242])? }; - let __t262 = { - let __t260 = { - let __t259 = { - let __t258 = v_V192.clone(); - rt::tl(&__t258)? + let __t248 = { + let __t246 = { + let __t245 = { + let __t244 = v_V192.clone(); + rt::tl(&__t244)? }; - rt::apply_direct( - interp, - "shen.autocomplete", - &[__t259], - )? + aot_shen_x2e_autocomplete(interp, &[__t245])? }; - let __t261 = Value::nil(); - rt::cons(&__t260, &__t261) + let __t247 = Value::nil(); + rt::cons(&__t246, &__t247) }; - rt::cons(&__t257, &__t262) + rt::cons(&__t243, &__t248) }; - rt::cons(&__t254, &__t263) + rt::cons(&__t240, &__t249) }); } else { { - let __t252 = Value::bool(true); - if match rt::is_truthy(interp, &__t252) { + let __t238 = Value::bool(true); + if match rt::is_truthy(interp, &__t238) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1600,11 +1509,11 @@ pub fn aot_shen_x2e_non_x2d_terminal_x3f_( #[allow(clippy::never_loop)] loop { { - let __t293 = { - let __t292 = v_V193.clone(); - rt::is_symbol(&__t292) + let __t277 = { + let __t276 = v_V193.clone(); + rt::apply_direct(interp, "symbol?", &[__t276])? }; - if !match rt::is_truthy(interp, &__t293) { + if !match rt::is_truthy(interp, &__t277) { Ok(b) => b, Err(e) => break Err(e), } { @@ -1612,27 +1521,30 @@ pub fn aot_shen_x2e_non_x2d_terminal_x3f_( } else { { let v_W194 = { - let __t294 = v_V193.clone(); - rt::apply_direct(interp, "explode", &[__t294])? + let __t278 = v_V193.clone(); + rt::apply_direct(interp, "explode", &[__t278])? }; break Ok({ - let __t296 = { + let __t280 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z195 = args[0].clone(); Ok({ - let __t295 = v_Z195.clone(); - rt::apply_direct(interp, "shen.", &[__t295])? + let __t279 = v_Z195.clone(); + aot_shen_x2e__x3c_non_x2d_terminal_x3f__x3e_( + interp, + &[__t279], + )? }) }, Vec::new(), interp, ) }; - let __t297 = v_W194.clone(); - rt::apply_direct(interp, "compile", &[__t296, __t297])? + let __t281 = v_W194.clone(); + aot_compile(interp, &[__t280, __t281])? }); } } @@ -1663,52 +1575,51 @@ pub fn aot_shen_x2e__x3c_non_x2d_terminal_x3f__x3e_( { let v_W197 = { let v_W198 = { - let __t298 = v_V196.clone(); - rt::apply_direct(interp, "shen.", &[__t298])? + let __t282 = v_V196.clone(); + aot_shen_x2e__x3c_packagenames_x3e_(interp, &[__t282])? }; { - let __t307 = { - let __t299 = v_W198.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t299])? + let __t291 = { + let __t283 = v_W198.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t283])? }; - if rt::is_truthy(interp, &__t307)? { + if rt::is_truthy(interp, &__t291)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W199 = { - let __t300 = v_W198.clone(); - rt::apply_direct(interp, "shen.in->", &[__t300])? + let __t284 = v_W198.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t284])? }; { let v_W200 = { - let __t301 = v_W199.clone(); - rt::apply_direct(interp, "shen.", &[__t301])? + let __t285 = v_W199.clone(); + aot_shen_x2e__x3c_non_x2d_terminal_x2d_name_x3e_( + interp, + &[__t285], + )? }; { - let __t306 = { - let __t302 = v_W200.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t302])? + let __t290 = { + let __t286 = v_W200.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t286])? }; - if rt::is_truthy(interp, &__t306)? { + if rt::is_truthy(interp, &__t290)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W201 = { - let __t303 = v_W200.clone(); - rt::apply_direct(interp, "shen.in->", &[__t303])? + let __t287 = v_W200.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t287])? }; { - let __t304 = v_W201.clone(); - let __t305 = Value::bool(true); - rt::apply_direct( - interp, - "shen.comb", - &[__t304, __t305], - )? + let __t288 = v_W201.clone(); + let __t289 = Value::bool(true); + aot_shen_x2e_comb(interp, &[__t288, __t289])? } } } @@ -1719,97 +1630,86 @@ pub fn aot_shen_x2e__x3c_non_x2d_terminal_x3f__x3e_( } }; { - let __t309 = { - let __t308 = v_W197.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t308])? + let __t293 = { + let __t292 = v_W197.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t292])? }; - if match rt::is_truthy(interp, &__t309) { + if match rt::is_truthy(interp, &__t293) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W202 = { let v_W203 = { - let __t310 = v_V196.clone(); - rt::apply_direct(interp, "shen.", &[__t310])? + let __t294 = v_V196.clone(); + aot_shen_x2e__x3c_non_x2d_terminal_x2d_name_x3e_(interp, &[__t294])? }; { - let __t315 = { - let __t311 = v_W203.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t311])? + let __t299 = { + let __t295 = v_W203.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t295])? }; - if rt::is_truthy(interp, &__t315)? { + if rt::is_truthy(interp, &__t299)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W204 = { - let __t312 = v_W203.clone(); - rt::apply_direct(interp, "shen.in->", &[__t312])? + let __t296 = v_W203.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t296])? }; { - let __t313 = v_W204.clone(); - let __t314 = Value::bool(true); - rt::apply_direct( - interp, - "shen.comb", - &[__t313, __t314], - )? + let __t297 = v_W204.clone(); + let __t298 = Value::bool(true); + aot_shen_x2e_comb(interp, &[__t297, __t298])? } } } } }; { - let __t317 = { - let __t316 = v_W202.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t316])? + let __t301 = { + let __t300 = v_W202.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t300])? }; - if match rt::is_truthy(interp, &__t317) { + if match rt::is_truthy(interp, &__t301) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W205 = { let v_W206 = { - let __t318 = v_V196.clone(); - rt::apply_direct(interp, "", &[__t318])? + let __t302 = v_V196.clone(); + aot__x3c__x21__x3e_(interp, &[__t302])? }; { - let __t323 = { - let __t319 = v_W206.clone(); - rt::apply_direct( + let __t307 = { + let __t303 = v_W206.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_( interp, - "shen.parse-failure?", - &[__t319], + &[__t303], )? }; - if rt::is_truthy(interp, &__t323)? { + if rt::is_truthy(interp, &__t307)? { { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W207 = { - let __t320 = v_W206.clone(); - rt::apply_direct( + let __t304 = v_W206.clone(); + aot_shen_x2e_in_x2d__x3e_( interp, - "shen.in->", - &[__t320], + &[__t304], )? }; { - let __t321 = v_W207.clone(); - let __t322 = Value::bool(false); - rt::apply_direct( + let __t305 = v_W207.clone(); + let __t306 = Value::bool(false); + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t321, __t322], + &[__t305, __t306], )? } } @@ -1817,20 +1717,16 @@ pub fn aot_shen_x2e__x3c_non_x2d_terminal_x3f__x3e_( } }; { - let __t325 = { - let __t324 = v_W205.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t324], - )? + let __t309 = { + let __t308 = v_W205.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t308])? }; - if match rt::is_truthy(interp, &__t325) { + if match rt::is_truthy(interp, &__t309) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W205.clone()); @@ -1880,81 +1776,73 @@ pub fn aot_shen_x2e__x3c_packagenames_x3e_( { let v_W209 = { let v_W210 = { - let __t326 = v_V208.clone(); - rt::apply_direct(interp, "shen.", &[__t326])? + let __t310 = v_V208.clone(); + aot_shen_x2e__x3c_packagename_x3e_(interp, &[__t310])? }; { - let __t339 = { - let __t327 = v_W210.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t327])? + let __t323 = { + let __t311 = v_W210.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t311])? }; - if rt::is_truthy(interp, &__t339)? { + if rt::is_truthy(interp, &__t323)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W211 = { - let __t328 = v_W210.clone(); - rt::apply_direct(interp, "shen.in->", &[__t328])? + let __t312 = v_W210.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t312])? }; { - let __t338 = { - let __t329 = v_W211.clone(); - let __t330 = Value::str("."); - rt::apply_direct(interp, "shen.hds=?", &[__t329, __t330])? + let __t322 = { + let __t313 = v_W211.clone(); + let __t314 = Value::str("."); + aot_shen_x2e_hds_x3d__x3f_(interp, &[__t313, __t314])? }; - if rt::is_truthy(interp, &__t338)? { + if rt::is_truthy(interp, &__t322)? { { let v_W212 = { - let __t331 = v_W211.clone(); - rt::apply_direct(interp, "tail", &[__t331])? + let __t315 = v_W211.clone(); + rt::apply_direct(interp, "tail", &[__t315])? }; { let v_W213 = { - let __t332 = v_W212.clone(); - rt::apply_direct( + let __t316 = v_W212.clone(); + aot_shen_x2e__x3c_packagenames_x3e_( interp, - "shen.", - &[__t332], + &[__t316], )? }; { - let __t337 = { - let __t333 = v_W213.clone(); - rt::apply_direct( + let __t321 = { + let __t317 = v_W213.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_( interp, - "shen.parse-failure?", - &[__t333], + &[__t317], )? }; - if rt::is_truthy(interp, &__t337)? { + if rt::is_truthy(interp, &__t321)? { { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W214 = { - let __t334 = v_W213.clone(); - rt::apply_direct( + let __t318 = v_W213.clone(); + aot_shen_x2e_in_x2d__x3e_( interp, - "shen.in->", - &[__t334], + &[__t318], )? }; { - let __t335 = v_W214.clone(); - let __t336 = Value::sym( - interp.intern("shen.skip"), + let __t319 = v_W214.clone(); + let __t320 = Value::sym( + interp.intern_static("shen.skip"), ); - rt::apply_direct( + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t335, __t336], + &[__t319, __t320], )? } } @@ -1964,7 +1852,7 @@ pub fn aot_shen_x2e__x3c_packagenames_x3e_( } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -1973,69 +1861,64 @@ pub fn aot_shen_x2e__x3c_packagenames_x3e_( } }; { - let __t341 = { - let __t340 = v_W209.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t340])? + let __t325 = { + let __t324 = v_W209.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t324])? }; - if match rt::is_truthy(interp, &__t341) { + if match rt::is_truthy(interp, &__t325) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W215 = { let v_W216 = { - let __t342 = v_V208.clone(); - rt::apply_direct(interp, "shen.", &[__t342])? + let __t326 = v_V208.clone(); + aot_shen_x2e__x3c_packagename_x3e_(interp, &[__t326])? }; { - let __t351 = { - let __t343 = v_W216.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t343])? + let __t335 = { + let __t327 = v_W216.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t327])? }; - if rt::is_truthy(interp, &__t351)? { + if rt::is_truthy(interp, &__t335)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W217 = { - let __t344 = v_W216.clone(); - rt::apply_direct(interp, "shen.in->", &[__t344])? + let __t328 = v_W216.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t328])? }; { - let __t350 = { - let __t345 = v_W217.clone(); - let __t346 = Value::str("."); - rt::apply_direct( + let __t334 = { + let __t329 = v_W217.clone(); + let __t330 = Value::str("."); + aot_shen_x2e_hds_x3d__x3f_( interp, - "shen.hds=?", - &[__t345, __t346], + &[__t329, __t330], )? }; - if rt::is_truthy(interp, &__t350)? { + if rt::is_truthy(interp, &__t334)? { { let v_W218 = { - let __t347 = v_W217.clone(); - rt::apply_direct(interp, "tail", &[__t347])? + let __t331 = v_W217.clone(); + rt::apply_direct(interp, "tail", &[__t331])? }; { - let __t348 = v_W218.clone(); - let __t349 = - Value::sym(interp.intern("shen.skip")); - rt::apply_direct( + let __t332 = v_W218.clone(); + let __t333 = Value::sym( + interp.intern_static("shen.skip"), + ); + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t348, __t349], + &[__t332, __t333], )? } } } else { { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -2044,15 +1927,15 @@ pub fn aot_shen_x2e__x3c_packagenames_x3e_( } }; { - let __t353 = { - let __t352 = v_W215.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t352])? + let __t337 = { + let __t336 = v_W215.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t336])? }; - if match rt::is_truthy(interp, &__t353) { + if match rt::is_truthy(interp, &__t337) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W215.clone()); } @@ -2093,52 +1976,49 @@ pub fn aot_shen_x2e__x3c_packagename_x3e_( { let v_W220 = { let v_W221 = { - let __t354 = v_V219.clone(); - rt::apply_direct(interp, "shen.", &[__t354])? + let __t338 = v_V219.clone(); + aot_shen_x2e__x3c_packagechar_x3e_(interp, &[__t338])? }; { - let __t363 = { - let __t355 = v_W221.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t355])? + let __t347 = { + let __t339 = v_W221.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t339])? }; - if rt::is_truthy(interp, &__t363)? { + if rt::is_truthy(interp, &__t347)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W222 = { - let __t356 = v_W221.clone(); - rt::apply_direct(interp, "shen.in->", &[__t356])? + let __t340 = v_W221.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t340])? }; { let v_W223 = { - let __t357 = v_W222.clone(); - rt::apply_direct(interp, "shen.", &[__t357])? + let __t341 = v_W222.clone(); + aot_shen_x2e__x3c_packagename_x3e_(interp, &[__t341])? }; { - let __t362 = { - let __t358 = v_W223.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t358])? + let __t346 = { + let __t342 = v_W223.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t342])? }; - if rt::is_truthy(interp, &__t362)? { + if rt::is_truthy(interp, &__t346)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W224 = { - let __t359 = v_W223.clone(); - rt::apply_direct(interp, "shen.in->", &[__t359])? + let __t343 = v_W223.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t343])? }; { - let __t360 = v_W224.clone(); - let __t361 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct( - interp, - "shen.comb", - &[__t360, __t361], - )? + let __t344 = v_W224.clone(); + let __t345 = + Value::sym(interp.intern_static("shen.skip")); + aot_shen_x2e_comb(interp, &[__t344, __t345])? } } } @@ -2149,58 +2029,55 @@ pub fn aot_shen_x2e__x3c_packagename_x3e_( } }; { - let __t365 = { - let __t364 = v_W220.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t364])? + let __t349 = { + let __t348 = v_W220.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t348])? }; - if match rt::is_truthy(interp, &__t365) { + if match rt::is_truthy(interp, &__t349) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W225 = { let v_W226 = { - let __t366 = v_V219.clone(); - rt::apply_direct(interp, "", &[__t366])? + let __t350 = v_V219.clone(); + aot__x3c_e_x3e_(interp, &[__t350])? }; { - let __t371 = { - let __t367 = v_W226.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t367])? + let __t355 = { + let __t351 = v_W226.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t351])? }; - if rt::is_truthy(interp, &__t371)? { + if rt::is_truthy(interp, &__t355)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W227 = { - let __t368 = v_W226.clone(); - rt::apply_direct(interp, "shen.in->", &[__t368])? + let __t352 = v_W226.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t352])? }; { - let __t369 = v_W227.clone(); - let __t370 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct( - interp, - "shen.comb", - &[__t369, __t370], - )? + let __t353 = v_W227.clone(); + let __t354 = + Value::sym(interp.intern_static("shen.skip")); + aot_shen_x2e_comb(interp, &[__t353, __t354])? } } } } }; { - let __t373 = { - let __t372 = v_W225.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t372])? + let __t357 = { + let __t356 = v_W225.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t356])? }; - if match rt::is_truthy(interp, &__t373) { + if match rt::is_truthy(interp, &__t357) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W225.clone()); } @@ -2236,39 +2113,36 @@ pub fn aot_shen_x2e__x3c_packagechar_x3e_( loop { { let v_W229 = { - let __t383 = { - let __t374 = v_V228.clone(); - rt::is_cons(&__t374) + let __t365 = { + let __t358 = v_V228.clone(); + rt::is_cons(&__t358) }; - if rt::is_truthy(interp, &__t383)? { + if rt::is_truthy(interp, &__t365)? { { let v_W230 = { - let __t375 = v_V228.clone(); - rt::apply_direct(interp, "head", &[__t375])? + let __t359 = v_V228.clone(); + rt::apply_direct(interp, "head", &[__t359])? }; { let v_W231 = { - let __t376 = v_V228.clone(); - rt::apply_direct(interp, "tail", &[__t376])? + let __t360 = v_V228.clone(); + rt::apply_direct(interp, "tail", &[__t360])? }; { - let __t382 = { - let __t379 = { - let __t377 = v_W230.clone(); - let __t378 = Value::str("."); - rt::eq(&__t377, &__t378) - }; - rt::apply_direct(interp, "not", &[__t379])? + let __t364 = { + let __t361 = + Value::bool((v_W230.clone()).as_str() == Some(".")); + rt::not(interp, &__t361)? }; - if rt::is_truthy(interp, &__t382)? { + if rt::is_truthy(interp, &__t364)? { { - let __t380 = v_W231.clone(); - let __t381 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t380, __t381])? + let __t362 = v_W231.clone(); + let __t363 = Value::sym(interp.intern_static("shen.skip")); + aot_shen_x2e_comb(interp, &[__t362, __t363])? } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -2276,20 +2150,20 @@ pub fn aot_shen_x2e__x3c_packagechar_x3e_( } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } }; { - let __t385 = { - let __t384 = v_W229.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t384])? + let __t367 = { + let __t366 = v_W229.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t366])? }; - if match rt::is_truthy(interp, &__t385) { + if match rt::is_truthy(interp, &__t367) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W229.clone()); } @@ -2320,92 +2194,88 @@ pub fn aot_shen_x2e__x3c_non_x2d_terminal_x2d_name_x3e_( loop { { let v_W233 = { - let __t404 = { - let __t386 = v_V232.clone(); - let __t387 = Value::str("<"); - rt::apply_direct(interp, "shen.hds=?", &[__t386, __t387])? + let __t384 = { + let __t368 = v_V232.clone(); + let __t369 = Value::str("<"); + aot_shen_x2e_hds_x3d__x3f_(interp, &[__t368, __t369])? }; - if rt::is_truthy(interp, &__t404)? { + if rt::is_truthy(interp, &__t384)? { { let v_W234 = { - let __t388 = v_V232.clone(); - rt::apply_direct(interp, "tail", &[__t388])? + let __t370 = v_V232.clone(); + rt::apply_direct(interp, "tail", &[__t370])? }; { let v_W235 = { - let __t389 = v_W234.clone(); - rt::apply_direct(interp, "", &[__t389])? + let __t371 = v_W234.clone(); + aot__x3c__x21__x3e_(interp, &[__t371])? }; { - let __t403 = { - let __t390 = v_W235.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t390])? + let __t383 = { + let __t372 = v_W235.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t372])? }; - if rt::is_truthy(interp, &__t403)? { + if rt::is_truthy(interp, &__t383)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W236 = { - let __t391 = v_W235.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t391])? + let __t373 = v_W235.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t373])? }; { let v_W237 = { - let __t392 = v_W235.clone(); - rt::apply_direct(interp, "shen.in->", &[__t392])? + let __t374 = v_W235.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t374])? }; { - let __t402 = { + let __t382 = { let v_W238 = { - let __t393 = v_W236.clone(); + let __t375 = v_W236.clone(); rt::apply_direct( interp, "reverse", - &[__t393], + &[__t375], )? }; { - let __t398 = { - let __t394 = v_W238.clone(); - rt::is_cons(&__t394) + let __t378 = { + let __t376 = v_W238.clone(); + rt::is_cons(&__t376) }; - if !rt::is_truthy(interp, &__t398)? { + if !rt::is_truthy(interp, &__t378)? { Value::bool(false) } else { - let __t399 = { - let __t396 = { - let __t395 = v_W238.clone(); - rt::hd(&__t395)? - }; - let __t397 = Value::str(">"); - rt::eq(&__t396, &__t397) - }; + let __t379 = Value::bool( + ({ + let __t377 = v_W238.clone(); + rt::hd(&__t377)? + }) + .as_str() + == Some(">"), + ); Value::bool(rt::is_truthy( - interp, &__t399, + interp, &__t379, )?) } } }; - if rt::is_truthy(interp, &__t402)? { + if rt::is_truthy(interp, &__t382)? { { - let __t400 = v_W237.clone(); - let __t401 = - Value::sym(interp.intern("shen.skip")); - rt::apply_direct( + let __t380 = v_W237.clone(); + let __t381 = Value::sym( + interp.intern_static("shen.skip"), + ); + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t400, __t401], + &[__t380, __t381], )? } } else { { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -2417,20 +2287,20 @@ pub fn aot_shen_x2e__x3c_non_x2d_terminal_x2d_name_x3e_( } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } }; { - let __t406 = { - let __t405 = v_W233.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t405])? + let __t386 = { + let __t385 = v_W233.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t385])? }; - if match rt::is_truthy(interp, &__t406) { + if match rt::is_truthy(interp, &__t386) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W233.clone()); } @@ -2464,12 +2334,9 @@ pub fn aot_shen_x2e_semicolon_x3f_(interp: &mut Interp, args: &[Value]) -> ShenR #[allow(clippy::never_loop)] loop { break Ok({ - let __t407 = v_V239.clone(); - let __t409 = { - let __t408 = Value::str(";"); - rt::apply_direct(interp, "intern", &[__t408])? - }; - rt::eq(&__t407, &__t409) + let __t387 = v_V239.clone(); + let __t388 = Value::sym(interp.intern_static(";")); + rt::eq(&__t387, &__t388) }); } } @@ -2496,35 +2363,35 @@ pub fn aot_shen_x2e__x3c_colon_x2d_equal_x3e_( loop { { let v_W241 = { - let __t417 = { - let __t410 = v_V240.clone(); - rt::is_cons(&__t410) + let __t396 = { + let __t389 = v_V240.clone(); + rt::is_cons(&__t389) }; - if rt::is_truthy(interp, &__t417)? { + if rt::is_truthy(interp, &__t396)? { { let v_W242 = { - let __t411 = v_V240.clone(); - rt::apply_direct(interp, "head", &[__t411])? + let __t390 = v_V240.clone(); + rt::apply_direct(interp, "head", &[__t390])? }; { let v_W243 = { - let __t412 = v_V240.clone(); - rt::apply_direct(interp, "tail", &[__t412])? + let __t391 = v_V240.clone(); + rt::apply_direct(interp, "tail", &[__t391])? }; { - let __t416 = { - let __t413 = v_W242.clone(); - rt::apply_direct(interp, "shen.colon-equal?", &[__t413])? + let __t395 = { + let __t392 = v_W242.clone(); + aot_shen_x2e_colon_x2d_equal_x3f_(interp, &[__t392])? }; - if rt::is_truthy(interp, &__t416)? { + if rt::is_truthy(interp, &__t395)? { { - let __t414 = v_W243.clone(); - let __t415 = Value::sym(interp.intern("shen.skip")); - rt::apply_direct(interp, "shen.comb", &[__t414, __t415])? + let __t393 = v_W243.clone(); + let __t394 = Value::sym(interp.intern_static("shen.skip")); + aot_shen_x2e_comb(interp, &[__t393, __t394])? } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -2532,20 +2399,20 @@ pub fn aot_shen_x2e__x3c_colon_x2d_equal_x3e_( } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } }; { - let __t419 = { - let __t418 = v_W241.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t418])? + let __t398 = { + let __t397 = v_W241.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t397])? }; - if match rt::is_truthy(interp, &__t419) { + if match rt::is_truthy(interp, &__t398) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W241.clone()); } @@ -2576,12 +2443,9 @@ pub fn aot_shen_x2e_colon_x2d_equal_x3f_(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { break Ok({ - let __t421 = { - let __t420 = Value::str(":="); - rt::apply_direct(interp, "intern", &[__t420])? - }; - let __t422 = v_V244.clone(); - rt::eq(&__t421, &__t422) + let __t399 = Value::sym(interp.intern_static(":=")); + let __t400 = v_V244.clone(); + rt::eq(&__t399, &__t400) }); } } @@ -2606,77 +2470,67 @@ pub fn aot_shen_x2e__x3c_syntax_x3e_(interp: &mut Interp, args: &[Value]) -> She { let v_W246 = { let v_W247 = { - let __t423 = v_V245.clone(); - rt::apply_direct(interp, "shen.", &[__t423])? + let __t401 = v_V245.clone(); + aot_shen_x2e__x3c_syntax_x2d_item_x3e_(interp, &[__t401])? }; { - let __t436 = { - let __t424 = v_W247.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t424])? + let __t414 = { + let __t402 = v_W247.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t402])? }; - if rt::is_truthy(interp, &__t436)? { + if rt::is_truthy(interp, &__t414)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W248 = { - let __t425 = v_W247.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t425])? + let __t403 = v_W247.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t403])? }; { let v_W249 = { - let __t426 = v_W247.clone(); - rt::apply_direct(interp, "shen.in->", &[__t426])? + let __t404 = v_W247.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t404])? }; { let v_W250 = { - let __t427 = v_W249.clone(); - rt::apply_direct(interp, "shen.", &[__t427])? + let __t405 = v_W249.clone(); + aot_shen_x2e__x3c_syntax_x3e_(interp, &[__t405])? }; { - let __t435 = { - let __t428 = v_W250.clone(); - rt::apply_direct( - interp, - "shen.parse-failure?", - &[__t428], - )? + let __t413 = { + let __t406 = v_W250.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t406])? }; - if rt::is_truthy(interp, &__t435)? { + if rt::is_truthy(interp, &__t413)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W251 = { - let __t429 = v_W250.clone(); - rt::apply_direct( - interp, - "shen.<-out", - &[__t429], - )? + let __t407 = v_W250.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t407])? }; { let v_W252 = { - let __t430 = v_W250.clone(); - rt::apply_direct( + let __t408 = v_W250.clone(); + aot_shen_x2e_in_x2d__x3e_( interp, - "shen.in->", - &[__t430], + &[__t408], )? }; { - let __t431 = v_W252.clone(); - let __t434 = { - let __t432 = v_W248.clone(); - let __t433 = v_W251.clone(); - rt::cons(&__t432, &__t433) + let __t409 = v_W252.clone(); + let __t412 = { + let __t410 = v_W248.clone(); + let __t411 = v_W251.clone(); + rt::cons(&__t410, &__t411) }; - rt::apply_direct( + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t431, __t434], + &[__t409, __t412], )? } } @@ -2690,52 +2544,48 @@ pub fn aot_shen_x2e__x3c_syntax_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t438 = { - let __t437 = v_W246.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t437])? + let __t416 = { + let __t415 = v_W246.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t415])? }; - if match rt::is_truthy(interp, &__t438) { + if match rt::is_truthy(interp, &__t416) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W253 = { let v_W254 = { - let __t439 = v_V245.clone(); - rt::apply_direct(interp, "shen.", &[__t439])? + let __t417 = v_V245.clone(); + aot_shen_x2e__x3c_syntax_x2d_item_x3e_(interp, &[__t417])? }; { - let __t447 = { - let __t440 = v_W254.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t440])? + let __t425 = { + let __t418 = v_W254.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t418])? }; - if rt::is_truthy(interp, &__t447)? { + if rt::is_truthy(interp, &__t425)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W255 = { - let __t441 = v_W254.clone(); - rt::apply_direct(interp, "shen.<-out", &[__t441])? + let __t419 = v_W254.clone(); + aot_shen_x2e__x3c__x2d_out(interp, &[__t419])? }; { let v_W256 = { - let __t442 = v_W254.clone(); - rt::apply_direct(interp, "shen.in->", &[__t442])? + let __t420 = v_W254.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t420])? }; { - let __t443 = v_W256.clone(); - let __t446 = { - let __t444 = v_W255.clone(); - let __t445 = Value::nil(); - rt::cons(&__t444, &__t445) + let __t421 = v_W256.clone(); + let __t424 = { + let __t422 = v_W255.clone(); + let __t423 = Value::nil(); + rt::cons(&__t422, &__t423) }; - rt::apply_direct( - interp, - "shen.comb", - &[__t443, __t446], - )? + aot_shen_x2e_comb(interp, &[__t421, __t424])? } } } @@ -2743,15 +2593,15 @@ pub fn aot_shen_x2e__x3c_syntax_x3e_(interp: &mut Interp, args: &[Value]) -> She } }; { - let __t449 = { - let __t448 = v_W253.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t448])? + let __t427 = { + let __t426 = v_W253.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t426])? }; - if match rt::is_truthy(interp, &__t449) { + if match rt::is_truthy(interp, &__t427) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W253.clone()); } @@ -2787,35 +2637,35 @@ pub fn aot_shen_x2e__x3c_syntax_x2d_item_x3e_( loop { { let v_W258 = { - let __t457 = { - let __t450 = v_V257.clone(); - rt::is_cons(&__t450) + let __t435 = { + let __t428 = v_V257.clone(); + rt::is_cons(&__t428) }; - if rt::is_truthy(interp, &__t457)? { + if rt::is_truthy(interp, &__t435)? { { let v_W259 = { - let __t451 = v_V257.clone(); - rt::apply_direct(interp, "head", &[__t451])? + let __t429 = v_V257.clone(); + rt::apply_direct(interp, "head", &[__t429])? }; { let v_W260 = { - let __t452 = v_V257.clone(); - rt::apply_direct(interp, "tail", &[__t452])? + let __t430 = v_V257.clone(); + rt::apply_direct(interp, "tail", &[__t430])? }; { - let __t456 = { - let __t453 = v_W259.clone(); - rt::apply_direct(interp, "shen.syntax-item?", &[__t453])? + let __t434 = { + let __t431 = v_W259.clone(); + aot_shen_x2e_syntax_x2d_item_x3f_(interp, &[__t431])? }; - if rt::is_truthy(interp, &__t456)? { + if rt::is_truthy(interp, &__t434)? { { - let __t454 = v_W260.clone(); - let __t455 = v_W259.clone(); - rt::apply_direct(interp, "shen.comb", &[__t454, __t455])? + let __t432 = v_W260.clone(); + let __t433 = v_W259.clone(); + aot_shen_x2e_comb(interp, &[__t432, __t433])? } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -2823,20 +2673,20 @@ pub fn aot_shen_x2e__x3c_syntax_x2d_item_x3e_( } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } }; { - let __t459 = { - let __t458 = v_W258.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t458])? + let __t437 = { + let __t436 = v_W258.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t436])? }; - if match rt::is_truthy(interp, &__t459) { + if match rt::is_truthy(interp, &__t437) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W258.clone()); } @@ -2867,164 +2717,162 @@ pub fn aot_shen_x2e_syntax_x2d_item_x3f_(interp: &mut Interp, args: &[Value]) -> #[allow(clippy::never_loop)] loop { { - let __t497 = { - let __t496 = v_V263.clone(); - rt::apply_direct(interp, "shen.colon-equal?", &[__t496])? + let __t471 = { + let __t470 = v_V263.clone(); + aot_shen_x2e_colon_x2d_equal_x3f_(interp, &[__t470])? }; - if match rt::is_truthy(interp, &__t497) { + if match rt::is_truthy(interp, &__t471) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t495 = { - let __t494 = v_V263.clone(); - rt::apply_direct(interp, "shen.semicolon?", &[__t494])? + let __t469 = { + let __t468 = v_V263.clone(); + aot_shen_x2e_semicolon_x3f_(interp, &[__t468])? }; - if match rt::is_truthy(interp, &__t495) { + if match rt::is_truthy(interp, &__t469) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t493 = { - let __t492 = v_V263.clone(); - rt::apply_direct(interp, "atom?", &[__t492])? + let __t467 = { + let __t466 = v_V263.clone(); + rt::apply_direct(interp, "atom?", &[__t466])? }; - if match rt::is_truthy(interp, &__t493) { + if match rt::is_truthy(interp, &__t467) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t491 = { - let __t481 = { - let __t461 = v_V263.clone(); - rt::is_cons(&__t461) + let __t465 = { + let __t455 = { + let __t439 = v_V263.clone(); + rt::is_cons(&__t439) }; - if !rt::is_truthy(interp, &__t481)? { + if !rt::is_truthy(interp, &__t455)? { Value::bool(false) } else { - let __t482 = { - let __t479 = { - let __t462 = Value::sym(interp.intern("cons")); - let __t464 = { - let __t463 = v_V263.clone(); - rt::hd(&__t463)? - }; - rt::eq(&__t462, &__t464) - }; - if !rt::is_truthy(interp, &__t479)? { + let __t456 = { + let __t453 = Value::bool( + ({ + let __t440 = v_V263.clone(); + rt::hd(&__t440)? + }) + .as_sym() + == Some(interp.intern_static("cons")), + ); + if !rt::is_truthy(interp, &__t453)? { Value::bool(false) } else { - let __t480 = { - let __t477 = { - let __t466 = { - let __t465 = v_V263.clone(); - rt::tl(&__t465)? + let __t454 = { + let __t451 = { + let __t442 = { + let __t441 = v_V263.clone(); + rt::tl(&__t441)? }; - rt::is_cons(&__t466) + rt::is_cons(&__t442) }; - if !rt::is_truthy(interp, &__t477)? { + if !rt::is_truthy(interp, &__t451)? { Value::bool(false) } else { - let __t478 = { - let __t475 = { - let __t469 = { - let __t468 = { - let __t467 = + let __t452 = { + let __t449 = { + let __t445 = { + let __t444 = { + let __t443 = v_V263.clone(); - rt::tl(&__t467)? + rt::tl(&__t443)? }; - rt::tl(&__t468)? + rt::tl(&__t444)? }; - rt::is_cons(&__t469) + rt::is_cons(&__t445) }; - if !rt::is_truthy(interp, &__t475)? + if !rt::is_truthy(interp, &__t449)? { Value::bool(false) } else { - let __t476 = { - let __t470 = Value::nil(); - let __t474 = { - let __t473 = { - let __t472 = { - let __t471 = + let __t450 = Value::bool( + ({ + let __t448 = { + let __t447 = { + let __t446 = v_V263 .clone( ); - rt::tl(&__t471)? + rt::tl(&__t446)? }; - rt::tl(&__t472)? + rt::tl(&__t447)? }; - rt::tl(&__t473)? - }; - rt::eq(&__t470, &__t474) - }; + rt::tl(&__t448)? + }) + .is_nil(), + ); Value::bool(rt::is_truthy( - interp, &__t476, + interp, &__t450, )?) } }; Value::bool(rt::is_truthy( - interp, &__t478, + interp, &__t452, )?) } }; - Value::bool(rt::is_truthy(interp, &__t480)?) + Value::bool(rt::is_truthy(interp, &__t454)?) } }; - Value::bool(rt::is_truthy(interp, &__t482)?) + Value::bool(rt::is_truthy(interp, &__t456)?) } }; - if match rt::is_truthy(interp, &__t491) { + if match rt::is_truthy(interp, &__t465) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t486 = { - let __t485 = { - let __t484 = { - let __t483 = v_V263.clone(); - rt::tl(&__t483)? + let __t460 = { + let __t459 = { + let __t458 = { + let __t457 = v_V263.clone(); + rt::tl(&__t457)? }; - rt::hd(&__t484)? + rt::hd(&__t458)? }; - rt::apply_direct( + aot_shen_x2e_syntax_x2d_item_x3f_( interp, - "shen.syntax-item?", - &[__t485], + &[__t459], )? }; - if !match rt::is_truthy(interp, &__t486) { + if !match rt::is_truthy(interp, &__t460) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t490 = { - let __t489 = { - let __t488 = { - let __t487 = v_V263.clone(); - rt::tl(&__t487)? + let __t464 = { + let __t463 = { + let __t462 = { + let __t461 = v_V263.clone(); + rt::tl(&__t461)? }; - rt::tl(&__t488)? + rt::tl(&__t462)? }; - rt::hd(&__t489)? + rt::hd(&__t463)? }; - v_V263 = __t490; + v_V263 = __t464; continue; } } } } else { { - let __t460 = Value::bool(true); - if match rt::is_truthy(interp, &__t460) { + let __t438 = Value::bool(true); + if match rt::is_truthy(interp, &__t438) { Ok(b) => b, Err(e) => break Err(e), } { @@ -3066,129 +2914,127 @@ pub fn aot_shen_x2e__x3c_semantics_x3e_(interp: &mut Interp, args: &[Value]) -> { let v_W265 = { let v_W266 = { - let __t498 = v_V264.clone(); - rt::apply_direct(interp, "shen.", &[__t498])? + let __t472 = v_V264.clone(); + aot_shen_x2e__x3c_colon_x2d_equal_x3e_(interp, &[__t472])? }; { - let __t524 = { - let __t499 = v_W266.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t499])? + let __t498 = { + let __t473 = v_W266.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t473])? }; - if rt::is_truthy(interp, &__t524)? { + if rt::is_truthy(interp, &__t498)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W267 = { - let __t500 = v_W266.clone(); - rt::apply_direct(interp, "shen.in->", &[__t500])? + let __t474 = v_W266.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t474])? }; { - let __t523 = { - let __t501 = v_W267.clone(); - rt::is_cons(&__t501) + let __t497 = { + let __t475 = v_W267.clone(); + rt::is_cons(&__t475) }; - if rt::is_truthy(interp, &__t523)? { + if rt::is_truthy(interp, &__t497)? { { let v_W268 = { - let __t502 = v_W267.clone(); - rt::apply_direct(interp, "head", &[__t502])? + let __t476 = v_W267.clone(); + rt::apply_direct(interp, "head", &[__t476])? }; { let v_W269 = { - let __t503 = v_W267.clone(); - rt::apply_direct(interp, "tail", &[__t503])? + let __t477 = v_W267.clone(); + rt::apply_direct(interp, "tail", &[__t477])? }; { - let __t522 = { - let __t504 = v_W269.clone(); - let __t505 = Value::sym(interp.intern("where")); - rt::apply_direct( + let __t496 = { + let __t478 = v_W269.clone(); + let __t479 = + Value::sym(interp.intern_static("where")); + aot_shen_x2e_hds_x3d__x3f_( interp, - "shen.hds=?", - &[__t504, __t505], + &[__t478, __t479], )? }; - if rt::is_truthy(interp, &__t522)? { + if rt::is_truthy(interp, &__t496)? { { let v_W270 = { - let __t506 = v_W269.clone(); + let __t480 = v_W269.clone(); rt::apply_direct( interp, "tail", - &[__t506], + &[__t480], )? }; { - let __t521 = { - let __t507 = v_W270.clone(); - rt::is_cons(&__t507) + let __t495 = { + let __t481 = v_W270.clone(); + rt::is_cons(&__t481) }; - if rt::is_truthy(interp, &__t521)? { + if rt::is_truthy(interp, &__t495)? { { let v_W271 = { - let __t508 = v_W270.clone(); + let __t482 = v_W270.clone(); rt::apply_direct( interp, "head", - &[__t508], + &[__t482], )? }; { let v_W272 = { - let __t509 = + let __t483 = v_W270.clone(); rt::apply_direct( interp, "tail", - &[__t509], + &[__t483], )? }; { - let __t520 = { - let __t511 = { - let __t510 = + let __t494 = { + let __t485 = { + let __t484 = v_W268 .clone( ); - rt::apply_direct(interp, "shen.semicolon?", &[__t510])? + aot_shen_x2e_semicolon_x3f_(interp, &[__t484])? }; - rt::apply_direct( - interp, - "not", - &[__t511], + rt::not( + interp, &__t485, )? }; if rt::is_truthy( - interp, &__t520, + interp, &__t494, )? { { - let __t512 = + let __t486 = v_W272 .clone( ); - let __t519 = { - let __t513 = Value::sym(interp.intern("where")); - let __t518 = { - let __t514 = v_W271.clone(); - let __t517 = { - let __t515 = v_W268.clone(); - let __t516 = Value::nil(); - rt::cons(&__t515, &__t516) + let __t493 = { + let __t487 = Value::sym(interp.intern_static("where")); + let __t492 = { + let __t488 = v_W271.clone(); + let __t491 = { + let __t489 = v_W268.clone(); + let __t490 = Value::nil(); + rt::cons(&__t489, &__t490) }; - rt::cons(&__t514, &__t517) + rt::cons(&__t488, &__t491) }; rt::cons( - &__t513, - &__t518, + &__t487, + &__t492, ) }; - rt::apply_direct(interp, "shen.comb", &[__t512, __t519])? + aot_shen_x2e_comb(interp, &[__t486, __t493])? } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -3196,9 +3042,8 @@ pub fn aot_shen_x2e__x3c_semantics_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - rt::apply_direct( + aot_shen_x2e_parse_x2d_failure( interp, - "shen.parse-failure", &[], )? } @@ -3207,11 +3052,7 @@ pub fn aot_shen_x2e__x3c_semantics_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -3219,7 +3060,7 @@ pub fn aot_shen_x2e__x3c_semantics_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -3228,86 +3069,79 @@ pub fn aot_shen_x2e__x3c_semantics_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t526 = { - let __t525 = v_W265.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t525])? + let __t500 = { + let __t499 = v_W265.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t499])? }; - if match rt::is_truthy(interp, &__t526) { + if match rt::is_truthy(interp, &__t500) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W273 = { let v_W274 = { - let __t527 = v_V264.clone(); - rt::apply_direct(interp, "shen.", &[__t527])? + let __t501 = v_V264.clone(); + aot_shen_x2e__x3c_colon_x2d_equal_x3e_(interp, &[__t501])? }; { - let __t539 = { - let __t528 = v_W274.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t528])? + let __t513 = { + let __t502 = v_W274.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t502])? }; - if rt::is_truthy(interp, &__t539)? { + if rt::is_truthy(interp, &__t513)? { { - rt::apply_direct(interp, "shen.parse-failure", &[])? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } else { { let v_W275 = { - let __t529 = v_W274.clone(); - rt::apply_direct(interp, "shen.in->", &[__t529])? + let __t503 = v_W274.clone(); + aot_shen_x2e_in_x2d__x3e_(interp, &[__t503])? }; { - let __t538 = { - let __t530 = v_W275.clone(); - rt::is_cons(&__t530) + let __t512 = { + let __t504 = v_W275.clone(); + rt::is_cons(&__t504) }; - if rt::is_truthy(interp, &__t538)? { + if rt::is_truthy(interp, &__t512)? { { let v_W276 = { - let __t531 = v_W275.clone(); - rt::apply_direct(interp, "head", &[__t531])? + let __t505 = v_W275.clone(); + rt::apply_direct(interp, "head", &[__t505])? }; { let v_W277 = { - let __t532 = v_W275.clone(); + let __t506 = v_W275.clone(); rt::apply_direct( interp, "tail", - &[__t532], + &[__t506], )? }; { - let __t537 = { - let __t534 = { - let __t533 = v_W276.clone(); - rt::apply_direct( + let __t511 = { + let __t508 = { + let __t507 = v_W276.clone(); + aot_shen_x2e_semicolon_x3f_( interp, - "shen.semicolon?", - &[__t533], + &[__t507], )? }; - rt::apply_direct( - interp, - "not", - &[__t534], - )? + rt::not(interp, &__t508)? }; - if rt::is_truthy(interp, &__t537)? { + if rt::is_truthy(interp, &__t511)? { { - let __t535 = v_W277.clone(); - let __t536 = v_W276.clone(); - rt::apply_direct( + let __t509 = v_W277.clone(); + let __t510 = v_W276.clone(); + aot_shen_x2e_comb( interp, - "shen.comb", - &[__t535, __t536], + &[__t509, __t510], )? } } else { { - rt::apply_direct( + aot_shen_x2e_parse_x2d_failure( interp, - "shen.parse-failure", &[], )? } @@ -3317,11 +3151,7 @@ pub fn aot_shen_x2e__x3c_semantics_x3e_(interp: &mut Interp, args: &[Value]) -> } } else { { - rt::apply_direct( - interp, - "shen.parse-failure", - &[], - )? + aot_shen_x2e_parse_x2d_failure(interp, &[])? } } } @@ -3330,15 +3160,15 @@ pub fn aot_shen_x2e__x3c_semantics_x3e_(interp: &mut Interp, args: &[Value]) -> } }; { - let __t541 = { - let __t540 = v_W273.clone(); - rt::apply_direct(interp, "shen.parse-failure?", &[__t540])? + let __t515 = { + let __t514 = v_W273.clone(); + aot_shen_x2e_parse_x2d_failure_x3f_(interp, &[__t514])? }; - if match rt::is_truthy(interp, &__t541) { + if match rt::is_truthy(interp, &__t515) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Ok(v_W273.clone()); } @@ -3377,70 +3207,64 @@ pub fn aot_shen_x2e_c_x2d_rules_x2d__x3e_shen( #[allow(clippy::never_loop)] loop { { - let __t560 = { - let __t556 = Value::nil(); - let __t557 = v_V288.clone(); - rt::eq(&__t556, &__t557) - }; - if match rt::is_truthy(interp, &__t560) { + let __t532 = Value::bool((v_V288.clone()).is_nil()); + if match rt::is_truthy(interp, &__t532) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t558 = Value::sym(interp.intern("shen.parse-failure")); - let __t559 = Value::nil(); - rt::cons(&__t558, &__t559) + let __t530 = Value::sym(interp.intern_static("shen.parse-failure")); + let __t531 = Value::nil(); + rt::cons(&__t530, &__t531) }); } else { { - let __t555 = { - let __t544 = v_V288.clone(); - rt::is_cons(&__t544) + let __t529 = { + let __t518 = v_V288.clone(); + rt::is_cons(&__t518) }; - if match rt::is_truthy(interp, &__t555) { + if match rt::is_truthy(interp, &__t529) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t549 = { - let __t545 = v_V286.clone(); - let __t547 = { - let __t546 = v_V288.clone(); - rt::hd(&__t546)? + let __t523 = { + let __t519 = v_V286.clone(); + let __t521 = { + let __t520 = v_V288.clone(); + rt::hd(&__t520)? }; - let __t548 = v_V287.clone(); - rt::apply_direct( + let __t522 = v_V287.clone(); + aot_shen_x2e_c_x2d_rule_x2d__x3e_shen( interp, - "shen.c-rule->shen", - &[__t545, __t547, __t548], + &[__t519, __t521, __t522], )? }; - let __t554 = { - let __t550 = v_V286.clone(); - let __t551 = v_V287.clone(); - let __t553 = { - let __t552 = v_V288.clone(); - rt::tl(&__t552)? + let __t528 = { + let __t524 = v_V286.clone(); + let __t525 = v_V287.clone(); + let __t527 = { + let __t526 = v_V288.clone(); + rt::tl(&__t526)? }; - rt::apply_direct( + aot_shen_x2e_c_x2d_rules_x2d__x3e_shen( interp, - "shen.c-rules->shen", - &[__t550, __t551, __t553], + &[__t524, __t525, __t527], )? }; - rt::apply_direct(interp, "shen.combine-c-code", &[__t549, __t554])? + aot_shen_x2e_combine_x2d_c_x2d_code(interp, &[__t523, __t528])? }); } else { { - let __t543 = Value::bool(true); - if match rt::is_truthy(interp, &__t543) { + let __t517 = Value::bool(true); + if match rt::is_truthy(interp, &__t517) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t542 = + let __t516 = Value::str("implementation error in shen.c-rules->shen\n"); - rt::apply_direct(interp, "simple-error", &[__t542])? + rt::apply_direct(interp, "simple-error", &[__t516])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3472,7 +3296,7 @@ pub fn aot_shen_x2e_parse_x2d_failure(interp: &mut Interp, args: &[Value]) -> Sh } #[allow(clippy::never_loop)] loop { - break Ok({ rt::apply_direct(interp, "fail", &[])? }); + break Ok({ rt::fail(interp) }); } } @@ -3499,45 +3323,46 @@ pub fn aot_shen_x2e_combine_x2d_c_x2d_code( #[allow(clippy::never_loop)] loop { break Ok({ - let __t561 = Value::sym(interp.intern("let")); - let __t580 = { - let __t562 = Value::sym(interp.intern("Result")); - let __t579 = { - let __t563 = v_V289.clone(); - let __t578 = { - let __t576 = { - let __t564 = Value::sym(interp.intern("if")); - let __t575 = { - let __t569 = { - let __t565 = Value::sym(interp.intern("shen.parse-failure?")); - let __t568 = { - let __t566 = Value::sym(interp.intern("Result")); - let __t567 = Value::nil(); - rt::cons(&__t566, &__t567) + let __t533 = Value::sym(interp.intern_static("let")); + let __t552 = { + let __t534 = Value::sym(interp.intern_static("Result")); + let __t551 = { + let __t535 = v_V289.clone(); + let __t550 = { + let __t548 = { + let __t536 = Value::sym(interp.intern_static("if")); + let __t547 = { + let __t541 = { + let __t537 = + Value::sym(interp.intern_static("shen.parse-failure?")); + let __t540 = { + let __t538 = Value::sym(interp.intern_static("Result")); + let __t539 = Value::nil(); + rt::cons(&__t538, &__t539) }; - rt::cons(&__t565, &__t568) + rt::cons(&__t537, &__t540) }; - let __t574 = { - let __t570 = v_V290.clone(); - let __t573 = { - let __t571 = Value::sym(interp.intern("Result")); - let __t572 = Value::nil(); - rt::cons(&__t571, &__t572) + let __t546 = { + let __t542 = v_V290.clone(); + let __t545 = { + let __t543 = Value::sym(interp.intern_static("Result")); + let __t544 = Value::nil(); + rt::cons(&__t543, &__t544) }; - rt::cons(&__t570, &__t573) + rt::cons(&__t542, &__t545) }; - rt::cons(&__t569, &__t574) + rt::cons(&__t541, &__t546) }; - rt::cons(&__t564, &__t575) + rt::cons(&__t536, &__t547) }; - let __t577 = Value::nil(); - rt::cons(&__t576, &__t577) + let __t549 = Value::nil(); + rt::cons(&__t548, &__t549) }; - rt::cons(&__t563, &__t578) + rt::cons(&__t535, &__t550) }; - rt::cons(&__t562, &__t579) + rt::cons(&__t534, &__t551) }; - rt::cons(&__t561, &__t580) + rt::cons(&__t533, &__t552) }); } } @@ -3571,76 +3396,71 @@ pub fn aot_shen_x2e_c_x2d_rule_x2d__x3e_shen( #[allow(clippy::never_loop)] loop { { - let __t601 = { - let __t592 = { - let __t583 = v_V298.clone(); - rt::is_cons(&__t583) + let __t571 = { + let __t562 = { + let __t555 = v_V298.clone(); + rt::is_cons(&__t555) }; - if !rt::is_truthy(interp, &__t592)? { + if !rt::is_truthy(interp, &__t562)? { Value::bool(false) } else { - let __t593 = { - let __t590 = { - let __t585 = { - let __t584 = v_V298.clone(); - rt::tl(&__t584)? + let __t563 = { + let __t560 = { + let __t557 = { + let __t556 = v_V298.clone(); + rt::tl(&__t556)? }; - rt::is_cons(&__t585) + rt::is_cons(&__t557) }; - if !rt::is_truthy(interp, &__t590)? { + if !rt::is_truthy(interp, &__t560)? { Value::bool(false) } else { - let __t591 = { - let __t586 = Value::nil(); - let __t589 = { - let __t588 = { - let __t587 = v_V298.clone(); - rt::tl(&__t587)? + let __t561 = Value::bool( + ({ + let __t559 = { + let __t558 = v_V298.clone(); + rt::tl(&__t558)? }; - rt::tl(&__t588)? - }; - rt::eq(&__t586, &__t589) - }; - Value::bool(rt::is_truthy(interp, &__t591)?) + rt::tl(&__t559)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t561)?) } }; - Value::bool(rt::is_truthy(interp, &__t593)?) + Value::bool(rt::is_truthy(interp, &__t563)?) } }; - if match rt::is_truthy(interp, &__t601) { + if match rt::is_truthy(interp, &__t571) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t594 = v_V297.clone(); - let __t595 = v_V299.clone(); - let __t597 = { - let __t596 = v_V298.clone(); - rt::hd(&__t596)? + let __t564 = v_V297.clone(); + let __t565 = v_V299.clone(); + let __t567 = { + let __t566 = v_V298.clone(); + rt::hd(&__t566)? }; - let __t600 = { - let __t599 = { - let __t598 = v_V298.clone(); - rt::tl(&__t598)? + let __t570 = { + let __t569 = { + let __t568 = v_V298.clone(); + rt::tl(&__t568)? }; - rt::hd(&__t599)? + rt::hd(&__t569)? }; - rt::apply_direct( - interp, - "shen.yacc-syntax", - &[__t594, __t595, __t597, __t600], - )? + aot_shen_x2e_yacc_x2d_syntax(interp, &[__t564, __t565, __t567, __t570])? }); } else { { - let __t582 = Value::bool(true); - if match rt::is_truthy(interp, &__t582) { + let __t554 = Value::bool(true); + if match rt::is_truthy(interp, &__t554) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t581 = Value::str("implementation error in shen.c-rule->shen\n"); - rt::apply_direct(interp, "simple-error", &[__t581])? + let __t553 = Value::str("implementation error in shen.c-rule->shen\n"); + rt::apply_direct(interp, "simple-error", &[__t553])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -3679,358 +3499,340 @@ pub fn aot_shen_x2e_yacc_x2d_syntax(interp: &mut Interp, args: &[Value]) -> Shen #[allow(clippy::never_loop)] loop { { - let __t710 = { - let __t688 = { - let __t664 = Value::nil(); - let __t665 = v_V310.clone(); - rt::eq(&__t664, &__t665) - }; - if !rt::is_truthy(interp, &__t688)? { + let __t670 = { + let __t648 = Value::bool((v_V310.clone()).is_nil()); + if !rt::is_truthy(interp, &__t648)? { Value::bool(false) } else { - let __t689 = { - let __t686 = { - let __t666 = v_V311.clone(); - rt::is_cons(&__t666) + let __t649 = { + let __t646 = { + let __t630 = v_V311.clone(); + rt::is_cons(&__t630) }; - if !rt::is_truthy(interp, &__t686)? { + if !rt::is_truthy(interp, &__t646)? { Value::bool(false) } else { - let __t687 = { - let __t684 = { - let __t667 = Value::sym(interp.intern("where")); - let __t669 = { - let __t668 = v_V311.clone(); - rt::hd(&__t668)? - }; - rt::eq(&__t667, &__t669) - }; - if !rt::is_truthy(interp, &__t684)? { + let __t647 = { + let __t644 = Value::bool( + ({ + let __t631 = v_V311.clone(); + rt::hd(&__t631)? + }) + .as_sym() + == Some(interp.intern_static("where")), + ); + if !rt::is_truthy(interp, &__t644)? { Value::bool(false) } else { - let __t685 = { - let __t682 = { - let __t671 = { - let __t670 = v_V311.clone(); - rt::tl(&__t670)? + let __t645 = { + let __t642 = { + let __t633 = { + let __t632 = v_V311.clone(); + rt::tl(&__t632)? }; - rt::is_cons(&__t671) + rt::is_cons(&__t633) }; - if !rt::is_truthy(interp, &__t682)? { + if !rt::is_truthy(interp, &__t642)? { Value::bool(false) } else { - let __t683 = { - let __t680 = { - let __t674 = { - let __t673 = { - let __t672 = v_V311.clone(); - rt::tl(&__t672)? + let __t643 = { + let __t640 = { + let __t636 = { + let __t635 = { + let __t634 = v_V311.clone(); + rt::tl(&__t634)? }; - rt::tl(&__t673)? + rt::tl(&__t635)? }; - rt::is_cons(&__t674) + rt::is_cons(&__t636) }; - if !rt::is_truthy(interp, &__t680)? { + if !rt::is_truthy(interp, &__t640)? { Value::bool(false) } else { - let __t681 = { - let __t675 = Value::nil(); - let __t679 = { - let __t678 = { - let __t677 = { - let __t676 = v_V311.clone(); - rt::tl(&__t676)? + let __t641 = Value::bool( + ({ + let __t639 = { + let __t638 = { + let __t637 = v_V311.clone(); + rt::tl(&__t637)? }; - rt::tl(&__t677)? + rt::tl(&__t638)? }; - rt::tl(&__t678)? - }; - rt::eq(&__t675, &__t679) - }; - Value::bool(rt::is_truthy(interp, &__t681)?) + rt::tl(&__t639)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t641)?) } }; - Value::bool(rt::is_truthy(interp, &__t683)?) + Value::bool(rt::is_truthy(interp, &__t643)?) } }; - Value::bool(rt::is_truthy(interp, &__t685)?) + Value::bool(rt::is_truthy(interp, &__t645)?) } }; - Value::bool(rt::is_truthy(interp, &__t687)?) + Value::bool(rt::is_truthy(interp, &__t647)?) } }; - Value::bool(rt::is_truthy(interp, &__t689)?) + Value::bool(rt::is_truthy(interp, &__t649)?) } }; - if match rt::is_truthy(interp, &__t710) { + if match rt::is_truthy(interp, &__t670) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t690 = Value::sym(interp.intern("if")); - let __t709 = { - let __t694 = { - let __t693 = { - let __t692 = { - let __t691 = v_V311.clone(); - rt::tl(&__t691)? + let __t650 = Value::sym(interp.intern_static("if")); + let __t669 = { + let __t654 = { + let __t653 = { + let __t652 = { + let __t651 = v_V311.clone(); + rt::tl(&__t651)? }; - rt::hd(&__t692)? + rt::hd(&__t652)? }; - rt::apply_direct(interp, "shen.process-yacc-semantics", &[__t693])? + aot_shen_x2e_process_x2d_yacc_x2d_semantics(interp, &[__t653])? }; - let __t708 = { - let __t702 = { - let __t695 = v_V308.clone(); - let __t696 = v_V309.clone(); - let __t697 = Value::nil(); - let __t701 = { - let __t700 = { - let __t699 = { - let __t698 = v_V311.clone(); - rt::tl(&__t698)? + let __t668 = { + let __t662 = { + let __t655 = v_V308.clone(); + let __t656 = v_V309.clone(); + let __t657 = Value::nil(); + let __t661 = { + let __t660 = { + let __t659 = { + let __t658 = v_V311.clone(); + rt::tl(&__t658)? }; - rt::tl(&__t699)? + rt::tl(&__t659)? }; - rt::hd(&__t700)? + rt::hd(&__t660)? }; - rt::apply_direct( + aot_shen_x2e_yacc_x2d_syntax( interp, - "shen.yacc-syntax", - &[__t695, __t696, __t697, __t701], + &[__t655, __t656, __t657, __t661], )? }; - let __t707 = { - let __t705 = { - let __t703 = Value::sym(interp.intern("shen.parse-failure")); - let __t704 = Value::nil(); - rt::cons(&__t703, &__t704) + let __t667 = { + let __t665 = { + let __t663 = + Value::sym(interp.intern_static("shen.parse-failure")); + let __t664 = Value::nil(); + rt::cons(&__t663, &__t664) }; - let __t706 = Value::nil(); - rt::cons(&__t705, &__t706) + let __t666 = Value::nil(); + rt::cons(&__t665, &__t666) }; - rt::cons(&__t702, &__t707) + rt::cons(&__t662, &__t667) }; - rt::cons(&__t694, &__t708) + rt::cons(&__t654, &__t668) }; - rt::cons(&__t690, &__t709) + rt::cons(&__t650, &__t669) }); } else { { - let __t663 = { - let __t658 = Value::nil(); - let __t659 = v_V310.clone(); - rt::eq(&__t658, &__t659) - }; - if match rt::is_truthy(interp, &__t663) { + let __t629 = Value::bool((v_V310.clone()).is_nil()); + if match rt::is_truthy(interp, &__t629) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t660 = v_V308.clone(); - let __t661 = v_V309.clone(); - let __t662 = v_V311.clone(); - rt::apply_direct( - interp, - "shen.yacc-semantics", - &[__t660, __t661, __t662], - )? + let __t626 = v_V308.clone(); + let __t627 = v_V309.clone(); + let __t628 = v_V311.clone(); + aot_shen_x2e_yacc_x2d_semantics(interp, &[__t626, __t627, __t628])? }); } else { { - let __t657 = { - let __t604 = v_V310.clone(); - rt::is_cons(&__t604) + let __t625 = { + let __t574 = v_V310.clone(); + rt::is_cons(&__t574) }; - if match rt::is_truthy(interp, &__t657) { + if match rt::is_truthy(interp, &__t625) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t607 = { - let __t606 = { - let __t605 = v_V310.clone(); - rt::hd(&__t605)? + let __t577 = { + let __t576 = { + let __t575 = v_V310.clone(); + rt::hd(&__t575)? }; - rt::apply_direct(interp, "shen.non-terminal?", &[__t606])? + aot_shen_x2e_non_x2d_terminal_x3f_(interp, &[__t576])? }; - if match rt::is_truthy(interp, &__t607) { + if match rt::is_truthy(interp, &__t577) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t608 = v_V308.clone(); - let __t609 = v_V309.clone(); - let __t611 = { - let __t610 = v_V310.clone(); - rt::hd(&__t610)? + let __t578 = v_V308.clone(); + let __t579 = v_V309.clone(); + let __t581 = { + let __t580 = v_V310.clone(); + rt::hd(&__t580)? }; - let __t613 = { - let __t612 = v_V310.clone(); - rt::tl(&__t612)? + let __t583 = { + let __t582 = v_V310.clone(); + rt::tl(&__t582)? }; - let __t614 = v_V311.clone(); - rt::apply_direct( + let __t584 = v_V311.clone(); + aot_shen_x2e_non_x2d_terminalcode( interp, - "shen.non-terminalcode", - &[__t608, __t609, __t611, __t613, __t614], + &[__t578, __t579, __t581, __t583, __t584], )? }); } else { { - let __t617 = { - let __t616 = { - let __t615 = v_V310.clone(); - rt::hd(&__t615)? + let __t587 = { + let __t586 = { + let __t585 = v_V310.clone(); + rt::hd(&__t585)? }; - rt::apply_direct(interp, "variable?", &[__t616])? + rt::apply_direct(interp, "variable?", &[__t586])? }; - if match rt::is_truthy(interp, &__t617) { + if match rt::is_truthy(interp, &__t587) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t618 = v_V308.clone(); - let __t619 = v_V309.clone(); - let __t621 = { - let __t620 = v_V310.clone(); - rt::hd(&__t620)? + let __t588 = v_V308.clone(); + let __t589 = v_V309.clone(); + let __t591 = { + let __t590 = v_V310.clone(); + rt::hd(&__t590)? }; - let __t623 = { - let __t622 = v_V310.clone(); - rt::tl(&__t622)? + let __t593 = { + let __t592 = v_V310.clone(); + rt::tl(&__t592)? }; - let __t624 = v_V311.clone(); - rt::apply_direct( + let __t594 = v_V311.clone(); + aot_shen_x2e_variablecode( interp, - "shen.variablecode", - &[__t618, __t619, __t621, __t623, __t624], + &[__t588, __t589, __t591, __t593, __t594], )? }); } else { { - let __t628 = { - let __t625 = Value::sym(interp.intern("_")); - let __t627 = { - let __t626 = v_V310.clone(); - rt::hd(&__t626)? - }; - rt::eq(&__t625, &__t627) - }; - if match rt::is_truthy(interp, &__t628) { + let __t596 = Value::bool( + ({ + let __t595 = v_V310.clone(); + rt::hd(&__t595)? + }) + .as_sym() + == Some(interp.intern_static("_")), + ); + if match rt::is_truthy(interp, &__t596) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t629 = v_V308.clone(); - let __t630 = v_V309.clone(); - let __t632 = { - let __t631 = v_V310.clone(); - rt::hd(&__t631)? + let __t597 = v_V308.clone(); + let __t598 = v_V309.clone(); + let __t600 = { + let __t599 = v_V310.clone(); + rt::hd(&__t599)? }; - let __t634 = { - let __t633 = v_V310.clone(); - rt::tl(&__t633)? + let __t602 = { + let __t601 = v_V310.clone(); + rt::tl(&__t601)? }; - let __t635 = v_V311.clone(); - rt::apply_direct( + let __t603 = v_V311.clone(); + aot_shen_x2e_wildcardcode( interp, - "shen.wildcardcode", &[ - __t629, __t630, __t632, __t634, - __t635, + __t597, __t598, __t600, __t602, + __t603, ], )? }); } else { { - let __t638 = { - let __t637 = { - let __t636 = v_V310.clone(); - rt::hd(&__t636)? + let __t606 = { + let __t605 = { + let __t604 = v_V310.clone(); + rt::hd(&__t604)? }; rt::apply_direct( interp, "atom?", - &[__t637], + &[__t605], )? }; - if match rt::is_truthy(interp, &__t638) + if match rt::is_truthy(interp, &__t606) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t639 = v_V308.clone(); - let __t640 = v_V309.clone(); - let __t642 = { - let __t641 = v_V310.clone(); - rt::hd(&__t641)? + let __t607 = v_V308.clone(); + let __t608 = v_V309.clone(); + let __t610 = { + let __t609 = v_V310.clone(); + rt::hd(&__t609)? }; - let __t644 = { - let __t643 = v_V310.clone(); - rt::tl(&__t643)? + let __t612 = { + let __t611 = v_V310.clone(); + rt::tl(&__t611)? }; - let __t645 = v_V311.clone(); - rt::apply_direct( + let __t613 = v_V311.clone(); + aot_shen_x2e_terminalcode( interp, - "shen.terminalcode", &[ - __t639, __t640, __t642, - __t644, __t645, + __t607, __t608, __t610, + __t612, __t613, ], )? }); } else { { - let __t648 = { - let __t647 = { - let __t646 = + let __t616 = { + let __t615 = { + let __t614 = v_V310.clone(); - rt::hd(&__t646)? + rt::hd(&__t614)? }; - rt::is_cons(&__t647) + rt::is_cons(&__t615) }; if match rt::is_truthy( - interp, &__t648, + interp, &__t616, ) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t649 = + let __t617 = v_V308.clone(); - let __t650 = + let __t618 = v_V309.clone(); - let __t652 = { - let __t651 = + let __t620 = { + let __t619 = v_V310.clone(); - rt::hd(&__t651)? + rt::hd(&__t619)? }; - let __t654 = { - let __t653 = + let __t622 = { + let __t621 = v_V310.clone(); - rt::tl(&__t653)? + rt::tl(&__t621)? }; - let __t655 = + let __t623 = v_V311.clone(); - rt::apply_direct( + aot_shen_x2e_conscode( interp, - "shen.conscode", &[ - __t649, __t650, - __t652, __t654, - __t655, + __t617, __t618, + __t620, __t622, + __t623, ], )? }); } else { break Ok({ - let __t656 = Value::str("implementation error in shen.yacc-syntax\n"); + let __t624 = Value::str("implementation error in shen.yacc-syntax\n"); rt::apply_direct( interp, "simple-error", - &[__t656], + &[__t624], )? }); } @@ -4045,16 +3847,16 @@ pub fn aot_shen_x2e_yacc_x2d_syntax(interp: &mut Interp, args: &[Value]) -> Shen } } else { { - let __t603 = Value::bool(true); - if match rt::is_truthy(interp, &__t603) { + let __t573 = Value::bool(true); + if match rt::is_truthy(interp, &__t573) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t602 = Value::str( + let __t572 = Value::str( "implementation error in shen.yacc-syntax\n", ); - rt::apply_direct(interp, "simple-error", &[__t602])? + rt::apply_direct(interp, "simple-error", &[__t572])? }); } else { break Err(ShenError::new("cond: no clause matched")); @@ -4096,208 +3898,202 @@ pub fn aot_shen_x2e_non_x2d_terminalcode(interp: &mut Interp, args: &[Value]) -> loop { { let v_W317 = { - let __t711 = Value::sym(interp.intern("Parse")); - let __t712 = v_V314.clone(); - rt::apply_direct(interp, "concat", &[__t711, __t712])? + let __t671 = Value::sym(interp.intern_static("Parse")); + let __t672 = v_V314.clone(); + rt::apply_direct(interp, "concat", &[__t671, __t672])? }; { let v_W318 = { - let __t713 = Value::sym(interp.intern("Action")); - let __t714 = v_V314.clone(); - rt::apply_direct(interp, "concat", &[__t713, __t714])? + let __t673 = Value::sym(interp.intern_static("Action")); + let __t674 = v_V314.clone(); + rt::apply_direct(interp, "concat", &[__t673, __t674])? }; { let v_W319 = { - let __t715 = Value::sym(interp.intern("Remainder")); - let __t716 = v_V314.clone(); - rt::apply_direct(interp, "concat", &[__t715, __t716])? + let __t675 = Value::sym(interp.intern_static("Remainder")); + let __t676 = v_V314.clone(); + rt::apply_direct(interp, "concat", &[__t675, __t676])? }; break Ok({ - let __t717 = Value::sym(interp.intern("let")); - let __t777 = { - let __t718 = v_W317.clone(); - let __t776 = { - let __t723 = { - let __t719 = v_V314.clone(); - let __t722 = { - let __t720 = v_V313.clone(); - let __t721 = Value::nil(); - rt::cons(&__t720, &__t721) + let __t677 = Value::sym(interp.intern_static("let")); + let __t737 = { + let __t678 = v_W317.clone(); + let __t736 = { + let __t683 = { + let __t679 = v_V314.clone(); + let __t682 = { + let __t680 = v_V313.clone(); + let __t681 = Value::nil(); + rt::cons(&__t680, &__t681) }; - rt::cons(&__t719, &__t722) + rt::cons(&__t679, &__t682) }; - let __t775 = { - let __t773 = { - let __t724 = Value::sym(interp.intern("if")); - let __t772 = { - let __t729 = { - let __t725 = Value::sym( - interp.intern("shen.parse-failure?"), + let __t735 = { + let __t733 = { + let __t684 = Value::sym(interp.intern_static("if")); + let __t732 = { + let __t689 = { + let __t685 = Value::sym( + interp.intern_static("shen.parse-failure?"), ); - let __t728 = { - let __t726 = v_W317.clone(); - let __t727 = Value::nil(); - rt::cons(&__t726, &__t727) + let __t688 = { + let __t686 = v_W317.clone(); + let __t687 = Value::nil(); + rt::cons(&__t686, &__t687) }; - rt::cons(&__t725, &__t728) + rt::cons(&__t685, &__t688) }; - let __t771 = { - let __t732 = { - let __t730 = Value::sym( - interp.intern("shen.parse-failure"), + let __t731 = { + let __t692 = { + let __t690 = Value::sym( + interp.intern_static("shen.parse-failure"), ); - let __t731 = Value::nil(); - rt::cons(&__t730, &__t731) + let __t691 = Value::nil(); + rt::cons(&__t690, &__t691) }; - let __t770 = { - let __t768 = { + let __t730 = { + let __t728 = { let v_W320 = { - let __t733 = - Value::sym(interp.intern("let")); - let __t748 = { - let __t734 = v_W319.clone(); - let __t747 = { - let __t739 = { - let __t735 = Value::sym( - interp.intern( + let __t693 = Value::sym( + interp.intern_static("let"), + ); + let __t708 = { + let __t694 = v_W319.clone(); + let __t707 = { + let __t699 = { + let __t695 = Value::sym( + interp.intern_static( "shen.in->", ), ); - let __t738 = { - let __t736 = + let __t698 = { + let __t696 = v_W317.clone(); - let __t737 = + let __t697 = Value::nil(); rt::cons( - &__t736, &__t737, + &__t696, &__t697, ) }; - rt::cons(&__t735, &__t738) + rt::cons(&__t695, &__t698) }; - let __t746 = { - let __t744 = { - let __t740 = + let __t706 = { + let __t704 = { + let __t700 = v_V312.clone(); - let __t741 = + let __t701 = v_W319.clone(); - let __t742 = + let __t702 = v_V315.clone(); - let __t743 = + let __t703 = v_V316.clone(); - rt::apply_direct( - interp, - "shen.yacc-syntax", - &[ - __t740, __t741, - __t742, __t743, - ], - )? + aot_shen_x2e_yacc_x2d_syntax(interp, &[__t700, __t701, __t702, __t703])? }; - let __t745 = Value::nil(); - rt::cons(&__t744, &__t745) + let __t705 = Value::nil(); + rt::cons(&__t704, &__t705) }; - rt::cons(&__t739, &__t746) + rt::cons(&__t699, &__t706) }; - rt::cons(&__t734, &__t747) + rt::cons(&__t694, &__t707) }; - rt::cons(&__t733, &__t748) + rt::cons(&__t693, &__t708) }; { - let __t767 = { - let __t753 = { - let __t749 = v_V314.clone(); - let __t750 = v_V316.clone(); + let __t727 = { + let __t713 = { + let __t709 = v_V314.clone(); + let __t710 = v_V316.clone(); rt::apply_direct( interp, "shen.occurs-check?", - &[__t749, __t750], + &[__t709, __t710], )? }; - if rt::is_truthy(interp, &__t753)? { + if rt::is_truthy(interp, &__t713)? { Value::bool(true) } else { - let __t754 = { - let __t751 = v_W318.clone(); - let __t752 = v_V316.clone(); + let __t714 = { + let __t711 = v_W318.clone(); + let __t712 = v_V316.clone(); rt::apply_direct( interp, "shen.occurs-check?", - &[__t751, __t752], + &[__t711, __t712], )? }; Value::bool(rt::is_truthy( - interp, &__t754, + interp, &__t714, )?) } }; - if rt::is_truthy(interp, &__t767)? { + if rt::is_truthy(interp, &__t727)? { { - let __t755 = Value::sym( - interp.intern("let"), + let __t715 = Value::sym( + interp.intern_static("let"), ); - let __t766 = { - let __t756 = v_W318.clone(); - let __t765 = { - let __t761 = { - let __t757 = Value::sym(interp.intern("shen.<-out")); - let __t760 = { - let __t758 = + let __t726 = { + let __t716 = v_W318.clone(); + let __t725 = { + let __t721 = { + let __t717 = Value::sym(interp.intern_static("shen.<-out")); + let __t720 = { + let __t718 = v_W317 .clone( ); - let __t759 = + let __t719 = Value::nil( ); rt::cons( - &__t758, - &__t759, + &__t718, + &__t719, ) }; rt::cons( - &__t757, - &__t760, + &__t717, + &__t720, ) }; - let __t764 = { - let __t762 = + let __t724 = { + let __t722 = v_W320.clone(); - let __t763 = + let __t723 = Value::nil(); rt::cons( - &__t762, - &__t763, + &__t722, + &__t723, ) }; rt::cons( - &__t761, &__t764, + &__t721, &__t724, ) }; - rt::cons(&__t756, &__t765) + rt::cons(&__t716, &__t725) }; - rt::cons(&__t755, &__t766) + rt::cons(&__t715, &__t726) } } else { v_W320.clone() } } }; - let __t769 = Value::nil(); - rt::cons(&__t768, &__t769) + let __t729 = Value::nil(); + rt::cons(&__t728, &__t729) }; - rt::cons(&__t732, &__t770) + rt::cons(&__t692, &__t730) }; - rt::cons(&__t729, &__t771) + rt::cons(&__t689, &__t731) }; - rt::cons(&__t724, &__t772) + rt::cons(&__t684, &__t732) }; - let __t774 = Value::nil(); - rt::cons(&__t773, &__t774) + let __t734 = Value::nil(); + rt::cons(&__t733, &__t734) }; - rt::cons(&__t723, &__t775) + rt::cons(&__t683, &__t735) }; - rt::cons(&__t718, &__t776) + rt::cons(&__t678, &__t736) }; - rt::cons(&__t717, &__t777) + rt::cons(&__t677, &__t737) }); } } @@ -4336,113 +4132,113 @@ pub fn aot_shen_x2e_variablecode(interp: &mut Interp, args: &[Value]) -> ShenRes loop { { let v_W326 = { - let __t778 = Value::sym(interp.intern("Remainder")); - rt::apply_direct(interp, "gensym", &[__t778])? + let __t738 = Value::sym(interp.intern_static("Remainder")); + rt::apply_direct(interp, "gensym", &[__t738])? }; break Ok({ - let __t779 = Value::sym(interp.intern("if")); - let __t823 = { - let __t784 = { - let __t780 = Value::sym(interp.intern("cons?")); - let __t783 = { - let __t781 = v_V322.clone(); - let __t782 = Value::nil(); - rt::cons(&__t781, &__t782) + let __t739 = Value::sym(interp.intern_static("if")); + let __t783 = { + let __t744 = { + let __t740 = Value::sym(interp.intern_static("cons?")); + let __t743 = { + let __t741 = v_V322.clone(); + let __t742 = Value::nil(); + rt::cons(&__t741, &__t742) }; - rt::cons(&__t780, &__t783) + rt::cons(&__t740, &__t743) }; - let __t822 = { - let __t816 = { + let __t782 = { + let __t776 = { let v_W327 = { - let __t785 = Value::sym(interp.intern("let")); - let __t800 = { - let __t786 = v_W326.clone(); - let __t799 = { - let __t791 = { - let __t787 = Value::sym(interp.intern("tail")); - let __t790 = { - let __t788 = v_V322.clone(); - let __t789 = Value::nil(); - rt::cons(&__t788, &__t789) + let __t745 = Value::sym(interp.intern_static("let")); + let __t760 = { + let __t746 = v_W326.clone(); + let __t759 = { + let __t751 = { + let __t747 = Value::sym(interp.intern_static("tail")); + let __t750 = { + let __t748 = v_V322.clone(); + let __t749 = Value::nil(); + rt::cons(&__t748, &__t749) }; - rt::cons(&__t787, &__t790) + rt::cons(&__t747, &__t750) }; - let __t798 = { - let __t796 = { - let __t792 = v_V321.clone(); - let __t793 = v_W326.clone(); - let __t794 = v_V324.clone(); - let __t795 = v_V325.clone(); - rt::apply_direct( + let __t758 = { + let __t756 = { + let __t752 = v_V321.clone(); + let __t753 = v_W326.clone(); + let __t754 = v_V324.clone(); + let __t755 = v_V325.clone(); + aot_shen_x2e_yacc_x2d_syntax( interp, - "shen.yacc-syntax", - &[__t792, __t793, __t794, __t795], + &[__t752, __t753, __t754, __t755], )? }; - let __t797 = Value::nil(); - rt::cons(&__t796, &__t797) + let __t757 = Value::nil(); + rt::cons(&__t756, &__t757) }; - rt::cons(&__t791, &__t798) + rt::cons(&__t751, &__t758) }; - rt::cons(&__t786, &__t799) + rt::cons(&__t746, &__t759) }; - rt::cons(&__t785, &__t800) + rt::cons(&__t745, &__t760) }; { - let __t815 = { - let __t801 = v_V323.clone(); - let __t802 = v_V325.clone(); + let __t775 = { + let __t761 = v_V323.clone(); + let __t762 = v_V325.clone(); rt::apply_direct( interp, "shen.occurs-check?", - &[__t801, __t802], + &[__t761, __t762], )? }; - if rt::is_truthy(interp, &__t815)? { + if rt::is_truthy(interp, &__t775)? { { - let __t803 = Value::sym(interp.intern("let")); - let __t814 = { - let __t804 = v_V323.clone(); - let __t813 = { - let __t809 = { - let __t805 = Value::sym(interp.intern("head")); - let __t808 = { - let __t806 = v_V322.clone(); - let __t807 = Value::nil(); - rt::cons(&__t806, &__t807) + let __t763 = Value::sym(interp.intern_static("let")); + let __t774 = { + let __t764 = v_V323.clone(); + let __t773 = { + let __t769 = { + let __t765 = + Value::sym(interp.intern_static("head")); + let __t768 = { + let __t766 = v_V322.clone(); + let __t767 = Value::nil(); + rt::cons(&__t766, &__t767) }; - rt::cons(&__t805, &__t808) + rt::cons(&__t765, &__t768) }; - let __t812 = { - let __t810 = v_W327.clone(); - let __t811 = Value::nil(); - rt::cons(&__t810, &__t811) + let __t772 = { + let __t770 = v_W327.clone(); + let __t771 = Value::nil(); + rt::cons(&__t770, &__t771) }; - rt::cons(&__t809, &__t812) + rt::cons(&__t769, &__t772) }; - rt::cons(&__t804, &__t813) + rt::cons(&__t764, &__t773) }; - rt::cons(&__t803, &__t814) + rt::cons(&__t763, &__t774) } } else { v_W327.clone() } } }; - let __t821 = { - let __t819 = { - let __t817 = Value::sym(interp.intern("shen.parse-failure")); - let __t818 = Value::nil(); - rt::cons(&__t817, &__t818) + let __t781 = { + let __t779 = { + let __t777 = Value::sym(interp.intern_static("shen.parse-failure")); + let __t778 = Value::nil(); + rt::cons(&__t777, &__t778) }; - let __t820 = Value::nil(); - rt::cons(&__t819, &__t820) + let __t780 = Value::nil(); + rt::cons(&__t779, &__t780) }; - rt::cons(&__t816, &__t821) + rt::cons(&__t776, &__t781) }; - rt::cons(&__t784, &__t822) + rt::cons(&__t744, &__t782) }; - rt::cons(&__t779, &__t823) + rt::cons(&__t739, &__t783) }); } } @@ -4475,71 +4271,70 @@ pub fn aot_shen_x2e_wildcardcode(interp: &mut Interp, args: &[Value]) -> ShenRes loop { { let v_W333 = { - let __t824 = Value::sym(interp.intern("Remainder")); - rt::apply_direct(interp, "gensym", &[__t824])? + let __t784 = Value::sym(interp.intern_static("Remainder")); + rt::apply_direct(interp, "gensym", &[__t784])? }; break Ok({ - let __t825 = Value::sym(interp.intern("if")); - let __t854 = { - let __t830 = { - let __t826 = Value::sym(interp.intern("cons?")); - let __t829 = { - let __t827 = v_V329.clone(); - let __t828 = Value::nil(); - rt::cons(&__t827, &__t828) + let __t785 = Value::sym(interp.intern_static("if")); + let __t814 = { + let __t790 = { + let __t786 = Value::sym(interp.intern_static("cons?")); + let __t789 = { + let __t787 = v_V329.clone(); + let __t788 = Value::nil(); + rt::cons(&__t787, &__t788) }; - rt::cons(&__t826, &__t829) + rt::cons(&__t786, &__t789) }; - let __t853 = { - let __t847 = { - let __t831 = Value::sym(interp.intern("let")); - let __t846 = { - let __t832 = v_W333.clone(); - let __t845 = { - let __t837 = { - let __t833 = Value::sym(interp.intern("tail")); - let __t836 = { - let __t834 = v_V329.clone(); - let __t835 = Value::nil(); - rt::cons(&__t834, &__t835) + let __t813 = { + let __t807 = { + let __t791 = Value::sym(interp.intern_static("let")); + let __t806 = { + let __t792 = v_W333.clone(); + let __t805 = { + let __t797 = { + let __t793 = Value::sym(interp.intern_static("tail")); + let __t796 = { + let __t794 = v_V329.clone(); + let __t795 = Value::nil(); + rt::cons(&__t794, &__t795) }; - rt::cons(&__t833, &__t836) + rt::cons(&__t793, &__t796) }; - let __t844 = { - let __t842 = { - let __t838 = v_V328.clone(); - let __t839 = v_W333.clone(); - let __t840 = v_V331.clone(); - let __t841 = v_V332.clone(); - rt::apply_direct( + let __t804 = { + let __t802 = { + let __t798 = v_V328.clone(); + let __t799 = v_W333.clone(); + let __t800 = v_V331.clone(); + let __t801 = v_V332.clone(); + aot_shen_x2e_yacc_x2d_syntax( interp, - "shen.yacc-syntax", - &[__t838, __t839, __t840, __t841], + &[__t798, __t799, __t800, __t801], )? }; - let __t843 = Value::nil(); - rt::cons(&__t842, &__t843) + let __t803 = Value::nil(); + rt::cons(&__t802, &__t803) }; - rt::cons(&__t837, &__t844) + rt::cons(&__t797, &__t804) }; - rt::cons(&__t832, &__t845) + rt::cons(&__t792, &__t805) }; - rt::cons(&__t831, &__t846) + rt::cons(&__t791, &__t806) }; - let __t852 = { - let __t850 = { - let __t848 = Value::sym(interp.intern("shen.parse-failure")); - let __t849 = Value::nil(); - rt::cons(&__t848, &__t849) + let __t812 = { + let __t810 = { + let __t808 = Value::sym(interp.intern_static("shen.parse-failure")); + let __t809 = Value::nil(); + rt::cons(&__t808, &__t809) }; - let __t851 = Value::nil(); - rt::cons(&__t850, &__t851) + let __t811 = Value::nil(); + rt::cons(&__t810, &__t811) }; - rt::cons(&__t847, &__t852) + rt::cons(&__t807, &__t812) }; - rt::cons(&__t830, &__t853) + rt::cons(&__t790, &__t813) }; - rt::cons(&__t825, &__t854) + rt::cons(&__t785, &__t814) }); } } @@ -4572,75 +4367,74 @@ pub fn aot_shen_x2e_terminalcode(interp: &mut Interp, args: &[Value]) -> ShenRes loop { { let v_W339 = { - let __t855 = Value::sym(interp.intern("Remainder")); - rt::apply_direct(interp, "gensym", &[__t855])? + let __t815 = Value::sym(interp.intern_static("Remainder")); + rt::apply_direct(interp, "gensym", &[__t815])? }; break Ok({ - let __t856 = Value::sym(interp.intern("if")); - let __t887 = { - let __t863 = { - let __t857 = Value::sym(interp.intern("shen.hds=?")); - let __t862 = { - let __t858 = v_V335.clone(); - let __t861 = { - let __t859 = v_V336.clone(); - let __t860 = Value::nil(); - rt::cons(&__t859, &__t860) + let __t816 = Value::sym(interp.intern_static("if")); + let __t847 = { + let __t823 = { + let __t817 = Value::sym(interp.intern_static("shen.hds=?")); + let __t822 = { + let __t818 = v_V335.clone(); + let __t821 = { + let __t819 = v_V336.clone(); + let __t820 = Value::nil(); + rt::cons(&__t819, &__t820) }; - rt::cons(&__t858, &__t861) + rt::cons(&__t818, &__t821) }; - rt::cons(&__t857, &__t862) + rt::cons(&__t817, &__t822) }; - let __t886 = { - let __t880 = { - let __t864 = Value::sym(interp.intern("let")); - let __t879 = { - let __t865 = v_W339.clone(); - let __t878 = { - let __t870 = { - let __t866 = Value::sym(interp.intern("tail")); - let __t869 = { - let __t867 = v_V335.clone(); - let __t868 = Value::nil(); - rt::cons(&__t867, &__t868) + let __t846 = { + let __t840 = { + let __t824 = Value::sym(interp.intern_static("let")); + let __t839 = { + let __t825 = v_W339.clone(); + let __t838 = { + let __t830 = { + let __t826 = Value::sym(interp.intern_static("tail")); + let __t829 = { + let __t827 = v_V335.clone(); + let __t828 = Value::nil(); + rt::cons(&__t827, &__t828) }; - rt::cons(&__t866, &__t869) + rt::cons(&__t826, &__t829) }; - let __t877 = { - let __t875 = { - let __t871 = v_V334.clone(); - let __t872 = v_W339.clone(); - let __t873 = v_V337.clone(); - let __t874 = v_V338.clone(); - rt::apply_direct( + let __t837 = { + let __t835 = { + let __t831 = v_V334.clone(); + let __t832 = v_W339.clone(); + let __t833 = v_V337.clone(); + let __t834 = v_V338.clone(); + aot_shen_x2e_yacc_x2d_syntax( interp, - "shen.yacc-syntax", - &[__t871, __t872, __t873, __t874], + &[__t831, __t832, __t833, __t834], )? }; - let __t876 = Value::nil(); - rt::cons(&__t875, &__t876) + let __t836 = Value::nil(); + rt::cons(&__t835, &__t836) }; - rt::cons(&__t870, &__t877) + rt::cons(&__t830, &__t837) }; - rt::cons(&__t865, &__t878) + rt::cons(&__t825, &__t838) }; - rt::cons(&__t864, &__t879) + rt::cons(&__t824, &__t839) }; - let __t885 = { - let __t883 = { - let __t881 = Value::sym(interp.intern("shen.parse-failure")); - let __t882 = Value::nil(); - rt::cons(&__t881, &__t882) + let __t845 = { + let __t843 = { + let __t841 = Value::sym(interp.intern_static("shen.parse-failure")); + let __t842 = Value::nil(); + rt::cons(&__t841, &__t842) }; - let __t884 = Value::nil(); - rt::cons(&__t883, &__t884) + let __t844 = Value::nil(); + rt::cons(&__t843, &__t844) }; - rt::cons(&__t880, &__t885) + rt::cons(&__t840, &__t845) }; - rt::cons(&__t863, &__t886) + rt::cons(&__t823, &__t846) }; - rt::cons(&__t856, &__t887) + rt::cons(&__t816, &__t847) }); } } @@ -4666,34 +4460,34 @@ pub fn aot_shen_x2e_hds_x3d__x3f_(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { { - let __t895 = { - let __t893 = { - let __t889 = v_V347.clone(); - rt::is_cons(&__t889) + let __t855 = { + let __t853 = { + let __t849 = v_V347.clone(); + rt::is_cons(&__t849) }; - if !rt::is_truthy(interp, &__t893)? { + if !rt::is_truthy(interp, &__t853)? { Value::bool(false) } else { - let __t894 = { - let __t891 = { - let __t890 = v_V347.clone(); - rt::hd(&__t890)? + let __t854 = { + let __t851 = { + let __t850 = v_V347.clone(); + rt::hd(&__t850)? }; - let __t892 = v_V348.clone(); - rt::eq(&__t891, &__t892) + let __t852 = v_V348.clone(); + rt::eq(&__t851, &__t852) }; - Value::bool(rt::is_truthy(interp, &__t894)?) + Value::bool(rt::is_truthy(interp, &__t854)?) } }; - if match rt::is_truthy(interp, &__t895) { + if match rt::is_truthy(interp, &__t855) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t888 = Value::bool(true); - if match rt::is_truthy(interp, &__t888) { + let __t848 = Value::bool(true); + if match rt::is_truthy(interp, &__t848) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4734,143 +4528,139 @@ pub fn aot_shen_x2e_conscode(interp: &mut Interp, args: &[Value]) -> ShenResult< loop { { let v_W354 = { - let __t896 = Value::sym(interp.intern("Remainder")); - rt::apply_direct(interp, "gensym", &[__t896])? + let __t856 = Value::sym(interp.intern_static("Remainder")); + rt::apply_direct(interp, "gensym", &[__t856])? }; { let v_W355 = { - let __t897 = Value::sym(interp.intern("Hd")); - rt::apply_direct(interp, "gensym", &[__t897])? + let __t857 = Value::sym(interp.intern_static("Hd")); + rt::apply_direct(interp, "gensym", &[__t857])? }; { let v_W356 = { - let __t898 = Value::sym(interp.intern("Tl")); - rt::apply_direct(interp, "gensym", &[__t898])? + let __t858 = Value::sym(interp.intern_static("Tl")); + rt::apply_direct(interp, "gensym", &[__t858])? }; break Ok({ - let __t899 = Value::sym(interp.intern("if")); - let __t949 = { - let __t904 = { - let __t900 = Value::sym(interp.intern("shen.ccons?")); - let __t903 = { - let __t901 = v_V350.clone(); - let __t902 = Value::nil(); - rt::cons(&__t901, &__t902) + let __t859 = Value::sym(interp.intern_static("if")); + let __t909 = { + let __t864 = { + let __t860 = Value::sym(interp.intern_static("shen.ccons?")); + let __t863 = { + let __t861 = v_V350.clone(); + let __t862 = Value::nil(); + rt::cons(&__t861, &__t862) }; - rt::cons(&__t900, &__t903) + rt::cons(&__t860, &__t863) }; - let __t948 = { - let __t942 = { - let __t905 = Value::sym(interp.intern("let")); - let __t941 = { - let __t906 = v_W355.clone(); - let __t940 = { - let __t911 = { - let __t907 = Value::sym(interp.intern("head")); - let __t910 = { - let __t908 = v_V350.clone(); - let __t909 = Value::nil(); - rt::cons(&__t908, &__t909) + let __t908 = { + let __t902 = { + let __t865 = Value::sym(interp.intern_static("let")); + let __t901 = { + let __t866 = v_W355.clone(); + let __t900 = { + let __t871 = { + let __t867 = + Value::sym(interp.intern_static("head")); + let __t870 = { + let __t868 = v_V350.clone(); + let __t869 = Value::nil(); + rt::cons(&__t868, &__t869) }; - rt::cons(&__t907, &__t910) + rt::cons(&__t867, &__t870) }; - let __t939 = { - let __t912 = v_W356.clone(); - let __t938 = { - let __t917 = { - let __t913 = - Value::sym(interp.intern("tail")); - let __t916 = { - let __t914 = v_V350.clone(); - let __t915 = Value::nil(); - rt::cons(&__t914, &__t915) + let __t899 = { + let __t872 = v_W356.clone(); + let __t898 = { + let __t877 = { + let __t873 = Value::sym( + interp.intern_static("tail"), + ); + let __t876 = { + let __t874 = v_V350.clone(); + let __t875 = Value::nil(); + rt::cons(&__t874, &__t875) }; - rt::cons(&__t913, &__t916) + rt::cons(&__t873, &__t876) }; - let __t937 = { - let __t935 = { - let __t918 = v_V349.clone(); - let __t919 = v_W355.clone(); - let __t925 = { - let __t921 = { - let __t920 = v_V351.clone(); - rt::apply_direct( + let __t897 = { + let __t895 = { + let __t878 = v_V349.clone(); + let __t879 = v_W355.clone(); + let __t885 = { + let __t881 = { + let __t880 = v_V351.clone(); + aot_shen_x2e_decons( interp, - "shen.decons", - &[__t920], + &[__t880], )? }; - let __t924 = { - let __t922 = Value::sym( - interp.intern(""), + let __t884 = { + let __t882 = Value::sym( + interp + .intern_static(""), ); - let __t923 = Value::nil(); - rt::cons(&__t922, &__t923) + let __t883 = Value::nil(); + rt::cons(&__t882, &__t883) }; rt::apply_direct( interp, "append", - &[__t921, __t924], + &[__t881, __t884], )? }; - let __t934 = { - let __t926 = Value::sym( - interp.intern("shen.processed"), + let __t894 = { + let __t886 = Value::sym( + interp.intern_static( + "shen.processed", + ), ); - let __t933 = { - let __t931 = { - let __t927 = v_V349.clone(); - let __t928 = v_W356.clone(); - let __t929 = v_V352.clone(); - let __t930 = v_V353.clone(); - rt::apply_direct( - interp, - "shen.yacc-syntax", - &[ - __t927, __t928, - __t929, __t930, - ], - )? + let __t893 = { + let __t891 = { + let __t887 = v_V349.clone(); + let __t888 = v_W356.clone(); + let __t889 = v_V352.clone(); + let __t890 = v_V353.clone(); + aot_shen_x2e_yacc_x2d_syntax(interp, &[__t887, __t888, __t889, __t890])? }; - let __t932 = Value::nil(); - rt::cons(&__t931, &__t932) + let __t892 = Value::nil(); + rt::cons(&__t891, &__t892) }; - rt::cons(&__t926, &__t933) + rt::cons(&__t886, &__t893) }; - rt::apply_direct( + aot_shen_x2e_yacc_x2d_syntax( interp, - "shen.yacc-syntax", - &[__t918, __t919, __t925, __t934], + &[__t878, __t879, __t885, __t894], )? }; - let __t936 = Value::nil(); - rt::cons(&__t935, &__t936) + let __t896 = Value::nil(); + rt::cons(&__t895, &__t896) }; - rt::cons(&__t917, &__t937) + rt::cons(&__t877, &__t897) }; - rt::cons(&__t912, &__t938) + rt::cons(&__t872, &__t898) }; - rt::cons(&__t911, &__t939) + rt::cons(&__t871, &__t899) }; - rt::cons(&__t906, &__t940) + rt::cons(&__t866, &__t900) }; - rt::cons(&__t905, &__t941) + rt::cons(&__t865, &__t901) }; - let __t947 = { - let __t945 = { - let __t943 = - Value::sym(interp.intern("shen.parse-failure")); - let __t944 = Value::nil(); - rt::cons(&__t943, &__t944) + let __t907 = { + let __t905 = { + let __t903 = + Value::sym(interp.intern_static("shen.parse-failure")); + let __t904 = Value::nil(); + rt::cons(&__t903, &__t904) }; - let __t946 = Value::nil(); - rt::cons(&__t945, &__t946) + let __t906 = Value::nil(); + rt::cons(&__t905, &__t906) }; - rt::cons(&__t942, &__t947) + rt::cons(&__t902, &__t907) }; - rt::cons(&__t904, &__t948) + rt::cons(&__t864, &__t908) }; - rt::cons(&__t899, &__t949) + rt::cons(&__t859, &__t909) }); } } @@ -4896,59 +4686,58 @@ pub fn aot_shen_x2e_ccons_x3f_(interp: &mut Interp, args: &[Value]) -> ShenResul #[allow(clippy::never_loop)] loop { { - let __t963 = { - let __t961 = { - let __t958 = v_V367.clone(); - rt::is_cons(&__t958) + let __t921 = { + let __t919 = { + let __t916 = v_V367.clone(); + rt::is_cons(&__t916) }; - if !rt::is_truthy(interp, &__t961)? { + if !rt::is_truthy(interp, &__t919)? { Value::bool(false) } else { - let __t962 = { - let __t960 = { - let __t959 = v_V367.clone(); - rt::hd(&__t959)? + let __t920 = { + let __t918 = { + let __t917 = v_V367.clone(); + rt::hd(&__t917)? }; - rt::is_cons(&__t960) + rt::is_cons(&__t918) }; - Value::bool(rt::is_truthy(interp, &__t962)?) + Value::bool(rt::is_truthy(interp, &__t920)?) } }; - if match rt::is_truthy(interp, &__t963) { + if match rt::is_truthy(interp, &__t921) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t957 = { - let __t955 = { - let __t951 = v_V367.clone(); - rt::is_cons(&__t951) + let __t915 = { + let __t913 = { + let __t911 = v_V367.clone(); + rt::is_cons(&__t911) }; - if !rt::is_truthy(interp, &__t955)? { + if !rt::is_truthy(interp, &__t913)? { Value::bool(false) } else { - let __t956 = { - let __t952 = Value::nil(); - let __t954 = { - let __t953 = v_V367.clone(); - rt::hd(&__t953)? - }; - rt::eq(&__t952, &__t954) - }; - Value::bool(rt::is_truthy(interp, &__t956)?) + let __t914 = Value::bool( + ({ + let __t912 = v_V367.clone(); + rt::hd(&__t912)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t914)?) } }; - if match rt::is_truthy(interp, &__t957) { + if match rt::is_truthy(interp, &__t915) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(true)); } else { { - let __t950 = Value::bool(true); - if match rt::is_truthy(interp, &__t950) { + let __t910 = Value::bool(true); + if match rt::is_truthy(interp, &__t910) { Ok(b) => b, Err(e) => break Err(e), } { @@ -4982,108 +4771,107 @@ pub fn aot_shen_x2e_decons(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t989 = { - let __t988 = { - let __t987 = v_V368.clone(); - rt::tl(&__t987)? + let __t943 = { + let __t942 = { + let __t941 = v_V368.clone(); + rt::tl(&__t941)? }; - rt::hd(&__t988)? + rt::hd(&__t942)? }; - let __t994 = { - let __t993 = { - let __t992 = { - let __t991 = { - let __t990 = v_V368.clone(); - rt::tl(&__t990)? + let __t948 = { + let __t947 = { + let __t946 = { + let __t945 = { + let __t944 = v_V368.clone(); + rt::tl(&__t944)? }; - rt::tl(&__t991)? + rt::tl(&__t945)? }; - rt::hd(&__t992)? + rt::hd(&__t946)? }; - rt::apply_direct(interp, "shen.decons", &[__t993])? + aot_shen_x2e_decons(interp, &[__t947])? }; - rt::cons(&__t989, &__t994) + rt::cons(&__t943, &__t948) }); } else { { - let __t964 = Value::bool(true); - if match rt::is_truthy(interp, &__t964) { + let __t922 = Value::bool(true); + if match rt::is_truthy(interp, &__t922) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5117,13 +4905,13 @@ pub fn aot_shen_x2e_comb(interp: &mut Interp, args: &[Value]) -> ShenResult S #[allow(clippy::never_loop)] loop { { - let __t1028 = { - let __t1024 = { - let __t1010 = v_V377.clone(); - rt::is_cons(&__t1010) + let __t978 = { + let __t974 = { + let __t964 = v_V377.clone(); + rt::is_cons(&__t964) }; - if !rt::is_truthy(interp, &__t1024)? { + if !rt::is_truthy(interp, &__t974)? { Value::bool(false) } else { - let __t1025 = { - let __t1022 = { - let __t1011 = Value::sym(interp.intern("shen.processed")); - let __t1013 = { - let __t1012 = v_V377.clone(); - rt::hd(&__t1012)? - }; - rt::eq(&__t1011, &__t1013) - }; - if !rt::is_truthy(interp, &__t1022)? { + let __t975 = { + let __t972 = Value::bool( + ({ + let __t965 = v_V377.clone(); + rt::hd(&__t965)? + }) + .as_sym() + == Some(interp.intern_static("shen.processed")), + ); + if !rt::is_truthy(interp, &__t972)? { Value::bool(false) } else { - let __t1023 = { - let __t1020 = { - let __t1015 = { - let __t1014 = v_V377.clone(); - rt::tl(&__t1014)? + let __t973 = { + let __t970 = { + let __t967 = { + let __t966 = v_V377.clone(); + rt::tl(&__t966)? }; - rt::is_cons(&__t1015) + rt::is_cons(&__t967) }; - if !rt::is_truthy(interp, &__t1020)? { + if !rt::is_truthy(interp, &__t970)? { Value::bool(false) } else { - let __t1021 = { - let __t1016 = Value::nil(); - let __t1019 = { - let __t1018 = { - let __t1017 = v_V377.clone(); - rt::tl(&__t1017)? + let __t971 = Value::bool( + ({ + let __t969 = { + let __t968 = v_V377.clone(); + rt::tl(&__t968)? }; - rt::tl(&__t1018)? - }; - rt::eq(&__t1016, &__t1019) - }; - Value::bool(rt::is_truthy(interp, &__t1021)?) + rt::tl(&__t969)? + }) + .is_nil(), + ); + Value::bool(rt::is_truthy(interp, &__t971)?) } }; - Value::bool(rt::is_truthy(interp, &__t1023)?) + Value::bool(rt::is_truthy(interp, &__t973)?) } }; - Value::bool(rt::is_truthy(interp, &__t1025)?) + Value::bool(rt::is_truthy(interp, &__t975)?) } }; - if match rt::is_truthy(interp, &__t1028) { + if match rt::is_truthy(interp, &__t978) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1027 = { - let __t1026 = v_V377.clone(); - rt::tl(&__t1026)? + let __t977 = { + let __t976 = v_V377.clone(); + rt::tl(&__t976)? }; - rt::hd(&__t1027)? + rt::hd(&__t977)? }); } else { { - let __t1009 = Value::bool(true); - if match rt::is_truthy(interp, &__t1009) { + let __t963 = Value::bool(true); + if match rt::is_truthy(interp, &__t963) { Ok(b) => b, Err(e) => break Err(e), } { { let v_W378 = { - let __t1000 = v_V377.clone(); - rt::apply_direct(interp, "shen.process-yacc-semantics", &[__t1000])? + let __t954 = v_V377.clone(); + aot_shen_x2e_process_x2d_yacc_x2d_semantics(interp, &[__t954])? }; { let v_W379 = { - let __t1001 = v_V375.clone(); - let __t1002 = v_W378.clone(); - rt::apply_direct( - interp, - "shen.use-type-info", - &[__t1001, __t1002], - )? + let __t955 = v_V375.clone(); + let __t956 = v_W378.clone(); + aot_shen_x2e_use_x2d_type_x2d_info(interp, &[__t955, __t956])? }; break Ok({ - let __t1003 = Value::sym(interp.intern("shen.comb")); - let __t1008 = { - let __t1004 = v_V376.clone(); - let __t1007 = { - let __t1005 = v_W379.clone(); - let __t1006 = Value::nil(); - rt::cons(&__t1005, &__t1006) + let __t957 = Value::sym(interp.intern_static("shen.comb")); + let __t962 = { + let __t958 = v_V376.clone(); + let __t961 = { + let __t959 = v_W379.clone(); + let __t960 = Value::nil(); + rt::cons(&__t959, &__t960) }; - rt::cons(&__t1004, &__t1007) + rt::cons(&__t958, &__t961) }; - rt::cons(&__t1003, &__t1008) + rt::cons(&__t957, &__t962) }); } } @@ -5281,242 +5064,220 @@ pub fn aot_shen_x2e_use_x2d_type_x2d_info( #[allow(clippy::never_loop)] loop { { - let __t1231 = { - let __t1219 = { - let __t1030 = v_V383.clone(); - rt::is_cons(&__t1030) + let __t1161 = { + let __t1149 = { + let __t980 = v_V383.clone(); + rt::is_cons(&__t980) }; - if !rt::is_truthy(interp, &__t1219)? { + if !rt::is_truthy(interp, &__t1149)? { Value::bool(false) } else { - let __t1220 = { - let __t1217 = { - let __t1031 = Value::sym(interp.intern("{")); - let __t1033 = { - let __t1032 = v_V383.clone(); - rt::hd(&__t1032)? - }; - rt::eq(&__t1031, &__t1033) - }; - if !rt::is_truthy(interp, &__t1217)? { + let __t1150 = { + let __t1147 = Value::bool( + ({ + let __t981 = v_V383.clone(); + rt::hd(&__t981)? + }) + .as_sym() + == Some(interp.intern_static("{")), + ); + if !rt::is_truthy(interp, &__t1147)? { Value::bool(false) } else { - let __t1218 = { - let __t1215 = { - let __t1035 = { - let __t1034 = v_V383.clone(); - rt::tl(&__t1034)? + let __t1148 = { + let __t1145 = { + let __t983 = { + let __t982 = v_V383.clone(); + rt::tl(&__t982)? }; - rt::is_cons(&__t1035) + rt::is_cons(&__t983) }; - if !rt::is_truthy(interp, &__t1215)? { + if !rt::is_truthy(interp, &__t1145)? { Value::bool(false) } else { - let __t1216 = { - let __t1213 = { - let __t1038 = { - let __t1037 = { - let __t1036 = v_V383.clone(); - rt::tl(&__t1036)? + let __t1146 = { + let __t1143 = { + let __t986 = { + let __t985 = { + let __t984 = v_V383.clone(); + rt::tl(&__t984)? }; - rt::hd(&__t1037)? + rt::hd(&__t985)? }; - rt::is_cons(&__t1038) + rt::is_cons(&__t986) }; - if !rt::is_truthy(interp, &__t1213)? { + if !rt::is_truthy(interp, &__t1143)? { Value::bool(false) } else { - let __t1214 = { - let __t1211 = { - let __t1039 = Value::sym(interp.intern("list")); - let __t1043 = { - let __t1042 = { - let __t1041 = { - let __t1040 = v_V383.clone(); - rt::tl(&__t1040)? + let __t1144 = { + let __t1141 = Value::bool( + ({ + let __t989 = { + let __t988 = { + let __t987 = v_V383.clone(); + rt::tl(&__t987)? }; - rt::hd(&__t1041)? + rt::hd(&__t988)? }; - rt::hd(&__t1042)? - }; - rt::eq(&__t1039, &__t1043) - }; - if !rt::is_truthy(interp, &__t1211)? { + rt::hd(&__t989)? + }) + .as_sym() + == Some(interp.intern_static("list")), + ); + if !rt::is_truthy(interp, &__t1141)? { Value::bool(false) } else { - let __t1212 = { - let __t1209 = { - let __t1047 = { - let __t1046 = { - let __t1045 = { - let __t1044 = - v_V383.clone(); - rt::tl(&__t1044)? + let __t1142 = { + let __t1139 = { + let __t993 = { + let __t992 = { + let __t991 = { + let __t990 = v_V383.clone(); + rt::tl(&__t990)? }; - rt::hd(&__t1045)? + rt::hd(&__t991)? }; - rt::tl(&__t1046)? + rt::tl(&__t992)? }; - rt::is_cons(&__t1047) + rt::is_cons(&__t993) }; - if !rt::is_truthy(interp, &__t1209)? { + if !rt::is_truthy(interp, &__t1139)? { Value::bool(false) } else { - let __t1210 = { - let __t1207 = { - let __t1048 = Value::nil(); - let __t1053 = { - let __t1052 = { - let __t1051 = { - let __t1050 = { - let __t1049 = + let __t1140 = { + let __t1137 = Value::bool( + ({ + let __t997 = { + let __t996 = { + let __t995 = { + let __t994 = v_V383 .clone( ); - rt::tl( - &__t1049, - )? + rt::tl(&__t994)? }; - rt::hd(&__t1050)? + rt::hd(&__t995)? }; - rt::tl(&__t1051)? + rt::tl(&__t996)? }; - rt::tl(&__t1052)? - }; - rt::eq(&__t1048, &__t1053) - }; - if !rt::is_truthy(interp, &__t1207)? + rt::tl(&__t997)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1137)? { Value::bool(false) } else { - let __t1208 = { - let __t1205 = { - let __t1056 = { - let __t1055 = { - let __t1054 = + let __t1138 = { + let __t1135 = { + let __t1000 = { + let __t999 = { + let __t998 = v_V383 .clone( ); - rt::tl( - &__t1054, - )? + rt::tl(&__t998)? }; - rt::tl(&__t1055)? + rt::tl(&__t999)? }; - rt::is_cons(&__t1056) + rt::is_cons(&__t1000) }; if !rt::is_truthy( - interp, &__t1205, + interp, &__t1135, )? { Value::bool(false) } else { - let __t1206 = { - let __t1203 = { - let __t1057 = Value::sym(interp.intern("-->")); - let __t1061 = { - let __t1060 = { - let __t1059 = { - let __t1058 = v_V383.clone(); - rt::tl(&__t1058)? - }; - rt::tl(&__t1059)? - }; - rt::hd(&__t1060)? - }; - rt::eq( - &__t1057, - &__t1061, - ) - }; + let __t1136 = { + let __t1133 = Value::bool(({ let __t1003 = { let __t1002 = { let __t1001 = v_V383.clone(); rt::tl(&__t1001)? }; rt::tl(&__t1002)? }; rt::hd(&__t1003)? }).as_sym() == Some(interp.intern_static("-->"))); if !rt::is_truthy( interp, - &__t1203, + &__t1133, )? { Value::bool( false, ) } else { - let __t1204 = { - let __t1201 = { - let __t1065 = { - let __t1064 = { let __t1063 = { let __t1062 = v_V383.clone(); rt::tl(&__t1062)? }; rt::tl(&__t1063)? }; - rt::tl(&__t1064)? + let __t1134 = { + let __t1131 = { + let __t1007 = { + let __t1006 = { let __t1005 = { let __t1004 = v_V383.clone(); rt::tl(&__t1004)? }; rt::tl(&__t1005)? }; + rt::tl(&__t1006)? }; - rt::is_cons(&__t1065) + rt::is_cons(&__t1007) }; - if !rt::is_truthy(interp, &__t1201)? { Value::bool(false) } else { let __t1202 = { let __t1199 = { let __t1070 = { let __t1069 = { let __t1068 = { let __t1067 = { let __t1066 = v_V383.clone(); rt::tl(&__t1066)? }; rt::tl(&__t1067)? }; rt::tl(&__t1068)? }; rt::hd(&__t1069)? }; rt::is_cons(&__t1070) }; if !rt::is_truthy(interp, &__t1199)? { Value::bool(false) } else { let __t1200 = { let __t1197 = { let __t1071 = Value::sym(interp.intern("str")); let __t1077 = { let __t1076 = { let __t1075 = { let __t1074 = { let __t1073 = { let __t1072 = v_V383.clone(); rt::tl(&__t1072)? }; rt::tl(&__t1073)? }; rt::tl(&__t1074)? }; rt::hd(&__t1075)? }; rt::hd(&__t1076)? }; rt::eq(&__t1071, &__t1077) }; if !rt::is_truthy(interp, &__t1197)? { Value::bool(false) } else { let __t1198 = { let __t1195 = { let __t1083 = { let __t1082 = { let __t1081 = { let __t1080 = { let __t1079 = { let __t1078 = v_V383.clone(); rt::tl(&__t1078)? }; rt::tl(&__t1079)? }; rt::tl(&__t1080)? }; rt::hd(&__t1081)? }; rt::tl(&__t1082)? }; rt::is_cons(&__t1083) }; if !rt::is_truthy(interp, &__t1195)? { Value::bool(false) } else { let __t1196 = { let __t1193 = { let __t1090 = { let __t1089 = { let __t1088 = { let __t1087 = { let __t1086 = { let __t1085 = { let __t1084 = v_V383.clone(); rt::tl(&__t1084)? }; rt::tl(&__t1085)? }; rt::tl(&__t1086)? }; rt::hd(&__t1087)? }; rt::tl(&__t1088)? }; rt::hd(&__t1089)? }; rt::is_cons(&__t1090) }; if !rt::is_truthy(interp, &__t1193)? { Value::bool(false) } else { let __t1194 = { let __t1191 = { let __t1091 = Value::sym(interp.intern("list")); let __t1099 = { let __t1098 = { let __t1097 = { let __t1096 = { let __t1095 = { let __t1094 = { let __t1093 = { let __t1092 = v_V383.clone(); rt::tl(&__t1092)? }; rt::tl(&__t1093)? }; rt::tl(&__t1094)? }; rt::hd(&__t1095)? }; rt::tl(&__t1096)? }; rt::hd(&__t1097)? }; rt::hd(&__t1098)? }; rt::eq(&__t1091, &__t1099) }; if !rt::is_truthy(interp, &__t1191)? { Value::bool(false) } else { let __t1192 = { let __t1189 = { let __t1107 = { let __t1106 = { let __t1105 = { let __t1104 = { let __t1103 = { let __t1102 = { let __t1101 = { let __t1100 = v_V383.clone(); rt::tl(&__t1100)? }; rt::tl(&__t1101)? }; rt::tl(&__t1102)? }; rt::hd(&__t1103)? }; rt::tl(&__t1104)? }; rt::hd(&__t1105)? }; rt::tl(&__t1106)? }; rt::is_cons(&__t1107) }; if !rt::is_truthy(interp, &__t1189)? { Value::bool(false) } else { let __t1190 = { let __t1187 = { let __t1108 = Value::nil(); let __t1117 = { let __t1116 = { let __t1115 = { let __t1114 = { let __t1113 = { let __t1112 = { let __t1111 = { let __t1110 = { let __t1109 = v_V383.clone(); rt::tl(&__t1109)? }; rt::tl(&__t1110)? }; rt::tl(&__t1111)? }; rt::hd(&__t1112)? }; rt::tl(&__t1113)? }; rt::hd(&__t1114)? }; rt::tl(&__t1115)? }; rt::tl(&__t1116)? }; rt::eq(&__t1108, &__t1117) }; if !rt::is_truthy(interp, &__t1187)? { Value::bool(false) } else { let __t1188 = { let __t1185 = { let __t1124 = { let __t1123 = { let __t1122 = { let __t1121 = { let __t1120 = { let __t1119 = { let __t1118 = v_V383.clone(); rt::tl(&__t1118)? }; rt::tl(&__t1119)? }; rt::tl(&__t1120)? }; rt::hd(&__t1121)? }; rt::tl(&__t1122)? }; rt::tl(&__t1123)? }; rt::is_cons(&__t1124) }; if !rt::is_truthy(interp, &__t1185)? { Value::bool(false) } else { let __t1186 = { let __t1183 = { let __t1125 = Value::nil(); let __t1133 = { let __t1132 = { let __t1131 = { let __t1130 = { let __t1129 = { let __t1128 = { let __t1127 = { let __t1126 = v_V383.clone(); rt::tl(&__t1126)? }; rt::tl(&__t1127)? }; rt::tl(&__t1128)? }; rt::hd(&__t1129)? }; rt::tl(&__t1130)? }; rt::tl(&__t1131)? }; rt::tl(&__t1132)? }; rt::eq(&__t1125, &__t1133) }; if !rt::is_truthy(interp, &__t1183)? { Value::bool(false) } else { let __t1184 = { let __t1181 = { let __t1138 = { let __t1137 = { let __t1136 = { let __t1135 = { let __t1134 = v_V383.clone(); rt::tl(&__t1134)? }; rt::tl(&__t1135)? }; rt::tl(&__t1136)? }; rt::tl(&__t1137)? }; rt::is_cons(&__t1138) }; if !rt::is_truthy(interp, &__t1181)? { Value::bool(false) } else { let __t1182 = { let __t1179 = { let __t1139 = Value::sym(interp.intern("}")); let __t1145 = { let __t1144 = { let __t1143 = { let __t1142 = { let __t1141 = { let __t1140 = v_V383.clone(); rt::tl(&__t1140)? }; rt::tl(&__t1141)? }; rt::tl(&__t1142)? }; rt::tl(&__t1143)? }; rt::hd(&__t1144)? }; rt::eq(&__t1139, &__t1145) }; if !rt::is_truthy(interp, &__t1179)? { Value::bool(false) } else { let __t1180 = { let __t1177 = { let __t1146 = Value::nil(); let __t1152 = { let __t1151 = { let __t1150 = { let __t1149 = { let __t1148 = { let __t1147 = v_V383.clone(); rt::tl(&__t1147)? }; rt::tl(&__t1148)? }; rt::tl(&__t1149)? }; rt::tl(&__t1150)? }; rt::tl(&__t1151)? }; rt::eq(&__t1146, &__t1152) }; if !rt::is_truthy(interp, &__t1177)? { Value::bool(false) } else { let __t1178 = { let __t1175 = { let __t1157 = { let __t1156 = { let __t1155 = { let __t1154 = { let __t1153 = v_V383.clone(); rt::tl(&__t1153)? }; rt::hd(&__t1154)? }; rt::tl(&__t1155)? }; rt::hd(&__t1156)? }; let __t1166 = { let __t1165 = { let __t1164 = { let __t1163 = { let __t1162 = { let __t1161 = { let __t1160 = { let __t1159 = { let __t1158 = v_V383.clone(); rt::tl(&__t1158)? }; rt::tl(&__t1159)? }; rt::tl(&__t1160)? }; rt::hd(&__t1161)? }; rt::tl(&__t1162)? }; rt::hd(&__t1163)? }; rt::tl(&__t1164)? }; rt::hd(&__t1165)? }; rt::eq(&__t1157, &__t1166) }; if !rt::is_truthy(interp, &__t1175)? { Value::bool(false) } else { let __t1176 = { let __t1174 = { let __t1173 = { let __t1172 = { let __t1171 = { let __t1170 = { let __t1169 = { let __t1168 = { let __t1167 = v_V383.clone(); rt::tl(&__t1167)? }; rt::tl(&__t1168)? }; rt::tl(&__t1169)? }; rt::hd(&__t1170)? }; rt::tl(&__t1171)? }; rt::tl(&__t1172)? }; rt::hd(&__t1173)? }; rt::apply_direct(interp, "shen.monomorphic?", &[__t1174])? }; Value::bool(rt::is_truthy(interp, &__t1176)?) } }; Value::bool(rt::is_truthy(interp, &__t1178)?) } }; Value::bool(rt::is_truthy(interp, &__t1180)?) } }; Value::bool(rt::is_truthy(interp, &__t1182)?) } }; Value::bool(rt::is_truthy(interp, &__t1184)?) } }; Value::bool(rt::is_truthy(interp, &__t1186)?) } }; Value::bool(rt::is_truthy(interp, &__t1188)?) } }; Value::bool(rt::is_truthy(interp, &__t1190)?) } }; Value::bool(rt::is_truthy(interp, &__t1192)?) } }; Value::bool(rt::is_truthy(interp, &__t1194)?) } }; Value::bool(rt::is_truthy(interp, &__t1196)?) } }; Value::bool(rt::is_truthy(interp, &__t1198)?) } }; Value::bool(rt::is_truthy(interp, &__t1200)?) } }; Value::bool(rt::is_truthy(interp, &__t1202)?) } + if !rt::is_truthy(interp, &__t1131)? { Value::bool(false) } else { let __t1132 = { let __t1129 = { let __t1012 = { let __t1011 = { let __t1010 = { let __t1009 = { let __t1008 = v_V383.clone(); rt::tl(&__t1008)? }; rt::tl(&__t1009)? }; rt::tl(&__t1010)? }; rt::hd(&__t1011)? }; rt::is_cons(&__t1012) }; if !rt::is_truthy(interp, &__t1129)? { Value::bool(false) } else { let __t1130 = { let __t1127 = Value::bool(({ let __t1017 = { let __t1016 = { let __t1015 = { let __t1014 = { let __t1013 = v_V383.clone(); rt::tl(&__t1013)? }; rt::tl(&__t1014)? }; rt::tl(&__t1015)? }; rt::hd(&__t1016)? }; rt::hd(&__t1017)? }).as_sym() == Some(interp.intern_static("str"))); if !rt::is_truthy(interp, &__t1127)? { Value::bool(false) } else { let __t1128 = { let __t1125 = { let __t1023 = { let __t1022 = { let __t1021 = { let __t1020 = { let __t1019 = { let __t1018 = v_V383.clone(); rt::tl(&__t1018)? }; rt::tl(&__t1019)? }; rt::tl(&__t1020)? }; rt::hd(&__t1021)? }; rt::tl(&__t1022)? }; rt::is_cons(&__t1023) }; if !rt::is_truthy(interp, &__t1125)? { Value::bool(false) } else { let __t1126 = { let __t1123 = { let __t1030 = { let __t1029 = { let __t1028 = { let __t1027 = { let __t1026 = { let __t1025 = { let __t1024 = v_V383.clone(); rt::tl(&__t1024)? }; rt::tl(&__t1025)? }; rt::tl(&__t1026)? }; rt::hd(&__t1027)? }; rt::tl(&__t1028)? }; rt::hd(&__t1029)? }; rt::is_cons(&__t1030) }; if !rt::is_truthy(interp, &__t1123)? { Value::bool(false) } else { let __t1124 = { let __t1121 = Value::bool(({ let __t1037 = { let __t1036 = { let __t1035 = { let __t1034 = { let __t1033 = { let __t1032 = { let __t1031 = v_V383.clone(); rt::tl(&__t1031)? }; rt::tl(&__t1032)? }; rt::tl(&__t1033)? }; rt::hd(&__t1034)? }; rt::tl(&__t1035)? }; rt::hd(&__t1036)? }; rt::hd(&__t1037)? }).as_sym() == Some(interp.intern_static("list"))); if !rt::is_truthy(interp, &__t1121)? { Value::bool(false) } else { let __t1122 = { let __t1119 = { let __t1045 = { let __t1044 = { let __t1043 = { let __t1042 = { let __t1041 = { let __t1040 = { let __t1039 = { let __t1038 = v_V383.clone(); rt::tl(&__t1038)? }; rt::tl(&__t1039)? }; rt::tl(&__t1040)? }; rt::hd(&__t1041)? }; rt::tl(&__t1042)? }; rt::hd(&__t1043)? }; rt::tl(&__t1044)? }; rt::is_cons(&__t1045) }; if !rt::is_truthy(interp, &__t1119)? { Value::bool(false) } else { let __t1120 = { let __t1117 = Value::bool(({ let __t1053 = { let __t1052 = { let __t1051 = { let __t1050 = { let __t1049 = { let __t1048 = { let __t1047 = { let __t1046 = v_V383.clone(); rt::tl(&__t1046)? }; rt::tl(&__t1047)? }; rt::tl(&__t1048)? }; rt::hd(&__t1049)? }; rt::tl(&__t1050)? }; rt::hd(&__t1051)? }; rt::tl(&__t1052)? }; rt::tl(&__t1053)? }).is_nil()); if !rt::is_truthy(interp, &__t1117)? { Value::bool(false) } else { let __t1118 = { let __t1115 = { let __t1060 = { let __t1059 = { let __t1058 = { let __t1057 = { let __t1056 = { let __t1055 = { let __t1054 = v_V383.clone(); rt::tl(&__t1054)? }; rt::tl(&__t1055)? }; rt::tl(&__t1056)? }; rt::hd(&__t1057)? }; rt::tl(&__t1058)? }; rt::tl(&__t1059)? }; rt::is_cons(&__t1060) }; if !rt::is_truthy(interp, &__t1115)? { Value::bool(false) } else { let __t1116 = { let __t1113 = Value::bool(({ let __t1067 = { let __t1066 = { let __t1065 = { let __t1064 = { let __t1063 = { let __t1062 = { let __t1061 = v_V383.clone(); rt::tl(&__t1061)? }; rt::tl(&__t1062)? }; rt::tl(&__t1063)? }; rt::hd(&__t1064)? }; rt::tl(&__t1065)? }; rt::tl(&__t1066)? }; rt::tl(&__t1067)? }).is_nil()); if !rt::is_truthy(interp, &__t1113)? { Value::bool(false) } else { let __t1114 = { let __t1111 = { let __t1072 = { let __t1071 = { let __t1070 = { let __t1069 = { let __t1068 = v_V383.clone(); rt::tl(&__t1068)? }; rt::tl(&__t1069)? }; rt::tl(&__t1070)? }; rt::tl(&__t1071)? }; rt::is_cons(&__t1072) }; if !rt::is_truthy(interp, &__t1111)? { Value::bool(false) } else { let __t1112 = { let __t1109 = Value::bool(({ let __t1077 = { let __t1076 = { let __t1075 = { let __t1074 = { let __t1073 = v_V383.clone(); rt::tl(&__t1073)? }; rt::tl(&__t1074)? }; rt::tl(&__t1075)? }; rt::tl(&__t1076)? }; rt::hd(&__t1077)? }).as_sym() == Some(interp.intern_static("}"))); if !rt::is_truthy(interp, &__t1109)? { Value::bool(false) } else { let __t1110 = { let __t1107 = Value::bool(({ let __t1082 = { let __t1081 = { let __t1080 = { let __t1079 = { let __t1078 = v_V383.clone(); rt::tl(&__t1078)? }; rt::tl(&__t1079)? }; rt::tl(&__t1080)? }; rt::tl(&__t1081)? }; rt::tl(&__t1082)? }).is_nil()); if !rt::is_truthy(interp, &__t1107)? { Value::bool(false) } else { let __t1108 = { let __t1105 = { let __t1087 = { let __t1086 = { let __t1085 = { let __t1084 = { let __t1083 = v_V383.clone(); rt::tl(&__t1083)? }; rt::hd(&__t1084)? }; rt::tl(&__t1085)? }; rt::hd(&__t1086)? }; let __t1096 = { let __t1095 = { let __t1094 = { let __t1093 = { let __t1092 = { let __t1091 = { let __t1090 = { let __t1089 = { let __t1088 = v_V383.clone(); rt::tl(&__t1088)? }; rt::tl(&__t1089)? }; rt::tl(&__t1090)? }; rt::hd(&__t1091)? }; rt::tl(&__t1092)? }; rt::hd(&__t1093)? }; rt::tl(&__t1094)? }; rt::hd(&__t1095)? }; rt::eq(&__t1087, &__t1096) }; if !rt::is_truthy(interp, &__t1105)? { Value::bool(false) } else { let __t1106 = { let __t1104 = { let __t1103 = { let __t1102 = { let __t1101 = { let __t1100 = { let __t1099 = { let __t1098 = { let __t1097 = v_V383.clone(); rt::tl(&__t1097)? }; rt::tl(&__t1098)? }; rt::tl(&__t1099)? }; rt::hd(&__t1100)? }; rt::tl(&__t1101)? }; rt::tl(&__t1102)? }; rt::hd(&__t1103)? }; aot_shen_x2e_monomorphic_x3f_(interp, &[__t1104])? }; Value::bool(rt::is_truthy(interp, &__t1106)?) } }; Value::bool(rt::is_truthy(interp, &__t1108)?) } }; Value::bool(rt::is_truthy(interp, &__t1110)?) } }; Value::bool(rt::is_truthy(interp, &__t1112)?) } }; Value::bool(rt::is_truthy(interp, &__t1114)?) } }; Value::bool(rt::is_truthy(interp, &__t1116)?) } }; Value::bool(rt::is_truthy(interp, &__t1118)?) } }; Value::bool(rt::is_truthy(interp, &__t1120)?) } }; Value::bool(rt::is_truthy(interp, &__t1122)?) } }; Value::bool(rt::is_truthy(interp, &__t1124)?) } }; Value::bool(rt::is_truthy(interp, &__t1126)?) } }; Value::bool(rt::is_truthy(interp, &__t1128)?) } }; Value::bool(rt::is_truthy(interp, &__t1130)?) } }; Value::bool(rt::is_truthy(interp, &__t1132)?) } }; - Value::bool(rt::is_truthy(interp, &__t1204)?) + Value::bool(rt::is_truthy(interp, &__t1134)?) } }; Value::bool( rt::is_truthy( interp, - &__t1206, + &__t1136, )?, ) } }; Value::bool(rt::is_truthy( - interp, &__t1208, + interp, &__t1138, )?) } }; Value::bool(rt::is_truthy( - interp, &__t1210, + interp, &__t1140, )?) } }; - Value::bool(rt::is_truthy(interp, &__t1212)?) + Value::bool(rt::is_truthy(interp, &__t1142)?) } }; - Value::bool(rt::is_truthy(interp, &__t1214)?) + Value::bool(rt::is_truthy(interp, &__t1144)?) } }; - Value::bool(rt::is_truthy(interp, &__t1216)?) + Value::bool(rt::is_truthy(interp, &__t1146)?) } }; - Value::bool(rt::is_truthy(interp, &__t1218)?) + Value::bool(rt::is_truthy(interp, &__t1148)?) } }; - Value::bool(rt::is_truthy(interp, &__t1220)?) + Value::bool(rt::is_truthy(interp, &__t1150)?) } }; - if match rt::is_truthy(interp, &__t1231) { + if match rt::is_truthy(interp, &__t1161) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1221 = Value::sym(interp.intern("type")); - let __t1230 = { - let __t1222 = v_V384.clone(); - let __t1229 = { - let __t1228 = { - let __t1227 = { - let __t1226 = { - let __t1225 = { - let __t1224 = { - let __t1223 = v_V383.clone(); - rt::tl(&__t1223)? + let __t1151 = Value::sym(interp.intern_static("type")); + let __t1160 = { + let __t1152 = v_V384.clone(); + let __t1159 = { + let __t1158 = { + let __t1157 = { + let __t1156 = { + let __t1155 = { + let __t1154 = { + let __t1153 = v_V383.clone(); + rt::tl(&__t1153)? }; - rt::tl(&__t1224)? + rt::tl(&__t1154)? }; - rt::tl(&__t1225)? + rt::tl(&__t1155)? }; - rt::hd(&__t1226)? + rt::hd(&__t1156)? }; - rt::tl(&__t1227)? + rt::tl(&__t1157)? }; - rt::tl(&__t1228)? + rt::tl(&__t1158)? }; - rt::cons(&__t1222, &__t1229) + rt::cons(&__t1152, &__t1159) }; - rt::cons(&__t1221, &__t1230) + rt::cons(&__t1151, &__t1160) }); } else { { - let __t1029 = Value::bool(true); - if match rt::is_truthy(interp, &__t1029) { + let __t979 = Value::bool(true); + if match rt::is_truthy(interp, &__t979) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5548,53 +5309,53 @@ pub fn aot_shen_x2e_monomorphic_x3f_(interp: &mut Interp, args: &[Value]) -> She #[allow(clippy::never_loop)] loop { { - let __t1241 = { - let __t1240 = v_V387.clone(); - rt::apply_direct(interp, "variable?", &[__t1240])? + let __t1171 = { + let __t1170 = v_V387.clone(); + rt::apply_direct(interp, "variable?", &[__t1170])? }; - if match rt::is_truthy(interp, &__t1241) { + if match rt::is_truthy(interp, &__t1171) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1239 = { - let __t1233 = v_V387.clone(); - rt::is_cons(&__t1233) + let __t1169 = { + let __t1163 = v_V387.clone(); + rt::is_cons(&__t1163) }; - if match rt::is_truthy(interp, &__t1239) { + if match rt::is_truthy(interp, &__t1169) { Ok(b) => b, Err(e) => break Err(e), } { { - let __t1236 = { - let __t1235 = { - let __t1234 = v_V387.clone(); - rt::hd(&__t1234)? + let __t1166 = { + let __t1165 = { + let __t1164 = v_V387.clone(); + rt::hd(&__t1164)? }; - rt::apply_direct(interp, "shen.monomorphic?", &[__t1235])? + aot_shen_x2e_monomorphic_x3f_(interp, &[__t1165])? }; - if !match rt::is_truthy(interp, &__t1236) { + if !match rt::is_truthy(interp, &__t1166) { Ok(b) => b, Err(e) => break Err(e), } { break Ok(Value::bool(false)); } else { { - let __t1238 = { - let __t1237 = v_V387.clone(); - rt::tl(&__t1237)? + let __t1168 = { + let __t1167 = v_V387.clone(); + rt::tl(&__t1167)? }; - v_V387 = __t1238; + v_V387 = __t1168; continue; } } } } else { { - let __t1232 = Value::bool(true); - if match rt::is_truthy(interp, &__t1232) { + let __t1162 = Value::bool(true); + if match rt::is_truthy(interp, &__t1162) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5631,112 +5392,109 @@ pub fn aot_shen_x2e_process_x2d_yacc_x2d_semantics( #[allow(clippy::never_loop)] loop { { - let __t1275 = { - let __t1271 = { - let __t1252 = v_V388.clone(); - rt::is_cons(&__t1252) + let __t1201 = { + let __t1197 = { + let __t1182 = v_V388.clone(); + rt::is_cons(&__t1182) }; - if !rt::is_truthy(interp, &__t1271)? { + if !rt::is_truthy(interp, &__t1197)? { Value::bool(false) } else { - let __t1272 = { - let __t1269 = { - let __t1253 = Value::sym(interp.intern("protect")); - let __t1255 = { - let __t1254 = v_V388.clone(); - rt::hd(&__t1254)? - }; - rt::eq(&__t1253, &__t1255) - }; - if !rt::is_truthy(interp, &__t1269)? { + let __t1198 = { + let __t1195 = Value::bool( + ({ + let __t1183 = v_V388.clone(); + rt::hd(&__t1183)? + }) + .as_sym() + == Some(interp.intern_static("protect")), + ); + if !rt::is_truthy(interp, &__t1195)? { Value::bool(false) } else { - let __t1270 = { - let __t1267 = { - let __t1257 = { - let __t1256 = v_V388.clone(); - rt::tl(&__t1256)? + let __t1196 = { + let __t1193 = { + let __t1185 = { + let __t1184 = v_V388.clone(); + rt::tl(&__t1184)? }; - rt::is_cons(&__t1257) + rt::is_cons(&__t1185) }; - if !rt::is_truthy(interp, &__t1267)? { + if !rt::is_truthy(interp, &__t1193)? { Value::bool(false) } else { - let __t1268 = { - let __t1265 = { - let __t1258 = Value::nil(); - let __t1261 = { - let __t1260 = { - let __t1259 = v_V388.clone(); - rt::tl(&__t1259)? + let __t1194 = { + let __t1191 = Value::bool( + ({ + let __t1187 = { + let __t1186 = v_V388.clone(); + rt::tl(&__t1186)? }; - rt::tl(&__t1260)? - }; - rt::eq(&__t1258, &__t1261) - }; - if !rt::is_truthy(interp, &__t1265)? { + rt::tl(&__t1187)? + }) + .is_nil(), + ); + if !rt::is_truthy(interp, &__t1191)? { Value::bool(false) } else { - let __t1266 = { - let __t1264 = { - let __t1263 = { - let __t1262 = v_V388.clone(); - rt::tl(&__t1262)? + let __t1192 = { + let __t1190 = { + let __t1189 = { + let __t1188 = v_V388.clone(); + rt::tl(&__t1188)? }; - rt::hd(&__t1263)? + rt::hd(&__t1189)? }; - rt::apply_direct( + aot_shen_x2e_non_x2d_terminal_x3f_( interp, - "shen.non-terminal?", - &[__t1264], + &[__t1190], )? }; - Value::bool(rt::is_truthy(interp, &__t1266)?) + Value::bool(rt::is_truthy(interp, &__t1192)?) } }; - Value::bool(rt::is_truthy(interp, &__t1268)?) + Value::bool(rt::is_truthy(interp, &__t1194)?) } }; - Value::bool(rt::is_truthy(interp, &__t1270)?) + Value::bool(rt::is_truthy(interp, &__t1196)?) } }; - Value::bool(rt::is_truthy(interp, &__t1272)?) + Value::bool(rt::is_truthy(interp, &__t1198)?) } }; - if match rt::is_truthy(interp, &__t1275) { + if match rt::is_truthy(interp, &__t1201) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1274 = { - let __t1273 = v_V388.clone(); - rt::tl(&__t1273)? + let __t1200 = { + let __t1199 = v_V388.clone(); + rt::tl(&__t1199)? }; - rt::hd(&__t1274)? + rt::hd(&__t1200)? }); } else { { - let __t1251 = { - let __t1247 = v_V388.clone(); - rt::is_cons(&__t1247) + let __t1181 = { + let __t1177 = v_V388.clone(); + rt::is_cons(&__t1177) }; - if match rt::is_truthy(interp, &__t1251) { + if match rt::is_truthy(interp, &__t1181) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1249 = { + let __t1179 = { rt::make_aot_closure( "", 1, move |interp, args| { let v_Z389 = args[0].clone(); Ok({ - let __t1248 = v_Z389.clone(); - rt::apply_direct( + let __t1178 = v_Z389.clone(); + aot_shen_x2e_process_x2d_yacc_x2d_semantics( interp, - "shen.process-yacc-semantics", - &[__t1248], + &[__t1178], )? }) }, @@ -5744,28 +5502,28 @@ pub fn aot_shen_x2e_process_x2d_yacc_x2d_semantics( interp, ) }; - let __t1250 = v_V388.clone(); - rt::apply_direct(interp, "map", &[__t1249, __t1250])? + let __t1180 = v_V388.clone(); + rt::apply_direct(interp, "map", &[__t1179, __t1180])? }); } else { { - let __t1246 = { - let __t1243 = v_V388.clone(); - rt::apply_direct(interp, "shen.non-terminal?", &[__t1243])? + let __t1176 = { + let __t1173 = v_V388.clone(); + aot_shen_x2e_non_x2d_terminal_x3f_(interp, &[__t1173])? }; - if match rt::is_truthy(interp, &__t1246) { + if match rt::is_truthy(interp, &__t1176) { Ok(b) => b, Err(e) => break Err(e), } { break Ok({ - let __t1244 = Value::sym(interp.intern("Action")); - let __t1245 = v_V388.clone(); - rt::apply_direct(interp, "concat", &[__t1244, __t1245])? + let __t1174 = Value::sym(interp.intern_static("Action")); + let __t1175 = v_V388.clone(); + rt::apply_direct(interp, "concat", &[__t1174, __t1175])? }); } else { { - let __t1242 = Value::bool(true); - if match rt::is_truthy(interp, &__t1242) { + let __t1172 = Value::bool(true); + if match rt::is_truthy(interp, &__t1172) { Ok(b) => b, Err(e) => break Err(e), } { @@ -5808,11 +5566,11 @@ pub fn aot_shen_x2e__x3c__x2d_out(interp: &mut Interp, args: &[Value]) -> ShenRe #[allow(clippy::never_loop)] loop { break Ok({ - let __t1277 = { - let __t1276 = v_V390.clone(); - rt::tl(&__t1276)? + let __t1203 = { + let __t1202 = v_V390.clone(); + rt::tl(&__t1202)? }; - rt::hd(&__t1277)? + rt::hd(&__t1203)? }); } } @@ -5835,8 +5593,8 @@ pub fn aot_shen_x2e_in_x2d__x3e_(interp: &mut Interp, args: &[Value]) -> ShenRes #[allow(clippy::never_loop)] loop { break Ok({ - let __t1278 = v_V391.clone(); - rt::hd(&__t1278)? + let __t1204 = v_V391.clone(); + rt::hd(&__t1204)? }); } } @@ -5859,13 +5617,13 @@ pub fn aot__x3c__x21__x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult ShenResult #[allow(clippy::never_loop)] loop { break Ok({ - let __t1283 = v_V393.clone(); - let __t1286 = { - let __t1284 = Value::nil(); - let __t1285 = Value::nil(); - rt::cons(&__t1284, &__t1285) + let __t1209 = v_V393.clone(); + let __t1212 = { + let __t1210 = Value::nil(); + let __t1211 = Value::nil(); + rt::cons(&__t1210, &__t1211) }; - rt::cons(&__t1283, &__t1286) + rt::cons(&__t1209, &__t1212) }); } } @@ -5917,32 +5675,28 @@ pub fn aot__x3c_end_x3e_(interp: &mut Interp, args: &[Value]) -> ShenResult b, Err(e) => break Err(e), } { break Ok({ - let __t1290 = Value::nil(); - let __t1293 = { - let __t1291 = Value::nil(); - let __t1292 = Value::nil(); - rt::cons(&__t1291, &__t1292) + let __t1214 = Value::nil(); + let __t1217 = { + let __t1215 = Value::nil(); + let __t1216 = Value::nil(); + rt::cons(&__t1215, &__t1216) }; - rt::cons(&__t1290, &__t1293) + rt::cons(&__t1214, &__t1217) }); } else { { - let __t1287 = Value::bool(true); - if match rt::is_truthy(interp, &__t1287) { + let __t1213 = Value::bool(true); + if match rt::is_truthy(interp, &__t1213) { Ok(b) => b, Err(e) => break Err(e), } { - break Ok({ rt::apply_direct(interp, "shen.parse-failure", &[])? }); + break Ok({ aot_shen_x2e_parse_x2d_failure(interp, &[])? }); } else { break Err(ShenError::new("cond: no clause matched")); } diff --git a/crates/shen-rust/src/aot/runtime.rs b/crates/shen-rust/src/aot/runtime.rs index cc1ccac..24ae6f3 100644 --- a/crates/shen-rust/src/aot/runtime.rs +++ b/crates/shen-rust/src/aot/runtime.rs @@ -324,3 +324,131 @@ pub fn is_symbol(v: &Value) -> Value { pub fn is_absvector(v: &Value) -> Value { Value::bool(v.is_vec()) } + +#[inline(always)] +pub fn is_empty(v: &Value) -> Value { + Value::bool(v.is_nil()) +} + +#[inline(always)] +pub fn not(interp: &Interp, v: &Value) -> ShenResult { + Ok(Value::bool(!is_truthy(interp, v)?)) +} + +#[inline(always)] +pub fn is_boolean(interp: &Interp, v: &Value) -> Value { + let b = v.as_bool().is_some() + || matches!(v.as_sym(), Some(s) if s == interp.well_known.k_true || s == interp.well_known.k_false); + Value::bool(b) +} + +#[inline(always)] +pub fn fail(interp: &Interp) -> Value { + Value::sym(interp.well_known.k_shen_fail) +} + +#[inline(always)] +pub fn intern(interp: &mut Interp, s: &Value) -> ShenResult { + match s.as_str() { + Some(s) => Ok(interp.intern_kl(s)), + None => Err(ShenError::new(format!("intern: not a string: {s:?}"))), + } +} + +#[inline(always)] +pub fn cn(a: &Value, b: &Value) -> ShenResult { + match (a.as_str(), b.as_str()) { + (Some(x), Some(y)) => { + let mut s = String::with_capacity(x.len() + y.len()); + s.push_str(x); + s.push_str(y); + Ok(Value::str(s)) + } + _ => Err(ShenError::new(format!( + "cn: strings only, got {a:?} and {b:?}" + ))), + } +} + +#[inline(always)] +pub fn hdstr(v: &Value) -> ShenResult { + match v.as_str() { + Some(s) => s + .chars() + .next() + .map(|c| Value::str(c.to_string())) + .ok_or_else(|| ShenError::new("hdstr: empty string")), + None => Err(ShenError::new(format!("hdstr: not a string: {v:?}"))), + } +} + +#[inline(always)] +pub fn tlstr(v: &Value) -> ShenResult { + match v.as_str() { + Some(s) => { + if s.is_empty() { + return Err(ShenError::new("tlstr: empty string")); + } + let first_len = s.chars().next().expect("non-empty").len_utf8(); + Ok(Value::str(&s[first_len..])) + } + None => Err(ShenError::new(format!("tlstr: not a string: {v:?}"))), + } +} + +#[inline(always)] +pub fn string_to_n(v: &Value) -> ShenResult { + match v.as_str() { + Some(s) => s + .chars() + .next() + .map(|c| Value::int(c as i64)) + .ok_or_else(|| ShenError::new("string->n: empty string")), + None => Err(ShenError::new(format!("string->n: not a string: {v:?}"))), + } +} + +#[inline(always)] +pub fn n_to_string(v: &Value) -> ShenResult { + match v.as_int() { + Some(n) => { + let c = char::from_u32(n as u32) + .ok_or_else(|| ShenError::new(format!("n->string: bad codepoint {n}")))?; + Ok(Value::str(String::from(c))) + } + None => Err(ShenError::new(format!("n->string: not an int: {v:?}"))), + } +} + +#[inline(always)] +pub fn address_ref(v: &Value, n: &Value) -> ShenResult { + match (v.is_vec(), n.as_int()) { + (true, Some(i)) => v + .vec_get_opt(i as usize) + .ok_or_else(|| ShenError::new(format!("<-address: out of range {i}"))), + _ => Err(ShenError::new(format!("<-address: bad args: {v:?}, {n:?}"))), + } +} + +#[inline(always)] +pub fn address_set(v: &Value, n: &Value, x: &Value) -> ShenResult { + match (v.is_vec(), n.as_int()) { + (true, Some(i)) => { + let idx = i as usize; + if idx >= v.vec_len() { + return Err(ShenError::new(format!("address->: out of range {i}"))); + } + v.vec_set(idx, *x); + Ok(*v) + } + _ => Err(ShenError::new(format!("address->: bad args: {v:?}, {n:?}"))), + } +} + +/// `(set NAME Val)` when NAME is a free symbol — intern_static + store. +#[inline(always)] +pub fn set_global(interp: &mut Interp, name: &'static str, val: Value) -> Value { + let sym = interp.intern_static(name); + interp.env.set_global(sym, val); + val +} diff --git a/crates/shen-rust/src/interp/boot.rs b/crates/shen-rust/src/interp/boot.rs index d9e2a81..8299946 100644 --- a/crates/shen-rust/src/interp/boot.rs +++ b/crates/shen-rust/src/interp/boot.rs @@ -182,6 +182,11 @@ pub fn boot_with_kernel(interp: &mut Interp, kernel_dir: &Path) -> ShenResult<() for name in KERNEL_FILES { load_kl_file(interp, &kernel_dir.join(name))?; + // `sys.kl` defuns `hash` over the native primitive. Re-assert the + // native before `declarations.kl` populates `*property-vector*`. + if *name == "sys.kl" { + crate::primitives::register_early_overrides(interp); + } } run_shen_initialise(interp)?; @@ -330,6 +335,7 @@ pub fn boot_from_kl_source( set_standard_streams(interp); eval_kl_source(interp, kernel_src, "shaken kernel", &[])?; + crate::primitives::register_early_overrides(interp); run_shen_initialise(interp)?; register_all_metadata(interp)?; diff --git a/crates/shen-rust/src/interp/eval.rs b/crates/shen-rust/src/interp/eval.rs index 398c54f..9863481 100644 --- a/crates/shen-rust/src/interp/eval.rs +++ b/crates/shen-rust/src/interp/eval.rs @@ -414,6 +414,8 @@ pub struct WellKnown { pub k_shen_null: SymId, /// `shen.fail!` (return value of `(fail)`). pub k_shen_fail: SymId, + /// `shen.tuple` tag in slot 0 of `@p` products. + pub k_shen_tuple: SymId, } impl WellKnown { @@ -438,6 +440,7 @@ impl WellKnown { k_shen_pvar: interner.intern("shen.pvar"), k_shen_null: interner.intern("shen.-null-"), k_shen_fail: interner.intern("shen.fail!"), + k_shen_tuple: interner.intern("shen.tuple"), } } } @@ -618,6 +621,16 @@ impl Interp { self.symbols.intern(name) } + /// KLambda `intern`: the textual names `true`/`false` are host booleans. + #[inline] + pub fn intern_kl(&mut self, name: &str) -> crate::value::Value { + match name { + "true" => crate::value::Value::bool(true), + "false" => crate::value::Value::bool(false), + _ => crate::value::Value::sym(self.intern(name)), + } + } + /// Resolve a `&'static str` call-target literal to its `SymId`, using /// the interner's pointer cache. Used by AOT-emitted call sites. #[inline] diff --git a/crates/shen-rust/src/primitives.rs b/crates/shen-rust/src/primitives.rs index 3ed887e..1b53703 100644 --- a/crates/shen-rust/src/primitives.rs +++ b/crates/shen-rust/src/primitives.rs @@ -14,8 +14,13 @@ use std::rc::Rc; use std::time::{SystemTime, UNIX_EPOCH}; use crate::error::{ShenError, ShenResult}; -use crate::interp::eval::Interp; -use crate::value::{shen_eq, Stream, Value}; +use crate::interp::eval::{DirectFn, Interp}; +use crate::value::{as_shen_bool, shen_eq, Stream, Value}; + +/// Cap oversized absvector/vector requests so an absurd size raises a +/// catchable Shen error instead of OOM-aborting. 2^24 (~16.7M slots) is +/// ~800× the largest vector the kernel itself allocates. +const MAX_ABSVECTOR: i64 = 1 << 24; /// Register every primitive in the function namespace. pub fn register_all(interp: &mut Interp) { @@ -25,73 +30,83 @@ pub fn register_all(interp: &mut Interp) { // kernel boot so globals survive boot side-effects. } +/// Dual-register a kernel override: the env closure *and* the AOT +/// direct-dispatch slot. Plain `fn`s only — capturing closures cannot +/// populate `aot_direct`, and AOT callers would otherwise skip the override. +fn override_kernel(interp: &mut Interp, name: &str, arity: usize, f: DirectFn) { + interp.register_native(name, arity, f); + interp.register_aot_direct(name, f); +} + +/// Overrides that must be live *before* `shen.initialise` / `declarations.kl` +/// populate `*property-vector*`. `hash` is the only one: `put`/`get` bucket +/// with `(hash key (limit V))`, and a different algorithm at populate vs +/// lookup corrupts the store. Shen/Scheme drops the kernel `hash` defun from +/// generated code for the same reason; we re-assert the native after `sys.kl` +/// (which would otherwise overwrite the primitive) and again after AOT install. +pub fn register_early_overrides(interp: &mut Interp) { + override_kernel(interp, "hash", 2, hot_hash); + // Property store: native put/get must be live before declarations.kl + // fills *property-vector*, same reason as hash. + override_kernel(interp, "put", 4, hot_put); + override_kernel(interp, "get", 3, hot_get); + override_kernel(interp, "unput", 3, hot_unput); +} + /// Override kernel-level Shen functions with native Rust implementations /// on hot paths. Per the upstream call-frequency table /// (`gist.github.com/otabat/0ffb06fb7517fcd11906086fcc511bee`), the /// per-test-suite call counts dwarf everything else: `element?` 12.6 M, -/// `shen.pvar?` 7 M, `shen.lazyderef` 3.5 M, `fail` 3.4 M. Inlining -/// these into Rust skips both the AOT trampoline and the kernel-level -/// `cond`/`absvector?` chain. Call **after** kernel boot so these -/// override the AOT-compiled defuns. +/// `shen.pvar?` 7 M, `shen.lazyderef` 3.5 M, `fail` 3.4 M. The rest follow +/// Shen/Scheme: the kernel ships portable-but-slow bodies (`integer?` is a +/// recursive subtraction, `symbol?` walks `str` through `analyse-symbol?`, +/// `hash` explodes the value to codepoints) that map to a handful of native +/// operations. Call **after** kernel boot so these override the AOT defuns. pub fn register_hot_overrides(interp: &mut Interp) { - // The six overrides below shadow AOT-compiled kernel defuns that have - // entries in the direct-dispatch table. They are plain `fn`s (not - // capturing closures) so they can be dual-registered — register_native - // for the closure world + register_aot_direct for the raw-pointer fast - // path — otherwise the kernel's own AOT callers (prolog, typechecker, - // the reader's load path) would dispatch past them via rt::apply_direct. - interp.register_native("element?", 2, hot_element_p); - interp.register_aot_direct("element?", hot_element_p); - - interp.register_native("shen.pvar?", 1, hot_pvar_p); - interp.register_aot_direct("shen.pvar?", hot_pvar_p); - - interp.register_native("shen.lazyderef", 2, hot_lazyderef); - interp.register_aot_direct("shen.lazyderef", hot_lazyderef); - - interp.register_native("fail", 0, hot_fail); - interp.register_aot_direct("fail", hot_fail); - - // value/or — read a global, calling a frozen default on miss - // instead of erroring. Native because the kernel's version routes - // through trap-error, which is expensive. - interp.register_native("value/or", 2, |interp, args| { - let sym = match args[0].as_sym() { - Some(s) => s, - None => { - return Err(ShenError::new(format!( - "value/or: arg 1 not a symbol: {:?}", - args[0] - ))) - } - }; - if let Some(v) = interp.env.get_global(sym).cloned() { - Ok(v) - } else { - // arg 2 is a frozen thunk: apply with no args. - interp.apply(args[1], vec![]) - } - }); + // Dual-registered so AOT callers (prolog, typechecker, reader) hit the + // native via rt::apply_direct rather than the kernel AOT body. + override_kernel(interp, "element?", 2, hot_element_p); + override_kernel(interp, "shen.pvar?", 1, hot_pvar_p); + override_kernel(interp, "shen.lazyderef", 2, hot_lazyderef); + override_kernel(interp, "fail", 0, hot_fail); + override_kernel(interp, "value/or", 2, hot_value_or); + override_kernel(interp, "<-address/or", 3, hot_address_or); + override_kernel(interp, "<-vector/or", 3, hot_vector_or); - // <-address/or — same idea but for absvector slot access. - interp.register_native("<-address/or", 3, |interp, args| { - if let Some(i) = args[1].as_int() { - if let Some(cell) = args[0].vec_get_opt(i as usize) { - return Ok(cell); - } - } - interp.apply(args[2], vec![]) - }); + // Shen/Scheme kernel overrides: portable bodies that are cheap natively. + register_early_overrides(interp); + override_kernel(interp, "not", 1, hot_not); + override_kernel(interp, "boolean?", 1, hot_boolean_p); + override_kernel(interp, "integer?", 1, hot_integer_p); + override_kernel(interp, "empty?", 1, hot_empty_p); + override_kernel(interp, "symbol?", 1, hot_symbol_p); + override_kernel(interp, "variable?", 1, hot_variable_p); + override_kernel(interp, "shen.analyse-symbol?", 1, hot_analyse_symbol_p); + override_kernel(interp, "@p", 2, hot_tuple); + override_kernel(interp, "tuple?", 1, hot_tuple_p); + override_kernel(interp, "fst", 1, hot_fst); + override_kernel(interp, "snd", 1, hot_snd); + override_kernel(interp, "vector", 1, hot_vector); + override_kernel(interp, "<-vector", 2, hot_vector_ref); + override_kernel(interp, "vector->", 3, hot_vector_set); + override_kernel(interp, "limit", 1, hot_limit); + override_kernel(interp, "hdstr", 1, hot_hdstr); + override_kernel(interp, "shen.byte->digit", 1, hot_byte_to_digit); + override_kernel(interp, "shen.digit?", 1, hot_digit_p); + override_kernel(interp, "shen.lowercase?", 1, hot_lowercase_p); + override_kernel(interp, "shen.uppercase?", 1, hot_uppercase_p); // read-file-as-bytelist / read-file-as-string — bulk file read // instead of byte-by-byte through `read-byte`. The kernel's // implementation is a recursive cons-builder; on a large source // file this dominates load time. - interp.register_native("read-file-as-bytelist", 1, hot_read_file_as_bytelist); - interp.register_aot_direct("read-file-as-bytelist", hot_read_file_as_bytelist); - - interp.register_native("read-file-as-string", 1, hot_read_file_as_string); - interp.register_aot_direct("read-file-as-string", hot_read_file_as_string); + override_kernel( + interp, + "read-file-as-bytelist", + 1, + hot_read_file_as_bytelist, + ); + override_kernel(interp, "read-file-as-string", 1, hot_read_file_as_string); // pr — print a string to a stream. The canonical kernel `pr` gates the // *whole* write on `*hush*` (see kernel/klambda/writer.kl), so under @@ -100,8 +115,7 @@ pub fn register_hot_overrides(interp: &mut Interp) { // That gate is only meant to silence interactive console chatter, so we // consult `*hush*` ONLY when the target is the standard output stream; // writes to any other (file) stream always occur. See #2. - interp.register_native("pr", 2, hot_pr); - interp.register_aot_direct("pr", hot_pr); + override_kernel(interp, "pr", 2, hot_pr); register_shenx(interp); } @@ -229,6 +243,481 @@ fn hot_fail(interp: &mut Interp, _args: &[Value]) -> ShenResult { Ok(Value::sym(interp.well_known.k_shen_fail)) } +fn hot_value_or(interp: &mut Interp, args: &[Value]) -> ShenResult { + let sym = match args[0].as_sym() { + Some(s) => s, + None => { + return Err(ShenError::new(format!( + "value/or: arg 1 not a symbol: {:?}", + args[0] + ))) + } + }; + if let Some(v) = interp.env.get_global(sym).copied() { + Ok(v) + } else { + interp.apply(args[1], vec![]) + } +} + +fn hot_address_or(interp: &mut Interp, args: &[Value]) -> ShenResult { + if let Some(i) = args[1].as_int() { + if let Some(cell) = args[0].vec_get_opt(i as usize) { + return Ok(cell); + } + } + interp.apply(args[2], vec![]) +} + +/// Native `hash` matching kernel contract: result in `1..Bound`, never 0 +/// (bucket 0 stores the vector length). Algorithm need not match the kernel's +/// `hashkey`/`mod` — only the 0-guard must, since the same override is used +/// at both populate and lookup (Shen/Scheme `overrides.shen`). +fn hash_bound(v: &Value, bound: i64) -> ShenResult { + if bound < 1 { + return Err(ShenError::new(format!( + "hash: bound must be >= 1, got {bound}" + ))); + } + let mut h = DefaultHasher::new(); + value_hash(v, &mut h); + let r = (h.finish() % bound as u64) as i64; + Ok(if r == 0 { 1 } else { r }) +} + +fn hot_hash(_: &mut Interp, args: &[Value]) -> ShenResult { + match args[1].as_int() { + Some(bound) => Ok(Value::int(hash_bound(&args[0], bound)?)), + None => Err(ShenError::new(format!( + "hash: bad args: {:?}, {:?}", + args[0], args[1] + ))), + } +} + +fn hot_not(interp: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool(!shen_boolean(interp, &args[0])?)) +} + +fn hot_boolean_p(interp: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool(is_boolean(interp, &args[0]))) +} + +fn hot_integer_p(_: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool(is_shen_integer(&args[0]))) +} + +fn hot_empty_p(_: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool(args[0].is_nil())) +} + +fn hot_symbol_p(interp: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool(is_shen_symbol(interp, &args[0]))) +} + +fn hot_variable_p(interp: &mut Interp, args: &[Value]) -> ShenResult { + let v = &args[0]; + if is_boolean(interp, v) || v.is_number() || v.is_str() { + return Ok(Value::bool(false)); + } + let Some(s) = v.as_sym() else { + return Ok(Value::bool(false)); + }; + Ok(Value::bool(analyse_variable(interp.resolve(s)))) +} + +fn hot_analyse_symbol_p(_: &mut Interp, args: &[Value]) -> ShenResult { + match args[0].as_str() { + Some(s) if !s.is_empty() => Ok(Value::bool(analyse_symbol(s))), + Some(_) => Err(ShenError::new( + "implementation error in shen.analyse-symbol?", + )), + None => Err(ShenError::new(format!( + "shen.analyse-symbol?: not a string: {:?}", + args[0] + ))), + } +} + +fn hot_tuple(interp: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::absvector(vec![ + Value::sym(interp.well_known.k_shen_tuple), + args[0], + args[1], + ])) +} + +fn hot_tuple_p(interp: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool( + args[0].vec_get_opt(0).and_then(|c| c.as_sym()) == Some(interp.well_known.k_shen_tuple), + )) +} + +fn hot_fst(_: &mut Interp, args: &[Value]) -> ShenResult { + args[0] + .vec_get_opt(1) + .ok_or_else(|| ShenError::new(format!("fst: bad tuple: {:?}", args[0]))) +} + +fn hot_snd(_: &mut Interp, args: &[Value]) -> ShenResult { + args[0] + .vec_get_opt(2) + .ok_or_else(|| ShenError::new(format!("snd: bad tuple: {:?}", args[0]))) +} + +fn hot_vector(interp: &mut Interp, args: &[Value]) -> ShenResult { + let n = match args[0].as_int() { + Some(n) if n >= 0 => n, + _ => return Err(ShenError::new(format!("vector: bad arg: {:?}", args[0]))), + }; + let len = n.checked_add(1).ok_or_else(|| { + ShenError::new(format!("vector size {n} out of range (0..{MAX_ABSVECTOR})")) + })?; + if len > MAX_ABSVECTOR { + return Err(ShenError::new(format!( + "vector size {n} out of range (0..{MAX_ABSVECTOR})" + ))); + } + let fail = Value::sym(interp.well_known.k_shen_fail); + let mut cells = vec![fail; len as usize]; + cells[0] = Value::int(n); + Ok(Value::absvector(cells)) +} + +fn hot_vector_ref(interp: &mut Interp, args: &[Value]) -> ShenResult { + let i = match args[1].as_int() { + Some(i) => i, + None => { + return Err(ShenError::new(format!( + "<-vector: bad index: {:?}", + args[1] + ))) + } + }; + if i == 0 { + return Err(ShenError::new("cannot access 0th element of a vector\n")); + } + match args[0].vec_get_opt(i as usize) { + Some(v) if v.as_sym() == Some(interp.well_known.k_shen_fail) => { + Err(ShenError::new("vector element not found\n")) + } + Some(v) => Ok(v), + None => Err(ShenError::new("vector element not found\n")), + } +} + +fn hot_vector_set(_: &mut Interp, args: &[Value]) -> ShenResult { + let i = match args[1].as_int() { + Some(i) => i, + None => { + return Err(ShenError::new(format!( + "vector->: bad index: {:?}", + args[1] + ))) + } + }; + if i == 0 { + return Err(ShenError::new("cannot access 0th element of a vector\n")); + } + if !args[0].is_vec() { + return Err(ShenError::new(format!( + "vector->: not a vector: {:?}", + args[0] + ))); + } + let idx = i as usize; + if idx >= args[0].vec_len() { + return Err(ShenError::new(format!("vector->: out of range {i}"))); + } + args[0].vec_set(idx, args[2]); + Ok(args[0]) +} + +fn hot_limit(_: &mut Interp, args: &[Value]) -> ShenResult { + args[0] + .vec_get_opt(0) + .ok_or_else(|| ShenError::new(format!("limit: not a vector: {:?}", args[0]))) +} + +/// `(<-vector V N)` that returns the default thunk instead of erroring on +/// index 0, OOB, or an uninitialised `(fail)` slot. +fn hot_vector_or(interp: &mut Interp, args: &[Value]) -> ShenResult { + if let Some(i) = args[1].as_int() { + if i != 0 { + if let Some(v) = args[0].vec_get_opt(i as usize) { + if v.as_sym() != Some(interp.well_known.k_shen_fail) { + return Ok(v); + } + } + } + } + interp.apply(args[2], vec![]) +} + +/// `None` = uninitialised / OOB slot (kernel `<-vector` would error). +fn vector_bucket(interp: &Interp, dict: Value, key: &Value) -> ShenResult<(i64, Option)> { + let bound = dict + .vec_get_opt(0) + .and_then(|v| v.as_int()) + .ok_or_else(|| ShenError::new("put/get: not a vector"))?; + let h = hash_bound(key, bound)?; + let bucket = match dict.vec_get_opt(h as usize) { + Some(v) if v.as_sym() == Some(interp.well_known.k_shen_fail) => None, + Some(v) => Some(v), + None => None, + }; + Ok((h, bucket)) +} + +/// Association-list lookup: first pair whose `hd` equals `key`. +fn assoc_entry(key: &Value, mut list: Value) -> ShenResult> { + loop { + if list.is_nil() { + return Ok(None); + } + let (h, t) = match (list.head(), list.tail()) { + (Some(h), Some(t)) => (*h, *t), + _ => return Err(ShenError::new("attempt to search a non-list with assoc\n")), + }; + if let Some(hh) = h.head() { + if shen_eq(hh, key) { + return Ok(Some(h)); + } + } + list = t; + } +} + +fn change_pointer(key: Value, prop: Value, val: Value, bucket: Value) -> ShenResult { + if bucket.is_nil() { + return Ok(Value::cons( + Value::cons(Value::cons(key, Value::cons(prop, Value::nil())), val), + Value::nil(), + )); + } + let (h, t) = match (bucket.head(), bucket.tail()) { + (Some(h), Some(t)) => (*h, *t), + _ => { + return Err(ShenError::new( + "implementation error in shen.change-pointer-value", + )) + } + }; + let match_here = h.head().and_then(|pair| { + let k = pair.head()?; + let rest = pair.tail()?; + let p = rest.head()?; + let rest2 = rest.tail()?; + if rest2.is_nil() && shen_eq(k, &key) && shen_eq(p, &prop) { + Some(()) + } else { + None + } + }); + if match_here.is_some() { + let pair = h + .head() + .copied() + .ok_or_else(|| ShenError::new("implementation error in shen.change-pointer-value"))?; + Ok(Value::cons(Value::cons(pair, val), t)) + } else { + Ok(Value::cons(h, change_pointer(key, prop, val, t)?)) + } +} + +fn remove_pointer(key: Value, prop: Value, bucket: Value) -> ShenResult { + if bucket.is_nil() { + return Ok(Value::nil()); + } + let (h, t) = match (bucket.head(), bucket.tail()) { + (Some(h), Some(t)) => (*h, *t), + _ => { + return Err(ShenError::new( + "implementation error in shen.remove-pointer", + )) + } + }; + let match_here = h.head().and_then(|pair| { + let k = pair.head()?; + let rest = pair.tail()?; + let p = rest.head()?; + let rest2 = rest.tail()?; + if rest2.is_nil() && shen_eq(k, &key) && shen_eq(p, &prop) { + Some(()) + } else { + None + } + }); + if match_here.is_some() { + Ok(t) + } else { + Ok(Value::cons(h, remove_pointer(key, prop, t)?)) + } +} + +fn hot_put(interp: &mut Interp, args: &[Value]) -> ShenResult { + let (key, prop, val, dict) = (args[0], args[1], args[2], args[3]); + let (h, bucket) = vector_bucket(interp, dict, &key)?; + let new_bucket = change_pointer(key, prop, val, bucket.unwrap_or(Value::nil()))?; + let idx = h as usize; + if idx >= dict.vec_len() { + return Err(ShenError::new(format!("put: out of range {h}"))); + } + dict.vec_set(idx, new_bucket); + Ok(val) +} + +fn hot_get(interp: &mut Interp, args: &[Value]) -> ShenResult { + let (key, prop, dict) = (args[0], args[1], args[2]); + let (_h, bucket) = vector_bucket(interp, dict, &key)?; + let ks = value_to_str(interp, &key); + let ps = value_to_str(interp, &prop); + let Some(bucket) = bucket else { + return Err(ShenError::new(format!("{ks} has no attributes: {ps}\n"))); + }; + let needle = Value::cons(key, Value::cons(prop, Value::nil())); + match assoc_entry(&needle, bucket)? { + Some(entry) => entry + .tail() + .copied() + .ok_or_else(|| ShenError::new("implementation error in shen.change-pointer-value")), + None => Err(ShenError::new(format!( + "attribute {ps} not found for {ks}\n" + ))), + } +} + +fn hot_unput(interp: &mut Interp, args: &[Value]) -> ShenResult { + let (key, prop, dict) = (args[0], args[1], args[2]); + let (h, bucket) = vector_bucket(interp, dict, &key)?; + let new_bucket = remove_pointer(key, prop, bucket.unwrap_or(Value::nil()))?; + let idx = h as usize; + if idx >= dict.vec_len() { + return Err(ShenError::new(format!("unput: out of range {h}"))); + } + dict.vec_set(idx, new_bucket); + Ok(key) +} + +fn hot_hdstr(_: &mut Interp, args: &[Value]) -> ShenResult { + match args[0].as_str() { + Some(s) => s + .chars() + .next() + .map(|c| Value::str(c.to_string())) + .ok_or_else(|| ShenError::new("hdstr: empty string")), + None => Err(ShenError::new(format!( + "hdstr: not a string: {:?}", + args[0] + ))), + } +} + +fn hot_byte_to_digit(_: &mut Interp, args: &[Value]) -> ShenResult { + match args[0].as_int() { + Some(n) => Ok(Value::int(n - 48)), + None => Err(ShenError::new(format!( + "shen.byte->digit: not an int: {:?}", + args[0] + ))), + } +} + +fn hot_digit_p(_: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool( + args[0].as_int().is_some_and(|n| (48..=57).contains(&n)), + )) +} + +fn hot_lowercase_p(_: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool( + args[0].as_int().is_some_and(|n| (97..=122).contains(&n)), + )) +} + +fn hot_uppercase_p(_: &mut Interp, args: &[Value]) -> ShenResult { + Ok(Value::bool( + args[0].as_int().is_some_and(|n| (65..=90).contains(&n)), + )) +} + +fn is_boolean(interp: &Interp, v: &Value) -> bool { + v.as_bool().is_some() + || matches!(v.as_sym(), Some(s) if s == interp.well_known.k_true || s == interp.well_known.k_false) +} + +fn shen_boolean(interp: &Interp, v: &Value) -> ShenResult { + if let Some(b) = v.as_bool() { + return Ok(b); + } + match v.as_sym() { + Some(s) if s == interp.well_known.k_true => Ok(true), + Some(s) if s == interp.well_known.k_false => Ok(false), + _ => Err(ShenError::new(format!("not a boolean: {v:?}"))), + } +} + +fn is_shen_integer(v: &Value) -> bool { + if v.as_int().is_some() { + return true; + } + v.as_float() + .is_some_and(|x| x.is_finite() && x.fract() == 0.0) +} + +fn is_shen_symbol(interp: &Interp, v: &Value) -> bool { + if is_boolean(interp, v) + || v.is_number() + || v.is_str() + || v.is_cons() + || v.is_nil() + || v.is_vec() + { + return false; + } + let Some(s) = v.as_sym() else { + return false; + }; + let name = interp.resolve(s); + matches!(name, "{" | "}" | ":" | ";" | ",") || analyse_symbol(name) +} + +/// Kernel `shen.analyse-symbol?`: first char is `alpha?` (letter or misc), +/// rest are `alpha?` or digit. Misc is `=*/+-_?$!@~><&%'#.` — not `{ } : ; ,`. +fn analyse_symbol(s: &str) -> bool { + let bytes = s.as_bytes(); + if bytes.is_empty() { + return false; + } + is_symbol_alpha(bytes[0]) + && bytes[1..] + .iter() + .copied() + .all(|b| is_symbol_alpha(b) || b.is_ascii_digit()) +} + +fn analyse_variable(s: &str) -> bool { + let bytes = s.as_bytes(); + if bytes.is_empty() { + return false; + } + bytes[0].is_ascii_uppercase() + && bytes[1..] + .iter() + .copied() + .all(|b| is_symbol_alpha(b) || b.is_ascii_digit()) +} + +fn is_symbol_alpha(b: u8) -> bool { + matches!( + b, + b'a'..=b'z' + | b'A'..=b'Z' + | b'=' | b'-' | b'*' | b'/' | b'+' | b'_' | b'?' | b'$' | b'!' + | b'@' | b'~' | b'.' | b'>' | b'<' | b'&' | b'%' | b'\'' | b'#' | b'`' + ) +} + fn hot_read_file_as_bytelist(_: &mut Interp, args: &[Value]) -> ShenResult { let path = match args[0].as_str() { Some(s) => s.to_string(), @@ -329,10 +818,7 @@ fn register_core(interp: &mut Interp) { // --- symbols / strings --- interp.register_native("intern", 1, |interp, args| match args[0].as_str() { - Some(s) => { - let id = interp.intern(s); - Ok(Value::sym(id)) - } + Some(s) => Ok(interp.intern_kl(s)), None => Err(ShenError::new(format!( "intern: not a string: {:?}", args[0] @@ -445,9 +931,7 @@ fn register_core(interp: &mut Interp) { // --- vectors (absvectors) --- // Cap oversized requests so an absurd size raises a CATCHABLE Shen error // instead of OOM-aborting the whole process (e.g. `(absvector 100000000000)` - // from the reader-fuzz corpus). 2^24 (~16.7M slots) is ~800x the largest - // vector the kernel itself allocates; mirrors shen-go and shen-cl (#3). - const MAX_ABSVECTOR: i64 = 1 << 24; + // from the reader-fuzz corpus). Mirrors shen-go and shen-cl (#3). interp.register_native("absvector", 1, |_, args| match args[0].as_int() { Some(n) if (0..=MAX_ABSVECTOR).contains(&n) => { let len = n as usize; @@ -537,19 +1021,7 @@ fn register_core(interp: &mut Interp) { .unwrap_or(0.0); Ok(Value::float(secs)) }); - interp.register_native("hash", 2, |_, args| match args[1].as_int() { - Some(buckets) => { - let mut h = DefaultHasher::new(); - value_hash(&args[0], &mut h); - let buckets = buckets.max(1) as u64; - let v = (h.finish() % buckets) as i64 + 1; - Ok(Value::int(v)) - } - None => Err(ShenError::new(format!( - "hash: bad args: {:?}, {:?}", - args[0], args[1] - ))), - }); + interp.register_native("hash", 2, hot_hash); interp.register_native("apply", 2, |interp, args| { let f = args[0]; let argv = list_to_vec(&args[1]) @@ -889,19 +1361,22 @@ fn value_to_klexpr(v: &Value) -> ShenResult { } fn value_hash(v: &Value, h: &mut H) { - // Hash a small kind discriminant first, then the structural contents — the - // post-flip `Value` is a `Copy` word with no enum discriminant. + // Discriminants must match `shen_eq`: Bool and the symbols true/false + // share a bucket, as do Int N and Float N.0 (and +0.0/-0.0). if v.is_nil() { 0u8.hash(h); - } else if let Some(b) = v.as_bool() { + } else if let Some(b) = as_shen_bool(v) { 1u8.hash(h); b.hash(h); - } else if let Some(n) = v.as_int() { + } else if v.is_number() { 2u8.hash(h); - n.hash(h); - } else if let Some(x) = v.as_float() { - 3u8.hash(h); - x.to_bits().hash(h); + let x = v.as_number_f64().expect("is_number"); + let bits = if x == 0.0 { + 0.0f64.to_bits() + } else { + x.to_bits() + }; + bits.hash(h); } else if let Some(s) = v.as_str() { 4u8.hash(h); s.hash(h); diff --git a/crates/shen-rust/src/value.rs b/crates/shen-rust/src/value.rs index 7b6a215..c8d2836 100644 --- a/crates/shen-rust/src/value.rs +++ b/crates/shen-rust/src/value.rs @@ -942,6 +942,26 @@ pub fn shen_eq(a: &Value, b: &Value) -> bool { } } +/// Host `Bool` or the interned symbols `true` / `false`. +pub fn as_shen_bool(v: &Value) -> Option { + if let Some(b) = v.as_bool() { + return Some(b); + } + match v.as_sym() { + Some(s) => { + let (kt, kf) = boolean_sym_ids(); + if s == kt { + Some(true) + } else if s == kf { + Some(false) + } else { + None + } + } + None => None, + } +} + /// Process-wide cache of the `SymId`s for the kernel symbols `true` and /// `false`. Initialised once at interpreter boot via [`set_boolean_sym_ids`]. static BOOLEAN_SYM_IDS: std::sync::OnceLock<(SymId, SymId)> = std::sync::OnceLock::new(); diff --git a/crates/shen-rust/tests/library.rs b/crates/shen-rust/tests/library.rs index d84518b..fc287ea 100644 --- a/crates/shen-rust/tests/library.rs +++ b/crates/shen-rust/tests/library.rs @@ -171,6 +171,66 @@ fn kernel_type_predicates() { assert_eq!(eval(&mut i, "(variable? x)").as_bool(), Some(false)); assert_eq!(eval(&mut i, "(integer? 42)").as_bool(), Some(true)); assert_eq!(eval(&mut i, "(integer? 4.5)").as_bool(), Some(false)); + assert_eq!(eval(&mut i, "(integer? 4.0)").as_bool(), Some(true)); + assert_eq!(eval(&mut i, "(empty? ())").as_bool(), Some(true)); + assert_eq!(eval(&mut i, "(empty? (cons 1 ()))").as_bool(), Some(false)); + assert_eq!(eval(&mut i, "(boolean? true)").as_bool(), Some(true)); + assert_eq!(eval(&mut i, "(boolean? 1)").as_bool(), Some(false)); + assert_eq!(eval(&mut i, "(symbol? foo)").as_bool(), Some(true)); + assert_eq!(eval(&mut i, "(symbol? true)").as_bool(), Some(false)); + assert_eq!(eval(&mut i, "(symbol? {)").as_bool(), Some(true)); + assert_eq!(eval(&mut i, "(not false)").as_bool(), Some(true)); +} + +#[test] +fn tuple_and_vector_overrides() { + let mut i = fresh_booted(); + let t = eval(&mut i, "(@p 1 2)"); + assert!(t.is_vec()); + assert_eq!(eval(&mut i, "(tuple? (@p 1 2))").as_bool(), Some(true)); + assert_eq!(eval(&mut i, "(fst (@p 1 2))").as_int(), Some(1)); + assert_eq!(eval(&mut i, "(snd (@p 1 2))").as_int(), Some(2)); + assert_eq!(eval(&mut i, "(limit (vector 3))").as_int(), Some(3)); + assert_eq!( + eval(&mut i, "(<-vector (vector-> (vector 1) 1 9) 1)").as_int(), + Some(9) + ); +} + +#[test] +fn hash_agrees_with_equality() { + let mut i = fresh_booted(); + let ht = eval(&mut i, r#"(hash true 1009)"#).as_int(); + let hi = eval(&mut i, r#"(hash (intern "true") 1009)"#).as_int(); + assert_eq!(ht, hi, "Bool true and interned true must hash equal"); + let h1 = eval(&mut i, "(hash 1 1009)").as_int(); + let hf = eval(&mut i, "(hash 1.0 1009)").as_int(); + assert_eq!(h1, hf, "1 and 1.0 must hash equal"); +} + +#[test] +fn hash_never_returns_zero() { + let mut i = fresh_booted(); + for n in 0..32 { + let h = eval(&mut i, &format!("(hash {n} 7)")); + let v = h.as_int().expect("hash int"); + assert!((1..=7).contains(&v), "hash {n} 7 = {v}"); + } +} + +#[test] +fn put_get_roundtrip() { + let mut i = fresh_booted(); + eval(&mut i, "(put foo bar 42 (value *property-vector*))"); + assert_eq!( + eval(&mut i, "(get foo bar (value *property-vector*))").as_int(), + Some(42) + ); + eval(&mut i, "(put foo bar 7 (value *property-vector*))"); + assert_eq!( + eval(&mut i, "(get foo bar (value *property-vector*))").as_int(), + Some(7) + ); } #[test] diff --git a/crates/shen-rust/tests/primitives_coverage.rs b/crates/shen-rust/tests/primitives_coverage.rs index c690f39..d2e79d7 100644 --- a/crates/shen-rust/tests/primitives_coverage.rs +++ b/crates/shen-rust/tests/primitives_coverage.rs @@ -204,6 +204,9 @@ fn str_renders_non_finite_floats_lowercase() { fn intern_value_set() { let mut i = Interp::new(); assert!(ok(&mut i, r#"(intern "abc")"#).is_sym()); + // Host booleans: intern of the textual names, per port-performance.md. + assert_eq!(ok(&mut i, r#"(intern "true")"#).as_bool(), Some(true)); + assert_eq!(ok(&mut i, r#"(intern "false")"#).as_bool(), Some(false)); // set returns the value; value reads it back. assert_eq!(int(&mut i, "(set foo 99)"), 99); assert_eq!(int(&mut i, "(value foo)"), 99); @@ -292,8 +295,8 @@ fn hash_is_deterministic_and_in_range() { let b = int(&mut i, r#"(hash "session-token-42" 256)"#); assert_eq!(a, b, "hash must be deterministic for equal keys"); - // Bucket index lands in [1, 256] for many distinct keys (shen-rust's - // contract is `(h % buckets) + 1`). + // Bucket index lands in [1, 256] (kernel/Shen-Scheme 0-guard: never 0; + // bucket 0 stores the property-vector length). for n in 0..500 { let h = int(&mut i, &format!(r#"(hash "k{n}" 256)"#)); assert!( diff --git a/crates/shen-rust/tests/scheme_mapping_soundness.rs b/crates/shen-rust/tests/scheme_mapping_soundness.rs new file mode 100644 index 0000000..d6091db --- /dev/null +++ b/crates/shen-rust/tests/scheme_mapping_soundness.rs @@ -0,0 +1,132 @@ +//! Runtime soundness for Shen/Scheme-style mappings (Astra review). +//! +//! These cases are the ones 134/0 does not cover: trap-error that *uses* the +//! exception, operands that raise before the accessor, hash agreeing with `=`, +//! get miss messages, freeze captured by a lambda. Callees (hash/get/value) +//! are the native/AOT overrides; the enclosing form is tree-walked KL. + +use std::path::PathBuf; + +use shen_rust::error::ShenResult; +use shen_rust::interp::boot::boot_with_kernel; +use shen_rust::interp::eval::Interp; +use shen_rust::kl::parser::parse_one; +use shen_rust::value::Value; + +fn kernel_klambda_dir() -> PathBuf { + let mut p = PathBuf::from(env!("CARGO_MANIFEST_DIR")); + p.pop(); + p.pop(); + p.push("kernel"); + p.push("klambda"); + p +} + +fn fresh_booted() -> Interp { + let mut interp = Interp::new(); + boot_with_kernel(&mut interp, &kernel_klambda_dir()) + .unwrap_or_else(|e| panic!("kernel boot failed: {e}")); + interp +} + +fn eval_kl(interp: &mut Interp, src: &str) -> ShenResult { + let e = + parse_one(src, &mut interp.symbols).unwrap_or_else(|err| panic!("parse {src:?}: {err}")); + interp.eval(&e) +} + +fn ok(interp: &mut Interp, src: &str) -> Value { + eval_kl(interp, src).unwrap_or_else(|e| panic!("eval {src:?}: {e}")) +} + +#[test] +fn trap_error_handler_receives_exception() { + let mut i = fresh_booted(); + let v = ok( + &mut i, + r#"(trap-error (simple-error "boom") (lambda E (error-to-string E)))"#, + ); + assert_eq!(v.as_str(), Some("boom")); +} + +#[test] +fn trap_error_value_handler_uses_exn() { + let mut i = fresh_booted(); + let v = ok( + &mut i, + r#"(trap-error (value definitely-unbound-xyzzy) (lambda E (error-to-string E)))"#, + ); + let s = v.as_str().expect("string"); + assert!( + s.contains("unbound") || s.contains("definitely-unbound-xyzzy"), + "handler saw {s:?}" + ); +} + +#[test] +fn trap_error_catches_operand_error() { + let mut i = fresh_booted(); + let v = ok( + &mut i, + r#"(trap-error (<-vector (simple-error "boom") 1) (lambda E 42))"#, + ); + assert_eq!(v.as_int(), Some(42)); +} + +#[test] +fn intern_true_is_bool_and_hashes_with_true() { + let mut i = fresh_booted(); + assert_eq!(ok(&mut i, r#"(intern "true")"#).as_bool(), Some(true)); + assert_eq!(ok(&mut i, r#"(intern "false")"#).as_bool(), Some(false)); + assert_eq!( + ok(&mut i, r#"(= true (intern "true"))"#).as_bool(), + Some(true) + ); + assert_eq!( + ok(&mut i, r#"(hash true 1009)"#).as_int(), + ok(&mut i, r#"(hash (intern "true") 1009)"#).as_int() + ); + assert_eq!( + ok(&mut i, "(hash 1 1009)").as_int(), + ok(&mut i, "(hash 1.0 1009)").as_int() + ); +} + +#[test] +fn get_missing_key_has_no_attributes() { + let mut i = fresh_booted(); + let err = eval_kl( + &mut i, + "(get scheme-mapping-absent-key scheme-mapping-absent-prop (value *property-vector*))", + ) + .expect_err("missing get must error"); + let s = err.to_string(); + assert!( + s.contains("has no attributes") || s.contains("not found"), + "unexpected get miss: {s}" + ); +} + +#[test] +fn freeze_captured_by_lambda_still_thaws() { + let mut i = fresh_booted(); + let v = ok(&mut i, "(let G (freeze 7) ((lambda Y (thaw G)) 0))"); + assert_eq!(v.as_int(), Some(7)); +} + +#[test] +fn put_under_true_get_under_intern_true() { + let mut i = fresh_booted(); + ok( + &mut i, + r#"(put true scheme-mapping-prop 99 (value *property-vector*))"#, + ); + assert_eq!( + ok( + &mut i, + r#"(get (intern "true") scheme-mapping-prop (value *property-vector*))"# + ) + .as_int(), + Some(99) + ); +}