Function: FIF

Documentation

returns new function evaluating 'if' to the applied arguments. if 'if' yields true, then 'then' is evaluated else 'else

Source

(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