Lisp - nombre premier

Je suis en train d'apprendre lisp et j'ai quelques difficultés avec les nombres premiers. J'ai besoin d'une fonction is-prime et si c'est le premier que j'ai pour revenir t et si elle n'est pas-je retourner nil.

(prime 41) => t

(prime 35) => nil

Pour l'instant j'ai:

(defun is-prime (n d) 
  (if (= d 1) 
      (print "t") 
      (if (= (% n d) 0) 
          (print "nil") 
          (is-prime (n (- d 1) )))))

mais j'ai 2 paramètres, et je n'ai aucune idée de comment l'utiliser seul. De Plus, il ne fonctionne pas à tous. Quelqu'un peut-il m'aider? Merci!

OriginalL'auteur mad scientist | 2013-12-15