Subject: what means "cycle in precedence graph" ?

From: [email-masked]
Date: Mon, 22 May 95 14:17:50 +0200

I keep getting errors like  

	*** - DEFCLASS DOC=FILE-ERROR: inconsistent precedence graph, 
		cycle (#<STANDARD-CLASS SYS+ERROR>>

when trying to compile KEIM (a system supporting automatic theorem
proving).

Is CLISP too restrictive here or is this a serious problem?

---

From: [email-masked] (Joerg-Cyril Hoehle)
Date: Mon, 22 May 95 15:07:56 +0200

> Is CLISP too restrictive here or is this a serious problem?

CLISP is not too restrictive by CLtL2 but it is more restrictive than
say, CMU. It is a serious problem as you'll be obliged to search
through the defclass hierarchy to check where this inheritance problem
arises. You got a precedence conflict between the parents of your
class definitions. In some cases, just switching the order of the
superclasses in the defclass form helps.

An example of what is not allowed:

	(defclass foo () ())
	(defclass bar () ())
	(defclass backw (bar foo) ())
	(defclass bad1 (foo backw) ())		; bad
	(defclass ok1  (backw foo) ())		; works

 	Joerg Hoehle.
[email-masked]