returns new function evaluating 'if' to the applied arguments. if 'if' yields true, then 'then' is evaluated else 'else
(defun fif (if then &optional else) "returns new function evaluating 'if' to the applied arguments. if 'if' yields true, then 'then' is evaluated else 'else" #'(lambda (&rest args) (if (apply if args) (apply then args) (when else (apply else args)))))Source Context