gexp: Add printers for <gexp-input> and <gexp-output>.
* guix/gexp.scm (write-gexp-input, write-gexp-output): New procedures. (<gexp-input>, <gexp-output>): Use them as printers.
This commit is contained in:
parent
c568191a93
commit
f73286345e
|
@ -179,6 +179,15 @@ This is the declarative counterpart of the 'interned-file' monadic procedure."
|
||||||
(output gexp-input-output) ;string
|
(output gexp-input-output) ;string
|
||||||
(native? gexp-input-native?)) ;Boolean
|
(native? gexp-input-native?)) ;Boolean
|
||||||
|
|
||||||
|
(define (write-gexp-input input port)
|
||||||
|
(match input
|
||||||
|
(($ <gexp-input> thing output #f)
|
||||||
|
(format port "#<gexp-input ~s:~a>" thing output))
|
||||||
|
(($ <gexp-input> thing output #t)
|
||||||
|
(format port "#<gexp-input native ~s:~a>" thing output))))
|
||||||
|
|
||||||
|
(set-record-type-printer! <gexp-input> write-gexp-input)
|
||||||
|
|
||||||
(define* (gexp-input thing ;convenience procedure
|
(define* (gexp-input thing ;convenience procedure
|
||||||
#:optional (output "out")
|
#:optional (output "out")
|
||||||
#:key native?)
|
#:key native?)
|
||||||
|
@ -193,6 +202,13 @@ whether this should be considered a \"native\" input or not."
|
||||||
gexp-output?
|
gexp-output?
|
||||||
(name gexp-output-name))
|
(name gexp-output-name))
|
||||||
|
|
||||||
|
(define (write-gexp-output output port)
|
||||||
|
(match output
|
||||||
|
(($ <gexp-output> name)
|
||||||
|
(format port "#<gexp-output ~a>" name))))
|
||||||
|
|
||||||
|
(set-record-type-printer! <gexp-output> write-gexp-output)
|
||||||
|
|
||||||
(define raw-derivation
|
(define raw-derivation
|
||||||
(store-lift derivation))
|
(store-lift derivation))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue