On this page:
package-output
find-package-output
encode-package-output
transparent-package-output
8.12

13 Package Outputs🔗ℹ

 (require denxi/output) package: denxi

struct

(struct package-output (name steps make-subprogram))

  name : string?
  steps : list?
  make-subprogram : (-> subprogram?)
A package output is an instance of package-output. Each instance represents a named subprogram that claims to follow the instructions shown in steps.

Specifically, steps is a list of syntax objects or data that are suitable for use in mdo.

make-subprogram returns a subprogram that creates files. The subprogram does not need to be atomic, but it should mirror the content of steps.

procedure

(find-package-output name steps)  (or/c #f package-output?)

  name : string?
  steps : (listof package-output?)
Like findf, except the input list must consist of package outputs, and the search will only compare names.

procedure

(encode-package-output to-encode)  list?

  to-encode : package-output?

Any output created using output in the denxi or denxi/pkgdef languages are suitable for use with encode-package-output.

Returns a quoted output term suitable for use in a package definition. The term will use the elements of (package-output-steps to-encode), which means the correctness of the returned list depends on if (package-output-steps to-encode) and (package-output-make-subprogram to-encode) are equivalent.

syntax

(transparent-package-output name step ...)

 
  name : non-empty-string?
Expands to a new package-output where the package-output-steps and package-output-make-subprogram fields both use the provided sequence of steps.

Specifically, package-output-steps is '(mdo step ...) and package-output-make-subprogram is (lambda () (mdo step ...)).