[image] define: bad syntax in: #t > (lambda-if lambda#t 3 5) 3 > (lambda-if lambda#f 3 5) 5 > (lambda-if lambda#t 3 (/ 5 0)) /: division by zero > h # > (h) /: division by zero > (lambda-if lambda#t (lambda () 3) (lambda () (/ 5 0))) # > (lambda-if lambda#t (lambda () 3) (lambda () (/ 5 0))) 3 > (lambda-if lambda#f (lambda () 3) (lambda () (/ 5 0))) /: division by zero > (lambda-if lambda#t (lambda () (/ 5 0)) (lambda () 3) ) /: division by zero > (if #t (/ 5 0) 3) /: division by zero > (fact 5) 120 gamma: undefined; cannot reference an identifier before its definition > fact2: undefined; cannot reference an identifier before its definition > > (fact2 5) 120 > ((repeated gamma 0) 10) 10 > ((repeated gamma 0) 20) 20 > ((repeated gamma 0) 'error) error > ((repeated gamma 1) 'error) # > (((repeated gamma 1) 'error) 0) 1 > (((repeated gamma 1) 'error) 1) application: not a procedure; expected a procedure that can be applied to arguments given: error > (((repeated gamma 1) 'error) 2) application: not a procedure; expected a procedure that can be applied to arguments given: error > (((repeated gamma 2) 'error) 0) 1 > (((repeated gamma 2) 'error) 1) 1 > (((repeated gamma 2) 'error) 2) application: not a procedure; expected a procedure that can be applied to arguments given: error > (((repeated gamma 2) 'error) 5) application: not a procedure; expected a procedure that can be applied to arguments given: error > (((repeated gamma 6) 'error) 5) 120 > (gamma-inf) # > ((gamma-inf) 0) 1 > ((gamma-inf) 5) 120 > ((gamma-inf) 7) 5040 > > (fact3 5) 120 > (fact3 5) 120 > > (fact4 5) 120 > (fact4 7) 5040 > (fact4 7) 5040 > (fact4 7) 5040 > (fact4 7) 5040 >