opening it up with Common Lisp

Favorite weblogs

Lisp Related

Bill Clementson

Finding Lisp

Lemonodor

Lispmeister.com

Planet Lisp

Politics

Orcinus

Talking Points Memo

This Modern World

Working for Change

Other home

Polliblog

Recent Readings

Book review: Darwinia
Reviewed: Friday, August 11, 2006

Summer reading: Spin
Reviewed: Saturday, August 5, 2006

Runner
Reviewed: Tuesday, July 18, 2006

the Omnivoire's Delimma
Reviewed: Wednesday, July 12, 2006

the Golem's Eye
Reviewed: Wednesday, May 31, 2006





tinderbox
 width=

Metabang Infinite software loading bug fixed
Sunday, December 11, 2005

I finally managed to figure out the infinite loop problem in loading certain metabang systems. I believe that it is now fixed (and on the web, ASDF-Installable, etc.). The problem was in the asdf-system-connections extension. I had defined system-loaded-p as

(defun system-loaded-p (system-name)
  (let ((load-op (make-instance 'load-op))
        (system (find-system system-name nil)))
	(and system
	     (operation-done-p load-op system)
	     (null (traverse load-op system)))))

because I was under the impression that asdf::traverse was side-effect free. That was the wrong impression. A better definition of system-loaded-p is:

(defun system-loaded-p (system-name)
  (let ((load-op (make-instance 'load-op))
        (system (find-system system-name nil)))
    (handler-case 
	(and system 
	     (operation-done-p load-op system)
	     (null (traverse load-op system)))
      (error () 
	;; just treat any error as 'not loaded' for now...
	nil))))

My next goal is to redo moptilities on top of Closer to MOP.


|

Home | About | Quotes | Recent | Archives

Copyright -- Gary Warren King, 2004 - 2006