Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.lisp
Compiling clicc runtime: Error: A call to CONS should have at most 2 arguments.
Pascal J. Bourguignon
6/13/2016 8:15:00 PM
Hello,
I'm trying to revive clicc; I've cloned it on
https://gitlab.com/informati...
and I've editedit to add an asd
file, proper package definitions etc.
Now, I'm trying to compile the runtime, using (ask-runtime)
(cf. src/compiler/loader.lisp)
but it fails with:
;;; Analyse DEFUN BQ-ATTACH-APPEND
Error: A call to CONS should have at most 2 arguments.
in file #P"/home/pjb/works/clicc/src/runtime/lisp/read.lisp"
The problem seems to be that LIST* is bound to the same function as CONS
in the global environment:
(cl:eq (cl:cdr (get-operator-def 'list*))
(cl:cdr (get-operator-def 'cons))) --> T
Unfortunately, I fail to locate where LIST* is inserted in that global
environment.
A hint would be welcome.
Thanks.
Here is how you can reproduce it:
cd /tmp
git clone
https://gitlab.com/informati...
.git
cd clicc
ccl -norc
(load #P"~/quicklisp/setup.lisp")
(ccl:setenv "CLICCROOT" "/tmp/clicc/")
(pushnew #P"/tmp/clicc/src/compiler/" asdf:*central-registry*)
(load #P"src/compiler/loader.lisp")
[pjb@kuiper :0.0 tmp]$ cd /tmp
[pjb@kuiper :0.0 tmp]$ git clone
https://gitlab.com/informati...
.git > log 2>&1
[pjb@kuiper :0.0 tmp]$ echo $?
0
[pjb@kuiper :0.0 tmp]$ cd clicc
/tmp/clicc
[pjb@kuiper :0.0 clicc]$ ccl -norc
Welcome to Clozure Common Lisp Version 1.11-r16635 (LinuxX8664)!
CCL is developed and maintained by Clozure Associates. For more information
about CCL visit
http://ccl.c...
. To enquire about Clozure's Common Lisp
consulting services e-mail info@clozure.com or visit
http://www.c...
.
? (load #P"~/quicklisp/setup.lisp")
; Warning: You are using ASDF version 3.1.5 (probably from (require "asdf") or loaded by quicklisp) and have an older version of ASDF 3.1.4 ...
;
; While executing: (:INTERNAL ASDF/FIND-SYSTEM::CHECK-NOT-OLD-ASDF-SYSTEM), in process listener(1).
#P"/home/pjb/quicklisp/setup.lisp"
? (ccl:setenv "CLICCROOT" "/tmp/clicc/")
0
? (pushnew #P"/tmp/clicc/src/compiler/" asdf:*central-registry*)
(#P"/tmp/clicc/src/compiler/" #P"/home/pjb/quicklisp/quicklisp/")
? (load #P"src/compiler/loader.lisp")
To load "com.informatimago.clicc.compiler":
Load 1 ASDF system:
com.informatimago.clicc.compiler
; Loading "com.informatimago.clicc.compiler"
A)ll L)isp-module I)nline-module Q)uit
P)rint messages is on S)plit is off O)nly Pass1 is off K)ill C-Files
choose: ;;; Initialize Special Forms
;;; Initialize System Macros
;;; Initialize System Functions
;;; Initialize Evaluator
;;; Syntactic and semantic analysis
;;; File #P"/home/pjb/works/clicc/src/runtime/lisp/inline.lisp"
;;; Analyse DEFUN ATOM
;;; Analyse DEFUN CHARACTERP
;;; Analyse DEFUN CONS
;;; Analyse DEFUN CONSP
;;; Analyse DEFUN EQ
;;; Analyse DEFUN EQL
;;; Analyse DEFUN FLOATP
;;; Analyse DEFUN FUNCTIONP
;;; Analyse DEFUN INTEGERP
;;; Analyse DEFUN FIXNUMP
;;; Analyse DEFUN LISTP
;;; Analyse DEFUN NUMBERP
;;; Analyse DEFUN SIMPLE-STRING-P
;;; Analyse DEFUN SIMPLE-VECTOR-P
;;; Analyse DEFUN SIMPLE-BIT-VECTOR-P
;;; Analyse DEFUN SYMBOLP
;;; Finalizing classes ...
;;; ---------------------------------------------------------------------------
;;; 0 unused symbols found
;;; 0 unused named constants found
;;; 0 unused functions found
;;; 0 unused local functions found
;;; 0 unused classes found
;;; ---------------------------------------------------------------------------
;;; Simplifying lambda-lists.
;;; 0 lambda-lists simplified.
;;; Initialize type declarations
;;; Type inference (level 0)
;;; Tail recursion elimination ...
;;; 0 tail recursive calls eliminated
;;; Optimization
;;; The weight of the module is 275
;;; ---------------------------------------------------------------------------
;;; 0 unused symbols found
;;; 0 unused named constants found
;;; 0 unused functions found
;;; 0 unused local functions found
;;; 0 unused classes found
;;; ---------------------------------------------------------------------------
;;; Inlining ...
;;; ---------------------------------------------------------------------------
;;; 0 applications inline compiled.
;;; ---------------------------------------------------------------------------
;;; 0 unused symbols found
;;; 0 unused named constants found
;;; 0 unused functions found
;;; 0 unused local functions found
;;; 0 unused classes found
;;; ---------------------------------------------------------------------------
;;; Preparing side effect analysis...
;;; ---------------------------------
;;; 0 special functions found
;;; Side-effect analysis...
;;; -----------------------
;;; Propagating side effects
;;; ------------------------
;;; Preparing statistics
;;; 17 functions are analysed
;;; 17 functions are side effect free
;;; 0 functions have an unknown side effect
;;; 0 functions have an unknown read-effect
;;; 0 functions have an unknown write-effect
;;; 1 functions may use the heap
;;; 0 functions may be destructive
;;; 0 functions may make non local jumps
;;; Optimizing the let-forms ...
;;; ----------------------------
;;; 0 variables are bound by let but not referenced
;;; 0 let-forms are eliminated
;;; 0 let-variables are eliminated
;;; 0 substitutions are done
;;; ---------------------------------------------------------------------------
;;; Initialize type declarations
;;; Type inference (level 2)
;;; 17 elements remain in the analyzation workset.
;;; Collecting type statistics
;;; ---------------------------------------------------------------------------
;;; The module contains 52 forms, typed as follows:
;;; 20 forms (38.5%) are typed TOP.
;;; 16 forms (30.8%) are typed FUNCTION.
;;; 14 forms (26.9%) are typed BOOL.
;;; 1 form ( 1.9%) is typed (LIST-CONS-OF TOP).
;;; 1 form ( 1.9%) is typed NULL.
;;; ---------------------------------------------------------------------------
;;; 18 forms (34.6%) are proven to be typed optimally.
;;; 1 forms ( 1.9%) are literals.
;;; ---------------------------------------------------------------------------
;;; Optimization
;;; The weight of the module is 275
;;; ---------------------------------------------------------------------------
;;; 0 unused symbols found
;;; 0 unused named constants found
;;; 0 unused functions found
;;; 0 unused local functions found
;;; 0 unused classes found
;;; ---------------------------------------------------------------------------
;;; Looking for type errors
;;; Annotation for code generation
;;; Code Generation
;;; Writing file /home/pjb/works/clicc/src/runtime/lisp2c/inline.h
;;; Writing file /home/pjb/works/clicc/src/runtime/lisp2c/inline.c
;;; Initialize Special Forms
;;; Initialize System Macros
;;; Initialize System Functions
;;; Initialize Evaluator
;;; Syntactic and semantic analysis
;;; File #P"/home/pjb/works/clicc/src/runtime/lisp/lisp.lisp"
;;; Analyse DEFCONSTANT T
;;; Analyse DEFCONSTANT MOST-POSITIVE-FIXNUM
;;; Analyse DEFCONSTANT MOST-NEGATIVE-FIXNUM
;;; Analyse DEFCONSTANT SHORT-FLOAT-EPSILON
;;; Analyse DEFCONSTANT SHORT-FLOAT-NEGATIVE-EPSILON
.....
;;; Analyse DEFUN INTERNAL-SXHASH
;;; Analyse DEFUN STRING-HASH
;;; File #P"/home/pjb/works/clicc/src/runtime/lisp/read.lisp"
;;; Analyse DEFPARAMETER *COMMA*
;;; Analyse DEFPARAMETER *COMMA-ATSIGN*
;;; Analyse DEFPARAMETER *COMMA-DOT*
.....
;;; Analyse DEFUN BQ-SIMPLIFY
;;; Analyse DEFUN BQ-SIMPLIFY-ARGS
;;; Analyse DEFUN NULL-OR-QUOTED
;;; Analyse DEFUN BQ-ATTACH-APPEND
Error: A call to CONS should have at most 2 arguments.
> Break: Break
> While executing: COM.INFORMATIMAGO.CLICC::CLC-ERROR, in process listener(1).
> Type :GO to continue, :POP to abort, :R for a list of available restarts.
> If continued: Return from BREAK.
> Type :? for other options.
1 > (cl:in-package :com.informatimago.clicc)
#<Package "COM.INFORMATIMAGO.CLICC">
1 > (cl:eq (cl:cdr (get-operator-def 'list*)) (cl:cdr (get-operator-def 'cons)))
T
1 >
--
__Pascal Bourguignon__
http://www.informat...
â??The factory of the future will have only two employees, a man and a
dog. The man will be there to feed the dog. The dog will be there to
keep the man from touching the equipment.â? -- Carl Bass CEO Autodesk
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Compiling clicc runtime: Error: A call to CONS should have at most 2 arguments.
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password