Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Common Lisp equivalent of Haskell's replicate?

replicate is a function that takes an integer and a sequence and returns the sequence repeated n times.

E.g. replicate 3 ["a"] returns ["a", "a", "a"]

Does Common Lisp have an equivalent function, or do I have to write one?

like image 557
mcandre Avatar asked Apr 01 '11 19:04

mcandre


2 Answers

Use make-list

(make-list 3 :initial-element 'a)

It evaluates to

(A A A)
like image 89
augustss Avatar answered Nov 07 '22 14:11

augustss


(make-sequence 'list n :initial-element element)

HyperSpec

like image 5
wnoise Avatar answered Nov 07 '22 14:11

wnoise