- (make-procedure-decorator PREDICATE DECORATOR RETRIEVER [#:initializer INITIALIZER] [#:replace? REPLACE?]) -> procedure-decoratorprocedure
Returns a new procedure-decorator.
The RETRIEVER is a procedure of at least one argument, the current procedure decoration, returning the procedure decoration object. Any following arguments are from the procedure-decoration call that will invoke the RETRIEVER.
The INITIALIZER is a procedure of varying arity, returning the procedure decoration initial object. The arguments are from the decorate-procedure call that invokes the INITIALIZER. The INITIALIZER is invoked only once per procedure to decorate.
The default INITIALIZER is built from the DECORATOR. The DECORATOR will be called with a first argument of (void), and any other arguments from the decorate-procedure call.
The REPLACE? flag determines whether the procedure object of a decorated procedure will be replaced (become). The default is #f.