Skip to content

Fix #177: Add pprinter for deftransform and defoptimizer

Raymond Toy requested to merge issue-177-pprint-deftransform into master

Print deftransform and defoptimizer neatly as if they were a defun.

We now get something like:

* (pprint '(c::deftransform float ((n prototype) (* single-float) * :when :both)
  '(%single-float n)))

(C:DEFTRANSFORM FLOAT ((N PROTOTYPE) (* SINGLE-FLOAT) * :WHEN :BOTH)
  '(%SINGLE-FLOAT N))
* (pprint '(c:defoptimizer (scale-float derive-type) ((f ex))
  (two-arg-derive-type f ex #'scale-float-derive-type-aux
		       #'scale-float)))

(C:DEFOPTIMIZER (SCALE-FLOAT DERIVE-TYPE) ((F EX))
  (TWO-ARG-DERIVE-TYPE F EX #'SCALE-FLOAT-DERIVE-TYPE-AUX #'SCALE-FLOAT))

Merge request reports