|
CHECK-STRUCT-TYPE: msg#00052lisp.corman
Here are some defstructs. Below is a backtrace in which check-struct-type complains that a c-variable instance is not a c-stream. Aside from the c-stream defstruct, the source contains no references to c-streams--they were a new-fangled cell I abandoned early on. The code which fails is: (defun c-install (self sn c) "Install cell C in slot named SN of instance SELF" (assert (typep c 'cell)) (setf (c-model c) self (c-slot-spec c) sn (md-slot-cell self sn) c (slot-value self sn) (when (typep c 'c-variable) (c-value c)))) This is a terribly inadequate bug report, thrown out FWIW because I am just going to try the same now on CLisp, and getting Cells to work on CormanLisp is not an immediate priority. I understand if no one follows up on this because the bug report is so shoddy, but I offer it anyway on the off chance some bug in and around (I guess) the setf logic jumps out at you. kt (defstructs and backtrace follow) (defstruct (cell (:conc-name nil)) c-waking-state c-model c-slot-spec c-value ) (defstruct (synapse (:include cell) (:conc-name nil)) c-user c-used synfire? synrelayvalue) (defstruct (c-user-notifying (:include cell) (:conc-name nil)) (c-users nil :type list)) (defstruct (c-unsteady (:include c-user-notifying) (:conc-name nil)) c-cyclicp c-deltap c-setting-p) (defstruct (c-variable (:include c-unsteady) (:conc-name nil)) ) (defstruct (c-ruled (:include c-unsteady) (:conc-name nil)) (c.state :unbound :type symbol) (c-rethinking 0 :type number) c-rule) (defstruct (c-independent ;; ;; these do not optimize away, because also these can be set after initial evaluation of the rule, ;; so users better stay tuned. ;; the whole idea here is that the old idea of having cv bodies evaluated immediately finally ;; broke down when we wanted to say :kids (cv (list (fm-other vertex))) ;; (:include c-ruled) (:conc-name nil))) (defconstant *c-usagect* 32) (defstruct (c-dependent (:include c-ruled) (:conc-name nil)) (c-useds nil :type list) (c-code nil :type list) ;; /// feature this out on production build (c-usage (make-array *c-usagect* :element-type 'bit :initial-element 0) :type vector) c-stalep ) (defstruct (c-stream (:include c-ruled) (:conc-name nil)) c-values) ;;; (defmacro cell~ (&body body) ;;; `(make-c-stream ;;; :c-rule (lambda ,@*c-lambda* ;;; ,@body))) (defstruct (c-drifter (:include c-dependent))) (defstruct (c-drifter-absolute (:include c-drifter))) ;;; An error occurred in function CHECK-STRUCT-TYPE: ;;; Error: The object #S( C-VARIABLE :C-WAKING-STATE NIL :C-MODEL NIL :C-SLOT-SPEC NIL :C-VALUE NIL :C-USERS NIL :C-CYCLICP NIL :C-DELTAP NIL :C-SETTING-P NIL ) is not a C-STREAM structure ;;; Entering Corman Lisp debug loop. ;;; Use :C followed by an option to exit. Type :HELP for help. ;;; Restart options: ;;; 1 Abort to top level. :b ;;; ERROR (File sys/conditions.lisp, line 463) ;;; COMMON-LISP::CHECK-STRUCT-TYPE (File sys/structures.lisp, line 92) ;;; CELLS::|(SETF C-MODEL)| (File D:\_distro-corman\cells\cell.lisp, line 173) ;;; CELLS::C-INSTALL (File D:\_distro-corman\cells\model-object.lisp, line 87) ;;; SHARED-INITIALIZE (File D:\_distro-corman\cells\model-object.lisp, line 98) ;;; APPLY (File sys/clos.lisp, line 1928) ;;; #< COMPILED-FUNCTION: #x1DBA228 > (File D:\_distro-corman\cells\model-object.lisp, line 98) ;;; FUNCALL (File sys/clos.lisp, line 1832) ;;; #< COMPILED-FUNCTION: #x1ADA508 > (File sys/clos.lisp, line 1714) ;;; FUNCALL (File sys/clos.lisp, line 1832) ;;; COMMON-LISP::SLOW-METHOD-LOOKUP (File sys/clos.lisp, line 1644) ;;; #< COMPILED-FUNCTION: #x1967A50 > (File sys/clos.lisp, line 1633) ;;; APPLY (File sys/clos.lisp, line 1928) ;;; INITIALIZE-INSTANCE (File sys/clos.lisp, line 2281) ;;; APPLY (File sys/clos.lisp, line 1928) ;;; #< COMPILED-FUNCTION: #x1BD5410 > (File sys/clos.lisp, line 2281) ;;; FUNCALL (File sys/clos.lisp, line 1832) ;;; INITIALIZE-INSTANCE ;;; FUNCALL (File sys/clos.lisp, line 1832) ;;; COMMON-LISP::SLOW-METHOD-LOOKUP (File sys/clos.lisp, line 1644) ;;; #< COMPILED-FUNCTION: #x1967A50 > (File sys/clos.lisp, line 1633) ;;; APPLY (File sys/clos.lisp, line 1928) ;;; MAKE-INSTANCE (File sys/clos.lisp, line 2281) ;;; APPLY (File sys/clos.lisp, line 1928) ;;; #< COMPILED-FUNCTION: #x1BD5348 > (File sys/clos.lisp, line 2281) ;;; FUNCALL (File sys/clos.lisp, line 1832) ;;; MAKE-INSTANCE (File sys/parse-c-decls.lisp, line 598) ;;; FUNCALL (File sys/clos.lisp, line 1832) ;;; #< COMPILED-FUNCTION: #x1967A50 > (File sys/clos.lisp, line 1633) -- kenny tilton clinisys, inc http://www.tilton-technology.com/ --------------------------------------------------------------- "Cells let us walk, talk, think, make love and realize the bath water is cold." -- Lorraine Lee Cudmore ------------------------ Yahoo! Groups Sponsor ---------------------~--> Get 128 Bit SSL Encryption! http://us.click.yahoo.com/xaxhjB/hdqFAA/xGHJAA/SyjtlB/TM ---------------------------------------------------------------------~-> To unsubscribe from this group, send an email to: cormanlisp-unsubscribe@xxxxxxxxxxxxxxx Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Screamer ported to Corman Lisp.: 00052, Chris Double |
|---|---|
| Next by Date: | conc-name nil + include => bug: 00052, Kenny Tilton |
| Previous by Thread: | Add dll reference to C# projecti: 00052, Jim Kelley |
| Next by Thread: | conc-name nil + include => bug: 00052, Kenny Tilton |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |