(in-package :my-package)
(shadow 'if)
(defmacro if (condition then else) `(cl:if (true? ,condition) ,then ,else))
(defgeneric true? (thing) t)
Defining appropriate defmethods to make things work the way you want is left as an exercise.
(in-package :my-package)
(shadow 'if)
(defmacro if (condition then else) `(cl:if (true? ,condition) ,then ,else))
(defgeneric true? (thing) t)
Defining appropriate defmethods to make things work the way you want is left as an exercise.