(def varline (typ id val) (if (in typ 'users 'syms 'toks 'bigtoks) (apply prs val) (is typ 'lines) (map prn val) (is typ 'yesno) (pr (if val 'yes 'no)) (is typ 'choice) (varline (cadr typ) nil val) (text-type typ) (pr (or val "")) (pr val)))
-----
(def varline (typ id val) (if (in typ 'users 'syms 'toks 'bigtoks) (apply prs val) (is typ 'lines) (map prn val) (is typ 'yesno) (pr (if val 'yes 'no)) (caris typ 'choice) (varline (cadr typ) nil val) (text-type typ) (pr (or val "")) (pr val))) (defpat varline-pat (,(typ (in typ 'users 'syms 'toks 'bigtoks)) _ val) (apply prs val) ('lines _ val) (map prn val) ('yesno _ val) (pr (if val 'yes 'no)) (('choice c) _ val) (varline c nil val) (,(typ (text-type typ)) _ val) (pr (or val "")) (_ __ val) (pr val))
(defpat varline-pat (,@(in _ 'users 'syms 'toks 'bigtoks) _ val) (apply prs val) ('lines _ val) (map prn val) ('yesno _ val) (pr (if val 'yes 'no)) (('choice c) _ val) (varline c nil val) (,@(text-type _) _ val) (pr (or val "")) (_ __ val) (pr val))