lisp fonction pour concaténer une liste de chaînes de caractères

J'ai besoin d'écrire une fonction qui va concaténer une liste dans une chaîne. exemple:

(concatString (les guillemets ("bonjour", "le monde"))) ==> "hello world"

voici ce que j'ai à ce jour:

(defun concatString (list)
  "A non-recursive function that concatenates a list of strings."
  (cond
   ((not (listp list))
     (princ "Error: argument to concatNR must be a list")(terpri) ())) ; check if parameter is a list

  (if (not (null list)) ;check if list is not null
      (let ((result (car list)))
        (dolist (item (cdr list))
          (if (stringp item)
              (setq result (concatenate result item)))          
        )
      )
  )
)

J'obtiens une Erreur": "bonjour", est illégale et d'spécificateur de type" message lorsque j'essaie de le lancer. J'ai essayé un tas de façons de modifier cette fonction et je n'ai pas été en mesure de le comprendre. quelqu'un a une idée?

OriginalL'auteur MBU | 2011-03-28