在某些Lisp方言(例如Elisp, Common Lisp),有一种称为反引号的特性。
它允许在构造列表时评估或插入其中一些元素。例如:
我猜,在 Haskell 中,某些反引号的子集可能如下所示:
我想知道,是否可以像这样将列表拼接起来,并且它是否已经实现。
它允许在构造列表时评估或插入其中一些元素。例如:
`(1 2 (3 (+ 4 5)))
⇒ (1 2 (3 (+ 4 5))) ; just quoted unevaluated list
`(1 2 (3 ,(+ 4 5)))
⇒ (1 2 (3 9)) ; (+ 4 5) has been evaluated
`(1 2 ,@(list 3 (+ 4 5)))
⇒ (1 2 3 9) ; (3 9) has been spliced into the list
我猜,在 Haskell 中,某些反引号的子集可能如下所示:
[backquote| 1, 2, @$(replicate 2 3), 2 + 2 |]
⇒ [1, 2, 3, 3, 4]
我想知道,是否可以像这样将列表拼接起来,并且它是否已经实现。