[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
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