[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Port of PCL to TI



I am trying to bring up PCL on a TI MicroExplorer, and run into a few 
problems during compilation.  The first problem (shown at end of this 
note) occurred in DEFS.Lisp, where MAPC was getting a dotted list via a 
call from COMPILER::CW-EXPRESSION, via an earlier SETF expansion.  I 
patched (safely, I think?) around this problem with the following two 
functions and piece of advice:

(defun dotted-listp (arg)
  "T iff arg is a list, and its last cons is a dotted pair, else NIL"
  (and (listp arg) (not (eq nil (cdr (last arg))))))

(defun undotlist (alist)
  "alist assumed to be a dotted list, the list is 
   surgically changed to undotted form, and returned"
  (rplacd (last alist) (list (cdr (last alist)))) alist)

;;; advice to compiler::cw-expression to make sure the exp argument 
;;; isn't a dotted list resulting in a mapc error later on (mapc
;;; will try to take the car of an atom)

(advise compiler::cw-expression :before no-dotted-lists 0 
   (cond ((dotted-listp (first arglist))
	  ;; make a copy per TI manual
	  (setf arglist (copy-list arglist))
	  (undotlist (first arglist)))))

	The second problem encountered, and one that I have not yet
tackled, occurs during the compilation of VECTOR.LISP (also shown at
end of this note).  Any people to contact, helpful hints, or other
suggestions about PCL on the TI would be greatly appreciated.  

	Dan Larner
	Allen-Bradley Co., 1201 S. 2nd St., Milwaukee, WI 53204
	(414) 382-4096
	Larner@Score.Stanford.Edu

*********************
*** FIRST PROBLEM ***
*********************

> (pcl::compile-pcl)
Compiling TI-PATCHES...
Loading binary of TI-PATCHES...
.
.
.
Compiling FIN...
Loading binary of FIN...
Compiling DEFS...
<< While compiling |SETF GET-SETF-FUNCTION| >>
Error expanding macro SETF:
 The argument to CAR, #:G5586, was of the wrong type.
The function expected a cons.
Enter the window-based debugger? (Y, N, or A) No.

>>Trap #o20453 (ARGTYP CONS M-T T CAR CAR)
The argument to CAR, #:G5586, was of the wrong type.
The function expected a cons.
While in the function MAPC \ COMPILER::CW-EXPRESSION
 \ COMPILER:CW-TOP-LEVEL
Error occurred while compiling |SETF GET-SETF-FUNCTION|

Debugger entered while in the following function:

MAPC (P.C. = 17)
   Arg 0 (FCT): COMPILER::CW-EXPRESSION
   Arg 1 (LIST): #:G5586
   Rest arg (LISTS): NIL
Warning:  the default cons area is COMPILER::COMPILATION-AREA-2 in
#<DTP-STACK-GROUP SYS::MAIN-STACK-GROUP 640135>.

]Abort 

***********************
*** SECOND PROBLEM  ***
***********************

(pcl::compile-pcl)
Loading binary of TI-PATCHES...
.
.
.
Loading binary of BOOT...
Compiling VECTOR...

<< While compiling LOOKUP-PV-MISS-1 >>
Error in compile-time evaluation of (LOAD-DEFMETHOD (QUOTE STANDARD-METHOD)
(QUOTE LOOKUP-PV-MISS-1) (QUOTE NIL) (QUOTE (STANDARD-CLASS T T)) ...)
 The function SPEC is undefined.
Enter the window-based debugger? (Y, N, or A) No.

>>Trap #o31332 (TRANS-TRAP)
The function SPEC is undefined.
While in the function ENSURE-GENERIC-FUNCTION \ EARLY-ADD-NAMED-METHOD \
(:INTERNAL REDIRECT-EARLY-FUNCTION-INTERNAL 0)

Debugger entered while in the following function:

ENSURE-GENERIC-FUNCTION (P.C. = 81)
   Arg 0 (SPEC): LOOKUP-PV-MISS-1
   Rest arg (KEYS): NIL

] Meta-Control-B  Full Backtrace Of All 
ENSURE-GENERIC-FUNCTION (P.C. = 81)
   Arg 0 (SPEC): LOOKUP-PV-MISS-1
   Rest arg (KEYS): NIL

EARLY-ADD-NAMED-METHOD (P.C. = 28)
   Arg 0 (GENERIC-FUNCTION-NAME): LOOKUP-PV-MISS-1
   Arg 1 (QUALIFIERS): NIL
   Arg 2 (SPECIALIZERS): (STANDARD-CLASS T T)
   Arg 3 (ARGLIST): (CLASS SLOTS PV)
   Arg 4 (FUNCTION): (LAMBDA (CLASS SLOTS PV) (DECLARE (CLASS CLASS
STANDARD-CLASS)) (PROGN CLASS) (BLOCK LOOKUP-PV-MISS-1 (LET # # PV)))
   Rest arg (OPTIONS): (:DOCUMENTATION NIL)

(:INTERNAL REDIRECT-EARLY-FUNCTION-INTERNAL 0) (P.C. = 10)
   Rest arg (ARGS): (LOOKUP-PV-MISS-1 NIL (STANDARD-CLASS T T) (CLASS SLOTS
PV) (LAMBDA (CLASS SLOTS PV) (DECLARE #) (PROGN CLASS) (BLOCK
LOOKUP-PV-MISS-1 #)) :DOCUMENTATION NIL)

LOAD-DEFMETHOD-INTERNAL (P.C. = 105)
   Arg 0 (GF-SPEC): LOOKUP-PV-MISS-1
   Arg 1 (QUALIFIERS): NIL
   Arg 2 (SPECIALIZERS): (STANDARD-CLASS T T)
   Arg 3 (LAMBDA-LIST): (CLASS SLOTS PV)
   Arg 4 (DOC): NIL
   Arg 5 (ISL-CACHE-SYMBOL): NIL
   Arg 6 (PLIST): NIL
   Arg 7 (FN): (LAMBDA (CLASS SLOTS PV) (DECLARE (CLASS CLASS
STANDARD-CLASS)) (PROGN CLASS) (BLOCK LOOKUP-PV-MISS-1 (LET # # PV)))
   Arg 8 (METHOD-CLASS): STANDARD-METHOD

LOAD-DEFMETHOD (P.C. = 39)
   Arg 0 (CLASS): STANDARD-METHOD
   Arg 1 (NAME): LOOKUP-PV-MISS-1
   Arg 2 (QUALS): NIL
   Arg 3 (SPECLS): (STANDARD-CLASS T T)
   Arg 4 (LL): (CLASS SLOTS PV)
   Arg 5 (DOC): NIL
   Arg 6 (ISL-CACHE-SYMBOL): NIL
   Arg 7 (PLIST): NIL
   Arg 8 (FN): (LAMBDA (CLASS SLOTS PV) (DECLARE (CLASS CLASS
STANDARD-CLASS)) (PROGN CLASS) (BLOCK LOOKUP-PV-MISS-1 (LET # # PV)))

SYS:*EVAL (P.C. = 544)
   Arg 0 (FORM): (#<DTP-FUNCTION LOAD-DEFMETHOD 23444212> (QUOTE
STANDARD-METHOD) (QUOTE LOOKUP-PV-MISS-1) (QUOTE NIL) (QUOTE
(STANDARD-CLASS T T)) (QUOTE (CLASS SLOTS PV)) (QUOTE NIL) (QUOTE NIL) ...)

SYS:EVAL1 (P.C. = 27)
   Arg 0 (FORM): (#<DTP-FUNCTION LOAD-DEFMETHOD 23444212> (QUOTE
STANDARD-METHOD) (QUOTE LOOKUP-PV-MISS-1) (QUOTE NIL) (QUOTE
(STANDARD-CLASS T T)) (QUOTE (CLASS SLOTS PV)) (QUOTE NIL) (QUOTE NIL) ...)
   Arg 1 (NOHOOK): T

COMPILER:EVAL-FOR-TARGET (P.C. = 207)
   Arg 0 (FORM): (LOAD-DEFMETHOD (QUOTE STANDARD-METHOD) (QUOTE
LOOKUP-PV-MISS-1) (QUOTE NIL) (QUOTE (STANDARD-CLASS T T)) (QUOTE (CLASS
SLOTS PV)) (QUOTE NIL) (QUOTE NIL) ...)
   Arg 1 (ENVIRONMENT): NIL

COMPILER::COMPILE-TIME-EVAL (P.C. = 142)
   Arg 0 (FORM): (LOAD-DEFMETHOD (QUOTE STANDARD-METHOD) (QUOTE
LOOKUP-PV-MISS-1) (QUOTE NIL) (QUOTE (STANDARD-CLASS T T)) (QUOTE (CLASS
SLOTS PV)) (QUOTE NIL) (QUOTE NIL) ...)
   Arg 1 (TYPE): TICL:MACRO
   Arg 2 (ENVIRONMENT): NIL

COMPILER::QC-FILE-COMMON (P.C. = 110)
   Arg 0 (FORM): (LOAD-DEFMETHOD (QUOTE STANDARD-METHOD) (QUOTE
LOOKUP-PV-MISS-1) (QUOTE NIL) (QUOTE (STANDARD-CLASS T T)) (QUOTE (CLASS
SLOTS PV)) (QUOTE NIL) (QUOTE NIL) ...)
   Arg 1 (TYPE): TICL:MACRO

COMPILER:COMPILE-DRIVER (P.C. = 449)
   Arg 0 (OFORM): (LOAD-DEFMETHOD (QUOTE STANDARD-METHOD) (QUOTE
LOOKUP-PV-MISS-1) (QUOTE NIL) (QUOTE (STANDARD-CLASS T T)) (QUOTE (CLASS
SLOTS PV)) (QUOTE NIL) (QUOTE NIL) ...)
   Arg 1 (PROCESS-FN): #<DTP-FUNCTION COMPILER::QC-FILE-COMMON 10424120>
   Arg 2 (OVERRIDE-FN): NIL
   Arg 3 (COMPILE-TIME-TOO): T
   Arg 4 (TOP-LEVEL-P): NIL

COMPILER:COMPILE-DRIVER (P.C. = 336)
   Arg 0 (OFORM): (PROGN (LOAD-DEFMETHOD (QUOTE STANDARD-METHOD) (QUOTE
LOOKUP-PV-MISS-1) (QUOTE NIL) (QUOTE #) (QUOTE #) (QUOTE NIL) (QUOTE NIL)
...))
   Arg 1 (PROCESS-FN): #<DTP-FUNCTION COMPILER::QC-FILE-COMMON 10424120>
   Arg 2 (OVERRIDE-FN): NIL
   Arg 3 (COMPILE-TIME-TOO): T
   Arg 4 (TOP-LEVEL-P): NIL

COMPILER:COMPILE-DRIVER (P.C. = 336)
   Arg 0 (OFORM): (PROGN (PROGN (LOAD-DEFMETHOD # # # # # # # ...)))
   Arg 1 (PROCESS-FN): #<DTP-FUNCTION COMPILER::QC-FILE-COMMON 10424120>
   Arg 2 (OVERRIDE-FN): NIL
   Arg 3 (COMPILE-TIME-TOO): T
   Arg 4 (TOP-LEVEL-P): NIL

COMPILER:COMPILE-DRIVER (P.C. = 300)
   Arg 0 (OFORM): (EVAL-WHEN (COMPILE LOAD EVAL) (PROGN (PROGN #)))
   Arg 1 (PROCESS-FN): #<DTP-FUNCTION COMPILER::QC-FILE-COMMON 10424120>
   Arg 2 (OVERRIDE-FN): NIL
   Arg 3 (COMPILE-TIME-TOO): NIL
   Arg 4 (TOP-LEVEL-P): T

COMPILER:COMPILE-DRIVER (P.C. = 336)
   Arg 0 (OFORM): (DEFMETHOD LOOKUP-PV-MISS-1 ((CLASS STANDARD-CLASS) SLOTS
PV) (LET (#) (DOLIST # #) PV))
   Arg 1 (PROCESS-FN): #<DTP-FUNCTION COMPILER::QC-FILE-COMMON 10424120>
   Arg 2 (OVERRIDE-FN): NIL
   Arg 3 (COMPILE-TIME-TOO): NIL
   Arg 4 (TOP-LEVEL-P): T

COMPILER:COMPILE-DRIVER (P.C. = 190)
   Arg 0 (OFORM): (DEFMETHOD LOOKUP-PV-MISS-1 ((CLASS STANDARD-CLASS) SLOTS
PV) (LET (#) (DOLIST # #) PV))
   Arg 1 (PROCESS-FN): #<DTP-FUNCTION COMPILER::QC-FILE-COMMON 10424120>
   Arg 2 (OVERRIDE-FN): NIL
   --Defaulted args:--
   Arg 3 (COMPILE-TIME-TOO): NIL
   Arg 4 (TOP-LEVEL-P): T

COMPILER::QC-FILE-WORK-COMPILE (P.C. = 40)
   Arg 0 (FORM): (DEFMETHOD LOOKUP-PV-MISS-1 ((CLASS STANDARD-CLASS) SLOTS
PV) (LET (#) (DOLIST # #) PV))

COMPILER:COMPILE-STREAM (P.C. = 677)
   Arg 0 (INPUT-STREAM): #<NFS:NFS-BUFFERED-INPUT-CHARACTER-STREAM
"HardDisk: HARDDISK:LARNER:PCL:VECTOR.LISP" 545251>
   Arg 1 (GENERIC-PATHNAME): #RFS::MAC-PATHNAME "HardDisk:
HARDDISK:LARNER:PCL:VECTOR"S
   Arg 2 (FASD-FLAG): #<NFS:NFS-BUFFERED-OUTPUT-STREAM "HardDisk:
HARDDISK:LARNER:PCL:VECTOR.XLD" 540156>
   Arg 3 (PROCESS-FN): #<DTP-FUNCTION COMPILER::QC-FILE-WORK-COMPILE
10422570>
   Arg 4 (QC-FILE-LOAD-FLAG): NIL
   Arg 5 (QC-FILE-IN-CORE-FLAG): NIL
   Arg 6 (PACKAGE-SPEC): NIL
   Arg 7 (FILE-LOCAL-DECLARATIONS): ((TICL:DEF INSTANCE-SLOT-POSITION
TICL:MACRO TICL:NAMED-LAMBDA (INSTANCE-SLOT-POSITION #) (SYS::*MACROARG*
&OPTIONAL SYS::*MACROENVIRONMENT*) (BLOCK INSTANCE-SLOT-POSITION
SYS::*MACROENVIRONMENT* # #)) (TICL:DEF CACHE-KEY-FROM-WRAPPERS TICL:MACRO
TICL:NAMED-LAMBDA (CACHE-KEY-FROM-WRAPPERS #) (SYS::*MACROARG* &OPTIONAL
SYS::*MACROENVIRONMENT*) (BLOCK CACHE-KEY-FROM-WRAPPERS
SYS::*MACROENVIRONMENT* # #)))
   Arg 8 (IGNORE): NIL
   Arg 9 (COMPILING-WHOLE-FILE-P): T
   --Defaulted args:--
   Arg 10 (OPERATION-TYPE): NIL

ZLC:QC-FILE (P.C. = 423)
   Arg 0 (INFILE): #RFS::MAC-PATHNAME "HardDisk:
HARDDISK:LARNER:PCL:VECTOR.LISP"S
   Arg 1 (OUTFILE): #RFS::MAC-PATHNAME "HardDisk:
HARDDISK:LARNER:PCL:VECTOR.XLD"S
   Arg 2 (LOAD-FLAG): NIL
   Arg 3 (IN-CORE-FLAG): NIL
   Arg 4 (PACKAGE-SPEC): NIL
   Arg 5 (FILE-LOCAL-DECLARATIONS): NIL
   Arg 6 (DONT-SET-DEFAULT-P): T
   Arg 7 (IGNORE): NIL
   Arg 8 (IGNORE): NIL

COMPILE-FILE (P.C. = 90)
   Arg 0 (INPUT-FILENAME): #RFS::MAC-PATHNAME "HardDisk:
HARDDISK:LARNER:PCL:VECTOR.LISP"S
   Rest arg: (:OUTPUT-FILE #RFS::MAC-PATHNAME "HardDisk:
HARDDISK:LARNER:PCL:VECTOR.XLD"S)

;;; REST OF BACKTRACE TO TOP LEVEL

][Abort all]
-------