32 lines
1.7 KiB
Racket
32 lines
1.7 KiB
Racket
|
|
(htdp-test 1 'quote '1)
|
|
(htdp-test (list 'quote 1) 'quote ''1)
|
|
(htdp-test "Hello" 'quote '"Hello")
|
|
(htdp-test (list 1 2) 'quote '(1 2))
|
|
(htdp-test (list 1 (list 2 "hi")) 'quote '(1 (2 "hi")))
|
|
|
|
(htdp-test 1 'qq `1)
|
|
(htdp-test '(1 2) 'qq `(1 2))
|
|
(htdp-test 7 'qq `,(+ 3 4))
|
|
(htdp-test '(1 3) 'qq `(1 ,(+ 1 2)))
|
|
(htdp-test '(99 88 77) 'qq `(,(* 11 9) ,(* 11 `8) ,`,(* 11 7)))
|
|
(htdp-test '(1 2 3 4) 'qq `(1 ,@(list 2 3) 4))
|
|
(htdp-test '(quasiquote 11) 'qq ``11)
|
|
(htdp-test '(quasiquote (unquote 11)) 'qq ``,11)
|
|
(htdp-test '(quasiquote (unquote 22)) 'qq ``,,(* 11 2))
|
|
(htdp-test '(quasiquote ((unquote-splicing (22)))) 'qq ``(,@(,@(list (* 11 2)))))
|
|
|
|
(htdp-syntax-test #'quasiquote "quasiquote: expected an open parenthesis before quasiquote, but found none")
|
|
(htdp-syntax-test #'`unquote "quasiquote: misuse of unquote within a quasiquoting backquote")
|
|
(htdp-syntax-test #'`unquote-splicing "quasiquote: misuse of ,@ or unquote-splicing within a quasiquoting backquote")
|
|
(htdp-syntax-test #'`(unquote-splicing 10) "quasiquote: misuse of ,@ or unquote-splicing within a quasiquoting backquote")
|
|
|
|
(htdp-syntax-test #'unquote "unquote: misuse of a comma or unquote, not under a quasiquoting backquote")
|
|
(htdp-syntax-test #'(unquote) "unquote: misuse of a comma or unquote, not under a quasiquoting backquote")
|
|
(htdp-syntax-test #'(unquote 10) "unquote: misuse of a comma or unquote, not under a quasiquoting backquote")
|
|
|
|
(htdp-syntax-test #'unquote-splicing "unquote-splicing: misuse of ,@ or unquote-splicing, not under a quasiquoting backquote")
|
|
(htdp-syntax-test #'(unquote-splicing (list 10)) "unquote-splicing: misuse of ,@ or unquote-splicing, not under a quasiquoting backquote")
|
|
|
|
(htdp-err/rt-test `(,@4) (exn-type-and-msg exn:fail:contract? "append: expects a list, given 4"))
|