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