read-print: Add 'case' and 'cond' special forms.
* guix/read-print.scm (%special-forms): Add 'case' and 'cond'. * tests/read-print.scm: Add tests.
parent
ff9522fb69
commit
6db3b34d72
|
@ -255,6 +255,8 @@ expressions and blanks that were read."
|
||||||
;; symbol must appear within a (modify-phases ...) expression.
|
;; symbol must appear within a (modify-phases ...) expression.
|
||||||
(vhashq
|
(vhashq
|
||||||
('begin 1)
|
('begin 1)
|
||||||
|
('case 2)
|
||||||
|
('cond 1)
|
||||||
('lambda 2)
|
('lambda 2)
|
||||||
('lambda* 2)
|
('lambda* 2)
|
||||||
('match-lambda 1)
|
('match-lambda 1)
|
||||||
|
|
|
@ -141,6 +141,21 @@ expressions."
|
||||||
(let ((z (+ x y)))
|
(let ((z (+ x y)))
|
||||||
(* z z)))")
|
(* z z)))")
|
||||||
|
|
||||||
|
(test-pretty-print "\
|
||||||
|
(case x
|
||||||
|
((1)
|
||||||
|
'one)
|
||||||
|
((2)
|
||||||
|
'two))")
|
||||||
|
|
||||||
|
(test-pretty-print "\
|
||||||
|
(cond
|
||||||
|
((zero? x)
|
||||||
|
'zero)
|
||||||
|
((odd? x)
|
||||||
|
'odd)
|
||||||
|
(else #f))")
|
||||||
|
|
||||||
(test-pretty-print "\
|
(test-pretty-print "\
|
||||||
#~(string-append #$coreutils \"/bin/uname\")")
|
#~(string-append #$coreutils \"/bin/uname\")")
|
||||||
|
|
||||||
|
|
Reference in New Issue