Does anyone know the algorithm that is being expressed here?

I am trying to understand the code... http://picolisp.com/wiki/?99p35

de prime-factors (N)
   (make
      (let (D 2  L (1 2 2 . (4 2 4 2 4 6 2 6 .))  M (sqrt N))
         (while (>= M D)
            (if (=0 (% N D))
               (setq M (sqrt (setq N (/ N (link D)))))
               (inc 'D (pop 'L)) ) )
         (link N) ) ) )

and  having difficulties understanding the purpose of the circular list.

/Lindsay

Reply via email to