Welcome to the CHICKEN Scheme pasting service
extKanren module-toplevel Kleisli function added by sytse on Fri Feb 5 13:40:13 2021
($λ (() force-block?) (#[operative $assert] (not? force-block?)) ($mlet ((#ignore (>> (|| (=<< /set ($dynamic-variable #[var #goal#] [settable]) (constant "goal")) (=<< /set ($dynamic-variable #[var #state#] [settable]) (constant "state")) (=<< /set ($dynamic-variable #[var #stream#] [settable]) (constant "stream")) (=<< /set ($dynamic-variable #[var #bad-stream#] [settable]) (constant "invalid-stream"))) (|| (=<< /set ($dynamic-variable #[var #var#] [settable]) (constant "var")) (=<< /set ($dynamic-variable #[var #var-counter#] [settable]) (constant 0))) (|| (=<< /set ($dynamic-variable #[var #custom-unifier#] [settable]) (constant ())) (=<< /set ($dynamic-variable #[var #custom-≡-processor#] [settable]) (constant ()))))) (node17 ($dynamic-variable #[var *kernel-module-env*] [settable])) (node26 (=<< /environment (pure ()) (constant (not-pairᵒ not-nullᵒ pairᵒ consᵒ nullᵒ ≡ set-state-data state-data $run* $run $fresh $condᵉ conj disj fail succeed empty-state var appendᵒ $condᵃ stream-delays stream-pull stream-take-all stream-take ext-s* ext-s unify-triangular unify with-custom-≡-processor with-custom-unifier reify* reify $lazy-choice unit choice walk* walk var var-index var? $λ/g call/goal mzero stream? state? goal?)) (=<< ^list (constant #{wrap:not-pairᵒ}) (constant #{wrap:not-nullᵒ}) (constant #{wrap:pairᵒ}) (constant #{wrap:consᵒ}) (constant #{wrap:nullᵒ}) (constant #{wrap:≡}) (constant #{wrap:set-state-data}) (constant #{wrap:state-data}) (constant #{$run*}) (constant #{$run}) (constant #{$fresh}) (constant #{$condᵉ}) (constant #{wrap:conj}) (constant #{wrap:disj}) (constant (%el:{encap} %uninterned:{#goal#} %uninterned:{+fail-goal:λ+})) (constant (%el:{encap} %uninterned:{#goal#} %uninterned:{+succeed-goal:λ+})) (constant (%el:{encap} %uninterned:{#state#} ())) (constant #{wrap:var}) (constant #{wrap:appendᵒ}) (constant #{$condᵃ}) (constant #{wrap:stream-delays}) (constant #{wrap:stream-pull}) (constant #{wrap:stream-take-all}) (constant #{wrap:stream-take}) (constant #{wrap:ext-s*}) (constant #{wrap:ext-s}) (constant #{wrap:unify-triangular}) (constant #{wrap:unify}) (/call-elisp %el:{kernel-make-dynamic-binder} %uninterned:{#custom-≡-processor#}) (/call-elisp %el:{kernel-make-dynamic-binder} %uninterned:{#custom-unifier#}) (constant #{wrap:reify*}) (=<< /wrap (/inline #{reify})) (constant #{$lazy-choice}) (constant #{wrap:unit}) (constant #{wrap:choice}) (constant #{wrap:walk*}) (constant #{wrap:walk}) (constant #{wrap:var}) (constant #{wrap:var-index}) (/call-elisp %el:{kernel-make-predicate} %uninterned:{#var#}) (constant #{$λ/g}) (constant #{wrap:call/goal}) (constant (%el:{encap} %uninterned:{#stream#})) (/call-elisp %el:{kernel-make-predicate} %uninterned:{#stream#}) (/call-elisp %el:{kernel-make-predicate} %uninterned:{#state#}) (/call-elisp %el:{kernel-make-predicate} %uninterned:{#goal#}))))) (>> (/set node17 node26) (^block-return #inert))))